summaryrefslogtreecommitdiff
path: root/sys/include
AgeCommit message (Collapse)Author
2018-03-09mptod/dtomp: add to mp.haiju
2018-01-27libndb: retire deprecated csgetval(), ndbgetval() and ndblookval() functionscinap_lenrek
2018-01-21libauth: add auth_respondAI() function to get AuthInfo for mschap/mschapv2cinap_lenrek
2018-01-21authsrv: implement mschapv2 authentication, include MPPE secret in the ticketcinap_lenrek
this adds new rpc for mschapv2 authentication (21) deliver the MPPE secret not after the ticket/authenticator response as cheartext, but include it in the first 128 bit of the ticket key. and the authenticator in the first 160 bit of the authenticator random field.
2018-01-06libsec: remove asn1toDSApriv()cinap_lenrek
2018-01-02ape: update auth.h header for APEcinap_lenrek
2018-01-02libauth: remove auth_wep() function, and non-existing httpauth() declarationcinap_lenrek
2017-12-31libc: constant time implementation for encode(2) routines, fix base32cinap_lenrek
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-30libsec: implement SPKI fingerprinting for okCertificate()cinap_lenrek
Instead of only using a hash over the whole certificate for white/black-listing, now we can also use a hash over the Subject Public Key Info (SPKI) field of the certificate which contians the public key algorithm and the public key itself. This allows certificates to be renewed independendtly of the public key. X509dump() now prints the public key thumbprint in addition to the certificate thumbprint. tlsclient will print the certificate when run with -D flag. okCertificate() will print the public key thumbprint in its error string when no match has been found.
2017-11-12libsec: AES-NI support for amd64cinap_lenrek
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-10-29libsec: rewrite aex_xts_encrypt()/aes_xts_decrypt()cinap_lenrek
the previous implementation was not portable at all, assuming little endian in gf_mulx() and that one can cast unaligned pointers to ulong in xor128(). also the error code is likely to be ignored, so better abort() when the length is not a multiple of the AES block size. we also pass in full AESstate structures now instead of the expanded key longs, so that we do not need to hardcode the number of rounds. this allows each indiviaul keys to be bigger than 128 bit.
2017-10-28libc: improve alignment of QLp structure on amd64, cosmeticscinap_lenrek
the QLp structure used to occupy 24 bytes on amd64. with some rearranging the fields we can get it to 16 bytes, saving 8K in the data section for the 1024 preallocated structs in the ql arena. the rest of the changes are of cosmetic nature: - getqlp() zeros the next pointer, so there is no need to set it when queueing the entry. - always explicitely compare pointers to nil. - delete unused code from ape's qlock.c
2017-10-17libsec: make sectorNumber argument for aes_xts routines uvlongcinap_lenrek
2017-10-17libsec: add AES CFB and AES OFB stream cipherscinap_lenrek
2017-10-16ape/libsec: fix the build, bring ape libsec.h in sync with plan9 versioncinap_lenrek
2017-10-06libsec: export asn1encodedigest(), asn1encodeRSApub(), asn1toRSApub(), ↵cinap_lenrek
pkcs1padbuf() and pkcs1unpadbuf()
2017-08-24libmach: support disassembling from memoryaiju
2017-05-06update ape/bio.h (thanks jpm)aiju
2017-05-04bio: add support for custom I/O handler via Biofnaiju
2017-04-30lib9p: allow rewinding in 9pfile directoriescinap_lenrek
2017-04-29libmemdraw/libmemlayer: get rid of drawdebug printscinap_lenrek
2017-04-29libdraw: get rid of _drawdebug variablecinap_lenrek
2017-04-23libsec: sha256 support for thumbprint files, use it in ssh as wellcinap_lenrek
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-22replica: use libavl for avl tree implementationspew
2017-04-22libavl: lookup can return the closest matchspew
2017-02-10ec(2), rsa(2): document X509toECpub(), X509ecdsaverify(), ↵cinap_lenrek
X509ecdsaverifydigest(), X509rsaverifydigest()
2017-02-10libsec: make X509toECpub() return CN name like X509toRSApub()cinap_lenrek
2017-01-12libsec: implement extended 192-bit nonce xchacha variant and hchacha functioncinap_lenrek
2016-12-22alv(2): new avl implementationspew
2016-10-30ape/libsec: add secp384r1 curve parameters for tlscinap_lenrek
2016-10-30libsec: add secp384r1 curve parameters for tlscinap_lenrek
2016-10-23lib9p: limit the number of srv processes kept arround 8cinap_lenrek
2016-08-28mp.h: add mpasraiju
2016-08-28ape: add d_stat struct in dirent struct allowing the avoidance of statscinap_lenrek
2016-08-27libc: add poolisoverlap() and definitions for Pool *secrmemcinap_lenrek
2016-08-05libauthsrv: ANAMELEN -> PASSWDLENcinap_lenrek
2016-07-31libauthsrv: export common readcons() routine and introduce PASSWDLEN constantcinap_lenrek
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.
2016-07-10libsec: add scrypt password based key derivation functioncinap_lenrek
2016-06-05aml: define amlintmask and set it according to DSDT revision (64bit / 32bit)cinap_lenrek
2016-05-04retire the dec alpha portcinap_lenrek
2016-04-28remove ape/regexp.h, remove leftover #pragma lib oldlibregexp.$O from ↵cinap_lenrek
upas/bayes/regexp.h
2016-04-27better memory management of threads (thanks knuth)ben
2016-04-26New libregexp and APE ported to nativeben
2016-04-20libsec: implement elliptic curve group operations in jacobian coordinate systemcinap_lenrek
2016-04-13remove unused liboventicinap_lenrek
2016-04-13libdraw: avoid BPSHORT()/BPLONG() expansion, cleanup loadchar(),cachechars()cinap_lenrek
assigning the expression value to a temporary variable in BPSHORT() and BPLONG() saves arround 2K of text in rio on arm and arround 1K on amd64. loadchar(): use the passed in "h" as the char index instead of recomputing it from c-f->cache. dont recompute wid. cachechars(): do cache lookup and find oldest entry in a single loop pass.
2016-04-11ape: removing opensslcinap_lenrek
2016-04-11ape: add libauth, libbio, libmp and libsec as replacements for opensslcinap_lenrek
2016-03-23add portable AES-GCM (Galois/Counter Mode) implementation to libsec and devtlscinap_lenrek
2016-02-28libsec: have 16 32-bit words in DigestState to avoid out of bounds warnings ↵cinap_lenrek
for poly1305