post_initiate_connection_smtp

March 26, 2020

Name

post_initiate_connection_smtp

Synopsis

#include "hooks/core/post_initiate_connection_smtp.h"

| void **post_initiate_connection_smtp** ( | closure, |   |
|   | dr, |   |
|   | binding_slot, |   |
|   | now, |   |
|   | conn_fd); |   |

void * <var class="pdparam">closure</var>;
domain_record * <var class="pdparam">dr</var>;
int <var class="pdparam">binding_slot</var>;
struct timeval * <var class="pdparam">now</var>;
int <var class="pdparam">conn_fd</var>;

| int **has_core_post_initiate_connection_smtp_hook** ( | ); |   |

| void **register_core_post_initiate_connection_smtp_hook_first** ( | hook, |   |
|   | closure); |   |

ec_hook_core_post_initiate_connection_smtp_func_t <var class="pdparam">hook</var>;
void *<var class="pdparam">closure</var>;

| void **register_core_post_initiate_connection_smtp_hook_last** ( | hook, |   |
|   | closure); |   |

ec_hook_core_post_initiate_connection_smtp_func_t <var class="pdparam">hook</var>;
void *<var class="pdparam">closure</var>;

| void **call_core_post_initiate_connection_smtp_hook** ( | dr, |   |
|   | binding_slot, |   |
|   | now, |   |
|   | conn_fd); |   |

domain_record * <var class="pdparam">dr</var>;
int <var class="pdparam">binding_slot</var>;
struct timeval * <var class="pdparam">now</var>;
int <var class="pdparam">conn_fd</var>;

Description

Called after an SMTP session initiation has been attempted. The architecture of Momentum is such that a connection is not created for a specific message, but instead for a domain/binding pair. A reasonable guess at which message might have been attempted on that connection would be to look at the active queue for that domain/binding and peek at the first message in the queue.

dr is the domain in question. binding_slot is the binding in question. now is the current time, and conn_fd is the return value from initiate_connection, either a valid file descriptor or one of the CONN_ERR codes from connection.h.