Commit graph

4689 commits

Author SHA1 Message Date
cinap_lenrek 51115b9214 aan: handle case when reader closes netfd
when netfd is closed and set to -1 by the fromnet()
reader proc, handle it like network failure and try
reconnecting.
2016-03-10 18:50:29 +01:00
cinap_lenrek 28bd8adce7 devcons: nil vs 0 2016-03-10 03:28:36 +01:00
cinap_lenrek 595501b005 kernel: make fversion()/mntversion() types consistent 2016-03-10 03:02:28 +01:00
cinap_lenrek 0aa5b01fab devtls: fix wrong iounit
devtls writes are only atomic up to MaxRecLen as this is the
maximum payload size we put in a record application message.
2016-03-09 19:54:33 +01:00
cinap_lenrek 9dc9c6c5ef rio, libdraw: experimental removal of redundant flushimage() calls for roundtrip latency reduction
- remove redundant flushimage() calls before readmouse()
- remove flushimage() calls for allocimage(),freeimage() and originwindow()

this is experimental. it will break allocimage() error handling unless the
caller does explicit flushimage() calls, tho the gains
in usability over high latency connections is huge. in most cases, programs
will just terminate when encountering these errors.
2016-03-08 16:45:29 +01:00
cinap_lenrek bf6ba56817 aan: use sync messages as keep alives
both server and client need to be convinced that the connection
is broken for a connection reestablishment to happen as the server
will only start looking for incoming clients when the connection
already broke. so use the 8 second interval sync messages
to check for connection lifeness. if we miss two syncs in time,
we declare the connecton to be broken and will try to reconnect.
2016-03-07 20:27:34 +01:00
cinap_lenrek 481ae71940 vncs: fix dead Kend key 2016-03-07 19:20:05 +01:00
ftrvxmtrx c07f5d32af 9/mkfile: update ARCH 2016-03-05 11:38:54 +01:00
ftrvxmtrx ba2c2fcab7 libFLAC/mkfile: -DFLAC__NO_ASM 2016-03-05 11:00:00 +01:00
ftrvxmtrx 2d2ffac86f libFLAC: update to 1.3.1 2016-03-05 10:32:47 +01:00
BurnZeZ 897da507f4 auth/pemencode: fix usage() 2016-03-01 21:27:37 -05:00
BurnZeZ c6aa11d04e dict: similar fixes, different files. also remove runescpy 2016-03-01 21:24:35 -05:00
BurnZeZ 2a5b2f4c76 dict mkindex: code cleanup
handle malloc failure
check if open failed _before_ seeking
better arg handling
2016-03-01 21:21:06 -05:00
BurnZeZ 33131a98b9 plot: handle create() failure 2016-03-01 19:40:14 -05:00
BurnZeZ 9d1e80cbbb map/libmap: remove unused function/definitions 2016-03-01 19:36:24 -05:00
BurnZeZ dacebbb2e7 vt: add -r flag to start in raw mode 2016-03-01 19:17:54 -05:00
BurnZeZ db509b8466 sort: code cleanup 2016-03-01 19:09:40 -05:00
BurnZeZ f0744bae5e cc: populate the flag list comment in lex.c
This way the various compiler flags are documented
somewhere, even if not in full.

Also fixed a typo. 'r' should have been 'R'
2016-03-01 19:00:41 -05:00
BurnZeZ edec6e6a70 cc: sort the lex.c comment listing debug flags 2016-03-01 18:12:04 -05:00
cinap_lenrek 7314601f9d pppoe: Avoid double free (thanks k0ga)
k0ga reports:

Hello,

While I was setting my pppoe conexion with my ISP
I discovered several problems in ip/pppoe. I used
the command line ip/pppoe -A '' ether0 and I got
this:

...
dropping unwanted pkt: wrong ac name
panic: D2B called on non-block dc10 (double-free?)
note rcved: sys: trap: fault read addr=0x0 pc=0x000066e1
pppoe 1013: suicide: sys: trap: fault read addr=0x0 pc=0x000066e1
cpu% acid 1013
/proc/1013/text:386 plan 9 executable
/sys/lib/acid/port
/sys/lib/acid/386
acid: stk()
abort()+0x0 /sys/src/libc/9sys/abort.c:6
ppanic(p=0xd1b8,fmt=0xc7f9)+0x146 /sys/src/libc/port/malloc.c:166
D2B(p=0xd1b8,v=0xdc10)+0x57 /sys/src/libc/port/pool.c:926
poolfreel(v=0xdc10,p=0xd1b8)+0x20 /sys/src/libc/port/pool.c:1152
poolfree(p=0xd1b8,v=0xdc10)+0x3b /sys/src/libc/port/pool.c:1287
free(v=0xdc18)+0x23 /sys/src/libc/port/malloc.c:250
clearstate()+0x1b /sys/src/cmd/ip/pppoe.c:328
pppoe(ether=0xdfffefc1)+0x123 /sys/src/cmd/ip/pppoe.c:426
main(argv=0xdfffefa0,argc=0x1)+0x89 /sys/src/cmd/ip/pppoe.c:100
_main+0x31 /sys/src/libc/386/main9.s:16
acid:


clearstate() is called in pppoe.c:424, and it frees acname and sets it
to nil.  pktread() is called in pppoe.c:434 with parameter wantoffer,
which frees acname again in line pppoe.c:360 but doesn't set it to
nil, so clearstate() makes a double free in the next iteration.
2016-03-01 23:54:37 +01:00
BurnZeZ d491a0ae04 add bug to yesterday(1), fix /sys/man/3/cons permissions 2016-03-01 15:27:39 -05:00
BurnZeZ 63abfb5056 manpage references/typos 2016-03-01 15:24:07 -05:00
cinap_lenrek 169bfb4610 libsec: fix verifyDHparams() for version <= TLS1.1
for version <= TLS1.1, there is no sigalg field in the ServerKeyExchange
message and the signature digest algorithm is fixed to md5+sha1 and we
only support RSA signatures (TLS1.1 doesnt know about ECDSA).
2016-03-01 11:30:01 +01:00
cinap_lenrek bb81a10687 glenda's default profile: remove /n/other mount, done by /lib/namespace 2016-02-29 00:25:14 +01:00
cinap_lenrek e3434eb5fb authsrv(2): document _asgetpakkey(), authpak_hash(), authpak_new(), authpak_finish() 2016-02-28 23:23:05 +01:00
cinap_lenrek 02dce7a2e4 games/doom: handle allocimage() failure 2016-02-28 11:44:53 +01:00
cinap_lenrek 4a92397236 libsec: have 16 32-bit words in DigestState to avoid out of bounds warnings for poly1305 2016-02-28 09:09:41 +01:00
cinap_lenrek 5ebb1a29d8 devdraw: remove unused Edepth[] 2016-02-28 03:06:42 +01:00
cinap_lenrek 75186be2c2 libdraw: remove unused static log2[] array 2016-02-28 01:38:29 +01:00
cinap_lenrek e02b986a80 rio: exit rio when /dev/cons or /dev/kbd read loop terminates 2016-02-27 02:39:45 +01:00
cinap_lenrek 09b250f079 kbdfs: read outer /dev/kbd file and use it just like /dev/kbdin
this allows running kbdfs under kbdfs :-)

going use this in new drawterm. drawterm provides the initial
/dev/kbd, but only sends rune up/down messages (keeps it simple).
the servers kbdfs reads that and exports itself the full
set of files, similar to what we do in vncs. this also
provides note processing.
2016-02-27 02:36:54 +01:00
cinap_lenrek f2ddc5f813 rcpu(1): fix manpage reference 2016-02-22 23:26:35 +01:00
cinap_lenrek 59ef622240 libauthsrv: can write p = 2^448 - 2^224 - 1 now, as mpc has constant folding. 2016-02-22 22:56:55 +01:00
cinap_lenrek f43a5c825c libfis: dont reject drives lacking SSP (sata ssd connected to ide with adapter) 2016-02-22 22:53:19 +01:00
cinap_lenrek b31cc134e7 ndb/dns: initialize unknown fids to point to the root qid
the dns file service can be restarted, which causes it to forget
all fid state. given the simple file system structure of the dns
service (just a single dns file), we can assume that rpcs
on a unknown fid refers to the root, so the mountpoint will stay
valid and /net/dns can be reopend avoiding the need for a remount
of the dns service after restart.
2016-02-22 22:44:01 +01:00
cinap_lenrek 258fe87faf rc: terminate rc when exec fails, cleanup
The execexec() function should never return, as it irreversably changes
the filedescriptor table for the new program. This means rc's internal
filedesciptors for reading the script get implicitely closed and we cannot
continue the rc interpreter when Execute() fails. So Execute() now sets the
error status, and execexec() runs Xexit() in case Execute() returns.
2016-02-22 22:25:21 +01:00
cinap_lenrek a9639c6894 smtpd: remove unused lastsender logic 2016-02-22 21:55:41 +01:00
cinap_lenrek 95d6ca9f3c factotum: fix memory leak for p9any key confirmation, fix key handling for role=client
when we look up role=speakfor key and askforkeys is set, the
findkey() can return RpcNeedkey, which causes us to skip the
query for a role=client key. Instead, we now check for the
return value != RpcOk (and != RpcConfirm which we want to
handle the same for both queries).

we have to free the attribute lists when returning RpcConfirm.
2016-02-22 20:55:51 +01:00
cinap_lenrek 4410517b44 stats: use rimport or import to mount remote system 2016-02-22 19:38:01 +01:00
cinap_lenrek 046e0ee259 exportfs: fix endless loop for eof/error on second read in localread9pmsg()
the ini buffer was not reset when we got eof in the message
body read causing a endless loop. instead of defining our
own read9pmsg() function, just handle the first read specially
when we consumed the first 4 bytes for the "impo" protocol
escape check.
2016-02-21 20:11:04 +01:00
cinap_lenrek 688c1f15cd fix ipv6 icmphostunr() locking and memory free bugs (from sources) 2016-02-21 16:36:41 +01:00
cinap_lenrek 9d30cabbaf sgi: add chmod to bootfs.proto for sgi kernel 2016-02-20 16:39:52 +01:00
cinap_lenrek e1633ed338 libsec: remove unused tlsSecKill() 2016-02-19 09:14:09 +01:00
cinap_lenrek 0cad8a59ed libsec: fix memset() size in tlsConnectionFree(), remove #include <bio.h> 2016-02-18 18:42:04 +01:00
cinap_lenrek 7f2599254a libsec: add libc.h include for aes_xts.c (drawterm) 2016-02-17 18:50:23 +01:00
stanley lieber e5ead1a980 rcpu(1) man page: english 2016-02-16 20:53:21 -05:00
cinap_lenrek a1fa3d75d8 ndb/dns: removing the buggy /net.alt remount hack 2016-02-16 19:06:54 +01:00
cinap_lenrek c9d2fecbd0 usbuhci: removing "uhci bug" print spam from interrupt handler
this code was if(0) for a long time due to wrong parentesis,
fixed parentesis cause print spam on some machines making them
unusage (kenji okomoto). removing the check alltogether.
2016-02-16 08:52:33 +01:00
cinap_lenrek 86dfd3cf16 provide rcpu(1), make usage line consistent 2016-02-15 17:30:56 +01:00
cinap_lenrek b450cb7e32 devmnt: deal with partial response for Tversion request in mntversion() 2016-02-15 01:03:44 +01:00
cinap_lenrek 61dea9012e cron: just run /bin/rx to execute remote commands 2016-02-14 05:59:42 +01:00
cinap_lenrek 373723d4f6 rx: rcpu service support 2016-02-14 05:37:55 +01:00
cinap_lenrek fde5906b30 adding experimental rcpu service
this is a reimplementation of cpu and import utilities in rc using a tlsclient
and tlssrv as the encryption and authentication layers. there is only one new
service, which after authentication and encryption setup accepts an arbitrary
rc script over the network and executes it with the standard filedescriptors
redirected to the conversaion (this is *after* authentication and in the
context of the authorized user).

the new rcpu program has a few improvements over cpu(1):

- doesnt mangle program arguments
- the remote process will get the clients standard file descriptors, so error
  and output are separated and you can consume the clients input from the
  remote side :-)
- forwards error status of remote process

theres no backwards mode for rimport, but a new program called rexport
for the same purpose.

all these services use exportfs without the bolted on initial handshake,
so the hope is to clean up exportfs in the future and remove all the ugly
crap in there.
2016-02-14 05:18:33 +01:00
cinap_lenrek 4fe7daeca4 exportfs: retry execing ourselfs as "/bin/exportfs" (argv0 might be relative path) 2016-02-14 04:49:48 +01:00
cinap_lenrek 232a064f3a exportfs: properly reply to chdir() error when we speak 9p
when we got a bad root tree, we should speak the right language
and return a Rerror response instead of crapping ascii into
the 9p conversation.
2016-02-14 04:48:48 +01:00
cinap_lenrek a9b1e990b8 tlsclient: add -o option to establish connection over a file, free the AuthInfo structure to avoid leaking secrets 2016-02-14 02:06:08 +01:00
cinap_lenrek 9ec9a47789 newuser: /n/other now handled in /lib/namespace 2016-02-14 01:52:51 +01:00
cinap_lenrek ecebba779f provide /n and /mnt early in bootrc to allow consistent use in /lib/namespace
theres a bootstrap problem:

when /bin/init is run, it processes /lib/namespace where we might want to
mount or bind resources to /n or /mnt. but mntgen was run later in
cpurc/termrc so these mounts would be ignored.

we already have mntgen in bootfs, so we can provide these mountpoints early.

i keep the termrc/cpurc mntgens where they are, but ignore the error
prints. this way old kernels will continue to work.
2016-02-14 01:42:32 +01:00
cinap_lenrek 24150b1171 tlssrv: add -A flag to skip changing user after authentication (usefull for aan) 2016-02-13 17:24:59 +01:00
cinap_lenrek 3b835a1d23 merge 2016-02-13 16:43:15 +01:00
cinap_lenrek c3867623ae rio: fix wrong frame colors when moving non-current window
When a window is moved or reshaped, that implicitely tops
the window and makes it current. The conseqence of this
is that we always have to redraw the window as if it where
a current window in any case. This was handled for Reshaped
windows, but not when the window was just moved. We now
handle both cases the exact same way, getting rid of the
Moved wctl message.
2016-02-13 16:36:24 +01:00
ftrvxmtrx 668318b2e6 ip/chandial: fail with Ebadarg instead of printing memory contents 2016-02-12 23:52:50 +02:00
cinap_lenrek eeb96dca21 libsec: simplify pkcs1_decrypt() 2016-02-11 22:59:25 +01:00
cinap_lenrek fac5be2d2e merge 2016-02-11 22:43:50 +01:00
cinap_lenrek 6033931b02 libsec: fix double free in pkcs1_decrypt(), handle bad epm length in tlsSecRSAs(), cleanup 2016-02-11 22:42:28 +01:00
cinap_lenrek 2ca8e31066 removing libgio, this is not golang mveery >:-( 2016-02-10 05:11:11 +01:00
Matthew Veety 9b2bed733c fixed a typo 2016-02-09 17:02:18 -05:00
Matthew Veety a54782d69b Imported ngfs libgio. This is a library to create virtual file descriptors, similar to common lisp grey-streams or golang's io.Reader/io.Writer. Now 95% bug-free. 2016-02-09 16:24:41 -05:00
stanley lieber 9c3de0c87a fortunes: ./configure CFLAGS="-I$HOME/source/harvey/ape/amd64/include -I$HOME/source/harvey/ape/include -mno-red-zone -ffreestanding -fno-builtin -nostdlib -trigraphs -D_SUSV2_SOURCE -D_POSIX_SOURCE -D_LIMITS_EXTENSION -D_BSD_SOURCE -D_BSD_EXTENSION -DHAVE_SOCK_OPTS -DHARVEY -DPlan9" LDFLAGS="-static $HOME/source/harvey/ape/amd64/lib/crt1.o $HOME/source/harvey/ape/amd64/lib/crti.o $HOME/source/harvey/ape/amd64/lib/crtn.o -L$HOME/source/harvey/ape/amd64/lib -L$HOME/source/harvey/amd64/lib" LIBS="-lbsd -lap -lc" LIBM="" --prefix=$HOME/source/harvey/ape/ports *--host=x86_64-linux-gnu --build=x86_64-harvey *--enable-shared=no 2016-02-08 20:07:56 -05:00
cinap_lenrek 3d20565a78 webfs: faster shutdown using postnote()
when the 9p end is closed, post a note to our private note
group to shoot down http procs. this results in quicker
release of namespace resources.
2016-02-08 19:35:26 +01:00
cinap_lenrek b63a6bf626 libsec: fix missing error case unlock() in tlshands initCiphers() 2016-02-07 00:31:30 +01:00
cinap_lenrek faecd86ee6 factotum: fix nil pointer crash on p9skclosekey(), thanks k0ga
oversight, closekey is called again even if addkey failed, which
will have Key.priv nil.

stack trace:

 memset(data=0x0,n=0x1f8)+0x58 /sys/src/libc/arm/memset.s:40
 p9skclosekey(k=0x55358)+0x18 /sys/src/cmd/auth/factotum/p9sk1.c:493
 closekey(k=0x55358)+0x7c /sys/src/cmd/auth/factotum/util.c:247
 ctlwrite(a=0x552f8,atzero=0x0)+0x320 /sys/src/cmd/auth/factotum/rpc.c:503
 fswrite(r=0x53b78)+0x1b0 /sys/src/cmd/auth/factotum/fs.c:574
 swrite(r=0x53b78,srv=0x423e8)+0x134 /sys/src/lib9p/srv.c:559
 srvwork()+0x2a4 /sys/src/lib9p/srv.c:746
 srv(srv=0x423e8)+0xcc /sys/src/lib9p/srv.c:825
 postproc()+0x3c /sys/src/lib9p/post.c:120
 rforker(flag=0x1,fn=0x39f98,arg=0x423e8)+0x34 /sys/src/lib9p/rfork.c:16
 _postmountsrv(s=0x423e8,name=0x0,mtpt=0x46f70,flag=0x1)+0xb8 /sys/src/lib9p/post.c:27
 postmountsrv(name=0x0,mtpt=0x46f70,flag=0x1)+0x20 /sys/src/lib9p/rfork.c:32
 main(argv=0x1fffff9c,argc=0x0)+0x23c /sys/src/cmd/auth/factotum/fs.c:157
 _main+0x28 /sys/src/libc/arm/main9.s:19
 acid: /sys/src/cmd/auth/factotum/p9sk1.c:493
2016-02-06 22:26:29 +01:00
cinap_lenrek b7f2aed0f2 libsec: mpconv -> mpfmt 2016-02-06 07:19:31 +01:00
mischief ad637845a8 libmp: remove include of libsec.h 2016-02-05 19:29:55 -08:00
cinap_lenrek f1254da64d libmp: handle out of memory case in gmfield() 2016-02-04 03:11:46 +01:00
cinap_lenrek 78808ca314 libsec: refactor asn1 encoding of digest for rsa signatures, fix memory leak in ecverify 2016-02-03 04:18:54 +01:00
cinap_lenrek cc8e8c978c tlssrv: p9any authentication support using TLS-PSK cipher suits 2016-02-01 22:49:20 +01:00
cinap_lenrek a291bbdedd libsec: ecdsa client support for tlshand, cleanups 2016-02-01 21:34:49 +01:00
cinap_lenrek 0bfac109a4 mpc: constant expression folding 2016-02-01 19:27:57 +01:00
cinap_lenrek 340d83d49d games/doom: fix white window issue on exit
make kbdproc() and mouseproc() share fd table with the main proc
and not explicitely close the file descriptors. so /dev/mouse gets
closed *after* /dev/draw/new to avoid the white window refresh issue.
2016-01-30 19:11:33 +01:00
cinap_lenrek 7cfe4aef3c salsa(2): fix source reference 2016-01-19 13:06:22 +01:00
cinap_lenrek 876e19c652 salsa(2): some formating fixes 2016-01-19 13:02:12 +01:00
cinap_lenrek 7cf11db685 libsec: add salsa20 stream cipher 2016-01-19 12:50:33 +01:00
cinap_lenrek 7b31d5e494 authsrv(6): fix arrows 2016-01-19 11:08:29 +01:00
cinap_lenrek 4a47b264ac wifi: check tkip/ccmp mac and crc in constant time avoiding timing side channels 2016-01-14 23:39:29 +01:00
cinap_lenrek a57a6e511f pc64: move idle() routine after CALL main(SB) as the comment suggests 2016-01-14 01:08:36 +01:00
cinap_lenrek ed4c812765 pc/pc64: backing out new mp startup code (caused issues with ramnode)
apparently, this causes some quadcore ramnode vm to hang on boot,
even tho all cores successfully started up and are operational.

i suspect some side effect from timersinit()... this would also
mean *notsc= would break it (syncclock() would continue)...
its unclear.

i'm reverting this for now until the problem is better understood.
2016-01-13 23:18:25 +01:00
cinap_lenrek 21b70c782a devssl: use tsmemcmp() to compare mac to close timing side channel 2016-01-13 21:48:09 +01:00
cinap_lenrek 5243969ba2 ndb/dnstcp: -x specifies the mountmoint 2016-01-12 08:53:06 +01:00
cinap_lenrek 36d2092a33 fix manpage references 2016-01-12 08:43:36 +01:00
mischief af42c4f481 libauthsrv: fix ed448 goldilocks prime comment 2016-01-11 19:30:41 -08:00
cinap_lenrek 63f9a4fda3 pc/pc64: bring up ap's one after another, use idlehands() while waiting for thunderbirdsarego
when testing in qemu, launching each ap became slower and slower
because all the ap's where spinning in syncclock() waiting for
cpu0 to update its mach0->tscticks, which happens only much later
after all cpu's have been started up.

now we wait for each cpu to do its timer callibration and
manually update our tscticks while we wait and each cpu will
not spin but halt while waiting for active.thunderbirdsarego.
this reduces the system load and noise for timer callibration
and makes the mp startup linear with regard to the number of
cores.
2016-01-11 06:47:52 +01:00
aiju dacaf31eb0 libauthsrv: add D in mkfile 2016-01-10 22:03:27 +01:00
cinap_lenrek ad87473109 pc/pc64: remove mpshutdown print 2016-01-07 19:37:47 +01:00
cinap_lenrek 5afa5f5c0b kernel: remove todfix overflow iprint() spam 2016-01-07 19:37:05 +01:00
cinap_lenrek 6a651b42ac ape/stdio: %z format is VLONG on amd64 2016-01-07 19:20:30 +01:00
cinap_lenrek 4308f6e7e6 ape/fmt: %p and %z format for amd64 2016-01-07 19:04:12 +01:00
cinap_lenrek 772afbe98c format pointer subtraction results with %zd instead of %ld (for long -> intptr on amd64) 2016-01-07 04:44:13 +01:00
cinap_lenrek 9c99d0c8d3 6c: return vlong result for pointer subtraction 2016-01-07 04:40:47 +01:00
cinap_lenrek 3e38194d72 introduce signed intptr and %z format modifier for formating uintptr and intptr 2016-01-07 04:39:09 +01:00
cinap_lenrek 59245c73f0 venti/fixarenas: more %z -> %Z 2016-01-07 03:38:07 +01:00
cinap_lenrek 9a337f8dfc venti/fixarenas: replace %z fmt with %Z 2016-01-07 02:27:00 +01:00
cinap_lenrek 094f0c9601 rx: theres no p9sk2 anymore 2016-01-06 06:00:22 +01:00
cinap_lenrek dc96f164a2 merge 2016-01-06 05:31:55 +01:00
cinap_lenrek 5e24adafef libsec: make sure theres no garbage after the asn.1 decode, cleanup 2016-01-06 05:30:44 +01:00
cinap_lenrek cd74719101 merge 2016-01-06 03:59:40 +01:00
cinap_lenrek 4cf801b853 add missing /sys/src/cmd/auth/lib/private.c 2016-01-06 03:58:04 +01:00
stanley lieber 3735cc9bc3 authsrv(6): english 2016-01-05 21:34:15 -05:00
cinap_lenrek 2dae1ed53a auth: release dp9ik implementation and reentrant factotum 2016-01-06 03:09:00 +01:00
cinap_lenrek e064752dd4 libmp: silence compiler warning for strtomp 2016-01-06 01:19:05 +01:00
cinap_lenrek 32c11e2871 pc/pc64: import i210 support from erik quanstrom's 9atom 2016-01-05 07:53:39 +01:00
cinap_lenrek 41383ad012 kernel: change active.machs from bitmap to char array to support up to 64 cpus on pc64 2016-01-05 05:32:40 +01:00
cinap_lenrek dd8908cff0 fdisk: properly convert byte units K,M,G and T to cylinders/sectors
the shared command language assumed 512 byte sectors, which is
not the case for fdisk as it uses cylinders for the block unit.
so we introduce an extra argument in the Edit structure and
parseexpr() function so byte sizes are properly converted to
the block unit when the K,M,G and T postfixes are used.
2016-01-05 03:57:50 +01:00
cinap_lenrek 5aeddd6788 libmp: check nil return value of strtomp() in test program 2016-01-04 19:09:25 +01:00
cinap_lenrek 263b0e34b2 mpc: use new strtomp() c-style prefixes to parse integer constants 2016-01-04 18:35:04 +01:00
cinap_lenrek f5fcf6688b libmp: mistake in strtomp() 2016-01-04 18:33:06 +01:00
cinap_lenrek d30b160fe3 libmp: support for c-style base prefixes for strtomp(), octal support 2016-01-03 22:43:44 +01:00
cinap_lenrek 39f18c9d88 libsec: implement TLS-PSK for tlsClient()/tlsServer() 2015-12-25 17:05:05 +01:00
cinap_lenrek 4a6ab355c1 file: recognize bootable disk images (by 0x55AA boot sector signature) 2015-12-23 02:31:47 +01:00
cinap_lenrek 76e5cda11a file: recognize tcpdump pcap files 2015-12-23 02:11:29 +01:00
cinap_lenrek 46bbeea040 snoopy: fix timestamps for pcap files (thanks BurnZeZ)
the pcap files produced by snoopy had the wrong timestamps because it expected:

/* magic=0xa1b2c3d4 */
ulong ts_sec;	/* seconds*/
ulong ts_usec;	/* microseconds */

but we wrote:

uvlong ts;		/* nanoseconds */

now, we write:

/* magic=0xa1b23c4d */
ulong ts_sec;	/* seconds */
ulong ts_nsec;	/* nanoseconds */
2015-12-23 02:00:09 +01:00
cinap_lenrek a53ae2782a libjson: added printing support (thanks spew) 2015-12-22 18:12:56 +01:00
cinap_lenrek f6e8b115d4 libjson: fix memory leak setjmp/longjmp problem (thanks spew)
spew → I fixed the memory leak setjmp/longjmp problem with libjson
spew → http://www.spew.club/json.patch
spew → full file: http://www.spew.club/json.c
spew → going to bed, I'll annoy cinap_lenrek tomorrow to try to get this committed
2015-12-22 17:00:00 +01:00
cinap_lenrek 9b0de7f9d6 tls: implement chacha20/poly1305 aead cipher suits 2015-12-21 04:55:54 +01:00
cinap_lenrek d19144155e kernel: missing changes for ibrk() prototype 2015-12-21 04:49:29 +01:00
aiju bdc2b75568 mpfmt: handle base 2, 4 2015-12-20 13:45:28 +01:00
cinap_lenrek a8f8de1cde import/expoerfs: dont assert() fault when ai->secret is > 8 bytes, just use the first 8 bytes 2015-12-16 21:30:56 +01:00
cinap_lenrek e83c9b3e61 auth/httpauth: use auth_userpasswd() instead of AuthHttp request to AS
the /sys/lib/httppasswords will be removed soon from authsrv,
so we use auth_userpasswd() to verify a username/password pair
instead.
2015-12-16 21:27:44 +01:00
cinap_lenrek 8a60d9e2a8 libsec: use tsmemcmp() when comparing hashes, use mpfield() for ecc, use mptober() when right adjusting mpint to bytes 2015-12-16 21:23:40 +01:00
cinap_lenrek efd3ac8a23 libmp: add mpfield() function for fast field arithmetic
instead of testing for special field primes each time in mpmod(),
make it explicit with a mpfiled() function that tests a modulus N
to be of some special form that can be reduced more efficiently with
some precalculation, and replaces N with a Mfield* when it can. the
Mfield*'s are recognized by mpmod() as they have the MPfield flag
set and provide a function pointer that executes the fast reduction.
2015-12-16 21:18:20 +01:00
cinap_lenrek b6f04b77e3 devprov: remove unused extern int unfair 2015-12-16 21:07:24 +01:00
cinap_lenrek 7be7d0681f kernel: use uintptr for ibrk() return value (for base >2GB) and clarify segbrk(2) 2015-12-16 21:06:51 +01:00
stanley lieber afe450d381 /sys/lib/dist/ndb/common: update for sl's auth servers 2015-12-11 14:18:06 -05:00
stanley lieber 55f6484f85 /lib/ndb/common: add auth=cb.inri.net authdom=nyc 2015-12-09 01:17:41 -05:00
aiju 15c6cd7555 mp: strtomp support for bases 2,4,8 2015-12-08 20:26:17 +01:00
aiju 609a9922ad mp: fix bug in mplogic.c; update mkfile 2015-12-08 19:43:22 +01:00
aiju 87abbc649f mp: add logic operations; mpfmt: include 0x with # 2015-12-08 18:29:22 +01:00
Matthew Veety 5f15532260 fixed spelling error in 2c(1) for the axp entry. 2015-12-07 18:55:26 -05:00
Matthew Veety 1c0ba2019e made sure that rcmain.local runs independent of the existence of $home/lib/profile. Documented /rc/lib/rcmain, /rc/lib/rcmain.local, $home/lib/profile in rc(1) and the first two in namespace(4) 2015-12-07 17:59:53 -05:00
cinap_lenrek 9e09742e9b yacc: attempt to keep line numbers right for yyparse()
as the generated parser intermixes lines from .y source
and the parser text, the line source/lineno for yyparse()
shows up wrong in the debugger. to make stack traces a
bit less crazy, put a #line 1 "/sys/lib/yaccpar" before
copying in the parser text.
2015-12-07 17:00:41 +01:00
cinap_lenrek d928a6f239 merge 2015-12-06 20:55:27 +01:00
cinap_lenrek 01afe9328b libmp: fix assert() for mpexp() with nil modulus 2015-12-06 20:53:54 +01:00
cinap_lenrek 1a5c8430d2 libmp: fix wrong move instruction for arm vector operations 2015-12-06 20:52:15 +01:00
aiju eccb144a71 winwatch: l allows label changes 2015-12-06 20:37:18 +01:00
cinap_lenrek 8d16e980c2 libmp: mpmod() fix typo 2015-12-01 11:25:08 +01:00
cinap_lenrek ffdfc17cee libmp: with mpmod() m = 2^a - c ensure that digits(c) < digits(m) 2015-12-01 11:13:52 +01:00
cinap_lenrek fbd825890e merge 2015-12-01 09:41:49 +01:00
cinap_lenrek 3a40210df8 libsec: fix genprime() to produce normalized result
this fixed bug "assert_failed_m-flags__mpnorm_since_283cc2200e34".
2015-12-01 09:40:24 +01:00
aiju 4770f60b18 mkone: yacc wants the D 2015-11-30 23:36:39 +01:00
cinap_lenrek bdaa002255 webcookies: strdup() file argument to avoid crash (thanks mischief)
mischief reports:

 acid: lstk()
 abort()+0x0 /sys/src/libc/9sys/abort.c:6
 ppanic(p=0x1bff4,fmt=0x1d749)+0x146 /sys/src/libc/port/malloc.c:166
         pv=0x1dad8
         msg=0x1e4a8
         v=0x3ffffe7c
         n=0x2f
 D2B(p=0x1bff4,v=0x3fffffae)+0x57 /sys/src/libc/port/pool.c:926
         a=0x3fffffa4
 poolfreel(v=0x3fffffae,p=0x1bff4)+0x20 /sys/src/libc/port/pool.c:1152
         ab=0x1dad8
 poolfree(p=0x1bff4,v=0x3fffffae)+0x3b /sys/src/libc/port/pool.c:1287
 free(v=0x3fffffb6)+0x23 /sys/src/libc/port/malloc.c:250
 readjar(file=0x3fffffb6)+0xce /sys/src/cmd/webcookies.c:473
         jar=0x1ea28
         lock=0x1ea68
         p=0x1ea6d
 main(argv=0x3fffffa0,argc=0x0)+0x10f /sys/src/cmd/webcookies.c:1295
         file=0x3fffffb6
         srv=0x0
         mtpt=0x1cfd0
         _argc=0x66
         _args=0x1cfe0
         home=0x0
 _main+0x31 /sys/src/libc/386/main9.s:16
 acid:
2015-11-30 20:08:22 +01:00