--- /lib/ndb/common Mon Aug 19 20:35:28 2013 +++ /lib/ndb/common Tue Oct 22 00:45:32 2013 @@ -1,8 +1,4 @@ # -# The master for this file is /n/fs/lib/ndb/common -# - -# # real dns root server ips # dom=a.root-servers.net ip=198.41.0.4 @@ -80,9 +76,9 @@ dom=9.e.f.ip6.arpa soa= dom=a.e.f.ip6.arpa soa= dom=b.e.f.ip6.arpa soa= - refresh=3600 ttl=3600 - ns=ns1.cs.bell-labs.com - ns=ns2.cs.bell-labs.com + refresh=86400 ttl=86400 + ns=a.root-servers.net + ns=j.root-servers.net # # ip protocol numbers @@ -196,7 +192,7 @@ tcp=chargen port=19 tcp=ftp-data port=20 tcp=ftp port=21 -tcp=ssh port=22 # v2 nowadays +tcp=ssh port=22 tcp=telnet port=23 tcp=smtp port=25 tcp=time port=37 @@ -283,7 +279,7 @@ tcp=exportfs port=17007 tcp=rexexec port=17009 tcp=ncpu port=17010 -tcp=cpu port=17013 +# tcp=cpu port=17013 # phasing out this obsolete protocol tcp=glenglenda1 port=17020 tcp=glenglenda2 port=17021 tcp=glenglenda3 port=17022 @@ -299,7 +295,6 @@ tcp=wiki port=17035 tcp=vica port=17036 tcp=aan port=17037 -tcp=ssh1 port=17122 # v1 tcp=face port=32000 # testing @@ -336,7 +331,7 @@ udp=ulctl port=12666 udp=uldata port=12667 udp=dldata port=12668 -udp=piepea port=13146 # πp +udp=piepea port=13146 # πp gre=ppp port=34827 @@ -348,11 +343,6 @@ # their visibility everywhere. # -# for geoff -auth=www.9netics.com authdom=9netics.com -auth=newcpu.9netics.net authdom=9netics.net -auth=mordor.tip9ug.jp authdom=tip9ug.jp - # for geoff's external ipv6 testing auth=9grid.hamnavoe.com authdom=9grid.hamnavoe.com @@ -372,63 +362,3 @@ # for sape auth=130.89.145.31 authdom=cs.utwente.nl - -# for quanstro -auth=tyty.coraid.com authdom=coraid.com -auth=ladd.quanstro.net authdom=plan9.quanstro.net - -# for noah -auth=172.17.3.23 authdom=plan9.anl.gov - -# -# ipv6 networks -# -ipnet=all-v6 ip=:: ipmask=/0 - fs=pie.cs.bell-labs.com # was v6 - venti=pie.cs.bell-labs.com # was v6 - cpu=fish # was v6 - ntp=chips - ntp=time1.net.lucent.com - dnsdomain=cs.bell-labs.com - dnsdomain=research.bell-labs.com - dnsdomain=bell-labs.com - radius=lra-radius - smtp=chipsv6.cs.bell-labs.com - dns=chipsv6 - auth=p9authv6.cs.bell-labs.com - authdom=cs.bell-labs.com -# -# contact: Deborah Hogan -# sub-allocations done by thomas.galuschka@hp.com -# -ipnet=lucent-v6 ip=2620:0:60:: ipmask=/48 - fs=pie.cs.bell-labs.com # was v6 - venti=pie.cs.bell-labs.com # was v6 - cpu=fish # was v6 - ntp=chips - ntp=time1.net.lucent.com - dnsdomain=cs.bell-labs.com - dnsdomain=research.bell-labs.com - dnsdomain=bell-labs.com - radius=lra-radius - smtp=chipsv6.cs.bell-labs.com - dns=chipsv6 - auth=p9authv6.cs.bell-labs.com - authdom=cs.bell-labs.com -# -# contact: Alastair Johnson -# -ipnet=alu-asia-pac-v6 ip=2406:c800:: ipmask=/32 - fs=pie.cs.bell-labs.com # was v6 - venti=pie.cs.bell-labs.com # was v6 - cpu=fish # was v6 - ntp=chips - ntp=time1.net.lucent.com - dnsdomain=cs.bell-labs.com - dnsdomain=research.bell-labs.com - dnsdomain=bell-labs.com - radius=lra-radius - smtp=chipsv6.cs.bell-labs.com - dns=chipsv6 - auth=p9authv6.cs.bell-labs.com - authdom=cs.bell-labs.com --- /rc/bin/service/!tcp17013 Thu Jan 1 01:00:00 1970 +++ /rc/bin/service/!tcp17013 Thu Oct 17 01:04:23 2013 @@ -0,0 +1 @@ +#!/bin/cpu -O --- /rc/bin/service/tcp17013 Fri Mar 22 22:23:16 2002 +++ /rc/bin/service/tcp17013 Thu Jan 1 01:00:00 1970 @@ -1 +0,0 @@ -#!/bin/cpu -O --- /sys/lib/dist/pc/mkfile Tue Aug 20 20:25:53 2013 +++ /sys/lib/dist/pc/mkfile Thu Oct 17 21:44:48 2013 @@ -91,6 +91,10 @@ bzip2 $target && rm -f $target pwd ls -l $target* + if (test `{ls -s $target.bz2 | awk '{print $1}'} -lt 80000) { + echo $target.bz2 implausibly small >[1=2] + exit bz2-too-small + } clean:V: if (! unmount 9load >[2]/dev/null) --- /sys/src/9/boot/usb.c Tue Oct 23 23:52:34 2012 +++ /sys/src/9/boot/usb.c Mon Oct 21 23:54:37 2013 @@ -64,7 +64,7 @@ return 0; } -/* start partfs on first usb disk, if any */ +/* start partfs on first usb disk, if any. optionally post partfs in /srv. */ static int startpartfs(int post) { @@ -127,6 +127,10 @@ return startpartfs(Post); } +/* + * start usbd, which mounts itself on /dev. + * start partfs on first disk, if any, to permit nvram on usb. + */ void usbinit(int post) { --- /sys/src/9/pc/ether8169.c Fri May 18 00:20:42 2012 +++ /sys/src/9/pc/ether8169.c Tue Oct 22 00:01:45 2013 @@ -114,6 +114,7 @@ // Macv19 = 0x3c000000, /* dup Macv12a: RTL8111c-gr */ Macv25 = 0x28000000, /* RTL8168D */ Macv2c = 0x2c000000, /* RTL8168E */ + Macv34 = 0x2c800000, /* RTL8168E */ Ifg0 = 0x01000000, /* Interframe Gap 0 */ Ifg1 = 0x02000000, /* Interframe Gap 1 */ }; @@ -739,6 +740,7 @@ case Macv15: case Macv25: case Macv2c: + case Macv34: break; } @@ -1094,6 +1096,7 @@ case Macv15: case Macv25: case Macv2c: + case Macv34: break; } return 0; --- /sys/src/9/pc/pci.c Fri Apr 12 22:19:37 2013 +++ /sys/src/9/pc/pci.c Mon Oct 21 23:57:15 2013 @@ -668,6 +668,7 @@ { 0x8086, 0x3a48, pIIxget, pIIxset }, /* Intel 82801JI */ { 0x8086, 0x2916, pIIxget, pIIxset }, /* Intel 82801? */ { 0x8086, 0x1c02, pIIxget, pIIxset }, /* Intel 6 Series/C200 */ + { 0x8086, 0x1c44, pIIxget, pIIxset }, /* Intel 6 Series/Z68 Express */ { 0x8086, 0x1e53, pIIxget, pIIxset }, /* Intel 7 Series/C216 */ { 0x1106, 0x0586, viaget, viaset }, /* Viatech 82C586 */ { 0x1106, 0x0596, viaget, viaset }, /* Viatech 82C596 */ --- /sys/src/cmd/disk/prep/fdisk.c Wed Jul 7 20:50:25 2010 +++ /sys/src/cmd/disk/prep/fdisk.c Tue Oct 15 20:42:58 2013 @@ -192,6 +192,12 @@ uchar xsize[4]; /* size in sectors */ }; +struct Table { + Tentry entry[NTentry]; + uchar magic[2]; + uchar size[]; +}; + enum { Active = 0x80, /* partition is active */ Primary = 0x01, /* internal flag */ @@ -232,7 +238,7 @@ TypeAMOEBA = 0x93, TypeAMOEBABB = 0x94, TypeBSD386 = 0xA5, - TypeNETBSD = 0XA9, + TypeNETBSD = 0xA9, TypeBSDI = 0xB7, TypeBSDISWAP = 0xB8, TypeOTHER = 0xDA, @@ -240,6 +246,8 @@ TypeDellRecovery= 0xDE, TypeSPEEDSTOR12 = 0xE1, TypeSPEEDSTOR16 = 0xE4, + TypeEFIProtect = 0xEE, + TypeEFI = 0xEF, TypeLANSTEP = 0xFE, Type9 = 0x39, @@ -247,11 +255,8 @@ Toffset = 446, /* offset of partition table in sector */ Magic0 = 0x55, Magic1 = 0xAA, -}; -struct Table { - Tentry entry[NTentry]; - uchar magic[2]; + Tablesz = offsetof(Table, size[0]), }; struct Type { @@ -318,6 +323,8 @@ [TypeDellRecovery] { "DELLRECOVERY", "dell" }, [TypeSPEEDSTOR12] { "SPEEDSTOR12", "speedstor" }, [TypeSPEEDSTOR16] { "SPEEDSTOR16", "speedstor" }, + [TypeEFIProtect] { "EFIPROTECT", "efiprotect" }, + [TypeEFI] { "EFI", "efi" }, [TypeLANSTEP] { "LANSTEP", "lanstep" }, [Type9] { "PLAN9", "plan9" }, @@ -446,7 +453,7 @@ err = 0; for(i=0; idisk, &rtab[i].table, sizeof(Table), rtab[i].lba, Toffset) < 0) + if(diskwrite(edit->disk, &rtab[i].table, Tablesz, rtab[i].lba, Toffset) < 0) err = 1; if(err) { fprint(2, "warning: some writes failed during restoration of old partition tables\n"); @@ -491,7 +498,7 @@ if(xbase == 0) xbase = lba; - diskread(edit->disk, &table, sizeof table, mbroffset+lba, Toffset); + diskread(edit->disk, &table, Tablesz, mbroffset+lba, Toffset); addrecover(table, mbroffset+lba); if(table.magic[0] != Magic0 || table.magic[1] != Magic1) { @@ -529,7 +536,7 @@ Table table; Tentry *tp; - diskread(edit->disk, &table, sizeof(Table), 0, Toffset); + diskread(edit->disk, &table, Tablesz, 0, Toffset); if(table.magic[0] != Magic0 || table.magic[1] != Magic1) sysfatal("did not find master boot record"); @@ -1012,7 +1019,7 @@ Finish: if(startlba < *endlba){ disk = edit->disk; - diskread(disk, &table, sizeof table, mbroffset+startlba, Toffset); + diskread(disk, &table, Tablesz, mbroffset+startlba, Toffset); tp = table.entry; ep = tp+NTentry; for(; tpdisk, &table, sizeof table, mbroffset+startlba, Toffset) < 0) + if(diskwrite(edit->disk, &table, Tablesz, mbroffset+startlba, Toffset) < 0) recover(edit); } return i; @@ -1033,7 +1040,7 @@ } disk = edit->disk; - diskread(disk, &table, sizeof table, mbroffset+startlba, Toffset); + diskread(disk, &table, Tablesz, mbroffset+startlba, Toffset); tp = table.entry; ep = tp+NTentry; @@ -1055,7 +1062,7 @@ table.magic[0] = Magic0; table.magic[1] = Magic1; - if(diskwrite(edit->disk, &table, sizeof table, mbroffset+startlba, Toffset) < 0) + if(diskwrite(edit->disk, &table, Tablesz, mbroffset+startlba, Toffset) < 0) recover(edit); return ni; } @@ -1072,7 +1079,7 @@ disk = edit->disk; - diskread(disk, &table, sizeof table, mbroffset, Toffset); + diskread(disk, &table, Tablesz, mbroffset, Toffset); tp = table.entry; ep = tp+NTentry; @@ -1105,7 +1112,7 @@ if(i != edit->npart) sysfatal("cannot happen #1"); - if(diskwrite(disk, &table, sizeof table, mbroffset, Toffset) < 0) + if(diskwrite(disk, &table, Tablesz, mbroffset, Toffset) < 0) recover(edit); /* bring parts up to date */ --- /sys/src/cmd/file.c Thu Jun 27 00:33:52 2013 +++ /sys/src/cmd/file.c Tue Oct 22 00:07:30 2013 @@ -538,6 +538,7 @@ 070707, 0xFFFF, "cpio archive\n", OCTET, 0x2F7, 0xFFFF, "tex dvi\n", "application/dvi", 0xfaff, 0xfeff, "mp3 audio\n", "audio/mpeg", + 0xf0ff, 0xf6ff, "aac audio\n", "audio/mpeg", 0xfeff0000, 0xffffffff, "utf-32be\n", "text/plain charset=utf-32be", 0xfffe, 0xffffffff, "utf-32le\n", "text/plain charset=utf-32le", 0xfeff, 0xffff, "utf-16be\n", "text/plain charset=utf-16be", --- /sys/src/cmd/upas/smtp/mxdial.c Thu Aug 22 00:47:09 2013 +++ /sys/src/cmd/upas/smtp/mxdial.c Mon Oct 21 20:16:23 2013 @@ -13,7 +13,7 @@ struct Mx { char host[Maxstring]; - char ip[Maxipstr]; + char ip[Maxipstr]; /* this is just the first ip */ int pref; }; @@ -130,18 +130,13 @@ if(nmx > 1) qsort(mx, nmx, sizeof(Mx), compar); - /* dial each one in turn */ + /* dial each one in turn by name, not ip */ for(i = 0; i < nmx; i++){ if (busted(mx[i].host)) { if (debug) fprint(2, "mxdial skipping busted mx %s\n", mx[i].host); continue; - }else if(isloopback(mx[i].host)){ - if(debug) - fprint(2, "host ip %s is loopback\n", - mx[i].host); - continue; } snprint(addr, sizeof(addr), "%s/%s!%s!%s", ds->netdir, ds->proto, mx[i].host, ds->service); @@ -150,6 +145,8 @@ atnotify(timeout, 1); alarm(10*1000); fd = dial(addr, 0, 0, 0); + if (debug && fd < 0) + fprint(2, "dial: %r\n"); alarm(0); atnotify(timeout, 0); if(fd >= 0) @@ -220,6 +217,7 @@ } else { /* * get any mx entries + * assumes one record per read */ seek(fd, 0, 0); while(nmx < Nmx && (n = read(fd, buf, sizeof buf-1)) > 0){ @@ -240,13 +238,12 @@ nmx++; } if(debug) - fprint(2, "dns mx; got %d entries\n", nmx); + fprint(2, "dns mx: got %d mx servers\n", nmx); } /* * no mx record? try name itself. - */ - /* + * * BUG? If domain has no dots, then we used to look up ds->host * but return domain instead of ds->host in the list. Now we return * ds->host. What will this break? @@ -258,7 +255,9 @@ } /* - * look up all ip addresses + * look up first ip address of each mx name. + * should really look at all addresses. + * assumes one record per read. */ for(i = 0; i < nmx; i++){ mxp = &mx[i]; @@ -286,6 +285,7 @@ *mxp = mx[nmx]; i--; } + close(fd); return nmx; }