2009-12-24 Karl Runge * x11vnc: prepare_x11vnc_dist.sh for 0.9.10. -xdummy_xvfb, -svc_xdummy_xvfb and -create_x shorthand. lxde session. Xdummy improvements and root no longer required. 2009-12-21 Karl Runge * x11vnc: -DENC_HAVE_OPENSSL=0 to disable enc.h but still have ssl. Tweak ps command in find_display. Try to handle AIX su. Ignore an initial newline at login: for -unixpw. 2009-12-18 Karl Runge * x11vnc: fix keycode and other remote control actions under DIRECT: with an extra XFlush and other safety measures. fflush(stderr) much in su_verify. Make the -unixpw env. vars UNIXPW_DISABLE_SSL and UNIXPW_DISABLE_LOCALHOST work correctly. Make -loopbg actually imply -bg. Add tag=... to unixpw opts to set FD_TAG. Prefer Xvfb over Xdummy. Reduce wait time for https. Add 'Login succeeded' output to unixpw panel. 2009-12-15 Karl Runge * x11vnc: X11VNC_REMOTE, X11VNC_TICKER, and VNC_CONNECT properties names can be changed via env. vars (e.g. for multiple x11vnc instances.) The -quiet option documented better. Add fakebuttonevent remote control action. Improve child test for connecting to port 113. Add connect_switch and ultravnc_repeater.pl to CVS. Report X server number of mouse buttons. Change find_display script to check for stale pids in /tmp/.XNN-lock. If root under find_display, try FD_XDM if previous failed to find auth. Print error reasons for -storepasswd failures. 2009-12-06 Karl Runge * x11vnc: findauth/-auth guess works with FD_XDM=1 for root finding dm's xauthority. Work around for GDM's recent 'xhost SI:localuser:root' usage. X11VNC_REOPEN_SLEEP_MAX for longer lived -reopen-ing. X11VNC_EXTRA_HTTPS_PARAMS for additional URL parameters, X11VNC_HTTP_LISTEN_LOCALHOST=1 to force libvncserver http to listen on localhost. 2009-12-04 Karl Runge * classes/ssl: update binaries; new signing key; ss_vncviewer. * x11vnc: add more wish possibilities for -gui. Declare crypt() on all platforms (disable with -DDO_NOT_DECLARE_CRYPT.) 2009-12-02 Karl Runge * x11vnc: -appshare mode for sharing an application windows of the entire desktop. map port + 5500 in reverse connect. Add id_cmd remote control functions for id (and other) windows. Allow zero port in SSL reverse connections. Adjust delays between multiple reverse connections; X11VNC_REVERSE_SLEEP_MAX env var. Add some missing mutex locks; add INPUT_LOCK and threads_drop_input. More safety in -threads mode for new framebuffer change. Fix some stderr leaking in -inetd mode. 2009-11-18 Karl Runge * x11vnc: use -timeout setting for reverse connections too. Delay calling xfixes at the beginning of 1st connection to avoid display manager Xorg server crash. Delay selwin creation at the begin 1st connection to avoid being killed by display manager. Options -findauth and '-auth guess'. Export icon_mode query. Do not open X display in -rawfb mode unless asked. Bugfix for -sid/-id handling window offscreen or bigger than display. Search for windows with _DBUS_SESSION_BUS_PID to decide which dbus_launch is ours. Fix missing displays in FIND_DISPLAY script. Add X11VNC_SKIP_DISPLAY_NEGATE. Improvements to 'x11vnc Properties' gui dialog and connecting with x11vnc via socket (client list.) X11VNC_SYSTEM_GREETER1 for previous text font size. Fix bug with unixpw and vencrypt plain login. Have fast fb read rate keep waitms and defer the same. More heuristics to check try if GDM is still running (window names gdm-*) 2009-10-17 Karl Runge * x11vnc: support for -solid option in xfce desktop. List -Q guess_dbus query. Implement -showrfbauth option. Workaround for inane X_ShmAttach incompatibility in Xorg. 2009-10-08 Karl Runge * x11vnc: bcx_xattach/x2x desktop switching facility. More remote control features: grab_state, ping:mystring, grablocal, resend_cutbuffer, resend_clipboard, resend_primary, keycode, keysym, ptr, sleep, get_xprop, set_xprop, wininfo, pointer_pos, mouse_xy, noop, guess_dbus Add DIRECT: for remote control w/o server. X11VNC_NO_CHECK_PM for more quiet DIRECT: usage. Options -query_retries, -remote_prefix, and X11VNC_SYNC_TIMEOUT for remote control. Add scripting to remote control. ping clients during in unixpw login. Option -unixpw_system_greeter as shortcut to XDM/GDM/etc panel. Add clear_all, viewonly, nodisplay, to unixpw username:opts. F1 help for options (including smaller console font). Document FD_TAG. Eat multiple property change events in one sitting (also PROP_DBG=1). Support more -ssl features (special cert names, single port, client certs, etc.) in -stunnel external SSL helper mode. Reorganize openssl code to allow integration with stunnel features if not compiled with openssl. X11VNC_HTTPS_VS_VNC_TIMEOUT Fix dbus session address for -solid in gnome. Use dbus-launch in -create mode if available. X11VNC_SKIP_DISPLAY=all in -find/-create mode. let noxauth unset XAUTHORITY for use with su - $USER. CREATE_DISPLAY_EXEC debugging. Add x_terminal_emulator to -create cmd search. Option -extra_fbur to tune fb update requests tracking; make default tracking more aggressive. RATE_VERB/CHECK_RATE env. for fbur rate. Env. vars to set Tk gui fonts. Catch closed socket reads/writes. Try to detect 'crazy' xdamage insertion, e.g. from some xscreensavers (needs work.). Don't switch on server autorepeat if any keys are pressed down to work around Xorg server and/or gnome bug. If PATH is empty, set it to minimal one. Fix bug with -bg and -dp/-dk printout if logfile present. * classes/ssl: license statement. 2009-06-18 Karl Runge * classes/ssl: java viewer now handles auth-basic proxy logins. * misc/enhanced_tightvnc_viewer: update ssvnc. 2009-06-14 Karl Runge * x11vnc: Add X11VNC_REFLECT_PASSWORD env. var. for -reflect mode. Message to user about compiz problems suggesting -noxdamage. Improvements to single-port detection and logging. 2009-05-21 Karl Runge * x11vnc: Thread safety improvements. Add 'OpenOffice' to special case list for scroll detection. Fix -clip mode under -rawfb. Workaround Xorg bug that yields infinitely repeating keys when 'xset r off' action is done with keys pressed. Env. var X11VNC_IDLE_TIMEOUT. 2009-03-12 Karl Runge * x11vnc: Fix off-screen bug for -ncache_cr copyrect. 2009-03-07 Karl Runge * x11vnc: allow range for X11VNC_SKIP_DISPLAY, document grab Xserver issue. Add progress_client() to proceed more quickly thru handshake. Improvements to turbovnc hack. 2009-02-28 Karl Runge * x11vnc: add kludge to experiment with turbovnc. 2009-02-25 Karl Runge * x11vnc: fix some -QD cases for use in tkx11vnc. 2009-02-21 Karl Runge * x11vnc: add -noskip_lockkeys option for future use. 2009-02-03 Karl Runge * x11vnc: Add "sendbell" remote cmd. Fix copyrect updates under -reflect. Workaround that checks valid window of selection requestor. Wait on some ssl helper pids earlier. Workaround XAUTHLOCALHOSTNAME for some new usage modes. Set fake fb to requested bpp with correct masks. -padgeom once:... mode. Set LIBXCB_ALLOW_SLOPPY_LOCK by default. rfbRandomBytes earlier. * classes/ssl: Update jars. Add "TOP_" dropdown customization to ultravnc java viewer applet FTP panel. 2009-01-11 Karl Runge * classes/ssl: Add configurable Ultra java applet Filexfer Drives drop down (e.g. ftpDropDown=Home.Desktop.bin). Document all applet parameters in classes/ssl/README. 2009-01-10 Karl Runge * x11vnc: fix failure of -8to24 on default depth 24 due to nonstandard indexed color support changes. Fix small window for failure after XSendEvent selection call; add env var. X11VNC_SENDEVENT_SYNC=1 to take even more care. 2009-01-03 Karl Runge * x11vnc: add -rmflag option, -rawfb vt support, bpp < 8 support for rawfb, find /dev/video better. Fix reverse SSL connection for DH. Some improvements for CUPS TS helper, restart if needed. 2008-12-10 Karl Runge * x11vnc: 0.9.6 release. Some strtok bugfixes. rename -tlsvnc to -anontls. Disable ssl caching. No cert creation prompting in inetd or bg modes. waitpid a bit more carefully on ssl helpers. Tune ssl initial timeouts. Let -create user specify starting X display. fix -rfbport prompt gui for older tk. -sslonly option. Error if no -ssl with related options. -rand option. -ssl implies -ssl SAVE 2008-11-22 Karl Runge * x11vnc: x11vnc.desktop file. -reopen, -dhparams, -sslCRL, -setdefer options. -rfbport PROMPT VeNCrypt and TLSVNC SSL/TLS encryption support. Tweaks to choose_delay() algorithm. -ssl ANON anonymouse Diffie-Hellman mode. Fix bugs in certs management. Additions to tray=setpass naive user mode. 2008-11-09 Karl Runge * x11vnc: add zeroconf external helpers (avahi-publish and dns-sd). Alias -zeroconf. Close pipeinput_fh on exit. Kludge to make -solid work on MacOSX console. Attempt at cpp macros to disable newer libvncserver interfaces. 2008-10-29 Karl Runge * x11vnc: -http_oneport for single port HTTP and VNC. Improve find_display wrt lsof blocking with -b. 2008-10-19 Karl Runge * x11vnc: -chatwindow for chat window on X console using SSVNC as a helper. Print suggestion for X_ShmAttach failure. Allow -scale WxH for different X- and Y-scaling factors. Workaround for missing -enc cipher EVP_aes_256_cfb. Modify message digest and salt/IV parameters. Try to improve compile time by breaking up large if blocks. 2008-09-21 Karl Runge * x11vnc: Add symmetric key encryption -enc cipher:keyfile, works with SSVNC. Make -remap work on MacOSX console. update to 0.9.5 strings. Add a couple menu items to tkx11vnc. 2008-09-17 Karl Runge * x11vnc: make -allow work in -ssl mode. 2008-09-14 Karl Runge * x11vnc: -sleepin m-n for random sleep. More mktemp and mkstemp protections. SSL_INIT_TIMEOUT=n env. var. Fix macosx console X call bug. Synchronize other projects sources. 2008-09-06 Karl Runge * x11vnc: kill gui_pid on exit in -connect/-connect_or_exit mode. -grablocal n experiment (not compiled by default). -macuskbd option for macosx for orig uskdb code. keycode=N remote contol cmd. Find dpy look at non-NFS cookies in /tmp. Fix gui tray insertion on recent gnome dt. Fix connect_file bug. Sync SSVNC 2008-06-07 Karl Runge * x11vnc: -clip xineramaN option, -DIGNORE_GETSPNAM for HP-UX. Print info on SSH_CONNECTION override. 2008-05-31 Karl Runge * x11vnc: Improvements to nonstandard indexed color support, e.g. depths 1, 4, 12, etc. instead of only 8. Only enable xinerama xwarppointer if there is more than 1 subscreen. 2008-05-07 Karl Runge * x11vnc: add UltraVNC repeater proxy support. fix to setp gui mode. -threads is now strongly discouraged. Read PORT= in url. User can set nolisten for Xvfb in -create mode. clean up wait_for_client() to some degree. 2008-01-31 Karl Runge * x11vnc: during speeds estimate, guard against client disconnecting. ssvnc sync. 2008-01-14 Karl Runge * x11vnc: -ping option, fix memory corruption in copy_tiles after xrandr resize. 2007-12-16 Karl Runge * x11vnc: setup remote-ctrl file by default on macosx. improve tkx11vnc wrt attaching to existing server in icon/tray mode. 2007-12-15 Karl Runge * x11vnc: fix find_display and usleep() prototype on macosx. -display console and check DISPLAY /tmp/...:0 on macosx. implement -noxinerama. 2007-11-12 Karl Runge * x11vnc: add clear_locks (Caps_Lock, etc) action. Fix ssh tunnel on Darwin. 2007-10-27 Karl Runge * x11vnc: fix ncache bug and others under -8to24, -ssh option, socks and other proxies in -proxy option. compiler warnings. fix TARGETS selection request bug (java, konsole). 2007-10-03 Karl Runge * x11vnc: add xfce to createdisplay 2007-09-26 Karl Runge * x11vnc: COLUMNS=256 to find/create scripts. More ratecheck. 2007-09-14 Karl Runge * x11vnc: Add -sshxdmsvc. Fix find_display for inetd. Improve -allinput method; env CHECK_RATE to watch for FBUR build up (i.e. JFVNC). 2007-09-11 Karl Runge * x11vnc: fix wireframe crash under -clip. Add -redirect for VNC redir. -rawfb nullbig, randbig, solid, swirl, etc. FD_XDM mode to find_display. -listdpy. Add enlightenment. Xvnc.redirect FINDDISPLAY-vnc_redirect. -xvnc, -xvnc_redirect, -svc_xvnc. AUTO_PORT. * ssvnc: sshvnc ssh-only, tsvnc Terminal Services modes. Improvements to ss_vncviewer. Automatically find X dpy and X login. Reorganize menus a bit. ~/.ssvncrc file. 2007-09-04 Karl Runge * x11vnc: Add -autoport and -finddpy utils. -xdummy creation. tweak xkb tiebreaking again. Shut off -ncache in dev mode. watch for xrandr events even if no -xrandr. Tips for types of URLs for java viewers. Add check_redir_services() to create_display and tsdo() redir helper utility (-tsd). Improvements to Xdummy. Prevent dcop XAUTHORITY='' 2007-08-19 Karl Runge * x11vnc: better -xkb tie-breaking for up keystrokes. Add Xsrv/FD_XSRV custom server to FINDCREATEDISPLAY list. 2007-08-18 Karl Runge * x11vnc: improve FINDCREATEDISPLAY (-create) script. Document FD_GEOM, FD_SESS, FD_OPTS, FD_PROG env vars, add Xvnc support. 2007-08-15 Karl Runge * x11vnc: add reverse -connect support to -display WAIT: i.e. -find, -create, -svc, ... mode. Document need for -shared under -connect host1,host2,... Fix bug in -display WAIT: mode if vnc client tries to only retrieve SSL cert. 2007-08-03 Karl Runge * x11vnc: add -xrefresh option, fix KDE .DCOPserver parse bug, make sure UNIXPW_DISABLE_LOCALHOST/-unixpw_unsafe ignore any SSH tunnel that would imply -localhost. 2007-07-04 Karl Runge * x11vnc: -debug_ncache, fix big fonts in tkx11vnc. 2007-06-14 Karl Runge * x11vnc: add detectors if ultravnc chat or file xfer took place, if so ping clients more frequently. Fix compile bug if libssl not available. * ssvnc: add ultravnc ftp jar feature. Add certificate management "Verify All Certs". 2007-05-26 Karl Runge * x11vnc: set to version 0.9.2, back to NCACHE -12 for testing. in -unixpw, initial Escape means no echo username (see ssvnc). 2007-05-21 Karl Runge * x11vnc: set things up (NCACHE = -1) to not have -ncache on by default; just give a blurb about it. 2007-05-16 Karl Runge * x11vnc: print out peer host and port for debugging SSL. * ssvnc: rand check, SOCKS support, PORT=, Verify all Certs and accepted certs logging. 2007-05-06 Karl Runge * x11vnc: lower -wait and -defer to 20ms. Change some SSL debug output. Drop client doing ultravnc stuff in -unixpw during login phase. 2007-05-05 Karl Runge * x11vnc: add groups handling for -users mode. 2007-05-01 Karl Runge * ssl: update to java viewer and utility scripts (add onetimekey). * x11vnc: setsid() for -gone mode. setpgrp for -create script and add -cc 4 to avoid DirectColor. 2007-04-28 Karl Runge * x11vnc: -users sslpeer= option. RFB_SSL_CLIENT_CERT var. X11VNC_FINDDISPLAY_ALWAYS_FAILS var. -ncache default 10. gid switch fix. * ssvnc: Linux.i*86 fix and code sync. 2007-04-07 Karl Runge * x11vnc: add gnome, kde, etc. FINDCREATEDISPLAY tags. In check_ncache periodically check for changed desktop. 2007-03-24 Karl Runge * x11vnc: reverse SSL connections. -sleepin option. 2007-03-20 Karl Runge * x11vnc: Add -httpsredir option for router port redirs. set Xcursor bg/fg color values to zero. Env var to force timeout: X11VNC_HTTPS_VS_VNC_TIMEOUT. Let user supply nc=N at login prompt. Disable -ncache beta test under -http/-httpdir. 2007-03-13 Karl Runge * x11vnc: fix crash for kde dcop. limit ncache beta tester to 96MB viewers. 2007-02-18 Karl Runge * x11vnc: Get ultravnc textchat working with ssvnc. 2007-02-16 Karl Runge * x11vnc: add Files mode to user controlled input. more ultra/tight filexfer tweaks. rfbversion remote control. noncache/nc unixpw user opt. 2007-02-15 Karl Runge * x11vnc: tightvnc filetransfer off by default. avahi fixes. FINDCREATEDISPLAY geometry. -noultraext. 2007-02-12 Karl Runge * x11vnc: add avahi (aka mDNS/Zeroconf/Bonjour...) support thanks to Diego Pettenò. -avahi/-mdns. Add -find and -create FINDISPLAY aliases. 2007-02-11 Karl Runge * x11vnc: add -grabalways, -forcedpms, -clientdpms, and -noserverdpms (ultravnc viewer) for improvements in the still approximate server locking. Add -loopbg and -svc, -xdmsvc aliases. Bug fix create_display. 2007-02-10 Karl Runge * x11vnc: watch things like textchat, etc. more carefully in unixpw state. Monitor broken XDAMAGE reports when OpenGL apps like beryl are running. Implement simple kbdReleaseAllKeys, setSingleWindow, setServerInput actions (ultravnc extentions). Try to send XDM the username in FINDCREATEDISPLAY, also try .dmrc before .xsession. 2007-01-31 Karl Runge * x11vnc: -reflect reflector/repeater mode with libvncclient. -ncache tweaks: no kde animations and wm improvements, fixes to FINDDISPLAY and FINDCREATEDISPLAY login modes, MODTWEAK_LOWEST envvar for HP-UX keyboard workaround. -N option for display and rfbport matching. 2007-01-12 Karl Runge * x11vnc: -N option, more -ncache improvements, kde/gnome. 2007-01-03 Karl Runge * x11vnc: more -ncache improvements. 2007-01-01 Karl Runge * x11vnc: more -ncache improvements. 2006-12-28 Karl Runge * x11vnc: more work on -ncache, add macosx support, fix X errors and improve cache expiration algorithm. 2006-12-17 Karl Runge * x11vnc: first pass at client-side caching, -ncache option. have -http guess ../classes/.. to run out of build area. 2006-12-17 Karl Runge * x11vnc: make -xwarppointer the default if xinerama is active. 2006-12-09 Karl Runge * java SSL viewer: guard against empty urlPrefix * x11vnc: FINDCREATEDISPLAY support to create X session if one cannot be found. close fds utility. Print VNC Viewer is.. for find display mode. chvt(1) utility. 2006-11-23 Karl Runge * prepare_x11vnc_dist.sh: make ss_vncviewer installed 755. * x11vnc: for HTTPONCE open new http port in -inetd mode. -prog option to indicate full path to program (not know when in -inetd and tcpd) 2006-11-21 Karl Runge * x11vnc: macosx: problem with padded framebuffer rows, wait for user to switch back, CutText xfer support, ignore a few more types of toplevels. Add local user wireframing. -dpms/-nodpms option to work around kdesktop_lock problem. 2006-11-13 Karl Runge * x11vnc: Native Mac OS X support. 2006-11-07 Karl Runge * ssl_vncviewer: vnc:// direct connect, add -x to ssh, SSL_VNC_LISTEN variable for direct proxy. 2006-10-29 Karl Runge * x11vnc: Add tip about how to reenable RECORD extension. 2006-10-11 Karl Runge * x11vnc: -cursor_drag for DnD, etc. 2006-09-23 Karl Runge * Java viewer: improvements to connection response, faster connections. * x11vnc: some cleanup for -unixpw login process. 2006-09-20 Karl Runge * x11vnc: -unixpw_cmd, -passwfile cmd:/custom:, -sslnofail, -ultrafilexfer 2006-09-17 Karl Runge * x11vnc: move some info printout to -v, -verbose mode. Add -connect_or_exit option. Have -rfbport 0 lead to no TCP listening. Eliminate double certificates in .pem files. Always print SSL certificate to the screen to aid pasting. 2006-09-15 Karl Runge * x11vnc: allow user set signals to ignore, clear DISPLAY in -unixpw su_verify. -rawfb none same as null. * rfbserver.c: shorten rfbEncodingNewFBSize message. 2006-09-13 Karl Runge * x11vnc: document 'ssh -t' improved keyboard response. add extra rfbPE() around keystrokes. misc/enhanced_tightvnc_viewer: incorporate scripts, documentation, etc. for the enhanced tightvnc viewer package. 2006-09-10 Karl Runge * x11vnc: minor changes: REQ_ARGS for -sslGenCert, EV_SYN SYN_REPORT check restore cursor most under -display WAIT. 2006-08-10 Karl Runge * x11vnc: first pass at touchscreens via uinput. 2006-08-02 Karl Runge * x11vnc: add -ssltimeout option; tweak ssl timeouts. 2006-07-28 Karl Runge * ssl_vncviewer: remove some bashisms, add features. * x11vnc: -rotate option (e.g. handheld), fix FPE on tru64. 2006-07-17 Karl Runge * x11vnc: enable --without-x builds for -rawfb only (NO_X11) 2006-07-11 Karl Runge * x11vnc: more tweaks to UINPUT, mostly mouse motion. 2006-07-08 Karl Runge * x11vnc: add uinput support (-pipeinput UINPUT:...) for full mouse and key input to linux console (e.g. for qt-embedded apps) add -allinput for handleEventsEagerly. 2006-07-04 Karl Runge * x11vnc: 2nd -accept popup with WAIT, and UNIX: info for unixpw login. Use RFB_CLIENT_ON_HOLD for -unixpw. -unixpw white arrow -license option. Use getspnam if getpwnam is short. abbrevs sc=, cm, ck for user:opts. 2006-06-23 Karl Runge * x11vnc: misc cleanup. 2006-06-18 Karl Runge * x11vnc: -grabkbd, -grabptr, -env options. under -unixpw + WAIT let user add some options after his username (e.g. runge:3/4) -allowedcmds to fine tune vs. -nocmds. general cleanup. 2006-06-12 Karl Runge * x11vnc: word tune SSL Java viewer; fix multi-certs bug. Add -display WAIT:cmd=FINDDISPLAY builtin script and cmd=HTTPONCE action. -http_ssl option for ssl subdir only. Add -rawfb RAND test case. improve raw_xfer() for use in inetd https transfer. fix bug SSH + -unixpw -> -localhost. fix bug setup cursors in WAIT mode. Mac OS X pty tweak. 2006-06-09 Karl Runge * x11vnc: make -display WAIT + -unixpw work on Solaris. 2006-06-08 Karl Runge * x11vnc: XOpenDisplay wrapper for raw xauth data, -unixpw su_verify() to run any cmd, -users unixpw= mode. -display WAIT:... modes for delayed X display opening and dynamic choosing. 2006-06-03 Karl Runge * x11vnc: -capslock and -skip_lockkeys options. map some Alt keys to Latin under linuxfb. switch to new stats API. Handle more cases carefully when switching fb. 2006-05-06 Karl Runge * x11vnc: improved support for webcams and tv tuners with video4linux /dev/video: -rawfb video, -freqtab etc. Convenience option for linux VT's: -rawfb cons (LinuxVNC method). -pipeinput builtins for video and console. -24to32 option to avoid 24bpp problems. "snap:" method for -rawfb. 2006-04-26 Karl Runge * x11vnc: skip exit in check_openssl() if not compiled with libssl. set SKIP_HELP (again) in small footprint builds. 2006-04-16 Karl Runge * x11vnc: More web proxy work for Java SSL applet and wrapper script ssl_vncviewer. Apache SSL gateway support for incoming x11vnc connections. Handle "double proxy" case. 2006-04-05 Karl Runge * x11vnc: add FBPM support (-fbpm) for Suns. -rawfb ZERO for testing. Basic key+cert management utilities: -sslGenCA, -sslGenCert, -sslEncKey, -sslDelCert, -sslCertInfo, and addln features. SSL proxy connection. -storepasswd with no args or pw echo. 2006-03-26 Karl Runge * x11vnc: -xinerama now on by default. In -ssl mode accept https applet downloads thru VNC port. -https option for 2nd https port. Look for classes/ssl under -http. add Java URL messages to final output lines. make -inetd work with -ssl (even for https). fix -unixpw login prompt under -scale. guard against clientData = NULL. 2006-03-11 Karl Runge * x11vnc: add -ssl mode using libssl. Include Xdummy in misc. a few more macros for smallerfoot, etc. 2006-03-08 Karl Runge * x11vnc: manage CLIPBOARD in addition to PRIMARY. -debug_sel Make reverse connections require passwords. -usepw option. -storepasswd w/o args prompts and writes ~/.vnc/passwd. 2006-03-06 Karl Runge * x11vnc: switch remote control to X11VNC_REMOTE property. Put in -unixpw constraints for reverse connections under -inetd. -inetd won't quit when reverse conn client leaves. Allow keyboard input for viewonly -unixpw logins. "%*" utils for testing -unixpw. improve start time fix bugs, small screen in gui. 2006-03-04 Karl Runge * x11vnc: -unixpw on *bsd, hpux and tru64. Add -unixpw_nis for non-shadow systems. check stunnel dying. check SSH_CONNECTION in -unixpw. gui icon tweaks, unix username. 2006-03-02 Karl Runge * x11vnc: more tweaks to -unixpw mode. Add -gone popup mode. Change filexfer via -R. Tune SMALL_FOOTPRINT. gui fixes. 2006-02-24 Karl Runge * x11vnc: -unixpw for Unix password auth, -stunnel to setup stunnel(1) for an SSL tunnel on the server end. Add clipboard input to per-client input controls. 2006-02-20 Karl Runge * x11vnc: add SIGINT SIGQUIT handling for run_user_command(), set some signal handlers to SIG_DLF for forked children, put a timeout on port 113 connection to viewer machine. 2006-02-06 Karl Runge * x11vnc: fix AIX build wrt h_errno. 2006-02-06 Karl Runge * x11vnc: -8to24 more speedups; tunables for very slow machines. 2006-02-04 Karl Runge * x11vnc: -8to24 speedups and improvements. 2006-01-21 Karl Runge * x11vnc: -8to24 opts, use XGetSubImage. fix -threads deadlocks and -rawfb crash. 2006-01-18 Karl Runge * x11vnc: -8to24 now works on default depth 8 screens. 2006-01-16 Karl Runge * x11vnc: more tweaks to -8to24, add XGETIMAGE_8TO24 mode to call XGetImage() on the 8bpp regions. 2006-01-14 Karl Runge * x11vnc: add -8to24 option for some multi-depth displays (but use of -overlay is preferred if supported). 2006-01-12 Karl Runge * fix -DSMALL_FOOTPRINT=N builds. 2006-01-11 Karl Runge * x11vnc: close fd > 2 in run_user_command(), -nocmds in crash_debug, fix 64bit bug for -solid. 2006-01-08 Karl Runge * x11vnc: the big split. opts: -afteraccept and -passwdfile read: 2005-12-24 Karl Runge * x11vnc: enhance -passwdfile features, filetransfer on by default, call rfbRegisterTightVNCFileTransferExtension() earlier. 2005-11-28 Karl Runge * x11vnc: add -loop option. 2005-11-25 Karl Runge * x11vnc: throttle load if fb update requests not taking place. * misc/x11vnc_pw: add utility script 2005-10-22 Karl Runge * add tightVNC FileTransfer (-filexfer) and -DFILEXFER=1 * -slow_fb for special purpose infrequent polling. * make -blackout work with copyrect clipping. * -blackout noptr,WxH+X+Y,... to prevent pointer from going into a blacked out region. 2005-07-17 Karl Runge * more improvements to gui UE. gui requests via client_sock PASSWD_REQUIRED and PASSWD_UNLESS_NOPW build options. 2005-07-12 Karl Runge * gui: remove nevershared etc., parse cmd line, bug fixes. * x11vnc: fix pointer queue buildup under -viewonly. 2005-07-10 Karl Runge * more improvements to gui, default values, save-settings.. * x11vnc scary password warnings. Release settings. -QD option. add \# to rc files and fix rcfile read bug. 2005-07-09 Karl Runge * add -grab_buster helper thread to break up grabs (might not be need any longer due to gett XFlush-ing). Fix scrolls and copyrect for -clip and -id cases. 2005-07-06 Karl Runge * many improvements to the gui. now embeds into system tray ok. x11vnc -debug_grabs, -printgui, -nosync 2005-07-01 Karl Runge * support for simple "-gui tray" mode (small icon like the original x0rfbserver had). Can't figure how to get a tray to swallow it.. * passwd, viewpasswd changing in tray mode. * allow typos like: x11vnc -R -scale 3/4 2005-06-26 Karl Runge * track keycode state for heuristics, -sloppy_keys, -wmdt * add -nodbg as option 2005-06-21 Karl Runge * reinstate "bad desktop" for wireframe. * extra long info and tips of XOpenDisplay fails. 2005-06-18 Karl Runge * clean up some malloc/free problems (don't free the current cursor) * set DISPLAY before calling gconf, dcop under -solid * -inetd -q and no -o logfile implies closing stderr. 2005-06-14 Karl Runge * -DNOGUI and -DVIEWONLY build options * -noskip_dups the default (windows viewer sends no ups when repeating) * HAVE_SOLARIS_XREADSCREEN and HAVE_IRIX_XREADDISPLAY * Alt+Button+Motion to wireframe. tunable in WIREFRAME_PARMS * copyrect now the default under -scale (works OK, but must send a cleanup update) * fix -pedantic and Sun cc warnings and errors (unsigned, etc..) * print out fatal error messages under -quiet * -seldir to control and debug selection transfers. * fix crashes on 64bit wrt unsigned long in rich cursors. * fix kde guessing errors * more scrolling and wireframe tweaks. 2005-06-03 Karl Runge * make scrollcopyrect more or less usable under -scale * add -fixscreen for periodic cleanup of painting errors. * adjust keyrepeat scroll behavior. 2005-05-30 Karl Runge * alter "magic cleanup key sequences" (N*Alt_L and N*Super_L) * dial down check_xrecord_reset() reset times. 2005-05-24 Karl Runge * more -scrollcopyrect: GrabServer detection, autorepeat throttling, hack to clean screen 3,4,5 Alt_L in a row, mouse wheel detect. * fix bug wrt switching to single_copytile, add Darwin to shm limit. 2005-05-17 Karl Runge * more -scrollcopyrect, -scr_term hacks for terminals. * -wait_ui, -nowait_bog tunables. push cursor sooner. 2005-05-14 Karl Runge * much more work on "-scrollcopyrect" mode... getting usable. * remove -pointer_mode 3, shift everyone back down * -dbg "crash shell" for debugging * -add_keysyms now the default, periodically clears if needed. * try to autodetect if -xkb would be a good idea. * improve keycode guessing for -xkb mode (force ISO_Level3_Shift) * -remap DEAD, etc. for dead/mute keys remappings. 2005-05-02 Karl Runge * initial support for using RECORD to detect some types of window scrolls. This is "-scrollcopyrect" mode, use -noscrollcopyrect to disable. Much tuning and painting error repair still required. * more build time customizations: REMOTE_DEFAULT, REMOTE_CONTROL, EXTERNAL_COMMANDS, NOREPEAT, WIREFRAME*, SCROLL*, ... * added bandwidth and latency measurements. * added XListHosts to -privremote check. * debug_* remote-control variables. * removed OLD_TREE stuff. 2005-04-19 Karl Runge * somewhat safer remote-control defaults, and addnl options for more safe operation: -privremote, -safer, -nocmds, -unsafe * -wireframe, -wirecopyrect: instead of having user look at a slowly moving, lurching window, guess when a window is being moved/resized and just show a wireframe. -wirecopyrect means to apply rfbDoCopyRegion to the detected move as well. * debugging switches for X events and X damage: debug_xevents debug_xdamage. * -rawfb bugfixes. -noviewonly hack to still send UI to X. 2005-04-11 Karl Runge * fix -clip under -rawfb, fix offset bug under file lseeking. * add -rawfb setup:cmd mode to initialize fb. example: misc/ranfb.pl 2005-04-10 Karl Runge * -rawfb non X-polling (i.e. shm, mmap, lseek). * -pipeinput enable external user input processing command. * -xtrap use XESimulateXEventRequest to inject user input. * scaling blend for StaticGray, add :fb scaling option. * default password macros. * improve -norepeat use under -viewonly. * -flag flagfile to aid wrapper scripts. * add utility scripts, etc. dir ./misc 2005-04-03 Karl Runge * try DEC-XTRAP on X11R5 if XTestGrabControl is missing. * -shiftcmap n, for 8bpp displays using < 256 color cells and with pixel values shifted from zero. * fix DAMAGE event leak after viewers disconnect. * -http option to try to guess where the java viewer is. 2005-03-29 Karl Runge * 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 * scale cursors along with display. Use -scale_cursor to change or disable cursor scaling. * speed up scaling in some cases, :nb and integer magnification. * provide alternative arrow cursors (1-6) via -arrow n. * reset no autorepeat a couple times if something turns it off, set with -norepeat N. * do not take a nap if DAMAGE seems to be doing its job. 2005-03-12 Karl Runge * support for the X DAMAGE extension to receive damage rectangle reports from the X server. On by default, disable with -noxdamage. Currently only trusts small rects (but see -xd_area n) and uses the rest as "hints" for the scanline polling. * -clip WxH+X+Y to show a clipped sub-region of the screen. * use RFC 1413 (identd) to attach a name to a client in friendly environments. * fix XAUTHORITY wrt '-auth ... -gui other:0'. 2005-03-04 Karl Runge * add changes to couple with -listen option, in particular the behavior of -localhost and remote control cmds. * workarounds for old trees. 2005-02-23 Karl Runge * final changes for 0.7.1 release. 2005-02-21 Karl Runge * -nap is now the default, disable with -nonap * set version to 0.7.1, word tune -help, etc. 2005-02-14 Karl Runge * cleanup -users stuff, add "lurk=" mode * support cde in -solid * simple gui mode for beginners, -gui ez,... 2005-02-10 Karl Runge * Add -input to fine tune client input (keystroke, mouse motion, and button presses). Allow per-client setting via remote cntl. * fix bug in get_remote_port, add ip2host for client info. 2005-02-09 Karl Runge * Add -users switch user mechanism and related utilities. * fix -solid for gnome and kde. * exit earlier on trapped XIO errors. 2005-02-05 Karl Runge * -solid solid color background when clients are connected. * -opts/-? to show option names only. 2005-01-23 Karl Runge * sync with new draw cursor mechanism, keep old way in OLD_TREE. * add -timeout option, change -alphablend to be default * -R norepeat now forces the issue (Xsession may turn it back on). * try :0 if no other info. 2005-01-15 Karl Runge * adjust alpha blending parameters, -alphablend, handle 24bpp. * add -snapfb snapshot fb, not clear how useful it is.. * more functions etc for -pointer_mode 4, still not finished. * scan_for_updates() "count only" mode. * increase max shm size on Linux. * -oa -logappend, -pm, -speeds * fix bugs in -allow, -R connect, screen == NULL 2004-12-27 Karl Runge * allow -DLIBVNCSERVER_HAVE_FOO=0 override everything * get_xfixes_cursor() try to more carefully convert alpha channel to opaque pixel. Options -alphacut, -alphafrac, -alpharemove * more commands under remote control: rfbwait, rfbport, http, httpport, httpdir, enablehttpproxy, desktop, alwaysshared, dontdisconnect. Add to tkx11vnc. 2004-12-22 Karl Runge * final polishing for 0.7 release, tkx11vnc tweaks * more careful rfbPE in pick_window, start check_user_input4() 2004-12-19 Karl Runge * cleanup putenv, snprint, other string manip. * add -sync mode to remote control for better control * allow -remote and -query at same time. 2004-12-16 Karl Runge * support for XFIXES extension to show the exact cursor shape, working on Linux/Xorg and Solaris 10. disable with -noxfixes * remote control mania - nearly everything can be changed dynamically! see the -remote/-query (aka -R/-Q) options. e.g. -R scale:5/6 * simple gui tkx11vnc based on the remote control mechanism, see -gui * support for XRANDR extension, if the X screen changes size (see xrandr(1)), x11vnc will resize the fb. Pays to have NewFBSize viewer * -overlay support on IRIX with XReadDisplay (not tested). * RFB_MODE is set to "accept" or "gone" in environment * "-id pick" will let you pick the window (calls xwininfo(1)...) * "-pointer_mode n" replaces -old_pointer (n=1) and -old_pointer2 (n=2) a new mode n=3 is added (similary to nodragging, but dynamic). * "-sb n" screen blank timeout option is now documented. * renamed NON_CVS to OLD_TREE 2004-08-31 Karl Runge * new check_user_input() pointer input algorithm, it tries to avoid extra-draws. still needs tuning, get previous one with -old_pointer2 * add NON_CVS macro for building in older CVS trees. 2004-08-29 Karl Runge * remove old mouse patch code, now use rfbSetCursor (+ workarounds) * changed cursor shape options (no more -mouse, ...) to '-cursor mode' where 'mode' can be empty "X", "some", or "most". "some" adds heuristics for two more cursors. * -nocursorshape added. * ifdef checks for XSHM and XTEST. Add *_wr wrappers as well. * -vncconnect is now the default. 2004-08-15 Karl Runge * -overlay option to fix color problems on Sun machines with 8+24 and 24+8 overlay visuals, uses Solaris XReadScreen(). * expose -sid option (shifted -id windowid) to allow explicit wrapping of XGetImage, etc for -overlay * fix misc bugs: missing var types, hardwired blackouts sizes, subwin desktop name crash. 2004-08-03 Karl Runge * add man page x11vnc.1 autogenerated from x11vnc -help; tweak help output a little bit. Adjust autoconf to pick up manpage. * add README from website docs. * zero watch_bell and use_xkb_modtweak if no XKEYBOARD 2004-07-31 Karl Runge * -cursorpos now the default; make cursorpos work when scaling * fix bug with multiple adds of the same keysym for -add_keysyms * rewhack -help output again * adjust version number and output. 2004-07-28 Karl Runge * -add_keysyms dynamically add missing keysyms to X server 2004-07-26 Karl Runge * first pass at doing modtweak via XKEYBOARD extension (-xkb) * -skip_keycodes option for use with -xkb * reset modtweak and xkb_modtweak on event MappingNotify. * trap Xerror during XSendEvent/XChangeProperty. * fix bug requesting PRIMARY way too often. * more careful to check if XKeysymToString returns NULL. * continuation lines "\" in x11vncrc. * undoc'd expts: -isolevel3, -xkbcompat 2004-07-19 Karl Runge * ignore keysyms 5-8 for keycode keymapping. * help to stdout for easy paging, add lastmod to help and -version. 2004-07-15 Karl Runge * make "modtweak" the default, disable with -nomodtweak. this corrects ghost "< >" key on pc104 us in XFree86. * fix bug wrt no got_keyboard_input under modtweak 2004-07-10 Karl Runge * -norepeat to turn off X server autorepeat when clients exist, (this is workaround for the repeating keystroke bug. Note that client side does autorepeating so not a big loss). 2004-07-04 Karl Runge * extend -allow to re-read a file with allowed IP addresses. * improvements to -help text. 2004-07-01 Karl Runge * improve scaled grid calculation to prevent drift (which causes drift in pixel weights and poorer tightvnc compression) * add ":pad" scale option, detect small fraction scale = m/n. 2004-06-28 Karl Runge * round scaled width to multiple of 4 to make vncviewer happy. * allow override of above ":n4" and allow 4 point interpolation to be used even with shrinking ":in". 2004-06-27 Karl Runge * speed up scaling a bit for slow machines (still all floating point) * add no blending option (-scale fraction:nb) 2004-06-26 Karl Runge * add -scale fract for global (not per-client) server-side scaling working more or less OK, needs to be optimized at some point. * remove -hints/-nohints options. 2004-06-17 Karl Runge * simple ~/.x11vncrc config file support, -rc, -norc 2004-06-12 Karl Runge * add -clear_mods -clear_keys for (rare) case where keys are not being released (e.g. Ctrl-C x11vnc thru x11vnc). * export RFB_SERVER_IP and RFB_SERVER_PORT to -accept program so that the tcp 4-tuple is completely specified. * add -storepasswd so storepasswd program not needed 2004-06-05 Karl Runge * rearrange file for easier maintenance, indicating file breakup. * add RFB_CLIENT_COUNT, number of other connected clients to -accept and -gone commands. 2004-05-27 Karl Runge * add view-only passwd via -viewpasswd and 2nd line of -passwdfile 2004-05-21 Karl Runge * -accept: add view-only decision and other improvements. * add -gone command option for when a client leaves. Thanks to Jesus Alvarez for these ideas. * -passwdfile to keep passwd off of cmd line. * -o logfile send stderr to a logfile. 2004-05-14 Karl Runge * improvements to -accept popup: yes/no buttons and timeout. * less fprintf under -q so '-q -inetd' has no stderr output. 2004-05-08 Karl Runge * add -accept some-command/xmessage/popup to prompt local X11 user or otherwise decide to accept an incoming client. * clean up -Wall warnings. 2004-05-05 Karl Runge * enable mouse button -> keystrokes mapping in -buttonmap (mousewheel) * enable keystroke -> mouse button mapping in -remap (touchpad paste) (-remap incompat ':' -> '-', sorry...) * shm OS blacklist (i.e. <= SunOS 5.8) -> -onetile * revert to check_user_input() under -nofb * cleanup: lastmod, remove tile_shm and update_client_pointer, debug output, rfbPort failure. * user friendly last line: 'The VNC desktop is hostname:0' 2004-04-28 Karl Runge * -auth cmdline option for xauthority. * decrease default deferupdate under -nofb. * update_client_pointer() from Edoardo Tirtarahardja. * remove some assumptions about libvncserver defaults. 2004-04-19 Karl Runge * support for cursor positions updates -cursorpos * option for SIGPIPE handling -sigpipe 2004-04-13 Karl Runge * solve problem with sending selection when client initializing (not yet in RFB_NORMAL state). Increase delay to 15s as well. * when threaded: limit rfbMaxClientWait to >= 20 secs and increase it to a huge value unless -rfbwait is supplied. 2004-04-08 Karl Runge * added support for blacking out regions of the screen, primarily for Xinerama usage, options: -blackout -xinerama * Xinerama workaround mouse problem on 'embedded' system, option -xwarppointer (XWarpPointer instead of XTEST) * let -remap option take key remappings on cmdline as well as file. * use cargs fix to test for invalid cmdline options. Add --option. * remove copy_tile, use copy_tiles(..., 1) instead. 2004-03-10 Karl Runge * added reverse connection for vncconnect(1) and other means -vncconnect, -connect host:port, and -connect watchfile * added first pass at user keysym remapping feature via -remap file. Ignores modifier state, need to generalize. * debugging options for users -debug_pointer and -debug_keyboard * clear -passwd from argv for privacy (if OS allows). 2004-02-19 Karl Runge * added handling of clipboard/selection exchange to/from clients, even holds PRIMARY which Xvnc does not do. disable with -nosel. use -noprimary to disable polling of PRIMARY selection. * added -visual option to force framebuffer visual. not really of general use, more for testing and workarounds (e.g. win2vnc fails under 8bpp index color) * improve cleanup and error handling WRT shm and other failures. 2004-01-19 Karl Runge * improvements to pointer event handling primarily during window dragging. check_user_input() for non-threaded and pointer() for threaded. Revert to old way via -old_pointer option. * some memory I/O improvement by using copy_tiles() instead of copy_tile(). New one does rows of tiles at same time. Revert to old way via -old_copytile. * handle case of more mouse buttons on client than on X server. * added -buttonmap option for finer control over button differences. 2004-01-09 Karl Runge * options -allow / -localhost for simple IP based access screening * option -nodragging to skip all screen updates during mouse drags (thanks to Michal Sabala) * option -input_skip to allow users to tune watch_loop dropthru rate * try to avoid wasting RAM for framebuffer under -nofb * cleanup wrt bpp vs. depth 2003-12-08 Karl Runge * add Xbell support using XKEYBOARD extension (disable: -nobell) * add "-nofb" to disable framebuffer, i.e. mouse + keyboard only (!) * add "-notruecolor" to force indexed 8bpp color (when 8bpp) * make alias "-forever" for "-many" From Karl (x11vnc's father) on Apr 2, 2003: New option -nocursor to not display the vncviewer local cursor if user does not want it (also caused some problems with older vncviewers) New option -mouse to show the position of the X server mouse (i.e. lagged from the user's vnc cursor position). Also: -mouseX will try to show the a different cursor (X) when on the root background. New option -many to wait for more connections rather than exiting when the first client(s) disconnect. New option -flashcmap to try to follow installed colormaps under 8bpp indexed color as pointer is moved. New option -nap to watch for low activity and throttle down the polling rate. Useful on shared machines to keep the load down. Experimental option -id to show just that window and not the whole display. Some remaining bugs and inconvenient behavior... (e.g. new toplevels can be unseen) Fixed bug on multi-headed machines where the screen number was being ignored in a number of places. Fixed bug wrt connect_once mode. Now just refuses new clients unless shared rather than terminating all clients. Try to follow changing default colormap under 8bpp indexed color as color cells are added. Needed to pick up HAVE_LIBPTHREAD from autoconf. defined a select() macro for usleep() since usleep is not always thread safe. Catch and exit on errors in the shm setup work (XShmCreateImage, shmget,...) and moved the creation and removal work to separate utility functions. Added signal and X error handlers to try to clean out the shm objects before exiting on interrupt, etc. Improved performance a bit on the memcmp() in scan_display() by checking the whole line first. Added a workaround when threaded where libvncserver may disconnect too early if it does not hear from a client (a small heartbeat is sent). This may not be needed any longer. If -desktop has not been prescribed, try to choose a title based on DISPLAY and the hostname (and window name under -id).