Check the return of chdir(srv) to prevent exporting accidentally
the current working directory when the directory specified
with option -r doesn't exist.
Also fix at the same time the missing trailing \n in error
messages printed just before exits().
cinap_lenrek [Thu, 31 Jan 2013 21:51:21 +0000 (22:51 +0100)]
httpd: fix rane requests
we gave wrong content-length in range requests. r->stop - r->start
is wrong because r->stop is the byte offset of the *last* byte, not
the *next* byte after the last.
cinap_lenrek [Wed, 30 Jan 2013 19:33:28 +0000 (20:33 +0100)]
nusb/kb: increase maximum report descriptor size, non-continuous endpoints (from richard millars usbmouse-endpoint patch)
Another band-aid fix to the usb mouse driver, to cope with a mouse which has
an interrupt endpoint number 3 but no number 1 or 2, and a report descriptor
more than 128 bytes long.
cinap_lenrek [Wed, 30 Jan 2013 09:34:57 +0000 (10:34 +0100)]
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.
cinap_lenrek [Wed, 30 Jan 2013 08:38:02 +0000 (09:38 +0100)]
hjfs: fix bogus nodata getbuf() of superblock in createroot() (failed ream race bug)
we used to do getbuf() with nodata flag so it only worked when
we where lucky and got the same in memory block back. this
is uncritical once you have reamed the filesystem, its just
that sometimes ream would fail with "ream successfull, then
hjfs: fsinit: file ./hjfs not found".
cinap_lenrek [Wed, 30 Jan 2013 05:26:03 +0000 (06:26 +0100)]
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.
ppatience0 [Wed, 30 Jan 2013 04:56:29 +0000 (23:56 -0500)]
Fixed some ircrc bugs. Only the last channel given to the -t flag is set as target. Unknown commands are not sent to the server. Control-D can be used to exit the client. When the connection is lost, an error message is displayed and the client waits for user input before exiting. Manual page updated.
cinap_lenrek [Tue, 29 Jan 2013 17:24:48 +0000 (18:24 +0100)]
acpi: remove "cannot get pci bus number for ..." debug prints
on almost all machines, we get tons of these prints for pci busses that
are not physically there but are described in the ACPI namespace. the
reason that we enumerate these is because we do not enumerate _INI and _STA
methods to check if they are present. we just match the information with
the PCI devices we enumerated with our generic pci code. this works fine and
doesnt require aml code to poke arround in pci config space.
cinap_lenrek [Sun, 27 Jan 2013 16:20:42 +0000 (17:20 +0100)]
audioac97: fix inverted recgain control, init to zero recgain
some controls are inverted. we reflect this by specifying
negative range in the volume table now and let genaudiovolread()
and genaudiovolwrite() do the conversion.
cinap_lenrek [Tue, 22 Jan 2013 09:41:01 +0000 (10:41 +0100)]
mount /n/other from /srv/boot instead of /srv/cwfs
this makes sure tcp boot will have ther user /tmp's
the same way as from local cwfs. we used /srv/cwfs
to prevent a deadlock with 9660srv as a root filesystem
which has been fixed now.
cinap_lenrek [Tue, 22 Jan 2013 09:35:42 +0000 (10:35 +0100)]
9660srv: run 9p service in separate namespace to prevent deadlock
we have to run the 9p service process in its own namespace
otherwise the attach filename might point onto the served
filesystem causing it to deadlock. this happens especially
if 9660srv is used as root filesystem. (cdboot)
cinap_lenrek [Mon, 21 Jan 2013 15:16:59 +0000 (16:16 +0100)]
audioac97: set adc rate
set adc (recording) sample rate the same as playback for now.
make these separate entries later when we reintroduce in/out
attributes to volume controls.
cinap_lenrek [Sun, 13 Jan 2013 09:23:31 +0000 (10:23 +0100)]
remove non standard COM3 (eia2) serial port from i8250 uart.
access to non standard serial port COM3 at i/o port 0x200 causes
kernel panic on some machines (Toshiba Sattelite 1415-S115). also,
some machines have gameport at 0x200.
i readded uartisa to the pcf and pccpuf kernel configurations so
one can use plan9.ini to add non standard uarts like:
cinap_lenrek [Thu, 10 Jan 2013 21:16:23 +0000 (22:16 +0100)]
libdraw: gengetwindow() resize race
instead of trying to make rio not change the window image too fast
and give the client some time to attach it (which turns out to be
impossible), we acknowledge that there is a race and just retry
the window reattach as long as the winname keeps changing in
gengetwindow().
cinap_lenrek [Wed, 9 Jan 2013 15:32:53 +0000 (16:32 +0100)]
rio: fix window resize and attach race
if a window gets hidden/unhidden/resized too fast, the client might have no
chance attaching to that image using winname. so we move the window
offscreen instead and delay the freeimage() by doing it in the deletethread().