]>
Commit | Line | Data |
---|---|---|
1 | Index: libvncserver-LibVNCServer-0.9.13/libvncserver/auth.c | |
2 | =================================================================== | |
3 | --- libvncserver-LibVNCServer-0.9.13.orig/libvncserver/auth.c | |
4 | +++ libvncserver-LibVNCServer-0.9.13/libvncserver/auth.c | |
5 | @@ -301,7 +301,8 @@ rfbAuthNewClient(rfbClientPtr cl) | |
6 | ||
7 | if (!cl->screen->authPasswdData || cl->reverseConnection) { | |
8 | /* chk if this condition is valid or not. */ | |
9 | - securityType = rfbSecTypeNone; | |
10 | + /* we disable anonymous auth */ | |
11 | + // securityType = rfbSecTypeNone; | |
12 | } else if (cl->screen->authPasswdData) { | |
13 | securityType = rfbSecTypeVncAuth; | |
14 | } | |
15 | Index: libvncserver-LibVNCServer-0.9.13/libvncserver/sockets.c | |
16 | =================================================================== | |
17 | --- libvncserver-LibVNCServer-0.9.13.orig/libvncserver/sockets.c | |
18 | +++ libvncserver-LibVNCServer-0.9.13/libvncserver/sockets.c | |
19 | @@ -638,7 +638,11 @@ rfbReadExactTimeout(rfbClientPtr cl, cha | |
20 | n = read(sock, buf, len); | |
21 | } | |
22 | #else | |
23 | - n = read(sock, buf, len); | |
24 | + if (cl->sock_read_fn) { | |
25 | + n = cl->sock_read_fn(cl, buf, len); | |
26 | + } else { | |
27 | + n = read(sock, buf, len); | |
28 | + } | |
29 | #endif | |
30 | ||
31 | if (n > 0) { | |
32 | @@ -826,7 +830,11 @@ rfbWriteExact(rfbClientPtr cl, | |
33 | n = rfbssl_write(cl, buf, len); | |
34 | else | |
35 | #endif | |
36 | + if (cl->sock_write_fn) { | |
37 | + n = cl->sock_write_fn(cl, buf, len); | |
38 | + } else { | |
39 | n = write(sock, buf, len); | |
40 | + } | |
41 | ||
42 | if (n > 0) { | |
43 | ||
44 | Index: libvncserver-LibVNCServer-0.9.13/rfb/rfb.h | |
45 | =================================================================== | |
46 | --- libvncserver-LibVNCServer-0.9.13.orig/rfb/rfb.h | |
47 | +++ libvncserver-LibVNCServer-0.9.13/rfb/rfb.h | |
48 | @@ -411,6 +411,9 @@ typedef struct _rfbStatList { | |
49 | typedef struct _rfbSslCtx rfbSslCtx; | |
50 | typedef struct _wsCtx wsCtx; | |
51 | ||
52 | +typedef ssize_t (*sock_read_fn_t)(struct _rfbClientRec *cl, void *buf, size_t count); | |
53 | +typedef ssize_t (*sock_write_fn_t)(struct _rfbClientRec *cl, const void *buf, size_t count); | |
54 | + | |
55 | typedef struct _rfbClientRec { | |
56 | ||
57 | /** back pointer to the screen */ | |
58 | @@ -431,6 +434,10 @@ typedef struct _rfbClientRec { | |
59 | void* clientData; | |
60 | ClientGoneHookPtr clientGoneHook; | |
61 | ||
62 | + /* use to hook up TLS read/write */ | |
63 | + sock_read_fn_t sock_read_fn; | |
64 | + sock_read_fn_t sock_write_fn; | |
65 | + | |
66 | rfbSocket sock; | |
67 | char *host; | |
68 |