47
progress_cb (void *ctx, const char *what, int printchar, int current, int total)
48
progress_cb ( void *ctx, int c )
51
if (printchar == '\n')
54
sprintf (buf, "%.20s %c %d %d", what, printchar, current, total);
55
write_status_text (STATUS_PROGRESS, buf);
53
sprintf ( buf, "%.20s X 100 100", (char*)ctx );
55
sprintf ( buf, "%.20s %c 0 0", (char*)ctx, c );
56
write_status_text ( STATUS_PROGRESS, buf );
58
59
static const char *
59
60
get_status_string ( int no )
64
case STATUS_ENTER : s = "ENTER"; break;
65
case STATUS_LEAVE : s = "LEAVE"; break;
66
case STATUS_ABORT : s = "ABORT"; break;
67
case STATUS_GOODSIG: s = "GOODSIG"; break;
68
case STATUS_KEYEXPIRED: s = "KEYEXPIRED"; break;
69
case STATUS_KEYREVOKED: s = "KEYREVOKED"; break;
70
case STATUS_BADSIG : s = "BADSIG"; break;
71
case STATUS_ERRSIG : s = "ERRSIG"; break;
72
case STATUS_BADARMOR : s = "BADARMOR"; break;
73
case STATUS_RSA_OR_IDEA : s= "RSA_OR_IDEA"; break;
74
case STATUS_TRUST_UNDEFINED: s = "TRUST_UNDEFINED"; break;
75
case STATUS_TRUST_NEVER : s = "TRUST_NEVER"; break;
76
case STATUS_TRUST_MARGINAL : s = "TRUST_MARGINAL"; break;
77
case STATUS_TRUST_FULLY : s = "TRUST_FULLY"; break;
78
case STATUS_TRUST_ULTIMATE : s = "TRUST_ULTIMATE"; break;
79
case STATUS_GET_BOOL : s = "GET_BOOL"; break;
80
case STATUS_GET_LINE : s = "GET_LINE"; break;
81
case STATUS_GET_HIDDEN : s = "GET_HIDDEN"; break;
82
case STATUS_GOT_IT : s = "GOT_IT"; break;
83
case STATUS_SHM_INFO : s = "SHM_INFO"; break;
84
case STATUS_SHM_GET : s = "SHM_GET"; break;
85
case STATUS_SHM_GET_BOOL : s = "SHM_GET_BOOL"; break;
86
case STATUS_SHM_GET_HIDDEN : s = "SHM_GET_HIDDEN"; break;
87
case STATUS_NEED_PASSPHRASE: s = "NEED_PASSPHRASE"; break;
88
case STATUS_VALIDSIG : s = "VALIDSIG"; break;
89
case STATUS_SIG_ID : s = "SIG_ID"; break;
90
case STATUS_ENC_TO : s = "ENC_TO"; break;
91
case STATUS_NODATA : s = "NODATA"; break;
92
case STATUS_BAD_PASSPHRASE : s = "BAD_PASSPHRASE"; break;
93
case STATUS_NO_PUBKEY : s = "NO_PUBKEY"; break;
94
case STATUS_NO_SECKEY : s = "NO_SECKEY"; break;
95
case STATUS_NEED_PASSPHRASE_SYM: s = "NEED_PASSPHRASE_SYM"; break;
96
case STATUS_DECRYPTION_FAILED: s = "DECRYPTION_FAILED"; break;
97
case STATUS_DECRYPTION_OKAY: s = "DECRYPTION_OKAY"; break;
98
case STATUS_MISSING_PASSPHRASE: s = "MISSING_PASSPHRASE"; break;
99
case STATUS_GOOD_PASSPHRASE : s = "GOOD_PASSPHRASE"; break;
100
case STATUS_GOODMDC : s = "GOODMDC"; break;
101
case STATUS_BADMDC : s = "BADMDC"; break;
102
case STATUS_ERRMDC : s = "ERRMDC"; break;
103
case STATUS_IMPORTED : s = "IMPORTED"; break;
104
case STATUS_IMPORT_OK : s = "IMPORT_OK"; break;
105
case STATUS_IMPORT_CHECK : s = "IMPORT_CHECK"; break;
106
case STATUS_IMPORT_RES : s = "IMPORT_RES"; break;
107
case STATUS_FILE_START : s = "FILE_START"; break;
108
case STATUS_FILE_DONE : s = "FILE_DONE"; break;
109
case STATUS_FILE_ERROR : s = "FILE_ERROR"; break;
110
case STATUS_BEGIN_DECRYPTION:s = "BEGIN_DECRYPTION"; break;
111
case STATUS_END_DECRYPTION : s = "END_DECRYPTION"; break;
112
case STATUS_BEGIN_ENCRYPTION:s = "BEGIN_ENCRYPTION"; break;
113
case STATUS_END_ENCRYPTION : s = "END_ENCRYPTION"; break;
114
case STATUS_DELETE_PROBLEM : s = "DELETE_PROBLEM"; break;
115
case STATUS_PROGRESS : s = "PROGRESS"; break;
116
case STATUS_SIG_CREATED : s = "SIG_CREATED"; break;
117
case STATUS_SESSION_KEY : s = "SESSION_KEY"; break;
118
case STATUS_NOTATION_NAME : s = "NOTATION_NAME" ; break;
119
case STATUS_NOTATION_DATA : s = "NOTATION_DATA" ; break;
120
case STATUS_POLICY_URL : s = "POLICY_URL" ; break;
121
case STATUS_BEGIN_STREAM : s = "BEGIN_STREAM"; break;
122
case STATUS_END_STREAM : s = "END_STREAM"; break;
123
case STATUS_KEY_CREATED : s = "KEY_CREATED"; break;
124
case STATUS_USERID_HINT : s = "USERID_HINT"; break;
125
case STATUS_UNEXPECTED : s = "UNEXPECTED"; break;
126
case STATUS_INV_RECP : s = "INV_RECP"; break;
127
case STATUS_NO_RECP : s = "NO_RECP"; break;
128
case STATUS_ALREADY_SIGNED : s = "ALREADY_SIGNED"; break;
129
case STATUS_SIGEXPIRED : s = "SIGEXPIRED deprecated-use-keyexpired-instead"; break;
130
case STATUS_EXPSIG : s = "EXPSIG"; break;
131
case STATUS_EXPKEYSIG : s = "EXPKEYSIG"; break;
132
case STATUS_REVKEYSIG : s = "REVKEYSIG"; break;
133
case STATUS_ATTRIBUTE : s = "ATTRIBUTE"; break;
134
default: s = "?"; break;
66
case STATUS_ENTER : s = "ENTER"; break;
67
case STATUS_LEAVE : s = "LEAVE"; break;
68
case STATUS_ABORT : s = "ABORT"; break;
69
case STATUS_NEWSIG : s = "NEWSIG"; break;
70
case STATUS_GOODSIG: s = "GOODSIG"; break;
71
case STATUS_KEYEXPIRED: s = "KEYEXPIRED"; break;
72
case STATUS_KEYREVOKED: s = "KEYREVOKED"; break;
73
case STATUS_BADSIG : s = "BADSIG"; break;
74
case STATUS_ERRSIG : s = "ERRSIG"; break;
75
case STATUS_BADARMOR : s = "BADARMOR"; break;
76
case STATUS_RSA_OR_IDEA : s= "RSA_OR_IDEA"; break;
77
case STATUS_TRUST_UNDEFINED: s = "TRUST_UNDEFINED"; break;
78
case STATUS_TRUST_NEVER : s = "TRUST_NEVER"; break;
79
case STATUS_TRUST_MARGINAL : s = "TRUST_MARGINAL"; break;
80
case STATUS_TRUST_FULLY : s = "TRUST_FULLY"; break;
81
case STATUS_TRUST_ULTIMATE : s = "TRUST_ULTIMATE"; break;
82
case STATUS_GET_BOOL : s = "GET_BOOL"; break;
83
case STATUS_GET_LINE : s = "GET_LINE"; break;
84
case STATUS_GET_HIDDEN : s = "GET_HIDDEN"; break;
85
case STATUS_GOT_IT : s = "GOT_IT"; break;
86
case STATUS_SHM_INFO : s = "SHM_INFO"; break;
87
case STATUS_SHM_GET : s = "SHM_GET"; break;
88
case STATUS_SHM_GET_BOOL : s = "SHM_GET_BOOL"; break;
89
case STATUS_SHM_GET_HIDDEN : s = "SHM_GET_HIDDEN"; break;
90
case STATUS_NEED_PASSPHRASE: s = "NEED_PASSPHRASE"; break;
91
case STATUS_VALIDSIG : s = "VALIDSIG"; break;
92
case STATUS_SIG_ID : s = "SIG_ID"; break;
93
case STATUS_ENC_TO : s = "ENC_TO"; break;
94
case STATUS_NODATA : s = "NODATA"; break;
95
case STATUS_BAD_PASSPHRASE : s = "BAD_PASSPHRASE"; break;
96
case STATUS_NO_PUBKEY : s = "NO_PUBKEY"; break;
97
case STATUS_NO_SECKEY : s = "NO_SECKEY"; break;
98
case STATUS_NEED_PASSPHRASE_SYM: s = "NEED_PASSPHRASE_SYM"; break;
99
case STATUS_NEED_PASSPHRASE_PIN: s = "NEED_PASSPHRASE_PIN"; break;
100
case STATUS_DECRYPTION_FAILED: s = "DECRYPTION_FAILED"; break;
101
case STATUS_DECRYPTION_OKAY: s = "DECRYPTION_OKAY"; break;
102
case STATUS_MISSING_PASSPHRASE: s = "MISSING_PASSPHRASE"; break;
103
case STATUS_GOOD_PASSPHRASE : s = "GOOD_PASSPHRASE"; break;
104
case STATUS_GOODMDC : s = "GOODMDC"; break;
105
case STATUS_BADMDC : s = "BADMDC"; break;
106
case STATUS_ERRMDC : s = "ERRMDC"; break;
107
case STATUS_IMPORTED : s = "IMPORTED"; break;
108
case STATUS_IMPORT_OK : s = "IMPORT_OK"; break;
109
case STATUS_IMPORT_CHECK : s = "IMPORT_CHECK"; break;
110
case STATUS_IMPORT_RES : s = "IMPORT_RES"; break;
111
case STATUS_FILE_START : s = "FILE_START"; break;
112
case STATUS_FILE_DONE : s = "FILE_DONE"; break;
113
case STATUS_FILE_ERROR : s = "FILE_ERROR"; break;
114
case STATUS_BEGIN_DECRYPTION:s = "BEGIN_DECRYPTION"; break;
115
case STATUS_END_DECRYPTION : s = "END_DECRYPTION"; break;
116
case STATUS_BEGIN_ENCRYPTION:s = "BEGIN_ENCRYPTION"; break;
117
case STATUS_END_ENCRYPTION : s = "END_ENCRYPTION"; break;
118
case STATUS_DELETE_PROBLEM : s = "DELETE_PROBLEM"; break;
119
case STATUS_PROGRESS : s = "PROGRESS"; break;
120
case STATUS_SIG_CREATED : s = "SIG_CREATED"; break;
121
case STATUS_SESSION_KEY : s = "SESSION_KEY"; break;
122
case STATUS_NOTATION_NAME : s = "NOTATION_NAME" ; break;
123
case STATUS_NOTATION_DATA : s = "NOTATION_DATA" ; break;
124
case STATUS_POLICY_URL : s = "POLICY_URL" ; break;
125
case STATUS_BEGIN_STREAM : s = "BEGIN_STREAM"; break;
126
case STATUS_END_STREAM : s = "END_STREAM"; break;
127
case STATUS_KEY_CREATED : s = "KEY_CREATED"; break;
128
case STATUS_KEY_NOT_CREATED: s = "KEY_NOT_CREATED"; break;
129
case STATUS_USERID_HINT : s = "USERID_HINT"; break;
130
case STATUS_UNEXPECTED : s = "UNEXPECTED"; break;
131
case STATUS_INV_RECP : s = "INV_RECP"; break;
132
case STATUS_NO_RECP : s = "NO_RECP"; break;
133
case STATUS_ALREADY_SIGNED : s = "ALREADY_SIGNED"; break;
134
case STATUS_SIGEXPIRED : s = "SIGEXPIRED deprecated-use-keyexpired-instead"; break;
135
case STATUS_EXPSIG : s = "EXPSIG"; break;
136
case STATUS_EXPKEYSIG : s = "EXPKEYSIG"; break;
137
case STATUS_REVKEYSIG : s = "REVKEYSIG"; break;
138
case STATUS_ATTRIBUTE : s = "ATTRIBUTE"; break;
139
case STATUS_CARDCTRL : s = "CARDCTRL"; break;
140
case STATUS_PLAINTEXT : s = "PLAINTEXT"; break;
141
case STATUS_PLAINTEXT_LENGTH:s = "PLAINTEXT_LENGTH"; break;
142
case STATUS_SIG_SUBPACKET : s = "SIG_SUBPACKET"; break;
143
case STATUS_SC_OP_SUCCESS : s = "SC_OP_SUCCESS"; break;
144
case STATUS_SC_OP_FAILURE : s = "SC_OP_FAILURE"; break;
145
case STATUS_BACKUP_KEY_CREATED:s="BACKUP_KEY_CREATED"; break;
146
case STATUS_PKA_TRUST_BAD : s = "PKA_TRUST_BAD"; break;
147
case STATUS_PKA_TRUST_GOOD : s = "PKA_TRUST_GOOD"; break;
148
case STATUS_BEGIN_SIGNING : s = "BEGIN_SIGNING"; break;
149
default: s = "?"; break;
155
/* Return true if the status message NO may currently be issued. We
156
need this to avoid syncronisation problem while auto retrieving a
157
key. There it may happen that a status NODATA is issued for a non
158
available key and the user may falsely interpret this has a missing
161
status_currently_allowed (int no)
163
if (!glo_ctrl.in_auto_key_retrieve)
166
/* We allow some statis anyway, so that import statistics are
167
correct and to avoid problems if the retriebval subsystem will
171
case STATUS_GET_BOOL:
172
case STATUS_GET_LINE:
173
case STATUS_GET_HIDDEN:
175
case STATUS_IMPORTED:
176
case STATUS_IMPORT_OK:
177
case STATUS_IMPORT_CHECK:
178
case STATUS_IMPORT_RES:
140
188
set_status_fd ( int fd )