dav/main.c

changeset 733
a7883961b5f4
parent 732
b0eb645cd26e
child 734
b2cd82149116
equal deleted inserted replaced
732:b0eb645cd26e 733:a7883961b5f4
230 ret = cmd_list_users(args); 230 ret = cmd_list_users(args);
231 } else if(!strcasecmp(cmd, "remove-user")) { 231 } else if(!strcasecmp(cmd, "remove-user")) {
232 ret = cmd_remove_user(args); 232 ret = cmd_remove_user(args);
233 } else if(!strcasecmp(cmd, "edit-user")) { 233 } else if(!strcasecmp(cmd, "edit-user")) {
234 ret = cmd_edit_user(args); 234 ret = cmd_edit_user(args);
235 } else if(!strcasecmp(cmd, "set-master-password") || !strcasecmp(cmd, "set-master-pw")) {
236 ret = cmd_set_master_password(args);
235 } else if(!strcasecmp(cmd, "version") || !strcasecmp(cmd, "-version") 237 } else if(!strcasecmp(cmd, "version") || !strcasecmp(cmd, "-version")
236 || !strcasecmp(cmd, "--version")) { 238 || !strcasecmp(cmd, "--version")) {
237 fprintf(stderr, "dav %s\n", DAV_VERSION); 239 fprintf(stderr, "dav %s\n", DAV_VERSION);
238 } else if(!strcasecmp(cmd, "complete")) { 240 } else if(!strcasecmp(cmd, "complete")) {
239 ret = cmd_complete(args); 241 ret = cmd_complete(args);
331 fprintf(stderr, "\n"); 333 fprintf(stderr, "\n");
332 fprintf(stderr, "Advanced commands:\n"); 334 fprintf(stderr, "Advanced commands:\n");
333 fprintf(stderr, " versioncontrol list-versions checkout checkin uncheckout\n\n"); 335 fprintf(stderr, " versioncontrol list-versions checkout checkin uncheckout\n\n");
334 fprintf(stderr, "Config commands:\n"); 336 fprintf(stderr, "Config commands:\n");
335 fprintf(stderr, " add-repository remove-repository list-repositories repository-url\n"); 337 fprintf(stderr, " add-repository remove-repository list-repositories repository-url\n");
336 fprintf(stderr, " add-user remove-user edit-user list-users\n"); 338 fprintf(stderr, " add-user remove-user edit-user list-users set-master-password\n");
337 fprintf(stderr, " check-config\n"); 339 fprintf(stderr, " check-config\n");
338 fprintf(stderr, "\n"); 340 fprintf(stderr, "\n");
339 fprintf(stderr, 341 fprintf(stderr,
340 "Instead of an url you can pass a repository name " 342 "Instead of an url you can pass a repository name "
341 "with an optional path:\n"); 343 "with an optional path:\n");
3169 int cmd_edit_user(CmdArgs *args) { 3171 int cmd_edit_user(CmdArgs *args) {
3170 return secretstore_cmd(args, FALSE, NULL, cmd_ss_edit_user, NULL); 3172 return secretstore_cmd(args, FALSE, NULL, cmd_ss_edit_user, NULL);
3171 } 3173 }
3172 3174
3173 3175
3176 static int cmd_ss_set_master_pw(CmdArgs *args, PwdStore *secrets, void *ud) {
3177 char *new_master_pw = util_password_input("New master password: ");
3178 int ret = pwdstore_setpassword(secrets, new_master_pw);
3179 if(ret) {
3180 fprintf(stderr, "Error: failed to set new master password\n");
3181 }
3182
3183 ret = pwdstore_save(secrets);
3184 if(ret) {
3185 fprintf(stderr, "Error: saving srcrets store failed.\n");
3186 }
3187 return ret;
3188 }
3189
3190 int cmd_set_master_password(CmdArgs *args) {
3191 return secretstore_cmd(args, FALSE, NULL, cmd_ss_set_master_pw, NULL);
3192 }
3193
3174 static char** read_args_from_stdin(int *argc) { 3194 static char** read_args_from_stdin(int *argc) {
3175 // read stdin into buffer 3195 // read stdin into buffer
3176 UcxBuffer *in = ucx_buffer_new(NULL, 1024, UCX_BUFFER_AUTOEXTEND); 3196 UcxBuffer *in = ucx_buffer_new(NULL, 1024, UCX_BUFFER_AUTOEXTEND);
3177 ucx_stream_copy(stdin, in, (read_func)fread, (write_func)ucx_buffer_write); 3197 ucx_stream_copy(stdin, in, (read_func)fread, (write_func)ucx_buffer_write);
3178 3198

mercurial