]>
git.lizzy.rs Git - plan9front.git/log
stanley lieber [Fri, 9 Sep 2016 20:59:00 +0000 (16:59 -0400)]
fortunes: Nein -- General Chuck Yeager
cinap_lenrek [Thu, 8 Sep 2016 08:40:19 +0000 (10:40 +0200)]
authsrv(2): update Nvrsafe structure to include aesmachkey
cinap_lenrek [Wed, 7 Sep 2016 23:49:25 +0000 (01:49 +0200)]
kernel: fix type for utime/stime in pexit(), fix debug format strings
cinap_lenrek [Wed, 7 Sep 2016 23:28:34 +0000 (01:28 +0200)]
kernel: make sure procalarm() remaining time doesnt become negative
cinap_lenrek [Wed, 7 Sep 2016 22:44:38 +0000 (00:44 +0200)]
kernel: always do unsigned subtractions for m->ticks delta for updatecpu() and rebalance(), handle ticks wrap arround in hzsched()
cinap_lenrek [Wed, 7 Sep 2016 21:39:10 +0000 (23:39 +0200)]
kernel: use tk2ms() instead of TK2MS macro for process time conversion
this code isnt time critical and process TReal delta can become
very long, so use tk2ms() which is less prone to overflow.
cinap_lenrek [Wed, 7 Sep 2016 21:36:04 +0000 (23:36 +0200)]
kernel: tsemacquire() use MACHP(0)->ticks for time delta
we might wake up on a different cpu after the sleep so
delta from machX->ticks - machY->ticks can become negative
giving spurious timeouts. to avoid this always use the
same mach 0 tick counter for the delta.
cinap_lenrek [Wed, 7 Sep 2016 19:14:23 +0000 (21:14 +0200)]
devcap: timeout capabilities after a minute, fix memory leak, paranoia
the manpage states that capabilities time out after a minute,
so we add ticks field into the Caphash struct and record the
time when the capability was inserted. freeing old capabilities
is handled in trimcaps(), which makes room for one extra cap
and frees timed out ones.
we also limit the capuse write size to less than 1024 bytes to
prevent denial of service as we have to copy the user buffer.
(memory exhaustion).
we have to check the from user *before* attempting to remove
the capability! the wrong user shouldnt be able to change any
state. this fixes the memory leak of the caphash.
do the hash comparsion with tsmemcmp(), avoiding timing
side channels.
allocate the capabilities in secret memory pool to prevent
debugger access.
cinap_lenrek [Tue, 6 Sep 2016 20:29:40 +0000 (22:29 +0200)]
merge
cinap_lenrek [Tue, 6 Sep 2016 20:27:26 +0000 (22:27 +0200)]
devproc: do unsigned subtraction to get MACHP(0)->ticks - up->times[TReal] delta
aiju [Mon, 5 Sep 2016 15:48:46 +0000 (15:48 +0000)]
pc(1): bugfix: allow setting output base to 0 (thanks, deuteron)
cinap_lenrek [Sat, 3 Sep 2016 17:05:28 +0000 (19:05 +0200)]
5c: do shift propagation for rotate right (ROR)
cinap_lenrek [Sat, 3 Sep 2016 16:18:28 +0000 (18:18 +0200)]
5c: format assembly constant right shift encoding 0 as >>32
cinap_lenrek [Sat, 3 Sep 2016 15:11:38 +0000 (17:11 +0200)]
5a: assemble constant >>0 right shifts as <<0 (no shift), allow >>32
previously, right shift >>0 resulted in >>32 being emited. this
is especially problematic when the shift count comes from a macro
expansion.
we now handle constant shift >>0 as <<0 (no shift) and allow
shift by 32 be specified.
this applies to logical right shift (>>) arithmetic right shift (->)
and right rotate (@>).
cinap_lenrek [Sat, 3 Sep 2016 15:01:56 +0000 (17:01 +0200)]
5l: format assembly constant right shift encoding 0 as >>32
cinap_lenrek [Sat, 3 Sep 2016 14:47:51 +0000 (16:47 +0200)]
libmach: fix RORREG, right shift with shift count 0 means >>32
aiju [Thu, 1 Sep 2016 11:46:44 +0000 (11:46 +0000)]
pc(1): manpage: restore previous size rather than set to 10
aiju [Thu, 1 Sep 2016 11:38:33 +0000 (11:38 +0000)]
pc(1): manpage formatting
aiju [Thu, 1 Sep 2016 10:55:12 +0000 (10:55 +0000)]
pc: add cat() function
aiju [Thu, 1 Sep 2016 10:46:37 +0000 (10:46 +0000)]
mptrunc: don't write to r->p[r->top]
aiju [Wed, 31 Aug 2016 13:00:50 +0000 (13:00 +0000)]
pc: add rev function
aiju [Mon, 29 Aug 2016 07:57:15 +0000 (09:57 +0200)]
pc: add gcd, rand and minv; set base of logical operation results to 0
cinap_lenrek [Mon, 29 Aug 2016 00:09:34 +0000 (02:09 +0200)]
libmp: remove unused mpeuclid.c
cinap_lenrek [Mon, 29 Aug 2016 00:07:52 +0000 (02:07 +0200)]
libmp: allow passing nil to v,x,y results of mpextendedgcd(), simplify mpinvert()
cinap_lenrek [Sun, 28 Aug 2016 22:45:16 +0000 (00:45 +0200)]
libmp: mpnrand(), what was i *THINKING*
the prior implementation was unneccesarily complicated for
no good reason due to me misunderstanding how libc's nrand()
works. in contrast to libc, we already generate the *closest*
power-of-2 random number with mprand() in the sampling loop.
cinap_lenrek [Sun, 28 Aug 2016 15:39:18 +0000 (17:39 +0200)]
python: remove automatic compiled module loading (.pyc files)
cinap_lenrek [Sun, 28 Aug 2016 14:46:32 +0000 (16:46 +0200)]
libmp: mpdiv(): fix divisor==quotient case (again)
cinap_lenrek [Sun, 28 Aug 2016 14:33:52 +0000 (16:33 +0200)]
libmp: timingsafe sign flip for small power-of-two negative divisor for mpdiv()
aiju [Sun, 28 Aug 2016 14:05:22 +0000 (16:05 +0200)]
mp.h: add mpasr
aiju [Sun, 28 Aug 2016 11:59:16 +0000 (13:59 +0200)]
pc(1): SYNOPSIS...
aiju [Sun, 28 Aug 2016 11:49:26 +0000 (13:49 +0200)]
pc(1): document -n option in manpage
aiju [Sun, 28 Aug 2016 11:40:01 +0000 (13:40 +0200)]
add pc(1)
aiju [Sun, 28 Aug 2016 10:00:25 +0000 (12:00 +0200)]
mpdiv: negative divisor has to flip sign of quotient
aiju [Sun, 28 Aug 2016 09:38:29 +0000 (11:38 +0200)]
mp: fix mptov and mptouv
aiju [Sun, 28 Aug 2016 08:49:41 +0000 (10:49 +0200)]
mp: fix mpnot and add mpasr
cinap_lenrek [Sun, 28 Aug 2016 01:41:25 +0000 (03:41 +0200)]
mercurial: use new d_stat from dirent structure in osutil.listdir
cinap_lenrek [Sun, 28 Aug 2016 01:39:49 +0000 (03:39 +0200)]
ape: add d_stat struct in dirent struct allowing the avoidance of stats
aiju [Sat, 27 Aug 2016 23:23:51 +0000 (01:23 +0200)]
timmy: manpage
aiju [Sat, 27 Aug 2016 23:08:26 +0000 (01:08 +0200)]
strtomp: update the returned char* even if there were no characters parsed
aiju [Sat, 27 Aug 2016 23:07:34 +0000 (01:07 +0200)]
strtomp: fix mpbits() call in octal code
cinap_lenrek [Sat, 27 Aug 2016 20:37:08 +0000 (22:37 +0200)]
fix wrong manpage section index generation for rc-httpd(8)
cinap_lenrek [Sat, 27 Aug 2016 19:28:21 +0000 (21:28 +0200)]
rio(4): document text truncation
cinap_lenrek [Sat, 27 Aug 2016 19:27:52 +0000 (21:27 +0200)]
rand(2), cons(3): clarify /dev/random behaviour
cinap_lenrek [Sat, 27 Aug 2016 18:50:55 +0000 (20:50 +0200)]
merge
cinap_lenrek [Sat, 27 Aug 2016 18:42:31 +0000 (20:42 +0200)]
kernel: switch to fast portable chacha based seed-once random number generator
cinap_lenrek [Sat, 27 Aug 2016 18:39:36 +0000 (20:39 +0200)]
devsdp: keep cipher states in secret memory
cinap_lenrek [Sat, 27 Aug 2016 18:38:33 +0000 (20:38 +0200)]
ip/esp: allocate cipher states in secret memory
cinap_lenrek [Sat, 27 Aug 2016 18:37:31 +0000 (20:37 +0200)]
devtls: allocate cipher states in secret memory
cinap_lenrek [Sat, 27 Aug 2016 18:37:14 +0000 (20:37 +0200)]
devssl: allocate cipher states in secret memory
cinap_lenrek [Sat, 27 Aug 2016 18:36:08 +0000 (20:36 +0200)]
wifi: update wifi.h header
cinap_lenrek [Sat, 27 Aug 2016 18:35:39 +0000 (20:35 +0200)]
wifi: allocate cipher states in secret memory, do AESstate key setup once
cinap_lenrek [Sat, 27 Aug 2016 18:33:03 +0000 (20:33 +0200)]
kernel: add secalloc() and secfree() functions for secret memory allocation
The kernel needs to keep cryptographic keys and cipher states
confidential. secalloc() allocates memory from the secret pool
which is protected from debuggers reading the memory thru devproc.
secfree() releases the memory, overriding the data with garbage.
cinap_lenrek [Sat, 27 Aug 2016 18:23:55 +0000 (20:23 +0200)]
libc: add poolisoverlap() and definitions for Pool *secrmem
aiju [Fri, 26 Aug 2016 19:23:13 +0000 (21:23 +0200)]
Bfn: set +x
aiju [Thu, 25 Aug 2016 21:39:07 +0000 (23:39 +0200)]
document Bfn
aiju [Thu, 25 Aug 2016 21:03:54 +0000 (23:03 +0200)]
fix Bfn botch
aiju [Thu, 25 Aug 2016 20:36:39 +0000 (22:36 +0200)]
add Bfn script
cinap_lenrek [Sat, 20 Aug 2016 17:09:08 +0000 (19:09 +0200)]
merge
cinap_lenrek [Sat, 20 Aug 2016 17:06:57 +0000 (19:06 +0200)]
vga/igfx: add pci did's for kenjis intel graphics cards.
cinap_lenrek [Sat, 20 Aug 2016 16:51:07 +0000 (18:51 +0200)]
merge
cinap_lenrek [Sat, 20 Aug 2016 16:49:44 +0000 (18:49 +0200)]
vga/igfx: work in progress fdi link train for sandy bridge, properly calculate fdi and displayport lane count
spew [Thu, 18 Aug 2016 13:52:58 +0000 (08:52 -0500)]
fix awk format printing bugs (thanks aiju)
cinap_lenrek [Tue, 16 Aug 2016 16:06:22 +0000 (18:06 +0200)]
devmnt: fix mistake in mntrahread()
mntrahread() had the prefetch window condition wrong so
it would very agressively prefetch ignoring the prefetch
window.
cinap_lenrek [Mon, 15 Aug 2016 07:07:34 +0000 (09:07 +0200)]
webfs: dont include http status in "needkey" error string
cinap_lenrek [Mon, 15 Aug 2016 06:40:04 +0000 (08:40 +0200)]
libframe: consistent use of nil vs. 0
cinap_lenrek [Sun, 14 Aug 2016 23:07:28 +0000 (01:07 +0200)]
libflate: add bounds checking on decode array, add sanity checks in hufftab()
cinap_lenrek [Sun, 14 Aug 2016 21:10:19 +0000 (23:10 +0200)]
ndb/cs: don't lookup AAAA records for IL, make sure translated address is IPv4 for IL, consistent use of nil vs. 0 for pointers
cinap_lenrek [Sun, 14 Aug 2016 21:07:10 +0000 (23:07 +0200)]
ip/il: dont attept to connect over IPv6, IL only supports IPv4 packets
cinap_lenrek [Sun, 14 Aug 2016 16:52:18 +0000 (18:52 +0200)]
6c: subsitute floating point registers eleminating MOVSD and MOVSS instructions in peephole pass
cinap_lenrek [Wed, 10 Aug 2016 00:40:16 +0000 (02:40 +0200)]
ratrace: fix fork/exec race with "nohang" procctl (like a debugger)
aiju [Mon, 8 Aug 2016 20:19:29 +0000 (22:19 +0200)]
document mplogic functions
cinap_lenrek [Mon, 8 Aug 2016 05:48:55 +0000 (07:48 +0200)]
auth/fgui: use pale colors
cinap_lenrek [Mon, 8 Aug 2016 05:37:57 +0000 (07:37 +0200)]
libcontrol: primitive text entry cut and paste with mouse
cinap_lenrek [Mon, 8 Aug 2016 03:35:06 +0000 (05:35 +0200)]
hgwebfs: make hgwebfs prompt for password
cinap_lenrek [Mon, 8 Aug 2016 03:32:20 +0000 (05:32 +0200)]
webfs: avoid retry loops when we got a bad key in factotum
cinap_lenrek [Mon, 8 Aug 2016 02:17:41 +0000 (04:17 +0200)]
webfs: include factotum key query in error string for 401/407 Unauthorized status
cinap_lenrek [Mon, 8 Aug 2016 00:03:06 +0000 (02:03 +0200)]
authsrv(6): document session secret key derivation for p9sk1 and dp9ik
aiju [Sun, 7 Aug 2016 22:54:45 +0000 (00:54 +0200)]
mptrunc: normalize after mpassign to handle the case b==r
cinap_lenrek [Sat, 6 Aug 2016 13:09:18 +0000 (15:09 +0200)]
thread(2): threadgrp() -> threadgetgrp(), thanks jpm
cinap_lenrek [Fri, 5 Aug 2016 17:09:42 +0000 (19:09 +0200)]
libauthsrv: ANAMELEN -> PASSWDLEN
cinap_lenrek [Thu, 4 Aug 2016 09:48:19 +0000 (11:48 +0200)]
libauth: fix mount file-descriptor leak in auth_chuid()
cinap_lenrek [Thu, 4 Aug 2016 09:47:12 +0000 (11:47 +0200)]
auth/login: add dp9ik key to sub factotum, get rid of temporary /srv file
cinap_lenrek [Thu, 4 Aug 2016 08:38:20 +0000 (10:38 +0200)]
ape/libauth: add PASSWDLEN constant to compile passtokey.c from native libauthsrv (thanks lawler)
cinap_lenrek [Sun, 31 Jul 2016 18:16:25 +0000 (20:16 +0200)]
auth: various cleanups, use common readcons() from libauthsrv, zero keys after use
cinap_lenrek [Sun, 31 Jul 2016 18:09:47 +0000 (20:09 +0200)]
auth/secstore: use common readcons() routine from libauthsrv
cinap_lenrek [Sun, 31 Jul 2016 18:06:56 +0000 (20:06 +0200)]
auth/factotum: use common readcons() function from libauthsrv
cinap_lenrek [Sun, 31 Jul 2016 18:04:02 +0000 (20:04 +0200)]
libauthsrv: export common readcons() routine and introduce PASSWDLEN constant
drawterm, factotum, secstore and the auth commands
all had ther own implementation of readcons. we
want to have one common function for this to avoid
the duplication, so putting that in libauthsrv.
introduce PASSWDLEN which makes the use more explicit
than ANAMELEN.
cinap_lenrek [Sun, 24 Jul 2016 13:13:14 +0000 (15:13 +0200)]
auth/changeuser: fix misleading print (secret is 31 chars max, not 256)
cinap_lenrek [Sun, 24 Jul 2016 01:24:42 +0000 (03:24 +0200)]
devtls, devssl: make sure channel has ORDWR mode and is not a mount chan on fdtochan()
cinap_lenrek [Sun, 24 Jul 2016 01:23:01 +0000 (03:23 +0200)]
swap: make sure swap chan has ORDWR mode on fdtochan()
cinap_lenrek [Sun, 24 Jul 2016 00:21:32 +0000 (02:21 +0200)]
make error handling in 9p service loops consistent
when we get eof, stop the loop immidiately and do not
rely on the read to eventually return an error.
when convM2S() fails to decode the message, error out
and stop the loop. there is no point in continuing.
cinap_lenrek [Sun, 24 Jul 2016 00:17:45 +0000 (02:17 +0200)]
upas/fs: remove checkmboxrefs() debugging code, properly handle errors in 9p loop
cinap_lenrek [Sun, 24 Jul 2016 00:12:17 +0000 (02:12 +0200)]
ndb/dns: remove procname statistics and restart feature, cleanup 9p service loop
given that the memory leaks have been fixed, theres no need
for the obscure restart feature which is not reliable anyway.
remove the code updating procname on each 9p request.
handle convM2S error by exiting the service loop, dont read
9p channel after eof.
cinap_lenrek [Tue, 19 Jul 2016 20:10:52 +0000 (22:10 +0200)]
kernel: dont pprint() into 9p channels
when fd 2 (stderr) points to a mount channel, dont
cause protocol confusion by dumping error strings
into it.
cinap_lenrek [Fri, 15 Jul 2016 19:13:35 +0000 (21:13 +0200)]
5c: fix int -> uvlong cast bug (thanks to qwx on his patience on a the trouble session to narrowing it down)
we used to not sign extend if the destination was unsigned
uvlong, which is wrong. we have to sign extend only based
on the signedness of the source (it gets propagated to vlong)
this bug hit in hjfs in the newentry() function, causing file
creation to fail with "create -- phase error":
newentry(...)
{
uvlong sj;
int si;
...
sj = si = -1;
...
}
cinap_lenrek [Fri, 15 Jul 2016 13:04:32 +0000 (15:04 +0200)]
5a: ROL instruction
cinap_lenrek [Sun, 10 Jul 2016 19:41:57 +0000 (21:41 +0200)]
libsec: add scrypt password based key derivation function
cinap_lenrek [Fri, 8 Jul 2016 14:19:15 +0000 (16:19 +0200)]
disk/prep: if no 9fat, reserve space for plan9 partition table in autopart (thanks Shamar)
usually, the plan9 partition table is contained in
the first 9fat partition after the pbs/fat header,
but when no 9fat partition is requested, we have
to make sure partitions wont overlap the partition
table (start at sector offset >= 2).
cinap_lenrek [Fri, 8 Jul 2016 02:16:37 +0000 (04:16 +0200)]
5l: ROR instruction
spew [Wed, 6 Jul 2016 04:21:36 +0000 (23:21 -0500)]
remove mpc.tab.h on mk clean