change error messages in droppriv code to match the rest
authorMichael Tokarev <mjt@corpit.ru>
Mon, 18 May 2009 13:00:00 +0000 (17:00 +0400)
committerGuus Sliepen <guus@tinc-vpn.org>
Mon, 18 May 2009 13:05:43 +0000 (15:05 +0200)
Change formatting of error messages about failed syscalls
to be the same as in other places in tincd.

Also suggest a change in "$foo not supported on this platform"
message as it's now used more than once.

src/tincd.c

index 89bda91..b0e95be 100644 (file)
@@ -161,6 +161,7 @@ static bool parse_options(int argc, char **argv)
 
                        case 'L':                               /* no detach */
 #ifndef HAVE_MLOCKALL
+                       /*      logger(LOG_ERR, _("%s not supported on this platform"), "mlockall()"); */
                                logger(LOG_ERR, _("mlockall() not supported on this platform!"));
                                return false;
 #else
@@ -457,7 +458,8 @@ static bool drop_privs() {
                uid = pw->pw_uid;
                if (initgroups(switchuser, pw->pw_gid) != 0 ||
                    setgid(pw->pw_gid) != 0) {
-                       logger(LOG_ERR, _("%s failed"), "initgroups()");
+                       logger(LOG_ERR, _("System call `%s' failed: %s"),
+                              "initgroups", strerror(errno));
                        return false;
                }
                endgrent();
@@ -466,7 +468,8 @@ static bool drop_privs() {
        if (do_chroot) {
                tzset();        /* for proper timestamps in logs */
                if (chroot(confbase) != 0 || chdir("/") != 0) {
-                       logger(LOG_ERR, _("%s failed"), "chroot()");
+                       logger(LOG_ERR, _("System call `%s' failed: %s"),
+                              "chroot", strerror(errno));
                        return false;
                }
                free(confbase);
@@ -474,7 +477,8 @@ static bool drop_privs() {
        }
        if (switchuser)
                if (setuid(uid) != 0) {
-                       logger(LOG_ERR, _("%s failed"), "setuid()");
+                       logger(LOG_ERR, _("System call `%s' failed: %s"),
+                              "setuid", strerror(errno));
                        return false;
                }
 #endif