Skip to content

Commit e185f72

Browse files
authored
add support for AI_NUMERICSERV in getaddrinfo emulation
1 parent ee66c33 commit e185f72

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

Modules/addrinfo.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@
7777
#undef AI_PASSIVE
7878
#undef AI_CANONNAME
7979
#undef AI_NUMERICHOST
80+
#undef AI_NUMERICSERV
8081
#undef AI_MASK
8182
#undef AI_ALL
8283
#undef AI_V4MAPPED_CFG
@@ -88,8 +89,9 @@
8889
#define AI_PASSIVE 0x00000001 /* get address to use bind() */
8990
#define AI_CANONNAME 0x00000002 /* fill ai_canonname */
9091
#define AI_NUMERICHOST 0x00000004 /* prevent name resolution */
92+
#define AI_NUMERICSERV 0x00000008 /* prevent service resolution */
9193
/* valid flags for addrinfo */
92-
#define AI_MASK (AI_PASSIVE | AI_CANONNAME | AI_NUMERICHOST)
94+
#define AI_MASK (AI_PASSIVE | AI_CANONNAME | AI_NUMERICHOST | AI_NUMERICSERV)
9395

9496
#define AI_ALL 0x00000100 /* IPv6 and IPv4-mapped (with AI_V4MAPPED) */
9597
#define AI_V4MAPPED_CFG 0x00000200 /* accept IPv4-mapped if kernel supports */

Modules/getaddrinfo.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -351,6 +351,9 @@ getaddrinfo(const char*hostname, const char*servname,
351351
struct servent *sp;
352352
const char *proto;
353353

354+
if (ai->ai_flags & AI_NUMERICSERV)
355+
return EAI_NONAME;
356+
354357
proto = NULL;
355358
switch (pai->ai_socktype) {
356359
case GAI_ANY:

0 commit comments

Comments
 (0)