]> git.lizzy.rs Git - plan9front.git/commitdiff
fix fuckup
authorglenda <glenda@cirno.localdomain>
Tue, 25 Aug 2015 09:35:10 +0000 (09:35 +0000)
committerglenda <glenda@cirno.localdomain>
Tue, 25 Aug 2015 09:35:10 +0000 (09:35 +0000)
42 files changed:
lib/namespace.httpd
lib/vgadb
rc/bin/9fs
rc/bin/E [deleted file]
rc/bin/ape/egrep
rc/bin/ape/fgrep
rc/bin/ape/ln
rc/bin/cpurc
rc/bin/service/tcp17010
rc/bin/sysupdate
sys/include/libsec.h
sys/lib/python/mercurial/store.py
sys/lib/python/mercurial/util.py
sys/src/9/boot/boot.h
sys/src/9/boot/bootfs.proto
sys/src/9/boot/bootrc
sys/src/9/boot/net.rc
sys/src/9/pc/etheriwl.c
sys/src/9/port/chan.c
sys/src/9/port/devssl.c
sys/src/9/port/devtls.c
sys/src/9/port/proc.c
sys/src/9/port/syscallfmt.c
sys/src/cmd/auth/lib/okpasswd.c
sys/src/cmd/aux/consolefs.c
sys/src/cmd/cpu.c
sys/src/cmd/gs/amd64.h
sys/src/cmd/ip/httpd/sendfd.c
sys/src/cmd/ip/tftpd.c
sys/src/cmd/mk/run.c
sys/src/libc/fmt/snprint.c
sys/src/libcontrol/control.c
sys/src/libdraw/newwindow.c
sys/src/libmach/vdb.c
sys/src/libsec/port/const.c [deleted file]
sys/src/libsec/port/ecc.c
sys/src/libsec/port/mkfile
sys/src/libsec/port/thumb.c
sys/src/libsec/port/tlshand.c
sys/src/libsec/port/x509.c
sys/src/libthread/id.c
sys/src/libthread/main.c

index dcde8ed7ebb9853f0c3dd930bd36db856df7dd66..74d4faaeb21730b5db42e5f362dbb73efa019456 100644 (file)
@@ -1,10 +1,39 @@
-bind /cfg /usr/web/cfg
-bind /386 /usr/web/386
-bind /amd64 /usr/web/amd64
+# we start with the namespace of the console...
 
-bind /sys/src/9 /usr/web/sys/src/9
+# man2html expects man pages under /sys/man
+mount #s/boot /n/emelieother other
+bind /n/emelieother/plan9/sys/man /usr/web/sys/man
+#bind /n/emelieother/plan9/sys/doc /usr/web/sys/doc
+#bind /sys/man /usr/web/sys/man
+bind /sys/doc /usr/web/sys/doc
 
-mount #s/etcd /n/etcd
-bind /n/etcd/www /usr/web/etc
+# just so people will find something under plan9
+bind /usr/web/plan9dist /usr/web/plan9
+
+# users
+bind /usr/mike/www /usr/web/incoming/mike
+
+# netlib
+bind /netlib/pub /usr/web/netlib
+mount -b #s/netlib.depend.pub /usr/web/netlib.depend
+# don't need to bind to /usr/web/math etc. because of /sys/lib/http-rewrite
+
+# who what why when where
+mount /srv/alice /n/alice
+bind -b /n/alice/cm /usr/web/cm
+bind /usr/web/cm/who /usr/web/who
+bind -b /usr/web/cm/physics/who /usr/web/who
+bind -b /usr/web/cm/blrsv/who /usr/web/who
+bind -b /usr/web/cm/ss/who /usr/web/who
+bind -b /usr/web/cm/ms/who /usr/web/who
+bind -b /usr/web/cm/china/who /usr/web/who
+bind -b /usr/web/cm/cs/who /usr/web/who
+bind /usr/web/cm/ms/what/wavelet /usr/web/wavelet
+
+# formerly ftp.research.bell-labs.com
+bind -b /n/alice/usr/ftp /usr/web/dist
+
+# wiki (questions to rsc)
+mount -b #s/wiki.plan9 /usr/web/wiki/plan9
 
 # httpd will bind /usr/web onto /
index 5b9e8323ad8b3e34b5710c4fdc2205449450fd9f..5d03140c9fca3ee30ce3e9be492adbddedb4ab09 100644 (file)
--- a/lib/vgadb
+++ b/lib/vgadb
@@ -435,7 +435,6 @@ ctlr
        ctlr=geode linear=1
 
 ctlr
-       vid=0x8086 did=0x0126   # Intel 2nd Gen Core
        vid=0x8086 did=0x0166   # Intel 3rd Gen Core
        vid=0x8086 did=0x2a42   # Intel 4 Series Mobile
        link=vga
@@ -1695,16 +1694,6 @@ s2231wD=1680x1050
        vrs=1053 vre=1059 vt=1080
        hsync=+ vsync=-
 
-#
-# Lenovo T420 (LCD) LVDS
-#
-#t420=1366x768         # 60Hz
-#      clock=69.3
-#      shb=1398 ehb=1430 ht=1470
-#      vrs=771 vre=776 vt=786
-#      hsync=- vsync=- 
-#      lcd=1
-
 #
 # Lenovo X230 (LCD) LVDS
 #
index 1a06cab857d94289dc74d5dd42a1048a6171e184..5781206805cb05497a711ed8479b0553127e499e 100755 (executable)
@@ -71,12 +71,6 @@ case *.vac
        vacfs -m /n/`{basename $1 .vac} `{cat $score}
 case wiki
        srv -m 'net!plan9.bell-labs.com!wiki' wiki /mnt/wiki
-case ingenic
-       ftpfs -qKm /n/ingenic -a $user@$sysname ftp.ingenic.com
-case kernel
-       ftpfs -qKm /n/kernel -a $user@sysname ftp.kernel.org
-case qrstuv
-       srv -nqmC tcp!fs.9paste.net qrstuv
 case *
        switch($#*){
        case 1
diff --git a/rc/bin/E b/rc/bin/E
deleted file mode 100755 (executable)
index e91d4f6..0000000
--- a/rc/bin/E
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/rc
-# E file - B file, wait until it changes, exit
-rfork e
-if (! ~ $#* 1) {
-       echo usage: $0 file >[1=2]
-       exit usage
-}
-if (! test -e $1) {
-       echo $0: $1: no such file >[1=2]
-       exit no-file
-}
-otm = `{mtime $1 | awk '{print $1}'}
-B $1
-while (~ $otm `{mtime $1 | awk '{print $1}'})
-       sleep 1
-exit ''
index 4a445c35ecaabafa5cb7b95f79ba1df9efa2be1e..ffd1b2dc3366c850570ef9a09660a5cc67596033 100755 (executable)
@@ -1,2 +1,2 @@
 #!/bin/rc
-exec /$objtype/bin/ape/grep -E $*
+exec /rc/bin/ape/grep $*
index 99853d1683c75514f939320812fd09f90058ff81..ffd1b2dc3366c850570ef9a09660a5cc67596033 100755 (executable)
@@ -1,2 +1,2 @@
 #!/bin/rc
-exec /$objtype/bin/ape/grep -F $*
+exec /rc/bin/ape/grep $*
index d48d0326a9b6e37f6adb53ffb37eed5a07d6b9a1..bb5da4a44147524d0c1f9927561f9ca592d907e6 100755 (executable)
@@ -20,4 +20,4 @@ if(~ $force n && test -e $2){
        exit 'usage'
 }
 
-exec cp -R $1 $2
+exec cp -gux $1 $2
index af3adc10c4af5b3e67382d65db22ef9d63728e6d..d20cf07e181b47508ed982eca25d199ee18d79bc 100755 (executable)
@@ -55,22 +55,18 @@ if(test -r /net/ipselftab){
        }
 }
 
-if(! test -e /net/dns){
-       echo dns...
+if(! test -e /net/dns)
        ndb/dns -r
-}
 
-echo timesync...
 if(! ps|grep -s timesync){
        if(~ $#ntp 0)
                . <{ndb/ipquery sys $sysname ntp | sed 's, +,\n,g'}
        if(~ $#ntp 0)
                ntp=pool.ntp.org
-       #aux/timesync -n $ntp
+       aux/timesync -n $ntp
        sleep 2
 }
 
-echo listen...
 if(~ $#auth 0){
        auth=`{ndb/query sys $sysname auth}
        . <{ndb/ipquery sys $sysname auth | sed 's, +,\n,g'}
@@ -93,7 +89,6 @@ case *
 if(test -f /dev/apm)
        aux/apm
 
-echo cpustart...
 if(test -e /cfg/$sysname/cpustart)
        . /cfg/$sysname/cpustart
 
index f25b7aa23ad9fdbf439f9537e2fbc248410b3fc6..8747639f13e4f8bfd0ef497a5fa9d228f6045552 100755 (executable)
@@ -1,4 +1,3 @@
 #!/bin/rc
-#netdir=`{echo $3 | sed 's;/[0-9]+$;!*!0;'}
-#exec /bin/cpu -A $netdir -R
-exec /bin/cpu -R
+netdir=`{echo $3 | sed 's;/[0-9]+$;!*!0;'}
+exec /bin/cpu -A $netdir -R
index de08d28a2683326b1be1bec2baa9100ae66cbeb9..e0420b50fe4e6a308aa962d4d24a9eb4b2a8f937 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/rc
 rfork en
-
+source=https://code.9front.org/hg/plan9front
 cd /
 if(! test -d .hg)
        bind -ac /dist/plan9front /
index d8d4852d5cbf0d0a43b838f750f8c5c594fcc8fb..60f25f9441a08893fe8cc20b3321a74fd02cff33 100644 (file)
@@ -403,16 +403,6 @@ PEMChain*readcertchain(char *filename);
 int aes_xts_encrypt(ulong tweak[], ulong ecb[],  vlong sectorNumber, uchar *input, uchar *output, ulong len) ;
 int aes_xts_decrypt(ulong tweak[], ulong ecb[], vlong sectorNumber, uchar *input, uchar *output, ulong len);
 
-/*
- * ECC
- */
-
-/* ids for ecnamedcurve */
-enum
-{
-       Secp256r1       = 23,
-};
-
 typedef struct ECpoint{
        int inf;
        mpint *x;
@@ -434,15 +424,10 @@ typedef struct ECdomain{
        mpint *h;
 } ECdomain;
 
-ECdomain*      ecnamedcurve(int);
-void   ecfreepoint(ECpoint*);
-void   ecfreepriv(ECpriv*);
-void   ecfreedomain(ECdomain*);
 void   ecassign(ECdomain *, ECpoint *old, ECpoint *new);
 void   ecadd(ECdomain *, ECpoint *a, ECpoint *b, ECpoint *s);
 void   ecmul(ECdomain *, ECpoint *a, mpint *k, ECpoint *s);
-ECpoint*       betoec(ECdomain*, uchar*, int, ECpoint*);
-ECpoint*       strtoec(ECdomain *, char *, char **, ECpoint*);
+ECpoint*       strtoec(ECdomain *, char *, char **, ECpoint *);
 ECpriv*        ecgen(ECdomain *, ECpriv*);
 int    ecverify(ECdomain *, ECpoint *);
 int    ecpubverify(ECdomain *, ECpub *);
@@ -472,8 +457,5 @@ mpint* dh_new(DHstate *dh, mpint *p, mpint *g);
 /* calculate shared key: k = pub ^ x % p */
 mpint* dh_finish(DHstate *dh, mpint *pub);
 
-/* constant-time comparison similar to memcmp(2) */
-int constcmp(uchar *x, uchar *y, int len);
-
 /* password-based key derivation function 2 (RFC 2898) */
 void pbkdf2_hmac_sha1(uchar *p, ulong plen, uchar *s, ulong slen, ulong rounds, uchar *d, ulong dlen);
index 5a4238dd6150bf1c722069a4dd3e7fbb68892fef..eec9dd5193a8f947a6e156b74ef17ad5cde098ee 100644 (file)
@@ -246,7 +246,7 @@ class fncache(object):
         '''fill the entries from the fncache file'''
         self.entries = set()
         try:
-            fp = self.opener('fncache', mode='r')
+            fp = self.opener('fncache', mode='rb')
         except IOError:
             # skip nonexistent file
             return
index 777b345dd8ad4bdb8761efea4da1d867881e30e9..02ff43d7f0a5bfb7b2e6ea32706c72d9bd7565a2 100644 (file)
@@ -763,7 +763,7 @@ def mktempcopy(name, emptyok=False, createmode=None):
         return temp
     try:
         try:
-            ifp = posixfile(name, "r")
+            ifp = posixfile(name, "rb")
         except IOError, inst:
             if inst.errno == errno.ENOENT:
                 return temp
index db71309225f2d83b86a49d7e956c34cfc873d385..c72622807539a5d2d06e49937fdb862902300587 100644 (file)
@@ -1,5 +1,5 @@
 enum {
-       Debug = 1,
+       Debug = 0,
 };
 
 extern void    fatal(char*);
index a9e973a73f542ca846c13357f566214384ddad81..02ca929793f3fe7eaa79248cb65a8c9655b8ce87 100644 (file)
@@ -30,15 +30,12 @@ $objtype
                ndb
                        dnsgetip
                hjfs
-               p
-               ps
                rc
                rm
                sed
                sleep
                srv
                test
-               tlsclient
                unmount
                nusb
                        usbd
index eb451f2a48ccc1a99cae768f843cd70490c3de58..208122f7278aa98898bc1ad94530e4f09b49fa1f 100755 (executable)
@@ -66,7 +66,7 @@ fn main{
                if(~ $#nobootprompt 0){
                        echo
                        showlocaldevs
-                       ask bootargs ' is (tcp, tcptls, il, local!device)' $"bootargs
+                       ask bootargs ' is (tcp, il, local!device)' $"bootargs
                }
                if not bootargs=$nobootprompt
                nobootprompt=()
index a3e673834db5945370d77ffd9f5412f2767191a9..fb399ef9732303c92ff005618e622a758a11129c 100755 (executable)
@@ -48,12 +48,6 @@ fn connecttcp{
        fs=$fs(1)
 }
 
-fn connecttcptls{
-       while(! ~ $#fs 0 && ! srv -qe 'tlsclient -t <{echo $fsthumb} tcp!'^$fs(1)^!5564 boot)
-               fs=$fs(2-);
-       fs=$fs(1)
-}
-
 fn connectil{
        while(! ~ $#fs 0 && ! srv -q il!$fs(1)^!17008 boot)
                fs=$fs(2-);
@@ -61,7 +55,5 @@ fn connectil{
 }
 
 mtcp=(confignet connecttcp)
-mtcptls=(confignet connecttcptls)
 mil=(confignet connectil)
-mt=(mtcp mtcptls mil $mt)
-
+mt=(mtcp mil $mt)
index ad22fa879a035633a0138bd09875b64f17f9c77f..0077061bec3893fa6a3e6578ee151981d0b92203 100644 (file)
@@ -2164,10 +2164,8 @@ iwlrecover(void *arg)
                        if(ctlr->power)
                                poweroff(ctlr);
 
-                       if((csr32r(ctlr, Gpc) & RfKill) == 0){
-                               print("#l%d: rfkill on, not resetting\n", edev->ctlrno);
+                       if((csr32r(ctlr, Gpc) & RfKill) == 0)
                                break;
-                       }
 
                        if(reset(ctlr) != nil)
                                break;
@@ -2449,7 +2447,6 @@ iwlpci(void)
                case 0x4238:    /* Centrino Ultimate-N 6300 variant 2 */
                case 0x08ae:    /* Centrino Wireless-N 100 */
                case 0x0083:    /* Centrino Wireless-N 1000 */
-               case 0x0891:    /* Centrino Wireless-N 2200 */
                case 0x0887:    /* Centrino Wireless-N 2230 */
                case 0x0888:    /* Centrino Wireless-N 2230 */
                        break;
index add9ece907ddc079b6ea3b39d98054c4758edc73..7e87b911072749f9a9574be07e030420faf54692 100644 (file)
@@ -152,10 +152,8 @@ chandevreset(void)
        int i;
 
        todinit();      /* avoid later reentry causing infinite recursion */
-       for(i=0; devtab[i] != nil; i++){
-               //print("%c: %s: reset\n", devtab[i]->dc, devtab[i]->name);
+       for(i=0; devtab[i] != nil; i++)
                devtab[i]->reset();
-       }
 }
 
 static void closeproc(void*);
index 829dfe2e3cd65a0e3a02e32533d879e67d5913b0..7e9133e8ef9563c86378158524969d1d03fd49a0 100644 (file)
@@ -1439,7 +1439,7 @@ checkdigestb(Dstate *s, Block *bin)
        *p = n;
        (*s->hf)(msgid, 4, digest, &ss);
 
-       if(constcmp(digest, bin->rp, s->diglen) != 0)
+       if(memcmp(digest, bin->rp, s->diglen) != 0)
                error("bad digest");
 }
 
index ad6750a36ca922d177dfbe207c1f9a623233a806..6b728dba5cca810f0613c63a77d83ff885eca4d5 100644 (file)
@@ -825,7 +825,7 @@ if(tr->debug) pdump(unpad_len, p, "decrypted:");
                (*tr->packMac)(in->sec, in->sec->mackey, seq, header, p, len, hmac);
                if(unpad_len < in->sec->maclen)
                        rcvError(tr, EBadRecordMac, "short record mac");
-               if(constcmp(hmac, p+len, in->sec->maclen) != 0)
+               if(memcmp(hmac, p+len, in->sec->maclen) != 0)
                        rcvError(tr, EBadRecordMac, "record mac mismatch");
                b->rp = p;
                b->wp = p+len;
index 03eb69da47e5f96f0004c91d762bb51f5174b7e9..eadca93ec267f133c7804114f99c2e5527c33d45 100644 (file)
@@ -173,9 +173,6 @@ sched(void)
        up->state = Running;
        up->mach = MACHP(m->machno);
        m->proc = up;
-       //print("poolcheck sched %s\n", p->text);
-       //#include <pool.h>
-       //poolcheck(mainmem);
        mmuswitch(up);
        gotolabel(&up->sched);
 }
index 26f2fd245b095f169daa62c52db4a2d009fadbd6..5ae5b31abb5b552eafdd4570a64fd3b3bd383d42 100644 (file)
@@ -114,7 +114,7 @@ syscallfmt(ulong syscallno, uintptr pc, va_list list)
                a = va_arg(list, char*);
                fmtuserstring(&fmt, a, "");
                argv = va_arg(list, char**);
-               evenaddr((uintptr)argv);
+               evenaddr(PTR2UINT(argv));
                for(;;){
                        validaddr((uintptr)argv, sizeof(char**), 0);
                        a = *(char **)argv;
index 5512e559aabf390e07cc270c72960dd84fb04324..b904db5aa63ed97c822c47735a676eb001791ed9 100644 (file)
@@ -10,6 +10,7 @@ char *trivial[] = {
        "change me",
        "passwd",
        "no passwd",
+       "anonymous",
        0
 };
 
index 0d4146bc6c714ef42c750d6604a16764c92fe504..ebc5e1230b855a425ee05bf3c4ced77a50322a6a 100644 (file)
@@ -5,7 +5,6 @@
 #include <bio.h>
 #include <ndb.h>
 #include <thread.h>
-#include <9p.h>
 
 /*
  *  This fs presents a 1 level file system.  It contains
@@ -13,7 +12,7 @@
  */
 
 typedef struct Console Console;
-typedef struct Aux Aux;
+typedef struct Fid Fid;
 typedef struct Request Request;
 typedef struct Reqlist Reqlist;
 typedef struct Fs Fs;
@@ -29,7 +28,7 @@ enum
 
        Bufsize=        32*1024,        /* chars buffered per reader */
        Maxcons=        64,             /* maximum consoles */
-       Nhash=          64,             /* Aux hash buckets */
+       Nhash=          64,             /* Fid hash buckets */
 };
 
 #define TYPE(x)                (((ulong)x.path) & 0xf)
@@ -39,7 +38,7 @@ enum
 struct Request
 {
        Request *next;
-       Aux     *fid;
+       Fid     *fid;
        Fs      *fs;
        Fcall   f;
        uchar   buf[1];
@@ -52,11 +51,11 @@ struct Reqlist
        Request *last;
 };
 
-struct Aux
+struct Fid
 {
        Lock;
-       Aux     *next;                  /* hash list */
-       Aux     *cnext;                 /* list of Aux's on a console */
+       Fid     *next;                  /* hash list */
+       Fid     *cnext;                 /* list of Fid's on a console */
        int     fid;
        int     ref;
 
@@ -94,7 +93,7 @@ struct Console
        int     cfd;
        int     sfd;
 
-       Aux     *flist;                 /* open fids to broadcast to */
+       Fid     *flist;                 /* open fids to broadcast to */
 };
 
 struct Fs
@@ -103,7 +102,7 @@ struct Fs
 
        int     fd;                     /* to kernel mount point */
        int     messagesize;
-       Aux     *hash[Nhash];
+       Fid     *hash[Nhash];
        Console *cons[Maxcons];
        int     ncons;
 };
@@ -113,30 +112,30 @@ extern    Fs*     fsmount(char*);
 
 extern void    fsreader(void*);
 extern void    fsrun(void*);
-extern Aux*    fsgetfid(Fs*, int);
-extern void    fsputfid(Fs*, Aux*);
+extern Fid*    fsgetfid(Fs*, int);
+extern void    fsputfid(Fs*, Fid*);
 extern int     fsdirgen(Fs*, Qid, int, Dir*, uchar*, int);
 extern void    fsreply(Fs*, Request*, char*);
-extern void    fskick(Fs*, Aux*);
+extern void    fskick(Fs*, Fid*);
 extern int     fsreopen(Fs*, Console*);
 
-extern void    fsversion(Fs*, Request*, Aux*);
-extern void    fsflush(Fs*, Request*, Aux*);
-extern void    fsauth(Fs*, Request*, Aux*);
-extern void    fsattach(Fs*, Request*, Aux*);
-extern void    fswalk(Fs*, Request*, Aux*);
-extern void    fsclwalk(Fs*, Request*, Aux*);
-extern void    fsopen(Fs*, Request*, Aux*);
-extern void    fscreate(Fs*, Request*, Aux*);
-extern void    fsread(Fs*, Request*, Aux*);
-extern void    fswrite(Fs*, Request*, Aux*);
-extern void    fsclunk(Fs*, Request*, Aux*);
-extern void    fsremove(Fs*, Request*, Aux*);
-extern void    fsstat(Fs*, Request*, Aux*);
-extern void    fswstat(Fs*, Request*, Aux*);
-
-
-void   (*fcall[])(Fs*, Request*, Aux*) =
+extern void    fsversion(Fs*, Request*, Fid*);
+extern void    fsflush(Fs*, Request*, Fid*);
+extern void    fsauth(Fs*, Request*, Fid*);
+extern void    fsattach(Fs*, Request*, Fid*);
+extern void    fswalk(Fs*, Request*, Fid*);
+extern void    fsclwalk(Fs*, Request*, Fid*);
+extern void    fsopen(Fs*, Request*, Fid*);
+extern void    fscreate(Fs*, Request*, Fid*);
+extern void    fsread(Fs*, Request*, Fid*);
+extern void    fswrite(Fs*, Request*, Fid*);
+extern void    fsclunk(Fs*, Request*, Fid*);
+extern void    fsremove(Fs*, Request*, Fid*);
+extern void    fsstat(Fs*, Request*, Fid*);
+extern void    fswstat(Fs*, Request*, Fid*);
+
+
+void   (*fcall[])(Fs*, Request*, Fid*) =
 {
        [Tflush]        fsflush,
        [Tversion]      fsversion,
@@ -200,7 +199,7 @@ Ndb *db;
  *  any request that can get queued for a delayed reply
  */
 Request*
-alloccreq(Fs *fs, int bufsize)
+allocreq(Fs *fs, int bufsize)
 {
        Request *r;
 
@@ -344,10 +343,10 @@ fsdirgen(Fs *fs, Qid parent, int i, Dir *d, uchar *buf, int nbuf)
 Fs*
 fsmount(char *mntpt)
 {
-       int pfd[2];
-
        Fs *fs;
-       Dir d;
+       int pfd[2], srv;
+       char buf[32];
+       int n;
        static void *v[2];
 
        fs = emalloc(sizeof(Fs));
@@ -360,19 +359,21 @@ fsmount(char *mntpt)
        v[1] = pfd;
        proccreate(fsrun, v, 16*1024);
 
-       if(postfd("consoles", pfd[1]) < 0)
-               sysfatal("post: %r");
+       /* Typically mounted before /srv exists */
+       if(access("#s/consoles", AEXIST) < 0){
+               srv = create("#s/consoles", OWRITE, 0666);
+               if(srv < 0)
+                       fatal("post: %r");
 
-       nulldir(&d);
-       d.mode = 0666;
-       dirwstat("/srv/consoles", &d);
+               n = sprint(buf, "%d", pfd[1]);
+               if(write(srv, buf, n) < 0)
+                       fatal("write srv: %r");
 
-       if(mntpt){
-               if(amount(pfd[1], mntpt, MBEFORE, "") == -1)
-                       sysfatal("mount %s: %r", mntpt);
-       }else
-               close(pfd[1]);
+               close(srv);
+       }
 
+       mount(pfd[1], -1, mntpt, MBEFORE, "");
+       close(pfd[1]);
        return fs;
 }
 
@@ -515,7 +516,7 @@ console(Fs* fs, char *name, char *dev, int speed, int cronly, int ondemand)
  *  the reader may miss data but always sees an in order sequence.
  */
 void
-fromconsole(Aux *f, char *p, int n)
+fromconsole(Fid *f, char *p, int n)
 {
        char *rp, *wp, *ep;
        int pass;
@@ -551,10 +552,10 @@ fromconsole(Aux *f, char *p, int n)
  *  broadcast a list of members to all listeners
  */
 void
-bcastmembers(Fs *fs, Console *c, char *msg, Aux *f)
+bcastmembers(Fs *fs, Console *c, char *msg, Fid *f)
 {
        int n;
-       Aux *fl;
+       Fid *fl;
        char buf[512];
 
        sprint(buf, "[%s%s", msg, f->user);
@@ -589,7 +590,7 @@ void
 fsreader(void *v)
 {
        int n;
-       Aux *fl;
+       Fid *fl;
        char buf[1024];
        Fs *fs;
        Console *c;
@@ -652,6 +653,8 @@ readdb(Fs *fs)
        }
 }
 
+int dbmtime;
+
 /*
  *  a request processor (one per Fs)
  */
@@ -660,7 +663,8 @@ fsrun(void *v)
 {
        int n, t;
        Request *r;
-       Aux *f;
+       Fid *f;
+       Dir *d;
        void **a = v;
        Fs* fs;
        int *pfd;
@@ -668,12 +672,15 @@ fsrun(void *v)
        fs = a[0];
        pfd = a[1];
        fs->fd = pfd[0];
-       readdb(fs);
        notify(handler);
        for(;;){
-               if(ndbchanged(db))
+               d = dirstat(consoledb);
+               if(d != nil && d->mtime != dbmtime){
+                       dbmtime = d->mtime;
                        readdb(fs);
-               r = alloccreq(fs, messagesize);
+               }
+               free(d);
+               r = allocreq(fs, messagesize);
                while((n = read9pmsg(fs->fd, r->buf, messagesize)) == 0)
                        ;
                if(n < 0)
@@ -698,10 +705,10 @@ fsrun(void *v)
        }
 }
 
-Aux*
+Fid*
 fsgetfid(Fs *fs, int fid)
 {
-       Aux *f, *nf;
+       Fid *f, *nf;
 
        lock(fs);
        for(f = fs->hash[fid%Nhash]; f; f = f->next){
@@ -712,7 +719,7 @@ fsgetfid(Fs *fs, int fid)
                }
        }
 
-       nf = emalloc(sizeof(Aux));
+       nf = emalloc(sizeof(Fid));
        nf->next = fs->hash[fid%Nhash];
        fs->hash[fid%Nhash] = nf;
        nf->fid = fid;
@@ -724,9 +731,9 @@ fsgetfid(Fs *fs, int fid)
 }
 
 void
-fsputfid(Fs *fs, Aux *f)
+fsputfid(Fs *fs, Fid *f)
 {
-       Aux **l, *nf;
+       Fid **l, *nf;
 
        lock(fs);
        if(--f->ref > 0){
@@ -744,13 +751,13 @@ fsputfid(Fs *fs, Aux *f)
 }
 
 void
-fsauth(Fs *fs, Request *r, Aux*)
+fsauth(Fs *fs, Request *r, Fid*)
 {
        fsreply(fs, r, "consolefs: authentication not required");
 }
 
 void
-fsversion(Fs *fs, Request *r, Aux*)
+fsversion(Fs *fs, Request *r, Fid*)
 {
 
        if(r->f.msize < 256){
@@ -771,7 +778,7 @@ fsversion(Fs *fs, Request *r, Aux*)
 }
 
 void
-fsflush(Fs *fs, Request *r, Aux *f)
+fsflush(Fs *fs, Request *r, Fid *f)
 {
        Request *or;
 
@@ -779,15 +786,12 @@ fsflush(Fs *fs, Request *r, Aux *f)
        if(or != nil){
                fsputfid(fs, or->fid);
                free(or);
-               fsreply(fs, r, nil);
-       } else {
-               fsputfid(fs, f);
-               free(r);
        }
+       fsreply(fs, r, nil);
 }
 
 void
-fsattach(Fs *fs, Request *r, Aux *f)
+fsattach(Fs *fs, Request *r, Fid *f)
 {
        f->qid.type = QTDIR;
        f->qid.path = QID(0, Ttopdir);
@@ -809,13 +813,13 @@ fsattach(Fs *fs, Request *r, Aux *f)
 }
 
 void
-fswalk(Fs *fs, Request *r, Aux *f)
+fswalk(Fs *fs, Request *r, Fid *f)
 {
        char *name;
        Dir d;
        int i, n, nqid, nwname;
        Qid qid, wqid[MAXWELEM];
-       Aux *nf;
+       Fid *nf;
        char *err;
 
        if(f->attached == 0){
@@ -928,7 +932,7 @@ int m2p[] ={
 void
 bcastmsg(Fs *fs, Console *c, char *msg, int n)
 {
-       Aux *fl;
+       Fid *fl;
 
        for(fl = c->flist; fl; fl = fl->cnext){
                fromconsole(fl, msg, n);
@@ -937,7 +941,7 @@ bcastmsg(Fs *fs, Console *c, char *msg, int n)
 }
 
 void
-fsopen(Fs *fs, Request *r, Aux *f)
+fsopen(Fs *fs, Request *r, Fid *f)
 {
        int mode;
        Console *c;
@@ -1005,13 +1009,13 @@ fsopen(Fs *fs, Request *r, Aux *f)
 }
 
 void
-fscreate(Fs *fs, Request *r, Aux*)
+fscreate(Fs *fs, Request *r, Fid*)
 {
        fsreply(fs, r, Eperm);
 }
 
 void
-fsread(Fs *fs, Request *r, Aux *f)
+fsread(Fs *fs, Request *r, Fid *f)
 {
        uchar *p, *e;
        int i, m, off;
@@ -1074,7 +1078,7 @@ fsread(Fs *fs, Request *r, Aux *f)
 }
 
 void
-fswrite(Fs *fs, Request *r, Aux *f)
+fswrite(Fs *fs, Request *r, Fid *f)
 {
        int i, eol = 0;
 
@@ -1137,9 +1141,9 @@ fswrite(Fs *fs, Request *r, Aux *f)
 }
 
 void
-fsclunk(Fs *fs, Request *r, Aux *f)
+fsclunk(Fs *fs, Request *r, Fid *f)
 {
-       Aux **l, *fl;
+       Fid **l, *fl;
        Request *nr;
 
        if(f->open && TYPE(f->qid) == Qdata){
@@ -1166,13 +1170,13 @@ fsclunk(Fs *fs, Request *r, Aux *f)
 }
 
 void
-fsremove(Fs *fs, Request *r, Aux*)
+fsremove(Fs *fs, Request *r, Fid*)
 {
        fsreply(fs, r, Eperm);
 }
 
 void
-fsstat(Fs *fs, Request *r, Aux *f)
+fsstat(Fs *fs, Request *r, Fid *f)
 {
        int i, n;
        Qid q;
@@ -1194,7 +1198,7 @@ fsstat(Fs *fs, Request *r, Aux *f)
 }
 
 void
-fswstat(Fs *fs, Request *r, Aux*)
+fswstat(Fs *fs, Request *r, Fid*)
 {
        fsreply(fs, r, Eperm);
 }
@@ -1222,7 +1226,7 @@ fsreply(Fs *fs, Request *r, char *err)
  *  called whenever input or a read request has been received
  */
 void
-fskick(Fs *fs, Aux *f)
+fskick(Fs *fs, Fid *f)
 {
        Request *r;
        char *p, *rp, *wp, *ep;
index edcf8bd50791eee39e63a47bf2104a24b532bfa6..1994aaf282be381d4ff6823d1fcad69fa986d976 100644 (file)
@@ -224,7 +224,7 @@ main(int argc, char **argv)
        if(system == nil) {
                p = getenv("cpu");
                if(p == 0)
-                       p = "$cpu";
+                       fatal("set $cpu");
                system = p;
        }
 
index 80ac5906c042a798327c377477d16ebaf81247bd..ce16fed640bc51d278cfdd3d12ec15d72d5cd985 100644 (file)
 
         /* ---------------- Cache sizes ---------------- */
 
-#define ARCH_CACHE1_SIZE 2097152
+#define ARCH_CACHE1_SIZE 131072
 #define ARCH_CACHE2_SIZE 4194304
 
         /* ---------------- Miscellaneous ---------------- */
 
 #define ARCH_IS_BIG_ENDIAN 0
-#define ARCH_PTRS_ARE_SIGNED 1
+#define ARCH_PTRS_ARE_SIGNED 0
 #define ARCH_FLOATS_ARE_IEEE 1
 #define ARCH_ARITH_RSHIFT 2
 #define ARCH_CAN_SHIFT_FULL_LONG 0
index c1850ea75f64baffee8609597e1f0af719088f55..b3ef1c13b082c94326619e701ff559b27584df3e 100644 (file)
@@ -240,10 +240,10 @@ static void
 printtype(Hio *hout, HContent *type, HContent *enc)
 {
        hprint(hout, "Content-Type: %s/%s", type->generic, type->specific);
-
+/*
        if(cistrcmp(type->generic, "text") == 0)
                hprint(hout, ";charset=utf-8");
-
+*/
        hprint(hout, "\r\n");
        if(enc != nil)
                hprint(hout, "Content-Encoding: %s\r\n", enc->generic);
@@ -351,8 +351,6 @@ checkreq(HConnect *c, HContent *type, HContent *enc, long mtime, char *etag)
        if(c->req.vermaj >= 1 && c->req.vermin >= 1 && !hcheckcontent(enc, c->head.okencode, "Content-Encoding", 0))
                return notaccept(c, type, enc, "Content-Encoding");
 
-       return 1;
-
        /*
         * can use weak match only with get or head;
         * this always uses strong matches
index 4b4725f1f19bbee76e2ff2cc556c94bf480f446e..e0569b9599ba0f3bc2aa6d5385a5d9f6007361bd 100644 (file)
@@ -54,7 +54,6 @@ enum
         */
        Bandtblksz      = Bandtmtu - 40 - 8,
        Bcavium         = 1432,         /* cavium's u-boot demands this size */
-       Bci20           = 1468,         /* ci20 u-boot */
 };
 
 typedef struct Opt Opt;
@@ -330,7 +329,7 @@ options(int fd, char *buf, int bufsz, char *file, ushort oper, char *p, int dlen
                        syslog(dbg, flog, "tftpd %d %s tsize is %,lld",
                                pid, file, size);
                } else if (oper == Tftp_READ && cistrcmp(p, "blksize") == 0 &&
-                   blksize > Bandtblksz && blksize != Bcavium && blksize != Bci20) {
+                   blksize > Bandtblksz && blksize != Bcavium) {
                        *op->valp = blksize = Bandtblksz;
                        olen = emitn(blksize, bp, ep);
                        syslog(dbg, flog, "tftpd %d overriding blksize to %d",
index ecee9819a174574190a2dc86ef6d3263bdb0064a..c01b519fd89313be80b326397bb5e3f05882032a 100644 (file)
@@ -163,7 +163,7 @@ again:              /* rogue processes */
                        uarg = 1;
                } else {
                        jobs = 0;
-                       sysfatal("%s", buf);
+                       Exit();
                }
        }
        for(w = j->t; w; w = w->next){
index c30bfd271f4609996fcdb60dc0de43042227f7ec..8a46813924d0a544f523adae116d22af98bf207f 100644 (file)
@@ -12,3 +12,4 @@ snprint(char *buf, int len, char *fmt, ...)
        va_end(args);
        return n;
 }
+
index a9335e8f571d13161fb0d47f8f6ba1fd0410737c..f83cea089ce10205f9ba4680c8501071f68795ac 100644 (file)
@@ -164,7 +164,7 @@ controlsetthread(void *v)
        Rune buf[2][20], *rp;
 
        cs = v;
-       threadsetname("controlsetthread %#p", cs);
+       threadsetname("controlsetthread 0x%p", cs);
 
        alts[AKey].c = cs->kbdc;
        alts[AKey].v = &rp;
@@ -324,7 +324,6 @@ ctlerror(char *fmt, ...)
        vfprint(2, fmt, arg);
        va_end(arg);
        write(2, "\n", 1);
-       abort();
        threadexitsall(buf);
 }
 
@@ -377,8 +376,6 @@ ctlstrdup(char *s)
        t = strdup(s);
        if(t == nil)
                ctlerror("control strdup(%q) failed: %r", s);
-
-       setmalloctag(t, getcallerpc(&s));
        return t;
 }
 
index dff608e0f424d8bb7c035ee7d8cda58a242b30ac..7b385a3229be753730b8a8e7364e3219518bed97 100644 (file)
@@ -29,3 +29,4 @@ newwindow(char *str)
                return mount(fd, -1, "/dev", MBEFORE, buf);
        return bind("/mnt/wsys", "/dev", MBEFORE);
 }
+
index 1445ff273091261ff7772c5055e6c748af72ecef..6001813c18893f7decf97a4be64351a0909410f5 100644 (file)
@@ -836,10 +836,7 @@ format(char *mnemonic, Instr *i, char *f)
                        break;
 
                case 'm':
-                       if(i->function != 0)
-                               bprint(i, "M(%s),%d", cop0regs[i->rd], i->function);
-                       else
-                               bprint(i, "M(%s)", cop0regs[i->rd]);
+                       bprint(i, "M(%s)", cop0regs[i->rd]);
                        break;
 
                case 'f':
diff --git a/sys/src/libsec/port/const.c b/sys/src/libsec/port/const.c
deleted file mode 100644 (file)
index 0cf4001..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <u.h>
-
-/*
- * returns 0 if the the len bytes in x are equal to len bytes in y,
- * otherwise returns -1.
- */
-int
-constcmp(uchar *x, uchar *y, int len)
-{
-       uint z;
-       int i;
-
-       for(z = 0, i = 0; i < len; i++) {
-               z |= x[i] ^ y[i];
-       }
-
-       return (1 & ((z - 1) >> 8)) - 1;
-}
index 09dd92858ce3c8edf13cbdfab2cc33843025f12f..261eebdd192b10d33f512898d5ce3080a1f569d9 100644 (file)
@@ -3,76 +3,6 @@
 #include <libsec.h>
 #include <ctype.h>
 
-ECdomain *
-ecnamedcurve(int id)
-{
-       ECdomain *dom;
-       dom = malloc(sizeof(ECdomain));
-       if(dom == nil)
-               return nil;
-
-       switch(id) {
-       default:
-               free(dom);
-               return nil;
-       case Secp256r1:
-               dom->p = strtomp("FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF", nil, 16, nil);
-               dom->a = strtomp("FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC", nil, 16, nil);
-               dom->b = strtomp("5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B", nil, 16, nil);
-               dom->G = strtoec(dom, "036B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296", nil, nil);
-               dom->n = strtomp("FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551", nil, 16, nil);
-               dom->h = uitomp(1, nil);
-               break;
-       }
-
-       if(dom->p == nil || dom->a == nil || dom->b == nil || dom->G == nil || dom->n == nil || dom->h == nil) {
-               ecfreedomain(dom);
-               return nil;
-       }
-
-       return dom;
-}
-
-void
-ecfreepoint(ECpoint *pt)
-{
-       if(pt != nil) {
-               mpfree(pt->x);
-               mpfree(pt->y);
-       }
-
-       free(pt);
-}
-
-void
-ecfreepriv(ECpriv *priv)
-{
-       if(priv != nil) {
-               mpfree(priv->x);
-               mpfree(priv->y);
-               mpfree(priv->d);
-       }
-
-       free(priv);
-}
-
-void
-ecfreedomain(ECdomain *dom)
-{
-       if(dom != nil) {
-               mpfree(dom->p);
-               mpfree(dom->a);
-               mpfree(dom->b);
-               if(dom->G != nil) {
-                       ecfreepoint(dom->G);
-               }
-               mpfree(dom->n);
-               mpfree(dom->h);
-       }
-
-       free(dom);
-}
-
 void
 ecassign(ECdomain *, ECpoint *a, ECpoint *b)
 {
@@ -399,54 +329,6 @@ mpsqrt(mpint *n, mpint *p, mpint *r)
        return 1;
 }
 
-// converts the bytes in buf to an ECpoint x y pair.
-// the domain is used to determine the number of bytes in x and y in the buffer.
-ECpoint*
-betoec(ECdomain *dom, uchar *buf, int blen, ECpoint *ret)
-{
-       int allocd, bytelen;
-
-       allocd = 0;
-       bytelen = (mpsignif(dom->p)+7) >> 3;
-
-       // sanity check arguments
-       if(dom == nil || buf == nil)
-               return nil;
-
-       // check if input is too short for two mpints
-       if(blen != 1+2*bytelen)
-               return nil;
-
-       // check that point is in uncompressed format
-       if(buf[0] != 4)
-               return nil;
-
-       if(ret == nil) {
-               // allocate return pointer and mpints
-               allocd = 1;
-               ret = mallocz(sizeof(*ret), 1);
-               if(ret == nil)
-                       return nil;
-               ret->x = mpnew(0);
-               ret->y = mpnew(0);
-       }
-
-       // uncompressed form
-       if(betomp(buf+1, bytelen, ret->x) == nil)
-               goto err;
-       if(betomp(buf+1+bytelen, bytelen, ret->y) == nil)
-               goto err;
-       if(!ecverify(dom, ret))
-               goto err;
-       return ret;
-
-err:
-       if(allocd){
-               ecfreepoint(ret);
-       }
-       return nil;
-}
-
 ECpoint*
 strtoec(ECdomain *dom, char *s, char **rptr, ECpoint *ret)
 {
@@ -500,8 +382,11 @@ strtoec(ECdomain *dom, char *s, char **rptr, ECpoint *ret)
 err:
        if(rptr)
                *rptr = s;
-       if(allocd)
-               ecfreepoint(ret);
+       if(allocd){
+               mpfree(ret->x);
+               mpfree(ret->y);
+               free(ret);
+       }
        return nil;
 }
 
index 91973cb268df9f4c2d0810470d4cae9660775966..60aebe629ff76257a5982a6893bd7d8fff3b6161 100644 (file)
@@ -22,7 +22,6 @@ CFILES = des.c desmodes.c desECB.c desCBC.c des3ECB.c des3CBC.c\
        ripemd.c\
        dh.c\
        pbkdf2.c\
-       const.c\
 
 ALLOFILES=${CFILES:%.c=%.$O}
 
index 8a2e53e972bc85bb14bc65a89e19fc66998a91d8..21c92fe8896e66aa41b9f9372300bbceb506df67 100644 (file)
@@ -38,7 +38,7 @@ okThumbprint(uchar *sum, Thumbprint *table)
                return 0;
        hd = tablehead(sum, table);
        for(p = hd->next; p; p = p->next){
-               if(constcmp(sum, p->sha1, SHA1dlen) == 0)
+               if(memcmp(sum, p->sha1, SHA1dlen) == 0)
                        return 1;
                if(p == hd)
                        break;
index 8151c60c4a61eccb100cc4a1452530732eb2043b..48c281068e9507f21b33db3cd4831b0cbf680477 100644 (file)
@@ -854,57 +854,99 @@ ectobytes(int type, ECpoint *p)
 static Bytes*
 tlsSecECDHEc(TlsSec *sec, uchar *srandom, int vers, int curve, Bytes *Ys)
 {
+       Namedcurve *nc, *enc;
        Bytes *epm;
-       ECdomain *dom;
-       ECpoint K, *Y;
-       ECpriv *Q;
-
-       epm = nil;
-       Y = nil;
-       Q = nil;
+       ECdomain dom;
+       ECpoint G, K, Y;
+       ECpriv Q;
 
        if(Ys == nil)
                return nil;
 
+       enc = &namedcurves[nelem(namedcurves)];
+       for(nc = namedcurves; nc != enc; nc++)
+               if(nc->tlsid == curve)
+                       break;
+
+       if(nc == enc)
+               return nil;
+               
        memmove(sec->srandom, srandom, RandomSize);
        if(setVers(sec, vers) < 0)
                return nil;
+       
+       epm = nil;
 
-       dom = ecnamedcurve(curve);
-       if(dom == nil)
-               return nil;
+       memset(&dom, 0, sizeof(dom));
+       dom.p = strtomp(nc->p, nil, 16, nil);
+       dom.a = strtomp(nc->a, nil, 16, nil);
+       dom.b = strtomp(nc->b, nil, 16, nil);
+       dom.n = strtomp(nc->n, nil, 16, nil);
+       dom.h = strtomp(nc->h, nil, 16, nil);
 
+       memset(&G, 0, sizeof(G));
+       G.x = mpnew(0);
+       G.y = mpnew(0);
+
+       memset(&Q, 0, sizeof(Q));
+       Q.x = mpnew(0);
+       Q.y = mpnew(0);
+       Q.d = mpnew(0);
 
        memset(&K, 0, sizeof(K));
        K.x = mpnew(0);
        K.y = mpnew(0);
 
+       memset(&Y, 0, sizeof(Y));
+       Y.x = mpnew(0);
+       Y.y = mpnew(0);
+
+       if(dom.p == nil || dom.a == nil || dom.b == nil || dom.n == nil || dom.h == nil)
+               goto Out;
+       if(Q.x == nil || Q.y == nil || Q.d == nil)
+               goto Out;
+       if(G.x == nil || G.y == nil)
+               goto Out;
        if(K.x == nil || K.y == nil)
                goto Out;
+       if(Y.x == nil || Y.y == nil)
+               goto Out;
 
-       Y = betoec(dom, Ys->data, Ys->len, nil);
-       if(Y == nil)
+       dom.G = strtoec(&dom, nc->G, nil, &G);
+       if(dom.G == nil)
                goto Out;
 
-       Q = ecgen(dom, nil);
-       if(Q == nil)
+       if(bytestoec(&dom, Ys, &Y) == nil)
                goto Out;
 
-       ecmul(dom, Y, Q->d, &K);
+       if(ecgen(&dom, &Q) == nil)
+               goto Out;
+
+       ecmul(&dom, &Y, Q.d, &K);
        setMasterSecret(sec, mptobytes(K.x));
 
        /* 0x04 = uncompressed public key */
-       epm = ectobytes(0x04, Q);
+       epm = ectobytes(0x04, &Q);
        
 Out:
-       ecfreepriv(Q);
-
-       ecfreepoint(Y);
+       mpfree(Y.x);
+       mpfree(Y.y);
 
        mpfree(K.x);
        mpfree(K.y);
 
-       ecfreedomain(dom);
+       mpfree(Q.x);
+       mpfree(Q.y);
+       mpfree(Q.d);
+
+       mpfree(G.x);
+       mpfree(G.y);
+
+       mpfree(dom.p);
+       mpfree(dom.a);
+       mpfree(dom.b);
+       mpfree(dom.n);
+       mpfree(dom.h);
 
        return epm;
 }
@@ -1915,7 +1957,7 @@ setVersion(TlsConnection *c, int version)
 static int
 finishedMatch(TlsConnection *c, Finished *f)
 {
-       return constcmp(f->verify, c->finished.verify, f->n) == 0;
+       return memcmp(f->verify, c->finished.verify, f->n) == 0;
 }
 
 // free memory associated with TlsConnection struct
index a6dc9e5d735821cf0a7a93efc7f9b69579bf0b26..4751524c5f4bae3c55654953e04caea92c7182ad 100644 (file)
@@ -2212,7 +2212,7 @@ verify_signature(Bytes* signature, RSApub *pk, uchar *edigest, int edigestlen, E
                err = "bad digest length";
                goto end;
        }
-       if(constcmp(digest->data, edigest, edigestlen) != 0)
+       if(memcmp(digest->data, edigest, edigestlen) != 0)
                err = "digests did not match";
 
 end:
index f8946c214b7ade15bb42e7e217ad0d8c31073736..ebb563307cdcc8d2b153d662844ac86fc5ac0775 100644 (file)
@@ -71,7 +71,7 @@ threadsetname(char *fmt, ...)
        va_start(arg, fmt);
        t->cmdname = vsmprint(fmt, arg);
        va_end(arg);
-       if(t->cmdname){
+       if(t->cmdname && p->nthreads == 1){
                snprint(buf, sizeof buf, "#p/%lud/args", _tos->pid); //getpid());
                if((fd = open(buf, OWRITE)) >= 0){
                        write(fd, t->cmdname, strlen(t->cmdname)+1);
index f9a794d1bad35272b2e7cd3fb065668594100e38..708b65ed1641a0e9f0547a779a1bd90b70d2a900 100644 (file)
@@ -31,7 +31,7 @@ main(int argc, char **argv)
        if(setjmp(_mainjmp))
                _schedinit(p);
 
-       //_threaddebuglevel = (DBGSCHED|DBGCHAN|DBGREND);
+//_threaddebuglevel = (DBGSCHED|DBGCHAN|DBGREND)^~0;
        _systhreadinit();
        _qlockinit(_threadrendezvous);
        _sysfatal = _threadsysfatal;