From d945b816cf3c37a2f581fbddaa9c1b4283ffc861 Mon Sep 17 00:00:00 2001 From: perry.werneck@gmail.com Date: Tue, 19 Jun 2012 10:59:15 +0000 Subject: [PATCH] rpmlint estava reclamando do uso de gethostbyname --- src/lib3270/proxy.c | 10 ++++++++-- src/lib3270/resolver.c | 4 ++-- src/lib3270/rpq.c | 15 +++++++-------- src/lib3270/telnet.c | 24 ++++++++++++++++-------- ui/99debug.xml | 4 ++-- 5 files changed, 35 insertions(+), 22 deletions(-) diff --git a/src/lib3270/proxy.c b/src/lib3270/proxy.c index 3be1c2d..4e65e39 100644 --- a/src/lib3270/proxy.c +++ b/src/lib3270/proxy.c @@ -516,8 +516,13 @@ proxy_telnet(int fd, char *host, unsigned short port) } /* SOCKS version 4 proxy. */ -static int -proxy_socks4(int fd, char *host, unsigned short port, int force_a) +#if defined(HAVE_GETADDRINFO) +static int proxy_socks4(int fd, char *host, unsigned short port, int force_a) +{ + popup_an_error(NULL,"%s", _( "Unsupported socks 4 proxy" ) ); +} +#else +static int proxy_socks4(int fd, char *host, unsigned short port, int force_a) { struct hostent *hp; struct in_addr ipaddr; @@ -673,6 +678,7 @@ proxy_socks4(int fd, char *host, unsigned short port, int force_a) return 0; } +#endif // HAVE_GETADDRINFO /* SOCKS version 5 (RFC 1928) proxy. */ static int diff --git a/src/lib3270/resolver.c b/src/lib3270/resolver.c index b57ff57..f82b9b3 100644 --- a/src/lib3270/resolver.c +++ b/src/lib3270/resolver.c @@ -129,7 +129,7 @@ static int cresolve_host_and_port(H3270 *h, struct parms *p) freeaddrinfo(res); -#else /*][*/ +#else struct hostent *hp; struct servent *sp; @@ -175,7 +175,7 @@ static int cresolve_host_and_port(H3270 *h, struct parms *p) sin->sin_port = port; *p->sa_len = sizeof(struct sockaddr_in); -#endif +#endif // HAVE_GETADDRINFO return 0; } diff --git a/src/lib3270/rpq.c b/src/lib3270/rpq.c index ac727c3..71331df 100644 --- a/src/lib3270/rpq.c +++ b/src/lib3270/rpq.c @@ -604,7 +604,7 @@ get_rpq_address(unsigned char *buf, const int maxlen) } *p2 = '\0'; -#if defined(AF_INET6) /*[*/ +#if defined(HAVE_GETADDRINFO) ga_err = getaddrinfo(rpqtext, NULL, NULL, &res); if (ga_err == 0) { void *src = NULL; @@ -623,8 +623,7 @@ get_rpq_address(unsigned char *buf, const int maxlen) len = sizeof(struct in6_addr); break; default: - rpq_warning("RPQ ADDRESS term has unrecognized family %u", - res->ai_family); + rpq_warning("RPQ ADDRESS term has unrecognized family %u",res->ai_family); break; } @@ -663,16 +662,16 @@ get_rpq_address(unsigned char *buf, const int maxlen) } else { rpq_warning("RPQ ADDRESS term incomplete due to space limit"); } -#endif /*]*/ +#endif // HAVE_GETADDRINFO free(rpqtext); } else { /* No override... get our address from the actual socket */ union { struct sockaddr sa; struct sockaddr_in sa4; -#if defined(AF_INET6) /*[*/ +#if defined(HAVE_GETADDRINFO) struct sockaddr_in6 sa6; -#endif /*]*/ +#endif // HAVE_GETADDRINFO } u; int addrlen = sizeof(u); void *src = NULL; @@ -687,12 +686,12 @@ get_rpq_address(unsigned char *buf, const int maxlen) src = &u.sa4.sin_addr; len = sizeof(struct in_addr); break; -#if defined(AF_INET6) /*[*/ +#if defined(HAVE_GETADDRINFO) case AF_INET6: src = &u.sa6.sin6_addr; len = sizeof(struct in6_addr); break; -#endif /*]*/ +#endif // HAVE_GETADDRINFO default: rpq_warning("RPQ ADDRESS term has unrecognized family %u", u.sa.sa_family); break; diff --git a/src/lib3270/telnet.c b/src/lib3270/telnet.c index 8ad7aec..234f6a9 100644 --- a/src/lib3270/telnet.c +++ b/src/lib3270/telnet.c @@ -491,8 +491,8 @@ static int connect_sock(H3270 *hSession, int sockfd, const struct sockaddr *addr */ int net_connect(H3270 *session, const char *host, char *portname, Boolean ls, Boolean *resolving, Boolean *pending) { - struct servent * sp; - struct hostent * hp; +// struct servent * sp; +// struct hostent * hp; char passthru_haddr[8]; int passthru_len = 0; unsigned short passthru_port = 0; @@ -548,21 +548,27 @@ int net_connect(H3270 *session, const char *host, char *portname, Boolean ls, Bo /* get the passthru host and port number */ if (session->passthru_host) { - const char *hn = CN; +#if defined(HAVE_GETADDRINFO) + + popup_an_error(session,"%s",_( "Unsupported passthru host session" ) ); + +#else + struct hostent * hp = NULL; + struct servent * sp = NULL; + const char * hn = CN; -#ifndef ANDROID hn = getenv("INTERNET_HOST"); -#endif // ANDROID if (hn == CN) hn = "internet-gateway"; hp = gethostbyname(hn); - if (hp == (struct hostent *) 0) { - popup_an_error(NULL,"Unknown passthru host: %s", hn); + if (hp == (struct hostent *) 0) + { + popup_an_error(session,_( "Unknown passthru host: %s" ), hn); return -1; } - (void) memmove(passthru_haddr, hp->h_addr, hp->h_length); + memmove(passthru_haddr, hp->h_addr, hp->h_length); passthru_len = hp->h_length; sp = getservbyname("telnet-passthru","tcp"); @@ -570,6 +576,8 @@ int net_connect(H3270 *session, const char *host, char *portname, Boolean ls, Bo passthru_port = sp->s_port; else passthru_port = htons(3514); + +#endif // HAVE_GETADDRINFO } else if(session->proxy != CN && !proxy_type) { diff --git a/ui/99debug.xml b/ui/99debug.xml index 6fd38b8..ffeea3f 100644 --- a/ui/99debug.xml +++ b/ui/99debug.xml @@ -16,8 +16,8 @@ obter mais detalhes. Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este - programa; se não, escreva para a Free Software Foundation, Inc., 59 Temple - Place, Suite 330, Boston, MA, 02111-1307, USA + programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin + St, Fifth Floor, Boston, MA 02110-1301 USA Contatos: -- libgit2 0.21.2