Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
L
libvncserver
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
rasky
libvncserver
Commits
7b933e17
Commit
7b933e17
authored
Jun 18, 2005
by
runge
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
configure.ac: HP-UX and OSF1 no -R, x11vnc: second round of beta-testing fixes.
parent
543e64d3
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
889 additions
and
735 deletions
+889
-735
ChangeLog
ChangeLog
+6
-0
configure.ac
configure.ac
+12
-2
ChangeLog
x11vnc/ChangeLog
+5
-0
README
x11vnc/README
+784
-718
x11vnc.1
x11vnc/x11vnc.1
+5
-3
x11vnc.c
x11vnc/x11vnc.c
+77
-12
No files found.
ChangeLog
View file @
7b933e17
2005-06-18 Karl Runge <runge@karlrunge.com>
* configure.ac: don't use -R on HP-UX and OSF1.
* x11vnc: don't free the current cursor, close stderr
for -inetd -q and no -o logfile, set DISPLAY for -solid
external calls.
2005-06-14 Karl Runge <runge@karlrunge.com>
* configure.ac: XReadScreen and XReadDisplay checks.
* libvncserver/cursor.c: fix unsigned long crash for 64bits.
...
...
configure.ac
View file @
7b933e17
...
...
@@ -184,7 +184,12 @@ if test "x$with_jpeg" != "xno"; then
saved_LDFLAGS="$LDFLAGS"
CPPFLAGS="$CPPFLAGS -I$with_jpeg/include"
LDFLAGS="$LDFLAGS -L$with_jpeg/lib"
if test "x$GCC" = "xyes"; then
uname_s=`(uname -s) 2>/dev/null`
if test "x$uname_s" = "xHP-UX"; then
:
elif test "x$uname_s" = "xOSF1"; then
:
elif test "x$GCC" = "xyes"; then
# this is not complete... in general a rat's nest.
LDFLAGS="$LDFLAGS -Xlinker -R$with_jpeg/lib"
else
...
...
@@ -229,7 +234,12 @@ if test "x$with_zlib" != "xno" -a "x$with_libz" != "xno"; then
saved_LDFLAGS="$LDFLAGS"
CPPFLAGS="$CPPFLAGS -I$with_zlib/include"
LDFLAGS="$LDFLAGS -L$with_zlib/lib"
if test "x$GCC" = "xyes"; then
uname_s=`(uname -s) 2>/dev/null`
if test "x$uname_s" = "xHP-UX"; then
:
elif test "x$uname_s" = "xOSF1"; then
:
elif test "x$GCC" = "xyes"; then
LDFLAGS="$LDFLAGS -Xlinker -R$with_zlib/lib"
else
LDFLAGS="$LDFLAGS -R$with_zlib/lib"
...
...
x11vnc/ChangeLog
View file @
7b933e17
2005-06-18 Karl Runge <runge@karlrunge.com>
* 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 <runge@karlrunge.com>
* -DNOGUI and -DVIEWONLY build options
* -noskip_dups the default (windows viewer sends no ups when
...
...
x11vnc/README
View file @
7b933e17
This source diff could not be displayed because it is too large. You can
view the blob
instead.
x11vnc/x11vnc.1
View file @
7b933e17
...
...
@@ -2,7 +2,7 @@
.TH X11VNC "1" "June 2005" "x11vnc " "User Commands"
.SH NAME
x11vnc - allow VNC connections to real X11 displays
version: 0.7.2, lastmod: 2005-06-1
4
version: 0.7.2, lastmod: 2005-06-1
8
.SH SYNOPSIS
.B x11vnc
[OPTION]...
...
...
@@ -246,8 +246,10 @@ Launched by
.IR inetd (1):
stdio instead of listening socket.
Note: if you are not redirecting stderr to a log file
(via shell 2> or \fB-o\fR option) you must also specify the
\fB-q\fR option, otherwise the stderr goes to the viewer.
(via shell 2> or \fB-o\fR option) you must also specify the \fB-q\fR
option, otherwise the stderr goes to the viewer which
will cause it to abort. Specifying both \fB-inetd\fR and \fB-q\fR
and no \fB-o\fR will automatically close the stderr.
.PP
\fB-http\fR
.IP
...
...
x11vnc/x11vnc.c
View file @
7b933e17
...
...
@@ -382,7 +382,7 @@ double xdamage_scheduled_mark = 0.0;
sraRegionPtr xdamage_scheduled_mark_region = NULL;
/* date +'lastmod: %Y-%m-%d' */
char lastmod[] = "0.7.2 lastmod: 2005-06-1
4
";
char lastmod[] = "0.7.2 lastmod: 2005-06-1
8
";
int hack_val = 0;
/* X display info */
...
...
@@ -1262,6 +1262,9 @@ int parse_geom(char *str, int *wp, int *hp, int *xp, int *yp, int W, int H) {
void set_env(char *name, char *value) {
char *str;
if (!value) {
value = "";
}
str = (char *) malloc(strlen(name)+strlen(value)+2);
sprintf(str, "%s=%s", name, value);
putenv(str);
...
...
@@ -2343,7 +2346,9 @@ char *ident_username(rfbClientPtr client) {
newuser = strdup("unknown-user");
}
if (cd) {
free(cd->username);
if (cd->username) {
free(cd->username);
}
cd->username = newuser;
}
user = newuser;
...
...
@@ -4139,6 +4144,7 @@ void record_switch(XPointer ptr, XRecordInterceptData *rec_data) {
void record_grab(XPointer ptr, XRecordInterceptData *rec_data) {
xReq *req;
int db = 0;
/* should handle control msgs, start/stop/etc */
if (rec_data->category == XRecordStartOfData) {
...
...
@@ -4163,7 +4169,7 @@ void record_grab(XPointer ptr, XRecordInterceptData *rec_data) {
if (req->reqType == X_GrabServer) {
double now = dnow() - x11vnc_start;
xserver_grabbed++;
if (
0
) rfbLog("X server Grabbed: %d %.5f\n", xserver_grabbed, now);
if (
db
) rfbLog("X server Grabbed: %d %.5f\n", xserver_grabbed, now);
if (xserver_grabbed > 1) {
/*
* some apps do multiple grabs... very unlikely
...
...
@@ -4177,7 +4183,7 @@ void record_grab(XPointer ptr, XRecordInterceptData *rec_data) {
if (xserver_grabbed < 0) {
xserver_grabbed = 0;
}
if (
0
) rfbLog("X server Un-Grabbed: %d %.5f\n", xserver_grabbed, now);
if (
db
) rfbLog("X server Un-Grabbed: %d %.5f\n", xserver_grabbed, now);
} else {
;
}
...
...
@@ -5562,7 +5568,7 @@ static int run_user_command(char *cmd, rfbClientPtr client, char *mode) {
} else {
char *sip = get_local_host(client->sock);
set_env("RFB_SERVER_IP", sip);
free(sip);
if (sip)
free(sip);
}
if (cd && cd->server_port > 0) {
...
...
@@ -5649,15 +5655,19 @@ static void client_gone(rfbClientPtr client) {
if (cd) {
if (cd->server_ip) {
free(cd->server_ip);
cd->server_ip = NULL;
}
if (cd->hostname) {
free(cd->hostname);
cd->hostname = NULL;
}
if (cd->username) {
free(cd->username);
cd->username = NULL;
}
}
free(client->clientData);
client->clientData = NULL;
}
if (inetd) {
...
...
@@ -8697,9 +8707,11 @@ void initialize_allowed_input(void) {
if (allowed_input_normal) {
free(allowed_input_normal);
allowed_input_normal = NULL;
}
if (allowed_input_view_only) {
free(allowed_input_view_only);
allowed_input_view_only = NULL;
}
if (! allowed_input_str) {
...
...
@@ -12956,7 +12968,9 @@ char *process_remote_cmd(char *cmd, int stringonly) {
if (is_loopback) {
rfbLog("re-setting -allow list to all "
"hosts for non-loopback listening.\n");
free(allow_list);
if (allow_list) {
free(allow_list);
}
allow_list = NULL;
}
} else {
...
...
@@ -16216,22 +16230,29 @@ void setup_cursors(void) {
/* this is the rfbCursor part: */
if (ci->rfb->richSource) {
free(ci->rfb->richSource);
ci->rfb->richSource = NULL;
}
if (ci->rfb->source) {
free(ci->rfb->source);
ci->rfb->source = NULL;
}
if (ci->rfb->mask) {
free(ci->rfb->mask);
ci->rfb->mask = NULL;
}
free(ci->rfb);
ci->rfb = NULL;
}
if (ci->data) {
free(ci->data);
ci->data = NULL;
}
if (ci->mask) {
free(ci->mask);
ci->mask = NULL;
}
free(ci);
ci = NULL;
}
/* create new struct: */
...
...
@@ -16388,6 +16409,8 @@ void setup_cursors(void) {
rfb_curs->backGreen = 0xffff;
rfb_curs->backBlue = 0xffff;
}
rfb_curs->alphaSource = NULL;
rfb_curs->xhot = ci->sx;
rfb_curs->yhot = ci->sy;
rfb_curs->cleanup = FALSE;
...
...
@@ -16895,10 +16918,15 @@ int get_xfixes_cursor(int init) {
}
oldest = CURS_DYN_MIN;
if (screen && screen->cursor == cursors[oldest]->rfb) {
oldest++;
}
oldtime = curs_times[oldest];
now = time(0);
for (i = CURS_DYN_MIN; i <= CURS_DYN_MAX; i++) {
if (curs_times[i] < oldtime) {
if (screen && screen->cursor == cursors[i]->rfb) {
;
} else if (curs_times[i] < oldtime) {
/* watch for oldest one to overwrite */
oldest = i;
oldtime = curs_times[i];
...
...
@@ -16924,17 +16952,22 @@ int get_xfixes_cursor(int init) {
/* clean up oldest if it exists */
if (cursors[use]->rfb->richSource) {
free(cursors[use]->rfb->richSource);
cursors[use]->rfb->richSource = NULL;
}
if (cursors[use]->rfb->alphaSource) {
free(cursors[use]->rfb->alphaSource);
cursors[use]->rfb->alphaSource = NULL;
}
if (cursors[use]->rfb->source) {
free(cursors[use]->rfb->source);
cursors[use]->rfb->source = NULL;
}
if (cursors[use]->rfb->mask) {
free(cursors[use]->rfb->mask);
cursors[use]->rfb->mask = NULL;
}
free(cursors[use]->rfb);
cursors[use]->rfb = NULL;
}
/* place cursor into our collection */
...
...
@@ -17424,6 +17457,7 @@ void set_colormap(int reset) {
first = 1;
if (screen->colourMap.data.shorts) {
free(screen->colourMap.data.shorts);
screen->colourMap.data.shorts = NULL;
}
}
...
...
@@ -19099,7 +19133,7 @@ void initialize_screen(int *argc, char **argv, XImage *fb) {
/* called from inetd, we need to treat stdio as our socket */
if (inetd) {
int fd = dup(0);
if (fd <
3
) {
if (fd <
0
) {
rfbLogEnable(1);
rfbErr("dup(0) = %d failed.\n", fd);
rfbLogPerror("dup");
...
...
@@ -19191,6 +19225,10 @@ int dt_cmd(char *cmd) {
return 1;
}
if (getenv("DISPLAY") == NULL) {
set_env("DISPLAY", DisplayString(dpy));
}
rfbLog("running command:\n %s\n", cmd);
usr_bin_path(0);
rc = system(cmd);
...
...
@@ -23175,7 +23213,7 @@ int get_wm_frame_pos(int *px, int *py, int *x, int *y, int *w, int *h,
Bool ret;
int rootx, rooty, wx, wy;
unsigned int mask;
ret = XQueryPointer(dpy, rootwin, &r, &c, &rootx, &rooty, &wx, &wy,
&mask);
...
...
@@ -23508,6 +23546,8 @@ void set_wirecopyrect_mode(char *str) {
} else {
if (! wireframe_copyrect) {
wireframe_copyrect = strdup(wireframe_copyrect_default);
} else {
orig = NULL;
}
rfbLog("unknown -wirecopyrect mode: %s, using: %s\n", str,
wireframe_copyrect);
...
...
@@ -23536,6 +23576,8 @@ void set_scrollcopyrect_mode(char *str) {
} else {
if (! scroll_copyrect) {
scroll_copyrect = strdup(scroll_copyrect_default);
} else {
orig = NULL;
}
rfbLog("unknown -scrollcopyrect mode: %s, using: %s\n", str,
scroll_copyrect);
...
...
@@ -23861,6 +23903,7 @@ void draw_box(int x, int y, int w, int h, int restore) {
if (! first && save[i]) {
if (save[i]->data) {
free(save[i]->data);
save[i]->data = NULL;
}
free(save[i]);
}
...
...
@@ -26403,6 +26446,8 @@ if (db) fprintf(stderr, "INTERIOR\n");
spin += dtime(&tm);
if (0) fprintf(stderr, "wf-spin: %.3f\n", spin);
/* check for any timeouts: */
if (frame_changed) {
double delay;
...
...
@@ -26509,7 +26554,6 @@ if (db) fprintf(stderr, "OUT-OF-FRAME: old: x: %d y: %d px: %d py: %d 0x%lx\n"
}
X_UNLOCK;
/* debugging output, to be removed: */
if (db) fprintf(stderr, " frame: x: %d y: %d w: %d h: %d px: %d py: %d fr: 0x%lx\n", x, y, w, h, px, py, frame);
if (db) fprintf(stderr, " MO,PT,FR: %d/%d %d/%d %d/%d\n", cursor_x - orig_cursor_x, cursor_y - orig_cursor_y, px - orig_px, py - orig_py, x - orig_x, y - orig_y);
...
...
@@ -28431,8 +28475,10 @@ static void print_help(int mode) {
" of startup.\n"
"-inetd Launched by inetd(1): stdio instead of listening socket.\n"
" Note: if you are not redirecting stderr to a log file\n"
" (via shell 2> or -o option) you must also specify the\n"
" -q option, otherwise the stderr goes to the viewer.\n"
" (via shell 2> or -o option) you must also specify the -q\n"
" option, otherwise the stderr goes to the viewer which\n"
" will cause it to abort. Specifying both -inetd and -q\n"
" and no -o will automatically close the stderr.\n"
"-http Instead of using -httpdir (see below) to specify\n"
" where the Java vncviewer applet is, have x11vnc try\n"
" to *guess* where the directory is by looking relative\n"
...
...
@@ -31113,6 +31159,24 @@ int main(int argc, char* argv[]) {
close(n);
}
}
if (inetd && quiet && !logfile) {
int n;
/*
* Redir stderr to /dev/null under -inetd and -quiet
* but no -o logfile. Typical problem:
* Xlib: extension "RECORD" missing on display ":1.0".
* If they want this info, they should use -o logfile,
* or no -q and 2>logfile.
*/
n = open("/dev/null", O_WRONLY);
if (n >= 0) {
if (dup2(n, 2) >= 0) {
if (n > 2) {
close(n);
}
}
}
}
if (! quiet && ! inetd) {
int i;
for (i=1; i < argc_vnc; i++) {
...
...
@@ -31292,6 +31356,7 @@ int main(int argc, char* argv[]) {
shared = 0;
connect_once = 1;
bg = 0;
/* others? */
}
if (flip_byte_order && using_shm && ! quiet) {
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment