summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-11-17Specifiy the restrictions on 9boot file names more clearly.Ori Bernstein
2019-11-17Document 9bootfat limitation.Ori Bernstein
2019-11-17sdiahci: implement reset timeout for ahciencreset(), make blink() never ↵cinap_lenrek
block, fix map[] access in ledkproc() Ori_B reports that his controller gets stuck in the ahciencreset() wait loop. so we implement a 1000 ms timeout. we replace delay() with esleep() as we are always called from the ledkproc(). blink() could enter infinite delay loop as well, so instead of waiting for the message to get transmitted we exit making it non-blocking (we will get called again anyway). the access to the controller map[] was wrong in ledkproc(). the index is the controller number, not the drive number!
2019-11-17bootrc: for wireless netbooting, set the WPA/WPA2 preshard key with ↵cinap_lenrek
wpapsk=password boot parameter this allows automatic netbooting without password prompt for the wirelss network.
2019-11-15Parse global pax header in the right place.Ori Bernstein
2019-11-14Add pax extended header support to tar.Ori Bernstein
Support for 'path=', 'uname=', 'gname=', 'size=', and 'atime=' pax headers is useful. Others are ignored, possibly with a warning. We were running into missing support with the 'go' extraction. At the same time, this cleans up the way that we handle paths, getting rid of static buffers with hidden space at the front.
2019-11-12thread(2): fix manpage typos (thanks rgl)Ori Bernstein
2019-11-11draw(2): fix manpage typo (thanks rgl)Ori Bernstein
2019-11-10devip: use the routing table for local source ip address selectioncinap_lenrek
when making outgoing connections, the source ip was selected by just iterating from the first to the last interface and trying each local address until a route was found. the result was kind of hard to predict as it depends on the interface order. this change replaces the algorithm with the route lookup algorithm that we already have which takes more specific desination and source prefixes into account. so the order of interfaces does not matter anymore.
2019-11-05Fix directory heuristic for long file names.Ori Bernstein
Tar specifies that a filename ending with '/' is a directory. We were incorrectly looking at the short name. This meant that when we have long filenames with a '/' at the 100th character, we would decide it was a directory. This change uses the long name when deciding the size for extraction, and trusts the header size when just skipping forward in the stream.
2019-11-03games/turtle: do exit instead of crash in redraw() when there where no lines ↵cinap_lenrek
drawn
2019-11-03add games/linden and turtle to mkfileaiju
2019-11-03add games/linden and games/turtleaiju
2019-11-02tar: fix memory corruption in extract1 (thanks petter)cinap_lenrek
extract1() expects two extra bytes to be avilabe before fname buffer so it can prepend ./ before the name. this used to be the case with name(), but was violated when long name support was added and getname() was used in place of name() which did not reserve the 2 extra bytes. this change reserves two extra bytes in the getname()'s static buffer and also removes the extra copy as name() already makes a copy.
2019-11-02upasfs(4): fix manpage typo (thanks rgl)cinap_lenrek
2019-11-01file: add (very) basic support for detecting mpeg4 formatsAlex Musolino
2019-10-31upas/fs: fix handling of numeric timezone offsets in strtotmAlex Musolino
Since numeric timezone offsets are relative to GMT, initialise zone to GMT so tm2sec(2) does not assume local time. Note that if strtotm encounters a timezone *string* and consequently overwrites zone then we will end up in the same mess since tm2sec(2) only deals with GMT or local time.
2019-10-28Check if 'm' is null when updating messages.Ori Bernstein
2019-10-27bcm: fix software cursor avoidance for loadimage() case (thanks bitmapper)cinap_lenrek
2019-10-22ip/dhcpd: prevent client from increasing max reply size beyond the reply ↵cinap_lenrek
buffer capacity
2019-10-21Make ctrl+g focus text windows and cycle zeroxed copies (thanks kvik)Ori Bernstein
2019-10-22/sys/lib/plumb/basic: open nedmail windows with -noscrollAlex Musolino
This preserves the desired behaviour of *not* scrolling to the bottom of plumbed messages even when rio(1) is invoked with the -s flag.
2019-10-13ndb/dns: handle empty $DNSSERVERcinap_lenrek
when $DNSSERVER is empty, query ndb for local dns servers instead of not using any at all.
2019-10-13backup: Set execution bits in backup scriptsRoberto E. Vargas Caballero
2019-10-11ether82563: fix multicast for i210cinap_lenrek
MTA has 128 entries, according to section 8.10.15 in the datasheet. this fixes ipv6 in apu2 which has 3x i210 (8086/157b).
2019-10-10Fetch IMAP flags from server. This makes us sync read/answered/... flags ↵Ori Bernstein
with unix.
2019-10-09awk: make empty FS unicodely-correct.Ori Bernstein
2019-10-08sdiahci: force Hudson SATA Controller to AHCI modecinap_lenrek
2019-10-07sshfs: fix dir2attrib() memory leak in wstat error case (thanks BurnZeZ)cinap_lenrek
2019-10-07sshfs: fix race condition between sendproc() and recvproc()cinap_lenrek
there was a race between the sendproc putting the request on the sreqrd[] id and the recvproc handling the response, and potentially freeing the request before the sendproc() was finished with the request (or the fid). so we defer allocating a request id and putting it on the sreqrd[] stage after we have completely generated the request in vpack(). this prevents the handling of the request before it is even sent. this also means that the SReq should not be touched after calling sendpkt(), submitreq(), submitsreq(). secondly, putsfid() needs to acquire the RWLock to make sure sendproc() is finished with the request. the scenario is that recvproc() can call respond() on the request before sendproc() has unlocked the SFid.
2019-10-04cwfs: fix listen filedescriptor leakscinap_lenrek
2019-10-04lib9p: fix listensrv() filedescriptor leakscinap_lenrek
2019-10-04sshfs: use threadexits() instead of exits()cinap_lenrek
2019-10-03upas/fs: speedup mtree and henter()cinap_lenrek
move digest pointer into Mtree structrue and embed it into Idx struct (which is embedded in Message) to avoid one level of indirection during mtreecmp(). get rid of mtreeisdup(). instead we have mtreeadd() return the old message in case of a collision. this avoids double lookup. increase the hash table size for henter() and make it a prime.
2019-10-02pc: move low-level allocation details out of mmu.c into memory.c rampage() ↵cinap_lenrek
function
2019-10-02vgai81x: use vmap() for uncached access to cursor data instead of ↵cinap_lenrek
manipulating kernel page table on 386, the kernel memory region is mapped using huge 4MB pages (when supported by the cpu). so the uncached pte manipulation does not work to map the cursor data with uncached attribute. instead, we allocate a memory page using newpage() and map it globally using vmap(), which maps it uncached.
2019-09-22mergecinap_lenrek
2019-09-22ape/cc: add spimcinap_lenrek
2019-09-22mergecinap_lenrek
2019-09-222c(1): document 7c (arm64)cinap_lenrek
2019-09-22ape/cc: Add arm64 and remove alphaRoberto E. Vargas Caballero
2019-09-22usbxhci: fix endpoint stall recovery, handle Ep.clrhalt flagcinap_lenrek
after issuing CR_RESETEP command, we have to invalidate the endpoints output context buffer so that the halted/error status reflects the new state. not doing so resulted in the halted state to be stuck and we continued issuing endpoint reset commands when we where already recovered. handle the devusb Ep.clrhalt flag from devusb that userspace uses to force a endpoint reset on the next transaction.
2019-09-21cmd/ip/*: chown the network connection after authenticationcinap_lenrek
for servers that handle incoming network connections and authentication, change the owner of the network connection file to the authenticated user after successfull authentication. note that we set the permissions as well to 0660 because old devip used to unconditionally set the bits.
2019-09-21devip: fix permission checkingcinap_lenrek
permission checking had the "other" and "owner" bits swapped plus incoming connections where always owned by "network" instead of the owner of the listening connection. also, ipwstat() was not effective as the uid strings where not parsed. this fixes the permission checks for data/ctl/err file and makes incoming connections inherit the owner from the listening connection. we also allow ipwstat() to change ownership to the commonuser() or anyone if we are eve. we might have to add additional restrictions for none at a later point...
2019-09-21bootrc: unmount devip *before* starting factotumcinap_lenrek
we want devip to get reattached after hostowner has been written. factotum already handles this with a private authdial() routine that mounts devip when it is not present. so we detach devmnt before starting factotum, and attach once factotum finishes.
2019-09-21bootrc: remount devip after /dev/hostowner has been written by factotumcinap_lenrek
devip remembers the attach uname so after we set hostowner we remount devip so future connections have the right owner.
2019-09-21devproc: fix fishy locking in proctext(), check proc validity, static functionscinap_lenrek
the locking in proctext() is wrong. we have to acquire Proc.seglock when reading segments from Proc.seg[] as segments do not have a private freelist and can therefore be reused for other data structures. once we have Proc.seglock acquired, check that the process pid is still valid so we wont accidentally read some other processes segments. (for both proctext() and procctlmemio()). this also should give better error message to distinguish the case when the process did segdetach() the segment in question before we could acquire Proc.seglock. declare private functions as static.
2019-09-19devproc: move proctab() call after Qnotepg special case in procwrite()cinap_lenrek
2019-09-19kernel: simplify pgrpnote(); moving the note string copying to procwrite()cinap_lenrek
keeps handling of devproc's note and notepg files similar and in the same place and reduces stack usage.
2019-09-16ape: don't hardcode list of ape library directories in /sys/src/ape/lib/mkfilecinap_lenrek
this change allows one to drop library directories (like freetype) into /sys/src/ape/lib/ and have them built without having to change the mkfile.