summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/common/socket.c5
-rw-r--r--src/common/socket.h1
2 files changed, 3 insertions, 3 deletions
diff --git a/src/common/socket.c b/src/common/socket.c
index 89c605c9d..ff667cf2e 100644
--- a/src/common/socket.c
+++ b/src/common/socket.c
@@ -996,10 +996,10 @@ int access_ipmask(const char* str, AccessControl* acc)
(n == 5 && m[0] > 32) ){ // invalid bit mask
return 0;
}
- ip = (uint32)(a[0] | (a[1] << 8) | (a[2] << 16) | (a[3] << 24));
+ ip = MAKEIP(a[0],a[1],a[2],a[3]);
if( n == 8 )
{// standard mask
- mask = (uint32)(a[0] | (a[1] << 8) | (a[2] << 16) | (a[3] << 24));
+ mask = MAKEIP(m[0],m[1],m[2],m[3]);
} else if( n == 5 )
{// bit mask
mask = 0;
@@ -1007,7 +1007,6 @@ int access_ipmask(const char* str, AccessControl* acc)
mask = (mask >> 1) | 0x80000000;
--m[0];
}
- mask = ntohl(mask);
} else
{// just this ip
mask = 0xFFFFFFFF;
diff --git a/src/common/socket.h b/src/common/socket.h
index 93a5dd796..0a740a63f 100644
--- a/src/common/socket.h
+++ b/src/common/socket.h
@@ -135,6 +135,7 @@ uint32 host2ip(const char* hostname);
const char* ip2str(uint32 ip, char ip_str[16]);
uint32 str2ip(const char* ip_str);
#define CONVIP(ip) ((ip)>>24)&0xFF,((ip)>>16)&0xFF,((ip)>>8)&0xFF,((ip)>>0)&0xFF
+#define MAKEIP(a,b,c,d) (uint32)( ( ( (a)&0xFF ) << 24 ) | ( ( (b)&0xFF ) << 16 ) | ( ( (c)&0xFF ) << 8 ) | ( ( (d)&0xFF ) << 0 ) )
uint16 ntows(uint16 netshort);
int socket_getips(uint32* ips, int max);