summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-12-31kernel: halt idle processors on mp system by default (from sources)cinap_lenrek
one can add: int idle_spin = 1; in the kernel configuration to enable the old behaviour. see the comment at idlehands().
2013-12-29kernel: remove unused debug cprint() function from port/cache.ccinap_lenrek
the cache can be inspected more easily with acid kernel library.
2013-12-29kernel: dont call pprint() while holding up->debug qlockcinap_lenrek
pprint() might block or even (maliciously) call into devproc write which will corrupt the qlock chain on attempt to qlock up->debug again.
2013-12-29kernel: make sure user text, data and bss wont overlap the stack segment in ↵cinap_lenrek
sysexec()
2013-12-28mothra: add regular expression text search (thanks mischief, sl)cinap_lenrek
this works differently from mischiefs original patch. instead of overloading the address bar, we popup our own enter box. the function can be invoked from the menu or by hitting ^F.
2013-12-28page: fix page bookmarks for epub filescinap_lenrek
2013-12-28ape: move strdup() from libbsd to libap (from sources)cinap_lenrek
including <string.h> should be enougth to make strdup() available.
2013-12-27cifs(4): replace with correct versionstanley lieber
2013-12-27cifs(4), cifsd(8): add HISTORYstanley lieber
2013-12-27add HISTORY to various man pagesstanley lieber
2013-12-27audio/mixfs: implement Tstat to obtain buffer size, better underrun handlingcinap_lenrek
2013-12-26audio(1): add pcmconv to HISTORYstanley lieber
2013-12-26fortunes: That's a video card, Blake.stanley lieber
2013-12-26audio(3): fix spellingstanley lieber
2013-12-26audio(1): add HISTORY, fix spellingstanley lieber
2013-12-26add audio/mixfs to allow simultanious playback streams over a single /dev/audiocinap_lenrek
2013-12-25json(2): fix out of order SOURCE headingcinap_lenrek
2013-12-25devmouse: exclude sroll-wheel buttons from differential button handlingcinap_lenrek
preventing wheel buttons 4 and 5 fron getting stuck with multiple input devices.
2013-12-25acid leak: remove arena pointer a < 0xff000000 checkcinap_lenrek
in the kernel, area can lie above 0xff000000
2013-12-25devdraw: fix drawdelname() string memory leakcinap_lenrek
2013-12-25window: fix various problems, cleanupcinap_lenrek
with window -m, properly remove the old wsys from /dev before binding new window to it, so the original window wont leak into the new namespace. do not pass -pid when $wsys does not refer to a local running rio. cleanup environment before running sub-process. set window label consistentently no matter if -m is used or not.
2013-12-23page: scrollwheel, better backwards scrolling, fix blit bug when page was ↵cinap_lenrek
translated offscreen
2013-12-22/sys/lib/plumb/basic: add commas to some rules for file names that will ↵stanley lieber
frequently contain commas
2013-12-22fshalt: rfork n to avoid limbo namespace when the command failscinap_lenrek
2013-12-21mergecinap_lenrek
2013-12-21add plumbing rules for page bookmarks and audio playbackcinap_lenrek
2013-12-21page: implement bookmarks (thanks trav_ for starting it)cinap_lenrek
add new functions pageaddr() that returns a string describing the page to be loaded. it is in the form of: /path/to/file!pagename!subpage!.... one can jump to such a page by calling trywalk(name, addr) where name and addr get concatinated with ! to form a page address and then the currently loaded pages are walked up to the nearest page which is then returned. (or nil when not found). the remaining address will be set in the global pagewalk variable. once pages get loaded (asynchronously), pagewalk1() gets called again on addpage() and continues the walking up to the last page. new program flag -j <addr> was added to jump to a page on startup. page address (without filename) can also be supplied in plumb message with the "addr" attribute.
2013-12-19fortunes: What an amazing year for the Web.stanley lieber
2013-12-19json(2): fix spelling errorstanley lieber
2013-12-19add medium to low quality json(2) manual pagecinap_lenrek
2013-12-19rio: dont consider shell characters as part of the filename for auto completioncinap_lenrek
rio looks backwards in the line for the beginning of a filename that needs to be completed with ^F. this change makes the characters: =, ^, ( and { stoppers, so filename completion will work in all these cases: foobar=/foo/ba^F; for(i in (fo^F ba^F)){/bin/baz^F this means completion will not work for prefixes having these special characters in them. thanks to burnzez for bringing it up.
2013-12-17acid leak: handle ALIGN_MAGIC padding of skip area for mallocalign()cinap_lenrek
the alloc and realloc tag words do not start at the beginning of a block created by mallocalign(). instead, the block is padded with ALIGN_MAGIC.
2013-12-17pool: update debug log format string for poolallocalign()cinap_lenrek
2013-12-17devether: fix spelling mistypecinap_lenrek
2013-12-16ether82598, ether82563: remove packblock() avoidance hackcinap_lenrek
2013-12-16etheryuk: fix problems with yukon2 ep+ rev0, deoptimizecinap_lenrek
2013-12-16devether: remove qfull prints and fix loopback packet handling of etheroq()cinap_lenrek
dont spam the console with qfull warnings. this makes things worse. handle loopback packets as stated in the comment. we call etheriq() with fromwire=1 for loopback packets so etheriq() can pass the packet on (without copying) or free it. dont inhibit interrupts while calling etheriq(). etheriq() can safely be called from process and interrupt context. it is unclear what this was supposed to fix and testing didnt seem to have any odd effects.
2013-12-16devssl: use parsecmd() to process control message to get rid of 128 byte ↵cinap_lenrek
stack buffer limit (11:02:29 PM) me: why is buf in /sys/src/9/port/devssl.c:/^sslwrite only 128 bytes? (11:02:58 PM) me: it makes it so you can't use a 128 bytes secret as negotiated by infauth in a secretin or secretout ctl message (11:03:30 PM) me: which in turn means you can't use such a secret with pushssl(2) (11:06:15 PM) me: inferno's sslwrite is limited to 32 bytes, but its ssl library writes to the secret files instead of to the ctl file (11:08:50 PM) mischief: what should it be instead of 128 bytes (11:08:58 PM) me: larger (11:09:16 PM) mischief: how about 129 bytes? (11:09:59 PM) me: also broken in 9front, by the way (11:15:14 PM) me: i guess it should be replaced with parsecmd
2013-12-15exportfs: get rid of limits, cleanupcinap_lenrek
get rid of the service buffer limit. keep service buffers on a global freelist protected by lock. dont fatal when we hit the process limit. instead, just abort the rpc with an error. handle rendezvous() interrupts.
2013-12-13god damn it forgot fucking fns.h from my last commitMatthew Veety
2013-12-13Added in /dev/cputemp for bcm kernel (Thanks Krystian!)Matthew Veety
2013-12-11cifs(4): fix documentation for -d flagcinap_lenrek
2013-12-11factotum: add ntlmv2 (mschap2) client auth for cifscinap_lenrek
2013-12-09draw: fix drawing of replicated source image on memlayer with a clip rectanglecinap_lenrek
when a replicated source image with a clipr with clipr.min > Pt(0, 0), drawclip() would properly translate the src->clipr on the dstr but then clamp the source rectangle back on src->r. while traversing down multiple layers, this would cause the translation to be applied multiple times to the dst rectangle giving the wrong image result. this change adds a new drawclipnorepl() function that avoids the clamping of source and mask rectangles to src->r and mask->r. this is then used in libmemlayer. the final memimagedraw() call will call drawclip() which will do the final claming. a testcase is provided: #include <u.h> #include <libc.h> #include <draw.h> Image *blue; Image *red; void main(int, char *argv[]) { Image *i; if(initdraw(nil, nil, argv[0]) < 0) sysfatal("initdraw: %r"); i = allocimage(display, screen->r, screen->chan, 1, DWhite); red = allocimage(display, Rect(0,0,1,1), screen->chan, 1, DRed); blue = allocimage(display, Rect(0,0,1,1), screen->chan, 1, DPaleblue); replclipr(red, 1, Rect(10, 10, 110, 110)); replclipr(blue, 1, Rect(11, 11, 111, 111)); /* draw on non-layer, works correctly */ draw(i, i->r, red, nil, ZP); draw(i, i->r, blue, nil, ZP); draw(screen, screen->r, i, nil, i->r.min); flushimage(display, 1); /* draw on (screen) layer is too far to the right */ draw(screen, screen->r, red, nil, ZP); draw(screen, screen->r, blue, nil, ZP); flushimage(display, 1); for(;;){ sleep(1000); } }
2013-12-08cifs: fix compiler warningcinap_lenrek
2013-12-08handle NIL user domain, and Z(4) at end of nt blob for ntlmv2cinap_lenrek
the nt blob ends with 4 zero bytes, this is not the same as the EOL av-pair terminator! this makes ntlmv2 work with windows xp with LmCompatibityLevel = 3
2013-12-08experimental ntlmv2 server authenticaion support for cifsdcinap_lenrek
extending factotums and the auth servers mschap implementation to handle variable length NT response for NTLMv2. fix some minor bugs. only tested with cifs so far.
2013-12-07kernel: simplify pexit(), avoid making wait record for RFNOWAIT (parentless) ↵cinap_lenrek
procs replaced the p->pid != 0 check with up->parentpid != 0 so p->pid == up->parentpid is never true for p->pid == 0. avoid allocating the wait records when up->parentpid == 0.
2013-12-07devproc: make sure /proc/n/wait waits for the right process childrencinap_lenrek
theres a race when we wait for a process children and that process exits before we sleep().
2013-12-07kernel: fix pexit() Waitmsg memory leak.cinap_lenrek
when a process got forked with RFNOWAIT, its p->parent will still point to the parent process, but its p->parentpid == 0. this causes the "parent still alive" check in pexit to get confused as it only checked p->pid == up->parentpid. this condition is *TRUE* in the case of RFNOWAIT when the parent process is actually dead (p->pid == 0) so we attached the wait structure to the dead parent leaking the memory.