Commit graph

3228 commits

Author SHA1 Message Date
cinap_lenrek a5e9641906 change Rune from ushort to uint for to 21 bit runes (thanks mischief!)
big big change. requires rebuilding 8c first and then rebuild
everything.
2013-10-17 12:02:45 +02:00
cinap_lenrek e30f50283c 9p(2): correct usage for srvrelease()/srvacquire()
the process is *NOT* allowed to exit after a srvrelease() as
it still holds a reference (srv->rref) preventing the srv
from beging freed/ended (listensrv) before srvacquire().
2013-10-17 08:26:05 +02:00
cinap_lenrek 52fc6d50d4 nusb/ether: fix wrong size check causing odd sized packets to be discarded (thanks mischief!)
ethernet packets with sizes that where not multiples of 4 where
discarded because the check uses the smsc frame size instead of
the payload size. when a usb read returns just one packet, theres
no next frame header and the calculated frame size is bigger than
the usb read which caused the whole packet to be discarded as invalid.

thanks to mischief for testing and debugging!
2013-10-16 16:42:40 +02:00
cinap_lenrek 965bb2d248 nusb/disk: handle blocking usb access with srv released
usb is bound after /dev, so a hanging usb device will hang
access to /dev. we avoid this by releasing the srv, which
allows the fs to still handle reads and walks of the
directories.

ios are serialized by a qlock in the Umsc structure.
2013-10-16 12:26:56 +02:00
cinap_lenrek 1cd4579cdc cwfs: fix putbuf(nil) in error case of cmd_check() 2013-10-16 07:21:12 +02:00
cinap_lenrek d7ad36942d merge 2013-10-16 04:40:18 +02:00
cinap_lenrek 87e187b09c fdisk: fix struct padding for amd64 (from erik quanstros fdisk-64-bit-table patch)
small little patch to help fdisk work properly on 64-bit machines.
sizeof(Table) is 4 bytes too big.
2013-10-16 04:34:58 +02:00
stanley lieber ebdc47dad6 usps: update for new usps website (thanks, mischief) 2013-10-15 15:47:56 -04:00
cinap_lenrek 0f994b1b09 aux/statusbar: emit final newline in textmode when finished
bad:
term% echo 1 1 | aux/statusbar -t x
|###########################################################| 100% term%

vs.

good:
term% echo 1 1 | aux/statusbar -t x
|###########################################################| 100%
term%
2013-10-12 03:18:44 +02:00
cinap_lenrek ab7fe19ae2 hget: handle http contentencoding (compression) 2013-10-12 02:22:57 +02:00
cinap_lenrek 0460e4be7d cwfs: add checktag() call for cache bucket in dumpblock(), fix error strings 2013-10-11 10:17:17 +02:00
cinap_lenrek 5982c50fa4 cwfs: more checking for cfsdump(), cleanup Tsuper hack in cwrecur()
add checktag and nil checks in cfsdump() making sure to notice
when the roroot directory structures is corrupted.

cwrecur() used tag == Tsuper to indicate that this is the first
level recursive invocation. this is confusing as we really expect
Tdir tag in that case for the root directory. instead, we now
pass the correct tag (Tdir) and use cw->depth > 1 to see if we
are past the root.

the block tag was only checked when the block was not in
the memory cache. check the tag always!
2013-10-11 06:01:55 +02:00
cinap_lenrek 7f57d5d9c5 unzip/zipfs: handle optional data descriptor signature in trailer 2013-10-10 07:42:13 +02:00
cinap_lenrek 3b99a60154 mothra: handle <input type=image> 2013-10-10 23:59:19 +02:00
cinap_lenrek f72da96f28 exportfs: start filter in separate rendezvous group 2013-10-08 20:58:55 +02:00
cinap_lenrek bc18faccde libpanel: fix memory corruption bug in plinitentry(), add pl_erealloc() 2013-10-08 19:58:55 +02:00
cinap_lenrek 1c1bef69aa libc: remove doprint 2013-10-08 19:23:53 +02:00
cinap_lenrek 50e3c936fa ip/torrent: check piece offset, vlong cast 2013-10-08 08:12:05 +02:00
cinap_lenrek 3c2b09c9dc ip/torrent: more checking, backoff from piece on hash error 2013-10-08 07:55:26 +02:00
cinap_lenrek 8046234275 kbdfs: implement keyboard mouse buttons with /dev/mousein 2013-10-07 06:49:34 +02:00
cinap_lenrek 8aeddcf5bb vncs: create dummy /dev/mousein and /dev/mousectl files
this should prevent accidential fiddeling with the kernels
mouse driver.
2013-10-07 06:37:40 +02:00
cinap_lenrek 6c6bd66ed1 devmouse: differential handling of /dev/mousein buttons 2013-10-07 06:34:24 +02:00
cinap_lenrek ad1111cb3e exportfs: fix more filedescriptor leaks
just closing the pipe isnt enough, we have to
close all remaining file descriptors except sfd
before executing sub exportfs.
2013-10-07 23:18:37 +02:00
cinap_lenrek 6197758ec1 exportfs: fix openmount() rfork flags and filedescriptor leak, silence of on initstr error
fork child exportfs with new rendezvous group.
fix missing close of pipe filedescriptors on error.
fix missing close of other end of pipe in child.

dont bark when we get eof on the first init string read.
this condition can happen when unmount opens and
immidiately closes a exported srv file.
2013-10-06 04:42:46 +02:00
cinap_lenrek cb8eac54ed 5l: apply richard millers 5l-incfloat patch (from sources)
Generate correct ARM vfp code for x++ where x is single precision float.
Example test program (link with '5l -f'): void _main() { float x; x++;}
2013-10-06 01:49:15 +02:00
cinap_lenrek 3da35f028f rio: gone windows gone wrong (fix missing recv(x->flushc, nil) when gone but request flushing) 2013-10-05 22:55:10 +02:00
cinap_lenrek 6187e219da mothra: avoid intermediate rc shell processes, use rfork(RFREND) to isolate rendezvous group 2013-10-04 21:11:56 +02:00
cinap_lenrek 0b42409cf4 page: avoid intermediate rc shell processes with using exec, move newwindow() before forking namespace
use exec to avoid intermediate rc processes.

avoid capturing old namespace in the waiting process by doing the
newwindow() call before it.
2013-10-04 21:10:33 +02:00
cinap_lenrek d160232747 mothra: run page in own note group, close unneeded filedescriptors after forking
running page in own note group avoids killing it when we
exit mothra.

copypaste dupfds() function from page and use it to close
unneeded file descriptors.
2013-10-04 16:08:19 +02:00
cinap_lenrek 8c1d4604db page: close stdout, reopen stdout/stderr for external viewer and removed useless RFNAMEG flag
we are not using stdout (fd=1) and it, so dup nullfd over it.
this drops the old window reference when using with -w flag.

the RFNAMEG flag isnt needed because we are calling newwindow()
which forks the namespace for us.

reopen stdin/stdout for the external viewer to the new window.
2013-10-04 16:03:41 +02:00
cinap_lenrek 0be917ff4d libdraw: make newwindow() unmount the old window
newwindow() used to mount the new window directly on /dev, resulting
in the old window and the new one being mounted over each other.

we now try to unmount the old window from /dev first, mount new
window to /mnt/wsys (replacing the old) and then bind /mnt/wsys
before /dev.

if theres no /mnt/wsys, just mount window directly before /dev.
2013-10-04 15:57:05 +02:00
cinap_lenrek 40cf5957e0 add sdp(3) from sources 2013-10-04 13:52:22 +02:00
cinap_lenrek 9bcdfac3be merge 2013-10-04 02:27:53 +02:00
cinap_lenrek 5c4756974b page: dont tell rio our pid
$wsys might be from a remote system so pid will not work.

new rio errors out on mouse/cons instead.
2013-10-04 02:26:40 +02:00
cinap_lenrek fe03ec0e21 rio: gone windows, window resize, rectonscreen, goodrect
dont rely on postnote to shutdown client. instead, make reads on
cons, kbd and mouse error. when we mount a window system over
exportfs, the pid useless and even dangerous! pid should be
only used by clients forked by rio itself.

fix bug in resized(), goodrect() takes rect in screen coordinates!

make rectonscreen() fix window size if the window doesnt fit
on the screen.

improve goodrect() to check for windows outside of the screen or
bigger than screen without borders visible.
2013-10-04 02:17:53 +02:00
ppatience0 7c28d33d4b io.h: change indentation from spaces to tabs 2013-10-03 17:15:11 -04:00
ppatience0 9eab198d05 ether83815: fix `auto neg timed out' error with sis 900 rev 635.
the openbsd sis(4) driver does not actually go through the rest
of softreset() with sis cards. also, rev 635 reads the mac address
differently, so copy-paste code from openbsd to handle that.
2013-10-03 17:13:08 -04:00
cinap_lenrek 60e3d2782b merge 2013-10-03 17:31:55 +02:00
cinap_lenrek 7ad47f1083 tarfs: make file name safe, canonical and free of . and .. (from sources) 2013-10-03 17:30:03 +02:00
cinap_lenrek f163d0014a libmach: fix wrong formating for arm LDRH/STRH/LDRSB/LDRSH (MOVHU/MOVBU) instructions 2013-10-02 20:52:13 +02:00
ppatience0 225cc4af5c nusb/ether: add rtl8150 driver, remove unused includes 2013-10-02 02:25:43 -04:00
stanley lieber 805fe4660e fortunes: I think we're done here. 2013-10-02 18:02:49 -04:00
cinap_lenrek 6c758d94bf vt: dont pollute the outer environment (thanks mischief!) 2013-10-02 02:25:50 +02:00
cinap_lenrek e55d105159 bootrc: +x 2013-10-02 02:01:43 +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 da2d0ee780 audiohda: allow manual pin routing, more verbose audiostat, initial mute of al widgets
the automatic routing from jack to dac/adc sometimes gets us
a path thats not audible. manually specifying a route path
gets us arround these. the syntax is just a comma separated
list of node ids in the "pin" and "inpin" audioctl commands
instead of a single pin node id.

to find alternative paths, audiostat now lists all the widgets;
not just the pins; and ther input connections.

initially mute all pins and amps of all function groups.
connectpath() and disconnectpath() will mute and unmute
the widgets as required later.
2013-09-29 15:44:26 +02:00
stanley lieber 82362507f7 pkg/list: handle more directory listings 2013-09-28 01:57:31 -04:00
cinap_lenrek c9bbe34bf6 pc kernel: make syscall() return thru forkret() to handle exceptions
forkret() labels the instructions that can raise exceptions
so they can be handled in trap(). this can happen when
segment descriptors get invalidated.
2013-09-27 19:24:45 +02:00
stanley lieber 64f44612f2 fortunes: I gave up, back to 9front. -- Aram 2013-09-26 12:22:09 -04:00
cinap_lenrek d9ca084282 tcs: eleminate ambigous html entity runes. 2013-09-26 15:16:12 +02:00