Commit graph

2281 commits

Author SHA1 Message Date
cinap_lenrek
d5e642d52d webfs: handle multiple WWW-Authenticate headers, fix fmtstrinit() memory leaks 2013-01-17 12:28:19 +01:00
cinap_lenrek
e7399181a9 vncv: do flushimage() under display lock, zero ypdate rect 2013-01-16 09:51:15 +01:00
cinap_lenrek
f2f2c8687a 6in4: add -o option to make it possible to use different nets for ipv6 and ipv4 interface 2013-01-14 07:09:25 +01:00
cinap_lenrek
33768d90bf Four shall be the number thou shalt count, and the number of the counting shall be four. 2013-01-13 15:38:21 +01:00
cinap_lenrek
bad3007bd6 plan9.ini(8): isa uarts 2013-01-13 11:04:24 +01:00
cinap_lenrek
80146b0303 vt: ignore line spacing escape2 2013-01-13 10:32:51 +01:00
cinap_lenrek
aa0627162b remove non standard COM3 (eia2) serial port from i8250 uart.
access to non standard serial port COM3 at i/o port 0x200 causes
kernel panic on some machines (Toshiba Sattelite 1415-S115). also,
some machines have gameport at 0x200.

i readded uartisa to the pcf and pccpuf kernel configurations so
one can use plan9.ini to add non standard uarts like:

uart2=type=isa port=0x200 irq=5
2013-01-13 10:23:31 +01:00
cinap_lenrek
63f1fc07eb hjfs: dont mask permission bits for "create" console command 2013-01-13 08:49:31 +01:00
cinap_lenrek
6dc133ad99 webfs: preauth support 2013-01-12 00:16:07 +01:00
cinap_lenrek
b6a42aa49c hget(1): fix typo, various cleanups 2013-01-11 10:26:54 +01:00
cinap_lenrek
3007ee80c3 hget(1): document restrictions for name@file with -m flag, fix examples, usage 2013-01-11 10:00:28 +01:00
cinap_lenrek
79189ec262 mk: fix ar padding problems on 64bit (from eriks amd64mkar patch) 2013-01-11 03:16:30 +01:00
cinap_lenrek
a426c08ce2 libdraw: gengetwindow() fix mistake
dont zero *winp so the "screen" pointer is preserved.
2013-01-11 23:18:22 +01:00
cinap_lenrek
23b189c2bc libdraw: gengetwindow() resize race
instead of trying to make rio not change the window image too fast
and give the client some time to attach it (which turns out to be
impossible), we acknowledge that there is a race and just retry
the window reattach as long as the winname keeps changing in
gengetwindow().
2013-01-10 22:16:23 +01:00
cinap_lenrek
5f54eaddba merge 2013-01-10 23:12:37 +01:00
cinap_lenrek
b4759c2186 still races, reverting... need a better approach. 2013-01-10 23:10:16 +01:00
cinap_lenrek
1cfdab50fa merge 2013-01-09 16:35:07 +01:00
cinap_lenrek
681bcfa968 rio: fix window resize and attach race
if a window gets hidden/unhidden/resized too fast, the client might have no
chance attaching to that image using winname. so we move the window
offscreen instead and delay the freeimage() by doing it in the deletethread().
2013-01-09 16:32:53 +01:00
stanley lieber
a0377a174a hjfs(4): update man page 2013-01-09 07:47:49 -06:00
cinap_lenrek
1c69f9c023 vac(1), ec(2), usb(3), hjfs(8): fix source reference 2013-01-09 08:17:09 +01:00
cinap_lenrek
6d6138fbd8 tlssrv(8): fix bad cross reference 2013-01-09 07:55:58 +01:00
cinap_lenrek
60ee15b4e2 audio(1): various cleanups 2013-01-09 07:53:47 +01:00
cinap_lenrek
d1665eaf4d add intel 82598 10gb ethernet to pcf and pccpuf configuration, add support for 82599 (from sources) 2013-01-09 06:41:37 +01:00
cinap_lenrek
77438f99c8 devtls: fix hmac buffer size for SHA1 hashes (from erik)
the buffer isn't big enough for SHA1 hashes, which are larger than MD5
hashes.
2013-01-09 06:39:20 +01:00
cinap_lenrek
2de4e31f56 ape: fix getsockname() byte swaped ports (by yarikos)
APE's getsockname() returns port with bytes swapped (on 386).
2013-01-09 06:08:29 +01:00
cinap_lenrek
7295fa71a4 libdraw: fix wrong menusel() calculation for menuhit() (noticable with small fonts)
the text for a menu entry is drawn from:

y = textr.min.y + i*(font->height+Vspacing);

but we calculated the item from:

r = insetrect(textr);
i = (p.y - r.min.y) / (font->height+Vspacing);

the insetrect is wrong.
2013-01-08 03:45:49 +01:00
cinap_lenrek
4041ea394b aux/vga: remove debug prints 2013-01-08 02:05:23 +01:00
cinap_lenrek
960a04bfec aux/vga: add fixbios() for patching bogus vesa bios 2013-01-07 20:59:50 +01:00
cinap_lenrek
db581d2fe6 hjfs: disable shutdown when listening on network connections 2013-01-07 04:30:19 +01:00
cinap_lenrek
0c85432359 hjfs: network announce/listen support 2013-01-07 02:13:54 +01:00
cinap_lenrek
a5b6143c4c vga: avoid setting vgactl type vesa multiple times 2013-01-06 03:16:07 +01:00
cinap_lenrek
0d5c57a132 vga: dont confuse io bar with mem bar in vgas3 and vgavesa
harmless bug. just make sure we loop over the memory
bars only and skip the io bars.
2013-01-06 23:39:02 +01:00
cinap_lenrek
5ed845f7e9 ndb/dnsdebug: make sure request is initialized (import from sources) 2013-01-05 17:11:46 +01:00
cinap_lenrek
4405530e69 tbl: fix wrong register count calculation (found by erik) 2013-01-05 16:59:56 +01:00
cinap_lenrek
6172dbd996 sdiahci: do port reset on stuck drive on boot 2013-01-04 23:09:16 +01:00
cinap_lenrek
8c81499659 scsi: do only 36 byte inquiry
some devices freeze up with inqiry allocation length
other than 36 bytes. as we do not really care about
the vendor specific part of the inquiry, lets only do
36 byte inquiry for now.
2013-01-03 20:46:25 +01:00
cinap_lenrek
857502c364 nusb(4): document debug flags for usbd 2013-01-03 17:21:33 +01:00
cinap_lenrek
7d8664db07 devmouse: deduplicate some code by using absmousetrack() 2013-01-03 16:05:06 +01:00
cinap_lenrek
34d0aae672 devvga: check if screen is setup before accepting hwgc vgactl 2013-01-03 15:33:51 +01:00
cinap_lenrek
da0638914f 5c: fix -0x80000000 comparsion bug 2013-01-02 10:10:29 +01:00
cinap_lenrek
bf60c38720 add empty /lib/tftpd directory 2013-01-02 03:54:05 +01:00
cinap_lenrek
2a1b43ad98 vga: make kernel vga drivers more stupid
previously, we had to maintain 3 sets of pci vid/did's:

1) in /lib/vgadb for detection
2) in the userspace driver in aux/vga
3) in the kernel mode driver

this change makes the kernel mode driver more dumb in
the cases where possible. we let userspace do the pci
enumeration and if needed, it can set the pci address
of the vga card. kernel mode drivers can assume to get
the right pci device passed in scr->pci for enable()
and linear() functions and just do very basic sanity
checking before mapping framebuffer and mmio regions.

vgalinearpciid() was removed as userspace is responsible
to pick pci device.

theres a new vgactl message "pcidev" where userspace
can set the bus address. we initialize scr->pci in
vgareset() to the first pci graphics card found. this
should cover cases when an old aux/vga binary is used
that doesnt use the new pcidev message.

userspace drivers will now use the pci device that got
a match from /lib/vgadb and skip ther own enumeration.
this way, vga cards can be made to work by simply adding
an entry in vgadb with no need to modify userspace or
kernelspace drivers. this is not always possible if
the driver derives information from the specific card
model.
2013-01-02 01:19:51 +01:00
cinap_lenrek
0e4fc14f7e upas/marshal: change Inline: to Include: header, interpret even withou -8 flag
after some thought, the file attachment headers Attach: and Include:
(before Inline:) are more like the Subject: line and should be interpreted
every time.
2013-01-01 16:27:01 +01:00
cinap_lenrek
be01be80cc upas/marshal: interpret Attach: and Inline: headers only when -8 flag is given 2013-01-01 15:56:36 +01:00
stanley lieber
cc3b91ca27 fortunes: I don't want Javascript promises 2012-12-31 19:55:26 -06:00
stanley lieber
55a34e1131 upas/marshal: interpret attach: and inline: lines in body of message 2012-12-31 19:53:59 -06:00
cinap_lenrek
5697e93e65 unicode: use Runeerror 2012-12-31 22:49:29 +01:00
cinap_lenrek
b821a76824 ether82563: fix phyerrata() 2012-12-31 21:50:08 +01:00
cinap_lenrek
6cadd03bbe fix utf and rune handling in preparation for 32bit runes 2012-12-31 21:09:46 +01:00
cinap_lenrek
6d99096136 sdiahci: add pci did for 82801fbm (ich6) SATA controller 2012-12-31 03:58:01 +01:00
cinap_lenrek
23b6f7ffcc aan(8): add cpu(1) remark as it also support -p iption 2012-12-30 18:47:32 +01:00
cinap_lenrek
9ea4028246 ether82567: x200 ethernet (thanks ftrvxmtrx)
Apparently i82567m ether (ich9) _has_ flash. Provided patch fixes the ethernet for Thinkpad X200.
2012-12-29 12:02:59 +01:00
cinap_lenrek
ec6714f5ed sdahci: fix mistake 2012-12-29 11:27:24 +01:00
cinap_lenrek
470ea46374 libbio: remove breadn.c 2012-12-28 05:32:44 +01:00
cinap_lenrek
b7b2fea16f sdahci: get dvd drive to work with x301 2012-12-28 03:54:06 +01:00
cinap_lenrek
f9b9cab6a1 sdide: confusion 2012-12-28 03:39:39 +01:00
cinap_lenrek
8f3595e058 nusb/kb: remove mouse acceleration -a flag
mouse acceleration can be done by software in the kernels
devmouse device like:

echo hwaccel off >/dev/mousectl
echo accelerated 5 >/dev/mousectl

it is hard to pass nusb/kb parameters anyway as it is started
from nusbrc in bootfs.paq, so i remove the option.
2012-12-26 22:48:12 +01:00
cinap_lenrek
1c090cd04f sdide: packet io byte count.
instead of setting the packet io byte count to some bullshit
value, use the dlen from the scsi request. limit transfer
byte count to 32k for atapi.
2012-12-26 17:58:15 +01:00
cinap_lenrek
4a4c8218ee devsd: fix possible sdbio() race with inquiry data changing (due to ahci hotplug)
the unit inquiry data might change in case the drive got pulled
with ahci. so keep track if we locked the ctl in a local stack
variable instead of relying on that the inquiry data stays the
same.
2012-12-26 17:53:12 +01:00
cinap_lenrek
7ceff03db3 bio: remove useless Breadn() as it does the same as Bread()
Bread() always reads exactly nbytes of data if it can. only
when it reaches end of file or an error it will return less.
so the Breadn() function that was introduced has been removed.

sorry for the confusion.
2012-12-25 02:45:28 +01:00
cinap_lenrek
e7348f8ed2 sdiahci: prevent x301 dvd-ram from hanging machine
matushita dvd-ram on thinkpad x301 hangs on the inquiry command
done from scsiverify(). not sure whats wrong with it, but at least
this makes the machine boot.
2012-12-25 00:22:32 +01:00
cinap_lenrek
f379992fcd adiahci: drive onlining, task file error (atapi) handling, missed interrupts, bios handoff, idle, cleanup
wait for the drives to become ready or missing in iaonline()
and iaverify() to prevent nobootprompt= race.

handle task file error status (this can happen for atapi)
under some circumstances and would hang the io if not
handled.

preventively poll interrupts from the checkdrive kproc in
case we loose interrupts (bad via machine).

implement bios handoff procedure.

make sure the port is idle before programming the port dma
regios in configdrive(), do not start command processing
on the port unless phylink has been established.
2012-12-24 18:07:18 +01:00
cinap_lenrek
9b6f0e2b3e cpu(8): option -A before -R
aan announce option -A has to be specified before -R and -O so
reflect this in the manual page.
2012-12-21 21:24:47 +01:00
cinap_lenrek
0ef3bdaaa4 merge 2012-12-21 19:22:58 +01:00
cinap_lenrek
44ac7fe940 6in4: use localmask instead of hardcoded /128 when adding address to interface 2012-12-21 19:18:47 +01:00
Marko Kostić
e95c771eb5 Renamed the serbian latin kbmap and changed some minor errors
in it (lj > q, nj > w).
2012-12-21 17:05:31 +01:00
cinap_lenrek
2c1c1e4005 hproxy: fix ipv6 url parsing 2012-12-20 22:15:52 +01:00
cinap_lenrek
e2d6bba40d file: detect and unwrap utf-16 encoded text formats 2012-12-20 17:58:26 +01:00
cinap_lenrek
db71faf2d7 tcs: dont get confused on odd read count for utf-16 2012-12-20 17:00:08 +01:00
cinap_lenrek
03024cd814 file: fix newline consistency, fix swaped utf-16 le/be 2012-12-20 16:58:56 +01:00
cinap_lenrek
9465269c40 ethervgbe: fix broken rx block handling 2012-12-20 09:44:10 +01:00
cinap_lenrek
7b34e8e759 nusb/kb: use report protocol for mouse
instead of forcing mouse to boot protocol, which often
doesnt work, we set it to report protocol and parse
the hid report descriptor. if thers no such descriptor
we revert to boot protocol.

all mouse packet parsing is done by report parser,
even for boot protocol. also all the work arrounds
for the leadbyte hack (report id?) are removed.

keyboards should not be affected by this change.
2012-12-19 12:09:35 +01:00
cinap_lenrek
30b8fa0eef pci: add southbridge for Viatech VT8235 2012-12-19 00:35:53 +01:00
cinap_lenrek
5d27a5972d pci: add southbridge for intel 82hb65 cougar point pch (thanks ftrvxmtrx) 2012-12-19 00:09:42 +01:00
cinap_lenrek
b4c81e2cdc audio/pcmconv: fix mistake 2012-12-17 09:53:36 +01:00
cinap_lenrek
5d78632d41 pci: add Viatech VT8251 south bridge 2012-12-17 07:51:40 +01:00
cinap_lenrek
1fdd311f2f audio/pcmconv: implement stereo -> mono conversion (mixing) 2012-12-14 17:16:50 +01:00
cinap_lenrek
776f3726dd audio/pcmconv: check bits for same format check not just framesz 2012-12-14 09:43:00 +01:00
cinap_lenrek
d99e693119 file: report .au files as "sun audio" instead of µlaw 2012-12-14 05:12:07 +01:00
cinap_lenrek
5ceb834f0e audio: replace µlawdec, add big endian and µlaw audio formats to pcmconv, µlaw in wav support
to support µ-law audio embedded in wav and big endian pcm
in sun audio files the µ-law and a-law and big endian integer
decoding was added to pcmconv. sundec now parses the sun
audio header supporting stereo now.
2012-12-14 04:38:45 +01:00
cinap_lenrek
d7b7723c96 audio/pcmconv: dithering 2012-12-13 09:39:15 +01:00
cinap_lenrek
a8b02eb198 audio/pcmconv: cleanup 2012-12-12 19:04:57 +01:00
cinap_lenrek
985df234d6 audio/pcmconv: implement filter coefficient interpolation, cleanup 2012-12-12 15:46:12 +01:00
cinap_lenrek
2823498ac3 audio/pcmconv: mistake for double to int conversion (thanks ftrvxmtrx) 2012-12-12 12:20:54 +01:00
cinap_lenrek
bedfd8f361 audio/pcmconv: check number of input channels 2012-12-11 21:02:14 +01:00
cinap_lenrek
45a5074b10 audio/pcmconv: disable floating point exceptions for data conversion
for the float to integer conversion, disable
exceptions. also clamp the values.

--
cinap
2012-12-11 20:42:33 +01:00
cinap_lenrek
0903d01134 audio: fix broken write() size for mp3dec/oggdec/flacdec
they accidently wrote additional bytes in the stream. this
confused the new audio/pcmconv (now actually checking
if it got complete samples).
2012-12-11 19:55:02 +01:00
cinap_lenrek
3d1f5d4812 audio/pcmconv: implement band limited audio resampler using fir filter
implement the resampler described in the
"Digital Audio Resampling Home Page" paper:

https://ccrma.stanford.edu/~jos/resample/
2012-12-11 16:37:39 +01:00
cinap_lenrek
6182ff7d77 merge 2012-12-11 14:25:02 +01:00
cinap_lenrek
91f72566c6 paqfs: fix wrong block type in readdir() (from sources) 2012-12-11 14:19:04 +01:00
stanley lieber
871419f216 fortunes: _exits("damn"); 2012-12-10 22:06:42 -06:00
cinap_lenrek
b1b2a4ac9c 6l: fix wrong opcode for MOVLQZX (import from sources) 2012-12-10 10:53:27 +01:00
cinap_lenrek
3971337d13 nusb: provide language id when reading string descriptors (thanks ftrvxmtrx)
there are devices which do not return a string if used
with invalid language id, so at least try to use the first
one and choose english if failed.

this fixes CDC ethernet for N900
2012-12-10 10:36:53 +01:00
cinap_lenrek
8f0ed00420 audiohda: add support for PCH (Dell E5420) 2012-12-10 10:01:52 +01:00
cinap_lenrek
e93d22ef18 awk: fix the fix
be more carefull. have to preserve DONTFREE flag!
2012-12-10 09:19:41 +01:00
cinap_lenrek
6e4554b7d5 awk: prevent split(a[x], a) from freeing a[x]
the freesymtab() call frees the y argument. temporarily mark it
not to be freed.
2012-12-10 07:20:00 +01:00
cinap_lenrek
dfd5bca48e audio(1): µlawdec reference 2012-12-08 09:23:05 +01:00
cinap_lenrek
7148847ff0 µlaw audio support (from erik quanstro) 2012-12-08 09:18:44 +01:00
cinap_lenrek
0d84343fbc audio: add audio/pcmconv program
instead of duplicating resampling and pcm format
conversion code, put it in the new pcmconv program.
2012-12-08 08:26:50 +01:00
cinap_lenrek
9507061986 cwfs: allow previously authorized channels to attach as none
we allow allow previously authorized channels to attach as none
even if anonymous logins are disabled with nonone.
2012-12-07 09:53:08 +01:00
cinap_lenrek
52b500af61 cwfs: make none attach work
allow attach as none. (this was supposed to work but it
doesnt for 9p2000 because we have to check for
afid being NOFID instead of checking the uname string).

and add "nonone" flag to disable this.
2012-12-07 06:30:26 +01:00
cinap_lenrek
3bf1e0798b audiohda: pikeshedding
use seprint() for audiostat.
2012-12-07 00:56:26 +01:00
cinap_lenrek
62721182c4 audiohda: fix getoutamprange()
same problem as previous commit. have to query
function group if not Wampovrcap.
2012-12-07 00:36:15 +01:00
cinap_lenrek
29aa499682 audiohda: handle default amp settings
widgets that do not have Wampovrcap have ther default
amplifier parameters stored in the aydio function group.
only if the amp override bit is *not* set, then the widget
stores its own amplifier parameters and we have to query
its node id, otherwise the audio function group node id.
2012-12-07 00:12:16 +01:00
cinap_lenrek
5a138029db move devusb to port
moved devusb to port, shifting the responsibility of how
to enable interrupts to the arch specific hci driver.
2012-12-06 18:53:17 +01:00
cinap_lenrek
75b1ec6716 audiohda: dont xspanalloc() Ctlr structure
theres no requirement for the Ctlr structure to be 8 byte aligned.
its not passed to hardware.
2012-12-06 17:19:13 +01:00
cinap_lenrek
7a99d3c6a6 ipconfig(8): better way to say it :) 2012-12-06 07:34:56 +01:00
cinap_lenrek
df8c55ec71 ipconfig(8): document new default behaviour for finding ethernet device 2012-12-06 07:30:16 +01:00
cinap_lenrek
c3105131fe bootrc: fix mistake, god damn it 2012-12-06 03:46:22 +01:00
cinap_lenrek
620d6df973 bootrc: reparse all env variables, not just #ec 2012-12-06 02:03:59 +01:00
cinap_lenrek
6e630a2d1f nusb/ether: remove debug prints, cleanup 2012-12-06 00:31:25 +01:00
cinap_lenrek
29ca49ca38 nusb/ether: remove vid check in smsc driver, cleanup cdc driver 2012-12-06 23:24:42 +01:00
cinap_lenrek
04fd67ab06 nusb(4): document new nusb/ether options 2012-12-06 23:17:18 +01:00
cinap_lenrek
23239adf54 nusb/ether: port drivers for asix and smsc ethernet 2012-12-06 23:05:24 +01:00
cinap_lenrek
49c8aed2db ip/ipconfig: automatically find ethernet device on /net if not given 2012-12-05 14:38:30 +01:00
cinap_lenrek
0750687012 move usb ethernet in bootfs.paq 2012-12-05 13:53:34 +01:00
cinap_lenrek
96cc3eb2ee devtls: add support for aes_128_cbc and aes_256_cbc (import from sources) 2012-12-04 10:53:53 +01:00
cinap_lenrek
b296b96c68 devssl: handle bad secretin/secretout ctl arguments (import from sources) 2012-12-04 10:52:42 +01:00
cinap_lenrek
b142e2a308 devpipe: import pipe wstat() support to change permissions (import from sources) 2012-12-04 10:40:08 +01:00
cinap_lenrek
98bd636424 upas: fix original mail in /sys/src/cmd/upas/misc 2012-12-04 08:02:50 +01:00
cinap_lenrek
580a8ae857 syscallfmt: fix syscall trace for kw/opamp4 2012-12-04 07:26:33 +01:00
cinap_lenrek
4ae38efc1c ape/mv: check if from path fits and error if too long 2012-12-04 06:06:28 +01:00
cinap_lenrek
b4e34c1c74 kw: syscallfmt() declaration moved to port/portfns.h 2012-12-04 05:28:38 +01:00
cinap_lenrek
6d47c25f6f python: fix pgen build for other archs 2012-12-04 03:05:01 +01:00
cinap_lenrek
2fcd19f16e ape: fix memory leak and path limit in unlink()
db1 was leaked, and newname could overflow. fixed.
2012-12-03 19:16:22 +01:00
cinap_lenrek
a16f5cd2a3 ape: forgot to set errno in access() for dir create fail 2012-12-03 18:54:56 +01:00
cinap_lenrek
4661934e31 ape: fix _grpmems(), access(), getppid(), cleanup
_grpmems() was broken tokenizing group list in place.
we have to copy it to status buffer before tokenizing.

dynamically alloc path for test file to check write
permission on directory and add pid to the name to
prevent races.

use _OPEN instead of ape open to read /dev/ppid in
getppid().

use mode enums instead of numeric constants for _OPEN()
and _CREATE().
2012-12-03 18:47:41 +01:00
cinap_lenrek
52b9a06896 9boot: truncate long lines instead of producing partial lines from console/plan9.ini 2012-12-03 16:52:14 +01:00
cinap_lenrek
ee251568fb ape: putenv, add file :) 2012-12-03 06:47:01 +01:00
cinap_lenrek
84c930a078 ape: fix putenv()
writing /env in putenv() doesnt work. exec will create
new enviroment anyway. we have to modify environ array!
2012-12-03 06:44:30 +01:00
cinap_lenrek
eb9de925c6 ape: fix more bugs, use /env and /proc instead of #e and #p, cleanup
remove envname length limitation in _envsetup()
by using allocated buffer and use /env instead of #e

use /proc and getpid() instead of #p and #c in
readprocfdinit()

fix buffer overflow in execlp(), check if name
of failed exec starts with / . or is \0

make sure not to close our own filedescriptors
for FD_CLOEXEC in execve(), fix wrong length
check for flushing buffer to /env/_fdinfo.
fix error handling cases. copy the enviroment
before decoding \1 to \0 because the strings in
environ[] array might not be writable.

remove bogus close if we fail to open ppid file
in getppid() and use /dev/ppid instead of #c/ppid
2012-12-03 05:35:33 +01:00
cinap_lenrek
f3842de5fd ape: initialize _tos and use _tos->pid for getpid() 2012-12-03 05:22:21 +01:00
cinap_lenrek
45b498c027 ape: fix buffer overflow in _envsetup() 2012-12-02 12:32:23 +01:00
cinap_lenrek
50c9769bbd sdiahci: fix staggered spinup wait loop, fix confusion
setting Asud in the cmd register is not needed, because
Apwr is (Asud|Apod) already. the problem really was that
the drive comes up with sstatus Spresent (001), so we never
spun it up because (p->sstatus & Sphylink) == 0 was never
met (Sphylink being a mask (011) overlaping Spresent bit).

the spinup wait loop has to run only for the staggered spinup
case (h->cap & Hss) and it should wait for the drive to be
detected by the phy, not just cold presence detect.
2012-12-02 04:50:37 +01:00
cinap_lenrek
a9206fa5ad sdiahci: make drive dvd drive spinup work, add *ahcidebug= boot parameter
thinkpad r400 dvd drive was not recognized. port status
indicated present device but no Sphylink because the
device did not spin up. setting the Asud bit in ahciconfigdrive()
made it come up clean.

add scsciverify() call in iaverify() for atapi inquiry.

keep in some of the debug prints and add a *ahcidebug= boot
parameter to enable them.
2012-12-02 01:39:03 +01:00
cinap_lenrek
86eaffdcaa nusb/kb: fix 5ms sleep polling in repeatproc, notegroup, cleanup
fix repeatproc timeout handling, add constants for Kbdelay
and Kbrepeat.

set procname so one knows which is keyboard and which is mouse
and on what endpoints they work.

9front's /dev/mousein and /dev/kbdin allow multiple opens,
so theres no need for the refcounted Kin structures.

spawn the worker procs in ther own note group, so they wont
get killed on interrupt in the original notegroup.
2012-11-30 19:01:59 +01:00
cinap_lenrek
3e0e920c22 upas/ned: fix M command 2012-11-30 15:13:23 +01:00
cinap_lenrek
3f25f69718 nusb/kb: add support for evoluent vertical mouse 2012-11-30 04:02:03 +01:00
cinap_lenrek
8b7897b57a upas/fs: fix tlsClient() memory leaks 2012-11-28 08:51:50 +01:00
cinap_lenrek
a8fc4ddc6d usbehci: route ports to all ehci controllers, not just the first
i belive the seizing up was a side effect of broken
bios handover. ehci will not work on the other controllers
if we do not route the ports to them.
2012-11-28 07:35:28 +01:00
cinap_lenrek
f98bdfece0 audiohda: add pci vid/did for lenovo thinkpad x230t 2012-11-28 01:20:58 +01:00
cinap_lenrek
87ab441ab4 upas: handle Bcc: header
when -8 flag is given, upas/marshal override To:, Cc: and Bcc: headers.
add -B option for Bcc. it is also now valid to pass recipient list
on upas/marshal arguments and have -8 flag set. make nedmail and
/rc/bin/mail call upas/marshal with -8 now to make it effective.
2012-11-27 21:10:55 +01:00
cinap_lenrek
539f74db81 reverting string "general purpose password" braindamage 2012-11-27 22:07:34 +01:00
glenda
7e0c920fe3 passwd: improved message 2012-11-27 14:16:10 +00:00
cinap_lenrek
4260392749 nusb/kb: skip 0x01 lead byte hack, you dont wanna know
apparently, some mouse send constant 0x01 byte
before normal 4 byte mouse packet. this is known in
openbsd/freebsd as UQ_MS_LEADING_BYTE quirk.
2012-11-25 22:37:53 +01:00
cinap_lenrek
ffa54947bc usbehci: fix broken bios takeover
bios takeover was broken. bad Ceecpmask (was 8, should be 0xFF)
causing it to miss the legacy control ecap and properly take
overship of the controller. also the order seems wrong, we
have to takeover before we do anything with the controller.

remove the pci config space 0xc0 = 0x2000 write. this the
uhci legacy register. its not anywhere in the ehci spec.
2012-11-25 16:24:10 +01:00
cinap_lenrek
f8f118423c usbohci: revert td overrun error handling change from sources
regarding the ohci spec, a overrun td might supply a full
packet of data. this change seemed to have caused nusb/kb to
fail with getting spurious zero byte reads. reverting for now.
2012-11-24 16:41:38 +01:00
cinap_lenrek
aadc581040 nusb/kb: zero reads, error handling, priority, cleanup
handle short reads as errors and retry. this can happen
on ohci and some ps2 to usb converter. it might'v deen caused
by a recent change on sources handling td overrun differently.

fix error handling. have to check f->ep == nil after recovery
and check packet size. also, use f->ep->dfd instead of ptrfd
and kbdfd as it might be different after recovery. make a
setleds() error non fatal.

boost process priority for keyboard and mouse worker processes.

cleanup: use single write() in putmod(), improve error reporting.
2012-11-24 16:37:39 +01:00
cinap_lenrek
f37d68003d usbohci: implement smm handover, timeouts, donehead dequeue.
implement SMM emulation driver handover in ohcireset(). this fixes
hang and defunct internal keyboard problems on a acer notebook.

dont spin forever waiting for the controller on soft reset in init().

check both, donehead pointer *and* interrupt status for
processed td event (Wdh) similar to the ohci spec example for
processed tds and unlink immidiately. acknowledge *all* the
interrupt status bits before masking. mask out unhandled
events.

various stuff:

check for christmas light interrupt status (cardbus controller
removed?)

add (missing?) break for Tddataovr error case in qhinterrupt().
(changed on sources, not clear why?)

mask interrupt events on shutdown() (from sources).
2012-11-24 03:51:57 +01:00
cinap_lenrek
4b4070a8b9 ratrace: fix race conditions and range check
the syscallno check in syscallfmt() was wrong. the unsigned
syscall number was cast to an signed integer. so negative
values would pass the check provoking bad memory access from
kernel. the check also has an off by one. one has to check
syscallno >= nsyscalls instead of syscallno > nsyscalls.

access to the p->syscalltrace string was not protected
from modification in devproc. you could awake the process
and cause it to free the string giving an opportunity for
the kernel to access bad memory. or someone could kill the
process (pexit would just free it).

now the string is protected by the usual p->debug qlock. we
also keep the string arround until it is overwritten again
or the process exists. this has the nice side effect that
one can inspect it after the process crashed.

another problem was that our validaddr() would error() instead
of pexiting the current process. the code was changed to only
access up->s.args after it was validated and copied instead of
accessing the user stack directly. this also prevents a sneaky
multithreaded process from chaning the arguments under us.

in case our validaddr() errors, we cannot assume valid user
stack after the waserror() if block. use up->s.arg[0] for the
noted() call to avoid bad access.
2012-11-23 20:27:09 +01:00
cinap_lenrek
2f416353df libmach: fix file permission for map.c 2012-11-22 00:56:32 +01:00
cinap_lenrek
5be7e69c26 hgfs: work in progress stuff... 2012-11-22 00:02:43 +01:00
cinap_lenrek
1d4ab25265 hgfs: remove bogus OTRUNC mode from create() call in fmktemp() 2012-11-21 19:28:40 +01:00
cinap_lenrek
40d11cea3f hgfs: various improvements
lazily close revlog files and keep up to 8
revlogs arround. also cache the latest extracted
file descriptor of a revision in the revlog.
this avoids the quite expensive reextracting/patching
when we reopen the same file revision.

dont use the racy mktemp()/create, instead create
a uniqueue name and create with OEXCL. this also
avoids a bunch of access() calls.

fix eof case and use pread() in fcopy() to avoid the
seeks.

dont modify changelog temp file but simulate trailing
newline instead.
2012-11-21 19:22:46 +01:00
cinap_lenrek
73744b9f48 derp: handle file type changes
handle cases when files become directories or directories
become files.
2012-11-21 15:34:12 +01:00
cinap_lenrek
f188f2f073 hjfs: eleminate seek syscalls
reduce syscalls by using pread/pwrite instead
of seek/read/write.
2012-11-18 12:53:31 +01:00
cinap_lenrek
c1d5963850 merge 2012-11-18 12:01:16 +01:00
cinap_lenrek
bcaf52ebcd hjfs: ORCLOSE parent check, estrdup / erealloc, CHFNOPERM consistency
check for write premission in the parent directory
for open with ORCLOSE. honor CHFNOPERM not just in
chancreat(), pikeshedd the error handling. added
estrdup()/erealloc() that call sysfatal instead
of returning nil.
2012-11-18 12:00:13 +01:00
cinap_lenrek
28452d3fe5 hgfs: work in progress stuff 2012-11-18 11:54:04 +01:00
cinap_lenrek
9a39427183 hjfs: fix dump / create
getdent() introduced a bug as the qid check fails in
the case when we walk to DUMPROOTQID, but get ROOTQID
in the directory instead.

newentry() getblk(..., GBCREATE) caused the whole
directory to get dumped until it hit a free slot.
we cannot do this because this changes the addresses
of Dentries of files but doesnt update the loctree.

this caused the bogus walks when we hit a different
directory than we expected.

what we do now is the following: newentry() was changed
to never dump anything. it will just read the directory
and return a the address of a free slot or create a
new block having space for one. chancreat() then makes
a loc in the loctree for the free slot, drops the dirent
buffer and calls willmodify() on the new slot. this will
dump the block containing the slot (and possible other
slots) and updates the loctree to the new version.

after that, chancreate() modifies the slot filling the
Dentry. there should be no race, as newentry() skips
slots that have a loc in the loctree.

theres one case where newentry() can dump the block
immidiately when it is called from dump. added new
parameter for that and documented in the comment.

createuserdir() was simplified by just calling chancreat().
to get arround the permission check, a new per channel
flag CHFNOPERM was added.
2012-11-18 00:06:54 +01:00
stanley lieber
cb8d49e3c2 fortunes: did anyone at iwp9 give an update about osprey? anyone ask when it'll be available? 2012-11-17 14:24:01 -06:00
cinap_lenrek
08cd0ea8d4 hjfs: fix getfree() races, fix very rare buf leak in deltraverse() 2012-11-16 22:57:43 +01:00
cinap_lenrek
84ddc4cd4b hjfs: fix potential deadlock in putloc() 2012-11-16 19:55:58 +01:00
cinap_lenrek
b9bf9f1d54 hjfs: dentry qid checking, prevent newentry() from allocating already in use slot
always check if the directory entry qid from the loc still
matches the one on disk before doing anything. helps
catching bugs and is basically equivalent to what cwfs does
with its checktag.

make a haveloc() check in newentry() to make sure we dont
allocate a file slot thats still in use, but deleted.
this seems to fix the NPROC>1 build problems.
2012-11-16 13:42:45 +01:00
cinap_lenrek
ffa6f9c6ea fix spaces 2012-11-15 19:41:13 +01:00
cinap_lenrek
b28f60cdd3 add C-Keens tls-client-auth
This patch adds client TLS authentication to libsec in compliance with
rfc 4346.

A new -c flag has been introduced for tlsclient allowing the user to
specify a certificate in pem(8) format which will be provided to the
server upon request.

A -D debug flag has been introduced to enable debugging output.

The patch has been tested against OpenSSL 0.9.7j 04 May 2006.

It exists today because of the great (debugging) help and insight
provided by Matthias Bauer.

TODOs:

- specification of a certain client key in factotum is not possible at
	the moment
- tlssrv should support this too

These will get added in another patch.

The first try to submit this patch failed due to a network error.
Sorry for the duplication!

Kind regards,

Christian
2012-11-15 19:32:53 +01:00
cinap_lenrek
df829e6c07 hjfs: fix more missing dirty marks, error handling, cleanup 2012-11-15 16:43:35 +01:00
cinap_lenrek
7ced300071 hjfs: fix missing BDELWRI mark in newentry() 2012-11-15 09:22:13 +01:00
cinap_lenrek
00daf47137 vt: on resize, restore screen using history buffer 2012-11-10 07:56:39 +01:00
cinap_lenrek
0ad8548b70 rio: fix auto compmplete candidates getting read back without prompt 2012-11-10 02:30:17 +01:00
cinap_lenrek
0df3f94ecd kbdfs: send interrupt note in separate proc to prevent potential deadlock 2012-11-09 17:39:35 +01:00
cinap_lenrek
663aff7fb2 kbdfs: kill input buffer on interrupt key 2012-11-09 17:09:20 +01:00
cinap_lenrek
01d28b9d89 pstree: manpage, print pid in first column, bio, silly walks 2012-11-08 00:06:54 +01:00
cinap_lenrek
6f1efd37a2 limit clunk queue length for cclose()
dont let the clunk queue grow too large if we are allowed to
block (cclose) as the fileserver might run out of fids.
2012-11-07 22:04:29 +01:00
cinap_lenrek
52f71a17da pstree: sort children, fix missing close, strip newline from args 2012-11-07 21:14:41 +01:00
cinap_lenrek
6c8097a84d fix spurious kproc ppid
newproc() didnt zero parentpid and kproc() didnt set it, so
kprocs ended up with random parent pid. this is harmless as
kprocs have no up->parent but it gives confusing results in
pstree(1).

now we zero parentpid in newproc(), and set it in sysrfork()
unless RFNOWAIT has been set.
2012-11-07 20:46:30 +01:00
cinap_lenrek
479ea049e3 remove tty(1) command as kbdfs now handles interrupts 2012-11-07 19:04:26 +01:00
cinap_lenrek
2c4a77f21f devproc: remove pgrpid == 1 check for notepg open
assuming that this check tried to prevent the hostowner
from killing init, it is silly because init would just
handle the note.

with kbdfs, we actually want to send interrupt note to
the initial process group so instead of working arround
this with rfork(RFNOTEG|RFNAMEG), we remove the check.
2012-11-07 18:57:02 +01:00
cinap_lenrek
eb96892d85 merge 2012-11-06 17:21:15 +01:00
cinap_lenrek
599dd1c34f make interrupt key (Del) just work in the console
these changes make the interrupt key available in the
console (before rio is started).

kbdfs: will now send a "interrupt" note to its invoking
process group in cooked mode.

bootrc: is now prepared to handle interrupts, mainly to
not accidently spawn a new bootargs prompt.

init: forwards the interrupt to the cpurc/termrc pgrp.

vncs: shields itself from kbdfs notegroup so interrrupt
wont kill the whole vnc session.
2012-11-06 17:19:41 +01:00
iru
2dbc08a8bc Oops, make exponential function work 2012-11-05 15:47:13 -02:00
iru
c8ea1cd8d7 Add exponential function. 2012-11-05 15:45:10 -02:00
iru
0c9237e0b4 fplot(1) man page 2012-11-05 15:38:39 -02:00
cinap_lenrek
120412a6a2 wikifmt: fix trailing _ in heading name reference 2012-11-05 03:16:13 +01:00
cinap_lenrek
72679fd6cc add google code wiki formatter aux/wikifmt 2012-11-05 02:39:33 +01:00
cinap_lenrek
4d1f113490 derp(1) spelling (thanks pap) 2012-11-02 22:15:17 +01:00
cinap_lenrek
c0c2660f74 add directory-examining recursive compare derp(1) 2012-11-02 20:28:12 +01:00
cinap_lenrek
5cb6be9ce3 hgfs: fix metaheader offset for log 2012-11-02 03:31:55 +01:00
cinap_lenrek
ce59d96ee3 hjfs: fix group permissions for /adm and /adm/users for init 2012-11-01 16:34:33 +01:00
cinap_lenrek
4b2a1c104b hgfs: strip metadata header, bogus .n walks 2012-11-01 03:42:24 +01:00
cinap_lenrek
30d54cc055 rio: fix topping a hidden window does not activate the foreground font color 2012-10-30 23:18:53 +01:00
cinap_lenrek
559d2fc835 hgfs: work in progress stuff... 2012-10-29 22:00:38 +01:00
cinap_lenrek
6812f4679b hgfs: more work in progress stuff 2012-10-28 23:18:38 +02:00
cinap_lenrek
90cbdce8ab devdraw: fix stats for #i/winname (thanks jas) 2012-10-27 22:27:19 +02:00
cinap_lenrek
0372073ee8 file: paq, troff, hp pcl, lua, vcard 2012-10-26 16:06:17 +02:00
cinap_lenrek
3184aeeb07 fix permissiosn for upas and telco rc script 2012-10-25 18:51:55 +02:00
cinap_lenrek
c4bfecc265 fix permissions for auth/(status enable disable) 2012-10-25 18:25:31 +02:00
cinap_lenrek
da759a7fce realemu: fix REP prefix condition 2012-10-25 06:55:41 +02:00
cinap_lenrek
e63f13a8de /sys/src/cmd/mk*: add $CLEANFILES to clean and nuke targets 2012-10-25 01:58:43 +02:00
cinap_lenrek
2b430f9932 merge 2012-10-25 01:07:16 +02:00
cinap_lenrek
5741e1ecfd hgfs: add wip debug command 2012-10-25 01:05:39 +02:00
cinap_lenrek
cc595b043a libmemlayer: remove pool.h includes (import from sources)
there are no pool calls/data structures used in
libmemlayer so the dependency can be removed.
2012-10-25 00:47:55 +02:00
stanley lieber
907b3902a0 pkg(1): update man page 2012-10-23 18:08:18 -05:00
cinap_lenrek
a0b737ad35 create bio file (/adm/keys.who) if it doesnt exist 2012-10-23 08:55:26 +02:00
cinap_lenrek
4fdc7dbe9c fmt: improved version using less memory
functional identical, but uses different data structure.
instead of reading all words into memory, we read and
tokenize on demand keeping a simple linked list of words
to conume by further calls of getword(). once the list
is empty we read the next line, tokenize it and fill the
list up again. so we only need as mutch memory to hold
all the words of the longest line.
2012-10-23 02:08:35 +02:00
cinap_lenrek
22c7584780 devproc: fix another channel leak, move the cclose(c) from proctext() to procopen. 2012-10-22 21:59:52 +02:00
cinap_lenrek
6680d50d4b fix devproc text chan leak 2012-10-22 18:51:19 +02:00
cinap_lenrek
9ea332aac1 merge 2012-10-22 07:11:51 +02:00
cinap_lenrek
99216e0129 rio: fix deadlock
we can't really change the Window *input from
outside the winctl() thread. the problem is
that the window might end up reading the
mouse (scroll, select) which makes the w->cctl
channel block once you try to talk to the
window again (from the mousethread). this also
means we have to coordinate window switchin
from the winctl proc waiting for the current
window to release the input and then take over.
thers a new Winctl message Topped that basically
does that now using Wakeup and a chan to
synchronize.
2012-10-22 07:03:47 +02:00
stanley lieber
761f673032 pkg/list: handle werc directory listings 2012-10-21 21:44:53 -05:00
cinap_lenrek
54d2424a7c rio: fix cursor for sizing nocurrent window
wrepaint() used to also set the cursor for the window
if it was current. this reset the corner cursors on
bandresize when one tried to attempt to size a window
that was not current. make repaint just repaint the
window and border. set cursor explicitely for hold
toggle.
2012-10-21 18:27:43 +02:00
cinap_lenrek
bf13408df2 rio: various fixes
use notefd in killprocs() insead of postnote() as the process
might'v exited. the notefd stays valid even if the particular
process it was originaly opend on exited. remove the Window.pid
field as its not needed.

dup() the notefd for interruptproc as the window might'v gone
away and closed the notefd file descriptor, resulting in us
writing to the wrong thing.

use snprint() instead of sprint() for safety.

fix bogus debug fprint().

add missing "visible" flushimage() after Reshaped winctl message
got handled. i assumed wsetname()/nameimage() would be enough,
it but does a invisible flush so softscreen doesnt get updated
immidiately.

do not make allocimage() failure in scrtemps() fatal. it wont
draw the window properly, but it gives the user a chance to
delete some windows to recover.
2012-10-21 17:00:12 +02:00
cinap_lenrek
5374d09d35 /sys/doc: permissions for cleanps, mkdirlist, mkfilelist 2012-10-20 19:09:54 +02:00
cinap_lenrek
8057e48ae1 rio: colors, flicker reduction, refresh after mouse close
allocate all the colors in iconinit(), remove unused ones
like grey. rename darkgrey to paletextcol because thats
what it is used for. new approach to window image allocation.
we allocate the window with DNofill and let the window fill
itself. this reduces flickering especially with (-b) option
and makes rio resize feel a lot faster.

wrefresh() didnt work. now fixed.
2012-10-20 15:51:32 +02:00
cinap_lenrek
c33732a530 rio: wtop() after resize fix
wtop() checked w->topped == topped as a fast exit. if you
had the top most window not being current (== input) which
can happen when you delete the current window, then wtop would
after resize would not make the window current because it
is already top topmost one. wtopme() and wcurrent() both are
non-ops when window is already the topmost or window is already
current, so remove the check as its not needed. also topping
the window feels less sluggish.
2012-10-20 10:38:11 +02:00
cinap_lenrek
624c9f5112 rio: preserve window z-order on resize, fix race conditions
sort the window array by w->topped before reshaping all
windows. this preserves the window z-order.

remove implicit focus change on reshape/move. it called
wcurrent() in wtcl thread which might send a wctl message
to itself, bad... also we might not want to change focus
on reshape, like for the rio resize. so we set the input
window explicitely in all call sites.

window deletion was racy. wclosewin() destroys w->i, but
it is called outside the wctl thread so it might just
free the image under libframe doing some text selection.
this is fixed the following: add wclunk() function,
which basically just marks the window as deleted and
removes the reference from the window[] and hidden[]
arrays. (called on wclose() when refcount drops to
zero). wclosewin() now just frees the image and is only
called from the wctl thread on exit or when handing
the Deleted message.

get a reference to the window when doing sweeping or
moving as the filesystem might just clunk it under
us and we might end up sending wctl messages to
a Exited window.

wctl resize message has to fail if the window is not
current as it might be hidden... would also be annoying.
2012-10-20 22:42:01 +02:00
cinap_lenrek
558b9558d4 more generic way to deal with image chan conversion for resize/resample/rotate
this is to catch crazy color channels like k8a8 and the 15/16 bit
ones and CMAP. basically, just convert to RGBA32 or RGB24 depending
on if it has an alpha channel.
2012-10-18 20:17:12 +02:00
cinap_lenrek
0a3eb7d6b1 rio: copy window labels for menu3
as the menu is displayed, the window might go away or change its
label causing menuhit() to dereference bad memory. just strdup()
the labels before passing to menu3str to prevent accidents.
2012-10-18 18:51:32 +02:00
cinap_lenrek
3730a4df53 document urlencode in hget(1) 2012-10-18 15:23:40 +02:00
cinap_lenrek
7c3ea4360b hpost: add -l flag to get location url after POST 2012-10-18 14:38:07 +02:00
cinap_lenrek
909efb22c5 /sys/src/cmd/auth/mkfile: fix lib.$O.a race 2012-10-18 03:49:40 +02:00
cinap_lenrek
1ee5cd7425 kernel: mnt cache rework
avoid double entries in the cache for copen() and properly handle
locking so we wont just give up if we cant lock the Mntcache entry,
but drop the cache lock, qlock the Mntcache entry, and then recheck
the cache.

general cleanup (cdev -> ccache, use eqchantdqid())
2012-10-17 15:48:30 +02:00
stanley lieber
e51845797b fortunes, rob, rsc, troll: the war is over 2012-10-16 11:21:21 -05:00
cinap_lenrek
fcacce0f2f kernel: duppage cleanup
remove the sched() call and retry loop from duppage() and just
drop the page lock, then reacquire it after lock(&palloc).
2012-10-16 16:10:26 +02:00
cinap_lenrek
45b99937be kernel: cachedel() lock order, lookpage, cleanup
the lock order of page.Lock -> palloc.hashlock was
violated in cachedel() which is called from the
pager. change the code to do it in the right oder
to prevent deadlock.

change lookpage to retry on false hit. i assume that
a false hit means:

a) we'r low on memory -> cached page got uncached/reused

b) duppage() got called on the page, meaning theres another
cached copy in the image now.

paging in is expensive compared to the hashtable lookup, so
i think retrying is better.

cleanup fixfault, adding comments.
2012-10-16 14:12:21 +02:00
cinap_lenrek
1335be8276 swap: track swap pages with > 255 references, setswapchan() swapimage.c
swaped pages use a 8bit refcount where as the Page uses a 16bit one.
this might be exploited with having a process having a single page
swaped out and then forking 255 times to make the swap map refcount
overflow and panic the kernel.

this condition is probably very rare. so instead of doubling the
size of the swap map, we add a single 32bit refcount swapalloc.xref
which will keep the combined refcount of all swap map entries who
exceeded 255 references.

zero swapimage.c in setswapchan() after closing it as the stat() call
below might error leaving a dangeling pointer.
2012-10-15 14:04:30 +02:00
cinap_lenrek
2f732e9a85 kernel: attachimage / exec error handling
attachimage()'s approach to handling newseg() error is flawed:

a) the the image is on the hash table, but ref is still 0, and
there is no segment/pages attached to it so nobody is going to
reclaim / putimage() it -> leak

b) calling pexit() would deadlock us because exec has acquired
up->seglock when calling attachimage(), so this would just deadlock.

the fix does the following:

attachimage() will putimage() and nexterror() if newseg() fails
instead of pexit(). this is less surprising.

exec now keeps the condition variable commit which is set once
we are commited / reached the point of no return and check this
variable in the highest waserror() handler and pexit() us there.

this way we have released up all the locks and pexit() will
cleanup.

note: this bug shouldnt us hit in with the current newseg()
implementation as it uses smalloc() which would wait to
satisfy the allocation instead of erroring.
2012-10-14 19:48:46 +02:00
cinap_lenrek
fef6ff96ad update fshalt(8) manpage 2012-10-14 13:33:10 +02:00
cinap_lenrek
143fcc0a42 formpost becomes hpost 2012-10-14 06:28:58 +02:00
cinap_lenrek
45c0c41280 urlencode: fix /fd/0 use 2012-10-13 15:35:39 +02:00
stanley lieber
324ab59b08 ircrc(1): man page fixes, thanks pap 2012-10-12 09:17:47 -05:00
stanley lieber
2f83fa7f74 hget(1): fix man page errors, add another example 2012-10-11 22:06:11 -05:00
stanley lieber
b786ff0544 add /rc/bin/formpost; add formpost to hget(1) man page 2012-10-11 16:37:48 -05:00
cinap_lenrek
5cddd21627 cifsd: fix 64bit fileoffset bug
the low 32bit word got *sign-extended* on vlong conversion. m(
2012-10-11 21:38:54 +02:00
stanley lieber
05a0570970 ircrc(1): fix error 2012-10-11 11:34:15 -05:00
stanley lieber
1ef8bffd3c add /sys/man/1/ircrc, thanks pap 2012-10-11 11:31:40 -05:00
cinap_lenrek
16d61d3c97 kernel: try to catch some (rare) mistakes
kstrcpy() did not null terminate for < 4 byte buffers. fixed,
but i dont think there is any case where this can happen in
practice.

always set malloctag in kstrdup(), cleanup.

always use ERRMAX bounded kstrcpy() to set up->errstr, q->err
and note[]->msg. paranoia.

instead of silently truncating interface name in netifinit(),
panic the kernel if interface name is too long as this case
is clearly a mistake.

panic kernel when filename is too long for addbootfile() in
devroot. this might happen if your kernel configuration is
messed up.
2012-10-11 17:29:16 +02:00
cinap_lenrek
d9394b0d87 6in4: fix exit status, less strict src filtering, logging (import from sources) 2012-10-11 13:21:30 +02:00
cinap_lenrek
73e7e47d5b kenrel: simplify image cache by use of ccloseq() 2012-10-10 08:22:35 +02:00
cinap_lenrek
ca9f286b6c vncv: cleanup 2012-10-09 16:22:19 +02:00
cinap_lenrek
6f2ea28817 vncv: fork tcs with RFNOWAIT as we dont collect wait message 2012-10-09 15:26:45 +02:00
cinap_lenrek
3cc39a0ac7 vncv: snarfvers race, silly walks, add -l option for clipboard charset 2012-10-09 15:15:57 +02:00
cinap_lenrek
14817c4991 /sys/lib/acid/kernel: fix imagecache() and procenv() 2012-10-09 03:52:18 +02:00
cinap_lenrek
e52677328b merge 2012-10-09 03:23:21 +02:00
cinap_lenrek
eb13b7debc /sys/lib/acid/kernel: needacid("chan") 2012-10-09 03:22:28 +02:00
aiju
4048ceedd6 fortunes 2012-10-08 22:14:19 +02:00
stanley lieber
8b24e40e29 netaudit(8): english 2012-10-07 22:06:47 -05:00
cinap_lenrek
df66638fb5 netaudit changes and manual page 2012-10-08 00:56:00 +02:00
stanley lieber
e598b6dd31 hjfs(8): fix wording 2012-10-07 15:09:04 -05:00
stanley lieber
104c0eaf29 fortunes, rsc, rob: more 2012-10-07 14:40:29 -05:00
stanley lieber
c2881f43fb add /sys/man/8/hjfs 2012-10-07 14:39:45 -05:00
cinap_lenrek
54c5131529 /sys/lib/acid/kernel: fix intrcount() 2012-10-07 08:03:02 +02:00
stanley lieber
3049e7036b hjfs(4): fly your flag 2012-10-06 12:27:40 -05:00
stanley lieber
f80ac5dd42 fortunes, rob, rsc, theo, troll: updates 2012-10-06 11:56:56 -05:00
cinap_lenrek
83ffc3a1da pc kernel: make imagemem maxsize 10% less of mainmem maxsize 2012-10-06 07:05:08 +02:00
stanley lieber
349abfcd79 add /sys/man/4/hjfs 2012-10-06 03:49:53 +00:00
cinap_lenrek
16a9d6bbd3 tftpfs(4) example typo 2012-10-06 05:14:46 +02:00
cinap_lenrek
bac191c407 httpfile(4) section name quoting 2012-10-06 05:13:14 +02:00
cinap_lenrek
d21df97764 paint(1) fix bad cross reference 2012-10-06 05:12:07 +02:00
stanley lieber
c23d478a25 tftpfs(4): minor corrections 2012-10-05 21:25:55 -05:00
cinap_lenrek
61d1967e74 tftpfs: add manpage, add -x option 2012-10-06 04:14:48 +02:00
cinap_lenrek
5baafe7307 libfis: do not lie about logical sector units 2012-10-06 22:56:05 +02:00
cinap_lenrek
4cfd5cb02e urlencode: encode null bytes 2012-10-05 23:38:43 +02:00
cinap_lenrek
310afb88ef urlencode: fix null byte hexdigit() bug 2012-10-05 23:30:05 +02:00
cinap_lenrek
9ac9a135c8 urlencode: decode + as space 2012-10-05 23:21:17 +02:00
cinap_lenrek
4af5408953 replace urlencode with c version that isnt broken for utf-8 2012-10-05 23:14:23 +02:00
aiju
56df14a6a3 fixed ream code; added megabyte output to df 2012-10-03 18:27:22 +02:00
cinap_lenrek
aeb41b90f6 merge 2012-10-03 18:19:17 +02:00
cinap_lenrek
8840830ab8 liblex: fix allprint() definition (from sources) 2012-10-03 18:18:01 +02:00
aiju
0ebd85f72c hjfs: debug-chdeind and sync commands added 2012-10-03 18:10:56 +02:00
cinap_lenrek
76c102e548 apply sources patch cc-cpp-c99-comm
When running "?c -p ...", ensure the backend cpp recognizes C++ comments.

2c(1) states that the compilers recognize // comments, and the bare compilers
do.  But if you invoke the compiler with '-p', the backend cpp process
doesn't handle // comments properly unless you also give ?c the undocumented
'-+' option (which it passes through to cpp).
2012-10-03 18:09:53 +02:00
aiju
87b66bade2 fixed debug-getblk 2012-10-03 18:01:23 +02:00
aiju
20f8378ea1 hjfs debug commands 2012-10-03 17:45:58 +02:00
aiju
2bcaa6be7e fixed potential bug in hjfs 2012-10-03 17:23:17 +02:00
cinap_lenrek
549b4e0225 upas/marshal: fix usage line and add missing flags to manpage 2012-10-02 00:37:17 +02:00
cinap_lenrek
9e7ecc41d5 devproc buffer overflow, strncpy
in devproc status read handler the p->status, p->text and p->user
could overflow the local statbuf buffer as they where copied into
it with code like: memmove(statbuf+someoff, p->text, strlen(p->text)).
now using readstr() which will truncate if the string is too long.

make strncpy() usage consistent, make sure results are always null
terminated.
2012-10-01 02:52:05 +02:00
cinap_lenrek
347ac6ef58 guesscpuhz(), apm suspend
use fastclock timer (pit2) to measure cpufreq in guesscpuhz(). this
gives a bigger period minimizing the danger of overrun as pit2 runs
at the constant maximum period of 0x10000 ticks. also use smaller
loop increments (1000) and bigger maximum loop upper bound.

move the loops < ... check to the bottom of the loop so we get the
effective count *before* adding the next loop increment.

ilock() while doing measurements in guesscpuhz() to prevent accidents
with other processors reading fastclock or doing guesscpuhz()
in parralel.

export new i8253reset() function for apm to reset the timers after
a apm bios suspend.
2012-09-30 19:41:34 +02:00
cinap_lenrek
2204bb7321 ether82557: timeout for ifstats DumpSC command 2012-09-30 16:16:20 +02:00
cinap_lenrek
5d64e428eb fix devproc and killbig segment race
we have to acquire p->seglock before we lock the individual
segments of the process and lock them. if we dont then pexit()
might free the segments before we can lock them causing the
"qunlock called with qlock not held, from ..." prints.
2012-09-30 16:14:27 +02:00
stanley lieber
fa08484d47 cpuid(8): fix spelling 2012-09-28 21:49:12 -05:00
cinap_lenrek
cd9ac26eb7 cpuid(8) manpage improments 2012-09-29 04:12:42 +02:00
cinap_lenrek
934442ace2 cpuid(8) manpage 2012-09-29 03:57:59 +02:00
cinap_lenrek
67f3dbdaee mothra: fix select boxes in textview 2012-09-28 01:53:14 +02:00
aiju
7a91a85509 fixed hjfs df 2012-09-27 17:08:52 +02:00
aiju
9cec2db619 really renamed statw to df 2012-09-27 16:26:47 +02:00
aiju
38e993c731 renamed statw to df 2012-09-27 16:26:28 +02:00
aiju
196f605e83 trivial mistake 2012-09-27 15:10:03 +02:00
aiju
45f76d6191 hjfs: statw command 2012-09-27 15:06:42 +02:00
stanley lieber
72061412ce fortunes, rob, rsc: updates 2012-09-26 18:52:49 -05:00
cinap_lenrek
37e8a817ea mothra: fix url snarfing 2012-09-26 19:32:34 +02:00
cinap_lenrek
5961379aba mothra: display url is page list if no title is available 2012-09-26 19:21:04 +02:00
cinap_lenrek
8035bb7dd1 mothra: never snarf the "Go:" box 2012-09-26 19:00:50 +02:00
cinap_lenrek
2b7330765a mothra: dont make all images into links (only in mothmode) 2012-09-26 18:28:10 +02:00
cinap_lenrek
03f2668d68 libdraw: enter()/eenter() ^W support - we are getting there 2012-09-26 17:35:21 +02:00
cinap_lenrek
d3f93ee1f3 need more coffee 2012-09-26 15:54:25 +02:00
cinap_lenrek
aa3dd7fd8f libdraw: fix ^W corner case tick == 0 for enter()/eenter() 2012-09-26 15:48:57 +02:00
cinap_lenrek
a77f6553d8 libdraw: implement ^W word delete for enter() and eenter() 2012-09-26 15:31:09 +02:00
cinap_lenrek
01e3e719ed mothra: various improvements
* disallow snarf on password entries
* remove current title label as it is displayed in the page list (redundant)
* avoid redrawing page list just to update the title
* check if the chan changed for backup bitmap in pl_rtdraw()
2012-09-24 01:08:09 +02:00
cinap_lenrek
a8a71a36f5 mothra: cache backup bitmap in pl_rtdraw() 2012-09-24 23:32:57 +02:00
cinap_lenrek
8007596779 mothra: forgot to add snarf.c 2012-09-24 22:50:44 +02:00
cinap_lenrek
948d0a1180 mothra: snarf and paste 2012-09-23 20:14:47 +02:00
cinap_lenrek
f68d096fb7 mothra: dont highlight subpanels in textview 2012-09-23 12:11:21 +02:00
cinap_lenrek
da8dd94a7a mothra: fast (offscreen) alpha drawing on scroll 2012-09-23 04:18:39 +02:00
cinap_lenrek
74cdf2c10a mothra: cleanup textview code 2012-09-23 03:48:29 +02:00
cinap_lenrek
bd998b2a78 mothra: text selection 2nd attempt 2012-09-22 19:54:33 +02:00
cinap_lenrek
f34ef5a8d4 mothra: first attempt on text selection 2012-09-22 17:46:56 +02:00
cinap_lenrek
9a06f93b71 tftp: prevent it from hanging if ack packets get lost
send ACK reply for duplicate data packets in case our ack response
got lost. make sure packets are in sequence and ignore out of
oder packets (except the ones we'v already acked).
2012-09-20 09:33:40 +02:00
google
9d182f906d Add disk/smart to mkfile 2012-09-20 10:42:17 +12:00
Marko Kostić
d5be0c1853 user: Marko Kostić <marko.m.kostic@gmail.com>
branch 'default'
added sys/lib/kbmap/sr (serbian cyrillic kbmap)
added sys/lib/kbmap/sr@latin (serbian latin kbmap)
2012-09-19 23:37:47 +02:00
google
2c4947656f Add manpages for atazz and smart 2012-09-20 22:51:20 +12:00
google
2a9d702506 Add Erik Quanstrom's smart tool for ATA SMART. 2012-09-20 22:42:06 +12:00
google
fa7fb8b66b Add Erik Quanstrom's atazz
(needed to disable power management/head unload on 2.5" drive)
2012-09-20 22:39:48 +12:00
cinap_lenrek
913afc39c9 tftpd: apply sstallion's tftpd-rfc patch (from sources)
tftpd option handling is not RFC-compliant. This causes picky
clients (such as curl) to fail transfers.
2012-09-18 18:27:59 +02:00
cinap_lenrek
a5756259cf 5l -H7 (elf) support (import from sources) 2012-09-18 18:22:38 +02:00
cinap_lenrek
3ba213a9d7 6c: extern register fix (import from patch/6c-extreg)
to make it easy to use normal libraries (such as libdraw, libsec, and libmp)
with the kernel, which uses extern register, don't stray into the external
register set when allocating values to registers.
2012-09-18 18:18:43 +02:00
cinap_lenrek
36f4f9fcd3 bring kernel acid library in sync (import from sources) 2012-09-18 18:11:16 +02:00
google
c3cd4fe746 fix typo. 2012-09-19 21:13:36 +12:00
google
1f7eb17f4b Enable busmastering for SCH (Poulsbo) PATA controller. 2012-09-19 21:07:44 +12:00
cinap_lenrek
a31c30564c sdide: make sure bmiba is in i/o port space, not memory 2012-09-16 16:46:28 +02:00
cinap_lenrek
92d3ff8426 rio: single line scroll up/down with holding shift key 2012-09-16 02:49:41 +02:00
cinap_lenrek
5cabb3070c vnc use Breadn() instead of Bread() 2012-09-16 01:47:44 +02:00
cinap_lenrek
9a02104699 hget -P to read postbody from stdin 2012-09-15 07:07:19 +02:00
cinap_lenrek
1d62e1d8c8 usb: dont give up on unassigned pci irq line in hci driver
sometimes, the bios does not assign a interrupt line for pci
devices. this should not be fatal in case of mp ineterrupts
as long as there is intpin or msi can be used.

warn in intrenable() if we hit such a interrupt and set
irq to -1 to prevent it from getting enabled on the pic
or as isa interrupt in apic mode.
2012-09-15 03:17:17 +02:00
cinap_lenrek
336df4d4ae Qcoalesce patch to satisfy full read length 2012-09-14 03:35:15 +02:00
aiju
d6e505167c the IRS 2012-09-13 18:44:44 +02:00
cinap_lenrek
8ca0a19825 merge 2012-09-13 09:39:15 +02:00
cinap_lenrek
4590975312 mothra: fix wrong ascent calculation if text element is too large, fix image border layout 2012-09-13 09:37:28 +02:00
stanley lieber
808e622e73 fortunes, rob, troll: the usual 2012-09-12 14:37:56 -05:00
cinap_lenrek
7b3c5d9257 mothra: special parse mode for <script> as parsetag gets confused by long javascript lines 2012-09-11 07:38:11 +02:00
aiju
6479692f56 fortunes! 2012-09-10 18:10:56 +02:00
cinap_lenrek
f90682e32e add hungary keyboard map (contributed by bencef) 2012-09-10 11:01:36 +02:00
cinap_lenrek
0a48c1e340 lp: HTML table support 2012-09-10 08:10:30 +02:00
cinap_lenrek
8472086cc6 update manual pages for lp HTML support 2012-09-10 08:01:49 +02:00
cinap_lenrek
f6dd4bb5ee lp: handle HTML files with html2ms | troff in process/generic 2012-09-10 07:40:28 +02:00
cinap_lenrek
2fd758bf2a mothra: simpler approach to ignoring <script> tags 2012-09-10 03:09:30 +02:00
cinap_lenrek
f57e4ecb01 hgwebfs: remove prefixing // from file path 2012-09-10 22:20:40 +02:00
cinap_lenrek
b62042cdeb libaml: store *value* instead of name reference in dest for alias op 2012-09-09 09:06:37 +02:00
cinap_lenrek
6aa1ca35c3 libaml: implement Alias and Debug instructions 2012-09-08 17:48:09 +02:00
google
a71b3dff06 Print correct sizes in prep autopart. 2012-09-09 17:37:21 +12:00
google
dd1b8df880 Add alignment hints for e512 ATA drives. 2012-09-09 17:22:12 +12:00
cinap_lenrek
aead11533e support file:// urls in hgwebfs extension as apparently hg uses them. m( 2012-09-08 01:55:46 +02:00
stanley lieber
72c1608409 fortunes, rob, theo: I wasn't asking about 9front. 2012-09-06 10:52:41 -05:00
cinap_lenrek
a064a48e6d nusb: handle 0 csp value on iface, remove unneeded configdev() calls after getdev() 2012-09-06 05:25:23 +02:00
cinap_lenrek
3cdaf6ea5f usbd: add missing quotefmtinstall 2012-09-06 04:07:51 +02:00
cinap_lenrek
ee0a0fca5d rdbfs(4), no ^t^t on 9front system 2012-09-06 02:45:15 +02:00
cinap_lenrek
9c18f300a4 devshr: honor noattach 2012-09-06 01:05:37 +02:00
google
577a9f763f Prevent nusb/disk and nusb/kb from blocking nusbrc 2012-09-06 13:15:59 +12:00
cinap_lenrek
93063b3db0 nusbd: properly handle port detach on hub disconnect 2012-09-05 00:06:20 +02:00
cinap_lenrek
0c52215ae3 usb: fix potential isoread overruns, error instead of panic on isoread in ohci 2012-09-03 04:23:02 +02:00
cinap_lenrek
cfd25faa28 usb: fix isowrite putsamples race 2012-09-03 01:54:34 +02:00
cinap_lenrek
1be10947ba doom: fix mixbuffer size confusion 2012-09-03 00:24:27 +02:00
cinap_lenrek
d32c8fc79a ether82563: fix format string error 2012-09-02 21:57:10 +02:00
google
3914d039b1 Add timeout to eeprom and flash init in ether82563 driver.
Prevents hang on misidentified or broken cards.
2012-09-03 19:23:28 +12:00
google
25a5ae8a44 Add Intel 82801JIB ICH10 southbridge 2012-09-03 17:44:30 +12:00
google
14843589e2 Intel 82567V DOES support jumbo frames, despite claims to the contrary. 2012-09-03 13:40:51 +12:00
google
59d3ba2ce0 Intel 82567V does not support jumbo frames. 2012-09-02 11:31:53 +12:00
cinap_lenrek
c74eff0906 audiohda: unsigned vid/rid formating 2012-09-02 01:02:34 +02:00
cinap_lenrek
5446d9779c date: pikeshedding 2012-09-02 00:18:43 +02:00
google
4cd4b82553 Fixes previous commit: dc3f9d299b40 2012-09-02 01:06:38 +12:00
google
2dfe66d72f Add -i flag to date: prints ISO-8601 datestamp
Add -t flag to date: prints ISO-8601 timestamp
2012-09-02 00:33:39 +12:00
google
87b6b93257 Fix for i82567V-2 2012-09-02 00:27:43 +12:00
cinap_lenrek
7f22b32e63 isodate in libc? revert every commit for great justice! 2012-09-01 14:12:29 +02:00
google
0e41e0b7c5 Add prototypes for isotime and isodate. This should have been in the previous commit. 2012-09-02 23:15:15 +12:00
google
dfc348c4e2 Add -i and -t options to date for isodate and isotime display. 2012-09-02 23:08:14 +12:00
google
cdb7bdde96 Add isotime() and isodate() functions to libc. 2012-09-02 23:05:41 +12:00
google
67e047589a Fix date formatting in asctime after year 2099. 2012-09-02 22:59:31 +12:00
cinap_lenrek
e91301a401 rdmsr/wrmsr become tryrdmsr/trywrmsr, we can should check for trap 2012-08-31 16:48:33 +02:00
cinap_lenrek
a7ed529d97 upas/fs: catch alarm note (used in pop3 code) 2012-08-30 17:39:22 +02:00
cinap_lenrek
c430bf65d3 ndb/dns: fix mistake 2012-08-29 20:14:15 +02:00
cinap_lenrek
e1a0aa42dc merge 2012-08-29 19:06:12 +02:00
cinap_lenrek
860d938b20 ndb/dns: bug fixes and massive cleanup
removing the querylck from the DN as it was never used or being
effective which saves like a ton on space per domain name.

remove the Query.tcplock and put query on the stack. it is
unneccesary to lock the query as its only used by one process
at a time. put Query's on the stack.

change outsidens() to outsidensip() which now takes the ip
buffer that it fills instead of returning static buffer (which
would race with multiple processes involved).

eleminate mostly all of the lock(&dnlock)/unlock(&dnlock) calls.
we'r not working on shared cache RR's in the resolver procs.
we work on *copies* done by rrlookup() made under the dnlock.

the cache garbage collection only runs when all processes are
locked out and is also taking the dnlock while doing so.

cleanup xmitquery(). for the tcp case, we dont need to get
more nameserver addresses, just take the ip from the udp header
that tcpquery() placed there for us.

fixed baddelegation() to actually check for delegation loop even
if theres no dom info for our host.

remove lots of debug code. remove the dnforceage() as it doenst
make sure other processes are locked out. this could destroy
dn's currenctly refered by running queries.

remove dnageallnever() as its not used. dont attach rr's to
keepers to prevent outside spoofing.

make myaddr() retrive the ip address if not set.
2012-08-29 19:01:05 +02:00
stanley lieber
30d016224a fortunes, troll: epub 2012-08-28 22:48:39 -05:00
stanley lieber
60bcab4d78 /sys/lib/dist/ndb/common: for god and country, geronimo, geronimo, geronimo 2012-08-28 22:46:44 -05:00
aiju
5ba4ccd30e fixed RFNOMNT 2012-08-27 17:50:48 +02:00
cinap_lenrek
40d5dce459 dns: fix rr->srv memory leak in rrcopy, mark rr->sig->signer, dn aging, cleanup 2012-08-26 21:56:03 +02:00
cinap_lenrek
25070f33fb audiohda: add intel sch models (thanks puddingpimp on #cat-v for sending a patch) 2012-08-26 17:16:03 +02:00
cinap_lenrek
8f0ec8b725 ndb/dns: fix netmkaddr() race, dnlock consistency, strcpy, cleanups 2012-08-26 01:51:46 +02:00
cinap_lenrek
19219d5a95 archmp: checksum _MP_ structure before use, coherence() and comments (import from sources)
we used to only test the checksum of the PCMP structure referenced by
the _MP_ without checking _MP_ itself. now fixed.

geoff added some coherence() calls and comments in the mpstartup and
apic code which seems to be a good idea.
2012-08-25 14:06:42 +02:00
aiju
69f5a04ac3 games/gb: del instead of f12/o 2012-08-25 22:38:32 +02:00
aiju
9cab16b426 games/gb: set audioproc priority 2012-08-25 22:33:51 +02:00
aiju
d7c21149e4 gb: pause function 2012-08-25 22:13:29 +02:00
aiju
46124af6cf fix CUT macro in cpuid 2012-08-24 19:19:42 +02:00
aiju
6edb672951 added aux/cpuid 2012-08-24 18:49:25 +02:00
stanley lieber
c42a535fe9 fortunes, rob, rsc, troll: updates 2012-08-24 10:18:33 -05:00
cinap_lenrek
3ac4524e4a syscallfmt: use up->syserrstr instead of up->errstr (import from sources) 2012-08-24 15:53:35 +02:00
cinap_lenrek
da01fdae11 guesscpuhz: add sanity checks for virtualbox (import from sources) 2012-08-24 15:46:21 +02:00
cinap_lenrek
d436b2117e add unified sigsearch() function to look for bios data structures
replace the various functions that searched for bios data structures by
a single sigsearch() one in pc/memory.c that will probe the various bios
data areas.

also, a new checksum() function was added that is to be used to validate
the structures found.
2012-08-24 15:36:56 +02:00
cinap_lenrek
86f323290c wait: always check up->nchild before going to sleep
always make sure that there are child processes we can wait for
before sleeping.

put pwait() sleep into a loop and recheck. this is not strictly
neccesary but prevents accidents if there are spurious wakeups
or a bug.
2012-08-24 13:11:04 +02:00
cinap_lenrek
d404e9e9f8 devmnt: more carefull wakeup in mountmux
once we set q->done = 1 in mountmux, the sleeper might return freeing q
so the wakeup might access invalid memory. we change the embedded Rendez
structure in the Mntrpc into a pointer to the sleeping procs up->sleep
rendez so the rendez is always going to be valid even if the rpc has been
freed.

the call to mntstats was moved before we set q->done also to prevent
accessing invalid memory.
2012-08-24 13:00:14 +02:00
cinap_lenrek
80a5bfc1d8 sdvirtio: be more carefull at wakeup
wakeup cannot access r->sleep once we set r->done because the
sleeper might just return at this point making r invalid. make
a copy of the sleep rendez pointer before setting r->done.
2012-08-24 12:52:34 +02:00
cinap_lenrek
8e5dd37eba ndb/dns: fix memory corruption and bad serveraddrs() range checks 2012-08-22 19:45:29 +02:00
cinap_lenrek
87fca361f7 rio: rect outside screen counts as covered wcovered() 2012-08-22 00:11:42 +02:00
cinap_lenrek
20b4f55603 9bootpxe: try /cfg/pxe/default if /cfg/pxe/$ether fails before breaking to the prompt. 2012-08-21 14:23:52 +02:00
cinap_lenrek
be0301f458 calloc: check multiplication overflow 2012-08-19 10:50:39 +02:00
cinap_lenrek
feb58cce49 plot(1) manpage corrections 2012-08-19 09:07:59 +02:00
cinap_lenrek
62f5a7e2b7 vncs: cleanup and error handling 2012-08-19 08:57:40 +02:00
cinap_lenrek
7bb4a790d6 webfs: capture error string from tlsClient 2012-08-18 15:10:34 +02:00
cinap_lenrek
56aa8e173f libsec: add sha256WithRSAEncryption signature alg 2012-08-18 15:09:02 +02:00
cinap_lenrek
c120dbc777 pccpuf: add vgaradeon 2012-08-17 19:03:26 +02:00
cinap_lenrek
8b93667775 lib/profile: remove startupasfs, start rio as subprocess so we drop to rc if it fails (no framebuffer), drawterm 2012-08-17 18:19:03 +02:00