]> git.proxmox.com Git - vncterm.git/blob - vncpatches/tls-auth-pluging.patch
libvncserver: refresh TLS patch
[vncterm.git] / vncpatches / tls-auth-pluging.patch
1 Index: vnc/libvncserver/auth.c
2 ===================================================================
3 @@ -300,8 +300,9 @@
4 int32_t securityType = rfbSecTypeInvalid;
5
6 if (!cl->screen->authPasswdData || cl->reverseConnection) {
7 - /* chk if this condition is valid or not. */
8 - securityType = rfbSecTypeNone;
9 + /* chk if this condition is valid or not. */
10 + /* we disable anonymous auth */
11 + // securityType = rfbSecTypeNone;
12 } else if (cl->screen->authPasswdData) {
13 securityType = rfbSecTypeVncAuth;
14 }
15 Index: vnc/newterm/Makefile.am
16 Index: vnc/libvncserver/sockets.c
17 ===================================================================
18 --- vnc.orig/libvncserver/sockets.c 2011-01-20 16:42:41.000000000 +0100
19 +++ vnc/libvncserver/sockets.c 2011-01-21 10:20:03.000000000 +0100
20 @@ -613,7 +613,11 @@ rfbReadExactTimeout(rfbClientPtr cl, char* buf, int len, int timeout)
21 n = read(sock, buf, len);
22 }
23 #else
24 - n = read(sock, buf, len);
25 + if (cl->sock_read_fn) {
26 + n = cl->sock_read_fn(cl, buf, len);
27 + } else {
28 + n = read(sock, buf, len);
29 + }
30 #endif
31
32 if (n > 0) {
33 @@ -801,7 +805,11 @@ rfbWriteExact(rfbClientPtr cl,
34 n = rfbssl_write(cl, buf, len);
35 else
36 #endif
37 + if (cl->sock_write_fn) {
38 + n = cl->sock_write_fn(cl, buf, len);
39 + } else {
40 n = write(sock, buf, len);
41 + }
42
43 if (n > 0) {
44
45 Index: vnc/rfb/rfb.h
46 ===================================================================
47 --- vnc.orig/rfb/rfb.h 2011-01-20 16:36:06.000000000 +0100
48 +++ vnc/rfb/rfb.h 2011-01-21 06:44:22.000000000 +0100
49 @@ -397,6 +397,9 @@
50 struct _rfbStatList *Next;
51 } rfbStatList;
52
53 +typedef ssize_t (*sock_read_fn_t)(struct _rfbClientRec *cl, void *buf, size_t count);
54 +typedef ssize_t (*sock_write_fn_t)(struct _rfbClientRec *cl, const void *buf, size_t count);
55 +
56 typedef struct _rfbClientRec {
57
58 /* back pointer to the screen */
59 @@ -417,6 +420,10 @@
60 void* clientData;
61 ClientGoneHookPtr clientGoneHook;
62
63 + /* use to hook up TLS read/write */
64 + sock_read_fn_t sock_read_fn;
65 + sock_read_fn_t sock_write_fn;
66 +
67 SOCKET sock;
68 char *host;
69