]> andersk Git - test.git/blame - shellinabox/shellinaboxd.man.in
Added a ${url} parameter that can be used in the service description
[test.git] / shellinabox / shellinaboxd.man.in
CommitLineData
7460295f
MG
1'\" t
2.\" shellinaboxd.man -- Make command line applications available as AJAX web applications
e0bb8a33 3.\" Copyright (C) 2008-2009 Markus Gutschke <markus@shellinabox.com>
7460295f
MG
4.\"
5.\" This program is free software; you can redistribute it and/or modify
6.\" it under the terms of the GNU General Public License version 2 as
7.\" published by the Free Software Foundation.
8.\"
9.\" This program is distributed in the hope that it will be useful,
10.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
11.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12.\" GNU General Public License for more details.
13.\"
14.\" You should have received a copy of the GNU General Public License along
15.\" with this program; if not, write to the Free Software Foundation, Inc.,
16.\" 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17.\"
18.\" In addition to these license terms, the author grants the following
19.\" additional rights:
20.\"
21.\" If you modify this program, or any covered work, by linking or
22.\" combining it with the OpenSSL project's OpenSSL library (or a
23.\" modified version of that library), containing parts covered by the
24.\" terms of the OpenSSL or SSLeay licenses, the author
25.\" grants you additional permission to convey the resulting work.
26.\" Corresponding Source for a non-source form of such a combination
27.\" shall include the source code for the parts of OpenSSL used as well
28.\" as that of the covered work.
29.\"
30.\" You may at your option choose to remove this additional permission from
31.\" the work, or from any part of it.
32.\"
33.\" It is possible to build this program in a way that it loads OpenSSL
34.\" libraries at run-time. If doing so, the following notices are required
35.\" by the OpenSSL and SSLeay licenses:
36.\"
37.\" This product includes software developed by the OpenSSL Project
38.\" for use in the OpenSSL Toolkit. (http://www.openssl.org/)
39.\"
40.\" This product includes cryptographic software written by Eric Young
41.\" (eay@cryptsoft.com)
42.\"
43.\"
44.\" The most up-to-date version of this program is always available from
45.\" http://shellinabox.com
46.\"
47.TH SHELLINABOXD 1 "Dec 25, 2008"
48.SH NAME
49shellinaboxd \- publish command line shell through AJAX interface
50.SH SYNOPSIS
51.TP
52.B shellinaboxd
53[\ \fB-b\fP\ | \fB--background\fP[\fB=\fP\fIpidfile\fP]\ ]
2809cd15 54#ifdef HAVE_OPENSSL
7460295f 55[\ \fB-c\fP\ | \fB--cert=\fP\fIcertdir\fP\ ]
2809cd15 56#endif
293c6c6b 57[\ \fB--cert-fd=\fP\fIfd\fP\ ]
1f771613 58[\ \fB--css=\fP\fIfilename\fP\ ]
d1edcc0e 59[\ \fB--cgi\fP[\fB=\fP\fIportrange\fP]\ ]
7460295f
MG
60[\ \fB-d\fP\ | \fB--debug\fP\ ]
61[\ \fB-f\fP\ | \fB--static-file=\fP\fIurl\fP:\fIfile\fP\ ]
62[\ \fB-g\fP\ | \fB--group=\fP\fIgid\fP\ ]
63[\ \fB-h\fP\ | \fB--help\fP\ ]
f0c6fd39 64[\ \fB--linkify\fP=[\fBnone\fP|\fBnormal\fP|\fBaggressive\fP]\ ]
5ba94b37 65[\ \fB--localhost-only\fP\ ]
46f2036a 66[\ \fB--no-beep\fP\ ]
7460295f
MG
67[\ \fB-n\fP\ | \fB--numeric\fP\ ]
68[\ \fB-p\fP\ | \fB--port=\fP\fIport\fP\ ]
69[\ \fB-s\fP\ | \fB--service=\fP\fIservice\fP\ ]
2809cd15 70#ifdef HAVE_OPENSSL
7460295f 71[\ \fB-t\fP\ | \fB--disable-ssl\fP\ ]
2809cd15 72#endif
b624088c 73[\ \fB--disable-ssl-menu\fP\ ]
7460295f 74[\ \fB-q\fP\ | \fB--quiet\fP\ ]
d9b6bc27 75[\ \fB-u\fP\ | \fB--user=\fP\fIuid\fP\ ]
7460295f
MG
76[\ \fB-v\fP\ | \fB--verbose\fP\ ]
77[\ \fB--version\fP\ ]
78.SH DESCRIPTION
79The
80.B shellinaboxd
81daemon implements a webserver that listens on the specified
82.IR port .
83The web server publishes one or more
84.I services
85that will be displayed in a VT100 emulator implemented as an AJAX web
86application. By default, the port is 4200 and the default service URL is
87.IR http://localhost:4200/ .
88.P
89If no particular
90.I service
91was requested, the server launches
92.B /bin/login
93querying the user for their username and password. It then starts the
94user's default login shell.
95.P
96Any modern JavaScript and CSS enabled browser will be able to access the
97published
98.I service
99without requiring additional plugins.
100.SH OPTIONS
101The following command line parameters control the operation of the daemon:
102.TP \w'\-b\ |\ 'u
103\fB-b\fP\ | \fB--background\fP[\fB=\fP\fIpidfile\fP]
104Launch
105.B shellinaboxd
106as a background daemon process. Optionally, write the process id to
107.IR pidfile .
2809cd15 108#ifdef HAVE_OPENSSL
7460295f 109.TP
d9b6bc27 110\fB-c\fP\ |\ \fB--cert=\fP\fIcertdir\fP
7460295f
MG
111If built with SSL/TLS support enabled, the daemon will look in
112.I certdir
113for any certificates. If unspecified, this defaults to the current
114working directory.
115
116If the browser negotiated a
117.B Server Name Identification
118the daemon will look for a matching
119.I certificate-\f[BI]SERVERNAME\fP.pem
120file. This allows for virtual hosting of multiple server names on the
121same IP address and port.
122
123If no
124.B SNI
125handshake took place, it falls back on using the certificate in the
126.I certificate.pem
127file.
128
129The administrator should make sure that there are matching
130certificates for each of the virtual hosts on this server, and that
131there is a generic
132.I certificate.pem
133file.
134
135If no suitable certificate is installed,
136.B shellinaboxd
137will attempt to invoke
138.B /usr/bin/openssl
139and create a new self-signed certificate. This only succeeds if, after
140dropping privileges,
141.B shell\%ina\%boxd
142has write permissions for
143.IR certdir .
144
145Most browsers show a warning message when encountering a self-signed
146certificate and then allow the user the option of accepting the
147certificate. Due to this usability problem, and due to the perceived
148security implications, the use of auto-generated self-signed
149certificates is intended for testing or in intranet deployments, only.
150.TP
dc6575f2
MG
151\fB--cert-fd=\fP\fIfd\fP
152Instead of providing a
153.B --cert
154directory, it is also possible to provide a filedescriptor
155.I fd
156where the certificate and key can be retrieved. While this option disables
157.B SNI
158support, it does offer an alternative solution for securely providing
159the private key data to the daemon.
2809cd15 160#endif
dc6575f2 161.TP
1f771613
MG
162\fB--css=\fP\fIfilename\fP
163Sometimes, it is not necessary to replace the entire style sheet using the
164.B --static-file
165option. But instead a small incremental change should be made to the visual
166appearance of the terminal. The
167.B --css
168option provides a means to append additional style rules to the end of
169the default
170.B styles.css
171sheet. More than one
172.B --css
173option can be given on the same command line.
174.TP
d1edcc0e
MG
175\fB--cgi\fP[\fB=\fP\fIportrange\fP]
176Instead of running
177.B shellinaboxd
178as a permanent process, it can be demand-loaded as a CGI web server
179extension. When doing so, it will spawn a server that lives for the
180duration of the user's session. If an optional
181.I portrange
182of the form
183.BR MINPORT-MAXPORT
184has been provided, the server limits itself to these port numbers. They
185should be configured to pass through the firewall.
186
187The
188.B --cgi
189option is mutually exclusive with the
190.B --background
191and
192.B --port
193options.
194
195In order to be useful as a CGI script, the
196.B shellinaboxd
197binary probably will have to be made
198.BR setuid-root .
199This is currently a discouraged configuration. Use with care.
200.TP
7460295f 201\fB-d\fP\ |\ \fB--debug\fP
d9b6bc27 202Enables debugging mode, resulting in lots of log messages on
7460295f
MG
203.IR stderr .
204This option is mutually exclusive with
205.B --quiet
206and
207.BR --verbose .
208.TP
209\fB-f\fP\ |\ \fB--static-file=\fP\fIurl\fP:\fIfile\fP
210The daemon serves various built-in resources from URLs underneath the
211.I service
212mount points. One or more
213.B --static-file
214options allow for overriding these resources with customized externally
215provided
216.IR files .
217The
218.I url
219can either be an absolute or a relative path. In the former case, it overrides
220exactly one built-in resource for one specific
221.IR service ,
222whereas in the latter case it overrides resources for each defined
223.IR service .
224
225The following resources are available for customization:
226.RS
227.TP \w'ShellInABox.js\ \ \ 'u
228.B beep.wav
229audio sample that gets played whenever the terminal BEL is sounded.
230.TP
231.B favicon.ico
232favicon image file that is displayed in the browser's navigation bar.
233.TP
234.B ShellInABox.js
235JavaScript file implementing the AJAX terminal emulator.
236.TP
237.B styles.css
238CSS style file that controls the visual appearance of the terminal.
239.P
240It is not recommended to override the root HTML page for a particular
241.IR service .
242Instead, move the service to an anonymous URL and serve a
243.I static-file
244that references the
245.I service
246in an
247.IR <iframe> .
248
249Instead of a
250.IR file ,
251it is possible to provide the name of a directory. This turns
252.B shellinaboxd
253into a simple web server that publishes all of the files in that
254particular directory. This option can be helpful when publishing a more
255complex root HTML page.
256.RE
257.TP
258\fB-g\fP\ |\ \fB--group=\fP\fIgid\fP
259When started as
260.BR root ,
261the server drops most privileges at start up. Unless overridden by the
262.B --group
263option, it switches to
264.BR nogroup .
265
d1edcc0e
MG
266When already running as an unprivileged user, group changes are not
267possible.
7460295f
MG
268
269If running with SSL/TLS support enabled, the certificates must be
270accessible to the unprivileged user and/or group that the daemon
271runs as.
272.TP
273\fB-h\fP\ |\ \fB--help\fP
274Display a brief usage message showing the valid command line parameters.
275.TP
f0c6fd39
MG
276\fB--linkify\fP=[\fBnone\fP|\fBnormal\fP|\fBaggressive\fP]
277the daemon attempts to recognize URLs in the terminal output and makes them
278clickable. This is not neccessarily a fool-proof process and both false
279negatives and false positives are possible. By default, only URLs starting
280with a well known protocol of
281.BR http:// ,\ https:// ,\ ftp:// ,\ or\ mailto:
282are recognized. In
283.B aggressive
284mode, anything that looks like a hostname, URL or e-mail address is
285recognized, even if not preceded by a protocol.
286.TP
5ba94b37
MG
287\fB--localhost-only\fP
288Normally,
289.B shellinaboxd
290listens on all available network interfaces. When operating behind a
291reverse-proxy that is not always desirable. This command line option
292tells the daemon to only listen on the loopback interface.
293.TP
46f2036a
MG
294\fB--no-beep\fP
295not only are audible signals undesired in some working environments, but
296browser support for media playback is often buggy, too. Setting this option
297suppresses all audio playback and enables the visual bell by default.
298.TP
7460295f
MG
299\fB-n\fP\ |\ \fB--numeric\fP
300When running in
301.B --verbose
302mode, the daemon prints an
303.IR Apache -style
304log file to
305.IR stderr .
306By default, host names of peers get resolved
307before logging them. As DNS look-ups can be expensive, it is possible
308to request logging of numeric IP addresses, instead.
309.TP
310\fB-p\fP\ |\ \fB--port=\fP\fIport\fP
311Unless overridden by this option, the web server listens on port 4200
312for incoming HTTP and HTTPS requests.
313
314.B shellinaboxd
315can distinguish between SSL/TLS requests and unencrypted requests. It
316also knows how to negotiate
317.B Server Name
318.BR Identification ,
319allowing the use of a single port for all types of requests even when
320virtual hosting.
321.TP
322\fB-s\fP\ |\ \fB--service=\fP\fIservice\fP
323One or more services can be registered on different URL paths:
324.in +4
2809cd15 325\fISERVICE\fP := <url-path> ':' \fIAPPLICATION\fP
7460295f 326.in
2809cd15
MG
327
328There is a pre-defined \fIapplication\fP, 'LOGIN', which causes the
7460295f
MG
329daemon to invoke
330.B /bin/login
2809cd15
MG
331requesting the user's name and password, and starting his
332login shell. This is the default option for the
333.B root
334user, if no
7460295f
MG
335.B --service
336was defined. Starting
337.B /bin/login
338requires
339.B root
340privileges.
341
2809cd15
MG
342There is another pre-defined \fIapplication\fP, 'SSH'. Instead of invoking
343.BR /bin/login ,
344it calls
345.BR ssh .
346This is the default option for unprivileged users, if no
347.B --service
348was defined. This operation is available to both privileged and regular
349users. If the optional \fIhost\fP parameter is omitted,
350.B shellinaboxd
351connects to
352.BR localhost .
353
7460295f
MG
354Alternatively, an \fIapplication\fP can be specified by providing a
355\fIuser\fP description, a working directory, and a command line:
356.in +4
2809cd15 357\fIAPPLICATION\fP := 'LOGIN' | 'SSH' [ ':' <host> ] | \fIUSER\fP ':' \fICWD\fP ':' <cmdline>
7460295f 358
bf1ec4d2
MG
359#ifdef HAVE_PAM
360.in
7460295f
MG
361The keyword 'AUTH' indicates that the \fIuser\fP information should
362be requested interactively, instead of being provided as part of the
363\fIservice\fP description:
364.in +4
bf1ec4d2 365#endif
bf1ec4d2 366#ifdef HAVE_PAM
2809cd15
MG
367\fIUSER\fP := 'AUTH' |
368#endif
369#ifndef HAVE_PAM
370\fIUSER\fP :=
bf1ec4d2
MG
371#endif
372<username> ':' <groupname>
7460295f
MG
373.in
374
375The working directory can either be given as an absolute path, or it
376can be the user's home directory:
377.in +4
378\fICWD\fP := 'HOME' : <dir>
379.in
380
381The <cmdline> supports expansion of variables of the form ${VAR}.
382Supported variables are:
383.RS
384.TP \w'${columns}\ \ 'u
385.B ${columns}
386number of columns.
387.TP
388.B ${gid}
389numeric group id.
390.TP
391.B ${group}
392group name.
393.TP
394.B ${home}
395home directory.
396.TP
397.B ${lines}
398number of rows.
399.TP
400.B ${peer}
401name of remote peer.
402.TP
403.B ${uid}
404numeric user id.
405.TP
1ef7f27f
MG
406.B ${url}
407the URL that serves the terminal session.
408.TP
7460295f
MG
409.B ${user}
410user name.
411.P
412Other than the default environment variables of
413.BR $TERM ,
414.B $COLUMNS
415and
416.BR $LINES ,
417services can have environment variables passed to them, by preceding
418the <cmdline> with space separated variable assignments of the form
419.IR KEY = VALUE .
420
421The <cmdline> supports single and double quotes, as well as
422backslashes for escaping characters in the familiar fashion.
423
424Please note that when invoking
425.B shellinaboxd
426from a command line shell, additional quoting might be required to
427prevent the shell from expanding the variables prior to passing them
428to the daemon.
429
430If no explicit
431.B --service
432has been requested,
433.B shellinaboxd
2809cd15
MG
434defaults to attaching the default service to the root directory of the web
435server. For
436.BR root ,
437this is
438.BR /bin/login ,
439and for unprivileged users, this is \fBssh localhost\fP. This is equivalent
440to saying
441.BR --service=/:LOGIN ,
442or
443.BR --service=/:SSH ,
444respectively.
7460295f 445.RE
2809cd15 446#ifdef HAVE_OPENSSL
7460295f
MG
447.TP
448\fB-t\fP\ |\ \fB--disable-ssl\fP
449By default,
450.B shellinaboxd
451redirectes all incoming HTTP requests to their equivalent HTTPS
452URLs. If promoting of connections to encrypted SSL/TLS sessions is
453undesired, this behavior can be disabled.
454
455This option is also useful during testing or for deployment in trusted
456intranets, if SSL certificates are unavailable.
2809cd15 457#endif
7460295f 458.TP
b624088c
MG
459\fB--disable-ssl-menu\fP
460If the user should not be able to switch between HTTP and HTTPS modes, this
461choice can be removed from the context menu. The user can still make this
462choice by directly going to the appropriate URL.
463.TP
7460295f
MG
464\fB-q\fP\ |\ \fB--quiet\fP
465Surpresses all messages to
d9b6bc27 466.IR stderr .
7460295f
MG
467This option is mutually exclusive with
468.B --debug
469and
470.BR --verbose .
471.TP
472\fB-u\fP\ |\ \fB--user=\fP\fIuid\fP
473If started as
474.BR root ,
475the server drops privileges by changing to
476.BR nobody ,
477unless the
478.I uid
479has been overridden by this option.
480
481For more details, refer to the description of the
482.B --group
483option.
484.TP
485\fB-v\fP\ |\ \fB--verbose\fP
486Enables logging of
487.IR Apache -style
488log file to
489.IR stderr .
490This option is mutually exclusive with
491.B --debug
492and
493.BR --quiet .
494.TP
495\fB--version\fP
496Prints the version number of the binary and exits.
497.SH CONFIGURATION
498There are no configuration files or permanent settings for
499.BR shell\%ina\%boxd .
500A small number of run-time configuration options are available from a
501context menu that becomes available when clicking the right mouse button.
502.SH EXAMPLES
503.TP \w'shellinaboxd\ 'u
3fa8757a
MG
504.B shellinaboxd
505Attaches a web-enabled login shell to
506.IR https://localhost:4200/ .
507If the user connected without SSL, the session will automatically be promoted.
508Unless SSL certificates can be found in the current directory, the daemon will
509automatically generate suitable self-signed certificates. If the command was
510invoked by a non-\fBroot\fP user, the daemon uses
511.B ssh
512instead of
513.B /bin/login
514for the session.
515.TP
7460295f
MG
516.B shellinaboxd -t
517Attaches a web-enabled login shell to
518.I http://localhost:4200/
3fa8757a 519with SSL/TLS support disabled.
7460295f
MG
520.TP
521.B shellinaboxd -t -f beep.wav:/dev/null
522Runs all services with the audible-bell permanently disabled.
523.TP
847f875d
MG
524.B shellinaboxd -s /:SSH:example.org
525The terminal connects to a
526.B ssh
527session on
528.IR example.org .
529.TP
7460295f
MG
530.B shellinaboxd -t -s /:AUTH:HOME:/bin/bash
531Interactively request the user's name and password prior to launching
532a Bourne shell. This command can be run by unprivileged users. But if
533doing so, it only allows this particular user to log in.
534.TP
65f7545e 535.B shellinaboxd -c certificates -u shellinabox -g shellinabox
7460295f
MG
536If the
537.B certificates
538directory exists and is writable by the
65f7545e
MG
539.B shellinabox
540user and group, self-signed SSL certificates will be generated in this
541directory. This might require creating an appropriately named user first.
542Running this command as
7460295f
MG
543.B root
544allows any user on the system to log in at
545.BR http://localhost:4200/ .
546Sessions will automatically be promoted to SSL/TLS.
547.TP
548.B shellinaboxd -t -s /:LOGIN -s /who:nobody:nogroup:/:w
549In addition to the login shell at
550.IR http://localhost:4200 ,
551show a list of currently logged in users when accessing
552.IR http://localhost:4200/who .
553This command must be run as
554.B root
555in order to be able to change to
556.B nobody:nogroup
557as requested by the service description.
558.TP
559.B shellinaboxd -t -s '/:root:root:/:wy60 -c /bin/login'
560Instead of the standard
561.B ANSI/VT100
562terminal, publish a
563.B Wyse 60\*(Tm
564terminal. Again, this command should be run as
565.BR root .
1f771613
MG
566.TP
567#ifndef DPKGBUILD
568.B shellinaboxd --css white-on-black.css
569#endif
570#ifdef DPKGBUILD
571.B shellinaboxd --css /usr/share/doc/shellinabox/white-on-black.css
572#endif
573Loads the
574.B white-on-black.css
575style sheet
576#ifndef DPKGBUILD
577from the current directory
578#endif
579and appends it to the built-in
580.B styles.css
581sheet. This causes the terminal to render white text on a black background.
7460295f
MG
582.P
583.SH DIAGNOSTICS
584The daemon returns a non-zero exit code in case of failure. With the
585exception of a small number of common error cases that are handled
586explicitly, most errors result in printing a
587.I \(dqCheck failed\(dq
588message. This does not typically indicate a bug in the program but is
589instead its normal way of reporting errors.
590
591Common failure conditions are reusing a port that is already in use,
592lack of sufficient privileges to run a service, failure to find
593SSL/TLS certificates, and failure to write newly generated
594certificates to the certification directory.
1f771613
MG
595#ifdef DPKGBUILD
596.SH FILES
597.TP 10
598.I /etc/default/shellinabox
599The system-wide installation of
600.B shellinaboxd
601can be configured by editing this file. After making any changes, restart
602the daemon with \fBsudo service shellinabox restart\fP.
603.TP
604.I /etc/init.d/shellinabox
605This is the system-wide service definition. Usually, there is no need to
606edit this file.
607.TP
608.I /var/lib/shellinabox
609This directory contains the certificate files that
610.B shellinaboxd
611uses when serving encrypted SSL sessions. If suitable files do not exist, yet,
612it tries to populate the directory with self-signed certificates the first
613time a particular certificate is needed. Over time, it should contain
614\fBcertificate.pem\fP, \fBcertificate-localhost.pem\fP, and
615\fBcertificate-\fP\fIHOSTNAME\fP\fB.pem\fP.
616.TP
617.I /var/run/shellinaboxd.pid
618This file is created any time the system-wide service gets started.
619#endif
7460295f
MG
620.SH "SEE ALSO"
621.BR chmod (1),
622.BR last (1),
623.BR login (1),
624.BR sh (1),
625.BR shells (5),
626.BR openssl (1SSL),
627.BR w (1),
628.BR wy60 (1),
629.BR xterm (1).
630.SH SECURITY
631The daemon uses privilege separation techniques to allow it to drop
632privileges early. It is aware of setuid flags and restricts some
633operations when launched as a setuid application.
634
635Despite these safety features, a bug could conceivably lead to a
636determined attacker gaining elevated privileges. It is therefore
637strongly discouraged to set the setuid flag on the binary.
638
639The expected deployment would be from a system
640.I rc
641script launched by
642.BR /sbin/init .
643For extra security, the
644.B --group
645and
646.B --user
647options should be used to change to a dedicated user.
648.SH AUTHOR
e0bb8a33 649Copyright (C) 2008-2009 by Markus Gutschke
7460295f
MG
650.RI < "markus@shellinabox.com" >.
651.P
652This program is free software; you can redistribute it and/or modify
653it under the terms of the GNU General Public License version 2 as
654published by the Free Software Foundation.
655.P
656This program is distributed in the hope that it will be useful,
657but WITHOUT ANY WARRANTY; without even the implied warranty of
658MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
659GNU General Public License for more details.
660.P
661You should have received a copy of the GNU General Public License
662along with this program; if not, write to the Free Software
663Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
664USA
665.P
666In addition to these license terms, the author grants the following
667additional rights:
668.P
669If you modify this program, or any covered work, by linking or
670combining it with the OpenSSL project's OpenSSL library (or a
671modified version of that library), containing parts covered by the
672terms of the OpenSSL or SSLeay licenses, the author
673grants you additional permission to convey the resulting work.
674Corresponding Source for a non-source form of such a combination
675shall include the source code for the parts of OpenSSL used as well
676as that of the covered work.
677.P
678You may at your option choose to remove this additional permission from
679the work, or from any part of it.
680.P
681If you would like to negotiate different licensing terms that are
682compatible for integration with other projects, please contact the
683author.
684#ifdef HAVE_OPENSSL
685.P
686If the OpenSSL
687system libraries can be found at run-time, they will be invoked by
688.B shellinaboxd
689to provide SSL/TLS support. The OpenSSL and SSLeay
690licenses require the following notices:
691.P
692This product includes software developed by the OpenSSL Project
693for use in the OpenSSL Toolkit. (http://www.openssl.org/)
694.P
695This product includes cryptographic software written by Eric Young
696(eay@cryptsoft.com)
697#endif
698.SH BUGS
699Due to browser limitations, some features might not be available to
700users of all browers.
701.P
702Konqueror does not allow for reliable interception of
703.I CTRL
704keys. If you press a key together with the
705.I CTRL
706modifier, it continues performing the browser's predefined behavior for
707this particular key combination. In most cases, it also fails to report
708the correct key to the terminal emulator. As a work-around, pressing
709both the
710.I CTRL
711and the
712.I WINDOWS
713key sometimes works.
714.P
715Some browsers, most notably IE on Windows, disallow interception of
716.I ALT
717keys and always interpret these keys as menu accelerators. As a
718work-around, many UNIX applications allow pressing
719.IR ESC ,
720instead of
721.IR ALT .
722.P
723When using non-US keyboard layouts, some browser do not allow for
724reliably determining shifted
725.I ALT
726keys. Please report these cases if they turn out to be a problem, as
727work-arounds might be possible.
728.P
729Access to the native clipboard is typically not possible. Instead, an
730internal clipboard accessible from the right-button context menu is used
731for all but IE.
732.P
733Some browsers restrict the number of concurrent connections to a
734server. This restricts how many AJAX terminals can be opened
735simultaneously. If this becomes a problem, users can typically
736reconfigure their browsers to raise the limit.
46f2036a
MG
737.P
738There have been reports of the VLC plugin on Linux/x86_64 crashing Firefox
739when the browser page gets reloaded. Setting the
740.B --no-beep
741option eliminates all references to VLC and thus appears to work around
742this crash.
This page took 0.145839 seconds and 5 git commands to generate.