Ignore:
Timestamp:
Jun 9, 2016, 2:23:12 PM (9 years ago)
Author:
Silvan Scherrer
Message:

Samba Server: apply latest security patches to trunk

Location:
trunk/server
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/server

  • trunk/server/source4/rpc_server/dcesrv_auth.c

    r745 r920  
    4747        uint32_t auth_length;
    4848
    49         if (pkt->u.bind.auth_info.length == 0) {
     49        if (pkt->auth_length == 0) {
    5050                dce_conn->auth_state.auth_info = NULL;
    5151                return true;
     
    109109        NTSTATUS status;
    110110
    111         if (!call->conn->auth_state.gensec_security) {
     111        if (call->pkt.auth_length == 0) {
    112112                return NT_STATUS_OK;
    113113        }
     
    156156        uint32_t auth_length;
    157157
    158         /* We can't work without an existing gensec state, and an new blob to feed it */
    159         if (!dce_conn->auth_state.auth_info ||
    160             !dce_conn->auth_state.gensec_security ||
    161             pkt->u.auth3.auth_info.length == 0) {
     158        if (pkt->auth_length == 0) {
     159                return false;
     160        }
     161
     162        if (!dce_conn->auth_state.auth_info) {
     163                return false;
     164        }
     165
     166        /* We can't work without an existing gensec state */
     167        if (!dce_conn->auth_state.gensec_security) {
    162168                return false;
    163169        }
     
    204210
    205211        /* on a pure interface change there is no auth blob */
    206         if (pkt->u.alter.auth_info.length == 0) {
     212        if (pkt->auth_length == 0) {
    207213                return true;
    208214        }
     
    239245        /* on a pure interface change there is no auth_info structure
    240246           setup */
    241         if (!call->conn->auth_state.auth_info ||
    242             dce_conn->auth_state.auth_info->credentials.length == 0) {
     247        if (call->pkt.auth_length == 0) {
    243248                return NT_STATUS_OK;
    244249        }
     
    313318
    314319        default:
     320                return false;
     321        }
     322
     323        if (pkt->auth_length == 0) {
     324                DEBUG(1,("dcesrv_auth_request: unexpected auth_length of 0\n"));
    315325                return false;
    316326        }
Note: See TracChangeset for help on using the changeset viewer.