.TH DOS 1 .SH NAME dos \- command line access to Microsoft Windows™ servers .SH SYNOPSIS .B dos [ .B -h .I host ] [ .B -u .I user ] [ .B -k .I keypattern ] [ .B -c .I cmd args ... ] .SH DESCRIPTION .I Dos connects to a Windows host and starts a session to .I cmd.exe on .IR host , or the machine named in the .B $dos environment variable if no .IR host is specified. .LP The user name and authentication domain is usually picked up from factotum(4), the entry is selected based on the default domain of the remote host. An alternative userid may be specified with .BR -u . Userids have the form .B user@authdom where .I authdom is the windows authentication domain. .PP If a .B -c is present, the remainder of the command line is executed by .I cmd.exe on the server, and then .I dos exits. .LP The remote shell's initial working directory is set to the current directory when .I dos was envoked, translated by mappings described in the revelant .IR dosmap (6) configuration file. .IR Rio(1) 's /dev/wdir is kept in sync with directory changes on the remote server providing (where possible) the correct context for .I plumber(4) and .IR rio(1) 's filename completion. .LP On connection the users .I "Roving Profile" and user specific environment are loaded, vestigial network mounts left over from any user logged into the GUI are deleted and replaced with shares defined in the .I dosmap(6) files. .PP Interrupts are passed to the Windows environment, the interrupt generates a .I Ctrl-C event, the seccond sequential press generates a .IR Ctrl-Break , and the third time terminates the remote process, ending the .I dos(1) session. .SH FILES c:\\listen\\listen.exe .br c:\\listen\\tcp9999.exe .br c:\\listen\\dosmap .br $home/lib/dosmap/ .SH SOURCE .B /sys/src/cmd/dos.c .br .B /sys/src/cmd/win386/dosd.c .br .B /sys/src/cmd/win386/listen/* .SH SEE ALSO .I dosmap (6) .SH BUGS The remote shell's standard input, output and error are attached to the .I DOS commands file descriptors rather /dev/cons. .LP The network link is not encrypted, thus all usernames and passwords are vunerable to sniffing, this is only due to the authers inability to configure openssl on windows. .LP Monitoring the current directory by (parsing the windows prompt) is horrific. .LP The .I Dos client should be replaced by .IR cpu (1), with an additional .BR tlspass authentication mechnism. .I Dosd.exe should be replaced by .I cpud.exe a 9p client which opens /mnt/term/dev/cons for console I/O, /mnt/term/dev/cpunote for interrupts, /mnt/term/dev/wdir to keep the plan9 working directory synchronised with windows directory changes, and /mnt/term/usr/$user/lib/dosmap to discover shared drive mappings.