int mailmessage_encrypt(struct mailprivacy * privacy, struct mailmessage * msg, char * protocol, char * encryption_method) { int r; int res; struct mailmime * mime; struct mailmime * encrypted_mime; struct mailmime * part_to_encrypt; r = mailprivacy_msg_get_bodystructure(privacy, msg, &mime); if (r != MAIL_NO_ERROR) { res = r; goto err; } part_to_encrypt = mime->mm_data.mm_message.mm_msg_mime; r = mailprivacy_encrypt_msg(privacy, protocol, encryption_method, msg, part_to_encrypt, &encrypted_mime); if (r != MAIL_NO_ERROR) { res = r; goto err; } mime->mm_data.mm_message.mm_msg_mime = encrypted_mime; encrypted_mime->mm_parent = mime; part_to_encrypt->mm_parent = NULL; mailmime_free(part_to_encrypt); return MAIL_NO_ERROR; err: return res; }
int mailprivacy_encrypt(struct mailprivacy * privacy, char * privacy_driver, char * privacy_encryption, struct mailmime * mime, struct mailmime ** result) { return mailprivacy_encrypt_msg(privacy, privacy_driver, privacy_encryption, NULL, mime, result); }