summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-12-13ndb/cs: fix spelling (thanks mischief)cinap_lenrek
2014-12-12acme/win: fix mistakecinap_lenrek
have to save partial reminder before null terminating current event buffer :)
2014-12-12acme/win: remove old crapcinap_lenrek
2014-12-12mergecinap_lenrek
2014-12-12acme/win: fix fswrite() not assuming iounit < EVENTSIZEcinap_lenrek
2014-12-11fortunes: UX-wise (and generally speaking, for most common uses of a ↵stanley lieber
computer these days), Plan9 is, sadly, almost useless.
2014-12-11qmail: call mail instead of smtp with the wrong pathstanley lieber
2014-12-11cfs: change default mountpoint to /mnt/cfs and fix the manual (thanks mischief)cinap_lenrek
2014-12-11acme: fix buffer overrun in xfidutfread() and xfidruneread(), cleanupcinap_lenrek
the utf8 buffers b1 where allocated from fbufalloc() which gives us BUFSIZE bytes, but Xfid->count can be bigger than that. so just emalloc() the requested number of bytes. when converting from Runes to utf-8, we have to account for the terminating '\0' byte snprint() places, so fix the maxrune number calculation instead of using BUFSIZE+1 as buffer size.
2014-12-11kbmap: fix sprint() buffer overflow (thanks silasm)cinap_lenrek
A buffer can be overflowed in the init function of kbmap.c by using a filename of more than 112 characters. sample output: % cd /sys/lib/kbmap % touch aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa % kbmap kbmap 1974: suicide: sys: trap: fault write addr=0xa6a96510 pc=0x000011df offending code is most likely the call to sprint in the init function of /sys/src/cmd/kbmap.c, which in this case writes /sys/lib/kbmap/$file to a 128-bit buffer. I'm willing to submit a patch for this myself along with a few minor improvements/fixes to kbmap if I can figure out the nuances of doing so. --silasm
2014-12-11plan9.ini(8): fix typo (thanks ftrvxmtrx)cinap_lenrek
2014-12-10plan9.ini(8): etheryukcinap_lenrek
2014-12-10plan9.ini(8): document bcm and virtio ethernet and hda and ac97 audio.cinap_lenrek
2014-12-10plan9.ini(8): remove factotumopts= (not implemented), add secstore=, clarify ↵cinap_lenrek
domain name use for fs= and auth=
2014-12-10bootrc: keep original address when ndb/dnsgetip fails and let dial complaincinap_lenrek
2014-12-10bootrc: use "address" instead "ip" in wording netboot questions, as we ↵cinap_lenrek
domain names are allowed now.
2014-12-10mergecinap_lenrek
2014-12-10bootfs: remove disk/kfs fileserver, nobody uses itcinap_lenrek
2014-12-10bootrc: add ndb/dnsgetip resolver to bootfs so domain names can be used for ↵cinap_lenrek
fs=, auth= and secstore= (thanks mischief)
2014-12-10bootrc: preserve #ec/fs (thanks _sl)cinap_lenrek
2014-12-09ndb(8): document ndb/dnsgetipmischief
2014-12-10dnsgetip: filter negative answers, remove -f flag, use dnsgetip logfilecinap_lenrek
2014-12-09ndb: add dnsgetip program to resolve A and AAAA records during bootstrappingmischief
2014-12-10bootrc: handle multiple fs and auth addresses in netboot, always set auth= ↵cinap_lenrek
in /net/ndb
2014-12-09bootrc: do not pass authserver with -a flag to factotum, handle multiple ↵cinap_lenrek
secstore addresses factotum is started in bootrc before the network is setup (as we need it to negotiate wpa key for wifi). once, the network is setup, the bootstrap authservers are passed in /net/ndb, which factotum reads when doing bootstrap authdial. it does this only when no authserver was specified earlier! but we want net.rc to select the proper bootstrap authserver... the $secstore variable takes precedence over $auth. as there is no connection server yet, we have to select the set of servers here and pass them to secstore with -s flag. note that this will work if multiple addresses where specified.
2014-12-09factotum: accept multiple bootstrap auth servers in /net/ndb and -a argumentscinap_lenrek
we might have to deal with multiple bootstrap auth server ip addresses (ipv4 and ipv6) in the future, so deal with them.
2014-12-09secstore: allow multiple server addresses in $secstore and multiple -s argumentscinap_lenrek
on bootstrap, we might have to deal with multiple auth server ip addresses (ipv4 and ipv6), so deal with it.
2014-12-08devsegment: fix segmentcreate function signaturemischief
2014-12-09mergecinap_lenrek
2014-12-09ethervirtio: fix queue notifications and interrupt flags, avoid useless ↵cinap_lenrek
notifications bug: Rnointerrupt was used on Vqueue.used.flags instead of Vqueue.avail.flags. introduce vqnotify() function that notifies the device about available ring advancement. avoid queue notifications there that can be slow by checking Unonotify flag in Vqueue.used.flags. keep track of the number of notifications in the queue.
2014-12-09hgwebfs: add fake add_handler method for HTTPRangeHandler()cinap_lenrek
provide a add_handler() so code trying to add byterange.HTTPRangeHandler will succeed. webfs does handle "206 Partial Content" already.
2014-12-08ip/ipconfig: treat /32 mask as /0mischief
some dhcp servers send a mask of 255.255.255.255 to indicate the gateway is directly routeable. thanks to david du colombier for this patch.
2014-12-08ethervirtio: feature negotiation, allow setting mac address, dont read isr ↵cinap_lenrek
from ifstatus, avoid indirection - properly negotiate Fctrlrx feature bit for promisc and multicast. - allow setting mac address with ea= option from plan9.ini - dont read the isr register from ifstats() as it has the side effect of reseting isr status - embedd the Vqueue array in the Ctlr structure avoiding indirection - add a interrupt counter Vqueue.nintr for statistical purposes - only read network status register if the feature has been negotiated - change name to "virtio" as "ethervirtio" is kind of redundant
2014-12-08ndb/dns: ignore terminating authoritative flag for no-answer when more ↵cinap_lenrek
nameservers are provided continue recursing when we get empty but non-negative answer from a (claimed) authoritative nameserer that provides more nameservers. this fixes wordpress dns: 63766.3: sending to 192.0.80.93/ns1.wordpress.com bossypally.files.wordpress.com ip 63766: rcvd OK from 192.0.80.93 (authoritative) Q: bossypally.files.wordpress.com ip Auth: files.wordpress.com 5 min ns mdns1.wordpress.com files.wordpress.com 5 min ns mdns2.wordpress.com files.wordpress.com 5 min ns mdns3.wordpress.com files.wordpress.com 5 min ns mdns4.wordpress.com files.wordpress.com 5 min ns mdns5.wordpress.com Hint: mdns1.wordpress.com 4 hr ip 192.0.75.7 mdns2.wordpress.com 4 hr ip 198.181.117.7 mdns3.wordpress.com 4 hr ip 198.181.116.7 mdns4.wordpress.com 4 hr ip 198.181.118.7 mdns5.wordpress.com 4 hr ip 192.0.74.7 63766.4: sending to 192.0.75.7/mdns1.wordpress.com bossypally.files.wordpress.com ip 63766: rcvd OK from 192.0.75.7 (authoritative) Q: bossypally.files.wordpress.com ip Ans: bossypally.files.wordpress.com 5 min ip 192.0.72.2 bossypally.files.wordpress.com 5 min ip 192.0.72.3 ---------------------------- answer bossypally.files.wordpress.com 5 min ip 192.0.72.2 answer bossypally.files.wordpress.com 5 min ip 192.0.72.3 ---------------------------- note the authoritative flag in the first response from ns1.wordpress.com that would otherwise terminate the search.
2014-12-07ethervirtio: fix missing */cinap_lenrek
2014-12-07ethervirtio: implement promisc and multicast mode, cleanupcinap_lenrek
add vctlcmd() function to setup and comlete control commands. handle Vctlq and implement promiscuous and multicast mode commands. remove Vqueue.block[] and Vqueue.header. these are not properties of the queue (Vctlq as no block array). the block[] array only needs to be half the queue size as we use two descriptors per packet. fix broken shutdown() and remove useless ctl() function.
2014-12-07ethervirtio: avoid dumping packets in txproc when ring gets fullcinap_lenrek
2014-12-079boot(8): -fromcinap_lenrek
2014-12-07strcat(2): fix strchr() and strrchr() function prototypes (thanks BurnZeZ)cinap_lenrek
2014-12-06pc, pc64: add and enable ethervirtio drivermischief
many thanks to cinap_lenrek, erik quanstrom and david du colombier for feedback and testing.
2014-11-26resize: fix typomischief
2014-11-26astro: fix typomischief
2014-11-22games/md: fix interlace at scale 2cinap_lenrek
2014-11-22games/md: interlacing, sort ofaiju
2014-11-22audio(1): add mixfs to NAME sectioncinap_lenrek
2014-11-22pc, pc64: more conservative pciroutingcinap_lenrek
when we hit a conflict where the pci INTL register gives us a different irq than we get from southbridge irq router, dont just change the router setting to the bios assigned irq (that was previously known as the BIOS workarround), but assume the southbridge setting to be valid and change the pci INTL register on the device to it. only when the router link doesnt seem to be configured or disabled, then program the router to the irq that bios asisgned in the INTL register. the reason is that changing the router setting changes the irq routing for *all* devices on the same link and changing it breaks previously checked and valid interrupt routings. (so happend with virtualbox where the last device on the bus is some powermanagement device that has wrong INTL setting and changing the routing breaks the ethernet interrupts) this change shouldnt affect modern machines which use ioapic and mp tables or acpi for pci interrupt routing.
2014-11-20pc, pc64: preserve last KB of conventional memory (might contain bios tables)cinap_lenrek
we add new function convmemsize() that returns the size of *usable* conventional memory that does some sanity checking and reserves the last KB below the top of memory pointer. this avoids lowraminit() overriding potential bios tables and sigsearch() going off the rails looking for tables at above 640K.
2014-11-20games/snes: do message display in screenproccinap_lenrek
do the message drawing from the screenproc so there are no race conditions with libdraw.
2014-11-19games/md, games/snes: fix memory leak on resizecinap_lenrek
2014-11-19hjfs(8): theres no chown in plan9, link to chgrp(1) manpage.cinap_lenrek