Browse Source

Plan 9 from Bell Labs 2008-01-19

David du Colombier 16 years ago
parent
commit
08d04f7794

+ 9 - 9
dist/replica/_plan9.db

@@ -36,7 +36,7 @@
 386/bin/ape/stty - 775 sys sys 1148500571 41080
 386/bin/ape/tar - 775 sys sys 1168402264 62184
 386/bin/ape/uname - 775 sys sys 1173754552 134895
-386/bin/aquarela - 775 sys sys 1200262725 337698
+386/bin/aquarela - 775 sys sys 1200631754 337609
 386/bin/ar - 775 sys sys 1178939751 114363
 386/bin/archfs - 775 sys sys 1179372067 146788
 386/bin/ascii - 775 sys sys 1168402265 64884
@@ -177,7 +177,7 @@
 386/bin/cfs - 775 sys sys 1190863294 130565
 386/bin/chgrp - 775 sys sys 1168402294 59522
 386/bin/chmod - 775 sys sys 1168402294 62518
-386/bin/cifscmd - 775 sys sys 1200262742 348544
+386/bin/cifscmd - 775 sys sys 1200631760 348455
 386/bin/cleanname - 775 sys sys 1168402295 58541
 386/bin/clock - 775 sys sys 1197732691 157356
 386/bin/cmp - 775 sys sys 1157597609 40658
@@ -7752,7 +7752,7 @@ sys/man/4/u9fs - 664 sys sys 1196638944 4748
 sys/man/4/upasfs - 664 sys sys 1196638944 6212
 sys/man/4/usb - 664 sys sys 1196638944 4682
 sys/man/4/usbd - 664 sys sys 1196638944 712
-sys/man/4/usbdisk - 664 sys sys 1196638944 2801
+sys/man/4/usbdisk - 664 sys sys 1200688323 2785
 sys/man/4/vacfs - 664 sys sys 1196638944 1545
 sys/man/4/webcookies - 664 sys sys 1196638944 3525
 sys/man/4/webfs - 664 sys sys 1196638944 6518
@@ -9166,7 +9166,7 @@ sys/src/boot/pc/devfloppy.c - 664 sys sys 1032215913 15505
 sys/src/boot/pc/devfloppy.h - 664 sys sys 1032409559 4081
 sys/src/boot/pc/devi82365.c - 664 sys sys 1144961189 15051
 sys/src/boot/pc/devpccard.c - 664 sys sys 1153333456 33897
-sys/src/boot/pc/devsd.c - 664 sys sys 1199490748 11497
+sys/src/boot/pc/devsd.c - 664 sys sys 1200690168 11504
 sys/src/boot/pc/dma.c - 664 sys sys 1015007949 4972
 sys/src/boot/pc/dosboot.c - 664 sys sys 1097716791 11240
 sys/src/boot/pc/dosfs.h - 664 sys sys 1032215924 1467
@@ -9207,14 +9207,14 @@ sys/src/boot/pc/kbd.c - 664 sys sys 1015007952 10188
 sys/src/boot/pc/kfs.h - 664 sys sys 1032215924 861
 sys/src/boot/pc/kfsboot.c - 664 sys sys 1032215914 4788
 sys/src/boot/pc/l.s - 664 sys sys 1193167045 18213
-sys/src/boot/pc/lib.h - 664 sys sys 1190921452 2847
+sys/src/boot/pc/lib.h - 664 sys sys 1200690170 2891
 sys/src/boot/pc/load.c - 664 sys sys 1194649778 10526
 sys/src/boot/pc/mbr.s - 664 sys sys 1015007953 6234
 sys/src/boot/pc/mem.h - 664 sys sys 1190921475 3437
 sys/src/boot/pc/memory.c - 664 sys sys 1019533021 10272
 sys/src/boot/pc/mkfile - 664 sys sys 1193359312 3224
 sys/src/boot/pc/noether.c - 664 sys sys 1193336537 416
-sys/src/boot/pc/part.c - 664 sys sys 1114697151 7153
+sys/src/boot/pc/part.c - 664 sys sys 1200690166 7158
 sys/src/boot/pc/pbs.s - 664 sys sys 1143465387 8291
 sys/src/boot/pc/pbsdisk - 775 sys sys 1017854325 509
 sys/src/boot/pc/pbsdisk.s - 664 sys sys 1017854325 6371
@@ -9224,7 +9224,7 @@ sys/src/boot/pc/pbslba.s - 664 sys sys 1186031549 8180
 sys/src/boot/pc/pci.c - 664 sys sys 1196312243 20667
 sys/src/boot/pc/print.c - 664 sys sys 1094674483 219
 sys/src/boot/pc/queue.c - 664 sys sys 1015007954 566
-sys/src/boot/pc/sd.h - 664 sys sys 1153333456 2244
+sys/src/boot/pc/sd.h - 664 sys sys 1200690169 2249
 sys/src/boot/pc/sd53c8xx.c - 664 sys sys 1186031515 52082
 sys/src/boot/pc/sd53c8xx.i - 664 sys sys 1015007955 27245
 sys/src/boot/pc/sdaoe.c - 664 sys sys 1199911246 11268
@@ -9632,7 +9632,7 @@ sys/src/cmd/auth/factotum/p9cr.c - 664 sys sys 1171690104 6721
 sys/src/cmd/auth/factotum/p9sk1.c - 664 sys sys 1179405289 9834
 sys/src/cmd/auth/factotum/pass.c - 664 sys sys 1107706104 1514
 sys/src/cmd/auth/factotum/rpc.c - 664 sys sys 1107633794 11167
-sys/src/cmd/auth/factotum/rsa.c - 664 sys sys 1107706104 3416
+sys/src/cmd/auth/factotum/rsa.c - 664 sys sys 1200684904 3482
 sys/src/cmd/auth/factotum/secstore.c - 664 sys sys 1140272941 14955
 sys/src/cmd/auth/factotum/sshrsa.c - 664 sys sys 1107633793 3416
 sys/src/cmd/auth/factotum/util.c - 664 sys sys 1182192267 18452
@@ -14262,7 +14262,7 @@ sys/src/cmd/usb/audio/usbaudio.h - 664 sys sys 1140695062 1889
 sys/src/cmd/usb/audio/usbaudioctl.c - 664 sys sys 1172764044 18825
 sys/src/cmd/usb/audio/usbaudioctl.h - 664 sys sys 1140695062 618
 sys/src/cmd/usb/disk - 20000000775 sys sys 1193181450 0
-sys/src/cmd/usb/disk/disk.c - 664 sys sys 1193181450 19997
+sys/src/cmd/usb/disk/disk.c - 664 sys sys 1200688320 20111
 sys/src/cmd/usb/disk/mkfile - 664 sys sys 1193181450 359
 sys/src/cmd/usb/lib - 20000000775 sys sys 1091204979 0
 sys/src/cmd/usb/lib/device.c - 664 sys sys 1168308464 3284

+ 9 - 9
dist/replica/plan9.db

@@ -36,7 +36,7 @@
 386/bin/ape/stty - 775 sys sys 1148500571 41080
 386/bin/ape/tar - 775 sys sys 1168402264 62184
 386/bin/ape/uname - 775 sys sys 1173754552 134895
-386/bin/aquarela - 775 sys sys 1200262725 337698
+386/bin/aquarela - 775 sys sys 1200631754 337609
 386/bin/ar - 775 sys sys 1178939751 114363
 386/bin/archfs - 775 sys sys 1179372067 146788
 386/bin/ascii - 775 sys sys 1168402265 64884
@@ -177,7 +177,7 @@
 386/bin/cfs - 775 sys sys 1190863294 130565
 386/bin/chgrp - 775 sys sys 1168402294 59522
 386/bin/chmod - 775 sys sys 1168402294 62518
-386/bin/cifscmd - 775 sys sys 1200262742 348544
+386/bin/cifscmd - 775 sys sys 1200631760 348455
 386/bin/cleanname - 775 sys sys 1168402295 58541
 386/bin/clock - 775 sys sys 1197732691 157356
 386/bin/cmp - 775 sys sys 1157597609 40658
@@ -7752,7 +7752,7 @@ sys/man/4/u9fs - 664 sys sys 1196638944 4748
 sys/man/4/upasfs - 664 sys sys 1196638944 6212
 sys/man/4/usb - 664 sys sys 1196638944 4682
 sys/man/4/usbd - 664 sys sys 1196638944 712
-sys/man/4/usbdisk - 664 sys sys 1196638944 2801
+sys/man/4/usbdisk - 664 sys sys 1200688323 2785
 sys/man/4/vacfs - 664 sys sys 1196638944 1545
 sys/man/4/webcookies - 664 sys sys 1196638944 3525
 sys/man/4/webfs - 664 sys sys 1196638944 6518
@@ -9166,7 +9166,7 @@ sys/src/boot/pc/devfloppy.c - 664 sys sys 1032215913 15505
 sys/src/boot/pc/devfloppy.h - 664 sys sys 1032409559 4081
 sys/src/boot/pc/devi82365.c - 664 sys sys 1144961189 15051
 sys/src/boot/pc/devpccard.c - 664 sys sys 1153333456 33897
-sys/src/boot/pc/devsd.c - 664 sys sys 1199490748 11497
+sys/src/boot/pc/devsd.c - 664 sys sys 1200690168 11504
 sys/src/boot/pc/dma.c - 664 sys sys 1015007949 4972
 sys/src/boot/pc/dosboot.c - 664 sys sys 1097716791 11240
 sys/src/boot/pc/dosfs.h - 664 sys sys 1032215924 1467
@@ -9207,14 +9207,14 @@ sys/src/boot/pc/kbd.c - 664 sys sys 1015007952 10188
 sys/src/boot/pc/kfs.h - 664 sys sys 1032215924 861
 sys/src/boot/pc/kfsboot.c - 664 sys sys 1032215914 4788
 sys/src/boot/pc/l.s - 664 sys sys 1193167045 18213
-sys/src/boot/pc/lib.h - 664 sys sys 1190921452 2847
+sys/src/boot/pc/lib.h - 664 sys sys 1200690170 2891
 sys/src/boot/pc/load.c - 664 sys sys 1194649778 10526
 sys/src/boot/pc/mbr.s - 664 sys sys 1015007953 6234
 sys/src/boot/pc/mem.h - 664 sys sys 1190921475 3437
 sys/src/boot/pc/memory.c - 664 sys sys 1019533021 10272
 sys/src/boot/pc/mkfile - 664 sys sys 1193359312 3224
 sys/src/boot/pc/noether.c - 664 sys sys 1193336537 416
-sys/src/boot/pc/part.c - 664 sys sys 1114697151 7153
+sys/src/boot/pc/part.c - 664 sys sys 1200690166 7158
 sys/src/boot/pc/pbs.s - 664 sys sys 1143465387 8291
 sys/src/boot/pc/pbsdisk - 775 sys sys 1017854325 509
 sys/src/boot/pc/pbsdisk.s - 664 sys sys 1017854325 6371
@@ -9224,7 +9224,7 @@ sys/src/boot/pc/pbslba.s - 664 sys sys 1186031549 8180
 sys/src/boot/pc/pci.c - 664 sys sys 1196312243 20667
 sys/src/boot/pc/print.c - 664 sys sys 1094674483 219
 sys/src/boot/pc/queue.c - 664 sys sys 1015007954 566
-sys/src/boot/pc/sd.h - 664 sys sys 1153333456 2244
+sys/src/boot/pc/sd.h - 664 sys sys 1200690169 2249
 sys/src/boot/pc/sd53c8xx.c - 664 sys sys 1186031515 52082
 sys/src/boot/pc/sd53c8xx.i - 664 sys sys 1015007955 27245
 sys/src/boot/pc/sdaoe.c - 664 sys sys 1199911246 11268
@@ -9632,7 +9632,7 @@ sys/src/cmd/auth/factotum/p9cr.c - 664 sys sys 1171690104 6721
 sys/src/cmd/auth/factotum/p9sk1.c - 664 sys sys 1179405289 9834
 sys/src/cmd/auth/factotum/pass.c - 664 sys sys 1107706104 1514
 sys/src/cmd/auth/factotum/rpc.c - 664 sys sys 1107633794 11167
-sys/src/cmd/auth/factotum/rsa.c - 664 sys sys 1107706104 3416
+sys/src/cmd/auth/factotum/rsa.c - 664 sys sys 1200684904 3482
 sys/src/cmd/auth/factotum/secstore.c - 664 sys sys 1140272941 14955
 sys/src/cmd/auth/factotum/sshrsa.c - 664 sys sys 1107633793 3416
 sys/src/cmd/auth/factotum/util.c - 664 sys sys 1182192267 18452
@@ -14262,7 +14262,7 @@ sys/src/cmd/usb/audio/usbaudio.h - 664 sys sys 1140695062 1889
 sys/src/cmd/usb/audio/usbaudioctl.c - 664 sys sys 1172764044 18825
 sys/src/cmd/usb/audio/usbaudioctl.h - 664 sys sys 1140695062 618
 sys/src/cmd/usb/disk - 20000000775 sys sys 1193181450 0
-sys/src/cmd/usb/disk/disk.c - 664 sys sys 1193181450 19997
+sys/src/cmd/usb/disk/disk.c - 664 sys sys 1200688320 20111
 sys/src/cmd/usb/disk/mkfile - 664 sys sys 1193181450 359
 sys/src/cmd/usb/lib - 20000000775 sys sys 1091204979 0
 sys/src/cmd/usb/lib/device.c - 664 sys sys 1168308464 3284

+ 9 - 0
dist/replica/plan9.log

@@ -18322,3 +18322,12 @@
 1200515404 1 a sys/lib/dist/setup - 775 sys sys 1200515222 190
 1200605403 0 c sys/src/cmd/aquarela/smbtrans2set.c - 664 sys sys 1200604163 5299
 1200609004 0 c sys/src/games/xs.c - 664 sys sys 1200609238 17094
+1200632405 0 c 386/bin/aquarela - 775 sys sys 1200631754 337609
+1200632405 1 c 386/bin/cifscmd - 775 sys sys 1200631760 348455
+1200684604 0 c sys/src/cmd/auth/factotum/rsa.c - 664 sys sys 1200684904 3482
+1200688204 0 c sys/man/4/usbdisk - 664 sys sys 1200688323 2785
+1200688204 1 c sys/src/cmd/usb/disk/disk.c - 664 sys sys 1200688320 20111
+1200691803 0 c sys/src/boot/pc/devsd.c - 664 sys sys 1200690168 11504
+1200691803 1 c sys/src/boot/pc/lib.h - 664 sys sys 1200690170 2891
+1200691803 2 c sys/src/boot/pc/part.c - 664 sys sys 1200690166 7158
+1200691803 3 c sys/src/boot/pc/sd.h - 664 sys sys 1200690169 2249

+ 5 - 5
sys/man/4/usbdisk

@@ -4,7 +4,7 @@ usbdisk, usbfat: - serve USB mass storage devices
 .SH SYNOPSIS
 .B usb/disk
 [
-.B -dD
+.B -dDf
 ] [
 .B -m
 .I mountpoint
@@ -69,10 +69,10 @@ and yields the device geometries when read.
 The
 .B -d
 option generates debugging output.
-.\" The
-.\" .B -f
-.\" option avoids freaking out some cheap USB flash disks by not issuing
-.\" SCSI reset commands to them.
+The
+.B -f
+option avoids freaking out some cheap USB flash disks by not issuing
+UMS reset commands to them.
 The
 .B -m
 option mounts the served hierarchy on

+ 3 - 3
sys/src/boot/pc/devsd.c

@@ -32,13 +32,13 @@ enum {
 };
 
 void
-sdaddpart(SDunit* unit, char* name, ulong start, ulong end)
+sdaddpart(SDunit* unit, char* name, uvlong start, uvlong end)
 {
 	SDpart *pp;
 	int i, partno;
 
 	if(parttrace)
-		print("add %d %s %s %ld %ld\n", unit->npart, unit->name, name, start, end);
+		print("add %d %s %s %lld %lld\n", unit->npart, unit->name, name, start, end);
 	/*
 	 * Check name not already used
 	 * and look for a free slot.
@@ -73,7 +73,7 @@ sdaddpart(SDunit* unit, char* name, ulong start, ulong end)
 	 * Check there is a free slot and size and extent are valid.
 	 */
 	if(partno == -1 || start > end || end > unit->sectors){
-		print("cannot add %s!%s [%lud,%lud) to disk [0,%lud): %s\n",
+		print("cannot add %s!%s [%llud,%llud) to disk [0,%llud): %s\n",
 			unit->name, name, start, end, unit->sectors, 
 			partno==-1 ? "no free partitions" : "partition boundaries out of range");
 		return;

+ 1 - 0
sys/src/boot/pc/lib.h

@@ -99,6 +99,7 @@ extern	int	atoi(char*);
 extern	uintptr	getcallerpc(void*);
 extern	long	strtol(char*, char**, int);
 extern	ulong	strtoul(char*, char**, int);
+extern	uvlong	strtoull(char*, char**, int);
 extern	long	end;
 
 #define	NAMELEN	28

+ 5 - 5
sys/src/boot/pc/part.c

@@ -89,8 +89,8 @@ oldp9part(SDunit *unit)
 		for(i = 1; i < n && unit->npart < SDnpart; i++){
 			if(getfields(line[i], field, 3, ' ') != 3)
 				break;
-			start = strtoul(field[1], 0, 0);
-			end = strtoul(field[2], 0, 0);
+			start = strtoull(field[1], 0, 0);
+			end = strtoull(field[2], 0, 0);
 			if(start >= end || end > unit->sectors)
 				break;
 			sdaddpart(unit, field[0], start, end);
@@ -103,7 +103,7 @@ p9part(SDunit *unit, char *name)
 {
 	SDpart *p;
 	char *field[4], *line[Npart+1];
-	ulong start, end;
+	uvlong start, end;
 	int i, n;
 	
 	p = sdfindpart(unit, name);
@@ -125,8 +125,8 @@ p9part(SDunit *unit, char *name)
 			break;
 		if(getfields(line[i], field, 4, ' ') != 4)
 			break;
-		start = strtoul(field[2], 0, 0);
-		end = strtoul(field[3], 0, 0);
+		start = strtoull(field[2], 0, 0);
+		end = strtoull(field[3], 0, 0);
 		if(start >= end || end > unit->sectors)
 			break;
 		sdaddpart(unit, field[1], p->start+start, p->start+end);

+ 4 - 4
sys/src/boot/pc/sd.h

@@ -8,8 +8,8 @@ typedef struct SDreq SDreq;
 typedef struct SDunit SDunit;
 
 typedef struct SDpart {
-	ulong	start;
-	ulong	end;
+	uvlong	start;
+	uvlong	end;
 	char	name[NAMELEN];
 	char	user[NAMELEN];
 	ulong	perm;
@@ -25,7 +25,7 @@ typedef struct SDunit {
 //	Rendez	rendez;
 
 //	QLock	ctl;
-	ulong	sectors;
+	uvlong	sectors;
 	ulong	secsize;
 	SDpart*	part;
 	int	npart;			/* of valid partitions */
@@ -122,5 +122,5 @@ void tsleep(void*, int(*)(void*), void*, int);
 extern long sdbio(SDunit *unit, SDpart *pp, void *a, long len, vlong off);
 void	partition(SDunit*);
 SDpart* sdfindpart(SDunit*, char*);
-void	sdaddpart(SDunit*, char*, ulong, ulong);
+void	sdaddpart(SDunit*, char*, uvlong, uvlong);
 void*	sdmalloc(void*, ulong);

+ 2 - 0
sys/src/cmd/auth/factotum/rsa.c

@@ -136,6 +136,8 @@ rsawrite(Fsstate *fss, void *va, uint)
 			break;
 		}
 		m = strtomp(va, nil, 16, nil);
+		if(m == nil)
+			return failure(fss, "invalid challenge value");
 		m = rsadecrypt(s->key->priv, m, m);
 		s->resp = m;
 		fss->phase = CHaveResp;

+ 9 - 3
sys/src/cmd/usb/disk/disk.c

@@ -114,11 +114,13 @@ struct Ums {
 int exabyte, force6bytecmds;
 long starttime;
 long maxiosize = MaxIOsize;
+
 volatile int timedout;
 
 char *owner;
 
 static Ums ums;
+static int freakout;		/* flag: if true, drive freaks out if reset */
 
 extern int debug;
 
@@ -267,7 +269,8 @@ unstall(Ums *ums, int ep)
 static void
 umsreset(Ums *umsc, int doinit)
 {
-	statuscmd(umsc->setupfd, UMS_RESET_T, UMS_RESET, 0, 0, nil, 0);
+	if (!freakout)
+		statuscmd(umsc->setupfd, UMS_RESET_T, UMS_RESET, 0, 0, nil, 0);
 
 	unstall(umsc, umsc->epin|0x80);
 	unstall(umsc, umsc->epout);
@@ -407,7 +410,7 @@ findendpoints(Device *d, int *epin, int *epout)
 int
 timeoutok(void)
 {
-	if (0 /* freakout */)
+	if (freakout)
 		return 1;	/* OK; keep trying */
 	else if (1) {		/* TODO: set */
 		fprint(2,
@@ -947,7 +950,7 @@ void (*dprinter[])(Device *, int, ulong, void *b, int n) = {
 void
 usage(void)
 {
-	fprint(2, "usage: %s [-Dd] [-m mountpoint] [-s srvname] [ctrno id]\n",
+	fprint(2, "usage: %s [-Ddf] [-m mountpoint] [-s srvname] [ctrno id]\n",
 		argv0);
 	exits("usage");
 }
@@ -967,6 +970,9 @@ main(int argc, char **argv)
 	case 'd':
 		debug = Dbginfo;
 		break;
+	case 'f':
+		freakout++;
+		break;
 	case 'm':
 		mntname = EARGF(usage());
 		break;