Commit graph

24 commits

Author SHA1 Message Date
cinap_lenrek
3bb7ad61aa lib9p: prevent files from being created in deleted directories (thanks BurnZeZ) 2014-10-23 00:43:27 +02:00
cinap_lenrek
89e6315699 lib9p: fix .. walk crash in deleted directory (thanks BurnZeZ)
to reproduce:

 % ramfs; cd /tmp
 % mkdir foo; cd foo
 % pwd
 /tmp/foo
 % rm /tmp/foo
 % pwd
 /tmp/foo
 % ls
 % ls /tmp
 % ls ..
 ramfs 202751: suicide: sys: trap: fault read addr=0x0 pc=0x0000e46d
 ls: ..: '..' mount rpc error
2014-10-23 23:59:16 +02:00
cinap_lenrek
a1b2b9b126 lib9p: fix nil dereference crash in remove for directory permission check
file->parent can be nil when the file has been previously removed.
removefile() deals with this, so skip the permission check in
that case and let removefile() error out.
2014-09-19 05:22:26 +02:00
cinap_lenrek
51cb8f50d8 remove executable bit from /sys/src/lib9p/ramfs.c 2014-07-03 00:17:28 +02:00
cinap_lenrek
3a5b2189ed revert ramfs example
the code was correct. erealloc9p() terminates the process
on error, but the code was handling realloc() error explicitely
and responded the request with Enomem error.
2014-06-11 18:01:20 +02:00
ftrvxmtrx
6dd3cf4c40 lib9p: ramfs example: s/realloc/erealloc9p/ 2014-06-11 17:22:32 +02:00
cinap_lenrek
505bc9b491 lib9p/hjfs: use x != ~0 instead (type)~x conditionals to work arround arm compiler issue 2013-10-02 01:36:05 +02:00
cinap_lenrek
e36d9f5c4e make filesystem handling of read9pmsg() consistent 2013-06-16 06:26:31 +02:00
cinap_lenrek
6b4c5380d8 lib9p: defer freeing srv for listensrv()
use the Srv.end callback for freeing the srv and closing the
file descriptor of a connection. this makes sure we wont free
the srv while there are still outstanding requests that would
access the srv when doing the respond() call.
2013-01-30 10:34:57 +01:00
cinap_lenrek
dbbbff8915 lib9p: defer closing down srv until the last request has been responded, Tversion message size
in multithreaded programs, we have to wait until all outstanding
requests have been responded before closing down the srv.

dont make write errors sysfatal(), only print them. in case if
listensrv() is used we dont want to exit the process in respond()
called by some worker thread.

make sure Tversion is only handled when there are no outstanding
requests and make sure message size is sane.
2013-01-30 06:26:03 +01:00
cinap_lenrek
9c844d90e1 lib9p: add Srv.start 2012-03-30 20:06:33 +02:00
aiju
8434f98cdd added interrupt proc ctl message 2011-08-20 12:30:06 +02:00
aiju
0a0435dbc1 lib9p reqqueue: more cleaning 2011-08-19 19:33:36 +02:00
aiju
9574793fc7 lib9p reqqueue: remove setjmp shit 2011-08-19 16:24:44 +02:00
cinap_lenrek
0c1284f602 lib9p: add srvacquire/srvrelease 2011-08-19 05:18:19 +02:00
cinap_lenrek
b0f1c5ed6c usb ptp camera driver 2011-08-16 01:47:59 +02:00
aiju
c65100ffa0 lib9p: added toilet queues 2011-08-16 22:00:34 +02:00
aiju
6aed9711b4 devshr: changed #σc to contain directories
nusb: detaching
2011-07-30 14:30:27 +02:00
aiju
5181f2e576 lib9p: fix 2011-07-27 16:38:32 +02:00
aiju
7d0ce95567 lib9p: added threadpostsharesrv 2011-07-27 16:36:32 +02:00
aiju
abe6ead0ff lib9p: added functions for devshr 2011-07-27 10:46:34 +02:00
cinap_lenrek
d1dcdf2df3 lib9p: respond with error instead of aborting for unknown 9p messages 2011-07-09 13:11:59 +02:00
Taru Karttunen
a9060cc06b Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
Taru Karttunen
e5888a1ffd Import sources from 2011-03-30 iso image 2011-03-30 15:46:40 +03:00