previously ircrc dialed through /net itself and resolved ips on its own. this prevented the use of an ip address, and also prevented use of ipv6. now you can use an ip, or a dns name that resolves to ipv6. the -T flag is also added to use tlsclient for encrypted connections.
previously, we setup mouse only when vgasize= was specifid in
plan9.ini. with efi systems, the framebuffer is already setup
for us and theres no requirement for going thru aux/vga setup,
but we still want to setup the mouse.
so do the mouseport= check once theres a framebuffer by testing
the existence of '#i/winname' (which fails when thers no
framebuffer).
we used to look for /^Plan 9$/ for the start of kernel
boot messages in /dev/kmesg. but the xen kernel prints
Plan 9 (.....) on boot. so just look for line starting
with /^Plan 9/ for now.
instead of naming devices by ther dynamically assigned device address,
we hash device uniqueue fields from the device descriptor and produce
a 5 digit hex string that will identify the device across machines.
when there is a collision (less than 1% chance with 100 devices),
usbd will append the device address to the name to make it uniqueue
for this machine.
the hname is passed to drivers in the devid argument, which now has
the form addr:hname, where the colon and hname can be omited (for backwards
compatibility).
when the new behaviour isnt desired, nousbhname= environment variable
can be defined giving the old behaviour.
problems that need to be addressed:
- reads in the whole /proc every second for no reason
- breaks when http server doesnt include Content-Length header
- length is wrong for continued download (-o option)
with window -m, properly remove the old wsys from /dev before
binding new window to it, so the original window wont leak
into the new namespace.
do not pass -pid when $wsys does not refer to a local running rio.
cleanup environment before running sub-process.
set window label consistentently no matter if -m is used or not.