diff options
-rw-r--r-- | src/constants.h | 2 | ||||
-rw-r--r-- | src/easydir.h | 6 | ||||
-rw-r--r-- | src/exec-cmd.c | 2 | ||||
-rw-r--r-- | src/r-gpgme.c | 11 | ||||
-rw-r--r-- | src/routines.c (renamed from src/implementation.c) | 28 | ||||
-rw-r--r-- | src/routines.h (renamed from src/implementation.h) | 6 | ||||
-rw-r--r-- | src/xstd.h | 2 |
7 files changed, 25 insertions, 32 deletions
diff --git a/src/constants.h b/src/constants.h index cc15a86..0843b5b 100644 --- a/src/constants.h +++ b/src/constants.h @@ -51,7 +51,7 @@ #endif enum { - maxlen_texteditor = 16, + maxlen_fingerprint = 256, minlen_pass = 1, maxlen_pass = 128, stdlen_pass = 14 diff --git a/src/easydir.h b/src/easydir.h index 292002e..c9cab57 100644 --- a/src/easydir.h +++ b/src/easydir.h @@ -1,5 +1,5 @@ -#ifndef EASYDIR_H -#define EASYDIR_H +#ifndef LPASS_EASYDIR_H +#define LPASS_EASYDIR_H /*** This file is part of LockPassword @@ -28,4 +28,4 @@ enum status_file { int file_exist(const char *path); int count_dir_entries(const char *path); -#endif
\ No newline at end of file +#endif /* LPASS_EASYDIR_H */
\ No newline at end of file diff --git a/src/exec-cmd.c b/src/exec-cmd.c index 6aced93..4ec1c10 100644 --- a/src/exec-cmd.c +++ b/src/exec-cmd.c @@ -29,7 +29,7 @@ #include "exec-cmd.h" #include "constants.h" #include "easydir.h" -#include "implementation.h" +#include "routines.h" #include "exec-cmd.h" #include "tree.h" diff --git a/src/r-gpgme.c b/src/r-gpgme.c index a13a62a..586bd55 100644 --- a/src/r-gpgme.c +++ b/src/r-gpgme.c @@ -23,10 +23,9 @@ #include <errno.h> #include <gpgme.h> +#include "constants.h" #include "r-gpgme.h" -#define BUF_SIZE 128 - #ifdef DEBUG #define ret_if_err(ret, err) \ do { \ @@ -79,7 +78,7 @@ static int init_ctx(gpgme_ctx_t ctx, gpgme_protocol_t protocol) static int loop_read(const char *path, gpgme_data_t dh) { - char buf[BUF_SIZE]; + char buf[maxlen_pass]; int ret; FILE *f = fopen(path, "w"); @@ -91,7 +90,7 @@ static int loop_read(const char *path, gpgme_data_t dh) fclose(f); ret_if_err(1, gpgme_err_code_from_errno(errno)); } - while((ret = gpgme_data_read(dh, buf, BUF_SIZE)) > 0) + while((ret = gpgme_data_read(dh, buf, maxlen_pass)) > 0) fwrite(buf, ret, 1, f); if(ret < 0) { fclose(f); @@ -165,8 +164,8 @@ char *decrypt_data(const char *path) if(ret) ret_if_err(NULL, gpgme_err_code_from_errno(errno)); - char *data = malloc(sizeof(char) * (BUF_SIZE + 1)); - gpgme_data_read(plain, data, BUF_SIZE); + char *data = malloc(sizeof(char) * (maxlen_pass + 1)); + gpgme_data_read(plain, data, maxlen_pass); gpgme_data_release(plain); gpgme_data_release(cipher); diff --git a/src/implementation.c b/src/routines.c index af59b21..f6b6bcc 100644 --- a/src/implementation.c +++ b/src/routines.c @@ -26,7 +26,7 @@ #include <errno.h> #include <sys/stat.h> -#include "implementation.h" +#include "routines.h" #include "constants.h" #include "easydir.h" #include "r-gpgme.h" @@ -34,9 +34,6 @@ #include "r-x11.h" #endif -/* define in implementation.h */ -// GPG_PUBLICKEY_MAXLENGTH NNNN - int copy_outside(char *password) { #if defined(DISPLAY) @@ -81,24 +78,22 @@ int check_sneaky_paths(const char *path) char *get_pubkey() { - int size_key = sizeof(char) * GPG_PUBLICKEY_MAXLENGTH; - char *pubkey = malloc(size_key + sizeof(char)); + char *pubkey; FILE *fileGPG = fopen(".gpg-key", "r"); if(fileGPG == NULL) { - free(pubkey); if(errno == ENOENT) - errprint_r(NULL, "No GPG key exists. Use \"lpass init\"."); - perror(".gpg-key"); - return NULL; + errprint_r(NULL, "No GPG key exists. Use \"lpass init\"\n"); + errprint_r(NULL, "%s\n", strerror(errno)); } - if(!fgets(pubkey, size_key, fileGPG)) { + pubkey = malloc(sizeof(char) * (maxlen_fingerprint + 1)); + if(fgets(pubkey, maxlen_fingerprint + 1, fileGPG) == NULL) { free(pubkey); - pubkey = NULL; + errprint_ptr(&pubkey, NULL, "%s\n", strerror(errno)); } - fclose(fileGPG); + fclose(fileGPG); return pubkey; } @@ -152,13 +147,12 @@ int insert_pass(const char *path, const char *password) char *get_input(int minlen, int maxlen) { - size_t size = sizeof(char) * maxlen; - char *pass = malloc(size + sizeof(char)); // +1 for '\0' + char *pass = malloc(sizeof(char) * (maxlen + 1)); int len; - if(fgets(pass, size, stdin) == NULL) { + if(fgets(pass, maxlen + 1, stdin) == NULL) { free(pass); - return NULL; + errprint_ptr(&pass, NULL, "%s\n", strerror(errno)); } len = strlen(pass); diff --git a/src/implementation.h b/src/routines.h index 467da6f..90d6fb3 100644 --- a/src/implementation.h +++ b/src/routines.h @@ -1,5 +1,5 @@ -#ifndef IMPLEMENTATION_H -#define IMPLEMENTATION_H +#ifndef LPASS_ROUTINES_H +#define LPASS_ROUTINES_H /*** This file is part of LockPassword @@ -31,4 +31,4 @@ char *get_input(int minlen, int maxlen); char *gen_password(int length); int overwrite_answer(const char *path); -#endif
\ No newline at end of file +#endif /* LPASS_ROUTINES_H */
\ No newline at end of file @@ -22,4 +22,4 @@ char *xstrcat(const char *first, const char *second, const char *delimiter); -#endif
\ No newline at end of file +#endif /* LPASS_XSTD_H */ |