Commit graph

5475 commits

Author SHA1 Message Date
cinap_lenrek 1da795f327 diskparts(8), prep(8): add edisk in NAME section 2017-03-18 18:08:30 +01:00
cinap_lenrek c78d6569ac mus(1): fix manpage references 2017-03-18 17:56:34 +01:00
cinap_lenrek c29f30524b vga(3): complete list of vga controllers and software cursors 2017-03-18 17:13:09 +01:00
cinap_lenrek 1a2aefcf11 devmouse: refactor screen blanking logic
devmouse controls the screen blanking timeout, so move the
code there avoiding cross calls between modules. the only
function that needs to be provided is blankscreen(), which
gets called with drawlock locked.

the blank timeout is set thru /dev/mousectl now, so kernels
without devvga can set it.

blanking now only happens while /dev/mouse is read. so this
avoids accidentally blanking the screen on cpu servers that
do not have a mouse to unblank it.
2017-03-18 16:58:27 +01:00
cinap_lenrek 08453422b1 games/doom: don't spawn midi process when opening /dev/audio failed (thanks qwx) 2017-03-17 01:02:01 +01:00
cinap_lenrek 1132d1b9df tapefs: handle more cpio formats (thanks qrstuv) 2017-03-17 00:45:48 +01:00
cinap_lenrek 3d052eb2ea upas/fs: tls sni support for pop3/imap 2017-03-16 22:06:31 +01:00
cinap_lenrek cb1dc365c2 upas/fs: fix memory leaks in tls code, handle tls in a common wraptls() function 2017-03-16 00:05:08 +01:00
cinap_lenrek efddf48500 upas/fs: getting rid of the fine-grain locking...
now that locking works, its time to get rid of it.
given that the only concurrency is between the periodic reader
process and the filesystem code, just make sure the filesystem
rpc handlers do not run concurrenty while syncing is in progress
with a single qlock.
2017-03-15 19:30:33 +01:00
cinap_lenrek c8d9390070 upas/fs: more cleanup... 2017-03-14 23:46:35 +01:00
cinap_lenrek 4b08ef2c55 upas/fs: remove more debugging crap 2017-03-14 23:31:10 +01:00
cinap_lenrek 75bca30647 upas/fs: remove unused segbrk memory allocator 2017-03-14 23:21:38 +01:00
cinap_lenrek 8417787f99 upas/fs: remove idx semaphore, cannot happen as symcmbox() always called with mailbox locked 2017-03-14 23:19:17 +01:00
cinap_lenrek 508b796b27 upas/fs: fix more locking bugs, remove debugging clutter, remove planb mbox code 2017-03-14 23:06:39 +01:00
cinap_lenrek 163dccbac0 upas/fs: make sure mbox is locked during msgdecref() in rclunk() 2017-03-14 19:32:20 +01:00
mischief d18440d992 gs: validate parameter is dict in .initialize_dsc_parse
gs bug 697190, upstream commit 875a0095

also check gs_alloc_struct return value from upstream commit a2afc66d
2017-03-14 00:48:50 -07:00
mischief 07a14612a1 gs: check for sufficient params in .sethalftone5
ghostscript bug 697203, upstream commit f5c7555c303
2017-03-13 18:12:17 -07:00
cinap_lenrek 9b2d3ed37a gs: fix dangleing pointer crash with "lock" (ghostscript Bug 697204) 2017-03-13 18:56:52 +01:00
spew 59ed389a6e games/galaxy: fix creation of new bodies
I accidentally deleted the line that sets the initial
position of the vector
2017-03-12 18:52:36 -05:00
spew 3f2d3721de games/galaxy: avoid unnecessary calculations
It is not necessary to recalculate the center of the
screen every time.
2017-03-12 18:33:54 -05:00
spew dff1e3813f games/galaxy: fix zoom
Zooming when far away from the center of gravity
of the galaxy would zoom the center of the screen
out of view. Now adjust the origin so that the
center of the screen stays centered
2017-03-12 18:24:45 -05:00
cinap_lenrek ffa430c570 upas/fs: lock mbox in syncallmboxes() to avoid assert crash 2017-03-12 21:29:28 +01:00
cinap_lenrek b24ebff76a upas/fs: remove useless syncsem, make sure mbox is locked when fetching / syncing 2017-03-12 21:23:21 +01:00
cinap_lenrek f616c63b39 imap4d: simplify auth with encodefmt (backport from 9front) 2017-03-12 18:50:27 +01:00
aiju 8b6804717b nupas: delete okcidr(); always trust spf records 2017-03-12 17:19:20 +00:00
cinap_lenrek 8046225c9d send(8): document new reject behaviour with -r flag 2017-03-12 17:36:04 +01:00
cinap_lenrek c172881606 add mdir(6), splitmbox(8) and update upasfs(4) 2017-03-12 17:32:01 +01:00
cinap_lenrek dff78ef64a merge 2017-03-12 17:20:13 +01:00
cinap_lenrek 963cfc9a6f merging erik quanstros nupas 2017-03-12 17:15:03 +01:00
cinap_lenrek 5b7a62e5e6 merge 2017-03-11 20:42:25 +01:00
cinap_lenrek 8177d20fb2 kernel: get rid of active.Lock and active.thunderbirdsargo 2017-03-11 16:30:51 +01:00
cinap_lenrek a7f8ebca2f pc kernel: give cpu servers as many image cache strctures as processes 2017-03-11 16:28:11 +01:00
cinap_lenrek 5104934135 pc kernel: avoid AP's spinning in syncclock(), don't wait for thunderbirdsargo 2017-03-11 16:24:56 +01:00
cinap_lenrek 812383473c pc kernel: assume tsc and lapic clock rate on application processors is the same as on bootrap processor 2017-03-11 16:18:01 +01:00
cinap_lenrek 3e0e77a852 pc kernel: don't use active.thunderbirdsargo in vunmap() tlb flush code 2017-03-11 16:13:58 +01:00
cinap_lenrek cb5f6005bc teg2: fix format string warning in mmu.c 2017-03-11 16:07:48 +01:00
spew 2c6c64c474 games/galaxy: simplify zoom loop 2017-03-10 10:37:12 -06:00
spew acd1a3edda games/galaxy: new mouse behavior
MB1 moves the galaxy. MB2 zooms the galaxy. New body creation
moved to the menu
2017-03-10 09:57:23 -06:00
cinap_lenrek 5fc5c18208 cwfs: handle DMTMP flag in create 2017-03-06 03:07:03 +01:00
cinap_lenrek 5c6a03f4f4 cdproto: various cleanups
- bind /n/src9 only when theres .hg directory, so you can use /root as /n/src9
- skip *.6 and *.orig files in source direcrtories
- skip *.pdf and *.ps files in /sys/man
- skip cpurc.local and termrc.local
- dont create /fd, /mnt and/n in the root
- be specific about /lib
- create /cfg/pxe
2017-03-04 22:56:02 +01:00
spew 0e9973c80f games/galaxy: Change button 2 to reposition the galaxy, remove "move" from the button 3 menu 2017-03-01 15:59:26 -06:00
mischief a4895f5e44 pc64: enable cputemp driver
works on on x301 and t420.
2017-03-01 02:43:51 -08:00
mischief 319a9cc905 pc, pc64: bump Qmax in devarch
my x301 and t420 run out of archfiles with *acpi= while trying to add
hdacmd from audiohda.
2017-03-01 02:43:14 -08:00
spew 0ab5d34be4 games/galaxy: tweak pausing behavior 2017-02-27 19:56:46 -06:00
cinap_lenrek 9ce9299d17 games/doom: ... but keep fd=2 open :) 2017-02-27 00:01:39 +01:00
cinap_lenrek 6064e1b6fb games/doom: avoid /dev/cursor fd leak into music process 2017-02-27 00:00:58 +01:00
cinap_lenrek 394af5a216 authsrv: handle short reads in initkeyseed() 2017-02-26 23:10:17 +01:00
cinap_lenrek 6de804b578 authsrv: don't hash in hostowner key for keyseed
aiju → i don't like it, it's more bullshit ways to expose the key :)
aiju → if someone can grab /adm/keyseed, they can also grab /adm/users and /adm/keys
2017-02-26 22:44:47 +01:00
cinap_lenrek da343924f4 games(1): document games/midi -c arguments 2017-02-26 22:17:41 +01:00
cinap_lenrek 8834003afa games/doom: music support (thanks qu7uux) 2017-02-26 22:14:10 +01:00
cinap_lenrek 577de86669 midi: ignore bends, allow piping from stdin and to stdout, write in chunks from within sample loop (thanks qu7uux) 2017-02-26 19:30:48 +01:00
cinap_lenrek 70c6dab003 play, file: recognize midi and mus audio 2017-02-26 19:26:42 +01:00
cinap_lenrek 297bf25f61 add games/mus midi converter (by qu7uux) 2017-02-26 19:23:52 +01:00
cinap_lenrek 009bec0752 authsrv: salt the keyseed from /adm/keyseed file
change the keyseed key derivation to hkdf sha256
using the hostowners des key plus 256 bit random
salt from /adm/keyseed.
2017-02-26 03:47:46 +01:00
cinap_lenrek 27498dd63a authsrv: fix mkkey() dummy key generation (thanks aiju) 2017-02-26 02:21:49 +01:00
cinap_lenrek 27485e62d1 authsrv: get rid of needreply parameter by changing vnc protocol handler 2017-02-26 01:34:42 +01:00
aiju 9f2c7606ab hgwebfs: keep trying as long as we get needkey response 2017-02-26 01:13:13 +01:00
aiju 6651be7516 authsrv: more useful error reporting 2017-02-26 01:11:37 +01:00
cinap_lenrek ac51afa1c6 authsrv(6): fix typo "ther" -> "their" (thanks aiju) 2017-02-25 18:23:57 +01:00
cinap_lenrek 28491941b0 auth/asaudit: quote user and dom attributes in factotum key 2017-02-25 17:47:36 +01:00
aiju 7482cd4053 hgwebfs: rewind data before pushing 2017-02-25 13:06:23 +01:00
aiju e4dc3f9bd8 asaudit: check factotum key ; netaudit: mention asaudit 2017-02-25 11:54:15 +01:00
cinap_lenrek 58b6cdfdeb merge 2017-02-24 01:33:32 +01:00
cinap_lenrek c52251c9b6 libaml: make heap size field int, implement BankField definitions 2017-02-24 01:31:58 +01:00
aiju 0406d9828a asaudit: missing \n in print 2017-02-24 01:08:08 +01:00
aiju e14690517e merge 2017-02-24 01:02:43 +01:00
aiju 1645f3314c add auth/asaudit 2017-02-24 00:54:40 +01:00
cinap_lenrek c22fa6d5eb auth/readnvram: also print dp9ik key 2017-02-24 00:10:36 +01:00
aiju 54ec7aed62 auth/keyfs: support -r flag to mount read-only 2017-02-23 23:22:49 +01:00
cinap_lenrek 04171d2477 ether8169: add support for RTL8106E (thanks _potato) 2017-02-21 21:53:10 +01:00
cinap_lenrek a32d11dff3 ether82563: work arround phyprobe() failing on 82579LM without cable plugged in (thanks mischief)
on 82579LM, the phy status is inaccessible without
a cable plugged, so we wait and retry phyprobe() once
the link status changes.
2017-02-20 22:01:54 +01:00
aiju 55373a6498 ip/ipconfig: don't null terminate the dhcp string options.
this seems to be an anachronism; few modern clients put the null in and RFC 2132 says clients 'SHOULD NOT' null terminate
2017-02-19 22:53:10 +00:00
cinap_lenrek 64f5e1ddd4 galaxy(1): terminate .EX sections with .EE 2017-02-19 20:05:43 +01:00
cinap_lenrek 02a26802ff merge 2017-02-19 18:22:14 +01:00
cinap_lenrek 52570a2a2d ether82563: support for i219 (tested on t460p, thanks aiju) 2017-02-19 18:20:46 +01:00
spew 63870e3ef4 games/galaxy: fix crash on write to closed display 2017-02-19 10:02:56 -06:00
cinap_lenrek abda59c7ec ip/gping: fix corruption due to Machine.last pointer not being maintained in pingclean(), cleanup unused stuff 2017-02-19 02:27:42 +01:00
cinap_lenrek 59ba35a327 libregexp: fix assert check for compile1 instruction count
the assert fails for regcompnl(".") as TANY is compiled to
one instruction instead of two when nl == 0.

its not a problem when we end up with less instructions, so
changing the assert condition from == to <= to make sure we
didnt overrun the buffer.

--
cinap
2017-02-19 00:32:47 +01:00
spew 5aabf85d7c games/galaxy: add n-body simulator 2017-02-18 09:08:51 -06:00
spew 412b7501e4 games/mix: remove unused variable 2017-02-18 09:07:46 -06:00
cinap_lenrek 064a987bd8 wpa: dont send initial "start" message, faster polling interval waiting for connection
the kernel will automatically timeout the eap blocked state
for us and reassociate for us, so there is no need to provoke
the ap to start the wpa/eap handshake.

make the polling faster changing the sleep time from 500 to
100 ms.
2017-02-16 20:11:20 +01:00
cinap_lenrek 3ea0572f4f wifi: timestamps in debug print, flush queue on deassoc, shorter roam timeout, timeout in blocked state, fix essid seprint race
- add some milisecond timestamps to the status change debug printing
- flush the packets in the queue on deassoc to avoid processing old pae
  packets on next association.
- make roaming timeout shorter (60 -> 20 seconds)
- automatically timeout and restart wpa/pae blocked state
- fix printing race when essid gets changed underneath seprint
2017-02-16 20:08:27 +01:00
cinap_lenrek c1c644d13c etheriwl: add support for Centrino Advanced-N 6030, 6235 (thanks khm, openbsd)
from openbsd driver, it seems the Centrino Advanced-N 6030 and 6235
cards share the same device revision as the 6205 (Type6005). Also
changing the device revision field from 4 to 5 bits.
2017-02-16 20:03:41 +01:00
cinap_lenrek b61799df43 playlistfs: fix playc chan type (thanks mischief) 2017-02-15 08:53:31 +01:00
cinap_lenrek f2d2f9374b jukefs: fix realloc sizes (thanks mischief) 2017-02-15 08:50:03 +01:00
cinap_lenrek 60cbbb123b merge 2017-02-13 22:28:35 +01:00
cinap_lenrek 45d01d9c99 wifi: handle short preamble and short time slot capabilities
- drivers enable short preamble and sort timeslot depending
  on the ap beacon capinfo field (bss->cap)
- wifi sets short preamble bit in capinfo on association request
- wifi sets short timeslot bit when ap advertized it in beacon
2017-02-13 22:26:38 +01:00
aiju d9a964788b games/gb: fix bug that prevented timer data from being accessed (thanks qwx) 2017-02-12 12:28:02 +01:00
aiju fe1e95d6d8 games/gb: timer array should be unsigned (thanks qwx) 2017-02-12 00:38:17 +01:00
aiju 6176b55759 games/gb: fix typo in the routine to load timer data (thanks qwx) 2017-02-11 23:52:35 +01:00
cinap_lenrek 7d4a1e3643 ec(2), rsa(2): document X509toECpub(), X509ecdsaverify(), X509ecdsaverifydigest(), X509rsaverifydigest() 2017-02-10 22:39:47 +01:00
cinap_lenrek 6840a9aafd libsec: zero name buffer in X509toECpub() 2017-02-10 21:42:11 +01:00
cinap_lenrek fb2abc2a04 libsec: make X509toECpub() return CN name like X509toRSApub() 2017-02-10 21:36:19 +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 24007b9120 libsec: revert asn1mpint(), rewrite rsa signature validation, cleanups
reverting asn1mpint() as all users really just expect
unsigned integers here. also openssl seems to interpret
rsa modulus as unsigned no matter what... so keeping
it as it was before.

handle nil cipher bytes in factotum_rsa_decrypt() due
to pkcs1padbuf() failing.

apply some lessions from intels berzerk paper:

instead of parsing the decrypted digest info blob, we
generate the *expected* blob's for all digest algorithms
that match the digest size and compare the results.

provide pkcs1 pad and unpad functions that consistently
enforce minimum padding size and handles block types 1
and 2.
2017-02-10 00:08:38 +01:00
mischief e8045cbcbf factotum: support sha256 algorithm in rsa pkcs#1 signing
also removed md2 oid, it is unused.
2017-02-09 09:08:43 +00:00
cinap_lenrek 6386a0391a libsec: handle signed asn.1 bigint to mpint conversion for x509 2017-02-06 21:40:42 +01:00
cinap_lenrek 486523bbc5 ip/ipconfig: have to refresh /net/cs, /net/dns after ndbconfig even tho /net/ndb didnt got written 2017-02-06 11:19:45 +01:00
cinap_lenrek bbce9c0566 rsagen: prefer 65537 as the default exponent when elen == 0, otherwise pick randomly 2017-02-06 04:25:38 +01:00
cinap_lenrek 5256f4063e libsec: fix mkbigint(), asn.1 uses two's compement signed representation
quick fix is to bias the rounding so the msb will always
be zero. should write proper conversion code to actually
deal with signed mpints... also for asn1mpint()... -- cinap
2017-02-06 03:50:03 +01:00
cinap_lenrek 02b3c609ed libsec: check if modulus is too small for message in pkcs1padbuf() 2017-02-06 02:03:16 +01:00
cinap_lenrek 1df513a2a1 libsec: need PKCS#9 "Extension Request" attribute (rsareq()) 2017-02-06 01:01:34 +01:00
cinap_lenrek 03e6d3a0f0 aan: remove fcallfmt 2017-02-05 06:14:42 +01:00
cinap_lenrek b8811b7a2f merge 2017-02-05 05:16:39 +01:00
cinap_lenrek 00575e07bb libsec: have rsagen() always produce postive !dk to avoid confusion 2017-02-05 05:15:17 +01:00
cinap_lenrek 541528252e merge 2017-02-05 02:50:11 +01:00
cinap_lenrek 96769e0476 libmp: fix mpmod() aliasing bug when n == r and x < 0 (thanks aiju, mischief)
mischief found this in rsafill()'s call mpmod(c2, x, x), where
d parameter is negative (rsagen created a rsa key with negative dk).
2017-02-05 02:48:13 +01:00
spew 3b24eb4c1f games/mix: implement Knuth's specification for comments 2017-02-03 18:55:02 -06:00
cinap_lenrek 7f12431009 aan: use unsigned message counters, reject repeated acks, cleanup debug prints 2017-02-04 01:39:36 +01:00
spew 930be3d317 libregexp: improve the transition to next available thread, instruction, and generation 2017-02-03 15:33:15 -06:00
spew 9ae083d816 libregexp: simplify regular expression vm implementation
Make the logic around who has priority over the final
match simpler by merging the priority generation and
match fields in a smarter way. Move the creation of
new thread matches up to the top to avoid jumping all
over the place.
2017-02-02 21:21:34 -06:00
cinap_lenrek f94167ebee ip/ipconfig: don't write /net/ndb when getting config from ndb (-N) 2017-02-02 22:00:51 +01:00
cinap_lenrek 65337bec22 aan: check negative message size in header 2017-02-02 20:53:05 +01:00
cinap_lenrek 7516e85813 audio/flacdec: continue after decode error (thanks deuteron) 2017-02-01 10:38:19 +01:00
cinap_lenrek 8d42011603 /sys/lib/plumb/basic: fix rule for audio files (thanks deuteron) 2017-01-31 11:59:08 +01:00
cinap_lenrek d643cf2fe6 cwfs: handle worm exhaustion more gracefully
don't deadlock when cwgrow() detects we'r out of worm space
by releasing the cache superblock buffer.

don't allocate space beyond the worm device when dumping by
having slit() check. after cwrecur(), we check if there are
enougth blocks remaining to write the dump date directories
and superblocks.
2017-01-30 23:17:18 +01:00
cinap_lenrek 5171a0ac52 cwfs: fix cwcmd startdump 2017-01-27 02:00:20 +01:00
cinap_lenrek c6b2ad583e auth/keyfs: use ulong for time 2017-01-26 22:09:44 +01:00
cinap_lenrek 8ea917d119 secstore/secuser: use ulong for time 2017-01-26 22:06:57 +01:00
cinap_lenrek 2aa42aee31 auth(8): document authsrv -N flag 2017-01-26 11:23:46 +01:00
spew acd4a952bd games/mix: fix STZ bug, print CMPA instruction 2017-01-23 13:41:21 -06:00
cinap_lenrek 9278b94623 pc/pc64: get rid of timerset(0) case, was used with "i8253set off" ctl 2017-01-22 21:12:38 +01:00
cinap_lenrek 885d41dd7b sgi: get rid of timerset(0) case 2017-01-22 21:08:28 +01:00
cinap_lenrek 6cb359cc00 sgi: cleanup timer code
- no need to splhi() in timerset, always called with
  interrupts off.

- make timerset always update the period (next == 0)

- remove period update in fastticks(), simplify
  delta calculation.
2017-01-22 20:39:14 +01:00
cinap_lenrek a2eafd2cb0 merge 2017-01-22 00:43:44 +01:00
cinap_lenrek d6bb01da76 factotum: fix memory leak in findkey() 2017-01-22 00:42:13 +01:00
spew dbf6aaf513 games/mix: fix man page directories 2017-01-20 16:14:03 -06:00
spew 339fda9164 games/mix: remove tests directory 2017-01-17 20:52:49 -06:00
spew 4b68ddfb5a games/mix: document -g option, rename tests to examples as it is in the man page 2017-01-17 20:51:08 -06:00
cinap_lenrek ca47fef006 rcpu: use $cpu environment variable for host when not specified 2017-01-15 18:25:54 +01:00
cinap_lenrek e9bf14eceb libsec: avoid temp variables in chacha/salsa ENCRYPT() macro
given that we only pass uchar* with constant offsets
to the s and d arguments of ENCRYPT(), we do not need
the temporary variables sp/dp and the compiler is
smart enougth to combine the const offset with the ones
from GET4() and PUT4() and emit single load and store
instructions for the byte accesses.
2017-01-15 04:09:47 +01:00
cinap_lenrek 03c44c44b0 rx: remove ssh code 2017-01-13 19:54:42 +01:00
cinap_lenrek b7103d1517 listen(8): remove tcp22 section 2017-01-13 19:46:04 +01:00
cinap_lenrek 916d0088b7 cpu(1), import(4): note deprecation and refer to rcpu(1) 2017-01-13 19:43:05 +01:00
cinap_lenrek 67fb680508 listen(8): remove reference to ssh(1) 2017-01-13 19:31:41 +01:00
cinap_lenrek 04b200f59b rsa(8): remove reference to ssh(1) 2017-01-13 19:30:12 +01:00
cinap_lenrek db310be100 srv(4): fix reference to tlssrv(8) 2017-01-13 19:29:13 +01:00
cinap_lenrek 23ebca57a3 factotum(4): remove reference to ssh(1) 2017-01-13 19:26:55 +01:00
cinap_lenrek a2eddf4d2d execnet(4): remove trailing , 2017-01-13 19:24:13 +01:00
cinap_lenrek 93dc490b1f execnet(4): remove reference to ssh(1) 2017-01-13 19:23:20 +01:00
cinap_lenrek 5bfce16c43 vt(1): remove reference to ssh(1) 2017-01-13 19:21:04 +01:00
cinap_lenrek 412cbf67f1 con(1): remove reference to ssh(1) 2017-01-13 19:19:08 +01:00
cinap_lenrek 26c39ddc8d 9p(2): remove reference to ssh(1) 2017-01-13 19:18:08 +01:00
cinap_lenrek 3a7146f8bf stub(8): remove reference to sshnet 2017-01-13 19:15:50 +01:00
cinap_lenrek 19668882ee authsrv(6): remove reference to ssh(1) 2017-01-13 19:13:48 +01:00
cinap_lenrek 39e4bbcfb0 srv(4): remove ssh/sshsrv references 2017-01-13 19:02:39 +01:00
khm dc8c7bf2b7 ssh: R.I.P. 2017-01-12 16:36:38 -08:00
cinap_lenrek cb1555c7d7 sgi: change definition of tas() to take void* like the rest 2017-01-12 21:11:34 +01:00
cinap_lenrek bdc1b187c4 merge 2017-01-12 20:17:52 +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 47f07b2669 kernel: make the mntcache robust against fileserver like fossil that do not change the qid.vers on wstat
introducing new ctrunc() function that invalidates any caches
for the passed in chan, invoked when handling wstat with a
specified file length or on file creation/truncation.

test program to reproduce the problem:

#include <u.h>
#include <libc.h>
#include <libsec.h>

void
main(int argc, char *argv[])
{
	int fd;
	Dir *d, nd;

	fd = create("xxx", ORDWR, 0666);
	write(fd, "1234", 4);
	d = dirstat("xxx");
	assert(d->length == 4);
	nulldir(&nd);
	nd.length = 0;
	dirwstat("xxx", &nd);
	d = dirstat("xxx");
	assert(d->length == 0);
	fd = open("xxx", OREAD);
	assert(read(fd, (void*)&d, 4) == 0);
}
2017-01-12 20:13:20 +01:00
cinap_lenrek 4aeefba681 kernel: add "close" ctl message for tcp connection to gracefully hang up a connection without a tcp reset (used by go) 2017-01-12 20:04:41 +01:00
spew a0cc369c15 games/mix: Add Knuth MIX emulator/assembler 2017-01-10 11:42:11 -06:00
cinap_lenrek c67d0c699f 6c: reverse register allocation order to avoid having to spill AX,DX and CX
allocating AX,CX,DX last improves 64-bit multiplication-add
chains like a*b + c*d as the multiplication does not need to save
and restore AX and DX registers in most cases. reserving CX for
shifts also helps.
2017-01-08 17:41:10 +01:00
cinap_lenrek 28089ee035 aux/data2s: compress output
encode printable characters litteraly, use D() macro to
reduce DATA instruction overhead.

this halves the time spend assembling $CONF.root.s for
the kernel build.
2017-01-07 20:36:13 +01:00
cinap_lenrek df6c190831 cfs: fix cfsctl interaction with mount cache (mount -C flag)
the root fileserver is mounted with the mount cache enabled
causing the contents of the cfsctl file to be cached as well
leading to wrong results. so after we generated the new stat
buffer, we increment the qid.vers so the cache starts out
clean.
2017-01-06 02:54:26 +01:00
cinap_lenrek 19dc7c2097 6c, 8c: fix "DI botch" evacuating DI/SI/CX registers to ".save" variables 2017-01-02 05:49:18 +01:00
cinap_lenrek 8547defe70 vgaigfx: enable softscreen by default
given that the igfx driver doesnt provide any acceleration functions
and drawing is usually faster with double buffering as it eleminates
reads over the pci bus, enable softscreen by default.
2016-12-29 03:46:08 +01:00
cinap_lenrek 9e95cb1ac9 samterm: avoid flushimage when theres nothing new to flush 2016-12-28 23:42:56 +01:00
cinap_lenrek 45512020d2 libmp: avoid temporary buffer allocation in mprand() 2016-12-28 18:19:52 +01:00
cinap_lenrek 7755561ae1 fplot: fix zoom egetrect check (thanks qu7uux) 2016-12-28 02:09:33 +01:00
cinap_lenrek 74f62ca21b fplot: parse negative numbers in argument to -r option (thanks qu7uux) 2016-12-28 02:08:45 +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
cinap_lenrek 84228515b6 keyfs: print error message when reading /adm/keys fails 2016-12-26 19:48:38 +01:00
cinap_lenrek c5e9083558 cdproto: explicitely create /$objtype/bin subdirectories for all archs 2016-12-25 02:13:17 +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 3bf89ed825 auth/as: simplify further 2016-12-22 21:55:56 +01:00
cinap_lenrek 82bf19941e auth/as, auth/none, auth/newns: consistent handling of command arguments, cleanup 2016-12-22 21:39:59 +01:00
cinap_lenrek 640adc8f82 merge 2016-12-22 01:59:00 +01:00
cinap_lenrek 1ebcdca4ba libauth: don't attempt to mount when opening mount srv file fails in nsop()
making newnsdebug error messages more usefull...
2016-12-22 01:56:19 +01:00
aiju a37a13074c mpxor: sign should be 1/-1, not 0/-1 2016-12-20 18:33:58 +01:00
cinap_lenrek 4f72cda4ac awk: improve random number generation
don't use rand() and scale it to 0..1, instead call
native frand() which produces uniform random number.

instead of seeding the rng with time(0), use truerand().
2016-12-18 18:00:45 +01:00
cinap_lenrek 2830cd7eb6 pc: modify cpu0 page tables in patwc() instead of current cpu ones
on 386 kernel, each processor has its own pdb where the primary
pdb for kernel mappings is on cpu0 and other cpu's lazily pull
pdb entries from cpu0 when they fault in vmapsync().

so we have to edit the table tables in the pdb of cpu0 and not
the current processor.
2016-12-17 19:47:35 +01:00
cinap_lenrek ea30cf94a5 pat write combinding support for 386 kernel, honor cpuid bits 2016-12-17 16:35:26 +01:00
cinap_lenrek d48a089486 pc64: implement simple write combining for framebuffers with the PAT
on some modern machines like the x250, the bios arranges the mtrr's
and the framebuffer membar in a way that doesnt allow us to mark
the framebuffer pages as write combining, leading to slow graphics.

since the pentium III, the processor interprets the page table bit
combinations of the WT, CD and bit7 bits as an index into the
page attribute table (PAT).

to not change the semantics of the WT and CD bits, we preserve
the bit patterns 0-3 and use the last entry 7 for write combining.
(done in mmuinit() for each core).

the new patwc() function takes virtual address range and changes
the page table marking the range as write combining. no attempt
is made on invalidating tlb's. doesnt matter in our case as the
following mtrr() call in screen.c does it for us.
2016-12-15 23:27:01 +01:00
cinap_lenrek f3b5bcffce acid: fix y.tab.h dependency for proc.$O 2016-12-15 22:08:57 +01:00
cinap_lenrek 052abe1cc8 xen: fix build by adding missing rdrandbuf() function 2016-12-14 20:02:07 +01:00
cinap_lenrek 6cbc226351 vncs: update devmouse code 2016-12-11 16:53:51 +01:00
cinap_lenrek 5cc1cb1820 vnc: don't prompt for password on auth_respond() failure 2016-12-11 16:52:38 +01:00
cinap_lenrek 5d353d62fe devmouse: remove unused static map[] array 2016-12-11 16:02:30 +01:00
cinap_lenrek b3c1fa9ecf devmouse: change msec argument of *mousetrack() to ulong 2016-12-10 16:12:18 +01:00
cinap_lenrek 7a145e89b3 audioac97: support for ICH4-ICH7 based cards with memory mapped registers (thanks echoline) 2016-12-05 18:32:58 +01:00
cinap_lenrek 9a55346264 devmouse: various bugfixes, simplify
the assumption of only one producer ((abs)moustratrack()) is not true
for external mouse events from /dev/mousein, so protect the mouse state
and queue with ilock().

get rid of mousecreate(), just use devcreate().

reset cursor when all instances of /dev/mouse and /dev/cursor got closed,
instead of also considering /dev/mousectl. the reason is that kbdfs keeps
the mousectl file open. so exiting a program that has the cursor changed
will properly reset the cursor to arrow.

don't access user buffer while holding cursor spinlock! the memory access
can fault. theres also no lock needed there, we'r just copying *from* the
cursor memory.

fix use of strtol(), p will always be set, check for end of string.

keep pointer coordinates onscreen (off by one).

make lastms() function to get the last millisecond delta of last
call for resynchronization.

fix msg[3] buffer overflow in m5mouseputc().

get rid of mouseshifted logic, it is not used.
2016-11-29 21:11:48 +01:00
cinap_lenrek 3dc64de2e4 omap: cleanup mouse.c, just a dummy for mousectl() 2016-11-29 20:54:17 +01:00
cinap_lenrek 807019d6eb omap: fix format string warning %d for long 2016-11-29 20:51:08 +01:00
cinap_lenrek 6d42467411 stdio: fix sclose() buffer overrun when terminating string, realloc() error handling (thanks porlock)
theres a bug is in sclose() where it doesnt check if wp is beyond
the buffer. also wp was not updated after realloc().

bug was reported by porlock on 9fans:

Plan 9's implementation of the standard C functions snprintf and
vsnprintf have a buffer overrun bug.

If the buffer length equals the output length (without the terminating
null), then one too many characters is written to the buffer.

For example,
              snprintf(buf, 4, "ABCD");

will write 5 characters to buf.
2016-11-27 21:20:27 +01:00
cinap_lenrek 0edcb33ca1 merge 2016-11-19 16:47:21 +01:00
cinap_lenrek 93f122b94a link loopbackmedium and netdevmedium in bcm/pif, sgi/indy and zynq kernels 2016-11-19 16:45:18 +01:00
ftrvxmtrx ee9b0eef89 libavl, libregexp: put debug functions back 2016-11-17 23:07:54 +01:00
ftrvxmtrx ed76659c05 /sys/src/lib*: clean up 2016-11-17 22:58:16 +01:00
cinap_lenrek 28f4567ba6 libmemdraw: cleanup fillpoly(), remove unused fillcolor hack 2016-11-17 20:10:07 +01:00
cinap_lenrek 6fc0e0541c libsec: remove unused get32() function 2016-11-17 19:54:13 +01:00
cinap_lenrek b4db73795e libmemdraw: remove unused static drawbuf variables and ptrfn() declaration 2016-11-17 19:42:12 +01:00
cinap_lenrek dd4de0b0fa devtls: remove unused get32() function 2016-11-17 18:14:06 +01:00
ftrvxmtrx 0930f44feb cmd: remove a bit of unused stuff 2016-11-17 02:59:40 +01:00
ftrvxmtrx c0d0f86b14 tar: remove unused variable 2016-11-17 02:14:59 +01:00
ftrvxmtrx e49f163ef3 clock: remove unused variable 2016-11-17 02:12:49 +01:00
ftrvxmtrx 4c0c82d6f7 page: remove unused variables 2016-11-17 02:11:35 +01:00
ftrvxmtrx ec32701973 ramfs: remove unused variable 2016-11-17 02:09:57 +01:00
ftrvxmtrx 4195e1a54e aan: didn't ask about sendcommand 2016-11-17 02:07:52 +01:00
ftrvxmtrx 8f221cfec1 libsec: remove unused aes_setupDec 2016-11-17 02:02:32 +01:00
cinap_lenrek 1a782fda3e pc64: check if vmap() range fits in VMAPLEN window, remove unneeded vmapsync(), rename fault386() to faultamd64() 2016-11-17 01:28:11 +01:00
cinap_lenrek 78d2a52577 ip/tcp: never raise the mss over the link mtu < 1280 for v6
v6 mandates minimum mtu of 1280, tho someone *could* setup
an interface with a lower mtu or set it lower for testing.
2016-11-16 00:54:04 +01:00
cinap_lenrek 323d625864 ip: get rid of update_mtucache() and restrict_mtu() prototypes 2016-11-15 22:13:08 +01:00
cinap_lenrek 30c5c3404b ip/pktmedium: no mintu, no maclen... thi is ip packets 2016-11-15 22:11:47 +01:00
cinap_lenrek 3579757291 ip/pktmedium: fix wrong hsize, theres no ethernet header on packet media
packet media is just raw ip packets, so theres no link-level
header there. was probably copy-pasted from ethermedium...
2016-11-15 21:54:03 +01:00
cinap_lenrek 1f628ef132 ip/tcp: only calculae mss from interface mtu when directly reachable for v6
we currently do not implement path mtu discovery so for
destinations that are not directly reachable assume the
minimum mtu of 1280 bytes.
2016-11-15 20:28:45 +01:00
cinap_lenrek fdc8187038 nusb/ether: support for "bridge" ctl message 2016-11-12 23:11:03 +01:00
cinap_lenrek c86b5ddaa6 kernel/qio: make readblist() offset of type ulong as the rest 2016-11-12 17:41:58 +01:00
cinap_lenrek 2127b8c552 kernel/qio: get rid of unused qcopycnt debug variable 2016-11-12 16:05:00 +01:00
cinap_lenrek d2ad8df947 kernel/qio: implement concatblock() with pullupblock() 2016-11-09 19:44:38 +01:00
cinap_lenrek d97eb114d5 kernel/ip: fix typo (rfc -> ifc) 2016-11-08 22:33:48 +01:00
cinap_lenrek ba38aa8b9d gre: check nil for pullupblock() 2016-11-08 22:33:19 +01:00
cinap_lenrek 58fe71b2f5 devbridge: simplify etherwrite() as we dont deal with block lists 2016-11-08 21:06:06 +01:00
cinap_lenrek 99cc56f2e9 kernel/ip: remove nil checks for allocb() and padblock() 2016-11-08 21:05:01 +01:00
cinap_lenrek 5cbffd6e6b kernel/qio: maintain Block.next pointer in padblock() 2016-11-08 21:03:08 +01:00
cinap_lenrek 8f782ac916 srv(4): add SOURCE for srvtls 2016-11-08 02:10:47 +01:00
cinap_lenrek b431b6c169 kernel/qio: fix comments, fix qiwrite() on close queue, remove debug setmalloctag() call in qwrite() 2016-11-08 00:38:07 +01:00
cinap_lenrek 32dfbc7c50 devcons: simplify putstrn0() 2016-11-08 00:34:59 +01:00
cinap_lenrek 48b49361d8 devbridge: various bugfixes and improvements from charles forsyth 2016-11-07 22:43:37 +01:00
cinap_lenrek a54d1cd95e kernel/qio: big cleanup of qio functions
remove bl2mem(), it is broken. a fault while copying to memory
yields a partially freed block list. it can be simply replaced
by readblist() and freeblist(), which we also use for qcopy()
now.

remove mem2bl(), and handle putting back remainer from a short
read internally (splitblock()) avoiding the releasing and re-
acquiering of the ilock.

always attempt to free blocks outside of the ilock.

have qaddlist() return the number of bytes enqueued, which
avoids walking the block list twice.
2016-11-07 22:20:10 +01:00
cinap_lenrek 23d217afb4 devloopback: simplify loopoput()
remove unneeded waserror() block, loopoput is alled from
loopbackbwrite only so we will always get called with a
*single* block, so the concatblock() is not needed.
2016-11-07 22:08:21 +01:00
cinap_lenrek 857f2528e0 ip: always pass a single block to Medium.bwrite(), avoid concatblock() calls in Dev.bwrite()
the convention for Dev.bwrite() is that it accepts a *single* block,
and not a block chain. so we never have concatblock here.

to keep stuff consistent, we also guarantee thet Medium.bwrite()
will get a *single* block passed as well, as the callers are
few in number.
2016-11-07 22:05:29 +01:00
cinap_lenrek ea993877a9 ip/nullmedium: free passed block in nullbwrite() 2016-11-07 21:40:12 +01:00
cinap_lenrek 59dd0af53a ip/tcp: remove useless nil checks for padblock() and allocb() return value 2016-11-07 21:39:28 +01:00
cinap_lenrek c1fd7c210b kernel: fix missing ; in panic() call 2016-11-05 20:08:20 +01:00
cinap_lenrek 963497f06b kernel: avoid padblock copying for devtls/devssl/esp, cleanup debugging
to avoid copying in padblock() when adding cryptographics macs to a block
in devtls/devssl/esp we reserve 16 extra bytes to the allocation.

remove qio ixsummary() function and add acid function qiostats() to
/sys/lib/acid/kernel

simplify iallocb(), remove iallocsummary() statitics.
2016-11-05 20:05:40 +01:00
cinap_lenrek 240590ab0a archacpi: fix format string warning on amd64 2016-11-05 18:31:50 +01:00
cinap_lenrek fa5bd71218 devmnt: avoid memory copies of I/O rpc buffer by using bwrite()
given that devmnt will almost always write into a pipe
or a network connection, which supports te bwrite routine,
we can avoid the memory copy that would have been done by
devbwrite(). this also means the i/o buffer for writes
will get freed sooner without having to wait for the 9p
rpc to get a response, saving memory.

theres one case where we have to keep the rpc arround and
that is when we write to a cached file, as we want to update
the cache with the data that was written, but the user buffer
cannot be trusted to stay the same during the rpc.
2016-11-05 18:26:12 +01:00
cinap_lenrek 5c1feb0ef0 libc: move calloc() into its own compilation unit
move calloc() in its own compilation unit to avoid
code duplication. also, calloc() is used rarely in
plan9 programs.
2016-11-05 18:00:10 +01:00
cinap_lenrek bf9bada0c2 winwatch: put previous label contents in edit buffer for relabling 2016-11-01 09:50:25 +01:00
cinap_lenrek 95609d520e 8c: fix double compiling FNX complex lvalue in cgen64()
sugen() calls cgen64() speculatively so that when cgen64() returns
zero, it will fall back and compile 64-bit copy.

the bug was that cgen64() compiled the left hand side and then recursively
called cgen64() again, which didnt handle the memory copy so it returned
zero and sugen() would compile the left hand side again resulting in two
function calls being emited.

some code that reproduced the issue:

#include <u.h>
#include <libc.h>

typedef struct
{
	char x[10];
	vlong a;
} X;

X a;
X *f(void) { return &a; }

void
main(int argc, char *argv[])
{
	f()->a = a.a;
}

producing:

TEXT	f+0(SB),0,$0
	MOVL	$a+0(SB),AX
	RET	,
	RET	,
	TEXT	main+0(SB),0,$0
	CALL	,f+0(SB)
	CALL	,f+0(SB)			<- bug
	MOVL	AX,CX
	LEAL	a+12(SB),DX
	MOVL	(DX),AX
	MOVL	AX,12(CX)
	MOVL	4(DX),AX
	MOVL	AX,16(CX)
	RET	,
	GLOBL	a+0(SB),$20
	END	,
2016-10-30 23:30:13 +01:00
cinap_lenrek 62d3108646 ape/libsec: add secp384r1 curve parameters for tls 2016-10-30 20:32:03 +01:00
cinap_lenrek ef8cbbba03 merge 2016-10-30 02:17:12 +01:00
cinap_lenrek c9d55cadb3 libsec: add secp384r1 curve parameters for tls 2016-10-30 02:15:40 +01:00
spew cf5d24033d winwatch: no more 'l' key labeling 2016-10-26 14:01:13 -05:00
spew d5992857bb winwatch: middle mouse button click also prompts for label 2016-10-25 22:53:38 -05:00
ftrvxmtrx 7b8c6ae432 stats: alternatively read battery and temp from aux/acpi 2016-10-24 23:51:16 +02:00
ftrvxmtrx 1f3600c83f aux/acpi: make it stats(8)-friendly 2016-10-24 23:50:04 +02:00
cinap_lenrek 234137bce3 fix bugs and cleanup cryptsetup code
devfs:

- fix memory leak in devfs leaking the aes key
- allocate aes-xts cipher state in secure memory
- actually check if the hexkey got fully parsed

cryptsetup:

- get rid of stupid "type YES" prompt
- use genrandom() to generate salts and keys
- rewrite cryptsetup to use common pbkdf2 and readcons routines
- fix alot of error handling and simplify the code
- move cryptsetup command to disk/cryptsetup
- update cryptsetup(8) manual page
2016-10-24 20:56:11 +02:00
cinap_lenrek f3feafc476 auth/factotum: bound the number of srv processes to 16, error the 9p rpc when it is over limit 2016-10-23 17:18:35 +02:00
cinap_lenrek b728f50a79 lib9p: limit the number of srv processes kept arround 8 2016-10-23 17:16:22 +02:00
cinap_lenrek 98dba9a4a3 pc/archacpi: don't do acpi initialization in the kernel, provide generic acpimem routines
get rid of _INI and _REG method calls, this is not full acpi environment
anyway and all we really want todo at kernel boot time is figuring out
the interrupt routing. aux/acpi can try to enable more stuff if it needs
to later when battery status desired.

dont snoop memory space regions in amlmapio(), this is just wrong as
amlmapio() is *lazily* mapping regions as they are accessed, so the
range table would never be really complete. instead, we provide generic
access to the physical address space, excluding kernel and user memory
with acpimem file.
2016-10-23 04:09:27 +02:00
cinap_lenrek 055f837043 ip: simplify code as packblock() and concatblock() will never error 2016-10-23 00:31:42 +02:00
cinap_lenrek 75c6ab45e0 devip: simplify ipbwrite() by using retun value of qbwrite() 2016-10-23 00:29:41 +02:00
cinap_lenrek ef5c862ce9 ip/icmp: only reply to echo request when directed to us and source is unicast 2016-10-23 00:25:17 +02:00
cinap_lenrek a8d00e5d56 gif: just read and decode the first image when -9 or -c flag is specified 2016-10-22 00:35:17 +02:00
cinap_lenrek 6d97f77c2d libdraw: avoid dropping queued button change mouse events in emouse() 2016-10-22 00:04:21 +02:00
cinap_lenrek e5dc3ade08 mothra: avoid flushimage() calls, event() will implicitely flush 2016-10-22 00:02:23 +02:00
spew 3145ca7d78 mpc: remove unused yylval type 2016-10-19 22:15:51 -05:00
ftrvxmtrx 26e00d014c aux/acpi: batteries and CPU temp reading so far 2016-10-18 23:05:09 +02:00
ftrvxmtrx e01577f8f6 archacpi: optionally export acpi memory regions; properly initialize environment 2016-10-18 23:04:19 +02:00
ftrvxmtrx 06dd182695 sam: revert showdata crap 2016-10-18 21:25:19 +02:00
ftrvxmtrx d010b87b18 sam: corner cases are hard 2016-10-18 20:27:08 +02:00
ftrvxmtrx e19308ee16 sam: fixup :( 2016-10-18 20:22:25 +02:00
ftrvxmtrx dff69d5922 samterm: support "showdata" plumb action 2016-10-18 20:02:01 +02:00
stanley lieber 40f69f4df5 fortunes: does that me a dipshit 2016-10-16 14:16:17 -04:00
ftrvxmtrx 0a7a717525 scram: remove _PTS(5). it just doesn't make any sense 2016-10-15 23:42:22 +02:00
ftrvxmtrx 277913c94a scram: oops. word is 0xffff, not 0xff 2016-10-15 23:34:08 +02:00
ftrvxmtrx 375ad2d3ab scram: run _PTS(5) and disable GPEs before entering S5. x200s shuts down properly now 2016-10-15 23:10:53 +02:00
stanley lieber 7392dce0a7 fortunes: Angular uses the term "scope" in a manner akin to the fundamentals of co
mputer science.
2016-10-10 13:43:48 -04:00
cinap_lenrek 062a46607e nusb/kb: set usage to 0 (undefined) for items exceeding usage list 2016-09-28 19:25:23 +02:00
cinap_lenrek 9cb3e5900e nusb/lib: fix wrong endpoint id when openep() finds already existing endpoint file 2016-09-28 19:15:10 +02:00
ftrvxmtrx ab3492f05e sam: putenv("%", ...): don't crash when no file is current 2016-09-26 23:00:06 +02:00
cinap_lenrek d8b4f95476 sam: use $% instead of $f for filename to be consistent with acme 2016-09-22 11:04:43 +02:00
cinap_lenrek 52cacba37c sam: make current filename available to shell commands in $f (thanks aiju) 2016-09-22 10:49:48 +02:00
cinap_lenrek 483e54a0d3 ip(3): spelling, thanks sl 2016-09-21 21:57:08 +02:00
cinap_lenrek e864523eed ip(3): update description of /net/ipifc/*/status format 2016-09-21 21:47:52 +02:00
cinap_lenrek c7bad8f0e5 rio: fix onscreen() 2016-09-20 09:15:53 +02:00
cinap_lenrek 35fde3591f scat: hjdicks for amd64 2016-09-19 19:04:21 +02:00
aiju 11e40fc6b4 pc(1): if the input base is not 10, print the 0d prefix before decimal numbers; this way, all output is always valid input (for the current mode) 2016-09-19 16:45:15 +00:00
cinap_lenrek bb823caa28 merge 2016-09-19 02:30:39 +02:00
cinap_lenrek c7f0aba80b webfs: aaand another one (should go to sleep) 2016-09-19 02:28:10 +02:00
cinap_lenrek fe320116da merge 2016-09-19 02:14:03 +02:00
cinap_lenrek f5fcb42cff merge 2016-09-19 02:12:18 +02:00
cinap_lenrek cbdf48454f webfs: fix mistake... 2016-09-19 02:11:03 +02:00
cinap_lenrek 6d354d07e8 webfs: don't use cache connections when posting
we cannot retry posts and we do not know for sure if a
post had any side effect when we got no status, so always
make a new connection for a post request.
2016-09-19 02:04:13 +02:00
aiju 0c50e1bc3d pc(1): add pb (thanks, BurnZeZ); add bit numbering 2016-09-19 01:20:28 +02:00
cinap_lenrek 1447b95555 rio: improved bandsize()
when dragging a window edge, allow one to slide to a corner
or slide from corner to corner (usefull when inverting).

also make sure the right or bottom of the rectangle returned
by whichrect() is not outside of the screen (which makes
drawing slow).
2016-09-18 21:16:45 +02:00
cinap_lenrek 31b10e364f cpu: quote remaining remote command arguments, don't syslog on missing /mnt/term/dev/cpunote file 2016-09-18 16:54:24 +02:00
cinap_lenrek 2aa727ff09 etherzynq: implement promisc mode and multicast filter support 2016-09-17 15:58:11 +02:00
cinap_lenrek cb9a5a19b0 nusb/ether: promisc and multicast support for admtek pegasus (aue) 2016-09-17 14:18:40 +02:00
cinap_lenrek 382abccf27 nusb/ether: multicast and promisc support for rtl8150 (url) 2016-09-17 14:06:03 +02:00
cinap_lenrek ce07c1d6e7 merge 2016-09-16 23:23:19 +02:00
cinap_lenrek c937aac59b nusb/ether: experimental pomisc mode and multicast support for smsc and asix 2016-09-16 23:21:54 +02:00
aiju 0c3ba556a2 pc(1): _ handling in numbers was broken at some point; restore documented behaviour 2016-09-15 09:13:22 +00:00
aiju 07284c41f6 pc(1): add nsa() command 2016-09-15 08:51:59 +00:00
cinap_lenrek 7bcbef11eb ape: fix format clash, %z is for size_t (which is a long currently), not pointer sized 2016-09-14 00:18:45 +02:00
cinap_lenrek a0150376df ape: bring strtod() in line with plan9's libc version 2016-09-11 23:20:55 +02:00
cinap_lenrek 5b66b52623 libc: dont use floating point for portable umuldiv(), use 64 bit uvlong 2016-09-11 23:19:18 +02:00
cinap_lenrek c0a9c3b551 kernel: rekey chacha state on each randomread() invocation
we can encrypt the 256 bit chacha key on each invocation
making it hard to reconstruct previous outputs of the
generator given the current state (backtracking resiatance).
2016-09-11 19:07:17 +02:00
cinap_lenrek 36c9a2489d devcons: remove /dev/reboot "halt" command...
the "halt" command written to /dev/reboot just causes the
machine to crash... its also undocumented... removing it.

--
cinap
2016-09-11 14:12:39 +02:00
cinap_lenrek 95c9f5bf37 kernel: better nonce partitioning for chacha random number generator
leave the block counter to chacha_encrypt() and increment the 96 bit
iv instead.
2016-09-11 03:18:48 +02:00
cinap_lenrek 10275ad6dd kernel: xoroshiro128+ generator for rand()/nrand()
the kernels custom rand() and nrand() functions where not working
as specified in rand(2). now we just use libc's rand() and nrand()
functions but provide a custom lrand() impelmenting the xoroshiro128+
algorithm as proposed by aiju.
2016-09-11 02:10:25 +02:00
cinap_lenrek 7713145638 kernel: make randomread() fault reentrant
we now access the user buffer in randomread() outside of the lock,
only copying and advancing the chacha state under the lock. this
means we can use randomread() within the fault handling path now
without fearing deadlock. this also allows multiple readers to
generate random numbers in parallel.
2016-09-11 02:09:07 +02:00
cinap_lenrek a121806126 kernel: replace various custom random iv buffer filling functions with calls to prng() 2016-09-11 01:54:06 +02:00
stanley lieber b137763fe7 fortunes: Nein -- General Chuck Yeager 2016-09-09 16:59:00 -04:00