summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-08-16kernel: xinit() use ulong for page counts, cleanupcinap_lenrek
2014-08-16nusb/kb: delete code for keyboard boot protocol handling, just use hid parsercinap_lenrek
unify the keyboard and mouse readers into one using the hid report parser for both. remove the keyboard protocol handling, as it is now handled by hid parser and all we get is a sequence of keycodes in Hiddev.k[] which we diff for up/down and translate to pc scancodes.
2014-08-14spred: command window improvementsaiju
2014-08-14import: make aan (-p flag) work in ``backwards mode'' (-B)cinap_lenrek
in backwards mode, the roles of the aan filters need to be reversed. add "-n address" option to import to override the announce address for the aan server part (default tcp!*!0).
2014-08-13nusb/ptp: do maxpkt reads to avoid babble error with usb 2.0 devices (thanks ↵cinap_lenrek
mischief!) mischief got babble error with his mobile phone as we used to read at max 64 bytes for the data response phase. his device has 512 byte packet size. thans to mischief for the patience.
2014-08-13devenv: prevent non-hostowner from creating or removing variables in '#ec', ↵cinap_lenrek
cleanup
2014-08-12ip: fix missed unlocks and waserror handlerscinap_lenrek
ipifcunbind() could error out from ipifcremlifc() and Medium.unbind() *after* decrementing ifc->conv->inuse! move the decrement after calling these functions. make ipifcremlifc() never raise error but return error string. the only places where it could error is when it calls into medium functions like Medium.remroute() and Medium.remmulti(). Ignore these errors as they could happen when the ethernet driver crashed (think imported ethernet device or usb ethernet in userspace), so we will be able to unbind. add waserror() handlers as neccesary to deal with errors from Medium.addmulti(), Medium.areg() and arpenter() to properly unlock the data structures.
2014-08-12aux/8prefix: fix usagemischief
2014-08-10secstore(1): clarify how the server is dialed and add new $secstore ↵mischief
environment variable
2014-08-10secstore: read server from $secstore environment variablemischief
this allows setting the secstore server with secstore=tcp!example.com!secstore or secstore='$secstore' to read from ndb.
2014-08-10fortunes: it´s easy but you are complicatedstanley lieber
2014-08-10fs(8): correct spellingstanley lieber
2014-08-11cwfs: add optional uid argument to allow command, unify permission override codecinap_lenrek
the allow command now takes an optional uid argument for the user to be granted temporary god status on the fileserver for maintenance. this was kenji okomotos idea, so thanks :) remove wstatallow and writeallow flags. instead, we have global: int allowed; that contains the uid of the currently allowed user id or -1 if permission checking is globally disabled for the fileserver. when zero, normal permission checking takes place. added int isallowed(File*) function that returns non-zero when the context is the console, or the allowed user. this is also used internally by iaccess(), so all the extra code of in the callers of iaccess() is gone now. dont conflate allowed user with noauth flag and auto-allow on ream. the installer already knows about noauth and allow flags so theres no problem with bootstraping.
2014-08-095a: MOVM.IA.W.S ..., [R15] is exception return and needs to be allowed ↵cinap_lenrek
(thanks aiju)
2014-08-09cwfs: fix 32bit multiplication overflows for allocation sizes (thanks kenji ↵cinap_lenrek
okomoto)
2014-08-095a: reject MOVM instruction with .S and .W bits both set (aijus idea)cinap_lenrek
2014-08-08kernel: more nil vs 0 cleanup in chan.ccinap_lenrek
2014-08-08kernel: use nil for pointers instead of 0, zero channel umc and dirrock in ↵cinap_lenrek
newchan()
2014-08-08ndb/dns: fix nil dereference crash with convM2DNS() returning reqmsg.qd == nilcinap_lenrek
2014-08-08devmnt: fix potential race with mntflushfree(), remove mntstats, 0 vs nil ↵cinap_lenrek
cleanup when mountmux() completes a request for another process, enforce odering of the loads and stores to the request prior to writing q->done = 1 so mntflushfree() sees q->done != 0 only when the request has actually completed. otherwise, the q->done = 1 store could have been reordered before the load from q->z, reading from already freed request and causing spurious wakeups. removing unused mntstats callback. use nil for pointers instead of 0.
2014-08-078c, 6c: generate enam.c file, just like 5ccinap_lenrek
2014-08-07pc, pc64: make pc kaddr() check reject -KZERO address (thanks aiju)cinap_lenrek
2014-08-075a, 5l: add LDREX/STREX/CLREX instructionscinap_lenrek
2014-08-07pc64: fix wrong Ureg* argument on note handler (thanks _sl!)cinap_lenrek
_sl reported crash: stats 593: suicide: sys: trap: fault write addr=0xffffffff8258d1b0 pc=0x204cc7 ; acid 593 /proc/593/text:amd64 plan 9 executable /sys/lib/acid/port /sys/lib/acid/amd64 acid: lstk() notejmp(ret=0x1,j=0x40ac90)+0x13 /sys/src/libc/amd64/notejmp.c:10 alarmed(a=0xffffffff8258d1b0,s=0x7ffffeffea58)+0x3f /sys/src/cmd/stats.c:718 notifier+0x3e /sys/src/libc/port/atnotify.c:15 acid: note how a in alarmed is a kernel address! the first Ureg* argument is passed to the note handler in the RARG (BX) register, which was not loaded when returning to userspace from syscall() thru forkret(). fix by returning thru noteret() from syscall().
2014-08-04samterm: fix ctrl-b crash when cmd window resized (thanks revex)cinap_lenrek
for reference: On IRC revex reported that samterm crashes on Ctrl-b if the command window has been resized. I was able to reproduce: http://plan9.stanleylieber.com/sam/bugs/ctrl-b.png ; acid 831213 /proc/831213/text:amd64 plan 9 executable /sys/lib/acid/port /sys/lib/acid/amd64 acid: lstk() abort()+0x0 /sys/src/libc/9sys/abort.c:6 panic1(s=0x400448)+0x27 /sys/src/cmd/samterm/main.c:692 panic()+0x19 /sys/src/cmd/samterm/main.c:684 lldelete()+0x71 /sys/src/cmd/samterm/flayer.c:221 flupfront(l=0x40eac0)+0x18 /sys/src/cmd/samterm/flayer.c:139 v=0x20062900000001 current(nw=0x40eac0)+0x49 /sys/src/cmd/samterm/main.c:156 type(l=0x40eac0,res=0x15300000001)+0x37c /sys/src/cmd/samterm/main.c:658 t=0x40eaa8 buf=0x419ec0 p=0x41dd48 a=0x0 backspacing=0x200000000 c=0x41dd4800000002 cursor=0x0 a0=0x0 threadmain(argv=0x7ffffeffefa0)+0x21c /sys/src/cmd/samterm/main.c:75 r=0xb0000001b1 got=0xfefefefe00000002 chord=0x0 nwhich=0x43c310 scr=0x200000000 t=0xfefefefefefefefe w=0x43c310fefefefe mainlauncher()+0x18 /sys/src/libthread/main.c:59 launcheramd64(arg=0x4194a0,f=0x221673)+0x10 /sys/src/libthread/amd64.c:11 0xfefefefefefefefe ?file?:0 acid:
2014-08-03iostats: properly distribute exit status and give usefull error messagescinap_lenrek
2014-08-03iostats: remove unused fcallfmt, dont leak our mount pipe end into exportfs proccinap_lenrek
2014-08-03iostats: bring back standard filedescriptor spyingcinap_lenrek
2014-08-02exportfs: simplify freefile() codecinap_lenrek
remove impossible checks, rewrite as while loop.
2014-08-02exportfs: remove getsbuf() nil check, can't happencinap_lenrek
2014-08-02iostats: isolate fs from interrupt notescinap_lenrek
interrupt notes go to the child process, not the filesystem and filter process.
2014-08-02iostats: cannot spy on fd 0,1,2 as /fd is per processcinap_lenrek
2014-08-02exportfs: cleanupcinap_lenrek
2014-08-02ftpfs: dont convert names to latin when string is valid utf-8cinap_lenrek
2014-08-02python: disable symlink and readlink compile options, ape has no reasonable ↵cinap_lenrek
way emulating it
2014-08-02iostats: dont prefix /bin to argv[0] when already absolute or relative pathcinap_lenrek
2014-08-02iostats: cleanup, remove bogus Maxrpc constantcinap_lenrek
2014-08-02iostats: reimplement iostats as a 9p filter instead of duplicating exportfscinap_lenrek
old iostats failed to work when builidng the kernel due to old bugs that where already fixed in exportfs. instead of backporting the fixes, reimplement iostats as a filter that sits between exportfs and the process mount. from users perspective, theres no difference. the result is much smaller and can handle everything that exportfs can like /srv.
2014-08-01usps: yet another updateftrvxmtrx
2014-08-01exportfs: use argv0 instead of hardcoding "/bin/exportfs" in openmount(), ↵cinap_lenrek
dont use 0 for nil
2014-07-31spred: scrolling and other bugfixesaiju
2014-07-30fstype: fix kfs detection (thanks kenji okomoto)cinap_lenrek
2014-07-30fortunes: From: urielc@cantv.netstanley lieber
2014-07-30spred(1): fix troffstanley lieber
2014-07-30added sprite editor spredaiju
2014-07-29fstype(1): document hjfsstanley lieber
2014-07-23rc: fix slow Xqdol(), avoid recursion in conclist(), estrdup(), avoid copyingcinap_lenrek
Xqdol() used to take quadratic time because of strcat(), the code isnt really needed as list2str() aready does the same thing in linear time without the strcat(). add estrdup() which uses emalloc() so allocation error are catched. move strdups() of name from callers into newvar(). avoid recursion of conclist(), and avoid copying of word strings by providing Newword() function which doesnt copy the word string.
2014-07-22ratrace(1): uses syscall not syscalltrace filemischief
2014-07-22fortunes: I wanted to do something that didn't involve arguing online about ↵stanley lieber
trivia. -- jwz
2014-07-22sega(1): add man page for games/md (and potential future sega emulators)stanley lieber