idup-keygen.c - dedup - deduplicating backup program Err bitreich.org 70 hgit clone git://bitreich.org/dedup/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/dedup/ URL:git://bitreich.org/dedup/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/dedup/ bitreich.org 70 1Log /scm/dedup/log.gph bitreich.org 70 1Files /scm/dedup/files.gph bitreich.org 70 1Refs /scm/dedup/refs.gph bitreich.org 70 1Tags /scm/dedup/tag bitreich.org 70 1README /scm/dedup/file/README.gph bitreich.org 70 1LICENSE /scm/dedup/file/LICENSE.gph bitreich.org 70 i--- Err bitreich.org 70 idup-keygen.c (918B) Err bitreich.org 70 i--- Err bitreich.org 70 i 1 #include Err bitreich.org 70 i 2 #include Err bitreich.org 70 i 3 Err bitreich.org 70 i 4 #include Err bitreich.org 70 i 5 #include Err bitreich.org 70 i 6 #include Err bitreich.org 70 i 7 #include Err bitreich.org 70 i 8 #include Err bitreich.org 70 i 9 #include Err bitreich.org 70 i 10 Err bitreich.org 70 i 11 #include "arg.h" Err bitreich.org 70 i 12 #include "config.h" Err bitreich.org 70 i 13 #include "key.h" Err bitreich.org 70 i 14 #include "misc.h" Err bitreich.org 70 i 15 #include "state.h" Err bitreich.org 70 i 16 Err bitreich.org 70 i 17 struct param param; /* unused but needed for linking */ Err bitreich.org 70 i 18 int verbose; Err bitreich.org 70 i 19 char *argv0; Err bitreich.org 70 i 20 Err bitreich.org 70 i 21 static void Err bitreich.org 70 i 22 usage(void) Err bitreich.org 70 i 23 { Err bitreich.org 70 i 24 fprintf(stderr, "usage: %s [-v] keyfile\n", argv0); Err bitreich.org 70 i 25 exit(1); Err bitreich.org 70 i 26 } Err bitreich.org 70 i 27 Err bitreich.org 70 i 28 int Err bitreich.org 70 i 29 main(int argc, char *argv[]) Err bitreich.org 70 i 30 { Err bitreich.org 70 i 31 unsigned char key[KEYSIZE]; Err bitreich.org 70 i 32 int fd; Err bitreich.org 70 i 33 Err bitreich.org 70 i 34 ARGBEGIN { Err bitreich.org 70 i 35 case 'v': Err bitreich.org 70 i 36 verbose++; Err bitreich.org 70 i 37 break; Err bitreich.org 70 i 38 default: Err bitreich.org 70 i 39 usage(); Err bitreich.org 70 i 40 } ARGEND Err bitreich.org 70 i 41 Err bitreich.org 70 i 42 if (argc != 1) Err bitreich.org 70 i 43 usage(); Err bitreich.org 70 i 44 Err bitreich.org 70 i 45 fd = open(argv[0], O_RDWR | O_CREAT | O_EXCL, 0600); Err bitreich.org 70 i 46 if (fd < 0) Err bitreich.org 70 i 47 err(1, "open: %s", argv[0]); Err bitreich.org 70 i 48 if (keygen(key, sizeof(key)) < 0) Err bitreich.org 70 i 49 printerr("keygen"); Err bitreich.org 70 i 50 if (writekey(fd, key, sizeof(key)) < 0) Err bitreich.org 70 i 51 printerr("writekey: %s", argv[0]); Err bitreich.org 70 i 52 fsync(fd); Err bitreich.org 70 i 53 if (close(fd) < 0) Err bitreich.org 70 i 54 err(1, "close: %s", argv[0]); Err bitreich.org 70 i 55 return 0; Err bitreich.org 70 i 56 } Err bitreich.org 70 .