5359edc160de518d8e43fdd3448365c15b912c3c
galt
  Mon Jul 22 11:48:10 2019 -0700
Added ipv6 support. Listening processes us hybrid dual stack feature of OS to simplify implementation and use a single listening socket. Works with both TCP and UDP. Parasol working. geoIp also updated and ready for IPv6. Should be invisible to most users, while providing connections via ipv6 where available. Supports both ipv4 and ipv6.

diff --git src/blatz/server.c src/blatz/server.c
index 57c2997..19d543f 100644
--- src/blatz/server.c
+++ src/blatz/server.c
@@ -27,31 +27,32 @@
 /* Explain usage and exit. */
 {
 struct bzp *bzp = bzpDefault();
 printf("blatzServer version %d - Set up in-memory server for\n", bzpVersion());
 printf("cross-species DNA alignments\n");
 printf("usage:\n");
 printf("   blatzServer start file(s)\n");
 printf("Starts up server. Files are either fasta files, nib files, 2bit files\n");
 printf("or text files containing the names of the above files one per line.\n");
 printf("It's important that the sequence be repeat masked with repeats in\n");
 printf("lower case.\n");
 printf("Options: (defaults are shown for numerical parameters)\n");
 bzpServerOptionsHelp(bzp);
 bzpClientOptionsHelp(bzp);
 printf("  -debug Writes diagnostic output to console and no daemon fork\n");
-printf("  -subnet=255.255.255.255 Restrict access to subnet. Also supports CIDR notation, e.g. 255.255.255.255/24\n");
+printf("  -subnet=255.255.255.255 Restrict access to subnet. \n");
+printf("    Supports comma-separated list of IPv4 or IPv6 subnets in CIDR notation, e.g. 255.255.255.255/24\n");
 printf("  -port=%d Use specified TCP/IP port\n", bzpDefaultPort);
 printf("  -host=%s Query specified host\n", host);
 printf("  -cpu=%d Use specified number of CPUs (processes)\n", cpuCount);
 printf("Other uses:\n");
 printf("   blatzServer stop\n");
 printf("      this terminates server\n");
 printf("   blatzServer status\n");
 printf("      this prints status info including version\n");
 noWarnAbort();
 }
 
 static struct optionSpec options[] = {
    BZP_SERVER_OPTIONS
    BZP_CLIENT_OPTIONS
    {"debug", OPTION_BOOLEAN},