struct director_request;
typedef void
-director_request_callback(const struct ip_addr *ip, const char *hostname,
+director_request_callback(const struct mail_host *host, const char *hostname,
const char *errormsg, void *context);
void director_request(struct director *dir, const char *username,
#include "master-service.h"
#include "director.h"
#include "director-request.h"
+#include "mail-host.h"
#include "auth-connection.h"
#include "login-connection.h"
}
static void
-login_host_callback(const struct ip_addr *ip, const char *hostname,
+login_host_callback(const struct mail_host *host, const char *hostname,
const char *errormsg, void *context)
{
struct login_host_request *request = context;
const char *line, *line_params;
unsigned int secs;
- if (ip == NULL) {
+ if (host == NULL) {
if (strncmp(request->line, "OK\t", 3) == 0)
line_params = request->line + 3;
else if (strncmp(request->line, "PASS\t", 5) == 0)
line = t_strconcat("FAIL\t", t_strcut(line_params, '\t'),
"\ttemp", NULL);
} else if (request->director_proxy_maybe &&
- login_host_request_is_self(request, ip)) {
+ login_host_request_is_self(request, &host->ip)) {
line = request->line;
} else {
string_t *str = t_str_new(64);
secs = dir->set->director_user_expire / 2;
str_printfa(str, "%s\tproxy_refresh=%u\t", request->line, secs);
if (hostname == NULL || hostname[0] == '\0')
- str_printfa(str, "host=%s", net_ip2addr(ip));
+ str_printfa(str, "host=%s", host->ip_str);
else {
str_printfa(str, "host=%s\thostip=%s",
- hostname, net_ip2addr(ip));
+ hostname, host->ip_str);
}
line = str_c(str);
}