Commit graph

236 commits

Author SHA1 Message Date
cinap_lenrek 704970074e nusb(2): remove startdevs() reference, document getdev() (thanks BurnZeZ) 2019-05-14 09:06:09 +02:00
BurnZeZ bf4f158707 memdraw(2): remove references to iprint() 2019-05-11 15:28:18 +00:00
BurnZeZ 424424fe50 fix bad function declarations in manpages 2019-04-09 18:34:17 +00:00
BurnZeZ 7b10062669 thread(2): threadsetname takes a fmt string 2019-04-08 22:18:15 +00:00
mischief c0383d8291 mach(2): fix byteswapping function signatures 2019-03-06 19:10:58 -08:00
cinap_lenrek 0af11f97b5 libip: replace v4parsecidr() with new parseipandmask()
we want to accept V4 subnets in CIDR notation consistently which
means we need to interpret the mask in context of the IP address.
so parseipmask() now has an additional v4 flag argument which
offsets the prefixlength by 96 so a /24 will be interpreted
as a /120.

parseipandmask() is the new function which handles this automatically
depending on the ip address type.

v4parsecidr() is now obsolete.
2019-02-11 23:26:57 +01:00
cinap_lenrek 5ef10e1642 mp(2): fix spelling 2018-11-21 02:08:15 +01:00
cinap_lenrek 39a7be7ea3 mp(2): clarify mptoa() and mpfmt() default base 2018-11-21 01:15:43 +01:00
mischief 52ad5b3ec5 mp(2): document mpfactorial 2018-11-04 11:37:13 -08:00
qwx d74fdfc022 misc small manpage fixes 2018-10-28 00:05:05 +02:00
cinap_lenrek e7f777ae03 idn(2): add documentation for idn2utf() and utf2idn() 2018-09-26 15:58:19 +02:00
cinap_lenrek a600610fde provide procsetname(2) manpage 2018-09-26 15:24:29 +02:00
23hiro 0311f01122 keyboard(2) spelling (thanks Amavect) 2018-09-22 09:41:16 +02:00
cinap_lenrek a4e444f430 libndb: make ndbipinfo() walk ipnet for all matching entries, concatenate and dedup result 2018-09-16 12:39:47 +02:00
aiju db71e19005 add libttf 2018-06-09 14:33:19 +00:00
mischief 59994e1beb avl(2): add avlmin/avlmax in synopsis 2018-06-08 16:37:39 +00:00
cinap_lenrek ff1a1e63a8 getuser(2): add source or sysname() 2018-06-03 23:46:47 +02:00
qwx 88537cfe9b demote libemu to common code
- too small, nothing else that won't be under /games will use it
- "libemu" as a name doesn't make sense here
2018-05-13 07:01:47 +02:00
qwx 1195ca910c add libemu
move redundant code from emulators to a common library
2018-05-12 19:20:53 +02:00
cinap_lenrek 4c9cbe484d fix manpage cross references 2018-05-11 16:15:08 +02:00
Alex Musolino 586a24770c lock(2): fix typo 2018-03-23 11:34:39 +10:30
aiju 2e2ae33a47 sat: add satget 2018-03-22 12:46:04 +00:00
aiju c2c9562e3c add libsat 2018-03-17 19:26:26 +00:00
aiju b9a08958e2 mp: add mptod and dtomp 2018-03-09 20:51:28 +00:00
cinap_lenrek 34f19570b9 libndb: retire deprecated csgetval(), ndbgetval() and ndblookval() functions 2018-01-27 23:46:48 +01:00
cinap_lenrek 3004f058f6 libauth: add auth_respondAI() function to get AuthInfo for mschap/mschapv2 2018-01-21 22:37:45 +01:00
cinap_lenrek c039b52fc3 libc: constant time implementation for encode(2) routines, fix base32
the string encoding functions touch secret key material
in a bunch of places (devtls, devcap), so make sure we do
not leak information by cache timing side channels, making
the encoding and decoding routines constant time.

we also expose the alphabets through encXchr()/decXchr()
functions so caller can find the end of a encoded string
before calling decode function (for libmp).

the base32 encoding was broken in several ways. inputs
lengths of len%5 == [2,3,4] had output truncated and
it was using non-standard alphabet. documenting the alphabet
change in the manpage.
2017-12-31 09:06:42 +01:00
stanley lieber e35616cb66 /sys/man/*/*: fix perms (sorry) 2017-12-11 19:58:06 -05:00
stanley lieber d057d67bed /sys/lib/rootstub 2017-12-11 19:34:15 -05:00
cinap_lenrek f948c402d8 errstr(2): add /sys/src/libc/9sys/rerrstr.c to SOURCE section 2017-12-03 02:22:48 +01:00
cinap_lenrek 3356e0e731 libsec: AES-NI support for amd64
Add assembler versions for aes_encrypt/aes_decrypt and the key
setup using AES-NI instruction set. This makes aes_encrypt and
aes_decrypt into function pointers which get initialized by
the first call to setupAESstate().

Note that the expanded round key words are *NOT* stored in big
endian order as with the portable implementation. For that reason
the AESstate.ekey and AESstate.dkey fields have been changed to
void* forcing an error when someone is accessing the roundkey
words. One offender was aesXCBmac, which doesnt appear to be
used and the code looks horrible so it has been deleted.

The AES-NI implementation is for amd64 only as it requires the
kernel to save/restore the FPU state across syscalls and
pagefaults.
2017-11-12 23:15:15 +01:00
cinap_lenrek 5c1afc882c aes(2): document aes_xts_encrypt() and aes_xts_decrypt() functions 2017-10-30 03:04:05 +01:00
cinap_lenrek e3d8fe9d4a libc: cleanup atexit and put exits() in its own compilation unit
this avoids having to pull in atexit() and its dependencies
(lock(), unlock()) into every program. (as exits() is called
by _main() from main9.s).
2017-10-20 20:58:38 +02:00
cinap_lenrek 45b7d60bf3 libsec: add AES CFB and AES OFB stream ciphers 2017-10-17 21:34:01 +02:00
Ethan Grammatikidis 64195aea41 print(2): clean up vlong flag description 2017-07-02 19:12:50 +01:00
aiju 20b945a382 bio(2): manpage typo 2017-05-04 17:47:03 +00:00
aiju f681cf835a bio: add support for custom I/O handler via Biofn 2017-05-04 17:42:12 +00:00
cinap_lenrek 38d421ec00 ctime(2): fix example (thanks raiz)
raiz → the reason that the manpage example works not because
it's a correct timezone file format, but because readtimezone()
(in libc) fails and defaults to GMT.
2017-05-03 20:47:46 +02:00
spew ff8ae67b70 libregexp: miscellaneous little cleanups 2017-04-30 15:08:36 -05:00
cinap_lenrek f8478eb4c4 lib9p: allow rewinding in 9pfile directories 2017-04-30 01:49:21 +02:00
spew 1f6a604c23 libavl: fix documentation 2017-04-24 10:50:03 -05:00
cinap_lenrek 346f5828e0 libsec: sha256 support for thumbprint files, use it in ssh as well
initThumbprints() now takes an application tag argument
so x509 and ssh can coexist.

the thumbprint entries can now hold both sha1 and sha256
hashes. okThumbprint() now takes a len argument for the
hash length used.

the new function okCertificate() hashes the certificate
with both and checks for any matches.

on failure, okCertificate() returns 0 and sets error string.

we also check for include loops now in thumbfiles, limiting
the number of includes to 8.
2017-04-23 19:00:08 +02:00
spew 6261dcb06b replica: use libavl for avl tree implementation 2017-04-22 14:28:02 -05:00
spew 9cf5198145 libavl: lookup can return the closest match 2017-04-22 13:59:37 -05:00
aiju 1d891d163e fix typo in 9p(2) manpage 2017-04-03 00:11:40 +00:00
spew 04c7d5d8f6 plumb(2): Fix typo in description of Plumbdelattr (thanks sam-d) 2017-03-22 18:13:51 -05:00
cinap_lenrek 7d4a1e3643 ec(2), rsa(2): document X509toECpub(), X509ecdsaverify(), X509ecdsaverifydigest(), X509rsaverifydigest() 2017-02-10 22:39:47 +01:00
cinap_lenrek 34a9d22ec6 rsa(2): document rsafill() 2017-02-10 21:12:45 +01:00
cinap_lenrek 8a1c587c9c ec(2): document ecencodepub(), ecdecodepub() and ecpubfree() and list all the curve parameter functions 2017-02-10 20:42:56 +01:00
cinap_lenrek 26c39ddc8d 9p(2): remove reference to ssh(1) 2017-01-13 19:18:08 +01:00
cinap_lenrek 2e23780d2f libsec: implement extended 192-bit nonce xchacha variant and hchacha function 2017-01-12 20:16:38 +01:00
cinap_lenrek ed9fdc72f5 libsec: replace des based X9.17 genrandom() with chacha random number generator 2016-12-28 02:02:00 +01:00
spew ff384cbddc libavl: fix manpage example, minor improvement to code 2016-12-24 17:58:31 -06:00
spew 6187b862b7 avl: fix man page example 2016-12-22 18:44:45 -06:00
spew 0885ed1e80 alv(2): new avl implementation 2016-12-22 16:47:41 -06:00
cinap_lenrek efe5c58c01 authsrv(2): update Nvrsafe structure to include aesmachkey 2016-09-08 10:40:19 +02:00
aiju cf2f2a8841 mp: fix mpnot and add mpasr 2016-08-28 10:49:41 +02:00
cinap_lenrek b59aa67922 rand(2), cons(3): clarify /dev/random behaviour 2016-08-27 21:27:52 +02:00
cinap_lenrek 8a73650874 libc: add poolisoverlap() and definitions for Pool *secrmem 2016-08-27 20:23:55 +02:00
aiju a07a2025da document mplogic functions 2016-08-08 22:19:29 +02:00
cinap_lenrek 333468d668 thread(2): threadgrp() -> threadgetgrp(), thanks jpm 2016-08-06 15:09:18 +02:00
spew eef8f57b22 add history for libregexp 2016-07-04 14:25:08 -05:00
cinap_lenrek bd8b6c2f99 aml(2): document amlintmask 2016-06-05 15:15:03 +02:00
cinap_lenrek ca5b491753 rune(2): add Runeerror reencoding considerations in BUGS section (thanks aiju) 2016-04-28 01:53:09 +02:00
aiju e558c88821 aes(2): mention aesCBC bug 2016-04-09 20:51:24 +02:00
cinap_lenrek 9408c5faa1 qball(2): fix bad manpage reference 2016-04-07 21:51:56 +02:00
cinap_lenrek aa6673fcfb add portable AES-GCM (Galois/Counter Mode) implementation to libsec and devtls 2016-03-23 02:45:35 +01:00
BurnZeZ 63abfb5056 manpage references/typos 2016-03-01 15:24:07 -05:00
cinap_lenrek e3434eb5fb authsrv(2): document _asgetpakkey(), authpak_hash(), authpak_new(), authpak_finish() 2016-02-28 23:23:05 +01:00
cinap_lenrek 2ca8e31066 removing libgio, this is not golang mveery >:-( 2016-02-10 05:11:11 +01: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
cinap_lenrek a291bbdedd libsec: ecdsa client support for tlshand, cleanups 2016-02-01 21:34:49 +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 36d2092a33 fix manpage references 2016-01-12 08:43:36 +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 a53ae2782a libjson: added printing support (thanks spew) 2015-12-22 18:12:56 +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
cinap_lenrek 254031cf70 libsec: add chacha20 poly1305 aead, allow 64 bit iv's for chacha, add tsmemcmp()
chacha20 comes in two variants: ietf rfc7539, using 96 bit iv and 32 bit counter
and draft-agl-tls-chacha20poly1305 using 64 bit iv and a 64 bit counter. so
setupChachastate() now takes a ivlen argument which sets the mode.

add ccpoly_encrypt()/ccpoly_decrypt() routines.

to implement timing safe ccpoly_decrypt(), a constant time memcmp was needed, so
adding tsmemcmp() to libsec.
2015-11-26 15:25:10 +01:00
cinap_lenrek 38e1e5272f libmp: initial attempt at constant time code, faster reductions for special primes (for ecc)
introduce MPtimesafe flag to request time invariant computation
disables normalization so significant digits are not leaked.
2015-11-21 09:39:59 +01:00
cinap_lenrek 93d63dc1f3 mp(2): fix typo mnprand() -> mpnrand() 2015-10-28 13:39:17 +01:00
cinap_lenrek 847f3a0cf5 libsec: add chacha cipher (from charles forsyth) 2015-10-22 07:48:26 +02:00
cinap_lenrek 7effba9d98 libsec: add poly1305 2015-10-22 07:17:25 +02:00
aiju 27d2955ccf lib9p: add reqqueuefree 2015-10-12 10:41:40 +02:00
cinap_lenrek 8003c8b1e2 utf(6), rune(2): document 21-bit runes 2015-09-24 12:14:08 +02:00
cinap_lenrek 7562da90e5 libc: remove privfree(), simplify privalloc() 2015-09-06 20:43:05 +02:00
cinap_lenrek e3a64494e7 libsec: remove flawed aes() digest and hmac_aes() implementations (thanks aiju) 2015-09-01 21:35:43 +02:00
cinap_lenrek 8f2e408448 libmp: add mpnrand() function to generate uniform random number 0 ≤ x < n 2015-08-25 20:20:25 +02:00
cinap_lenrek 63b18e7925 introduce AES key into nvram and keyfs 2015-08-21 02:43:31 +02:00
cinap_lenrek 02cfcfeab4 libauthsrv: generalize ticket service, not hardcoding ticket format and DES 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-19 21:06:17 +02:00
cinap_lenrek d457a43461 libc: make atoi() not parse c-style octal and hex numbers
interpreting octal breaks parsing of decimal numbers with
leading zeros. the manpage listed this in the BUGS section,
so we'r going to fix it as this just causes confusion as
most callers of atoi() do not expect it.
2015-08-03 18:10:53 +02:00
cinap_lenrek f42a7ade70 bio(2): Bterm() closes filedescriptor for Bfdopen() allocated buffer 2015-08-01 03:16:35 +02:00
stanley lieber 20e255110c open(2): fix typo 2015-07-01 21:46:47 -04:00
cinap_lenrek e6220b39c9 exec(2): return register (R0) contains address of Tos structure. 2015-06-19 09:02:59 +02:00
ftrvxmtrx e56e61fed1 addpt(2): put badrect in .SH NAME so that it gets into the searchindex 2015-06-09 12:32:38 +02:00
ftrvxmtrx 86acce7c4d esetcursor(2), alarm(2): fix prototypes 2015-06-09 12:29:57 +02:00
ftrvxmtrx 72a168b5fb event(2): fix estartfn prototype 2015-06-09 11:54:22 +02:00
ftrvxmtrx a314302e64 libdraw: sync allocimage/allocwindow prototypes with man pages 2015-06-09 10:33:30 +02:00