Commit: a77bb7a194060b4174bb51e9ad9619c9d9d0a787
Parent: df021cebfdfe135acec4b1df6db0c048afc8bec1
Author: Moritz Luedecke
Date: Sat, 23 May 2020 13:50:06 +0200
Prevent duplicated uses of pinentry
Diffstat:
M | pinentry-dmenu.c | | | 70 | +++++++++++++++++++++++++++++++++++----------------------------------- |
1 file changed, 35 insertions(+), 35 deletions(-)
diff --git a/pinentry-dmenu.c b/pinentry-dmenu.c
@@ -64,7 +64,7 @@ static Clr *scheme[SchemeLast];
static int timed_out;
static int winmode;
-pinentry_t pinentry;
+pinentry_t pinentry_info;
#include "config.h"
@@ -157,10 +157,10 @@ insert(const char *str, ssize_t n) {
pin_len = 0;
}
} else {
- if (!pinentry_setbufferlen(pinentry, 2 * pinentry->pin_len)) {
+ if (!pinentry_setbufferlen(pinentry_info, 2 * pinentry_info->pin_len)) {
pin_len = 0;
} else {
- setup_pin(pinentry->pin, pinentry->pin_len, 0);
+ setup_pin(pinentry_info->pin, pinentry_info->pin_len, 0);
}
}
if (pin_len == 0) {
@@ -189,7 +189,7 @@ drawwin(void) {
int leftinput;
char* censort;
- char* pprompt = (repeat) ? pinentry->repeat_passphrase : pinentry->prompt;
+ char* pprompt = (repeat) ? pinentry_info->repeat_passphrase : pinentry_info->prompt;
int ppromptw = (pprompt) ? TEXTW(pprompt) : 0;
unsigned int censortl = minpwlen * TEXTW(asterisk) / strlen(asterisk);
@@ -209,9 +209,9 @@ drawwin(void) {
x += ppromptw;
}
- if (pinentry->description) {
+ if (pinentry_info->description) {
pb = mw - x;
- pdesclen = strlen(pinentry->description);
+ pdesclen = strlen(pinentry_info->description);
if (pb > 0) {
pb -= (winmode == WinPin) ? censortl : confirml;
@@ -224,13 +224,13 @@ drawwin(void) {
pb = mw - pbw;
for (i = 0; i < pdesclen; i++) {
- if (pinentry->description[i] == '\n') {
- pinentry->description[i] = ' ';
+ if (pinentry_info->description[i] == '\n') {
+ pinentry_info->description[i] = ' ';
}
}
drw_setscheme(drw, scheme[SchemeDesc]);
- drw_text(drw, pb, 0, pbw, bh, lrpad / 2, pinentry->description,
+ drw_text(drw, pb, 0, pbw, bh, lrpad / 2, pinentry_info->description,
0);
} else {
pbw = 0;
@@ -344,7 +344,7 @@ setup(void) {
mw = wa.width;
}
- pdescw = (pinentry->description) ? TEXTW(pinentry->description) : 0;
+ pdescw = (pinentry_info->description) ? TEXTW(pinentry_info->description) : 0;
/* Create menu window */
swa.override_redirect = True;
@@ -393,7 +393,7 @@ keypress_confirm(XKeyEvent *ev, KeySym ksym) {
if (ev->state & ControlMask) {
switch(ksym) {
case XK_c:
- pinentry->canceled = 1;
+ pinentry_info->canceled = 1;
sel = No;
return 1;
default:
@@ -419,7 +419,7 @@ keypress_confirm(XKeyEvent *ev, KeySym ksym) {
case XK_g:
case XK_G:
case XK_Escape:
- pinentry->canceled = 1;
+ pinentry_info->canceled = 1;
sel = No;
return 1;
case XK_h:
@@ -473,7 +473,7 @@ keypress_pin(XKeyEvent *ev, KeySym ksym, char* buf, int len) {
case XK_KP_Enter:
break;
case XK_bracketleft:
- pinentry->canceled = 1;
+ pinentry_info->canceled = 1;
return 1;
default:
return 1;
@@ -494,7 +494,7 @@ keypress_pin(XKeyEvent *ev, KeySym ksym, char* buf, int len) {
insert(NULL, nextrune(cursor, -1) - cursor);
break;
case XK_Escape:
- pinentry->canceled = 1;
+ pinentry_info->canceled = 1;
return 1;
case XK_Left:
if (cursor > 0) {
@@ -611,31 +611,31 @@ static void
password(void) {
winmode = WinPin;
repeat = 0;
- setup_pin(pinentry->pin, pinentry->pin_len, 1);
+ setup_pin(pinentry_info->pin, pinentry_info->pin_len, 1);
run();
- if (!pinentry->canceled && pinentry->repeat_passphrase) {
+ if (!pinentry_info->canceled && pinentry_info->repeat_passphrase) {
repeat = 1;
- pin_repeat_len = pinentry->pin_len;
- pin_repeat = secmem_malloc(pinentry->pin_len);
+ pin_repeat_len = pinentry_info->pin_len;
+ pin_repeat = secmem_malloc(pinentry_info->pin_len);
setup_pin(pin_repeat, pin_repeat_len, 1);
run();
- pinentry->repeat_okay = (strcmp(pinentry->pin, pin_repeat) == 0)? 1 : 0;
+ pinentry_info->repeat_okay = (strcmp(pinentry_info->pin, pin_repeat) == 0)? 1 : 0;
secmem_free(pin_repeat);
- if (!pinentry->repeat_okay) {
- pinentry->result = -1;
+ if (!pinentry_info->repeat_okay) {
+ pinentry_info->result = -1;
return;
}
}
- if (pinentry->canceled) {
- pinentry->result = -1;
+ if (pinentry_info->canceled) {
+ pinentry_info->result = -1;
return;
}
- pinentry->result = strlen(pinentry->pin);
+ pinentry_info->result = strlen(pinentry_info->pin);
}
static void
@@ -643,7 +643,7 @@ confirm(void) {
winmode = WinConfirm;
sel = Nothing;
run();
- pinentry->result = sel != No;
+ pinentry_info->result = sel != No;
}
static int
@@ -651,18 +651,18 @@ cmdhandler(pinentry_t received_pinentry) {
struct sigaction sa;
XWindowAttributes wa;
- pinentry = received_pinentry;
+ pinentry_info = received_pinentry;
if (!setlocale(LC_CTYPE, "") || !XSupportsLocale()) {
fputs("warning: no locale support\n", stderr);
}
- if (!(dpy = XOpenDisplay(pinentry->display))) {
+ if (!(dpy = XOpenDisplay(pinentry_info->display))) {
die("cannot open display");
}
screen = DefaultScreen(dpy);
root = RootWindow(dpy, screen);
- embedded = (pinentry->parent_wid) ? embedded : 0;
- parentwin = (embedded) ? pinentry->parent_wid : root;
+ embedded = (pinentry_info->parent_wid) ? embedded : 0;
+ parentwin = (embedded) ? pinentry_info->parent_wid : root;
if (!XGetWindowAttributes(dpy, parentwin, &wa)) {
die("could not get embedding window attributes: 0x%lx", parentwin);
}
@@ -673,28 +673,28 @@ cmdhandler(pinentry_t received_pinentry) {
lrpad = drw->fonts->h;
drw_setscheme(drw, scheme[SchemePrompt]);
- if (pinentry->timeout) {
+ if (pinentry_info->timeout) {
memset(&sa, 0, sizeof(sa));
sa.sa_handler = catchsig;
sigaction(SIGALRM, &sa, NULL);
- alarm(pinentry->timeout);
+ alarm(pinentry_info->timeout);
}
grabkeyboard();
setup();
- if (pinentry->pin) {
+ if (pinentry_info->pin) {
do {
password();
- } while (!pinentry->canceled && pinentry->repeat_passphrase
- && !pinentry->repeat_okay);
+ } while (!pinentry_info->canceled && pinentry_info->repeat_passphrase
+ && !pinentry_info->repeat_okay);
} else {
confirm();
}
cleanup();
- return pinentry->result;
+ return pinentry_info->result;
}
pinentry_cmd_handler_t pinentry_cmd_handler = cmdhandler;