diff options
author | Arch Librarian <arch@canonical.com> | 2004-09-20 16:56:08 +0000 |
---|---|---|
committer | Arch Librarian <arch@canonical.com> | 2004-09-20 16:56:08 +0000 |
commit | 82e0333ea55e90468bf7531dcd8dcb74057ac459 (patch) | |
tree | 15a5d6a47c1544f6e1f79d5c7ba109ddcefe4caa | |
parent | 9b148dad600b3fe76d38e612c1865f85bbab254f (diff) |
Bug fixes to rfc2553 emulation
Author: jgg
Date: 2000-06-18 06:04:45 GMT
Bug fixes to rfc2553 emulation
-rw-r--r-- | methods/rfc2553emu.cc | 8 | ||||
-rw-r--r-- | methods/rfc2553emu.h | 13 |
2 files changed, 16 insertions, 5 deletions
diff --git a/methods/rfc2553emu.cc b/methods/rfc2553emu.cc index 05d9f0c32..22daa2231 100644 --- a/methods/rfc2553emu.cc +++ b/methods/rfc2553emu.cc @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: rfc2553emu.cc,v 1.6 1999/12/11 02:11:10 jgg Exp $ +// $Id: rfc2553emu.cc,v 1.7 2000/06/18 06:04:45 jgg Exp $ /* ###################################################################### RFC 2553 Emulation - Provides emulation for RFC 2553 getaddrinfo, @@ -202,9 +202,9 @@ int getnameinfo(const struct sockaddr *sa, socklen_t salen, { struct servent *Ent; if ((flags & NI_DATAGRAM) == NI_DATAGRAM) - Ent = getservbyport(sin->sin_port,"udp"); + Ent = getservbyport(ntohs(sin->sin_port),"udp"); else - Ent = getservbyport(sin->sin_port,"tcp"); + Ent = getservbyport(ntohs(sin->sin_port),"tcp"); if (Ent != 0) strncpy(serv,Ent->s_name,servlen); @@ -220,7 +220,7 @@ int getnameinfo(const struct sockaddr *sa, socklen_t salen, // Resolve as a plain numberic if ((flags & NI_NUMERICSERV) == NI_NUMERICSERV) { - snprintf(serv,servlen,"%u",sin->sin_port); + snprintf(serv,servlen,"%u",ntohs(sin->sin_port)); } } diff --git a/methods/rfc2553emu.h b/methods/rfc2553emu.h index 86765b3cc..b15facb31 100644 --- a/methods/rfc2553emu.h +++ b/methods/rfc2553emu.h @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: rfc2553emu.h,v 1.3 1999/12/10 07:21:52 jgg Exp $ +// $Id: rfc2553emu.h,v 1.4 2000/06/18 06:04:45 jgg Exp $ /* ###################################################################### RFC 2553 Emulation - Provides emulation for RFC 2553 getaddrinfo, @@ -74,6 +74,11 @@ #define EAI_MEMORY -11 #endif + /* If we don't have getaddrinfo then we probably don't have + sockaddr_storage either (same RFC) so we definately will not be + doing any IPv6 stuff. Do not use the members of this structure to + retain portability, cast to a sockaddr. */ + #define sockaddr_storage sockaddr_in #endif // getnameinfo support (glibc2.0 has getaddrinfo only) @@ -97,6 +102,12 @@ #define NI_DATAGRAM (1<<4) #endif + #define sockaddr_storage sockaddr_in +#endif + +// Glibc 2.0.7 misses this one +#ifndef AI_NUMERICHOST +#define AI_NUMERICHOST 0 #endif #endif |