s4:librpc/rpc: change dcerpc_map_reason() into dcerpc_map_nak_reason()
authorStefan Metzmacher <metze@samba.org>
Thu, 9 Jan 2014 15:22:03 +0000 (16:22 +0100)
committerGünther Deschner <gd@samba.org>
Thu, 16 Jan 2014 15:22:53 +0000 (16:22 +0100)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
source4/librpc/rpc/dcerpc.c

index 9d0fa3b693392fa232b849de6c587507485a6d72..5a2fe16c2f38a2c229062943199816da63f5dd8f 100644 (file)
@@ -987,13 +987,15 @@ static void init_ncacn_hdr(struct dcecli_connection *c, struct ncacn_packet *pkt
 /*
   map a bind nak reason to a NTSTATUS
 */
-static NTSTATUS dcerpc_map_reason(uint16_t reason)
+static NTSTATUS dcerpc_map_nak_reason(enum dcerpc_bind_nak_reason reason)
 {
        switch (reason) {
-       case DCERPC_BIND_REASON_ASYNTAX:
-               return NT_STATUS_RPC_UNSUPPORTED_NAME_SYNTAX;
-       case DCERPC_BIND_REASON_INVALID_AUTH_TYPE:
+       case DCERPC_BIND_NAK_REASON_PROTOCOL_VERSION_NOT_SUPPORTED:
+               return NT_STATUS_REVISION_MISMATCH;
+       case DCERPC_BIND_NAK_REASON_INVALID_AUTH_TYPE:
                return NT_STATUS_INVALID_PARAMETER;
+       default:
+               break;
        }
        return NT_STATUS_UNSUCCESSFUL;
 }
@@ -1301,7 +1303,7 @@ static void dcerpc_bind_recv_handler(struct rpc_request *subreq,
        tevent_req_defer_callback(req, state->ev);
 
        if (pkt->ptype == DCERPC_PKT_BIND_NAK) {
-               status = dcerpc_map_reason(pkt->u.bind_nak.reject_reason);
+               status = dcerpc_map_nak_reason(pkt->u.bind_nak.reject_reason);
 
                DEBUG(2,("dcerpc: bind_nak reason %d - %s\n",
                         pkt->u.bind_nak.reject_reason, nt_errstr(status)));