]> jfr.im git - irc/quakenet/newserv.git/commitdiff
generate real local ip's
authorPaul <redacted>
Tue, 29 May 2007 22:46:30 +0000 (22:46 +0000)
committerPaul <redacted>
Tue, 29 May 2007 22:46:30 +0000 (22:46 +0000)
localuser/localuser.c

index ac16efe40915fe4b1b435ef25c513fc8b3860876..3baceee4a2501c62ec6290283a2a3cb30785ace2 100644 (file)
@@ -93,14 +93,13 @@ nick *registerlocaluser(char *nickname, char *ident, char *host, char *realname,
   newuser->realname->nicks=newuser;
   newuser->umodes=umodes;
   
-  /* XXX shroud: need to port original code */
   memset(&ipaddress, 0, sizeof(ipaddress));
-  ((char *)ipaddress.in6_16)[15] = 1;
+  ((unsigned short *)(ipaddress.in6_16))[5] = 0;
+  ((unsigned short *)(ipaddress.in6_16))[6] = 127;
+  ((unsigned char *)(ipaddress.in6_16))[14] = 1;
+  ((unsigned char *)(ipaddress.in6_16))[15] = (currentlocalunum%253)+1;
 
   newuser->ipnode = refnode(iptree, &ipaddress, PATRICIA_MAXBITS);
-#if 0
-  newuser->ipaddress=(127<<24)+(1<<8)+((currentlocalunum%253)+1); /* Make it look like a valid addr on 127.0.1.0/24 */
-#endif
   newuser->timestamp=getnettime();
   newuser->shident=NULL;
   newuser->sethost=NULL;