From: 諏訪子 <suwako@076.moe> Date: Wed, 9 Oct 2024 04:57:36 +0000 (+0900) Subject: パスワードコピーの期間を設定出来る様に (#27) X-Git-Url: http://10.11.0.4:5575/?a=commitdiff_plain;h=023ad5a4598815148556f653e917848808143ab5;p=sp.git パスワードコピーの期間を設定出来る様に (#27) --- diff --git a/CHANGELOG.md b/CHANGELOG.md index 1a9674a..c06054f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ * ãã¹ã¯ã¼ã表示ã§ããOpenPGPããã©ããã®ç¢ºèªã®è¿½å * 侵害ããããã¹ã¯ã¼ãã®ç¢ºèªã®è¿½å * è¤æ°ãµã¤ãã§åããã¹ã¯ã¼ããå©ç¨ãã©ããããã¹ã¯ã¼ãã®é·ããåã¯ãã¹ã¯ã¼ãã®å¼·ãã®ç¢ºèª +* ãã¹ã¯ã¼ãã³ãã¼ã®æéãè¨å®åºæ¥ãæ§ã« # 1.4.0 * Haikuå¯¾å¿ diff --git a/main.c b/main.c index 1e58568..0d1dc41 100644 --- a/main.c +++ b/main.c @@ -105,7 +105,7 @@ int main(int argc, char *argv[]) { if (pass == NULL) return -1; printf("%s\n", pass); } - else if (strcmp(argv[1], "-y") == 0) yankpass(argv[2]); + else if (strcmp(argv[1], "-y") == 0) yankpass(argv[2], 45); else if (strcmp(argv[1], "-a") == 0) addpass(argv[2]); else if (strcmp(argv[1], "-d") == 0) delpass(argv[2], 0); else if (strcmp(argv[1], "-e") == 0) { @@ -129,6 +129,12 @@ int main(int argc, char *argv[]) { usage(); return 1; } + } else if (argc == 4) { + if (strcmp(argv[1], "-y") == 0) { + int i; + if (sscanf(argv[3], "%d", &i) == 0) yankpass(argv[2], 45); + else yankpass(argv[2], atoi(argv[3])); + } } else if (argc == 2) { char *basePath = getfullpath(NULL); if (basePath == NULL) return -1; diff --git a/man/sp-en.1 b/man/sp-en.1 index ee57b60..30affba 100644 --- a/man/sp-en.1 +++ b/man/sp-en.1 @@ -3,7 +3,7 @@ sp - Simple Password Manager .br .B sp -[-bfi] [-i \fI\,gpg-id\fR] [-adeosy \fI\,password\fR] [-c \fI,all\fR|\fI,length\fR|\fI,strength\fR|\fI,duplicate\fR] [-g [\fI\,length\fR] [\fI\,secure\fR|\fI\,risk\fR]] +[-bfi] [-i \fI\,gpg-id\fR] [-adeos \fI\,password\fR] [-c \fI,all\fR|\fI,length\fR|\fI,strength\fR|\fI,duplicate\fR] [-g [\fI\,length\fR] [\fI\,secure\fR|\fI\,risk\fR]] [-y \fI\,password\fR [\fI,seconds\fR]] .SH DESCRIPTION .PP Simple Password Manager @@ -53,8 +53,10 @@ Show password \fB\,v\fR Show version .TP -\fB\,y\fR \fI\,password\fR +\fB\,y\fR \fI\,password\fR \fI,seconds\fR Copy password to the clipboard without showing the password (Xorg-only) +.br +The default is 45 seconds. .SH LANGUAGE The default language is Japanese. In order to use English, .br diff --git a/man/sp-jp.1 b/man/sp-jp.1 index 79e0319..94fe122 100644 --- a/man/sp-jp.1 +++ b/man/sp-jp.1 @@ -3,7 +3,7 @@ sp - Simple Password Manager .br .B sp -[-bfi] [-i \fI\,gpg-id\fR] [-adeosy \fI\,password\fR] [-c \fI,all\fR|\fI,length\fR|\fI,strength\fR|\fI,duplicate\fR] [-g [\fI\,length\fR] [\fI\,secure\fR|\fI\,risk\fR]] +[-bfi] [-i \fI\,gpg-id\fR] [-adeos \fI\,password\fR] [-c \fI,all\fR|\fI,length\fR|\fI,strength\fR|\fI,duplicate\fR] [-g [\fI\,length\fR] [\fI\,secure\fR|\fI\,risk\fR]] [-y \fI\,password\fR [\fI,seconds\fR]] .SH 説æ .PP ã·ã³ãã«ãªãã¹ã¯ã¼ãããã¼ã¸ã£ã¼ã @@ -52,8 +52,10 @@ GPGã¨ä½¿ã£ã¦ãã¹ã¯ã¼ãã¹ãã¬ã¼ã¸ãåæè¨å® \fB\,v\fR ãã¼ã¸ã§ã³ã表示 .TP -\fB\,y\fR \fI\,password\fR +\fB\,y\fR \fI\,password\fR \fI,seconds\fR ãã¹ã¯ã¼ãã表示ããã¯ãªãããã¼ãã«ã³ãã¼ããï¼Xorgã®ã¿ï¼ +.br +ããã©ã«ãã¯45ç§ã§ãã .SH LANGUAGE ããã©ã«ãã®è¨èªã¯æ¥æ¬èªã§ãããè±èªã§å©ç¨ããã«ã¯ã .br diff --git a/src/yankpass.c b/src/yankpass.c index ecc30f7..4a46c74 100644 --- a/src/yankpass.c +++ b/src/yankpass.c @@ -5,7 +5,7 @@ #include "yankpass.h" #include "showpass.h" -void yankpass(char *file) { +void yankpass(char *file, int copyTimeout) { char *lang = getlang(); // Xã»ãã·ã§ã³ã§ã¯ãªãå ´åï¼ä¾ãã°ãSSHãTTYãGaylandçï¼ãshowpass()ãå®è¡ã㦠@@ -116,20 +116,23 @@ void yankpass(char *file) { pclose(pipe); - // 45ç§å¾ãã¯ãªãããã¼ãããåé¤ãã + // ä½ï¼ããã©ã«ãã¯45ï¼ç§å¾ãã¯ãªãããã¼ãããåé¤ãã if (strncmp(lang, "en", 2) == 0) printf( - "%s\n%s\n", + "%s\n%s%d%s\n", "Added password to the clipboard.", - "After 45 seconds it'll be deleted from the clipboard." + "After ", + copyTimeout, + " seconds it'll be deleted from the clipboard." ); else printf( - "%s\n%s\n", + "%s\n%d%s\n", "ãã¹ã¯ã¼ããã¯ãªãããã¼ãã«è¿½å ãã¾ããã", - "45ç§å¾ã¯ã¯ãªãããã¼ãããåãæ¶ããã¾ãã" + copyTimeout, + "ç§å¾ã¯ã¯ãªãããã¼ãããåãæ¶ããã¾ãã" ); - sleep(45); + sleep(copyTimeout); system("echo -n | xclip -selection clipboard"); // æé¤ diff --git a/src/yankpass.h b/src/yankpass.h index e97d95c..58e447f 100644 --- a/src/yankpass.h +++ b/src/yankpass.h @@ -1,6 +1,6 @@ #ifndef YANKPASS_H #define YANKPASS_H -void yankpass(char *file); +void yankpass(char *file, int copyTimeout); #endif