]> andersk Git - moira.git/commitdiff
Initial revision
authorspook <spook>
Mon, 24 Aug 1987 07:56:25 +0000 (07:56 +0000)
committerspook <spook>
Mon, 24 Aug 1987 07:56:25 +0000 (07:56 +0000)
update/smskey.c [new file with mode: 0644]

diff --git a/update/smskey.c b/update/smskey.c
new file mode 100644 (file)
index 0000000..f79b998
--- /dev/null
@@ -0,0 +1,38 @@
+#include <stdio.h>
+#include <sys/file.h>
+#include <des.h>
+int debug=0;                   /* goddamn des library breakage */
+char string[] = "sms\0\0Athena\0\1";
+char srvtab[] = "/etc/srvtab";
+char insecure[] =
+    "\7\7\7This program MUST be run on the console, for security reasons.\n";
+
+main(argc,argv)
+    int argc;
+    char **argv;
+{
+    int fd;
+    C_Block key;
+    char *tty, *ttyname();
+    tty = ttyname(0);
+    if (!tty || strcmp(tty, "/dev/console")) {
+       fprintf(stderr, insecure);
+       exit(1);
+    }
+    fd = open(srvtab, O_WRONLY|O_APPEND, 0);
+    if (!fd) {
+       perror(srvtab);
+       exit(1);
+    }
+    if (sizeof(string)-1 != 13) {
+       fprintf(stderr, "string size bad\n");
+       exit(1);
+    }
+    des_read_password(key, "Enter SMS update password: ", 0);
+    write(fd, string, sizeof(string)-1);
+    write(fd, key, sizeof(C_Block));
+    if (fsync(fd))
+       perror(srvtab);
+    close(fd);
+    printf("\nKey written.\n");
+}
This page took 0.973074 seconds and 5 git commands to generate.