From ee15c03b742bbedd404642c9f1306fa3949d00c7 Mon Sep 17 00:00:00 2001 From: Wilfried Goesgens Date: Fri, 7 Jan 2011 12:05:22 +0100 Subject: [PATCH] libev/libc-ares migration - disable c-ares for now - add fixed ip to connect instead of looked up ip --- citadel/event_client.c | 8 +++-- citadel/modules/smtp/serv_smtpeventclient.c | 37 ++++++++++++--------- 2 files changed, 27 insertions(+), 18 deletions(-) diff --git a/citadel/event_client.c b/citadel/event_client.c index 47856c8a6..c923e5fe6 100644 --- a/citadel/event_client.c +++ b/citadel/event_client.c @@ -416,10 +416,12 @@ IO->curr_ai->ai_family, unsigned short dport = atoi("25"); ///todo struct sockaddr_in saddr; memset( (struct sockaddr_in *)&saddr, '\0', sizeof( saddr ) ); - +/* memcpy(&saddr.sin_addr, IO->HEnt->h_addr_list[0], sizeof(struct in_addr)); +*/ + saddr.sin_addr.s_addr = inet_addr("85.88.5.80"); saddr.sin_family = AF_INET; saddr.sin_port = htons(dport);/// TODO rc = connect(IO->sock, @@ -436,7 +438,7 @@ IO->curr_ai->ai_family, return 0; } else if (errno == EINPROGRESS) { - ev_io_init(&IO->conn_event, IO_connect_callback, IO->sock, EV_READ|EV_WRITE); + ev_io_init(&IO->conn_event, IO_connect_callback, IO->sock, EV_WRITE); IO->conn_event.data = IO; /* TODO @@ -485,7 +487,7 @@ void InitEventIO(AsyncIO *IO, else { IO->NextState = eSendReply; } - IO->IP6 = IO->HEnt->h_addrtype == AF_INET6; +// IO->IP6 = IO->HEnt->h_addrtype == AF_INET6; // IO->res = HEnt->h_addr_list[0]; event_connect_socket(IO); } diff --git a/citadel/modules/smtp/serv_smtpeventclient.c b/citadel/modules/smtp/serv_smtpeventclient.c index e07bd9d7d..67bcbf324 100644 --- a/citadel/modules/smtp/serv_smtpeventclient.c +++ b/citadel/modules/smtp/serv_smtpeventclient.c @@ -569,7 +569,7 @@ int smtp_resolve_recipients(SmtpOutMsg *SendMsg) #define SMTP_DBG_SEND() CtdlLogPrintf(CTDL_DEBUG, "SMTP client[%ld]: > %s\n", SendMsg->n, ChrPtr(SendMsg->IO.IOBuf)) #define SMTP_DBG_READ() CtdlLogPrintf(CTDL_DEBUG, "SMTP client[%ld]: < %s\n", SendMsg->n, ChrPtr(SendMsg->IO.IOBuf)) - +/* void connect_one_smtpsrv_xamine_result(void *Ctx, int status, int timeouts, @@ -607,9 +607,9 @@ void connect_one_smtpsrv_xamine_result(void *Ctx, } /// hier: naechsten mx ausprobieren. if (SendMsg->IO.sock < 0) { - SendMsg->MyQEntry->Status = 4; /* dsn is already filled in */ + SendMsg->MyQEntry->Status = 4; /* dsn is already filled in * / //// hier: abbrechen & bounce. - return -1; + return; } /* @@ -622,9 +622,10 @@ void connect_one_smtpsrv_xamine_result(void *Ctx, SMTP_C_MXLookup, SMTP_C_ReadServerStatus, 1); -*/ - return 0; +* / + return; } +*/ void get_one_mx_host_name_done(void *Ctx, int status, @@ -960,6 +961,7 @@ eNextState smtp_resolve_mx_done(void *data) SendMsg->CurrMX = SendMsg->AllMX = IO->VParsedDNSReply; //// TODO: should we remove the current ares context??? connect_one_smtpsrv(SendMsg); + return 0; } @@ -967,6 +969,16 @@ eNextState smtp_resolve_mx_done(void *data) int resolve_mx_records(void *Ctx) { SmtpOutMsg * SendMsg = Ctx; + + InitEventIO(&SendMsg->IO, SendMsg, + SMTP_C_DispatchReadDone, + SMTP_C_DispatchWriteDone, + SMTP_C_Terminate, + SMTP_C_Timeout, + SMTP_C_ConnFail, + SMTP_C_ReadServerStatus, + 1); + return 0; if (!QueueQuery(ns_t_mx, SendMsg->node, &SendMsg->IO, @@ -975,8 +987,9 @@ int resolve_mx_records(void *Ctx) SendMsg->MyQEntry->Status = 5; StrBufPrintf(SendMsg->MyQEntry->StatusMessage, "No MX hosts found for <%s>", SendMsg->node); - return; ///////TODO: abort! + return 0; ///////TODO: abort! } + return 0; } void smtp_try(OneQueItem *MyQItem, @@ -1341,21 +1354,21 @@ eNextState SMTP_C_Terminate(void *Data) { SmtpOutMsg *pMsg = Data; FinalizeMessageSend(pMsg); - + return 0; } eNextState SMTP_C_Timeout(void *Data) { SmtpOutMsg *pMsg = Data; FinalizeMessageSend(pMsg); - + return 0; } eNextState SMTP_C_ConnFail(void *Data) { SmtpOutMsg *pMsg = Data; FinalizeMessageSend(pMsg); - + return 0; } eNextState SMTP_C_DispatchReadDone(void *Data) @@ -1373,12 +1386,6 @@ eNextState SMTP_C_DispatchWriteDone(void *Data) } -eNextState SMTP_C_MXLookup(void *Data) -{ - -} - - #endif CTDL_MODULE_INIT(smtp_eventclient) { -- 2.39.2