s4-kdc: Use better and simpler names for the kdc_process_ret enum
authorAndreas Schneider <asn@samba.org>
Fri, 10 Jun 2016 07:50:45 +0000 (09:50 +0200)
committerJeremy Allison <jra@samba.org>
Sat, 18 Jun 2016 21:32:26 +0000 (23:32 +0200)
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
source4/kdc/kdc-glue.h
source4/kdc/kdc-heimdal.c
source4/kdc/kpasswd-heimdal.c

index 4bbfe321c859ac26aa42c4f1401ac9e2d630f908..7ba4bd3bfcbea7750da87792320d4e1c2ccb35d7 100644 (file)
@@ -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,
index 92c6108e09589d5ba463b7d162bf6565a44e9eed..2a190105dffcbf01d0a657a74e7b9e7c79b8aac3 100644 (file)
@@ -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) {
index 453e41a41bd58f2e0c07934118a59753519eb785..6c499aa27c60564fa454ba3992351beedc10978b 100644 (file)
@@ -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;
 }