Small fixes. [rsc] --rw-rw-r-- M 195156 presotto sys 18054 Dec 13 13:35 sys/src/9/ip/icmp6.c /n/sourcesdump/2005/1213/plan9/sys/src/9/ip/icmp6.c:337,343 - /n/sourcesdump/2005/1214/plan9/sys/src/9/ip/icmp6.c:337,343 * sends out an ICMPv6 neighbor solicitation * suni == SRC_UNSPEC or SRC_UNI, * tuni == TARG_MULTI => multicast for address resolution, - * and tflag == TARG_UNI => neighbor reachability. + * and tuni == TARG_UNI => neighbor reachability. */ extern void /n/sourcesdump/2005/1213/plan9/sys/src/9/ip/icmp6.c:831,837 - /n/sourcesdump/2005/1214/plan9/sys/src/9/ip/icmp6.c:831,836 freeblist(bp); } - ipriv->out[NbrSolicit]++; break; case NbrAdvert: [rsc] --rw-rw-r-- M 195156 glenda sys 27226 Dec 13 13:35 sys/src/9/ip/il.c /n/sourcesdump/2005/1213/plan9/sys/src/9/ip/il.c:70,75 - /n/sourcesdump/2005/1214/plan9/sys/src/9/ip/il.c:70,77 DefByteRate = 100, /* assume a megabit link */ DefRtt = 50, /* cross country on a great day */ + + Maxrq = 64*1024, }; enum /n/sourcesdump/2005/1213/plan9/sys/src/9/ip/il.c:163,168 - /n/sourcesdump/2005/1214/plan9/sys/src/9/ip/il.c:165,171 Retrans, /* retransmissions */ DupMsg, DupBytes, + DroppedMsgs, Nstats, }; /n/sourcesdump/2005/1213/plan9/sys/src/9/ip/il.c:178,183 - /n/sourcesdump/2005/1214/plan9/sys/src/9/ip/il.c:181,187 [Retrans] "Retrans", [DupMsg] "DupMsg", [DupBytes] "DupBytes", + [DroppedMsgs] "DroppedMsgs", }; typedef struct Ilpriv Ilpriv; /n/sourcesdump/2005/1213/plan9/sys/src/9/ip/il.c:415,421 - /n/sourcesdump/2005/1214/plan9/sys/src/9/ip/il.c:419,425 static void ilcreate(Conv *c) { - c->rq = qopen(64*1024, 0, 0, c); + c->rq = qopen(Maxrq, 0, 0, c); c->wq = qbypass(ilkick, c); } /n/sourcesdump/2005/1213/plan9/sys/src/9/ip/il.c:722,727 - /n/sourcesdump/2005/1214/plan9/sys/src/9/ip/il.c:726,742 freeblist(bp); break; case Ildata: + /* + * avoid consuming all the mount rpc buffers in the + * system. if the input queue is too long, drop this + * packet. + */ + if (s->rq && qlen(s->rq) >= Maxrq) { + priv->stats[DroppedMsgs]++; + freeblist(bp); + break; + } + ilackto(ic, ack, bp); iloutoforder(s, h, bp); ilpullup(s); /n/sourcesdump/2005/1213/plan9/sys/src/9/ip/il.c:912,918 - /n/sourcesdump/2005/1214/plan9/sys/src/9/ip/il.c:927,933 bp = packblock(bp); if(bp == 0) panic("ilpullup2"); - qpassnolim(s->rq, bp); + qpass(s->rq, bp); } qunlock(&ic->outo); } [rsc] --rw-rw-r-- M 195156 glenda sys 45226 Dec 13 13:34 sys/src/9/port/devtls.c /n/sourcesdump/2005/1213/plan9/sys/src/9/port/devtls.c:155,161 - /n/sourcesdump/2005/1214/plan9/sys/src/9/port/devtls.c:155,161 {EDecryptionFailed, EIllegalParameter, EDecryptionFailed, 1, "decryption failed"}, {ERecordOverflow, EIllegalParameter, ERecordOverflow, 1, "record too long"}, {EDecompressionFailure, EDecompressionFailure, EDecompressionFailure, 1, "decompression failed"}, - {EHandshakeFailure, EHandshakeFailure, EHandshakeFailure, 1, "could not negotiate acceptable security paramters"}, + {EHandshakeFailure, EHandshakeFailure, EHandshakeFailure, 1, "could not negotiate acceptable security parameters"}, {ENoCertificate, ENoCertificate, ECertificateUnknown, 1, "no appropriate certificate available"}, {EBadCertificate, EBadCertificate, EBadCertificate, 1, "corrupted or invalid certificate"}, {EUnsupportedCertificate, EUnsupportedCertificate, EUnsupportedCertificate, 1, "unsupported certificate type"}, Avoid infinite loop. [rsc] --rw-rw-r-- M 195156 glenda sys 18043 Dec 13 13:57 sys/src/cmd/auth/factotum/util.c /n/sourcesdump/2005/1213/plan9/sys/src/cmd/auth/factotum/util.c:857,864 - /n/sourcesdump/2005/1214/plan9/sys/src/cmd/auth/factotum/util.c:857,863 } break; case AttrQuery: - found++; - break; + goto continue2; } }else l = &(*l)->next; /n/sourcesdump/2005/1213/plan9/sys/src/cmd/auth/factotum/util.c:867,872 - /n/sourcesdump/2005/1214/plan9/sys/src/cmd/auth/factotum/util.c:866,872 *l = _mkattr(b->type, b->name, b->val, nil); setmalloctag(*l, getcallerpc(&a)); } + continue2:; } return a; } Be consistent about newlines. [rsc] --rw-rw-r-- M 195156 glenda sys 3426 Dec 13 13:36 sys/src/cmd/tlssrv.c /n/sourcesdump/2005/1213/plan9/sys/src/cmd/tlssrv.c:96,101 - /n/sourcesdump/2005/1214/plan9/sys/src/cmd/tlssrv.c:96,102 }else{ fprint(2, "%s: %s tls reports ", argv0, remotesys); vfprint(2, fmt, ap); + fprint(2, "\n"); } va_end(ap); return 0; /n/sourcesdump/2005/1213/plan9/sys/src/cmd/tlssrv.c:154,160 - /n/sourcesdump/2005/1214/plan9/sys/src/cmd/tlssrv.c:155,161 fd = dumper(fd); fd = tlsServer(fd, conn); if(fd < 0){ - reporter("failed: %r\n"); + reporter("failed: %r"); exits(0); } reporter("open\n"); /n/sourcesdump/2005/1213/plan9/sys/src/cmd/tlssrv.c:170,176 - /n/sourcesdump/2005/1214/plan9/sys/src/cmd/tlssrv.c:171,177 close(p[1]); close(p[0]); exec(argv[0], argv); - reporter("can't exec %s: %r\n", argv[0]); + reporter("can't exec %s: %r", argv[0]); _exits("exec"); case -1: exits("fork"); Disallow ? in names. [rsc] --rw-rw-r-- M 195156 glenda sys 11573 Dec 13 13:35 sys/src/cmd/wikifs/io.c /n/sourcesdump/2005/1213/plan9/sys/src/cmd/wikifs/io.c:445,451 - /n/sourcesdump/2005/1214/plan9/sys/src/cmd/wikifs/io.c:445,451 return -1; } - if(title[0]=='\0' || strpbrk(title, "/<>:")){ + if(title[0]=='\0' || strpbrk(title, "/<>:?")){ werrstr("invalid character in name"); return -1; }