x11vnc: fix event leaks, build-time customizations, -nolookup

pull/1/head
runge 20 years ago
parent 1ce9418622
commit dfe5981ce9

@ -1,3 +1,6 @@
2005-03-29 Karl Runge <runge@karlrunge.com>
* x11vnc: fix event leaks, build-time customizations, -nolookup
2005-03-19 Karl Runge <runge@karlrunge.com> 2005-03-19 Karl Runge <runge@karlrunge.com>
* x11vnc: scale cursors by default, -scale_cursor to tune, * x11vnc: scale cursors by default, -scale_cursor to tune,
-arrow n, -norepeat n, speed up integer magnification. -arrow n, -norepeat n, speed up integer magnification.

@ -1,3 +1,11 @@
2005-03-29 Karl Runge <runge@karlrunge.com>
* build-time customizations X11VNC_SHARED, X11VNC_FOREVER,
REMOTE_CONTROL, SMALL_FOOTPRINT for CPPFLAGS
* fix event leaks for xkb BellNotify and ClientMessage and others,
esp. under -nofb. make nofb work with remote control.
* -nolookup for bad DNS setups.
* more playing with pointer_mode: check_user_input3()
2005-03-19 Karl Runge <runge@karlrunge.com> 2005-03-19 Karl Runge <runge@karlrunge.com>
* scale cursors along with display. Use -scale_cursor to change * scale cursors along with display. Use -scale_cursor to change
or disable cursor scaling. or disable cursor scaling.

File diff suppressed because it is too large Load Diff

@ -167,6 +167,7 @@ Misc
=D nobell =D nobell
=D nosel =D nosel
noprimary noprimary
nolookup
-- --
bg bg
=-C:ignore,exit sigpipe: =-C:ignore,exit sigpipe:

@ -173,6 +173,7 @@
" =D nobell\n" " =D nobell\n"
" =D nosel\n" " =D nosel\n"
" noprimary\n" " noprimary\n"
" nolookup\n"
" --\n" " --\n"
" bg\n" " bg\n"
" =-C:ignore,exit sigpipe:\n" " =-C:ignore,exit sigpipe:\n"

@ -2,7 +2,7 @@
.TH X11VNC "1" "March 2005" "x11vnc " "User Commands" .TH X11VNC "1" "March 2005" "x11vnc " "User Commands"
.SH NAME .SH NAME
x11vnc - allow VNC connections to real X11 displays x11vnc - allow VNC connections to real X11 displays
version: 0.7.2pre, lastmod: 2005-03-19 version: 0.7.2pre, lastmod: 2005-03-29
.SH SYNOPSIS .SH SYNOPSIS
.B x11vnc .B x11vnc
[OPTION]... [OPTION]...
@ -168,7 +168,7 @@ image may not be sharp and response may be slower.
If \fIfraction\fR contains a decimal point "." it If \fIfraction\fR contains a decimal point "." it
is taken as a floating point number, alternatively is taken as a floating point number, alternatively
the notation "m/n" may be used to denote fractions the notation "m/n" may be used to denote fractions
exactly, e.g. \fB-scale\fR 2/3. exactly, e.g. \fB-scale\fR 2/3
.IP .IP
Scaling Options: can be added after \fIfraction\fR via Scaling Options: can be added after \fIfraction\fR via
":", to supply multiple ":" options use commas. ":", to supply multiple ":" options use commas.
@ -281,6 +281,13 @@ you may need to manually adjust the \fB-allow\fR list (and
vice versa) to avoid situations where no connections vice versa) to avoid situations where no connections
(or too many) are allowed. (or too many) are allowed.
.PP .PP
\fB-nolookup\fR
.IP
Do not use gethostbyname() or gethostbyaddr() to look up
host names or IP numbers. Use this if name resolution
is incorrectly set up and leads to long pauses as name
lookup times out, etc.
.PP
\fB-input\fR \fIstring\fR \fB-input\fR \fIstring\fR
.IP .IP
Fine tuning of allowed user input. If \fIstring\fR does Fine tuning of allowed user input. If \fIstring\fR does
@ -918,7 +925,7 @@ screen changes: everything will bog down when dragging
or scrolling. So a scheme has to be used to "eat" or scrolling. So a scheme has to be used to "eat"
much of that pointer input before re-polling the screen much of that pointer input before re-polling the screen
and sending out framebuffer updates. The mode number and sending out framebuffer updates. The mode number
\fIn\fR can be 0 to 4 and selects one of the schemes \fIn\fR can be 0 to 5 and selects one of the schemes
desribed below. desribed below.
.IP .IP
n=0: does the same as \fB-nodragging.\fR (all screen polling n=0: does the same as \fB-nodragging.\fR (all screen polling
@ -931,19 +938,24 @@ events before repolling the screen.
n=2 is an improved scheme: by watching the current rate n=2 is an improved scheme: by watching the current rate
of input events it tries to detect if it should try to of input events it tries to detect if it should try to
"eat" additional pointer events before continuing. "eat" additional pointer events before continuing.
This mode was the default until Apr 2005.
.IP .IP
n=3 is basically a dynamic \fB-nodragging\fR mode: it detects n=3 is basically the same as n=2 except with slightly
tweaked parameters. We made this a new one so one
could use \fB-pm\fR 2 for the old behavior.
.IP
n=4 is basically a dynamic \fB-nodragging\fR mode: it detects
when the mouse motion has paused and then refreshes when the mouse motion has paused and then refreshes
the display. the display.
.IP .IP
n=4: attempts to measures network rates and latency, n=5 attempts to measures network rates and latency,
the video card read rate, and how many tiles have been the video card read rate, and how many tiles have been
changed on the screen. From this, it aggressively tries changed on the screen. From this, it aggressively tries
to push screen "frames" when it decides it has enough to push screen "frames" when it decides it has enough
resources to do so. NOT FINISHED. resources to do so. NOT FINISHED.
.IP .IP
The default n is 2. Note that modes 2, 3, 4 will skip The default n is 3. Note that modes 2, 3, 4, 5 will
\fB-input_skip\fR keyboard events (but it will not count skip \fB-input_skip\fR keyboard events (but it will not count
pointer events). Also note that these modes are not pointer events). Also note that these modes are not
available in \fB-threads\fR mode which has its own pointer available in \fB-threads\fR mode which has its own pointer
event handling mechanism. event handling mechanism.
@ -973,13 +985,15 @@ milliseconds, respectively. If a value is left blank,
e.g. "\fB-speeds\fR \fI,100,15\fR", then the internal scheme is e.g. "\fB-speeds\fR \fI,100,15\fR", then the internal scheme is
used to estimate the empty value(s). used to estimate the empty value(s).
.IP .IP
Note: use this option is currently NOT FINISHED.
.IP
Typical PC video cards have read rates of 5-10 MB/sec. Typical PC video cards have read rates of 5-10 MB/sec.
If the framebuffer is in main memory instead of video If the framebuffer is in main memory instead of video
h/w (e.g. SunRay, shadowfb, Xvfb), the read rate may h/w (e.g. SunRay, shadowfb, Xvfb), the read rate may
be much faster. "x11perf \fB-getimage500"\fR can be used be much faster. "x11perf \fB-getimage500"\fR can be used
to get a lower bound (remember to factor in the bytes to get a lower bound (remember to factor in the bytes
per pixel). It is up to you to estimate the network per pixel). It is up to you to estimate the network
bandwith to clients. For the latency the bandwith and latency to clients. For the latency the
.IR ping (1) .IR ping (1)
command can be used. command can be used.
.IP .IP
@ -1272,8 +1286,8 @@ disconnect:host disconnect any clients from "host"
same as "close:host". Use host same as "close:host". Use host
"all" to close all current clients. "all" to close all current clients.
If you know the client internal hex ID, If you know the client internal hex ID,
e.g. 0x3 (returned by \fB-query\fR clients and e.g. 0x3 (returned by "\fB-query\fR \fIclients\fR"
RFB_CLIENT_ID), you can use that too. and RFB_CLIENT_ID) you can use that too.
.IP .IP
allowonce:host For the next connection only, allow allowonce:host For the next connection only, allow
connection from "host". connection from "host".
@ -1290,6 +1304,10 @@ nolocalhost disable \fB-localhost\fR mode
.IP .IP
listen:str set \fB-listen\fR to str, empty to disable. listen:str set \fB-listen\fR to str, empty to disable.
.IP .IP
nolookup enable \fB-nolookup\fR mode.
.IP
lookup disable \fB-nolookup\fR mode.
.IP
input:str set \fB-input\fR to "str", empty to disable. input:str set \fB-input\fR to "str", empty to disable.
.IP .IP
client_input:str set the K, M, B \fB-input\fR on a per-client client_input:str set the K, M, B \fB-input\fR on a per-client
@ -1581,9 +1599,9 @@ overlay nooverlay overlay_cursor overlay_yescursor
nooverlay_nocursor nooverlay_cursor nooverlay_yescursor nooverlay_nocursor nooverlay_cursor nooverlay_yescursor
overlay_nocursor visual scale scale_cursor viewonly overlay_nocursor visual scale scale_cursor viewonly
noviewonly shared noshared forever noforever once noviewonly shared noshared forever noforever once
timeout deny lock nodeny unlock connect allowonce timeout deny lock nodeny unlock connect allowonce allow
allow localhost nolocalhost listen accept gone localhost nolocalhost listen lookup nolookup accept
shm noshm flipbyteorder noflipbyteorder onetile gone shm noshm flipbyteorder noflipbyteorder onetile
noonetile solid_color solid nosolid blackout xinerama noonetile solid_color solid nosolid blackout xinerama
noxinerama xrandr noxrandr xrandr_mode padgeom quiet noxinerama xrandr noxrandr xrandr_mode padgeom quiet
q noquiet modtweak nomodtweak xkb noxkb skip_keycodes q noquiet modtweak nomodtweak xkb noxkb skip_keycodes
@ -1621,10 +1639,10 @@ cdpy_x cdpy_y coff_x coff_y rfbauth passwd
By default \fB-remote\fR commands are run asynchronously, that By default \fB-remote\fR commands are run asynchronously, that
is, the request is posted and the program immediately is, the request is posted and the program immediately
exits. Use \fB-sync\fR to have the program wait for an exits. Use \fB-sync\fR to have the program wait for an
acknowledgement from the x11vnc server that command acknowledgement from the x11vnc server that command was
was processed. On the other hand \fB-query\fR requests are processed (somehow). On the other hand \fB-query\fR requests
always processed synchronously because they have wait are always processed synchronously because they have
for the result. to wait for the result.
.IP .IP
Also note that if both \fB-remote\fR and \fB-query\fR requests are Also note that if both \fB-remote\fR and \fB-query\fR requests are
supplied on the command line, the \fB-remote\fR is processed supplied on the command line, the \fB-remote\fR is processed
@ -1642,19 +1660,21 @@ taken place.
Do not process any remote control commands or queries. Do not process any remote control commands or queries.
.IP .IP
A note about security wrt remote control commands. A note about security wrt remote control commands.
If someone can connect to the X display and change the If someone can connect to the X display and change
property VNC_CONNECT, then they can remotely control the property VNC_CONNECT, then they can remotely
x11vnc. Normally access to the X display is protected. control x11vnc. Normally access to the X display is
Note that if they can modify VNC_CONNECT, they could protected. Note that if they can modify VNC_CONNECT
also run their own x11vnc and have complete control on the X server, they have enough permissions to also
run their own x11vnc and thus have complete control
of the desktop. If the "\fB-connect\fR \fI/path/to/file\fR" of the desktop. If the "\fB-connect\fR \fI/path/to/file\fR"
channel is being used, obviously anyone who can channel is being used, obviously anyone who can write
write to /path/to/file can remotely control x11vnc. to /path/to/file can remotely control x11vnc. So be
So be sure to protect the X display and that file's sure to protect the X display and that file's write
write permissions. permissions.
.IP .IP
To disable the VNC_CONNECT property channel completely If you are paranoid and do not think \fB-noremote\fR is
use \fB-novncconnect.\fR enough, to disable the VNC_CONNECT property channel
completely use \fB-novncconnect.\fR
.PP .PP
\fB-unsafe\fR \fB-unsafe\fR
.IP .IP

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save