summaryrefslogtreecommitdiff
path: root/source4/kdc/kdc-glue.h
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2011-02-09 09:07:47 +0100
committerStefan Metzmacher <metze@samba.org>2011-03-04 21:19:05 +0100
commite70b09e8f8f99b2d63047525f1d5e360582f7eaa (patch)
tree5aab72f3c40630f4896baaba81216f75ede6d51a /source4/kdc/kdc-glue.h
parentad9ac99afd04b1f69ca188eb0005a1226520bc7d (diff)
downloadsamba-e70b09e8f8f99b2d63047525f1d5e360582f7eaa.tar.gz
samba-e70b09e8f8f99b2d63047525f1d5e360582f7eaa.tar.bz2
samba-e70b09e8f8f99b2d63047525f1d5e360582f7eaa.zip
s4:kdc: split the kdc_udp_proxy() logic from the main kdc logic
By having kdc_udp_proxy_send/recv(), which just asks any writeable dc for a reponse blob, we simplify the interaction between client-local and local-writeable sockets. This allows us to make kdc_udp_call and kdc_udp_socket private to kdc.c again. metze
Diffstat (limited to 'source4/kdc/kdc-glue.h')
-rw-r--r--source4/kdc/kdc-glue.h23
1 files changed, 8 insertions, 15 deletions
diff --git a/source4/kdc/kdc-glue.h b/source4/kdc/kdc-glue.h
index 75b6b988fe..f9489b1fd1 100644
--- a/source4/kdc/kdc-glue.h
+++ b/source4/kdc/kdc-glue.h
@@ -50,19 +50,6 @@ enum kdc_process_ret {
KDC_PROCESS_FAILED,
KDC_PROCESS_PROXY};
-struct kdc_udp_call {
- struct tsocket_address *src;
- DATA_BLOB in;
- DATA_BLOB out;
-};
-
-/* hold information about one kdc/kpasswd udp socket */
-struct kdc_udp_socket {
- struct kdc_socket *kdc_socket;
- struct tdgram_context *dgram;
- struct tevent_queue *send_queue;
-};
-
struct kdc_tcp_call {
struct kdc_tcp_connection *kdc_conn;
DATA_BLOB in;
@@ -116,8 +103,14 @@ NTSTATUS hdb_samba4_create_kdc(struct samba_kdc_base_context *base_ctx,
krb5_context context, struct HDB **db);
/* from proxy.c */
-void kdc_udp_proxy(struct kdc_server *kdc, struct kdc_udp_socket *sock,
- struct kdc_udp_call *call, uint16_t port);
+struct tevent_req *kdc_udp_proxy_send(TALLOC_CTX *mem_ctx,
+ struct tevent_context *ev,
+ struct kdc_server *kdc,
+ uint16_t port,
+ DATA_BLOB in);
+NTSTATUS kdc_udp_proxy_recv(struct tevent_req *req,
+ TALLOC_CTX *mem_ctx,
+ DATA_BLOB *out);
void kdc_tcp_proxy(struct kdc_server *kdc, struct kdc_tcp_connection *kdc_conn,
struct kdc_tcp_call *call, uint16_t port);