{"id":808795,"url":"http://patchwork.ozlabs.org/api/1.2/patches/808795/?format=json","web_url":"http://patchwork.ozlabs.org/project/glibc/patch/20170901161651.D5F51439942E3@oldenburg.str.redhat.com/","project":{"id":41,"url":"http://patchwork.ozlabs.org/api/1.2/projects/41/?format=json","name":"GNU C Library","link_name":"glibc","list_id":"libc-alpha.sourceware.org","list_email":"libc-alpha@sourceware.org","web_url":"","scm_url":"","webscm_url":"","list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20170901161651.D5F51439942E3@oldenburg.str.redhat.com>","list_archive_url":null,"date":"2017-09-01T16:16:51","name":"struct sockaddr_storage: Rename internal members","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"8f39466a7c9eb86c63e9e5f564d30c30b6679a41","submitter":{"id":14312,"url":"http://patchwork.ozlabs.org/api/1.2/people/14312/?format=json","name":"Florian Weimer","email":"fweimer@redhat.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/glibc/patch/20170901161651.D5F51439942E3@oldenburg.str.redhat.com/mbox/","series":[{"id":1063,"url":"http://patchwork.ozlabs.org/api/1.2/series/1063/?format=json","web_url":"http://patchwork.ozlabs.org/project/glibc/list/?series=1063","date":"2017-09-01T16:16:51","name":"struct sockaddr_storage: Rename internal members","version":1,"mbox":"http://patchwork.ozlabs.org/series/1063/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/808795/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/808795/checks/","tags":{},"related":[],"headers":{"Return-Path":"<libc-alpha-return-84027-incoming=patchwork.ozlabs.org@sourceware.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","mailing list libc-alpha@sourceware.org"],"Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=sourceware.org\n\t(client-ip=209.132.180.131; helo=sourceware.org;\n\tenvelope-from=libc-alpha-return-84027-incoming=patchwork.ozlabs.org@sourceware.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tsecure) header.d=sourceware.org header.i=@sourceware.org\n\theader.b=\"ImsA7qbJ\"; dkim-atps=neutral","sourceware.org; auth=none","ext-mx04.extmail.prod.ext.phx2.redhat.com;\n\tdmarc=none (p=none dis=none) header.from=redhat.com","ext-mx04.extmail.prod.ext.phx2.redhat.com;\n\tspf=fail smtp.mailfrom=fweimer@redhat.com"],"Received":["from sourceware.org (server1.sourceware.org [209.132.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xkPWy1fhwz9t1t\n\tfor <incoming@patchwork.ozlabs.org>;\n\tSat,  2 Sep 2017 02:17:01 +1000 (AEST)","(qmail 128606 invoked by alias); 1 Sep 2017 16:16:55 -0000","(qmail 128596 invoked by uid 89); 1 Sep 2017 16:16:55 -0000"],"DomainKey-Signature":"a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:date:to:subject:mime-version:content-type\n\t:content-transfer-encoding:message-id:from; q=dns; s=default; b=\n\tjyM1mUjOEEnoA/sX5hYmiHj9jTmGTNN/kYM1wxAxi3Qq5jZR7/XHxUMxiuss458J\n\tmB5HD/MFZyd7CT6w7TMsnlvlBZA8WUTfjRi86tU0dONSfbHfFeMiDk7FfgA7B1JG\n\tilxsKkRi8uVjnkkok1mdx3+GC66Fad+vqsX5owHw71I=","DKIM-Signature":"v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:date:to:subject:mime-version:content-type\n\t:content-transfer-encoding:message-id:from; s=default; bh=by+jWX\n\tRNj2ohfYSTQ//e5Fh5St0=; b=ImsA7qbJjFtLk2ixTg5J33fS6CVKgQTKZsWv5w\n\tM+rCm5+o/YTqo95lvt9llwRwI/2HQ7Kn1CoRRzwvYOnT7cdt+uwWau5eQxKNrYt3\n\tp9gC7EwL/7fzfhw1mrM1yGWOerwep1Qi14RFITGXpE0x9Z2xXODs9Tcry56OgRuK\n\tSyXg4=","Mailing-List":"contact libc-alpha-help@sourceware.org; run by ezmlm","Precedence":"bulk","List-Id":"<libc-alpha.sourceware.org>","List-Unsubscribe":"<mailto:libc-alpha-unsubscribe-incoming=patchwork.ozlabs.org@sourceware.org>","List-Subscribe":"<mailto:libc-alpha-subscribe@sourceware.org>","List-Archive":"<http://sourceware.org/ml/libc-alpha/>","List-Post":"<mailto:libc-alpha@sourceware.org>","List-Help":"<mailto:libc-alpha-help@sourceware.org>,\n\t<http://sourceware.org/ml/#faqs>","Sender":"libc-alpha-owner@sourceware.org","X-Virus-Found":"No","X-Spam-SWARE-Status":"No, score=-26.9 required=5.0 tests=BAYES_00, GIT_PATCH_0,\n\tGIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RP_MATCHES_RCVD,\n\tSPF_HELO_PASS autolearn=ham version=3.3.2 spammy=holes, family","X-HELO":"mx1.redhat.com","DMARC-Filter":"OpenDMARC Filter v1.3.2 mx1.redhat.com 127F580460","Date":"Fri, 01 Sep 2017 18:16:51 +0200","To":"libc-alpha@sourceware.org","Subject":"[PATCH] struct sockaddr_storage: Rename internal members","User-Agent":"Heirloom mailx 12.5 7/5/10","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Transfer-Encoding":"7bit","Message-Id":"<20170901161651.D5F51439942E3@oldenburg.str.redhat.com>","From":"fweimer@redhat.com (Florian Weimer)"},"content":"In commit 3375cfafa7961c6ae0e509c31c3b3cef9ad1f03d (Make padding in\nstruct sockaddr_storage explicit), the offsets of the members\nchanged.  Some broken applications use these members to find\nthe start of the address data in struct sockaddr_in or\nstruct sockaddr_in6, and the change meant that they silently ended\nup with an incorrect offset.  Changing the struct member names\ntriggers a compilation failure, hopefully leading to a complete fix.\n\n2017-09-01  Florian Weimer  <fweimer@redhat.com>\n\n\t* bits/socket.h (struct sockaddr_storage): Rename __ss_padding to\n\t__ss_padding_reserved and __ss_align to __ss_align_reserved.\n\t* sysdeps/mach/hurd/bits/socket.h (struct sockaddr_storage): Likewise.\n\t* sysdeps/unix/sysv/linux/bits/socket.h\n\t(struct sockaddr_storage): Likewise.\n\t* inet/tst-sockaddr.c (do_test): Adjust.","diff":"diff --git a/bits/socket.h b/bits/socket.h\nindex b527f9c129..ad3c4c870f 100644\n--- a/bits/socket.h\n+++ b/bits/socket.h\n@@ -164,8 +164,8 @@ struct sockaddr\n struct sockaddr_storage\n   {\n     __SOCKADDR_COMMON (ss_);\t/* Address family, etc.  */\n-    char __ss_padding[_SS_PADSIZE];\n-    __ss_aligntype __ss_align;\t/* Force desired alignment.  */\n+    char __ss_padding_reserved[_SS_PADSIZE];\n+    __ss_aligntype __ss_align_reserved; /* Force desired alignment.  */\n   };\n \n \ndiff --git a/inet/tst-sockaddr.c b/inet/tst-sockaddr.c\nindex dccc3dac0c..bf585fbfa3 100644\n--- a/inet/tst-sockaddr.c\n+++ b/inet/tst-sockaddr.c\n@@ -69,12 +69,12 @@ do_test (void)\n          \"struct sockaddr_storage size\");\n \n   /* Check for lack of holes in the struct definition.   */\n-  check (offsetof (struct sockaddr_storage, __ss_padding)\n+  check (offsetof (struct sockaddr_storage, __ss_padding_reserved)\n          == __SOCKADDR_COMMON_SIZE,\n          \"implicit padding before explicit padding\");\n-  check (offsetof (struct sockaddr_storage, __ss_align)\n+  check (offsetof (struct sockaddr_storage, __ss_align_reserved)\n          == __SOCKADDR_COMMON_SIZE\n-           + sizeof (((struct sockaddr_storage) {}).__ss_padding),\n+           + sizeof (((struct sockaddr_storage) {}).__ss_padding_reserved),\n          \"implicit padding before explicit padding\");\n \n   /* Check for POSIX compatibility requirements between struct\ndiff --git a/sysdeps/mach/hurd/bits/socket.h b/sysdeps/mach/hurd/bits/socket.h\nindex 6eb09a0ab3..6e5bde458a 100644\n--- a/sysdeps/mach/hurd/bits/socket.h\n+++ b/sysdeps/mach/hurd/bits/socket.h\n@@ -168,8 +168,8 @@ struct sockaddr\n struct sockaddr_storage\n   {\n     __SOCKADDR_COMMON (ss_);\t/* Address family, etc.  */\n-    char __ss_padding[_SS_PADSIZE];\n-    __ss_aligntype __ss_align;\t/* Force desired alignment.  */\n+    char __ss_padding_reserved[_SS_PADSIZE];\n+    __ss_aligntype __ss_align_reserved; /* Force desired alignment.  */\n   };\n \n \ndiff --git a/sysdeps/unix/sysv/linux/bits/socket.h b/sysdeps/unix/sysv/linux/bits/socket.h\nindex ec2bf8564f..b3ee8a82a0 100644\n--- a/sysdeps/unix/sysv/linux/bits/socket.h\n+++ b/sysdeps/unix/sysv/linux/bits/socket.h\n@@ -187,8 +187,8 @@ struct sockaddr\n struct sockaddr_storage\n   {\n     __SOCKADDR_COMMON (ss_);\t/* Address family, etc.  */\n-    char __ss_padding[_SS_PADSIZE];\n-    __ss_aligntype __ss_align;\t/* Force desired alignment.  */\n+    char __ss_padding_reserved[_SS_PADSIZE];\n+    __ss_aligntype __ss_align_reserved; /* Force desired alignment.  */\n   };\n \n \n","prefixes":[]}