91 |
} |
} |
92 |
if (ON_EVENT (STATUS_GET_LINE, "cardutil.change_pin.menu")) |
if (ON_EVENT (STATUS_GET_LINE, "cardutil.change_pin.menu")) |
93 |
{ |
{ |
94 |
if (c->cnt == 0) |
if (c->cnt == 0) { |
|
{ |
|
95 |
c->cnt++; |
c->cnt++; |
96 |
switch (ctx->edit_cmd) { |
switch (ctx->edit_cmd) { |
97 |
case GPGME_EDITCARD_CHUPIN: return "1"; |
case GPGME_EDITCARD_CHUPIN: return "1"; |
98 |
case GPGME_EDITCARD_UNBPIN: return "2"; |
case GPGME_EDITCARD_UNBPIN: return "2"; |
99 |
case GPGME_EDITCARD_CHAPIN: return "3"; |
case GPGME_EDITCARD_CHAPIN: return "3"; |
100 |
default: |
default: c->cnt = 0; return "Q"; |
|
c->cnt = 0; |
|
|
return "Q"; |
|
101 |
} |
} |
102 |
} |
} |
103 |
else if (c->cnt) { |
else if (c->cnt) { |
107 |
} |
} |
108 |
if (ctx->edit_cmd == GPGME_EDITCARD_CHUPIN) |
if (ctx->edit_cmd == GPGME_EDITCARD_CHUPIN) |
109 |
{ |
{ |
110 |
if (ON_EVENT (STATUS_GET_HIDDEN, "passphrase.pin.ask")) |
if (ON_EVENT (STATUS_GET_HIDDEN, "passphrase.pin.ask")) { |
111 |
{ |
s = c->u.pin.pinold; |
112 |
if (c->cnt == 1) |
c->cnt++; |
113 |
s = c->u.pin.pinold; |
} |
114 |
else |
if (ON_EVENT (STATUS_GET_HIDDEN, "passphrase.pin.new.ask")) { |
115 |
s = c->u.pin.pinnew; |
s = c->u.pin.pinnew; |
116 |
|
c->cnt++; |
117 |
|
} |
118 |
|
if (ON_EVENT (STATUS_GET_HIDDEN, "passphrase.pin.repeat")) { |
119 |
|
s = c->u.pin.pinnew; |
120 |
c->cnt++; |
c->cnt++; |
121 |
} |
} |
122 |
return s; |
return s; |
123 |
} |
} |
124 |
else if (ctx->edit_cmd == GPGME_EDITCARD_CHAPIN) |
else if (ctx->edit_cmd == GPGME_EDITCARD_CHAPIN) |
125 |
{ |
{ |
126 |
if (ON_EVENT (STATUS_GET_HIDDEN, "passphrase.adminpin.ask")) |
if (ON_EVENT (STATUS_GET_HIDDEN, "passphrase.adminpin.ask")) { |
127 |
{ |
s = c->u.pin.pinold; |
128 |
if (c->cnt == 1) |
c->cnt++; |
129 |
s = c->u.pin.pinold; |
} |
130 |
else |
if (ON_EVENT (STATUS_GET_HIDDEN, "passphrase.adminpin.new.ask")) { |
131 |
s = c->u.pin.pinnew; |
s = c->u.pin.pinnew; |
132 |
|
c->cnt++; |
133 |
|
} |
134 |
|
if (ON_EVENT (STATUS_GET_HIDDEN, "passphrase.pin.repeat")) { |
135 |
|
s = c->u.pin.pinnew; |
136 |
c->cnt++; |
c->cnt++; |
137 |
} |
} |
138 |
return s; |
return s; |
309 |
|
|
310 |
|
|
311 |
gpgme_error_t |
gpgme_error_t |
312 |
gpgme_changepin_set( gpgme_editcard_t chpin, int which, |
gpgme_changepin_set (gpgme_editcard_t chpin, int which, |
313 |
const char * pinold, const char * pinnew ) |
const char * pinold, const char * pinnew) |
314 |
{ |
{ |
315 |
if( !chpin ) |
if (!chpin) |
316 |
return mk_error( Invalid_Value ); |
return mk_error (Invalid_Value); |
317 |
chpin->type = which; |
chpin->type = which; |
318 |
chpin->u.pin.pinnew = pinnew; |
chpin->u.pin.pinnew = pinnew; |
319 |
chpin->u.pin.pinold = pinold; |
chpin->u.pin.pinold = pinold; |