Toying around with more boilerplate. Epstein didn't kill himself.
[citadel.git] / citadel / chkpw.c
index 5bdb571c16c9e37fa39fded038eb4630d1a737cb..02e3c59b38bc623e885bdf259e14ccf9a45bdbd1 100644 (file)
@@ -1,6 +1,9 @@
-/* 
- *
- */
+// 
+// Copyright (c) 1987-2021 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.
+// The program is distributed without any warranty, expressed or implied.
 
 #include <errno.h>
 #include <stdlib.h>
@@ -32,11 +35,24 @@ int chkpwd_read_pipe[2];
 static int validpw(uid_t uid, const char *pass)
 {
        char buf[256];
+       int rv;
 
-       write(chkpwd_write_pipe[1], &uid, sizeof(uid_t));
-       write(chkpwd_write_pipe[1], pass, 256);
-       read(chkpwd_read_pipe[0], buf, 4);
+       rv = write(chkpwd_write_pipe[1], &uid, sizeof(uid_t));
+       if (rv == -1) {
+               printf( "Communicatino with chkpwd broken: %s\n", strerror(errno));
+               return 0;
+       }
 
+       rv = write(chkpwd_write_pipe[1], pass, 256);
+       if (rv == -1) {
+               printf( "Communicatino with chkpwd broken: %s\n", strerror(errno));
+               return 0;
+       }
+       rv = read(chkpwd_read_pipe[0], buf, 4);
+       if (rv == -1) {
+               printf( "Communicatino with chkpwd broken: %s\n", strerror(errno));
+               return 0;
+       }
        if (!strncmp(buf, "PASS", 4)) {
                printf("pass\n");
                return(1);
@@ -94,8 +110,6 @@ int main(int argc, char **argv) {
        int uid;
        char ctdldir[PATH_MAX]=CTDLDIR;
        
-       calc_dirs_n_files(0,0,"", ctdldir);
-       
        printf("\n\n ** host auth mode test utility **\n\n");
        start_chkpwd_daemon();