The branch, master has been updated
       via  fd4061d... s4:dcesrv_samr - Add more checks for invalid levels
      from  cee83ac... Fixes for some tests not eorking against Windows or 
Samba.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit fd4061daddc33085855f24dd7f36f0038daaeabb
Author: Matthias Dieter Wallnöfer <[email protected]>
Date:   Tue Nov 10 16:26:23 2009 +0100

    s4:dcesrv_samr - Add more checks for invalid levels
    
    Add more checks on valid levels, mark unimplemented ones as "UNSUPPORTED" 
and
    otherwise as "INVALID_INFO_CLASS" to be safe.

-----------------------------------------------------------------------

Summary of changes:
 source4/rpc_server/samr/dcesrv_samr.c |   30 +++++++++++++++++++++++++++---
 1 files changed, 27 insertions(+), 3 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/rpc_server/samr/dcesrv_samr.c 
b/source4/rpc_server/samr/dcesrv_samr.c
index 641b35c..0b102b5 100644
--- a/source4/rpc_server/samr/dcesrv_samr.c
+++ b/source4/rpc_server/samr/dcesrv_samr.c
@@ -797,8 +797,10 @@ static NTSTATUS dcesrv_samr_QueryDomainInfo(struct 
dcesrv_call_state *dce_call,
                break;
        }
        case 9:
+       {
                attrs = NULL;
-               break;          
+               break;
+       }
        case 11:
        {
                static const char * const attrs2[] = { "oEMInformation",
@@ -828,6 +830,10 @@ static NTSTATUS dcesrv_samr_QueryDomainInfo(struct 
dcesrv_call_state *dce_call,
                attrs = attrs2;
                break;
        }
+       default:
+       {
+               return NT_STATUS_INVALID_INFO_CLASS;
+       }
        }
 
        /* some levels don't need a search */
@@ -881,9 +887,9 @@ static NTSTATUS dcesrv_samr_QueryDomainInfo(struct 
dcesrv_call_state *dce_call,
        case 13:
                return dcesrv_samr_info_DomInfo13(d_state, mem_ctx, dom_msgs, 
                                                  &info->info13);
+       default:
+               return NT_STATUS_INVALID_INFO_CLASS;
        }
-
-       return NT_STATUS_INVALID_INFO_CLASS;
 }
 
 
@@ -3148,6 +3154,10 @@ static NTSTATUS dcesrv_samr_QueryUserInfo(struct 
dcesrv_call_state *dce_call, TA
                attrs = attrs2;
                break;
        }
+       case 18:
+       {
+               return NT_STATUS_NOT_SUPPORTED;
+       }
        case 20:
        {
                static const char * const attrs2[] = {"userParameters",
@@ -3183,6 +3193,17 @@ static NTSTATUS dcesrv_samr_QueryUserInfo(struct 
dcesrv_call_state *dce_call, TA
                attrs = attrs2;
                break;
        }
+       case 23:
+       case 24:
+       case 25:
+       case 26:
+       {
+               return NT_STATUS_NOT_SUPPORTED;
+       }
+       default:
+       {
+               return NT_STATUS_INVALID_INFO_CLASS;
+       }
        }
 
        /* pull all the user attributes */
@@ -4401,6 +4422,9 @@ static NTSTATUS dcesrv_samr_ValidatePassword(struct 
dcesrv_call_state *dce_call,
                                           pwInfo.min_password_length);
                (*r->out.rep)->ctr3.status = res;
        break;
+       default:
+               return NT_STATUS_INVALID_INFO_CLASS;
+       break;
        }
 
        return NT_STATUS_OK;


-- 
Samba Shared Repository

Reply via email to