Commit dfe54d12baf03ef3723023e70e461ef219b891b8
Exists in
master
and in
3 other branches
Merge branch 'master' into CVE-2019-15525
Showing
4 changed files
with
52 additions
and
18 deletions
Show diff stats
@@ -0,0 +1,21 @@ | @@ -0,0 +1,21 @@ | ||
1 | +{ | ||
2 | + "configurations": [ | ||
3 | + { | ||
4 | + "name": "Win32", | ||
5 | + "includePath": [ | ||
6 | + "${workspaceFolder}/**" | ||
7 | + ], | ||
8 | + "defines": [ | ||
9 | + "_DEBUG", | ||
10 | + "UNICODE", | ||
11 | + "_UNICODE" | ||
12 | + ], | ||
13 | + "windowsSdkVersion": "10.0.18362.0", | ||
14 | + "compilerPath": "C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.23.28105/bin/Hostx64/x64/cl.exe", | ||
15 | + "cStandard": "c11", | ||
16 | + "cppStandard": "c++17", | ||
17 | + "intelliSenseMode": "msvc-x64" | ||
18 | + } | ||
19 | + ], | ||
20 | + "version": 4 | ||
21 | +} | ||
0 | \ No newline at end of file | 22 | \ No newline at end of file |
.vscode/tasks.json
1 | +// See https://go.microsoft.com/fwlink/?LinkId=733558 | ||
2 | +// for the documentation about the tasks.json format | ||
1 | { | 3 | { |
2 | - // See https://go.microsoft.com/fwlink/?LinkId=733558 | ||
3 | - // for the documentation about the tasks.json format | ||
4 | "version": "2.0.0", | 4 | "version": "2.0.0", |
5 | "tasks": [ | 5 | "tasks": [ |
6 | { | 6 | { |
7 | + "label": "msvc build", | ||
7 | "type": "shell", | 8 | "type": "shell", |
8 | - "label": "Make Debug", | ||
9 | - "command": "make", | 9 | + "command": "cl.exe", |
10 | "args": [ | 10 | "args": [ |
11 | - "Debug" | ||
12 | - ], | ||
13 | - "problemMatcher": [ | ||
14 | - "$gcc" | 11 | + "/favor:AMD64", |
12 | + "/c", | ||
13 | + "/I ${workspaceFolder}/src/include", | ||
14 | + "${file}" | ||
15 | ], | 15 | ], |
16 | "group": { | 16 | "group": { |
17 | "kind": "build", | 17 | "kind": "build", |
18 | "isDefault": true | 18 | "isDefault": true |
19 | - } | 19 | + }, |
20 | + "presentation": { | ||
21 | + "reveal": "always" | ||
22 | + }, | ||
23 | + "problemMatcher": "$msCompile" | ||
20 | } | 24 | } |
21 | ] | 25 | ] |
22 | -} | ||
23 | \ No newline at end of file | 26 | \ No newline at end of file |
27 | + } | ||
24 | \ No newline at end of file | 28 | \ No newline at end of file |
src/include/lib3270-internals.h
@@ -107,16 +107,25 @@ | @@ -107,16 +107,25 @@ | ||
107 | 107 | ||
108 | #endif | 108 | #endif |
109 | 109 | ||
110 | +#if defined(_WIN32) || defined(_MSC_VER) | ||
111 | + | ||
112 | + #include <winsock2.h> | ||
113 | + #include <windows.h> | ||
114 | + | ||
115 | +#else | ||
116 | + | ||
117 | + #include <unistd.h> /* Unix system calls */ | ||
118 | + #include <sys/time.h> /* System time-related data types */ | ||
119 | + | ||
120 | +#endif // _WIN32 | ||
110 | 121 | ||
111 | /* | 122 | /* |
112 | * Prerequisite #includes. | 123 | * Prerequisite #includes. |
113 | */ | 124 | */ |
114 | #include <stdio.h> /* Unix standard I/O library */ | 125 | #include <stdio.h> /* Unix standard I/O library */ |
115 | -#include <unistd.h> /* Unix system calls */ | ||
116 | #include <ctype.h> /* Character classes */ | 126 | #include <ctype.h> /* Character classes */ |
117 | #include <string.h> /* String manipulations */ | 127 | #include <string.h> /* String manipulations */ |
118 | #include <sys/types.h> /* Basic system data types */ | 128 | #include <sys/types.h> /* Basic system data types */ |
119 | -#include <sys/time.h> /* System time-related data types */ | ||
120 | #include <time.h> /* C library time functions */ | 129 | #include <time.h> /* C library time functions */ |
121 | #include "localdefs.h" /* {s,tcl,c}3270-specific defines */ | 130 | #include "localdefs.h" /* {s,tcl,c}3270-specific defines */ |
122 | 131 | ||
@@ -293,7 +302,7 @@ struct lib3270_text | @@ -293,7 +302,7 @@ struct lib3270_text | ||
293 | */ | 302 | */ |
294 | typedef struct timeout | 303 | typedef struct timeout |
295 | { | 304 | { |
296 | - LIB3270_LINKED_LIST_HEAD; | 305 | + LIB3270_LINKED_LIST_HEAD |
297 | 306 | ||
298 | unsigned char in_play; | 307 | unsigned char in_play; |
299 | 308 | ||
@@ -315,7 +324,7 @@ typedef struct timeout | @@ -315,7 +324,7 @@ typedef struct timeout | ||
315 | */ | 324 | */ |
316 | typedef struct _input_t | 325 | typedef struct _input_t |
317 | { | 326 | { |
318 | - LIB3270_LINKED_LIST_HEAD; | 327 | + LIB3270_LINKED_LIST_HEAD |
319 | 328 | ||
320 | unsigned char enabled; | 329 | unsigned char enabled; |
321 | int fd; | 330 | int fd; |
@@ -327,14 +336,14 @@ typedef struct _input_t | @@ -327,14 +336,14 @@ typedef struct _input_t | ||
327 | 336 | ||
328 | struct lib3270_state_callback | 337 | struct lib3270_state_callback |
329 | { | 338 | { |
330 | - LIB3270_LINKED_LIST_HEAD; | 339 | + LIB3270_LINKED_LIST_HEAD |
331 | 340 | ||
332 | void (*func)(H3270 *, int, void *); /**< @brief Function to call */ | 341 | void (*func)(H3270 *, int, void *); /**< @brief Function to call */ |
333 | }; | 342 | }; |
334 | 343 | ||
335 | struct lib3270_toggle_callback | 344 | struct lib3270_toggle_callback |
336 | { | 345 | { |
337 | - LIB3270_LINKED_LIST_HEAD; | 346 | + LIB3270_LINKED_LIST_HEAD |
338 | 347 | ||
339 | void (*func)(H3270 *, LIB3270_TOGGLE_ID, char, void *); /**< @brief Function to call */ | 348 | void (*func)(H3270 *, LIB3270_TOGGLE_ID, char, void *); /**< @brief Function to call */ |
340 | }; | 349 | }; |
src/include/lib3270/session.h
@@ -31,13 +31,13 @@ | @@ -31,13 +31,13 @@ | ||
31 | 31 | ||
32 | #define LIB3270_SESSION_H_INCLUDED 1 | 32 | #define LIB3270_SESSION_H_INCLUDED 1 |
33 | 33 | ||
34 | - #ifdef WIN32 | 34 | + #if defined(_WIN32) || defined(_MSC_VER) |
35 | #include <winsock2.h> | 35 | #include <winsock2.h> |
36 | #include <windows.h> | 36 | #include <windows.h> |
37 | #include <ws2tcpip.h> | 37 | #include <ws2tcpip.h> |
38 | #else | 38 | #else |
39 | #include <sys/socket.h> | 39 | #include <sys/socket.h> |
40 | - #endif // WIN32 | 40 | + #endif // _WIN32 |
41 | 41 | ||
42 | #ifdef HAVE_LIBSSL | 42 | #ifdef HAVE_LIBSSL |
43 | #include <openssl/ssl.h> | 43 | #include <openssl/ssl.h> |