summaryrefslogtreecommitdiff
path: root/source4/kdc
diff options
context:
space:
mode:
authorAndreas Schneider <asn@samba.org>2016-06-10 09:50:45 +0200
committerJeremy Allison <jra@samba.org>2016-06-18 23:32:26 +0200
commitcafd2d365abd42193caa2b666ae443fdc8a9d0a6 (patch)
tree0a2164ab93a853438a82d1fdaca64253be0a5395 /source4/kdc
parent0314796113db86cb9ee3342e06e8e9e117fdd162 (diff)
downloadsamba-cafd2d365abd42193caa2b666ae443fdc8a9d0a6.tar.gz
s4-kdc: Use better and simpler names for the kdc_process_ret enum
Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'source4/kdc')
-rw-r--r--source4/kdc/kdc-glue.h23
-rw-r--r--source4/kdc/kdc-heimdal.c50
-rw-r--r--source4/kdc/kpasswd-heimdal.c46
3 files changed, 60 insertions, 59 deletions
diff --git a/source4/kdc/kdc-glue.h b/source4/kdc/kdc-glue.h
index 4bbfe321c85..7ba4bd3bfcb 100644
--- a/source4/kdc/kdc-glue.h
+++ b/source4/kdc/kdc-glue.h
@@ -45,18 +45,19 @@ struct kdc_server {
void *private_data;
};
-enum kdc_process_ret {
- KDC_PROCESS_OK=0,
- KDC_PROCESS_FAILED,
- KDC_PROCESS_PROXY};
+typedef enum kdc_code_e {
+ KDC_OK = 0,
+ KDC_ERROR,
+ KDC_PROXY_REQUEST
+} kdc_code;
-enum kdc_process_ret kpasswdd_process(struct kdc_server *kdc,
- TALLOC_CTX *mem_ctx,
- DATA_BLOB *input,
- DATA_BLOB *reply,
- struct tsocket_address *peer_addr,
- struct tsocket_address *my_addr,
- int datagram_reply);
+kdc_code kpasswdd_process(struct kdc_server *kdc,
+ TALLOC_CTX *mem_ctx,
+ DATA_BLOB *input,
+ DATA_BLOB *reply,
+ struct tsocket_address *peer_addr,
+ struct tsocket_address *my_addr,
+ int datagram_reply);
/* from hdb-samba4.c */
NTSTATUS hdb_samba4_create_kdc(struct samba_kdc_base_context *base_ctx,
diff --git a/source4/kdc/kdc-heimdal.c b/source4/kdc/kdc-heimdal.c
index 92c6108e095..2a190105dff 100644
--- a/source4/kdc/kdc-heimdal.c
+++ b/source4/kdc/kdc-heimdal.c
@@ -70,13 +70,13 @@ static NTSTATUS kdc_proxy_unavailable_error(struct kdc_server *kdc,
return NT_STATUS_OK;
}
-typedef enum kdc_process_ret (*kdc_process_fn_t)(struct kdc_server *kdc,
- TALLOC_CTX *mem_ctx,
- DATA_BLOB *input,
- DATA_BLOB *reply,
- struct tsocket_address *peer_addr,
- struct tsocket_address *my_addr,
- int datagram);
+typedef kdc_code (*kdc_process_fn_t)(struct kdc_server *kdc,
+ TALLOC_CTX *mem_ctx,
+ DATA_BLOB *input,
+ DATA_BLOB *reply,
+ struct tsocket_address *peer_addr,
+ struct tsocket_address *my_addr,
+ int datagram);
/* hold information about one kdc socket */
struct kdc_socket {
@@ -135,13 +135,13 @@ static void kdc_tcp_send(struct stream_connection *conn, uint16_t flags)
calling conventions
*/
-static enum kdc_process_ret kdc_process(struct kdc_server *kdc,
- TALLOC_CTX *mem_ctx,
- DATA_BLOB *input,
- DATA_BLOB *reply,
- struct tsocket_address *peer_addr,
- struct tsocket_address *my_addr,
- int datagram_reply)
+static kdc_code kdc_process(struct kdc_server *kdc,
+ TALLOC_CTX *mem_ctx,
+ DATA_BLOB *input,
+ DATA_BLOB *reply,
+ struct tsocket_address *peer_addr,
+ struct tsocket_address *my_addr,
+ int datagram_reply)
{
int ret;
char *pa;
@@ -157,11 +157,11 @@ static enum kdc_process_ret kdc_process(struct kdc_server *kdc,
ret = tsocket_address_bsd_sockaddr(peer_addr, (struct sockaddr *) &ss,
sizeof(struct sockaddr_storage));
if (ret < 0) {
- return KDC_PROCESS_FAILED;
+ return KDC_ERROR;
}
pa = tsocket_address_string(peer_addr, mem_ctx);
if (pa == NULL) {
- return KDC_PROCESS_FAILED;
+ return KDC_ERROR;
}
DEBUG(10,("Received KDC packet of length %lu from %s\n",
@@ -176,12 +176,12 @@ static enum kdc_process_ret kdc_process(struct kdc_server *kdc,
datagram_reply);
if (ret == -1) {
*reply = data_blob(NULL, 0);
- return KDC_PROCESS_FAILED;
+ return KDC_ERROR;
}
if (ret == HDB_ERR_NOT_FOUND_HERE) {
*reply = data_blob(NULL, 0);
- return KDC_PROCESS_PROXY;
+ return KDC_PROXY_REQUEST;
}
if (k5_reply.length) {
@@ -190,7 +190,7 @@ static enum kdc_process_ret kdc_process(struct kdc_server *kdc,
} else {
*reply = data_blob(NULL, 0);
}
- return KDC_PROCESS_OK;
+ return KDC_OK;
}
static void kdc_tcp_call_proxy_done(struct tevent_req *subreq);
@@ -202,7 +202,7 @@ static void kdc_tcp_call_loop(struct tevent_req *subreq)
struct kdc_tcp_connection);
struct kdc_tcp_call *call;
NTSTATUS status;
- enum kdc_process_ret ret;
+ kdc_code ret;
call = talloc(kdc_conn, struct kdc_tcp_call);
if (call == NULL) {
@@ -246,13 +246,13 @@ static void kdc_tcp_call_loop(struct tevent_req *subreq)
kdc_conn->conn->remote_address,
kdc_conn->conn->local_address,
0 /* Stream */);
- if (ret == KDC_PROCESS_FAILED) {
+ if (ret == KDC_ERROR) {
kdc_tcp_terminate_connection(kdc_conn,
"kdc_tcp_call_loop: process function failed");
return;
}
- if (ret == KDC_PROCESS_PROXY) {
+ if (ret == KDC_PROXY_REQUEST) {
uint16_t port;
if (!kdc_conn->kdc_socket->kdc->am_rodc) {
@@ -500,7 +500,7 @@ static void kdc_udp_call_loop(struct tevent_req *subreq)
uint8_t *buf;
ssize_t len;
int sys_errno;
- enum kdc_process_ret ret;
+ kdc_code ret;
call = talloc(sock, struct kdc_udp_call);
if (call == NULL) {
@@ -532,12 +532,12 @@ static void kdc_udp_call_loop(struct tevent_req *subreq)
call->src,
sock->kdc_socket->local_address,
1 /* Datagram */);
- if (ret == KDC_PROCESS_FAILED) {
+ if (ret == KDC_ERROR) {
talloc_free(call);
goto done;
}
- if (ret == KDC_PROCESS_PROXY) {
+ if (ret == KDC_PROXY_REQUEST) {
uint16_t port;
if (!sock->kdc_socket->kdc->am_rodc) {
diff --git a/source4/kdc/kpasswd-heimdal.c b/source4/kdc/kpasswd-heimdal.c
index 453e41a41bd..6c499aa27c6 100644
--- a/source4/kdc/kpasswd-heimdal.c
+++ b/source4/kdc/kpasswd-heimdal.c
@@ -405,13 +405,13 @@ static bool kpasswd_process_request(struct kdc_server *kdc,
}
}
-enum kdc_process_ret kpasswdd_process(struct kdc_server *kdc,
- TALLOC_CTX *mem_ctx,
- DATA_BLOB *input,
- DATA_BLOB *reply,
- struct tsocket_address *peer_addr,
- struct tsocket_address *my_addr,
- int datagram_reply)
+kdc_code kpasswdd_process(struct kdc_server *kdc,
+ TALLOC_CTX *mem_ctx,
+ DATA_BLOB *input,
+ DATA_BLOB *reply,
+ struct tsocket_address *peer_addr,
+ struct tsocket_address *my_addr,
+ int datagram_reply)
{
bool ret;
const uint16_t header_len = 6;
@@ -431,25 +431,25 @@ enum kdc_process_ret kpasswdd_process(struct kdc_server *kdc,
char *keytab_name;
if (!tmp_ctx) {
- return KDC_PROCESS_FAILED;
+ return KDC_ERROR;
}
if (kdc->am_rodc) {
talloc_free(tmp_ctx);
- return KDC_PROCESS_PROXY;
+ return KDC_PROXY_REQUEST;
}
/* Be parinoid. We need to ensure we don't just let the
* caller lead us into a buffer overflow */
if (input->length <= header_len) {
talloc_free(tmp_ctx);
- return KDC_PROCESS_FAILED;
+ return KDC_ERROR;
}
len = RSVAL(input->data, 0);
if (input->length != len) {
talloc_free(tmp_ctx);
- return KDC_PROCESS_FAILED;
+ return KDC_ERROR;
}
/* There are two different versions of this protocol so far,
@@ -459,7 +459,7 @@ enum kdc_process_ret kpasswdd_process(struct kdc_server *kdc,
ap_req_len = RSVAL(input->data, 4);
if ((ap_req_len >= len) || (ap_req_len + header_len) >= len) {
talloc_free(tmp_ctx);
- return KDC_PROCESS_FAILED;
+ return KDC_ERROR;
}
krb_priv_len = len - ap_req_len;
@@ -470,7 +470,7 @@ enum kdc_process_ret kpasswdd_process(struct kdc_server *kdc,
if (!server_credentials) {
DEBUG(1, ("Failed to init server credentials\n"));
talloc_free(tmp_ctx);
- return KDC_PROCESS_FAILED;
+ return KDC_ERROR;
}
/* We want the credentials subsystem to use the krb5 context
@@ -508,7 +508,7 @@ enum kdc_process_ret kpasswdd_process(struct kdc_server *kdc,
&gensec_security);
if (!NT_STATUS_IS_OK(nt_status)) {
talloc_free(tmp_ctx);
- return KDC_PROCESS_FAILED;
+ return KDC_ERROR;
}
/* The kerberos PRIV packets include these addresses. MIT
@@ -522,14 +522,14 @@ enum kdc_process_ret kpasswdd_process(struct kdc_server *kdc,
nt_status = gensec_set_remote_address(gensec_security, peer_addr);
if (!NT_STATUS_IS_OK(nt_status)) {
talloc_free(tmp_ctx);
- return KDC_PROCESS_FAILED;
+ return KDC_ERROR;
}
#endif
nt_status = gensec_set_local_address(gensec_security, my_addr);
if (!NT_STATUS_IS_OK(nt_status)) {
talloc_free(tmp_ctx);
- return KDC_PROCESS_FAILED;
+ return KDC_ERROR;
}
/* We want the GENSEC wrap calls to generate PRIV tokens */
@@ -538,7 +538,7 @@ enum kdc_process_ret kpasswdd_process(struct kdc_server *kdc,
nt_status = gensec_start_mech_by_name(gensec_security, "krb5");
if (!NT_STATUS_IS_OK(nt_status)) {
talloc_free(tmp_ctx);
- return KDC_PROCESS_FAILED;
+ return KDC_ERROR;
}
/* Accept the AP-REQ and generate teh AP-REP we need for the reply */
@@ -556,7 +556,7 @@ enum kdc_process_ret kpasswdd_process(struct kdc_server *kdc,
goto reply;
}
talloc_free(tmp_ctx);
- return KDC_PROCESS_FAILED;
+ return KDC_ERROR;
}
/* Extract the data from the KRB-PRIV half of the message */
@@ -573,7 +573,7 @@ enum kdc_process_ret kpasswdd_process(struct kdc_server *kdc,
goto reply;
}
talloc_free(tmp_ctx);
- return KDC_PROCESS_FAILED;
+ return KDC_ERROR;
}
/* Figure out something to do with it (probably changing a password...) */
@@ -584,7 +584,7 @@ enum kdc_process_ret kpasswdd_process(struct kdc_server *kdc,
if (!ret) {
/* Argh! */
talloc_free(tmp_ctx);
- return KDC_PROCESS_FAILED;
+ return KDC_ERROR;
}
/* And wrap up the reply: This ensures that the error message
@@ -603,14 +603,14 @@ enum kdc_process_ret kpasswdd_process(struct kdc_server *kdc,
goto reply;
}
talloc_free(tmp_ctx);
- return KDC_PROCESS_FAILED;
+ return KDC_ERROR;
}
reply:
*reply = data_blob_talloc(mem_ctx, NULL, krb_priv_rep.length + ap_rep.length + header_len);
if (!reply->data) {
talloc_free(tmp_ctx);
- return KDC_PROCESS_FAILED;
+ return KDC_ERROR;
}
RSSVAL(reply->data, 0, reply->length);
@@ -624,5 +624,5 @@ reply:
krb_priv_rep.length);
talloc_free(tmp_ctx);
- return KDC_PROCESS_OK;
+ return KDC_OK;
}