Commit graph

2183 commits

Author SHA1 Message Date
cinap_lenrek dbbbff8915 lib9p: defer closing down srv until the last request has been responded, Tversion message size
in multithreaded programs, we have to wait until all outstanding
requests have been responded before closing down the srv.

dont make write errors sysfatal(), only print them. in case if
listensrv() is used we dont want to exit the process in respond()
called by some worker thread.

make sure Tversion is only handled when there are no outstanding
requests and make sure message size is sane.
2013-01-30 06:26:03 +01:00
ppatience0 f0a451d667 Fixed some ircrc bugs. Only the last channel given to the -t flag is set as target. Unknown commands are not sent to the server. Control-D can be used to exit the client. When the connection is lost, an error message is displayed and the client waits for user input before exiting. Manual page updated. 2013-01-29 23:56:29 -05:00
cinap_lenrek bc0e5ffa22 audiohda: fix vid typo 1003 -> 1003 2013-01-29 21:59:34 +01:00
cinap_lenrek bf37280c25 audiohda: add pci id for Intel P55 chipset and ATI HDMI (Radeon HD 8500) 2013-01-29 21:56:02 +01:00
cinap_lenrek 50cf738d69 acpi: remove "cannot get pci bus number for ..." debug prints
on almost all machines, we get tons of these prints for pci busses that
are not physically there but are described in the ACPI namespace. the
reason that we enumerate these is because we do not enumerate _INI and _STA
methods to check if they are present. we just match the information with
the PCI devices we enumerated with our generic pci code. this works fine and
doesnt require aml code to poke arround in pci config space.
2013-01-29 18:24:48 +01:00
mveety 611eedc8d0 removed fakertc device that confused timesync. timesync now fails trying to read it and hints user to get time elsewhere 2013-01-28 17:06:35 -05:00
mveety 73f9e49dbb removed fake rtc device. 2013-01-28 17:00:30 -05:00
cinap_lenrek 245355f719 document tcp445 (CIFS/SMB) listener 2013-01-28 16:41:25 +01:00
cinap_lenrek c1cb685a32 audioac97: fix inverted recgain control, init to zero recgain
some controls are inverted. we reflect this by specifying
negative range in the volume table now and let genaudiovolread()
and genaudiovolwrite() do the conversion.
2013-01-27 17:20:42 +01:00
cinap_lenrek 866ee3ab5d audioac97, audiohda: dont block on close, just pad the last block with zeros 2013-01-27 14:00:42 +01:00
cinap_lenrek 47bb182b5b merge 2013-01-27 13:00:09 +01:00
cinap_lenrek 87325403b0 sam: make scroll wheel work outside scrollbar 2013-01-27 12:57:51 +01:00
ftrvxmtrx bea0aa8472 statusbar: fix garbled percentage output 2013-01-27 11:51:31 +01:00
cinap_lenrek ea0f580909 add arm vfp support to compiler and linker (from sources) 2013-01-26 18:03:45 +01:00
cinap_lenrek bc610a1b1c add raspberry pi kernel (from sources) 2013-01-26 17:33:56 +01:00
cinap_lenrek ea108c8ca6 add tegra2 soc kernel (from sources) 2013-01-26 17:33:21 +01:00
cinap_lenrek 43e09c468b omap: update omap kernel (from sources)
refactors of the usb ehci code and adds vfp support
2013-01-26 17:32:08 +01:00
cinap_lenrek 44eb643cb2 devuart: export uartenable() 2013-01-26 17:26:28 +01:00
cinap_lenrek 7592fa3e68 kernel: add portable uncached memory allocator (ucalloc) (from sources) 2013-01-26 17:25:23 +01:00
cinap_lenrek 14d663b169 kernel: add portable sd mmc interface (from sources) 2013-01-26 17:06:28 +01:00
cinap_lenrek ae116c9446 libc: update atomic ops and fp code for arm (from sources) 2013-01-26 17:00:38 +01:00
cinap_lenrek 68c5dc8014 nusb/serial: add silabs driver (from sources) 2013-01-25 17:12:15 +01:00
cinap_lenrek 98dd0aebef acme: fix unicode handling for editout (from sources) 2013-01-25 16:45:04 +01:00
cinap_lenrek 180e04ee41 omap: fix breakpoint instruction trap handling (from sources) 2013-01-25 14:48:57 +01:00
cinap_lenrek 358f72266a merge 2013-01-25 14:20:53 +01:00
cinap_lenrek 9888ead042 libventi: handle nil connection in rpc as error instead of crashing (from sources) 2013-01-25 14:19:18 +01:00
cinap_lenrek 0c4d5b8b07 libdraw: fix memory corruption bug in initdisplay() 2013-01-25 14:17:41 +01:00
cinap_lenrek 13dbaaaf70 libc: set malloctag for runestrdup() 2013-01-25 14:15:48 +01:00
cinap_lenrek ea81146c15 jpg: check read count when reading png magic (harmless) 2013-01-25 14:14:31 +01:00
ftrvxmtrx e00c53cf74 tga, file: 15-bit tga images 2013-01-24 22:10:27 +01:00
stanley lieber d1225403d7 cons(3): add /dev/mordor to the list 2013-01-24 11:41:36 -06:00
ftrvxmtrx 8e7a00e143 tga: fix flip/reflect 2013-01-22 17:02:31 +01:00
cinap_lenrek 54b62fe493 arp: fix memory leaks for "flush" and "del" arp ctl messages 2013-01-22 15:26:34 +01:00
cinap_lenrek 1b017b8db4 mount /n/other from /srv/boot instead of /srv/cwfs
this makes sure tcp boot will have ther user /tmp's
the same way as from local cwfs. we used /srv/cwfs
to prevent a deadlock with 9660srv as a root filesystem
which has been fixed now.
2013-01-22 10:41:01 +01:00
cinap_lenrek 69e8a53ffe 9660srv: run 9p service in separate namespace to prevent deadlock
we have to run the 9p service process in its own namespace
otherwise the attach filename might point onto the served
filesystem causing it to deadlock. this happens especially
if 9660srv is used as root filesystem. (cdboot)
2013-01-22 10:35:42 +01:00
cinap_lenrek 361e029541 audioac97: set adc rate
set adc (recording) sample rate the same as playback for now.
make these separate entries later when we reintroduce in/out
attributes to volume controls.
2013-01-21 16:16:59 +01:00
cinap_lenrek c4d7f17916 file: more sanity checking for tga image detection to avoid false positives 2013-01-21 12:01:05 +01:00
cinap_lenrek e18b9f6fd2 tga: fix bad output channel descriptor for grayscale images and -9 flag, revert page work arround 2013-01-21 11:09:47 +01:00
ftrvxmtrx d789b1cc91 merge 2013-01-21 09:17:26 +01:00
ftrvxmtrx 44b337fbdb page: image/tga 2013-01-21 00:07:05 +01:00
ftrvxmtrx 7addee38a9 page: force images to RGB using -3 flag (fixes grey-scale images displaying) 2013-01-21 00:06:36 +01:00
ftrvxmtrx de5fdbc010 file: detect tga images 2013-01-21 01:05:00 +01:00
ftrvxmtrx d5c0fe22e3 readtga: fix b/w, add color-mapped images support 2013-01-20 22:35:03 +01:00
ftrvxmtrx 311a8ef076 totruecolor: support CRGBV images as input 2013-01-20 22:33:12 +01:00
ftrvxmtrx a89aca24b9 readtga: clean-up 2013-01-20 11:27:03 +01:00
stanley lieber 275b5e2fb3 rewrite.direct: rewrite aliases before delivering to local users to avoid re-sending the message 2013-01-18 21:47:49 -06:00
cinap_lenrek 8cafbf3184 audiohda: automatically pick inpin 2013-01-19 02:30:33 +01:00
cinap_lenrek 1f8313acc1 audio: add port/audioif.h dependencies to mkfile 2013-01-19 01:23:34 +01:00
cinap_lenrek e4875c1ae7 audiohda: first attempt on audio recording support for intel hda audio, distinguish mode in audio code 2013-01-19 01:12:39 +01:00
cinap_lenrek ece0b66739 merge 2013-01-18 13:14:50 +01:00
cinap_lenrek 6a0e85ad9c audioac97: audio recording 2013-01-18 13:12:41 +01:00
stanley lieber 509ff2e8fa fortunes: maybe i should ask at #cat-v 2013-01-17 07:59:04 -06:00
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