};
void auth_client_connection_create(struct auth *auth, int fd, const char *name,
- bool login_requests, bool token_auth)
+ enum auth_client_connection_flags flags)
{
static unsigned int connect_uid_counter = 0;
struct auth_client_connection *conn;
conn->auth = auth;
conn->refcount = 1;
conn->connect_uid = ++connect_uid_counter;
- conn->login_requests = login_requests;
- conn->token_auth = token_auth;
+ conn->login_requests =
+ (flags & AUTH_CLIENT_CONNECTION_FLAG_LOGIN_REQUESTS) != 0;
+ conn->token_auth =
+ (flags & AUTH_CLIENT_CONNECTION_FLAG_TOKEN_AUTH) != 0;
conn->conn.event_parent = auth_event;
random_fill(conn->cookie, sizeof(conn->cookie));
#define AUTH_CLIENT_MINOR_VERSION_CHANNEL_BINDING 3
+enum auth_client_connection_flags {
+ AUTH_CLIENT_CONNECTION_FLAG_LOGIN_REQUESTS = BIT(0),
+ AUTH_CLIENT_CONNECTION_FLAG_TOKEN_AUTH = BIT(1),
+};
+
struct auth_client_connection {
struct connection conn;
struct auth *auth;
bool version_received:1;
bool token_auth:1;
};
-
void auth_client_connection_create(struct auth *auth, int fd, const char *name,
- bool login_requests, bool token_auth);
+ enum auth_client_connection_flags flags);
struct auth_client_connection *
auth_client_connection_lookup(unsigned int pid);
break;
case AUTH_SOCKET_LOGIN:
auth_client_connection_create(auth, conn->fd, conn->name,
- TRUE, FALSE);
+ AUTH_CLIENT_CONNECTION_FLAG_LOGIN_REQUESTS);
break;
case AUTH_SOCKET_AUTH:
- auth_client_connection_create(auth, conn->fd, conn->name,
- FALSE, FALSE);
+ auth_client_connection_create(auth, conn->fd, conn->name, 0);
break;
case AUTH_SOCKET_TOKEN_LOGIN:
auth_client_connection_create(auth, conn->fd, conn->name,
- TRUE, TRUE);
+ AUTH_CLIENT_CONNECTION_FLAG_LOGIN_REQUESTS |
+ AUTH_CLIENT_CONNECTION_FLAG_TOKEN_AUTH);
break;
case AUTH_SOCKET_TOKEN:
auth_client_connection_create(auth, conn->fd, conn->name,
- FALSE, TRUE);
+ AUTH_CLIENT_CONNECTION_FLAG_TOKEN_AUTH);
break;
default:
i_unreached();
{
struct auth *auth = auth_default_protocol();
int fd = net_accept(*server_fd, NULL, NULL);
- auth_client_connection_create(auth, fd, TEST_AUTH_CLIENT_SOCKET, FALSE, FALSE);
+ auth_client_connection_create(auth, fd, TEST_AUTH_CLIENT_SOCKET, 0);
}
static void