svn commit: samba r12121 - in branches/SAMBA_4_0/source/kdc: .
metze at samba.org
metze at samba.org
Thu Dec 8 07:50:39 GMT 2005
Author: metze
Date: 2005-12-08 07:50:38 +0000 (Thu, 08 Dec 2005)
New Revision: 12121
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=12121
Log:
remove some dublicate code
metze
Modified:
branches/SAMBA_4_0/source/kdc/kdc.c
Changeset:
Modified: branches/SAMBA_4_0/source/kdc/kdc.c
===================================================================
--- branches/SAMBA_4_0/source/kdc/kdc.c 2005-12-08 04:15:31 UTC (rev 12120)
+++ branches/SAMBA_4_0/source/kdc/kdc.c 2005-12-08 07:50:38 UTC (rev 12121)
@@ -41,6 +41,13 @@
DATA_BLOB packet;
};
+typedef BOOL (*kdc_process_fn_t)(struct kdc_server *kdc,
+ TALLOC_CTX *mem_ctx,
+ DATA_BLOB *input,
+ DATA_BLOB *reply,
+ const char *src_addr,
+ int src_port);
+
/* hold information about one kdc socket */
struct kdc_socket {
struct socket_context *sock;
@@ -50,12 +57,7 @@
/* a queue of outgoing replies that have been deferred */
struct kdc_reply *send_queue;
- BOOL (*process)(struct kdc_server *kdc,
- TALLOC_CTX *mem_ctx,
- DATA_BLOB *input,
- DATA_BLOB *reply,
- const char *from,
- int src_port);
+ kdc_process_fn_t process;
};
/*
state of an open tcp connection
@@ -69,12 +71,7 @@
struct packet_context *packet;
- BOOL (*process)(struct kdc_server *kdc,
- TALLOC_CTX *mem_ctx,
- DATA_BLOB *input,
- DATA_BLOB *reply,
- const char *from,
- int src_port);
+ kdc_process_fn_t process;
};
/*
@@ -334,7 +331,7 @@
/*
called when we get a new connection
*/
-static void kdc_tcp_accept(struct stream_connection *conn)
+static void kdc_tcp_generic_accept(struct stream_connection *conn, kdc_process_fn_t process_fn)
{
struct kdc_server *kdc = talloc_get_type(conn->private, struct kdc_server);
struct kdc_tcp_connection *kdcconn;
@@ -346,12 +343,12 @@
}
kdcconn->conn = conn;
kdcconn->kdc = kdc;
- kdcconn->process = kdc_process;
+ kdcconn->process = process_fn;
conn->private = kdcconn;
kdcconn->packet = packet_init(kdcconn);
if (kdcconn->packet == NULL) {
- stream_terminate_connection(conn, "kdc_tcp_accept: out of memory");
+ kdc_tcp_terminate_connection(kdcconn, "kdc_tcp_accept: out of memory");
return;
}
packet_set_private(kdcconn->packet, kdcconn);
@@ -364,6 +361,11 @@
packet_set_serialise(kdcconn->packet);
}
+static void kdc_tcp_accept(struct stream_connection *conn)
+{
+ kdc_tcp_generic_accept(conn, kdc_process);
+}
+
static const struct stream_server_ops kdc_tcp_stream_ops = {
.name = "kdc_tcp",
.accept_connection = kdc_tcp_accept,
@@ -371,36 +373,9 @@
.send_handler = kdc_tcp_send
};
-/*
- called when we get a new connection
-*/
-void kpasswdd_tcp_accept(struct stream_connection *conn)
+static void kpasswdd_tcp_accept(struct stream_connection *conn)
{
- struct kdc_server *kdc = talloc_get_type(conn->private, struct kdc_server);
- struct kdc_tcp_connection *kdcconn;
-
- kdcconn = talloc_zero(conn, struct kdc_tcp_connection);
- if (!kdcconn) {
- stream_terminate_connection(conn, "kdc_tcp_accept: out of memory");
- return;
- }
- kdcconn->conn = conn;
- kdcconn->kdc = kdc;
- kdcconn->process = kpasswdd_process;
- conn->private = kdcconn;
- kdcconn->packet = packet_init(kdcconn);
- if (kdcconn->packet == NULL) {
- stream_terminate_connection(conn, "kdc_tcp_accept: out of memory");
- return;
- }
- packet_set_private(kdcconn->packet, kdcconn);
- packet_set_socket(kdcconn->packet, conn->socket);
- packet_set_callback(kdcconn->packet, kdc_tcp_recv);
- packet_set_full_request(kdcconn->packet, packet_full_request_u32);
- packet_set_error_handler(kdcconn->packet, kdc_tcp_recv_error);
- packet_set_event_context(kdcconn->packet, conn->event.ctx);
- packet_set_fde(kdcconn->packet, conn->event.fde);
- packet_set_serialise(kdcconn->packet);
+ kdc_tcp_generic_accept(conn, kpasswdd_process);
}
static const struct stream_server_ops kpasswdd_tcp_stream_ops = {
More information about the samba-cvs
mailing list