182 lines
5.8 KiB
Diff
182 lines
5.8 KiB
Diff
diff -Naur libvncserver-LibVNCServer-0.9.12-orig/libvncclient/listen.c libvncserver-LibVNCServer-0.9.12/libvncclient/listen.c
|
|
--- libvncserver-LibVNCServer-0.9.12-orig/libvncclient/listen.c 2019-01-06 22:09:30.000000000 +0300
|
|
+++ libvncserver-LibVNCServer-0.9.12/libvncclient/listen.c 2019-06-14 22:07:07.537989200 +0300
|
|
@@ -30,7 +30,7 @@
|
|
#endif
|
|
#include <sys/types.h>
|
|
#ifdef WIN32
|
|
-#define close closesocket
|
|
+//#define close closesocket
|
|
#include <winsock2.h>
|
|
#else // #ifdef WIN32
|
|
#include <sys/wait.h>
|
|
diff -Naur libvncserver-LibVNCServer-0.9.12-orig/libvncserver/main.c libvncserver-LibVNCServer-0.9.12/libvncserver/main.c
|
|
--- libvncserver-LibVNCServer-0.9.12-orig/libvncserver/main.c 2019-01-06 22:09:30.000000000 +0300
|
|
+++ libvncserver-LibVNCServer-0.9.12/libvncserver/main.c 2019-06-14 22:10:32.112690200 +0300
|
|
@@ -29,12 +29,15 @@
|
|
#include <sys/types.h>
|
|
#endif
|
|
|
|
-#ifndef WIN32
|
|
+#ifdef WIN32
|
|
+#include <io.h>
|
|
+#define pipe(a) _pipe((a), 0, _O_BINARY | _O_NOINHERIT)
|
|
+#else
|
|
#include <sys/socket.h>
|
|
#include <netinet/in.h>
|
|
#include <unistd.h>
|
|
-#include <fcntl.h>
|
|
#endif
|
|
+#include <fcntl.h>
|
|
|
|
#include <signal.h>
|
|
#include <time.h>
|
|
@@ -646,7 +649,12 @@
|
|
cl->pipe_notify_client_thread[0] = -1;
|
|
cl->pipe_notify_client_thread[1] = -1;
|
|
}
|
|
+#ifdef _WIN32
|
|
+ u_long nonblock = 1;
|
|
+ ioctlsocket(cl->pipe_notify_client_thread[0], FIONBIO, &nonblock);
|
|
+#else
|
|
fcntl(cl->pipe_notify_client_thread[0], F_SETFL, O_NONBLOCK);
|
|
+#endif
|
|
|
|
pthread_create(&cl->client_thread, NULL, clientInput, (void *)cl);
|
|
}
|
|
diff -Naur libvncserver-LibVNCServer-0.9.12-orig/libvncserver/tightvnc-filetransfer/filetransfermsg.c libvncserver-LibVNCServer-0.9.12/libvncserver/tightvnc-filetransfer/filetransfermsg.c
|
|
--- libvncserver-LibVNCServer-0.9.12-orig/libvncserver/tightvnc-filetransfer/filetransfermsg.c 2019-01-06 22:09:30.000000000 +0300
|
|
+++ libvncserver-LibVNCServer-0.9.12/libvncserver/tightvnc-filetransfer/filetransfermsg.c 2019-06-14 21:55:44.369914200 +0300
|
|
@@ -786,9 +786,10 @@
|
|
* Method to handle create directory request.
|
|
******************************************************************************/
|
|
|
|
-#ifdef _MSC_VER
|
|
+#ifdef _WIN32
|
|
#undef CreateDirectory /* Prevent macro clashes under Windows */
|
|
-#endif /* _MSC_VER */
|
|
+#define mkdir(path,mode) _mkdir(path)
|
|
+#endif /* _WIN32 */
|
|
|
|
void
|
|
CreateDirectory(char* dirName)
|
|
diff -Naur libvncserver-LibVNCServer-0.9.12-orig/libvncserver/tightvnc-filetransfer/filetransfermsg.h libvncserver-LibVNCServer-0.9.12/libvncserver/tightvnc-filetransfer/filetransfermsg.h
|
|
--- libvncserver-LibVNCServer-0.9.12-orig/libvncserver/tightvnc-filetransfer/filetransfermsg.h 2019-01-06 22:09:30.000000000 +0300
|
|
+++ libvncserver-LibVNCServer-0.9.12/libvncserver/tightvnc-filetransfer/filetransfermsg.h 2019-06-14 22:10:52.216840100 +0300
|
|
@@ -26,10 +26,10 @@
|
|
#ifndef FILE_TRANSFER_MSG_H
|
|
#define FILE_TRANSFER_MSG_H
|
|
|
|
-#ifdef _MSC_VER
|
|
+#ifdef _WIN32
|
|
#pragma push_macro("CreateDirectory")
|
|
#undef CreateDirectory /* Prevent macro clashes under Windows */
|
|
-#endif /* _MSC_VER */
|
|
+#endif /* _WIN32 */
|
|
|
|
typedef struct _FileTransferMsg {
|
|
char* data;
|
|
diff -Naur libvncserver-LibVNCServer-0.9.12-orig/libvncserver/tightvnc-filetransfer/handlefiletransferrequest.c libvncserver-LibVNCServer-0.9.12/libvncserver/tightvnc-filetransfer/handlefiletransferrequest.c
|
|
--- libvncserver-LibVNCServer-0.9.12-orig/libvncserver/tightvnc-filetransfer/handlefiletransferrequest.c 2019-01-06 22:09:30.000000000 +0300
|
|
+++ libvncserver-LibVNCServer-0.9.12/libvncserver/tightvnc-filetransfer/handlefiletransferrequest.c 2019-06-14 22:11:49.243101800 +0300
|
|
@@ -22,9 +22,12 @@
|
|
* Date : 14th July 2005
|
|
*/
|
|
|
|
-#ifndef _MSC_VER
|
|
+#ifdef _WIN32
|
|
+#include <windows.h>
|
|
+#include <shlobj.h>
|
|
+#else
|
|
#include <pwd.h>
|
|
-#endif /* _MSC_VER */
|
|
+#endif /* _WIN32*/
|
|
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
@@ -60,7 +63,11 @@
|
|
|
|
void InitFileTransfer();
|
|
int SetFtpRoot(char* path);
|
|
+#ifdef _WIN32
|
|
+char* GetHomeDir();
|
|
+#else
|
|
char* GetHomeDir(uid_t uid);
|
|
+#endif
|
|
void FreeHomeDir(char *homedir);
|
|
|
|
/*
|
|
@@ -73,7 +80,9 @@
|
|
InitFileTransfer()
|
|
{
|
|
char* userHome = NULL;
|
|
+#ifndef _WIN32
|
|
uid_t uid = geteuid();
|
|
+#endif
|
|
|
|
if(fileTransferInitted)
|
|
return;
|
|
@@ -82,7 +91,11 @@
|
|
|
|
memset(ftproot, 0, sizeof(ftproot));
|
|
|
|
+#ifdef _WIN32
|
|
+ userHome = GetHomeDir();
|
|
+#else
|
|
userHome = GetHomeDir(uid);
|
|
+#endif
|
|
|
|
if((userHome != NULL) && (strlen(userHome) != 0)) {
|
|
SetFtpRoot(userHome);
|
|
@@ -157,6 +170,18 @@
|
|
* is not found or any error. The returned string must be freed by calling the
|
|
* freehomedir function.
|
|
*/
|
|
+#ifdef _WIN32
|
|
+char*
|
|
+GetHomeDir() {
|
|
+ char *homedir = NULL;
|
|
+ char path[ MAX_PATH ];
|
|
+ if (SHGetFolderPathA( NULL, CSIDL_PROFILE, NULL, 0, path ) == S_OK) {
|
|
+ homedir = strdup (path);
|
|
+ }
|
|
+
|
|
+ return homedir;
|
|
+}
|
|
+#else
|
|
char*
|
|
GetHomeDir(uid_t uid)
|
|
{
|
|
@@ -173,6 +198,7 @@
|
|
|
|
return homedir;
|
|
}
|
|
+#endif
|
|
|
|
|
|
/*
|
|
diff -Naur libvncserver-LibVNCServer-0.9.12-orig/rfb/rfb.h libvncserver-LibVNCServer-0.9.12/rfb/rfb.h
|
|
--- libvncserver-LibVNCServer-0.9.12-orig/rfb/rfb.h 2019-01-06 22:09:30.000000000 +0300
|
|
+++ libvncserver-LibVNCServer-0.9.12/rfb/rfb.h 2019-06-14 17:05:09.465694700 +0300
|
|
@@ -54,7 +54,7 @@
|
|
|
|
#ifdef WIN32
|
|
#undef SOCKET
|
|
-typedef UINT32 in_addr_t;
|
|
+typedef uint32_t in_addr_t;
|
|
#include <winsock2.h>
|
|
#ifdef LIBVNCSERVER_HAVE_WS2TCPIP_H
|
|
#undef socklen_t
|
|
diff -Naur libvncserver-LibVNCServer-0.9.12-orig/CMakeLists.txt libvncserver-LibVNCServer-0.9.12/CMakeLists.txt
|
|
--- libvncserver-LibVNCServer-0.9.12-orig/CMakeLists.txt 2019-06-14 22:17:12.893613500 +0300
|
|
+++ libvncserver-LibVNCServer-0.9.12/CMakeLists.txt 2019-06-14 22:17:17.525878500 +0300
|
|
@@ -454,7 +454,7 @@
|
|
add_library(vncclient ${LIBVNCCLIENT_SOURCES})
|
|
add_library(vncserver ${LIBVNCSERVER_SOURCES})
|
|
if(WIN32)
|
|
- set(ADDITIONAL_LIBS ${ADDITIONAL_LIBS} ws2_32)
|
|
+ set(ADDITIONAL_LIBS ${ADDITIONAL_LIBS} ws2_32 shlwapi)
|
|
endif(WIN32)
|
|
|
|
target_link_libraries(vncclient
|