summaryrefslogtreecommitdiffstats
path: root/sqwebmail/sqwebpasswd.c
diff options
context:
space:
mode:
Diffstat (limited to 'sqwebmail/sqwebpasswd.c')
-rw-r--r--sqwebmail/sqwebpasswd.c45
1 files changed, 45 insertions, 0 deletions
diff --git a/sqwebmail/sqwebpasswd.c b/sqwebmail/sqwebpasswd.c
new file mode 100644
index 0000000..b959944
--- /dev/null
+++ b/sqwebmail/sqwebpasswd.c
@@ -0,0 +1,45 @@
+#include "config.h"
+/*
+** Copyright 2000-2001 Double Precision, Inc. See COPYING for
+** distribution information.
+*/
+
+#include "auth.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#if HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#include <fcntl.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <signal.h>
+
+
+extern int authdaemondopasswd(char *, int);
+
+int main()
+{
+ char buf[BUFSIZ];
+ char *p;
+
+ strcpy(buf,"PASSWD ");
+
+ if (fgets(buf+7, sizeof(buf)-10, stdin) == NULL)
+ exit(1);
+
+ if ((p=strchr(buf, '\n')) != 0)
+ *p=0;
+
+ strcat(buf, "\n");
+ signal(SIGPIPE, SIG_IGN);
+ if (authdaemondopasswd(buf, sizeof(buf)))
+ {
+ sleep(5);
+ exit(1);
+ }
+ exit(0);
+ return (0);
+}