X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=common-src%2Fsecurity-util.h;h=93b234f6f4fdb526fba1d964658a96b0fe48e84c;hb=79cdc4b6ea8848b21ba4a0e7d2fd3bc401e0bebe;hp=9b2dcc47ce855249dacd6d3d37ed79da385cbf2b;hpb=ac973066bc508cb82728e46eaf499e9424d4e0f1;p=debian%2Famanda diff --git a/common-src/security-util.h b/common-src/security-util.h index 9b2dcc4..93b234f 100644 --- a/common-src/security-util.h +++ b/common-src/security-util.h @@ -39,9 +39,9 @@ #include "security.h" #include "event.h" -#define auth_debug(i,x) do { \ +#define auth_debug(i, ...) do { \ if ((i) <= debug_auth) { \ - dbprintf(x); \ + dbprintf(__VA_ARGS__); \ } \ } while (0) @@ -75,14 +75,17 @@ struct tcp_conn { char * errmsg; /* error passed up */ int refcnt; /* number of handles using */ int handle; /* last proto handle read */ + int event_id; /* event ID fired when token read */ void (*accept_fn)(security_handle_t *, pkt_t *); - struct sockaddr_storage peer; + sockaddr_union peer; TAILQ_ENTRY(tcp_conn) tq; /* queue handle */ int (*recv_security_ok)(struct sec_handle *, pkt_t *); char * (*prefix_packet)(void *, pkt_t *); int toclose; int donotclose; int auth; + char * (*conf_fn)(char *, void *); + void * datap; #ifdef KRB5_SECURITY gss_ctx_id_t gss_context; #endif @@ -107,7 +110,7 @@ struct sec_handle { } fn; void * arg; /* argument to pass function */ event_handle_t * ev_timeout; /* timeout handle for recv */ - struct sockaddr_storage peer; + sockaddr_union peer; int sequence; event_id_t event_id; char * proto_handle; @@ -163,7 +166,7 @@ extern struct connq_s connq; typedef struct udp_handle { const struct security_driver *driver; /* MUST be first */ dgram_t dgram; /* datagram to read/write from */ - struct sockaddr_storage peer; /* who sent it to us */ + sockaddr_union peer; /* who sent it to us */ pkt_t pkt; /* parsed form of dgram */ char *handle; /* handle from recvd packet */ int sequence; /* seq no of packet */ @@ -206,8 +209,11 @@ typedef struct udp_handle { int sec_stream_auth(void *); int sec_stream_id(void *); -void sec_accept(const security_driver_t *, int, int, - void (*)(security_handle_t *, pkt_t *)); +void sec_accept(const security_driver_t *, + char *(*)(char *, void *), + int, int, + void (*)(security_handle_t *, pkt_t *), + void *); void sec_close(void *); void sec_connect_callback(void *); void sec_connect_timeout(void *); @@ -250,7 +256,7 @@ void udp_recvpkt_cancel(void *); void udp_recvpkt_callback(void *); void udp_recvpkt_timeout(void *); int udp_inithandle(udp_handle_t *, struct sec_handle *, char *hostname, - struct sockaddr_storage *, in_port_t, char *, int); + sockaddr_union *, in_port_t, char *, int); void udp_netfd_read_callback(void *); struct tcp_conn *sec_tcp_conn_get(const char *, int); @@ -265,20 +271,15 @@ char * check_user_ruserok (const char *host, struct passwd *pwd, const char *user); char * check_user_amandahosts(const char *host, - struct sockaddr_storage *addr, + sockaddr_union *addr, struct passwd *pwd, const char *user, const char *service); -ssize_t net_writev(int, struct iovec *, int); ssize_t net_read(int, void *, size_t, int); ssize_t net_read_fillbuf(int, int, void *, size_t); void show_stat_info(char *a, char *b); int check_name_give_sockaddr(const char *hostname, struct sockaddr *addr, char **errstr); -int check_addrinfo_give_name(struct addrinfo *res, const char *hostname, - char **errstr); -int try_resolving_hostname(const char *hostname, - char **cannonname); #endif /* _SECURITY_INFO_H */