Replace MinGW with Windows to avoid ambiguities
authorKirill Isakov <bootctl@gmail.com>
Fri, 25 Mar 2022 17:29:07 +0000 (23:29 +0600)
committerKirill Isakov <bootctl@gmail.com>
Mon, 28 Mar 2022 15:38:29 +0000 (21:38 +0600)
33 files changed:
.ci/tidy/run.sh
src/control.c
src/dropin.c
src/dropin.h
src/event.c
src/event.h
src/fsck.c
src/have.h
src/ifconfig.c
src/invitation.c
src/keys.c
src/logger.c
src/logger.h
src/meson.build
src/names.c
src/net.c
src/net.h
src/net_socket.c
src/nolegacy/crypto.c
src/openssl/crypto.c
src/process.c
src/process.h
src/script.c
src/sptps_test.c
src/tincctl.c
src/tincd.c
src/utils.c
src/utils.h
src/windows/common.h [moved from src/mingw/common.h with 98% similarity]
src/windows/device.c [moved from src/mingw/device.c with 99% similarity]
src/windows/meson.build [moved from src/mingw/meson.build with 92% similarity]
src/xalloc.h
test/integration/splice.c

index 36700a2..bb97586 100755 (executable)
@@ -5,7 +5,7 @@ set -eu
 ./.ci/build.sh "$@"
 
 # Which paths to ignore.
-paths='src/solaris src/mingw src/gcrypt'
+paths='src/solaris src/windows src/gcrypt'
 
 case "$(uname -s)" in
 Linux)
index 175f2bd..86e0f68 100644 (file)
@@ -185,7 +185,7 @@ bool init_control(void) {
        free(localhost);
        fclose(f);
 
-#ifndef HAVE_MINGW
+#ifndef HAVE_WINDOWS
        int unix_fd = socket(AF_UNIX, SOCK_STREAM, 0);
 
        if(unix_fd < 0) {
@@ -232,7 +232,7 @@ bool init_control(void) {
 }
 
 void exit_control(void) {
-#ifndef HAVE_MINGW
+#ifndef HAVE_WINDOWS
        unlink(unixsocketname);
        io_del(&unix_socket);
        close(unix_socket.fd);
index 1489ee6..d086ae1 100644 (file)
@@ -130,7 +130,7 @@ int vasprintf(char **buf, const char *fmt, va_list ap) {
 
 #ifndef HAVE_GETTIMEOFDAY
 int gettimeofday(struct timeval *tv, void *tz) {
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
        FILETIME ft;
        GetSystemTimeAsFileTime(&ft);
        uint64_t lt = (uint64_t)ft.dwLowDateTime | ((uint64_t)ft.dwHighDateTime << 32);
index 9b196b6..a1fb6c1 100644 (file)
@@ -52,7 +52,7 @@ extern int gettimeofday(struct timeval *, void *);
        } while (0)
 #endif
 
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
 #define mkdir(a, b) mkdir(a)
 #ifndef SHUT_RDWR
 #define SHUT_RDWR SD_BOTH
index 5d0bcef..2710a8b 100644 (file)
@@ -30,7 +30,7 @@
 #include "net.h"
 
 struct timeval now;
-#ifndef HAVE_MINGW
+#ifndef HAVE_WINDOWS
 
 #ifdef HAVE_SYS_EPOLL_H
 static int epollset = 0;
@@ -58,7 +58,7 @@ static inline int event_epoll_init(void) {
 #endif
 
 static int io_compare(const io_t *a, const io_t *b) {
-#ifndef HAVE_MINGW
+#ifndef HAVE_WINDOWS
        return a->fd - b->fd;
 #else
 
@@ -114,7 +114,7 @@ void io_add(io_t *io, io_cb_t cb, void *data, int fd, int flags) {
        }
 
        io->fd = fd;
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
 
        if(io->fd != -1) {
                io->event = WSACreateEvent();
@@ -141,7 +141,7 @@ void io_add(io_t *io, io_cb_t cb, void *data, int fd, int flags) {
 #endif
 }
 
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
 void io_add_event(io_t *io, io_cb_t cb, void *data, WSAEVENT event) {
        io->event = event;
        io_add(io, cb, data, -1, 0);
@@ -167,7 +167,7 @@ void io_set(io_t *io, int flags) {
                return;
        }
 
-#ifndef HAVE_MINGW
+#ifndef HAVE_WINDOWS
 #ifdef HAVE_SYS_EPOLL_H
        epoll_ctl(epollset, EPOLL_CTL_DEL, io->fd, NULL);
 
@@ -230,7 +230,7 @@ void io_del(io_t *io) {
        }
 
        io_set(io, 0);
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
 
        if(io->fd != -1 && WSACloseEvent(io->event) == FALSE) {
                abort();
@@ -281,7 +281,7 @@ void timeout_del(timeout_t *timeout) {
        };
 }
 
-#ifndef HAVE_MINGW
+#ifndef HAVE_WINDOWS
 
 // From Matz's Ruby
 #ifndef NSIG
@@ -379,7 +379,7 @@ static struct timeval *timeout_execute(struct timeval *diff) {
 bool event_loop(void) {
        running = true;
 
-#ifndef HAVE_MINGW
+#ifndef HAVE_WINDOWS
 
 #ifdef HAVE_SYS_EPOLL_H
 
index d0f1911..70d86f5 100644 (file)
@@ -33,7 +33,7 @@ typedef void (*signal_cb_t)(void *data);
 typedef struct io_t {
        int fd;
        int flags;
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
        WSAEVENT event;
 #endif
        io_cb_t cb;
@@ -57,7 +57,7 @@ typedef struct signal_t {
 extern struct timeval now;
 
 extern void io_add(io_t *io, io_cb_t cb, void *data, int fd, int flags);
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
 extern void io_add_event(io_t *io, io_cb_t cb, void *data, WSAEVENT event);
 #endif
 extern void io_del(io_t *io);
index fdd584e..e726272 100644 (file)
@@ -185,7 +185,7 @@ static void check_conffile(const char *nodename, bool server) {
        splay_empty_tree(&config);
 }
 
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
 typedef int uid_t;
 
 static uid_t getuid(void) {
@@ -219,7 +219,7 @@ static void check_key_file_mode(const char *fname) {
                }
        }
 }
-#endif // HAVE_MINGW
+#endif // HAVE_WINDOWS
 
 static char *read_node_name(void) {
        if(access(tinc_conf, R_OK) == 0) {
index f19c599..36d17b6 100644 (file)
@@ -21,7 +21,7 @@
     51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 */
 
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
 #define WINVER 0x0600
 #define _WIN32_WINNT 0x0600
 #define WIN32_LEAN_AND_MEAN
@@ -51,7 +51,7 @@
 #define alloca(size) __builtin_alloca(size)
 #endif
 
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
 #ifdef HAVE_W32API_H
 #include <w32api.h>
 #endif
@@ -65,7 +65,7 @@
 #include <process.h>
 #include <direct.h>
 #endif
-#endif // HAVE_MINGW
+#endif // HAVE_WINDOWS
 
 #ifdef HAVE_TERMIOS_H
 #include <termios.h>
 #undef STATUS
 #endif
 
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
 #define SLASH "\\"
 #else
 #define SLASH "/"
index 59aa94c..f4ce313 100644 (file)
@@ -25,7 +25,7 @@
 
 static long start;
 
-#ifndef HAVE_MINGW
+#ifndef HAVE_WINDOWS
 void ifconfig_header(FILE *out) {
        fprintf(out, "#!/bin/sh\n");
        start = ftell(out);
@@ -128,7 +128,7 @@ void ifconfig_address(FILE *out, const char *value) {
                return;
        }
 
-#elif defined(HAVE_MINGW)
+#elif defined(HAVE_WINDOWS)
 
        switch(address.type) {
        case SUBNET_MAC:
@@ -226,7 +226,7 @@ void ifconfig_route(FILE *out, const char *value) {
                }
        }
 
-#elif defined(HAVE_MINGW)
+#elif defined(HAVE_WINDOWS)
 
        if(*gateway_str) {
                switch(subnet.type) {
index d1e1e61..22fd614 100644 (file)
@@ -996,7 +996,7 @@ ask_netname:
        char filename2[PATH_MAX];
        snprintf(filename, sizeof(filename), "%s" SLASH "tinc-up.invitation", confbase);
 
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
        snprintf(filename2, sizeof(filename2), "%s" SLASH "tinc-up.bat", confbase);
 #else
        snprintf(filename2, sizeof(filename2), "%s" SLASH "tinc-up", confbase);
@@ -1028,7 +1028,7 @@ ask_netname:
 
                                if(response == 'e') {
                                        char *command;
-#ifndef HAVE_MINGW
+#ifndef HAVE_WINDOWS
                                        const char *editor = getenv("VISUAL");
 
                                        if(!editor) {
@@ -1358,7 +1358,7 @@ next:
                                continue;
                        }
 
-#if HAVE_MINGW
+#if HAVE_WINDOWS
 
                        // If socket has been shut down, recv() on Windows returns -1 and sets sockerrno
                        // to WSAESHUTDOWN, while on UNIX-like operating systems recv() returns 0, so we
index 5f93a5a..0485c76 100644 (file)
@@ -79,7 +79,7 @@ bool disable_old_keys(const char *filename, const char *what) {
                        return false;
                }
 
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
                // We cannot atomically replace files on Windows.
                char bakfile[PATH_MAX] = "";
                snprintf(bakfile, sizeof(bakfile), "%s.bak", filename);
@@ -95,7 +95,7 @@ bool disable_old_keys(const char *filename, const char *what) {
                        return false;
                }
 
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
                unlink(bakfile);
 #endif
                fprintf(stderr, "Warning: old key(s) found and disabled.\n");
@@ -128,7 +128,7 @@ ecdsa_t *read_ecdsa_private_key(splay_tree_t *config_tree, char **keyfile) {
                return NULL;
        }
 
-#ifndef HAVE_MINGW
+#ifndef HAVE_WINDOWS
        struct stat s;
 
        if(fstat(fileno(fp), &s)) {
@@ -262,7 +262,7 @@ rsa_t *read_rsa_private_key(splay_tree_t *config_tree, char **keyfile) {
                return NULL;
        }
 
-#ifndef HAVE_MINGW
+#ifndef HAVE_WINDOWS
        struct stat s;
 
        if(fstat(fileno(fp), &s)) {
index caaf038..390023b 100644 (file)
@@ -34,7 +34,7 @@ debug_t debug_level = DEBUG_NOTHING;
 static logmode_t logmode = LOGMODE_STDERR;
 static pid_t logpid;
 static FILE *logfile = NULL;
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
 static HANDLE loghandle = NULL;
 #endif
 static const char *logident = NULL;
@@ -72,7 +72,7 @@ static void real_logger(debug_t level, int priority, const char *message) {
                        break;
 
                case LOGMODE_SYSLOG:
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
                        {
                                const char *messages[] = {message};
                                ReportEvent(loghandle, priority, 0, 0, NULL, 1, 0, messages, NULL);
@@ -195,7 +195,7 @@ void openlogger(const char *ident, logmode_t mode) {
                break;
 
        case LOGMODE_SYSLOG:
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
                loghandle = RegisterEventSource(NULL, logident);
 
                if(!loghandle) {
@@ -248,7 +248,7 @@ void closelogger(void) {
                break;
 
        case LOGMODE_SYSLOG:
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
                DeregisterEventSource(loghandle);
                break;
 #else
index 5302582..e8e9a57 100644 (file)
@@ -44,7 +44,7 @@ typedef enum logmode_t {
        LOGMODE_SYSLOG
 } logmode_t;
 
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
 #define LOG_EMERG EVENTLOG_ERROR_TYPE
 #define LOG_ALERT EVENTLOG_ERROR_TYPE
 #define LOG_CRIT EVENTLOG_ERROR_TYPE
index 92f42fa..e37c2db 100644 (file)
@@ -159,7 +159,7 @@ elif os_name.endswith('bsd') or os_name in ['dragonfly', 'darwin']
 elif os_name == 'sunos'
   subdir('solaris')
 elif os_name == 'windows'
-  subdir('mingw')
+  subdir('windows')
 endif
 
 foreach h : check_headers
@@ -228,9 +228,7 @@ if not opt_miniupnpc.disabled()
   endif
 endif
 
-if opt_curses.auto() and os_name == 'windows'
-  message('curses does not link under MinGW')
-else
+if not opt_curses.disabled()
   # The meta-dependency covers more alternatives, but is only available in 0.54+
   curses_name = meson_version.version_compare('>=0.54') ? 'curses' : 'ncurses'
   dep_curses = dependency(curses_name, required: opt_curses, static: static)
@@ -242,7 +240,7 @@ endif
 
 # Some distributions do not supply pkg-config files for readline
 if opt_readline.auto() and os_name == 'windows'
-  message('readline does not link under MinGW')
+  message('readline not available on Windows')
 else
   dep_readline = dependency('readline', required: opt_readline, static: static)
   if not dep_readline.found()
index c9318fa..fa3574b 100644 (file)
@@ -39,7 +39,7 @@ char *program_name = NULL;
   Set all files and paths according to netname
 */
 void make_names(bool daemon) {
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
        HKEY key;
        char installdir[1024] = "";
        DWORD len = sizeof(installdir);
@@ -58,7 +58,7 @@ void make_names(bool daemon) {
                identname = xstrdup("tinc");
        }
 
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
 
        if(!RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SOFTWARE\\tinc", 0, KEY_READ, &key)) {
                if(!RegQueryValueEx(key, NULL, 0, 0, (LPBYTE)installdir, &len)) {
@@ -94,7 +94,7 @@ void make_names(bool daemon) {
                }
        }
 
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
        (void)daemon;
 
        if(!logfilename) {
index 7f84421..9669bc9 100644 (file)
--- a/src/net.c
+++ b/src/net.c
@@ -160,7 +160,7 @@ void terminate_connection(connection_t *c, bool report) {
                do_outgoing_connection(outgoing);
        }
 
-#ifndef HAVE_MINGW
+#ifndef HAVE_WINDOWS
        /* Clean up dead proxy processes */
 
        while(waitpid(-1, NULL, WNOHANG) > 0);
@@ -308,7 +308,7 @@ void handle_meta_connection_data(connection_t *c) {
        }
 }
 
-#ifndef HAVE_MINGW
+#ifndef HAVE_WINDOWS
 static void sigterm_handler(void *data) {
        logger(DEBUG_ALWAYS, LOG_NOTICE, "Got %s signal", strsignal(((signal_t *)data)->signum));
        event_exit();
@@ -487,7 +487,7 @@ int main_loop(void) {
                0, 0
        });
 
-#ifndef HAVE_MINGW
+#ifndef HAVE_WINDOWS
        signal_t sighup = {0};
        signal_t sigterm = {0};
        signal_t sigquit = {0};
@@ -506,7 +506,7 @@ int main_loop(void) {
                return 1;
        }
 
-#ifndef HAVE_MINGW
+#ifndef HAVE_WINDOWS
        signal_del(&sighup);
        signal_del(&sigterm);
        signal_del(&sigquit);
index 261d9c3..1765b1c 100644 (file)
--- a/src/net.h
+++ b/src/net.h
@@ -215,7 +215,7 @@ extern void load_all_nodes(void);
 extern void try_tx(struct node_t *n, bool mtu);
 extern void tarpit(int fd);
 
-#ifndef HAVE_MINGW
+#ifndef HAVE_WINDOWS
 #define closesocket(s) close(s)
 #endif
 
index a8e197b..dfee573 100644 (file)
@@ -47,7 +47,7 @@ int fwmark;
 
 listen_socket_t listen_socket[MAXSOCKETS];
 int listen_sockets;
-#ifndef HAVE_MINGW
+#ifndef HAVE_WINDOWS
 io_t unix_socket;
 #endif
 
@@ -425,7 +425,7 @@ void finish_connecting(connection_t *c) {
 }
 
 static void do_outgoing_pipe(connection_t *c, const char *command) {
-#ifndef HAVE_MINGW
+#ifndef HAVE_WINDOWS
        int fd[2];
 
        if(socketpair(AF_UNIX, SOCK_STREAM, 0, fd)) {
@@ -783,7 +783,7 @@ void handle_new_meta_connection(void *data, int flags) {
        c->allow_request = ID;
 }
 
-#ifndef HAVE_MINGW
+#ifndef HAVE_WINDOWS
 /*
   accept a new UNIX socket connection
 */
index d9df828..6965218 100644 (file)
@@ -21,7 +21,7 @@
 
 #include "../crypto.h"
 
-#ifndef HAVE_MINGW
+#ifndef HAVE_WINDOWS
 
 static int random_fd = -1;
 
index c2df0af..fe5a599 100644 (file)
@@ -24,7 +24,7 @@
 
 #include "../crypto.h"
 
-#ifndef HAVE_MINGW
+#ifndef HAVE_WINDOWS
 
 static int random_fd = -1;
 
index 7deaadf..5e7b1db 100644 (file)
@@ -25,7 +25,7 @@
 #include "process.h"
 #include "version.h"
 
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
 #include "utils.h"
 #endif
 
@@ -42,7 +42,7 @@ bool use_logfile = false;
 
 /* Some functions the less gifted operating systems might lack... */
 
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
 static SC_HANDLE manager = NULL;
 static SC_HANDLE service = NULL;
 static SERVICE_STATUS status = {0};
@@ -202,7 +202,7 @@ bool init_service(void) {
 bool detach(void) {
        logmode_t logmode;
 
-#ifndef HAVE_MINGW
+#ifndef HAVE_WINDOWS
        signal(SIGPIPE, SIG_IGN);
        signal(SIGUSR1, SIG_IGN);
        signal(SIGUSR2, SIG_IGN);
@@ -212,7 +212,7 @@ bool detach(void) {
 #endif
 
        if(do_detach) {
-#ifndef HAVE_MINGW
+#ifndef HAVE_WINDOWS
 
                if(daemon(1, 0)) {
                        logger(DEBUG_ALWAYS, LOG_ERR, "Couldn't detach from terminal: %s", strerror(errno));
index 1aae6de..70f1c5c 100644 (file)
@@ -29,7 +29,7 @@ extern bool use_syslog;
 
 extern bool detach(void);
 
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
 #include "event.h"
 
 extern io_t stop_io;
index b380931..0b16c86 100644 (file)
@@ -37,7 +37,7 @@ static void unputenv(const char *p) {
 
        ptrdiff_t len = e - p;
 #ifndef HAVE_UNSETENV
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
        // Windows requires putenv("FOO=") to unset %FOO%
        len++;
 #endif
@@ -148,7 +148,7 @@ bool execute_script(const char *name, environment_t *env) {
 
        /* First check if there is a script */
 
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
 
        if(!*scriptextension) {
                const char *pathext = getenv("PATHEXT");
index 1da0571..baca66b 100644 (file)
@@ -25,7 +25,7 @@
 
 #include <getopt.h>
 
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
 #include <pthread.h>
 #endif
 
@@ -37,7 +37,7 @@
 #include "utils.h"
 #include "names.h"
 
-#ifndef HAVE_MINGW
+#ifndef HAVE_WINDOWS
 #define closesocket(s) close(s)
 #endif
 
@@ -160,7 +160,7 @@ static void usage(void) {
        fprintf(stderr, message, program_name);
 }
 
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
 
 int stdin_sock_fd = -1;
 
@@ -308,7 +308,7 @@ server_err:
        return -1;
 }
 
-#endif // HAVE_MINGW
+#endif // HAVE_WINDOWS
 
 int main(int argc, char *argv[]) {
        program_name = argv[0];
@@ -428,7 +428,7 @@ int main(int argc, char *argv[]) {
 
 #endif
 
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
        static struct WSAData wsa_state;
 
        if(WSAStartup(MAKEWORD(2, 2), &wsa_state)) {
@@ -566,7 +566,7 @@ int main(int argc, char *argv[]) {
                return 1;
        }
 
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
 
        if(!readonly) {
                in = start_input_reader();
@@ -607,7 +607,7 @@ int main(int argc, char *argv[]) {
                }
 
                if(FD_ISSET(in, &fds)) {
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
                        ssize_t len = recv(in, buf, readsize, 0);
 #else
                        ssize_t len = read(in, buf, readsize);
@@ -621,7 +621,7 @@ int main(int argc, char *argv[]) {
                        }
 
                        if(len == 0) {
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
                                shutdown(in, SD_SEND);
                                closesocket(in);
 #endif
index 946e749..c700f94 100644 (file)
@@ -281,7 +281,7 @@ ask_filename:
                }
        }
 
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
 
        if(filename[0] != '\\' && filename[0] != '/' && !strchr(filename, ':')) {
 #else
@@ -651,7 +651,7 @@ static bool stop_tincd(void) {
        return true;
 }
 
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
 static bool remove_service(void) {
        SC_HANDLE manager = NULL;
        SC_HANDLE service = NULL;
@@ -748,7 +748,7 @@ bool connect_tincd(bool verbose) {
 
        fclose(f);
 
-#ifndef HAVE_MINGW
+#ifndef HAVE_WINDOWS
 
        if((pid == 0) || (kill(pid, 0) && (errno == ESRCH))) {
                fprintf(stderr, "Could not find tincd running at pid %d\n", pid);
@@ -886,7 +886,7 @@ static int cmd_start(int argc, char *argv[]) {
        char *c;
        char *slash = strrchr(program_name, '/');
 
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
 
        if((c = strrchr(program_name, '\\')) > slash) {
                slash = c;
@@ -904,7 +904,7 @@ static int cmd_start(int argc, char *argv[]) {
        char **nargv = xzalloc((optind + argc) * sizeof(*nargv));
 
        char *arg0 = c;
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
        /*
           Windows has no real concept of an "argv array". A command line is just one string.
           The CRT of the new process will decode the command line string to generate argv before calling main(), and (by convention)
@@ -925,7 +925,7 @@ static int cmd_start(int argc, char *argv[]) {
                nargv[nargc++] = argv[i];
        }
 
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
        int status = spawnvp(_P_WAIT, c, nargv);
 
        free(nargv);
@@ -1024,7 +1024,7 @@ static int cmd_stop(int argc, char *argv[]) {
                return 1;
        }
 
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
        return remove_service() ? EXIT_SUCCESS : EXIT_FAILURE;
 #else
 
@@ -2058,7 +2058,7 @@ static int cmd_config(int argc, char *argv[]) {
        }
 
        // Replace the configuration file with the new one
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
 
        if(remove(filename)) {
                fprintf(stderr, "Error replacing file %s: %s\n", filename, strerror(errno));
@@ -2234,7 +2234,7 @@ static int cmd_init(int argc, char *argv[]) {
 
        check_port(name);
 
-#ifndef HAVE_MINGW
+#ifndef HAVE_WINDOWS
        char filename[PATH_MAX];
        snprintf(filename, sizeof(filename), "%s" SLASH "tinc-up", confbase);
 
@@ -2396,7 +2396,7 @@ static int cmd_edit(int argc, char *argv[]) {
        }
 
        char *command;
-#ifndef HAVE_MINGW
+#ifndef HAVE_WINDOWS
        const char *editor = getenv("VISUAL");
 
        if(!editor) {
@@ -3290,7 +3290,7 @@ int main(int argc, char *argv[]) {
                return 0;
        }
 
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
        static struct WSAData wsa_state;
 
        if(WSAStartup(MAKEWORD(2, 2), &wsa_state)) {
index 1ee8769..9850eeb 100644 (file)
@@ -37,7 +37,7 @@
 #include <lz4.h>
 #endif
 
-#ifndef HAVE_MINGW
+#ifndef HAVE_WINDOWS
 #include <pwd.h>
 #include <grp.h>
 #include <time.h>
@@ -66,7 +66,7 @@ static bool show_version = false;
 static bool do_mlock = false;
 #endif
 
-#ifndef HAVE_MINGW
+#ifndef HAVE_WINDOWS
 /* If nonzero, chroot to netdir after startup. */
 static bool do_chroot = false;
 
@@ -96,7 +96,7 @@ static struct option const long_options[] = {
        {NULL, 0, NULL, 0}
 };
 
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
 static struct WSAData wsa_state;
 int main2(int argc, char **argv);
 #endif
@@ -121,7 +121,7 @@ static void usage(bool status) {
                        "      --pidfile=FILENAME        Write PID and control socket cookie to FILENAME.\n"
                        "      --bypass-security         Disables meta protocol security, for debugging.\n"
                        "  -o, --option[HOST.]KEY=VALUE  Set global/host configuration value.\n"
-#ifndef HAVE_MINGW
+#ifndef HAVE_WINDOWS
                        "  -R, --chroot                  chroot to NET dir at startup.\n"
                        "  -U, --user=USER               setuid to given USER at startup.\n"
 #endif
@@ -196,7 +196,7 @@ static bool parse_options(int argc, char **argv) {
                        list_insert_tail(&cmdline_conf, cfg);
                        break;
 
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
 
                case 'R':
                case 'U':
@@ -289,7 +289,7 @@ exit_fail:
 }
 
 static bool drop_privs(void) {
-#ifndef HAVE_MINGW
+#ifndef HAVE_WINDOWS
        uid_t uid = 0;
 
        if(switchuser) {
@@ -342,7 +342,7 @@ static bool drop_privs(void) {
        return true;
 }
 
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
 # define setpriority(level) !SetPriorityClass(GetCurrentProcess(), (level))
 
 static void stop_handler(void *data, int flags) {
@@ -445,7 +445,7 @@ int main(int argc, char **argv) {
                return 1;
        }
 
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
 
        if(WSAStartup(MAKEWORD(2, 2), &wsa_state)) {
                logger(DEBUG_ALWAYS, LOG_ERR, "System call `%s' failed: %s", "WSAStartup", winerror(GetLastError()));
@@ -511,7 +511,7 @@ int main(int argc, char **argv) {
 
 #endif
 
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
        io_add_event(&stop_io, stop_handler, NULL, WSACreateEvent());
 
        if(stop_io.event == FALSE) {
index 8b0cd6e..4150d92 100644 (file)
@@ -176,7 +176,7 @@ size_t b64encode_tinc_urlsafe(const void *src, char *dst, size_t length) {
        return b64encode_tinc_internal(src, dst, length, base64_urlsafe);
 }
 
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
 const char *winerror(int err) {
        static char buf[1024], *ptr;
 
index 9756a3e..5f1bd8b 100644 (file)
@@ -34,7 +34,7 @@ extern size_t b64encode_tinc(const void *src, char *dst, size_t length);
 extern size_t b64encode_tinc_urlsafe(const void *src, char *dst, size_t length);
 extern size_t b64decode_tinc(const char *src, void *dst, size_t length);
 
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
 extern const char *winerror(int);
 #define strerror(x) ((x)>0?strerror(x):winerror(GetLastError()))
 #define sockerrno WSAGetLastError()
similarity index 98%
rename from src/mingw/common.h
rename to src/windows/common.h
index ff052c9..dd0e6dd 100644 (file)
@@ -1,5 +1,5 @@
-#ifndef TINC_MINGW_COMMON_H
-#define TINC_MINGW_COMMON_H
+#ifndef TINC_WINDOWS_COMMON_H
+#define TINC_WINDOWS_COMMON_H
 
 /*
  *  TAP-Win32 -- A kernel driver to provide virtual tap device functionality
similarity index 99%
rename from src/mingw/device.c
rename to src/windows/device.c
index 03a1d48..51d09f7 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    device.c -- Interaction with Windows tap driver in a MinGW environment
+    device.c -- Interaction with the TAP-Windows driver
     Copyright (C) 2002-2005 Ivo Timmermans,
                   2002-2022 Guus Sliepen <guus@tinc-vpn.org>
 
similarity index 92%
rename from src/mingw/meson.build
rename to src/windows/meson.build
index 5cd2c7b..8766bc1 100644 (file)
@@ -16,5 +16,3 @@ endforeach
 
 src_tincd += files('device.c')
 
-cdata.set('HAVE_MINGW', 1)
-
index 33f30d0..da74ce1 100644 (file)
@@ -67,7 +67,7 @@ static inline char *xstrdup(const char *s) {
 }
 
 static inline int xvasprintf(char **strp, const char *fmt, va_list ap) {
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
        char buf[1024];
        int result = vsnprintf(buf, sizeof(buf), fmt, ap);
 
index 07c3503..e72d0c7 100644 (file)
@@ -19,7 +19,7 @@
 
 #include "../../src/system.h"
 
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
 static const char *winerror(int err) {
        static char buf[1024], *ptr;
 
@@ -59,7 +59,7 @@ int main(int argc, char *argv[]) {
                protocol = "17.7";
        }
 
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
        static struct WSAData wsa_state;
 
        if(WSAStartup(MAKEWORD(2, 2), &wsa_state)) {