Fix IPv4-based /who and update "ircd -?" usage text.
authorMichael Poole <mdpoole@troilus.org>
Thu, 21 Apr 2005 02:35:17 +0000 (02:35 +0000)
committerMichael Poole <mdpoole@troilus.org>
Thu, 21 Apr 2005 02:35:17 +0000 (02:35 +0000)
git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@1374 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

ChangeLog
ircd/ircd.c
ircd/numnicks.c

index c9755737e69e32f1975ba0287238f57c57c3f2d1..71a6d739d492d1e83d4052f7c95090e042f3b79d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2005-04-20  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/ircd.c (parse_command_line): Update usage text.
+
+       * ircd/numnicks.c (base64toip): Use v4mapped address range instead
+       of v4compat address range, fixing IPv4-based /who.
+
 2005-04-19  Michael Poole <mdpoole@troilus.org>
 
        * configure.in: When --enable-profile, add -pg to LDFLAGS.
index b1c191a57639b5d7ad28bf974f007ad6916981b3..bf82c8cfbaf3cb3cb641e6fff33e3001eb4b950f 100644 (file)
@@ -501,11 +501,18 @@ static void parse_command_line(int argc, char** argv) {
       debugmode = optarg;
       thisServer.bootopt |= BOOT_DEBUG;
       break;
-      
+
     default:
-      printf("Usage: ircd [-f config] [-h servername] [-x loglevel] [-ntvk]\n");
-      printf("\n -n -t\t Don't detach\n -v\t display version\n -k\t exit after checking config\n\n");
-      printf("Server not started.\n");
+      printf("Usage: ircd [-f config] [-h servername] [-x loglevel] [-ntv] [-k [-c clispec]]\n"
+             "\n -f config\t specify explicit configuration file"
+             "\n -x loglevel\t set debug logging verbosity"
+             "\n -n or -t\t don't detach"
+             "\n -v\t\t display version"
+             "\n -k\t\t exit after checking config"
+             "\n -c clispec\t search for client/kill blocks matching client"
+             "\n\t\t clispec is comma-separated list of user@host,"
+             "\n\t\t user@ip, $Rrealname, and port number"
+             "\n\nServer not started.\n");
       exit(1);
     }
 }
index 47b3fec59e2088fc865432ebb0e2695cb591c153..bf11b7e1df73e953d84ad75256d64c79c297d7d2 100644 (file)
@@ -502,6 +502,7 @@ void base64toip(const char* input, struct irc_in_addr* addr)
   memset(addr, 0, sizeof(*addr));
   if (strlen(input) == 6) {
     unsigned int in = base64toint(input);
+    addr->in6_16[5] = htons(65535);
     addr->in6_16[6] = htons(in >> 16);
     addr->in6_16[7] = htons(in & 65535);
   } else {