static void sync_reset(void) { proc_cleanup(); if (sync_in) { prot_NONBLOCK(sync_in); prot_fill(sync_in); prot_free(sync_in); } if (sync_out) { prot_flush(sync_out); prot_free(sync_out); } sync_in = sync_out = NULL; #ifdef HAVE_SSL if (tls_conn) { tls_reset_servertls(&tls_conn); tls_conn = NULL; } #endif cyrus_reset_stdio(); sync_clienthost = "[local]"; if (sync_logfd != -1) { close(sync_logfd); sync_logfd = -1; } if (sync_userid != NULL) { free(sync_userid); sync_userid = NULL; } if (sync_authstate) { auth_freestate(sync_authstate); sync_authstate = NULL; } if (sync_saslconn) { sasl_dispose(&sync_saslconn); sync_saslconn = NULL; } sync_starttls_done = 0; sync_compress_done = 0; saslprops_reset(&saslprops); }
void msg_free(message_data_t *m) { int i; if (m->data) { prot_free(m->data); } if (m->f) { fclose(m->f); } if (m->id) { free(m->id); } if (m->return_path) { free(m->return_path); } if (m->rcpt) { for (i = 0; i < m->rcpt_num; i++) { if (m->rcpt[i]->all) free(m->rcpt[i]->all); if (m->rcpt[i]->rcpt) free(m->rcpt[i]->rcpt); free(m->rcpt[i]); } free(m->rcpt); } if (m->date) { free(m->date); } if (m->authuser) { free(m->authuser); if (m->authstate) auth_freestate(m->authstate); } spool_free_hdrcache(m->hdrcache); free(m); }