| 54 /* Save the key for future checking */ |
54 /* Save the key for future checking */ |
| 55 silc_pkcs_save_public_key(verify->filename, verify->public_key, |
55 silc_pkcs_save_public_key(verify->filename, verify->public_key, |
| 56 SILC_PKCS_FILE_BASE64); |
56 SILC_PKCS_FILE_BASE64); |
| 57 } |
57 } |
| 58 |
58 |
| 59 silc_free(verify->filename); |
59 g_free(verify->filename); |
| 60 silc_free(verify->entity); |
60 g_free(verify->entity); |
| 61 silc_free(verify->entity_name); |
61 g_free(verify->entity_name); |
| 62 silc_free(verify->fingerprint); |
62 silc_free(verify->fingerprint); |
| 63 silc_free(verify->babbleprint); |
63 silc_free(verify->babbleprint); |
| 64 silc_pkcs_public_key_free(verify->public_key); |
64 silc_pkcs_public_key_free(verify->public_key); |
| 65 silc_free(verify); |
65 silc_free(verify); |
| 66 } |
66 } |
| 209 verify = silc_calloc(1, sizeof(*verify)); |
209 verify = silc_calloc(1, sizeof(*verify)); |
| 210 if (!verify) |
210 if (!verify) |
| 211 return; |
211 return; |
| 212 verify->client = client; |
212 verify->client = client; |
| 213 verify->conn = conn; |
213 verify->conn = conn; |
| 214 verify->filename = strdup(ipf); |
214 verify->filename = g_strdup(ipf); |
| 215 verify->entity = strdup(entity); |
215 verify->entity = g_strdup(entity); |
| 216 verify->entity_name = (conn_type != SILC_CONN_CLIENT ? |
216 verify->entity_name = (conn_type != SILC_CONN_CLIENT ? |
| 217 (name ? strdup(name) : strdup(hostname)) |
217 (name ? g_strdup(name) : g_strdup(hostname)) |
| 218 : NULL); |
218 : NULL); |
| 219 verify->public_key = silc_pkcs_public_key_copy(public_key); |
219 verify->public_key = silc_pkcs_public_key_copy(public_key); |
| 220 verify->completion = completion; |
220 verify->completion = completion; |
| 221 verify->context = context; |
221 verify->context = context; |
| 222 fingerprint = verify->fingerprint = silc_hash_fingerprint(NULL, pk, pk_len); |
222 fingerprint = verify->fingerprint = silc_hash_fingerprint(NULL, pk, pk_len); |
| 260 } |
260 } |
| 261 |
261 |
| 262 /* Local copy matched */ |
262 /* Local copy matched */ |
| 263 if (completion) |
263 if (completion) |
| 264 completion(TRUE, context); |
264 completion(TRUE, context); |
| 265 silc_free(verify->filename); |
265 g_free(verify->filename); |
| 266 silc_free(verify->entity); |
266 g_free(verify->entity); |
| 267 silc_free(verify->entity_name); |
267 g_free(verify->entity_name); |
| 268 silc_free(verify->fingerprint); |
268 silc_free(verify->fingerprint); |
| 269 silc_free(verify->babbleprint); |
269 silc_free(verify->babbleprint); |
| 270 silc_pkcs_public_key_free(verify->public_key); |
270 silc_pkcs_public_key_free(verify->public_key); |
| 271 silc_free(verify); |
271 silc_free(verify); |
| 272 } |
272 } |