パスワード削除の機能性
このコミットが含まれているのは:
コミット
0f9fd92899
|
@ -0,0 +1,2 @@
|
|||
# 1.0.0
|
||||
* 最初リリース
|
4
Makefile
4
Makefile
|
@ -1,9 +1,9 @@
|
|||
NAME=sp
|
||||
VERSION=0.0.1
|
||||
VERSION=1.0.0
|
||||
# Linux、Haiku、かIllumos = /usr、FreeBSDかOpenBSD = /usr/local、NetBSD = /usr/pkg
|
||||
PREFIX=/usr
|
||||
CC=cc
|
||||
FILES=main.c showpass.c yankpass.c addpass.c
|
||||
FILES=main.c showpass.c yankpass.c addpass.c delpass.c
|
||||
CFLAGS=-Wall -Wextra -g
|
||||
LDFLAGS=-lgpgme
|
||||
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
# sp
|
||||
シンプルなパスワードマネージャー
|
||||
|
||||
## インストールする方法
|
||||
```sh
|
||||
mkdir -p ~/.local/share/sp
|
||||
gpg --generate-key
|
||||
gpg -k | less
|
||||
```
|
||||
鍵をコピーして下さい。
|
||||
```sh
|
||||
echo "(コピーした鍵)" >> ~/.local/share/sp/.gpg-id
|
||||
```
|
||||
|
||||
### Linux
|
||||
```sh
|
||||
make
|
||||
doas make install
|
||||
```
|
||||
|
||||
### FreeBSDかOpenBSD
|
||||
```sh
|
||||
gmake
|
||||
doas gmake install PREFIX=/usr/local
|
||||
```
|
|
@ -0,0 +1,26 @@
|
|||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include "delpass.h"
|
||||
|
||||
void delpass(char* file) {
|
||||
// パスを準備
|
||||
char pwfile[512];
|
||||
char* homedir = getenv("HOME");
|
||||
if (homedir == NULL) {
|
||||
perror("ホームディレクトリを受取に失敗。");
|
||||
return;
|
||||
}
|
||||
|
||||
char* basedir = "/.local/share/sp/";
|
||||
char* ext = ".gpg";
|
||||
snprintf(pwfile, sizeof(pwfile), "%s%s%s%s", homedir, basedir, file, ext);
|
||||
|
||||
if (unlink(pwfile) == -1) {
|
||||
perror("パスワードを削除出来ませんですた。");
|
||||
}
|
||||
|
||||
printf("パスワードを削除しました。\n");
|
||||
return;
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
#ifndef DELPASS_H
|
||||
#define DELPASS_H
|
||||
|
||||
void delpass(char* file);
|
||||
|
||||
#endif
|
10
main.c
10
main.c
|
@ -7,15 +7,15 @@
|
|||
void initpass(char* gpgid);
|
||||
#include "showpass.h"
|
||||
#include "yankpass.h"
|
||||
void listpass(char* dir);
|
||||
void listpass();
|
||||
#include "addpass.h"
|
||||
void delpass(char* file);
|
||||
#include "delpass.h"
|
||||
void genpass(char* file, int count, bool issecure);
|
||||
void otppass(char* file);
|
||||
void helpme();
|
||||
|
||||
const char* sofname = "sp";
|
||||
const char* version = "0.0.1";
|
||||
const char* version = "1.0.0";
|
||||
|
||||
void helpme() {
|
||||
printf("使い方:\n");
|
||||
|
@ -24,7 +24,7 @@ void helpme() {
|
|||
printf("%s -y <パスワード名> :パスワードを表示せずクリップボードにコピーする\n", sofname);
|
||||
//printf("%s -l :パスワード一覧を表示\n", sofname);
|
||||
printf("%s -a <パスワード名> :パスワードを追加\n", sofname);
|
||||
//printf("%s -d <パスワード名> :パスワードを削除\n", sofname);
|
||||
printf("%s -d <パスワード名> :パスワードを削除\n", sofname);
|
||||
//printf("%s -g <文字数> [risk|secure] <パスワード名> :希望文字数でパスワードをランダムに作成する。risk=英数字のみ(不安)、secure=英数字+特別文字(デフォルト)を使用\n", sofname);
|
||||
//printf("%s -o <パスワード名>\n :ワンタイムパスワード(TOTP)を表示。存在しなければ、創作する", sofname);
|
||||
printf("%s -h :ヘルプを表示\n", sofname);
|
||||
|
@ -42,7 +42,7 @@ int main (int argc, char* argv[]) {
|
|||
else if (argc == 3 && strcmp(argv[1], "-y") == 0) yankpass(argv[2]);
|
||||
else if (argc == 2 && strcmp(argv[1], "-l") == 0) printf("TODO: 一覧\n");
|
||||
else if (argc == 3 && strcmp(argv[1], "-a") == 0) addpass(argv[2]);
|
||||
else if (argc == 3 && strcmp(argv[1], "-d") == 0) printf("TODO: 削除\n");
|
||||
else if (argc == 3 && strcmp(argv[1], "-d") == 0) delpass(argv[2]);
|
||||
else if ((argc == 4 || argc == 5) && strcmp(argv[1], "-g") == 0) printf("TODO: パスワードを創作\n");
|
||||
else if (argc == 3 && strcmp(argv[1], "-o") == 0) printf("TODO: otp\n");
|
||||
else if (argc == 2 && strcmp(argv[1], "-v") == 0) printf("%s-%s\n", sofname, version);
|
||||
|
|
読み込み中…
新しいイシューから参照