Lines Matching refs:data

16 void ossl_pw_clear_passphrase_data(struct ossl_passphrase_data_st *data)
18 if (data != NULL) {
19 if (data->type == is_expl_passphrase)
20 OPENSSL_clear_free(data->_.expl_passphrase.passphrase_copy,
21 data->_.expl_passphrase.passphrase_len);
22 ossl_pw_clear_passphrase_cache(data);
23 memset(data, 0, sizeof(*data));
27 void ossl_pw_clear_passphrase_cache(struct ossl_passphrase_data_st *data)
29 OPENSSL_clear_free(data->cached_passphrase, data->cached_passphrase_len);
30 data->cached_passphrase = NULL;
33 int ossl_pw_set_passphrase(struct ossl_passphrase_data_st *data,
37 if (!ossl_assert(data != NULL && passphrase != NULL)) {
41 ossl_pw_clear_passphrase_data(data);
42 data->type = is_expl_passphrase;
43 data->_.expl_passphrase.passphrase_copy =
46 if (data->_.expl_passphrase.passphrase_copy == NULL) {
50 data->_.expl_passphrase.passphrase_len = passphrase_len;
54 int ossl_pw_set_pem_password_cb(struct ossl_passphrase_data_st *data,
57 if (!ossl_assert(data != NULL && cb != NULL)) {
61 ossl_pw_clear_passphrase_data(data);
62 data->type = is_pem_password;
63 data->_.pem_password.password_cb = cb;
64 data->_.pem_password.password_cbarg = cbarg;
68 int ossl_pw_set_ossl_passphrase_cb(struct ossl_passphrase_data_st *data,
71 if (!ossl_assert(data != NULL && cb != NULL)) {
75 ossl_pw_clear_passphrase_data(data);
76 data->type = is_ossl_passphrase;
77 data->_.ossl_passphrase.passphrase_cb = cb;
78 data->_.ossl_passphrase.passphrase_cbarg = cbarg;
82 int ossl_pw_set_ui_method(struct ossl_passphrase_data_st *data,
85 if (!ossl_assert(data != NULL && ui_method != NULL)) {
89 ossl_pw_clear_passphrase_data(data);
90 data->type = is_ui_method;
91 data->_.ui_method.ui_method = ui_method;
92 data->_.ui_method.ui_method_data = ui_data;
96 int ossl_pw_enable_passphrase_caching(struct ossl_passphrase_data_st *data)
98 data->flag_cache_passphrase = 1;
102 int ossl_pw_disable_passphrase_caching(struct ossl_passphrase_data_st *data)
104 data->flag_cache_passphrase = 0;
212 struct ossl_passphrase_data_st *data)
225 if (data->type == is_expl_passphrase) {
226 source = data->_.expl_passphrase.passphrase_copy;
227 source_len = data->_.expl_passphrase.passphrase_len;
228 } else if (data->flag_cache_passphrase && data->cached_passphrase != NULL) {
229 source = data->cached_passphrase;
230 source_len = data->cached_passphrase_len;
243 if (data->type == is_ossl_passphrase) {
244 OSSL_PASSPHRASE_CALLBACK *cb = data->_.ossl_passphrase.passphrase_cb;
245 void *cbarg = data->_.ossl_passphrase.passphrase_cbarg;
257 "Prompt info data type incorrect");
260 prompt_info = p->data;
263 if (data->type == is_pem_password) {
265 pem_password_cb *cb = data->_.pem_password.password_cb;
269 ui_data = data->_.pem_password.password_cbarg;
275 } else if (data->type == is_ui_method) {
276 ui_method = data->_.ui_method.ui_method;
277 ui_data = data->_.ui_method.ui_method_data;
292 if (ret && data->flag_cache_passphrase) {
293 if (data->cached_passphrase == NULL
294 || *pass_len > data->cached_passphrase_len) {
296 OPENSSL_clear_realloc(data->cached_passphrase,
297 data->cached_passphrase_len,
305 data->cached_passphrase = new_cache;
307 memcpy(data->cached_passphrase, pass, *pass_len);
308 data->cached_passphrase[*pass_len] = '\0';
309 data->cached_passphrase_len = *pass_len;
324 params[0].data = (void *)info;