]> code.citadel.org Git - citadel.git/blobdiff - citadel/utils/chkpw.c
Remove preprocessor tests for OpenSSL. It's a requirement.
[citadel.git] / citadel / utils / chkpw.c
index 9691b734336376dd11a7eacf92422d371d70055a..c90049d91a8c7c5fc36590724b89935501fd6c62 100644 (file)
@@ -1,14 +1,7 @@
-/* 
- * Copyright (c) 1987-2021 by the citadel.org team
- *
- *  This program is open source software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License version 3.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- */
+// Copyright (c) 1987-2023 by the citadel.org team
+//
+// This program is open source software.  Use, duplication, or disclosure
+// is subject to the terms of the GNU General Public License, version 3.
 
 #include <errno.h>
 #include <stdlib.h>
 #include <string.h>
 #include <limits.h>
 #include <dirent.h>
+#include "../server/citadel_defs.h"
+#include "../server/server.h"
+#include "../server/sysdep.h"
+#include "../server/citadel_dirs.h"
 
-
-#include "citadel.h"
-#include "sysdep.h"
-#include "citadel_dirs.h"
-/* These pipes are used to talk to the chkpwd daemon, which is forked during startup */
+// These pipes are used to talk to the chkpwd daemon, which is forked during startup
 int chkpwd_write_pipe[2];
 int chkpwd_read_pipe[2];
 
-/*
- * Validate a password on the host unix system by talking to the chkpwd daemon
- */
-static int validpw(uid_t uid, const char *pass)
-{
+// Validate a password on the host unix system by talking to the chkpwd daemon
+static int validpw(uid_t uid, const char *pass) {
        char buf[256];
        int rv;
 
@@ -67,9 +57,8 @@ static int validpw(uid_t uid, const char *pass)
        return 0;
 }
 
-/* 
- * Start up the chkpwd daemon so validpw() has something to talk to
- */
+
+// Start up the chkpwd daemon so validpw() has something to talk to
 void start_chkpwd_daemon(void) {
        pid_t chkpwd_pid;
        struct stat filestats;
@@ -77,24 +66,23 @@ void start_chkpwd_daemon(void) {
 
        printf("Starting chkpwd daemon for host authentication mode\n");
 
-       if ((stat(file_chkpwd, &filestats)==-1) ||
-           (filestats.st_size==0)){
+       if ((stat(file_chkpwd, &filestats)==-1) || (filestats.st_size==0)){
                printf("didn't find chkpwd daemon in %s: %s\n", file_chkpwd, strerror(errno));
-               abort();
+               exit(1);
        }
        if (pipe(chkpwd_write_pipe) != 0) {
                printf("Unable to create pipe for chkpwd daemon: %s\n", strerror(errno));
-               abort();
+               exit(2);
        }
        if (pipe(chkpwd_read_pipe) != 0) {
                printf("Unable to create pipe for chkpwd daemon: %s\n", strerror(errno));
-               abort();
+               exit(3);
        }
 
        chkpwd_pid = fork();
        if (chkpwd_pid < 0) {
                printf("Unable to fork chkpwd daemon: %s\n", strerror(errno));
-               abort();
+               exit(4);
        }
        if (chkpwd_pid == 0) {
                dup2(chkpwd_write_pipe[0], 0);
@@ -102,18 +90,15 @@ void start_chkpwd_daemon(void) {
                for (i=2; i<256; ++i) close(i);
                execl(file_chkpwd, file_chkpwd, NULL);
                printf("Unable to exec chkpwd daemon: %s\n", strerror(errno));
-               abort();
                exit(errno);
        }
 }
 
 
-
 int main(int argc, char **argv) {
        char buf[256];
        struct passwd *p;
        int uid;
-       char ctdldir[PATH_MAX]=CTDLDIR;
        
        printf("\n\n ** host auth mode test utility **\n\n");
        start_chkpwd_daemon();