Update copyright information.
[oweals/tinc.git] / src / process.c
index c2940bc52c3a545c1ecc003f929e68725f505819..2ca93008af942ac7fb3f769dc833004294c4de8c 100644 (file)
@@ -1,7 +1,7 @@
 /*
     process.c -- process management functions
     Copyright (C) 1999-2005 Ivo Timmermans,
-                  2000-2007 Guus Sliepen <guus@tinc-vpn.org>
+                  2000-2009 Guus Sliepen <guus@tinc-vpn.org>
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -364,28 +364,29 @@ bool execute_script(const char *name, char **envp)
 {
 #ifdef HAVE_SYSTEM
        int status, len;
-       struct stat s;
        char *scriptname, *p;
        int i;
 
        cp();
 
 #ifndef HAVE_MINGW
-       len = asprintf(&scriptname, "\"%s/%s\"", confbase, name);
+       len = xasprintf(&scriptname, "\"%s/%s\"", confbase, name);
 #else
-       len = asprintf(&scriptname, "\"%s/%s.bat\"", confbase, name);
+       len = xasprintf(&scriptname, "\"%s/%s.bat\"", confbase, name);
 #endif
        if(len < 0)
                return false;
 
        scriptname[len - 1] = '\0';
 
+#ifndef HAVE_TUNEMU
        /* First check if there is a script */
 
-       if(stat(scriptname + 1, &s)) {
+       if(access(scriptname + 1, F_OK)) {
                free(scriptname);
                return true;
        }
+#endif
 
        ifdebug(STATUS) logger(LOG_INFO, _("Executing script %s"), name);
 
@@ -587,7 +588,7 @@ void setup_signals(void)
 
        /* Set a default signal handler for every signal, errors will be
           ignored. */
-       for(i = 0; i < NSIG; i++) {
+       for(i = 1; i < NSIG; i++) {
                if(!do_detach)
                        act.sa_handler = SIG_DFL;
                else