Browse Source

Plan 9 from Bell Labs 2004-06-22

David du Colombier 20 years ago
parent
commit
e0448fc227

+ 14 - 9
dist/replica/_plan9.db

@@ -4676,7 +4676,7 @@ sys/man/1/grap - 664 sys sys 944959675 6417
 sys/man/1/graph - 664 sys sys 944959673 2858
 sys/man/1/grep - 664 sys sys 969512677 2224
 sys/man/1/gs - 664 sys sys 1032054727 6906
-sys/man/1/gview - 664 sys sys 1076349870 4219
+sys/man/1/gview - 664 sys sys 1087829746 4298
 sys/man/1/gzip - 664 sys sys 969499884 3073
 sys/man/1/hget - 664 sys sys 1067722859 1483
 sys/man/1/history - 664 sys sys 1044909169 1709
@@ -4707,7 +4707,7 @@ sys/man/1/news - 664 sys sys 1015024739 1148
 sys/man/1/nm - 664 sys sys 944959673 1539
 sys/man/1/ns - 664 sys sys 944959677 893
 sys/man/1/p - 664 sys sys 944959673 504
-sys/man/1/page - 664 sys sys 1087406047 5839
+sys/man/1/page - 664 sys sys 1087829646 5839
 sys/man/1/passwd - 664 sys sys 1068823217 1377
 sys/man/1/patch - 664 sys sys 1067804449 2176
 sys/man/1/pcc - 664 sys sys 1015024740 3478
@@ -4881,7 +4881,7 @@ sys/man/2/print - 664 sys sys 1046620831 8889
 sys/man/2/privalloc - 664 sys sys 984709633 651
 sys/man/2/proto - 664 sys sys 969499889 2948
 sys/man/2/pushssl - 664 sys sys 958249503 1032
-sys/man/2/pushtls - 664 sys sys 1053127877 4496
+sys/man/2/pushtls - 664 sys sys 1087829666 4781
 sys/man/2/qball - 664 sys sys 950892866 2000
 sys/man/2/qsort - 664 sys sys 944959694 763
 sys/man/2/quaternion - 664 sys sys 950892867 3421
@@ -4894,7 +4894,7 @@ sys/man/2/readv - 664 sys sys 1017423721 1454
 sys/man/2/regexp - 664 sys sys 988225293 3548
 sys/man/2/remove - 664 sys sys 958249504 518
 sys/man/2/rendezvous - 664 sys sys 950593497 1322
-sys/man/2/rsa - 664 sys sys 1084332670 4245
+sys/man/2/rsa - 664 sys sys 1087829658 4245
 sys/man/2/rune - 664 sys sys 1015091526 3069
 sys/man/2/runestrcat - 664 sys sys 969499889 1086
 sys/man/2/scribble - 664 sys sys 985638584 3847
@@ -6911,7 +6911,7 @@ sys/src/cmd/auth/factotum/rpc.c - 664 sys sys 1044829590 11147
 sys/src/cmd/auth/factotum/rsa.c - 664 sys sys 1048614986 3462
 sys/src/cmd/auth/factotum/secstore.c - 664 sys sys 1068129501 14932
 sys/src/cmd/auth/factotum/sshrsa.c - 664 sys sys 1048614985 3396
-sys/src/cmd/auth/factotum/util.c - 664 sys sys 1048614988 17031
+sys/src/cmd/auth/factotum/util.c - 664 sys sys 1087829623 17051
 sys/src/cmd/auth/factotum/wep.c - 664 sys sys 1048614986 2205
 sys/src/cmd/auth/guard.srv.c - 664 sys sys 1032497638 2334
 sys/src/cmd/auth/iam.c - 664 sys sys 1015008430 841
@@ -6954,7 +6954,7 @@ sys/src/cmd/auth/rsagen.c - 664 sys sys 1048614963 992
 sys/src/cmd/auth/secstore - 20000000775 sys sys 1017337838 0
 sys/src/cmd/auth/secstore/SConn.c - 664 sys sys 1064789003 4419
 sys/src/cmd/auth/secstore/SConn.h - 664 sys sys 1015008431 955
-sys/src/cmd/auth/secstore/aescbc.c - 664 sys sys 1045504879 3920
+sys/src/cmd/auth/secstore/aescbc.c - 664 sys sys 1087829615 4175
 sys/src/cmd/auth/secstore/dirls.c - 664 sys sys 1062277640 1842
 sys/src/cmd/auth/secstore/mkfile - 664 sys sys 1048615193 844
 sys/src/cmd/auth/secstore/pak.c - 664 sys sys 1062277640 9297
@@ -9406,7 +9406,7 @@ sys/src/cmd/gs/zlib/zlib.h - 664 sys sys 1015035350 36326
 sys/src/cmd/gs/zlib/zlib.rc - 644 sys sys 1015035349 879
 sys/src/cmd/gs/zlib/zutil.c - 664 sys sys 1015035350 5015
 sys/src/cmd/gs/zlib/zutil.h - 664 sys sys 1015035350 4945
-sys/src/cmd/gview.c - 664 sys sys 1076349870 50594
+sys/src/cmd/gview.c - 664 sys sys 1087829737 50641
 sys/src/cmd/gzip - 20000000775 sys sys 984789976 0
 sys/src/cmd/gzip/gunzip.c - 664 sys sys 1014924864 6039
 sys/src/cmd/gzip/gzip.c - 664 sys sys 1014924864 3646
@@ -10543,7 +10543,7 @@ sys/src/cmd/telco/telcofax - 664 sys sys 944961289 30
 sys/src/cmd/test.c - 664 sys sys 1079372543 5409
 sys/src/cmd/time.c - 664 sys sys 1014926662 1546
 sys/src/cmd/tlsclient.c - 664 sys sys 1024375149 1631
-sys/src/cmd/tlssrv.c - 664 sys sys 1018720167 3254
+sys/src/cmd/tlssrv.c - 664 sys sys 1087829606 3411
 sys/src/cmd/touch.c - 664 sys sys 1018387005 893
 sys/src/cmd/tprof.c - 664 sys sys 1063858806 2716
 sys/src/cmd/tr.c - 664 sys sys 944961464 6008
@@ -10958,7 +10958,7 @@ sys/src/cmd/upas/unesc/mkfile - 664 sys sys 1075080255 164
 sys/src/cmd/upas/unesc/unesc.c - 664 sys sys 1075080255 789
 sys/src/cmd/upas/vf - 20000000775 sys sys 1015096796 0
 sys/src/cmd/upas/vf/mkfile - 664 sys sys 1064393881 241
-sys/src/cmd/upas/vf/vf.c - 664 sys sys 1079357412 17391
+sys/src/cmd/upas/vf/vf.c - 664 sys sys 1087829630 17442
 sys/src/cmd/usb - 20000000775 sys sys 1017802022 0
 sys/src/cmd/usb/audio - 20000000775 sys sys 1017802021 0
 sys/src/cmd/usb/audio/audioclass.h - 664 sys sys 1017802021 5463
@@ -12430,3 +12430,8 @@ usr/glenda/lib/profile - 664 glenda glenda 1021580005 847
 usr/glenda/readme.acme - 664 glenda glenda 1019860628 4753
 usr/glenda/readme.rio - 664 glenda glenda 1019860628 6370
 usr/glenda/tmp - 20000000775 glenda glenda 1018802620 0
+386/bin/auth/aescbc - 775 sys sys 1087873349 131000
+386/bin/auth/factotum - 775 sys sys 1087873350 307151
+386/bin/gview - 775 sys sys 1087873351 235313
+386/bin/tlssrv - 775 sys sys 1087873352 196287
+386/bin/upas/vf - 775 sys sys 1087873352 90619

+ 14 - 14
dist/replica/plan9.db

@@ -50,7 +50,7 @@
 386/bin/ascii - 775 sys sys 1085076975 62654
 386/bin/astro - 775 sys sys 1085076975 138775
 386/bin/auth - 20000000775 sys sys 1016920815 0
-386/bin/auth/aescbc - 775 sys sys 1085076976 120742
+386/bin/auth/aescbc - 775 sys sys 1087873349 131000
 386/bin/auth/asn12rsa - 775 sys sys 1085076976 119140
 386/bin/auth/authsrv - 775 sys sys 1085076977 162948
 386/bin/auth/changeuser - 775 sys sys 1085076977 94911
@@ -60,7 +60,7 @@
 386/bin/auth/debug - 775 sys sys 1085076979 98973
 386/bin/auth/disable - 775 sys sys 1020319057 146
 386/bin/auth/enable - 775 sys sys 1020319057 134
-386/bin/auth/factotum - 775 sys sys 1086923025 307127
+386/bin/auth/factotum - 775 sys sys 1087873350 307151
 386/bin/auth/fgui - 775 sys sys 1085076980 212283
 386/bin/auth/guard.srv - 775 sys sys 1085076980 140340
 386/bin/auth/iam - 775 sys sys 1085076981 50791
@@ -253,7 +253,7 @@
 386/bin/grep - 775 sys sys 1085077060 77099
 386/bin/gs - 775 sys sys 1087442533 11131703
 386/bin/gunzip - 775 sys sys 1085077061 78252
-386/bin/gview - 775 sys sys 1085077061 235276
+386/bin/gview - 775 sys sys 1087873351 235313
 386/bin/gzip - 775 sys sys 1085077061 82899
 386/bin/hayes - 775 sys sys 1085077062 62579
 386/bin/hget - 775 sys sys 1085077062 224918
@@ -414,7 +414,7 @@
 386/bin/test - 775 sys sys 1085077104 67911
 386/bin/time - 775 sys sys 1085077105 59290
 386/bin/tlsclient - 775 sys sys 1085077105 197309
-386/bin/tlssrv - 775 sys sys 1085077105 197540
+386/bin/tlssrv - 775 sys sys 1087873352 196287
 386/bin/togif - 775 sys sys 1085077106 188985
 386/bin/toico - 775 sys sys 1085077106 121674
 386/bin/topng - 775 sys sys 1085077107 137101
@@ -460,7 +460,7 @@
 386/bin/upas/token - 775 sys sys 1085077117 75518
 386/bin/upas/unesc - 775 sys sys 1087442540 132079
 386/bin/upas/unspam - 775 sys sys 1064598367 38
-386/bin/upas/vf - 775 sys sys 1085077117 90562
+386/bin/upas/vf - 775 sys sys 1087873352 90619
 386/bin/usb - 20000000775 sys sys 1019538890 0
 386/bin/usb/usbaudio - 775 sys sys 1085077118 172912
 386/bin/usb/usbd - 775 sys sys 1085077118 122174
@@ -4676,7 +4676,7 @@ sys/man/1/grap - 664 sys sys 944959675 6417
 sys/man/1/graph - 664 sys sys 944959673 2858
 sys/man/1/grep - 664 sys sys 969512677 2224
 sys/man/1/gs - 664 sys sys 1032054727 6906
-sys/man/1/gview - 664 sys sys 1076349870 4219
+sys/man/1/gview - 664 sys sys 1087829746 4298
 sys/man/1/gzip - 664 sys sys 969499884 3073
 sys/man/1/hget - 664 sys sys 1067722859 1483
 sys/man/1/history - 664 sys sys 1044909169 1709
@@ -4707,7 +4707,7 @@ sys/man/1/news - 664 sys sys 1015024739 1148
 sys/man/1/nm - 664 sys sys 944959673 1539
 sys/man/1/ns - 664 sys sys 944959677 893
 sys/man/1/p - 664 sys sys 944959673 504
-sys/man/1/page - 664 sys sys 1087406047 5839
+sys/man/1/page - 664 sys sys 1087829646 5839
 sys/man/1/passwd - 664 sys sys 1068823217 1377
 sys/man/1/patch - 664 sys sys 1067804449 2176
 sys/man/1/pcc - 664 sys sys 1015024740 3478
@@ -4881,7 +4881,7 @@ sys/man/2/print - 664 sys sys 1046620831 8889
 sys/man/2/privalloc - 664 sys sys 984709633 651
 sys/man/2/proto - 664 sys sys 969499889 2948
 sys/man/2/pushssl - 664 sys sys 958249503 1032
-sys/man/2/pushtls - 664 sys sys 1053127877 4496
+sys/man/2/pushtls - 664 sys sys 1087829666 4781
 sys/man/2/qball - 664 sys sys 950892866 2000
 sys/man/2/qsort - 664 sys sys 944959694 763
 sys/man/2/quaternion - 664 sys sys 950892867 3421
@@ -4894,7 +4894,7 @@ sys/man/2/readv - 664 sys sys 1017423721 1454
 sys/man/2/regexp - 664 sys sys 988225293 3548
 sys/man/2/remove - 664 sys sys 958249504 518
 sys/man/2/rendezvous - 664 sys sys 950593497 1322
-sys/man/2/rsa - 664 sys sys 1084332670 4245
+sys/man/2/rsa - 664 sys sys 1087829658 4245
 sys/man/2/rune - 664 sys sys 1015091526 3069
 sys/man/2/runestrcat - 664 sys sys 969499889 1086
 sys/man/2/scribble - 664 sys sys 985638584 3847
@@ -6911,7 +6911,7 @@ sys/src/cmd/auth/factotum/rpc.c - 664 sys sys 1044829590 11147
 sys/src/cmd/auth/factotum/rsa.c - 664 sys sys 1048614986 3462
 sys/src/cmd/auth/factotum/secstore.c - 664 sys sys 1068129501 14932
 sys/src/cmd/auth/factotum/sshrsa.c - 664 sys sys 1048614985 3396
-sys/src/cmd/auth/factotum/util.c - 664 sys sys 1048614988 17031
+sys/src/cmd/auth/factotum/util.c - 664 sys sys 1087829623 17051
 sys/src/cmd/auth/factotum/wep.c - 664 sys sys 1048614986 2205
 sys/src/cmd/auth/guard.srv.c - 664 sys sys 1032497638 2334
 sys/src/cmd/auth/iam.c - 664 sys sys 1015008430 841
@@ -6954,7 +6954,7 @@ sys/src/cmd/auth/rsagen.c - 664 sys sys 1048614963 992
 sys/src/cmd/auth/secstore - 20000000775 sys sys 1017337838 0
 sys/src/cmd/auth/secstore/SConn.c - 664 sys sys 1064789003 4419
 sys/src/cmd/auth/secstore/SConn.h - 664 sys sys 1015008431 955
-sys/src/cmd/auth/secstore/aescbc.c - 664 sys sys 1045504879 3920
+sys/src/cmd/auth/secstore/aescbc.c - 664 sys sys 1087829615 4175
 sys/src/cmd/auth/secstore/dirls.c - 664 sys sys 1062277640 1842
 sys/src/cmd/auth/secstore/mkfile - 664 sys sys 1048615193 844
 sys/src/cmd/auth/secstore/pak.c - 664 sys sys 1062277640 9297
@@ -9406,7 +9406,7 @@ sys/src/cmd/gs/zlib/zlib.h - 664 sys sys 1015035350 36326
 sys/src/cmd/gs/zlib/zlib.rc - 644 sys sys 1015035349 879
 sys/src/cmd/gs/zlib/zutil.c - 664 sys sys 1015035350 5015
 sys/src/cmd/gs/zlib/zutil.h - 664 sys sys 1015035350 4945
-sys/src/cmd/gview.c - 664 sys sys 1076349870 50594
+sys/src/cmd/gview.c - 664 sys sys 1087829737 50641
 sys/src/cmd/gzip - 20000000775 sys sys 984789976 0
 sys/src/cmd/gzip/gunzip.c - 664 sys sys 1014924864 6039
 sys/src/cmd/gzip/gzip.c - 664 sys sys 1014924864 3646
@@ -10543,7 +10543,7 @@ sys/src/cmd/telco/telcofax - 664 sys sys 944961289 30
 sys/src/cmd/test.c - 664 sys sys 1079372543 5409
 sys/src/cmd/time.c - 664 sys sys 1014926662 1546
 sys/src/cmd/tlsclient.c - 664 sys sys 1024375149 1631
-sys/src/cmd/tlssrv.c - 664 sys sys 1018720167 3254
+sys/src/cmd/tlssrv.c - 664 sys sys 1087829606 3411
 sys/src/cmd/touch.c - 664 sys sys 1018387005 893
 sys/src/cmd/tprof.c - 664 sys sys 1063858806 2716
 sys/src/cmd/tr.c - 664 sys sys 944961464 6008
@@ -10958,7 +10958,7 @@ sys/src/cmd/upas/unesc/mkfile - 664 sys sys 1075080255 164
 sys/src/cmd/upas/unesc/unesc.c - 664 sys sys 1075080255 789
 sys/src/cmd/upas/vf - 20000000775 sys sys 1015096796 0
 sys/src/cmd/upas/vf/mkfile - 664 sys sys 1064393881 241
-sys/src/cmd/upas/vf/vf.c - 664 sys sys 1079357412 17391
+sys/src/cmd/upas/vf/vf.c - 664 sys sys 1087829630 17442
 sys/src/cmd/usb - 20000000775 sys sys 1017802022 0
 sys/src/cmd/usb/audio - 20000000775 sys sys 1017802021 0
 sys/src/cmd/usb/audio/audioclass.h - 664 sys sys 1017802021 5463

+ 14 - 0
dist/replica/plan9.log

@@ -15707,3 +15707,17 @@
 1087659029 2 c sys/src/9/mtx/pci.c - 664 sys sys 1087657434 16662
 1087659029 3 c sys/src/9/pc/io.h - 664 sys sys 1087657448 8029
 1087659029 4 c sys/src/9/pc/pci.c - 664 sys sys 1087657460 25736
+1087830063 0 c sys/man/1/gview - 664 sys sys 1087829746 4298
+1087830063 1 c sys/man/1/page - 664 sys sys 1087829646 5839
+1087830063 2 c sys/man/2/pushtls - 664 sys sys 1087829666 4781
+1087830063 3 c sys/man/2/rsa - 664 sys sys 1087829658 4245
+1087830063 4 c sys/src/cmd/auth/factotum/util.c - 664 sys sys 1087829623 17051
+1087830063 5 c sys/src/cmd/auth/secstore/aescbc.c - 664 sys sys 1087829615 4175
+1087830063 6 c sys/src/cmd/tlssrv.c - 664 sys sys 1087829606 3411
+1087830063 7 c sys/src/cmd/gview.c - 664 sys sys 1087829737 50641
+1087830063 8 c sys/src/cmd/upas/vf/vf.c - 664 sys sys 1087829630 17442
+1087875071 0 c 386/bin/auth/aescbc - 775 sys sys 1087873349 131000
+1087875071 1 c 386/bin/auth/factotum - 775 sys sys 1087873350 307151
+1087875071 2 c 386/bin/gview - 775 sys sys 1087873351 235313
+1087875071 3 c 386/bin/tlssrv - 775 sys sys 1087873352 196287
+1087875071 4 c 386/bin/upas/vf - 775 sys sys 1087873352 90619

+ 5 - 4
sys/man/1/gview

@@ -11,7 +11,7 @@ gview \- interactive graph viewer
 .B -m
 ]
 [
-.I file
+.I files
 ]
 .SH DESCRIPTION
 .I Gview
@@ -19,7 +19,8 @@ reads polygonal lines or a polygonal line drawing from an
 .B ASCII
 input file (which defaults to standard input), and views it interactively,
 with commands to zoom in and out, perform simple editing operations, and
-display information about points and polylines.  The editing commands can
+display information about points and polylines.  (Multiple input files are
+allowed if you want to overlay several line drawings.)  The editing commands can
 change the color and thickness of the polylines, delete (or undelete)
 some of them, and optionally rotate and move them.  It is also possible to
 generate an output file that reflects these changes and is in the same format
@@ -89,7 +90,7 @@ or
 command on button 2 changes the thickness of the selected polyline
 and there is also an undo command for such edits.
 .PP
-Finally, button 3 had commands to
+Finally, button 3 has commands to
 .I read
 a new input file and display it on top of everything else,
 .I restack
@@ -112,7 +113,7 @@ optional.   It is not legal to have two consecutive labels, since that
 would denote a zero-vertex polyline and each polyline must have at least
 one vertex. (One-vertex polylines are useful for scatter plots.)
 
-If the label after a polyline can contains the word
+If the label after a polyline contains the word
 .B "Thick"
 or a color name
 .BR (Red ,

+ 2 - 2
sys/man/1/page

@@ -165,9 +165,9 @@ Displays the previous page.
 .TP
 .B Zerox
 Displays the current image in a new page window. 
-Useful for selecting important pages from lare documents.
+Useful for selecting important pages from large documents.
 .TP
-..B Reverse
+.B Reverse
 Reverses the order in which pages are displayed.
 .TP
 .B Write

+ 12 - 1
sys/man/2/pushtls

@@ -1,6 +1,6 @@
 .TH PUSHTLS 2
 .SH NAME
-pushtls, tlsClient, tlsServer, initThumbprints, freeThumbprints, okThumbprint, readcert \- attach TLS1 or SSL3 encryption to a communication channel
+pushtls, tlsClient, tlsServer, initThumbprints, freeThumbprints, okThumbprint, readcert, readcertchain \- attach TLS1 or SSL3 encryption to a communication channel
 .SH SYNOPSIS
 .B #include <u.h>
 .br
@@ -26,6 +26,9 @@ int			tlsServer(int fd, TLSconn *conn)
 uchar		*readcert(char *filename, int *pcertlen)
 .PP
 .B
+PEMchain	*readcertchain(char *filename)
+.PP
+.B
 Thumbprint*	initThumbprints(char *ok, char *crl)
 .PP
 .B
@@ -92,6 +95,7 @@ points to a (caller-allocated) struct
       uchar *sessionID; // IN/OUT sessionID
       int certlen, sessionIDlen;
       void (*trace)(char*fmt, ...);
+      PEMChain *chain;
    } TLSconn;
 .EE
 defined in
@@ -147,6 +151,13 @@ should have been previously loaded into factotum.
 (See
 .IR rsa (8)
 for more about key generation.)
+By setting
+.EX
+   conn->chain = readcertchain("intermediate-certs.pem");
+.EE
+the server can present extra certificate evidence
+to establish the chain of trust to a root authority
+known to the client.
 .PP
 .I Conn
 is not required for the ongoing conversation and may

+ 1 - 1
sys/man/2/rsa

@@ -2,7 +2,7 @@
 .SH NAME
 asn1dump,
 asn1toRSApriv,
-decodepem,
+decodePEM,
 rsadecrypt,
 rsaencrypt,
 rsagen,

+ 1 - 1
sys/src/cmd/auth/factotum/util.c

@@ -361,7 +361,7 @@ findkey(Key **ret, Fsstate *fss, char *who, int noconf, int skip, Attr *attr0, c
 			return RpcOk;
 		}
 	}
-	flog("%d: no key matches %A %A", fss->seqnum, attr0, attr1);
+	flog("%d: no key matches %A %A %A %A", fss->seqnum, attr0, attr1, attr2, attr3);
 	werrstr("no key matches %A %A", attr0, attr1);
 	s = RpcFailure;
 	if(askforkeys && who==nil && (hasqueries(attr0) || hasqueries(attr1))){

+ 13 - 3
sys/src/cmd/auth/secstore/aescbc.c

@@ -9,6 +9,7 @@
 #include <bio.h>
 #include <mp.h>
 #include <libsec.h>
+#include <authsrv.h>
 
 int getpasswd(char*, char*, int);
 
@@ -44,11 +45,12 @@ void
 main(int argc, char **argv)
 {
 	int encrypt = 0;  /* 0=decrypt, 1=encrypt */
-	int n, nkey, pass_stdin = 0;
+	int n, nkey, pass_stdin = 0, pass_nvram = 0;
 	uchar key[AESmaxkey], key2[SHA1dlen];
 	uchar buf[BUF+SHA1dlen];    /* assumption: CHK <= SHA1dlen */
 	AESstate aes;
 	DigestState *dstate;
+	Nvrsafe nvr;
 
 	ARGBEGIN{
 	case 'e':
@@ -57,10 +59,13 @@ main(int argc, char **argv)
 	case 'i':
 		pass_stdin = 1;
 		break;
+	case 'n':
+		pass_nvram = 1;
+		break;
 	}ARGEND;
 	if(argc!=0){
-		fprint(2,"usage: %s -d < cipher.aes > clear.txt\n", argv[0]);
-		fprint(2,"   or: %s -e < clear.txt > cipher.aes\n", argv[0]);
+		fprint(2,"usage: %s -d < cipher.aes > clear.txt\n", argv0);
+		fprint(2,"   or: %s -e < clear.txt > cipher.aes\n", argv0);
 		exits("usage");
 	}
 	Binit(&bin, 0, OREAD);
@@ -73,6 +78,11 @@ main(int argc, char **argv)
 		buf[n] = 0;
 		while(buf[n-1] == '\n')
 			buf[--n] = 0;
+	}else if(pass_nvram){
+		if(readnvram(&nvr, 0) < 0)
+			exits("readnvram: %r");
+		strecpy((char*)buf, (char*)buf+sizeof buf, (char*)nvr.config);
+		n = strlen((char*)buf);
 	}else{
 		n = getpasswd("password:", (char*)buf, sizeof buf);
 	}

+ 10 - 8
sys/src/cmd/gview.c

@@ -1988,14 +1988,16 @@ void main(int argc, char *argv[])
 		exits("initdraw");
 	einit(Emouse|Ekeyboard);
 
-	e = doinput(*argv ? *argv : "-");
-	if (e < 0) {
-		fprintf(stderr,"Cannot read input file %s\n", *argv);
-		exits("no valid input file");
-	} else if (e > 0) {
-		fprintf(stderr,"Bad syntax at line %d in input file\n", e);
-		exits("bad syntax in input");
-	}
+	do {
+		e = doinput(*argv ? *argv : "-");
+		if (e < 0) {
+			fprintf(stderr,"Cannot read input file %s\n", *argv);
+			exits("no valid input file");
+		} else if (e > 0) {
+			fprintf(stderr,"Bad syntax at line %d of file %s\n", e, *argv);
+			exits("bad syntax in input");
+		}
+	} while (*argv && *++argv);
 	init_disp();
 	init_clrtab();
 	set_default_clrs(&univ, 0);

+ 6 - 1
sys/src/cmd/tlssrv.c

@@ -139,7 +139,12 @@ main(int argc, char *argv[])
 	conn = (TLSconn*)mallocz(sizeof *conn, 1);
 	if(conn == nil)
 		sysfatal("out of memory");
-	conn->cert = readcert(cert, &conn->certlen);
+	conn->chain = readcertchain(cert);
+	if (conn->chain == nil)
+		sysfatal("can't read certificate");
+	conn->cert = conn->chain->pem;
+	conn->certlen = conn->chain->pemlen;
+	conn->chain = conn->chain->next;
 	if(debug)
 		conn->trace = reporter;
 

+ 1 - 0
sys/src/cmd/upas/vf/vf.c

@@ -381,6 +381,7 @@ problemchild(Part *p)
 	Bprint(&out, "Content-Type: text/plain; charset=\"US-ASCII\"\n");
 	Bprint(&out, "Content-Transfer-Encoding: 7bit\n");
 	Bprint(&out, "\n");
+	Bprint(&out, "from postmaster@%s:\n", sysname());
 	Bprint(&out, "The following attachment had content that we can't\n");
 	Bprint(&out, "prove to be harmless.  To avoid possible automatic\n");
 	Bprint(&out, "execution, we changed the content headers.\n");