Browse Source

Plan 9 from Bell Labs 2010-08-05

David du Colombier 13 years ago
parent
commit
7cbc6044da

+ 2 - 1
sys/lib/acid/port

@@ -508,7 +508,8 @@ defn next()
 
 defn dump(addr, n, fmt)
 {
-	loop 1, n do {
+	// see definition of dump in acid manual: it does n+1 iterations
+	loop 0, n do {
 		print(fmt(addr, 'X'), ": ");
 		addr = mem(addr, fmt);
 	}

+ 4 - 4
sys/man/4/cifs

@@ -2,9 +2,9 @@
 .SH NAME
 cifs - Microsoft™ Windows network filesystem client
 .SH SYNOPSIS
-.B aux/cifs
+.B cifs
 [
-.B -dDb
+.B -bdDiv
 ] [
 .B -a
 .I auth-method
@@ -23,7 +23,7 @@ cifs - Microsoft™ Windows network filesystem client
 ]
 .I host
 [
-.I share...
+.I share ...
 ]
 .SH DESCRIPTION
 .I Cifs
@@ -176,7 +176,7 @@ NetApp Filer compatibility has not yet been tested; there may not be any.
 .PP
 DFS support is unfinished.
 .PP
-Kerbros authentication is unfinished.
+Kerberos authentication is unfinished.
 .PP
 NetBios name resolution is not supported, though it is now rarely used.
 .PP

+ 3 - 1
sys/src/9/ip/ipifc.c

@@ -1150,7 +1150,9 @@ enum {
 int
 v6addrtype(uchar *addr)
 {
-	if(islinklocal(addr) ||
+	if(isv4(addr) || ipcmp(addr, IPnoaddr) == 0)
+		return unknownv6;
+	else if(islinklocal(addr) ||
 	    isv6mcast(addr) && (addr[1] & 0xF) <= Link_local_scop)
 		return linklocalv6;
 	else

+ 6 - 4
sys/src/cmd/cifs/cifs.c

@@ -62,6 +62,7 @@ cifshdr(Session *s, Share *sp, int cmd)
 	dfs = 0;
 	tid = NO_TID;
 	Active = IDLE_TIME;
+	werrstr("");
 	sign = s->secmode & SECMODE_SIGN_ENABLED? FL2_PACKET_SIGNATURES: 0;
 
 	if(sp){
@@ -195,7 +196,7 @@ print("MAC signature bad\n");
 		 * catch that too.
 		 */
 		if(p->s->seqrun && seq != p->seq && seq != 0){
-			werrstr("%ux != %ux bad sequence number", seq, p->seq);
+			print("%ux != %ux bad sequence number\n", seq, p->seq);
 			return -1;
 		}
 	}
@@ -205,7 +206,7 @@ print("MAC signature bad\n");
 		p->s->uid = uid;
 
 	if(flags2 & FL2_NT_ERRCODES){
-		/* is it a real error rather than info/warning/chatter */
+		/* is it a real error rather than info/warning/chatter? */
 		if((err & 0xF0000000) == 0xC0000000){
 			werrstr("%s", nterrstr(err));
 			return -1;
@@ -226,11 +227,12 @@ print("MAC signature bad\n");
  * more modern ones, so we don't give them the choice.
  */
 int
-CIFSnegotiate(Session *s, long *svrtime, char *domain, int domlen, char *cname, int cnamlen)
+CIFSnegotiate(Session *s, long *svrtime, char *domain, int domlen, char *cname,
+	int cnamlen)
 {
 	int d, i;
 	char *ispeak = "NT LM 0.12";
-	char *dialects[] = {
+	static char *dialects[] = {
 //		{ "PC NETWORK PROGRAM 1.0"},
 //		{ "MICROSOFT NETWORKS 1.03"},
 //		{ "MICROSOFT NETWORKS 3.0"},

+ 7 - 4
sys/src/cmd/cifs/cifs.h

@@ -472,14 +472,16 @@ typedef struct {
 	char	*user;
 } Fileinfo;
 
+extern int Active;
+extern int Checkcase;
 extern int Dfstout;
 extern char *Debug;
-extern Share Ipc;
+extern char *Host;
 extern Session *Sess;
-extern int Active;
+extern Share Ipc;
 
-Share Shares[MAX_SHARES];
-int Nshares;
+extern Share Shares[MAX_SHARES];
+extern int Nshares;
 
 /* main.c */
 Qid	mkqid(char *, int, long, int, long);
@@ -520,6 +522,7 @@ char	*mapfile(char *);
 int	mapshare(char *, Share **);
 int	redirect(Session *, Share *s, char *);
 int	dfscacheinfo(Fmt *);
+char	*trimshare(char *);
 
 /* doserrstr.c */
 char	*doserrstr(uint);

+ 4 - 4
sys/src/cmd/cifs/dfs.c

@@ -86,7 +86,7 @@ dfscacheinfo(Fmt *f)
 	return 0;
 }
 
-static char *
+char *
 trimshare(char *s)
 {
 	char *p;
@@ -211,7 +211,7 @@ remap(Dfscache *cp, Refer *re)
 	long rtt;
 	char *p, *a[4];
 	enum {
-		Host = 1,
+		Hostname = 1,
 		Shre = 2,
 		Path = 3,
 		Rtt_tol = 10,
@@ -234,7 +234,7 @@ remap(Dfscache *cp, Refer *re)
 			print("	remap nfields=%d\n", n);
 		return -1;
 	}
-	if((rtt = ping(a[Host], Dfstout)) == -1){
+	if((rtt = ping(a[Hostname], Dfstout)) == -1){
 		if(Debug && strstr(Debug, "dfs") != nil)
 			print("	remap ping failed\n");
 		return -1;
@@ -257,7 +257,7 @@ remap(Dfscache *cp, Refer *re)
 	cp->rtt = rtt;
 	cp->prox = re->prox;
 	cp->expiry = time(nil)+re->ttl;
-	cp->host = estrdup9p(a[Host]);
+	cp->host = estrdup9p(a[Hostname]);
 	cp->share = estrdup9p(trimshare(a[Shre]));
 	cp->path = estrdup9p(a[Path]);
 	if(Debug && strstr(Debug, "dfs") != nil)

+ 1 - 1
sys/src/cmd/cifs/mkfile

@@ -4,7 +4,7 @@
 
 TARG=cifs
 HFILES=cifs.h
-BIN=/$objtype/bin/aux
+BIN=/$objtype/bin
 OFILES= main.$O transnt.$O trans2.$O trans.$O cifs.$O 	\
 	netbios.$O pack.$O info.$O fs.$O sid2name.$O	\
 	misc.$O nterrstr.$O doserrstr.$O raperrstr.$O 	\