/* Copyright (c) 2003-2018 Dovecot authors, see the included COPYING file */
#include "lib.h"
#include "str.h"
#include "strescape.h"
#include "ostream.h"
#include "auth-client-private.h"
#include "auth-server-connection.h"
#include "auth-client-request.h"
struct auth_client_request {
unsigned int id;
void *context;
};
struct auth_client_request *request,
const struct auth_request_info *info)
{
} else {
}
}
}
if (info->local_port != 0)
if (info->remote_port != 0)
/* send the real_* variants only when they differ from the unreal
ones */
}
}
if (info->real_local_port != 0 &&
if (info->real_remote_port != 0 &&
}
}
}
}
}
}
}
i_error("Error sending request to auth server: %m");
}
struct auth_client_request *
const struct auth_request_info *request_info,
{
T_BEGIN {
} T_END;
return request;
}
const char *data_base64)
{
const char *prefix;
i_error("Error sending continue request to auth server: %m");
}
enum auth_request_status status,
const char *data_base64,
const char *const *args)
{
if (status != AUTH_REQUEST_STATUS_CONTINUE)
}
{
/* remove the request */
}
{
}
unsigned int
{
}
{
}
{
}
{
}
enum auth_request_status status,
const char *const *args)
{
/* aborted already */
return;
}
switch (status) {
case AUTH_REQUEST_STATUS_OK:
break;
}
}
break;
base64_data = args[0];
break;
case AUTH_REQUEST_STATUS_FAIL:
break;
}
if (status != AUTH_REQUEST_STATUS_CONTINUE)
}
{
i_error("Error sending request to auth server: %m");
}