summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-08-20libauthsrv: add missing files (thanks mischief)cinap_lenrek
2015-08-20libsec: add pbkdf2_hmac_sha1() (from wpapsk factotum module)cinap_lenrek
2015-08-19mergecinap_lenrek
2015-08-19libauthsrv: generalize ticket service, not hardcoding ticket format and DES ↵cinap_lenrek
encryption this is in preparation for replacing DES ticket encryption with something better. but first need to make the code stop making assumptions. the wire encoding of the Ticket might be variable length with TICKETLEN just giving an upper bound. the details will be handled by libauthsrv _asgetticket() and _asgetresp() funciotns. the Authenticator and Passwordreq structures are encrypted with the random ticket key. The encryption schmeme will depend on the Ticket format used, so we pass the Ticket* structure instead of the DES key. introduce Authkey structure that will hold all the required cryptographic keys instead of passing DES key.
2015-08-18/lib/1oct1993: use words correctly (thanks, spew)stanley lieber
2015-08-18aux/statusbar: use title as rio window title (thanks qrstuv)mischief
2015-08-17libsec: TLS1.2 server support, make cipher list with most prefered firstcinap_lenrek
2015-08-17libsec: TLS1.2 client supportcinap_lenrek
2015-08-17bullshit: app, deep-learning, responsive.cinap_lenrek
2015-08-17cc: improve (non-) side effect detection (thanks charle)cinap_lenrek
2015-08-16games/doom: fix array offsets for respawn angle (thanks qu7uux)cinap_lenrek
mthing->angle is a signed short, and if ANG45 * mthing->angle/45 < 0, the result of the right shift is sign extended. afaik, an being 16bit in the dos version of doom, you'd endup with a negative array offset, which would just access values from adjacent arrays (finetangent[] for finecosine[], and finecosine[] for finesine[]), and it would result in a misplaced teleport fog in some circumstances (fog is not in front of the player on respawn, hence "silent teleport"). so, this fix is bug incompatible, but this only affects live multiplay. to test: % hget http://doomedsda.us/dm/ahfx7_2.zip | unzip -sv extracting AHFX7_2.TXT extracting AHFX7_2.LMP % mv AHFX7_2.LMP ahfx7_2.lmp % games/doom -playdemo ahfx7_2 [...] doom 10553: suicide: sys: trap: fault read addr=0x400429e10 pc=0x205b45
2015-08-16games/doom: fix gamma correction and key translation (thanks qu7uux)cinap_lenrek
KEY_F11 and KEY_F12 are not KEY_F1+11 and KEY_F1+12 as it is assumed in runetokey(), which prevents these keystrokes from being used. rather than change runetokey(), it seems better to just change the key definitions in doomdef.h (the new values don't correspond to any other keys anyway). F11 is the gamma correction key. to make gamma correction actually work, i_video.c:I_SetPalette must also take into account usegamma (this was just never ported). cf i_video.c:UploadNewPalette in source code release. F12 is the spycam key. the spycam switches the renderview to a different player during a coop game, or when watching a multiplayer demo. this feature only changes the renderview; sounds, palette effects, status bar, etc. are still from the first player's perspective.
2015-08-16games/doom: fix idclev cheat in doom2 and final doom (thanks qu7uux)cinap_lenrek
a typo in st_stuff.c:ST_Responder prevents idclev (change level) cheat to work in doom2 and final doom (gamemode == commercial): episode is set to 0, when that's invalid, and ST_Responder just returns. to test, while ingame type idclev, followed by: . doom1: episode (1-3 or 1-4) then map number (1-9) . doom2/final doom: map number (1-32) incidentally, if the last digit typed is 1, the player's weapon will switch to the fist, because of a different bug (basically kbdproc registering two events when pressing a key, for 'c' and 'k' case).
2015-08-16games/doom: fix unterminated comment causing sound bugs (from qu7uux)cinap_lenrek
this bug was introduced in the plan9 port, and since i_sound.c compiles with no warning, it was never noticed. in effect, the statement between the unterminated comment and the next is ignored. channelids[] is used in addsfx() to avoid re-adding certain sounds if they are already playing. one of those is sfx_sawful, and because of this bug, it is added again each tic during which the player fires the chainsaw, rather than reset every tic. compare firing the chainsaw continuously with and without the patch (without hitting an enemy).
2015-08-16devether: duplicate flags when copying blocks (thanks erik quanstro)cinap_lenrek
2015-08-16vc: word align automaticscinap_lenrek
theres code that assumes one can dereference a char[] buffer on the stack as a long (ghostscript gxblend.c), so make sure all automatics on the stack are word aligned. this is not strictrly neccesary, but avoids some trouble with unportable code.
2015-08-16gs: fix alignment bug in image_render_interpolate()cinap_lenrek
2015-08-166l: fix vlong byte order when running on big endian machine (thanks erik ↵cinap_lenrek
quanstro)
2015-08-16libcontrol: fix label memory leakmischief
2015-08-16mothra: fix crashcinap_lenrek
2015-08-16rio(4): document "delete" wctl message (thanks mischief)cinap_lenrek
2015-08-16libsec: fix mistake breaking tlsServer() (thanks sl)cinap_lenrek
2015-08-16cpu: cleanup ssl code, make sure -p works for any auth methodcinap_lenrek
2015-08-15import(4): clarify -E and -e optionscinap_lenrek
2015-08-15libsec: TLS1.1 support (needs new devtls)cinap_lenrek
2015-08-15devtls: TLS1.1 explicit iv supportcinap_lenrek
using nrand() to fill the explicit iv, which isnt great but better than no iv.
2015-08-14kernel: try freebroken() *before* killbig() (thanks aiju)cinap_lenrek
2015-08-13hjfs: fix deadlockscinap_lenrek
buffers which still have requests queued on them are not free! we cannot chanedev() a buffer while it has still requests queued on it and we canot just queue our request (having different address) on the buffer while there are other requests before it, otherwise we would create artificial block dependency that can cause deadlock.
2015-08-11hjfs: fix abort() in givebuf()cinap_lenrek
it is possible for another getbuf() on buffer b to come in before undelayreq() calls givebuf() on a buffer again. then givebuf() would find b already busy and abort(). instead, we now handle what getbuf() did in givebuf() and consider the Buf* argument to givebuf() as a hint only for the case when we have to actually flush/read a block from disk.
2015-08-10libc: fix wunlock() libthread deadlockcinap_lenrek
when wunlock() was used by threads running within the same proc, the wunlock() can deadlock as it keeps holding the RWLock.lock spinlock while indirectly calling _threadrendezvous(). when _threadrendezvous() switches to another thread in the same proc, then that thread can hang at rlock()/wlock()/runlock() again waiting for wunlock() to release the spinlock which will never happen as lock() does not schedule threads. wunlock() is changed to release the spinlock during rendezvous wakeup of readers. note that this is a bit dangerous as more readers might queue concurrently now which means that if we cannot keep up with the wakeups, we might keep on waking readers forever. that will be another patch for the future.
2015-08-09libc: fix spim endiannessmischief
2015-08-10mount, srv: add -N flag to skip authentication and attach anonymously as "none"cinap_lenrek
2015-08-09fortunes: If you want to do the work, I will review the results.stanley lieber
2015-08-10lib9p: make reqqueueflush() use new threadint(), which will also cover ↵cinap_lenrek
channel operations using "interrupt" ctl message directly doesnt work when the process is doing libthread channel operations (threadrendezvous) as it will just repeat a interrupted rendezvous(). threadint() handles this for us.
2015-08-10libthread: use "interrupt" proc ctl message instead of posting a note for ↵cinap_lenrek
threadint() threadint() is called to interrupt channel operation or a system call. the kernel provides a new "interrupt" procctl message to interrupt a process commited to or being in a blocking syscall, which is similar, but not the same. the main difference is that "interrupt" condition is not cleared before the process actually attempts to block. also can be cleared with "nointerrupt" ctl message. see proc(3)
2015-08-10libthread: fix mistake, make "all" the default target againcinap_lenrek
2015-08-09acid -k: fix intrcount() for amd64cinap_lenrek
2015-08-09acid -k: fix procenv() to new data structurecinap_lenrek
2015-08-09zunq: remove unused variables from devqspicinap_lenrek
2015-08-09kernel: move "setargs" field in Proc structure after "nargs" and "args"cinap_lenrek
2015-08-09kernel: mount flag is int not ulong, reduce size of Mount struct by putting ↵cinap_lenrek
mflag field in what would be wasted as padding
2015-08-09kernel: pgrpcpy(), simplify Mount structurecinap_lenrek
instead of ordering the source mount list, order the new destination list which has the advantage that we do not need to wlock the source namespace, so copying can be done in parallel and we do not need the copy forward pointer in the Mount structure. the Mhead back pointer in the Mount strcture was unused, removed.
2015-08-09kernel: fix Mheadachecinap_lenrek
there was a race between cunmount() and walk() on Mhead.from as Mhead.from was unconditionally freed when we cunmount(), but findmount might have already returned the Mhead in walk(). we have to ensure that Mhead.from is not freed before the Mhead itself (now done in putmhead() once the reference count of the Mhead drops to zero). the Mhead struct contained two unused locks, removing. no need to hold Pgrp.ns lock in closegrp() as nobody can get to it (refcount droped to zero). avoid cclose() and freemount() while holding Mhead.lock or Pgrp.ns locks as it might block on a hung up fileserver. remove the debug prints... cleanup: use nil for pointers, remove redundant nil checks before putmhead().
2015-08-08rootstub: add spimcinap_lenrek
2015-08-08cdproto: add spimcinap_lenrek
2015-08-08add /spimcinap_lenrek
2015-08-08python: fix build for objtype=$spimcinap_lenrek
2015-08-08gs: fix build for objtype=spimcinap_lenrek
2015-08-08libmp: fix build for objtype=spimcinap_lenrek
2015-08-08ape: fix build for objtype=spimcinap_lenrek