Commit graph

5112 commits

Author SHA1 Message Date
cinap_lenrek
95d6ca9f3c factotum: fix memory leak for p9any key confirmation, fix key handling for role=client
when we look up role=speakfor key and askforkeys is set, the
findkey() can return RpcNeedkey, which causes us to skip the
query for a role=client key. Instead, we now check for the
return value != RpcOk (and != RpcConfirm which we want to
handle the same for both queries).

we have to free the attribute lists when returning RpcConfirm.
2016-02-22 20:55:51 +01:00
cinap_lenrek
4410517b44 stats: use rimport or import to mount remote system 2016-02-22 19:38:01 +01:00
cinap_lenrek
046e0ee259 exportfs: fix endless loop for eof/error on second read in localread9pmsg()
the ini buffer was not reset when we got eof in the message
body read causing a endless loop. instead of defining our
own read9pmsg() function, just handle the first read specially
when we consumed the first 4 bytes for the "impo" protocol
escape check.
2016-02-21 20:11:04 +01:00
cinap_lenrek
688c1f15cd fix ipv6 icmphostunr() locking and memory free bugs (from sources) 2016-02-21 16:36:41 +01:00
cinap_lenrek
9d30cabbaf sgi: add chmod to bootfs.proto for sgi kernel 2016-02-20 16:39:52 +01:00
cinap_lenrek
e1633ed338 libsec: remove unused tlsSecKill() 2016-02-19 09:14:09 +01:00
cinap_lenrek
0cad8a59ed libsec: fix memset() size in tlsConnectionFree(), remove #include <bio.h> 2016-02-18 18:42:04 +01:00
cinap_lenrek
7f2599254a libsec: add libc.h include for aes_xts.c (drawterm) 2016-02-17 18:50:23 +01:00
stanley lieber
e5ead1a980 rcpu(1) man page: english 2016-02-16 20:53:21 -05:00
cinap_lenrek
a1fa3d75d8 ndb/dns: removing the buggy /net.alt remount hack 2016-02-16 19:06:54 +01:00
cinap_lenrek
c9d2fecbd0 usbuhci: removing "uhci bug" print spam from interrupt handler
this code was if(0) for a long time due to wrong parentesis,
fixed parentesis cause print spam on some machines making them
unusage (kenji okomoto). removing the check alltogether.
2016-02-16 08:52:33 +01:00
cinap_lenrek
86dfd3cf16 provide rcpu(1), make usage line consistent 2016-02-15 17:30:56 +01:00
cinap_lenrek
b450cb7e32 devmnt: deal with partial response for Tversion request in mntversion() 2016-02-15 01:03:44 +01:00
cinap_lenrek
61dea9012e cron: just run /bin/rx to execute remote commands 2016-02-14 05:59:42 +01:00
cinap_lenrek
373723d4f6 rx: rcpu service support 2016-02-14 05:37:55 +01:00
cinap_lenrek
fde5906b30 adding experimental rcpu service
this is a reimplementation of cpu and import utilities in rc using a tlsclient
and tlssrv as the encryption and authentication layers. there is only one new
service, which after authentication and encryption setup accepts an arbitrary
rc script over the network and executes it with the standard filedescriptors
redirected to the conversaion (this is *after* authentication and in the
context of the authorized user).

the new rcpu program has a few improvements over cpu(1):

- doesnt mangle program arguments
- the remote process will get the clients standard file descriptors, so error
  and output are separated and you can consume the clients input from the
  remote side :-)
- forwards error status of remote process

theres no backwards mode for rimport, but a new program called rexport
for the same purpose.

all these services use exportfs without the bolted on initial handshake,
so the hope is to clean up exportfs in the future and remove all the ugly
crap in there.
2016-02-14 05:18:33 +01:00
cinap_lenrek
4fe7daeca4 exportfs: retry execing ourselfs as "/bin/exportfs" (argv0 might be relative path) 2016-02-14 04:49:48 +01:00
cinap_lenrek
232a064f3a exportfs: properly reply to chdir() error when we speak 9p
when we got a bad root tree, we should speak the right language
and return a Rerror response instead of crapping ascii into
the 9p conversation.
2016-02-14 04:48:48 +01:00
cinap_lenrek
a9b1e990b8 tlsclient: add -o option to establish connection over a file, free the AuthInfo structure to avoid leaking secrets 2016-02-14 02:06:08 +01:00
cinap_lenrek
9ec9a47789 newuser: /n/other now handled in /lib/namespace 2016-02-14 01:52:51 +01:00
cinap_lenrek
ecebba779f provide /n and /mnt early in bootrc to allow consistent use in /lib/namespace
theres a bootstrap problem:

when /bin/init is run, it processes /lib/namespace where we might want to
mount or bind resources to /n or /mnt. but mntgen was run later in
cpurc/termrc so these mounts would be ignored.

we already have mntgen in bootfs, so we can provide these mountpoints early.

i keep the termrc/cpurc mntgens where they are, but ignore the error
prints. this way old kernels will continue to work.
2016-02-14 01:42:32 +01:00
cinap_lenrek
24150b1171 tlssrv: add -A flag to skip changing user after authentication (usefull for aan) 2016-02-13 17:24:59 +01:00
cinap_lenrek
3b835a1d23 merge 2016-02-13 16:43:15 +01:00
cinap_lenrek
c3867623ae rio: fix wrong frame colors when moving non-current window
When a window is moved or reshaped, that implicitely tops
the window and makes it current. The conseqence of this
is that we always have to redraw the window as if it where
a current window in any case. This was handled for Reshaped
windows, but not when the window was just moved. We now
handle both cases the exact same way, getting rid of the
Moved wctl message.
2016-02-13 16:36:24 +01:00
ftrvxmtrx
668318b2e6 ip/chandial: fail with Ebadarg instead of printing memory contents 2016-02-12 23:52:50 +02:00
cinap_lenrek
eeb96dca21 libsec: simplify pkcs1_decrypt() 2016-02-11 22:59:25 +01:00
cinap_lenrek
fac5be2d2e merge 2016-02-11 22:43:50 +01:00
cinap_lenrek
6033931b02 libsec: fix double free in pkcs1_decrypt(), handle bad epm length in tlsSecRSAs(), cleanup 2016-02-11 22:42:28 +01:00
cinap_lenrek
2ca8e31066 removing libgio, this is not golang mveery >:-( 2016-02-10 05:11:11 +01:00
Matthew Veety
9b2bed733c fixed a typo 2016-02-09 17:02:18 -05:00
Matthew Veety
a54782d69b Imported ngfs libgio. This is a library to create virtual file descriptors, similar to common lisp grey-streams or golang's io.Reader/io.Writer. Now 95% bug-free. 2016-02-09 16:24:41 -05:00
stanley lieber
9c3de0c87a fortunes: ./configure CFLAGS="-I$HOME/source/harvey/ape/amd64/include -I$HOME/source/harvey/ape/include -mno-red-zone -ffreestanding -fno-builtin -nostdlib -trigraphs -D_SUSV2_SOURCE -D_POSIX_SOURCE -D_LIMITS_EXTENSION -D_BSD_SOURCE -D_BSD_EXTENSION -DHAVE_SOCK_OPTS -DHARVEY -DPlan9" LDFLAGS="-static $HOME/source/harvey/ape/amd64/lib/crt1.o $HOME/source/harvey/ape/amd64/lib/crti.o $HOME/source/harvey/ape/amd64/lib/crtn.o -L$HOME/source/harvey/ape/amd64/lib -L$HOME/source/harvey/amd64/lib" LIBS="-lbsd -lap -lc" LIBM="" --prefix=$HOME/source/harvey/ape/ports *--host=x86_64-linux-gnu --build=x86_64-harvey *--enable-shared=no 2016-02-08 20:07:56 -05:00
cinap_lenrek
3d20565a78 webfs: faster shutdown using postnote()
when the 9p end is closed, post a note to our private note
group to shoot down http procs. this results in quicker
release of namespace resources.
2016-02-08 19:35:26 +01:00
aiju
302fc26fdd /lib/keyboard: add more crucial symbols 2016-02-07 23:40:07 +01:00
cinap_lenrek
b63a6bf626 libsec: fix missing error case unlock() in tlshands initCiphers() 2016-02-07 00:31:30 +01:00
cinap_lenrek
faecd86ee6 factotum: fix nil pointer crash on p9skclosekey(), thanks k0ga
oversight, closekey is called again even if addkey failed, which
will have Key.priv nil.

stack trace:

 memset(data=0x0,n=0x1f8)+0x58 /sys/src/libc/arm/memset.s:40
 p9skclosekey(k=0x55358)+0x18 /sys/src/cmd/auth/factotum/p9sk1.c:493
 closekey(k=0x55358)+0x7c /sys/src/cmd/auth/factotum/util.c:247
 ctlwrite(a=0x552f8,atzero=0x0)+0x320 /sys/src/cmd/auth/factotum/rpc.c:503
 fswrite(r=0x53b78)+0x1b0 /sys/src/cmd/auth/factotum/fs.c:574
 swrite(r=0x53b78,srv=0x423e8)+0x134 /sys/src/lib9p/srv.c:559
 srvwork()+0x2a4 /sys/src/lib9p/srv.c:746
 srv(srv=0x423e8)+0xcc /sys/src/lib9p/srv.c:825
 postproc()+0x3c /sys/src/lib9p/post.c:120
 rforker(flag=0x1,fn=0x39f98,arg=0x423e8)+0x34 /sys/src/lib9p/rfork.c:16
 _postmountsrv(s=0x423e8,name=0x0,mtpt=0x46f70,flag=0x1)+0xb8 /sys/src/lib9p/post.c:27
 postmountsrv(name=0x0,mtpt=0x46f70,flag=0x1)+0x20 /sys/src/lib9p/rfork.c:32
 main(argv=0x1fffff9c,argc=0x0)+0x23c /sys/src/cmd/auth/factotum/fs.c:157
 _main+0x28 /sys/src/libc/arm/main9.s:19
 acid: /sys/src/cmd/auth/factotum/p9sk1.c:493
2016-02-06 22:26:29 +01:00
aiju
398686829d add mathematical angle brackets to /lib/keyboard 2016-02-06 20:41:42 +01:00
cinap_lenrek
b7f2aed0f2 libsec: mpconv -> mpfmt 2016-02-06 07:19:31 +01:00
mischief
ad637845a8 libmp: remove include of libsec.h 2016-02-05 19:29:55 -08:00
cinap_lenrek
f1254da64d libmp: handle out of memory case in gmfield() 2016-02-04 03:11:46 +01:00
cinap_lenrek
78808ca314 libsec: refactor asn1 encoding of digest for rsa signatures, fix memory leak in ecverify 2016-02-03 04:18:54 +01:00
cinap_lenrek
cc8e8c978c tlssrv: p9any authentication support using TLS-PSK cipher suits 2016-02-01 22:49:20 +01:00
cinap_lenrek
a291bbdedd libsec: ecdsa client support for tlshand, cleanups 2016-02-01 21:34:49 +01:00
cinap_lenrek
0bfac109a4 mpc: constant expression folding 2016-02-01 19:27:57 +01:00
cinap_lenrek
340d83d49d games/doom: fix white window issue on exit
make kbdproc() and mouseproc() share fd table with the main proc
and not explicitely close the file descriptors. so /dev/mouse gets
closed *after* /dev/draw/new to avoid the white window refresh issue.
2016-01-30 19:11:33 +01:00
cinap_lenrek
7cfe4aef3c salsa(2): fix source reference 2016-01-19 13:06:22 +01:00
cinap_lenrek
876e19c652 salsa(2): some formating fixes 2016-01-19 13:02:12 +01:00
cinap_lenrek
7cf11db685 libsec: add salsa20 stream cipher 2016-01-19 12:50:33 +01:00
cinap_lenrek
7b31d5e494 authsrv(6): fix arrows 2016-01-19 11:08:29 +01:00
cinap_lenrek
4a47b264ac wifi: check tkip/ccmp mac and crc in constant time avoiding timing side channels 2016-01-14 23:39:29 +01:00