Commit graph

3126 commits

Author SHA1 Message Date
cinap_lenrek
ad3ba8838d ndb/dns: check bad name length in convM2DNS.c:^gname() 2013-11-28 23:47:49 +01:00
cinap_lenrek
b77eda8fc7 u9fs: fix misuse of Fcall.afid in p9any authentication module. (from sources patch/u9fs-afid)
U9fs(4) misuses Fcall.afid in its p9any authentication module.

The afid field of Fcall structure is only valid with Tauth or Tattach.
Tread, Twrite, Tclunk should use rx->fid instead.  It's been lucky so
far to get the job done because rx->afid survives from previous
Tauth/Tattach.  The issue pops up when several authentications happen
concurrently.

Test case:
	u9fs = 'host with u9fs on tcp!*!564'
	9fs $u9fs; for(i in 1 2 3 4 5 6 7 8){ 9fs $u9fs & }; wait
Should:
	no errors
Should not:
	mount failed: authentication failed
2013-11-28 23:06:03 +01:00
cinap_lenrek
da6a10c417 ndb/dns: do dnresolve() loopcheck only on hosts that we havnt already tried
we might get a unreachable nameserver ip from a parent
nameserver. if the remaining set of nameservers does not
loop, we should try to resolve them.

so skip the loopcheck for nameservers already tried.
2013-11-26 22:31:23 +01:00
stanley lieber
82defc8152 theo: Don't like it? Then walk away. 2013-11-24 22:11:46 -05:00
cinap_lenrek
0ef4ecc7aa faces: use 9front icon for googlecode.com/plan9front 2013-11-25 23:22:05 +01:00
cinap_lenrek
707698ce10 abaco: make validurl() accept internationalized domain names
validurl() is just used to check if the string is a full
absolute url with a protocol scheme. we do not have to
match the host part *exactly*, only if there is *something*
in the hostpart.
2013-11-25 23:04:06 +01:00
cinap_lenrek
1561f0c4ea webfs: preserve unicode hostname, only convert to ascii when sending over the wire
we'd like to keep Url.host in unicode for factotum key
lookup. only when we send the url in a request, we have
to convert it to ascii.
2013-11-24 21:28:48 +01:00
cinap_lenrek
f2bd1de5bd webfs: support for internationalized domain name urls 2013-11-24 11:56:33 +01:00
cinap_lenrek
3720b5ab9c ndb/dns: add support for internationalized domain names 2013-11-24 11:55:26 +01:00
cinap_lenrek
94fd92cb69 kbdfs: fix ctlr+alt+del with new escape pages 2013-11-24 09:07:28 +01:00
cinap_lenrek
214d37ce83 faces: add 9front.org/unknown (thanks qrstuv) 2013-11-23 22:08:19 +01:00
cinap_lenrek
c2319f37b4 ndb/dns: ignore refused (5) error replies 2013-11-23 04:46:14 +01:00
cinap_lenrek
2f9ae0f8ac removing (outdated) drawterm
drawterm is much better maintained by russ cox,
so removing this outdated copy.

for a more recent version, go to:

http://swtch.com/drawterm/
2013-11-23 01:05:33 +01:00
cinap_lenrek
ea5797c073 kbdfs: add esc1+shift and esc1+ctrl pages (see sources kbmap-uk-weird patch)
Add pages for esc1+shift and esc1+ctrl - some UK USB keyboards (Dell) and it seems some
German ones: https://groups.google.com/forum/#!topic/comp.os.plan9/ycok6NTCWCg seem to
generate an esc1 + code scancode combination for the pipe/backslash key. Seems like
overkill to add two whole pages for just two keys, but there again RAM is cheap these days.

Probably should take the changes across to omap/kbd.c (and by extension bcm/kbd.c)
but the changes are trivial.
2013-11-23 00:50:15 +01:00
cinap_lenrek
98f47d5867 kernel: more kproc pexit() and sleep error handling 2013-11-22 22:56:34 +01:00
cinap_lenrek
55d31f2cab pc kernel: kproc error and exit
catch the error() that can be thrown by sleep() and tsleep()
in kprocs.

add missing pexit() calls.

always set the freemem argument to pexit() from kproc otherwise
the process gets added to the broken list.
2013-11-22 22:29:31 +01:00
cinap_lenrek
df6b68092c kernel: kproc error and exit
catch the error() that can be thrown by sleep() and tsleep()
in kprocs.

add missing pexit() calls.

always set the freemem argument to pexit() from kproc otherwise
the process gets added to the broken list.
2013-11-22 22:28:20 +01:00
cinap_lenrek
91c7e0b127 acme: fix arrow key oddity (thanks mark van atten and erik)
from 9atom/acmearrowfun patch:

	reported by mark van atten

		In Plan 9 acme, if you type

		{}

		then go back and type text between the brackets

		{Curiouser and curiouser!}

		the right arrow is blocked when you want to go over the closing
		bracket to continue typing to its right. (If you first go to the left,
		and then back to the right, it works.)

		Same for the other brackets: [ ], ( ), < >.

	noted that brackets are not necessary.  same behavior with any
	character.

	fix is to textcommit before moving.
2013-11-22 19:19:37 +01:00
stanley lieber
66fea232bc rio -b: make lighttitlecol darker 2013-11-20 18:40:51 -05:00
stanley lieber
51137ada1a fortunes: That's the process. 2013-11-20 18:38:49 -05:00
cinap_lenrek
2cc152f9e1 ndb/dns: filter dns answers avoiding cache poisoning
only cache what we asked for or need to resolve the
query. filter out everything else.
2013-11-20 22:35:52 +01:00
cinap_lenrek
9155b30f6d ndb/dns: another attempt...
we have to fail the whole query that got no cached
nameservers and nameservers are looping, not just omit
the looping nameserver. issuequery() will refresh
nameserver info for the domain when recursing up.
2013-11-17 06:55:39 +01:00
cinap_lenrek
c45386588b ndb/dns: detect query loops
never try to resolve a nameserver address when that nameserver
is in the set of nameservers already being queried.

this situation can happen when the Ta and Taaaa RR's expire, but
the Tns records are still in the cache so there is no usable
nameserver but they still refer to each another.
2013-11-16 04:42:09 +01:00
cinap_lenrek
5f87d8dcc8 ndb/dns: various changes
stop absolute/relative dual use of RR.ttl. now RR.ttl is
*always* the *relative* ttl value. we derive absolute
timeout in RR.expire.

remove unused lookuptime field in DN. replace refs and
keep with mark field in DN. we do not care about the
number of references. only *iff* it is referenced, so
use a single bit for that (bit 0). for keep, we use
bit 1.

remove dolock parameter in dnagenever(), it is not
needed. we always need to lock.

mark local dns servers and domains as never to be aged.

the keeper bit is *just* a cache optimization, preventing
the domain and the domains it points to from being flushed.
it should not be used as a write protect bit in rrattach()
for preventing spoofing as it will prevent updates of say,
cname domains.

remove "removing spam ..." message. these are usualy just
hints, so normal. still, remove the hint as we currently
do no check if the nameserver has authority over the
cname domain.

remove "mydnsquery: trying to send to myself (%s); bzzzt"
message. this can happen when myaddr() fails for other
reasons. myaddr() will print error for us anyway.
2013-11-15 02:00:47 +01:00
cinap_lenrek
2ce68c5aa1 ndb/dns: case sensitive ndb attributes, Domlen consistency, dblookup() inplace lower case conversion, cleanups
ndb keys are strictly case sensitive, so consitently
use strcmp() when comparing attribute keys.

dblookup() used to lower case convert its name argument
inplace to match domain/sys name in ndb. better to do
the convesion in its own buffer and only read from the
name argument.

always use cistrcmp() when comparing DN.name.

the Domlen constant denotes the size of the buffer including
the null terminator. consistently use it as such.

have to hold dnlock in freearea() before reading list
head pointer.
2013-11-13 18:44:45 +01:00
cinap_lenrek
e2d8b8170d /lib/roa: fix blank line at the end 2013-11-12 22:36:46 +01:00
cinap_lenrek
cfc705b866 kernel: handle memimageinit() error 2013-11-12 21:43:38 +01:00
cinap_lenrek
d56a6fadc5 libmemdraw: change memimageinit() to return integer error (for kernel), minor cleanups 2013-11-12 21:42:05 +01:00
cinap_lenrek
def87d6016 devsd: fix scsi emulation for disks bigger than 4 billion sectors (from erik quanstros 9atom)
for read capacity (10 (0x25) if we have more than
4 billion sectors, we must not return nsectors % (1<<32),
we must return 0xffffffff.
2013-11-12 20:00:15 +01:00
BurnZeZ
983413de75 libjson: don't perform chartorune in getch() when char is null terminator, and remove empty string check added last commit 2013-11-10 03:35:25 -05:00
BurnZeZ
f0483642be libjson: check for empty string in jsonparse() 2013-11-10 20:11:46 -05:00
BurnZeZ
aad22f753f sdide: add pci did for VIA VT6415 PATA IDE controller 2013-11-10 19:40:01 -05:00
stanley lieber
b0f7b9d80e arch(3): english 2013-11-10 18:44:33 -05:00
cinap_lenrek
235e06c988 arch(3), aml(2): document /dev/acpitbls file 2013-11-10 21:26:11 +01:00
cinap_lenrek
a76d0bf6c5 ndb/common: add ipv6 addresses of root name servers 2013-11-10 19:35:33 +01:00
cinap_lenrek
eb060fbfb1 aml(2): tabelize by function, move hardware linkage on separate page 2013-11-10 18:58:00 +01:00
cinap_lenrek
e14e6dfdbe merge 2013-11-08 22:33:48 +01:00
cinap_lenrek
2bc9e8e5e3 kernel: make image cache not hold onto the channel, remove nocache flag
the image cache should not hold onto the text file channel
when not neccesary. now, the image keeps track of the number
of page cache references in Image.pgref. if the number of
page cache references and Image.ref are equal, this means
all the references to this image are from the page cache.
so no segments are using this image. in that case, we can
close the channel, but keep the Image in the hash table.

when attachimage() finds our image, it will check if Image.c
is nil and reattach the channel to the image before it is
used.

the Image.nocache flag isnt needed anymore.
2013-11-08 22:31:26 +01:00
stanley lieber
8916f971fa /rc/bin/": fix typo 2013-11-08 15:19:32 -05:00
cinap_lenrek
18e515511f acidleak: show free blocks as free (leak -b) 2013-11-08 17:42:15 +01:00
stanley lieber
f4ec9a67e8 fortunes: that's great 2013-11-07 14:02:34 -05:00
stanley lieber
82663f62be /rc/bin/", /rc/bin/"": handle the venerable ; prompt 2013-11-07 14:01:42 -05:00
cinap_lenrek
b0a61bc091 merge 2013-11-06 22:19:59 +01:00
cinap_lenrek
a60001871e mp3dec: fix volume for mp3dec
the libmad samples need to be scaled properly. the
previous assumption was that it is 32 bits, but it
really is MAD_F_FRACTBITS + sign bit and rest used
for overflow.

thanks eekee!
2013-11-06 22:18:36 +01:00
mischief
61269254d0 synchronize ape's vfprintf with libstdio
in ape's vfprintf we don't check if the file we're writing is actually a string buffer, resulting in a return of -1, when we should actually return the number of bytes that would be written.
2013-11-06 11:22:15 -08:00
cinap_lenrek
7b36a7e1a9 merge 2013-11-05 08:01:43 +01:00
cinap_lenrek
118cf5e36a rio: eleminate temporary allocations before frinsert() and in namecomplete()
frinsert() shouldnt modify the runes passed and the
buffer isnt going to be modified my us during the call
so removing the temporary copies.

namecomplete() makes utf-8 copies of the rune strings so
theres no need to copy the runes.
2013-11-05 08:00:26 +01:00
stanley lieber
fc8734dac1 fortunes: AFTER READ THE PAGE YOU UNDRSTAND WHAT IM TALKING TO YOU ! 2013-11-03 20:01:52 -05:00
stanley lieber
f637986cae aml(2): english 2013-11-03 20:01:03 -05:00
cinap_lenrek
f73bf5f90d aml(2): fix amldelay() decscription. it takes microseconds, not milliseconds. 2013-11-04 00:09:28 +01:00