blob: c2a5dd5f8ca74fdc45e3b68dbc7c0911467db5b3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
#ifndef AUTH_MASTER_CONNECTION_H
#define AUTH_MASTER_CONNECTION_H
struct stat;
struct auth_stream_reply;
struct auth_master_connection {
struct auth_master_connection *prev, *next;
struct auth *auth;
struct event *event;
int refcount;
struct timeval create_time, handshake_time;
int fd;
char *path;
struct istream *input;
struct ostream *output;
struct io *io;
struct master_list_iter_ctx *iter_ctx;
/* If non-zero, allow only USER lookups whose returned uid matches
this uid. Don't allow LIST/PASS lookups. */
uid_t userdb_restricted_uid;
bool version_received:1;
bool destroyed:1;
bool userdb_only:1;
};
struct auth_master_connection *
auth_master_connection_create(struct auth *auth, int fd,
const char *path, const struct stat *socket_st,
bool userdb_only) ATTR_NULL(4);
void auth_master_connection_destroy(struct auth_master_connection **conn);
void auth_master_connection_ref(struct auth_master_connection *conn);
void auth_master_connection_unref(struct auth_master_connection **conn);
void auth_master_request_callback(const char *reply, struct auth_master_connection *conn);
void auth_master_connections_destroy_all(void);
#endif
|