1 From: NIIBE Yutaka <gniibe@fsij.org>
2 Date: Thu, 13 Apr 2017 14:46:57 +0900
3 Subject: dirmngr: Fix http.c for sockaddr_storage.
5 dirmngr/http.c (use_socks): Use sockaddr_storage.
6 (my_sock_new_for_addr, connect_server): Likewise.
8 Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
9 (cherry picked from commit 86dcb03134fd4957d51ebaa06b7991239f9ee56a)
11 dirmngr/http.c | 13 +++++++------
12 1 file changed, 7 insertions(+), 6 deletions(-)
14 diff --git a/dirmngr/http.c b/dirmngr/http.c
15 index c9c16df..674cb3d 100644
18 @@ -2415,13 +2415,13 @@ start_server ()
19 * This function is basically a copy of the same internal fucntion in
22 -use_socks (struct sockaddr *addr)
23 +use_socks (struct sockaddr_storage *addr)
27 if (assuan_sock_get_flag (ASSUAN_INVALID_FD, "tor-mode", &mode) || !mode)
28 return 0; /* Not in Tor mode. */
29 - else if (addr->sa_family == AF_INET6)
30 + else if (addr->ss_family == AF_INET6)
32 struct sockaddr_in6 *addr_in6 = (struct sockaddr_in6 *)addr;
33 const unsigned char *s;
34 @@ -2436,7 +2436,7 @@ use_socks (struct sockaddr *addr)
36 return 0; /* This is the loopback address. */
38 - else if (addr->sa_family == AF_INET)
39 + else if (addr->ss_family == AF_INET)
41 struct sockaddr_in *addr_in = (struct sockaddr_in *)addr;
43 @@ -2453,7 +2453,7 @@ use_socks (struct sockaddr *addr)
44 /* Wrapper around assuan_sock_new which takes the domain from an
45 * address parameter. */
47 -my_sock_new_for_addr (struct sockaddr *addr, int type, int proto)
48 +my_sock_new_for_addr (struct sockaddr_storage *addr, int type, int proto)
52 @@ -2464,7 +2464,7 @@ my_sock_new_for_addr (struct sockaddr *addr, int type, int proto)
56 - domain = addr->sa_family;
57 + domain = addr->ss_family;
59 return assuan_sock_new (domain, type, proto);
61 @@ -2589,7 +2589,8 @@ connect_server (const char *server, unsigned short port,
65 - if (assuan_sock_connect (sock, ai->addr, ai->addrlen))
66 + if (assuan_sock_connect (sock, (struct sockaddr *)ai->addr,
69 last_err = gpg_err_make (default_errsource,
70 gpg_err_code_from_syserror ());