r16644: Fix bug #3887 reported by jason@ncac.gwu.edu
authorJeremy Allison <jra@samba.org>
Wed, 28 Jun 2006 21:30:21 +0000 (21:30 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 16:19:05 +0000 (11:19 -0500)
by converting the lookup_XX functions to correctly
return SID_NAME_TYPE enums.
Jeremy.
(This used to be commit ee2b2d96b60c668e37592c79e86c2fd851e15f69)

12 files changed:
source3/libmsrpc/cac_lsarpc.c
source3/libsmb/libsmbclient.c
source3/nsswitch/winbindd_rpc.c
source3/python/py_lsa.c
source3/rpc_client/cli_lsarpc.c
source3/rpcclient/cmd_lsarpc.c
source3/utils/net_rpc.c
source3/utils/net_rpc_rights.c
source3/utils/net_util.c
source3/utils/netlookup.c
source3/utils/smbcacls.c
source3/utils/smbcquotas.c

index 72f22de5f2228bdf8f746b5d2ff00f21e140db85..7b62b4d4627a6e5607919d6e48cd53e13c2ed5ee 100644 (file)
@@ -144,7 +144,7 @@ int cac_LsaGetNamesFromSids(CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct Ls
    /*buffers for outputs*/
    char **domains   = NULL;
    char **names     = NULL;
-   uint32 *types    = NULL;
+   enum SID_NAME_USE *types    = NULL;
 
    CacSidInfo *sids_out   = NULL;
    DOM_SID *unknown_out   = NULL;
@@ -267,7 +267,7 @@ int cac_LsaGetSidsFromNames(CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct Ls
 
    /*buffers for outputs*/
    DOM_SID *sids     = NULL;
-   uint32 *types     = NULL;
+   enum SID_NAME_USE *types     = NULL;
 
    CacSidInfo *sids_out  = NULL;
    char **unknown_out     = NULL;
@@ -579,7 +579,7 @@ int cac_LsaEnumAccountRights(CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct L
 
    if(op->in.name && !op->in.sid) {
       DOM_SID *user_sid = NULL;
-      uint32 *type;
+      enum SID_NAME_USE *type;
 
       /*lookup the SID*/
       hnd->status = rpccli_lsa_lookup_names( pipe_hnd, mem_ctx, op->in.pol, 1, (const char **)&(op->in.name), NULL, &user_sid, &type);
@@ -806,7 +806,7 @@ int cac_LsaOpenAccount(CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct LsaOpen
    /*look up the user's SID if we have to*/
    if(op->in.name && !op->in.sid) {
       DOM_SID *user_sid = NULL;
-      uint32 *type;
+      enum SID_NAME_USE *type;
 
       /*lookup the SID*/
       hnd->status = rpccli_lsa_lookup_names( pipe_hnd, mem_ctx, op->in.pol, 1, (const char **)&(op->in.name), NULL, &user_sid, &type);
@@ -840,7 +840,7 @@ int cac_LsaAddPrivileges(CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct LsaAd
    struct rpc_pipe_client *pipe_hnd = NULL;
 
    DOM_SID *user_sid = NULL;
-   uint32  *type     = NULL;
+   enum SID_NAME_USE  *type     = NULL;
 
    if(!hnd) {
       return CAC_FAILURE;
@@ -890,7 +890,7 @@ int cac_LsaRemovePrivileges(CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct Ls
    struct rpc_pipe_client *pipe_hnd = NULL;
 
    DOM_SID *user_sid = NULL;
-   uint32  *type     = NULL;
+   enum SID_NAME_USE  *type     = NULL;
 
    if(!hnd) {
       return CAC_FAILURE;
@@ -940,7 +940,7 @@ int cac_LsaClearPrivileges(CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct Lsa
    struct rpc_pipe_client *pipe_hnd = NULL;
 
    DOM_SID *user_sid = NULL;
-   uint32  *type     = NULL;
+   enum SID_NAME_USE  *type     = NULL;
 
    if(!hnd) {
       return CAC_FAILURE;
@@ -990,7 +990,7 @@ int cac_LsaSetPrivileges(CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct LsaAd
    struct rpc_pipe_client *pipe_hnd = NULL;
 
    DOM_SID *user_sid = NULL;
-   uint32  *type     = NULL;
+   enum SID_NAME_USE  *type     = NULL;
 
    if(!hnd) {
       return CAC_FAILURE;
index 240be5087910d561adb40d2d42250384aeb40da4..ca2624305e6295876122c54588ac984dcf33f90f 100644 (file)
@@ -3727,7 +3727,7 @@ convert_sid_to_string(struct cli_state *ipc_cli,
 {
        char **domains = NULL;
        char **names = NULL;
-       uint32 *types = NULL;
+       enum SID_NAME_USE *types = NULL;
        struct rpc_pipe_client *pipe_hnd = find_lsa_pipe_hnd(ipc_cli);
        sid_to_string(str, sid);
 
@@ -3763,7 +3763,7 @@ convert_string_to_sid(struct cli_state *ipc_cli,
                       DOM_SID *sid,
                       const char *str)
 {
-       uint32 *types = NULL;
+       enum SID_NAME_USE *types = NULL;
        DOM_SID *sids = NULL;
        BOOL result = True;
        struct rpc_pipe_client *pipe_hnd = find_lsa_pipe_hnd(ipc_cli);
index 984c5cd8415f74835ec83b93cf297f0007107d25..5473af073d65a4cce6cb9247c46d434afd804ea1 100644 (file)
@@ -245,7 +245,7 @@ NTSTATUS msrpc_name_to_sid(struct winbindd_domain *domain,
 {
        NTSTATUS result;
        DOM_SID *sids = NULL;
-       uint32 *types = NULL;
+       enum SID_NAME_USE *types = NULL;
        const char *full_name;
        struct rpc_pipe_client *cli;
        POLICY_HND lsa_policy;
@@ -277,7 +277,7 @@ NTSTATUS msrpc_name_to_sid(struct winbindd_domain *domain,
        /* Return rid and type if lookup successful */
 
        sid_copy(sid, &sids[0]);
-       *type = (enum SID_NAME_USE)types[0];
+       *type = types[0];
 
        return NT_STATUS_OK;
 }
index 915223a5bb78453e52395b644bb87648b98fc1ee..711641828d6ff559f21c3dfaaaa3061f0b6e4a48 100644 (file)
@@ -147,7 +147,7 @@ static PyObject *lsa_lookup_names(PyObject *self, PyObject *args)
        const char **names;
        DOM_SID *sids;
        TALLOC_CTX *mem_ctx = NULL;
-       uint32 *name_types;
+       enum SID_NAME_USE *name_types;
 
        if (!PyArg_ParseTuple(args, "O", &py_names))
                return NULL;
index deb97724a0e1ec10b9b1bdf5306bd1e84996d6b9..97d8eb621be8cb95bc4ff7f57a4360dc3238d8d1 100644 (file)
@@ -175,7 +175,9 @@ NTSTATUS rpccli_lsa_lookup_sids(struct rpc_pipe_client *cli,
                                TALLOC_CTX *mem_ctx,
                                POLICY_HND *pol, int num_sids,
                                const DOM_SID *sids, 
-                               char ***domains, char ***names, uint32 **types)
+                               char ***domains,
+                               char ***names,
+                               enum SID_NAME_USE **types)
 {
        prs_struct qbuf, rbuf;
        LSA_Q_LOOKUP_SIDS q;
@@ -231,7 +233,7 @@ NTSTATUS rpccli_lsa_lookup_sids(struct rpc_pipe_client *cli,
                goto done;
        }
 
-       if (!((*types) = TALLOC_ARRAY(mem_ctx, uint32, num_sids))) {
+       if (!((*types) = TALLOC_ARRAY(mem_ctx, enum SID_NAME_USE, num_sids))) {
                DEBUG(0, ("cli_lsa_lookup_sids(): out of memory\n"));
                result = NT_STATUS_NO_MEMORY;
                goto done;
@@ -252,7 +254,7 @@ NTSTATUS rpccli_lsa_lookup_sids(struct rpc_pipe_client *cli,
 
                        (*names)[i] = talloc_strdup(mem_ctx, name);
                        (*domains)[i] = talloc_strdup(mem_ctx, dom_name);
-                       (*types)[i] = t_names.name[i].sid_name_use;
+                       (*types)[i] = (enum SID_NAME_USE)t_names.name[i].sid_name_use;
                        
                        if (((*names)[i] == NULL) || ((*domains)[i] == NULL)) {
                                DEBUG(0, ("cli_lsa_lookup_sids(): out of memory\n"));
@@ -280,7 +282,7 @@ NTSTATUS rpccli_lsa_lookup_names(struct rpc_pipe_client *cli,
                                 const char **names,
                                 const char ***dom_names,
                                 DOM_SID **sids,
-                                uint32 **types)
+                                enum SID_NAME_USE **types)
 {
        prs_struct qbuf, rbuf;
        LSA_Q_LOOKUP_NAMES q;
@@ -327,7 +329,7 @@ NTSTATUS rpccli_lsa_lookup_names(struct rpc_pipe_client *cli,
                goto done;
        }
 
-       if (!((*types = TALLOC_ARRAY(mem_ctx, uint32, num_names)))) {
+       if (!((*types = TALLOC_ARRAY(mem_ctx, enum SID_NAME_USE, num_names)))) {
                DEBUG(0, ("cli_lsa_lookup_sids(): out of memory\n"));
                result = NT_STATUS_NO_MEMORY;
                goto done;
@@ -363,7 +365,7 @@ NTSTATUS rpccli_lsa_lookup_names(struct rpc_pipe_client *cli,
                        sid_append_rid(sid, dom_rid);
                }
 
-               (*types)[i] = t_rids[i].type;
+               (*types)[i] = (enum SID_NAME_USE)t_rids[i].type;
 
                if (dom_names == NULL) {
                        continue;
index 97a707c020ad9351c8e359ed3354ded6b0bd8a72..3967ed6957007d2a64816366fda461ac732b7756 100644 (file)
@@ -31,7 +31,7 @@ static NTSTATUS name_to_sid(struct rpc_pipe_client *cli,
                            DOM_SID *sid, const char *name)
 {
        POLICY_HND pol;
-       uint32 *sid_types;
+       enum SID_NAME_USE *sid_types;
        NTSTATUS result;
        DOM_SID *sids;
 
@@ -223,7 +223,7 @@ static NTSTATUS cmd_lsa_lookup_names(struct rpc_pipe_client *cli,
        POLICY_HND pol;
        NTSTATUS result = NT_STATUS_UNSUCCESSFUL;
        DOM_SID *sids;
-       uint32 *types;
+       enum SID_NAME_USE *types;
        int i;
 
        if (argc == 1) {
@@ -272,7 +272,7 @@ static NTSTATUS cmd_lsa_lookup_sids(struct rpc_pipe_client *cli, TALLOC_CTX *mem
        DOM_SID *sids;
        char **domains;
        char **names;
-       uint32 *types;
+       enum SID_NAME_USE *types;
        int i;
 
        if (argc == 1) {
index 190992e3741cc1394b513b69e4cb17d6276eba1e..f32348935fc64229d1c861a4cfffbccb55356f0c 100644 (file)
@@ -2011,7 +2011,7 @@ static NTSTATUS get_sid_from_name(struct cli_state *cli,
                                enum SID_NAME_USE *type)
 {
        DOM_SID *sids = NULL;
-       uint32 *types = NULL;
+       enum SID_NAME_USE *types = NULL;
        struct rpc_pipe_client *pipe_hnd;
        POLICY_HND lsa_pol;
        NTSTATUS result = NT_STATUS_UNSUCCESSFUL;
@@ -2717,7 +2717,7 @@ static NTSTATUS rpc_list_alias_members(struct rpc_pipe_client *pipe_hnd,
        DOM_SID *alias_sids;
        char **domains;
        char **names;
-       uint32 *types;
+       enum SID_NAME_USE *types;
        int i;
 
        result = rpccli_samr_open_alias(pipe_hnd, mem_ctx, domain_pol,
@@ -4075,7 +4075,7 @@ static NTSTATUS rpc_aliaslist_dump(const DOM_SID *domain_sid,
        for (i=0; i<num_server_aliases; i++) {
                char **names;
                char **domains;
-               uint32 *types;
+               enum SID_NAME_USE *types;
                int j;
 
                struct full_alias *alias = &server_aliases[i];
index 0dd28c3ac67c99f021f10d1f630bd0521e0b8d45..11f5ea5fabf260c98c9b26b90bf50d511940e812 100644 (file)
@@ -29,7 +29,7 @@ static NTSTATUS sid_to_name(struct rpc_pipe_client *pipe_hnd,
                                fstring name)
 {
        POLICY_HND pol;
-       uint32 *sid_types;
+       enum SID_NAME_USE *sid_types;
        NTSTATUS result;
        char **domains, **names;
 
@@ -60,7 +60,7 @@ static NTSTATUS name_to_sid(struct rpc_pipe_client *pipe_hnd,
                            DOM_SID *sid, const char *name)
 {
        POLICY_HND pol;
-       uint32 *sid_types;
+       enum SID_NAME_USE *sid_types;
        NTSTATUS result;
        DOM_SID *sids;
 
index 805104cefa11f4f35ecadfb78790852da9b80f7e..953c67d62e3fe63f0e8ca36f6ded071806d218c5 100644 (file)
@@ -39,7 +39,7 @@ NTSTATUS net_rpc_lookup_name(TALLOC_CTX *mem_ctx, struct cli_state *cli,
        NTSTATUS result = NT_STATUS_OK;
        const char **dom_names;
        DOM_SID *sids;
-       uint32_t *types;
+       enum SID_NAME_USE *types;
 
        ZERO_STRUCT(pol);
 
index df0fe0c84375c6f633945343babf825efe83958e..2d105335e8a7103387087431135ddc1c9f86399b 100644 (file)
@@ -157,7 +157,7 @@ NTSTATUS net_lookup_name_from_sid(TALLOC_CTX *ctx,
        struct con_struct *csp = NULL;
        char **domains;
        char **names;
-       uint32 *types;
+       enum SID_NAME_USE *types;
 
        *ppdomain = NULL;
        *ppname = NULL;
@@ -195,7 +195,7 @@ NTSTATUS net_lookup_sid_from_name(TALLOC_CTX *ctx, const char *full_name, DOM_SI
        NTSTATUS nt_status;
        struct con_struct *csp = NULL;
        DOM_SID *sids = NULL;
-       uint32 *types = NULL;
+       enum SID_NAME_USE *types = NULL;
 
        csp = create_cs(ctx, &nt_status);
        if (csp == NULL) {
index b31fd95f7ab9b83c5b18a4749df18bef131f631b..6dc9f78ad1ecce7f0ea440aaef3c73453c9da4ce 100644 (file)
@@ -108,7 +108,7 @@ static void SidToString(fstring str, DOM_SID *sid)
 {
        char **domains = NULL;
        char **names = NULL;
-       uint32 *types = NULL;
+       enum SID_NAME_USE *types = NULL;
 
        sid_to_string(str, sid);
 
@@ -135,7 +135,7 @@ static void SidToString(fstring str, DOM_SID *sid)
 /* convert a string to a SID, either numeric or username/group */
 static BOOL StringToSid(DOM_SID *sid, const char *str)
 {
-       uint32 *types = NULL;
+       enum SID_NAME_USE *types = NULL;
        DOM_SID *sids = NULL;
        BOOL result = True;
 
index 7b3268e7834c7931368e52f8cb3f447286443515..6193395e7e82194fe4709a29c49289b87ab806cf 100644 (file)
@@ -79,7 +79,7 @@ static void SidToString(fstring str, DOM_SID *sid, BOOL _numeric)
 {
        char **domains = NULL;
        char **names = NULL;
-       uint32 *types = NULL;
+       enum SID_NAME_USE *types = NULL;
 
        sid_to_string(str, sid);
 
@@ -106,7 +106,7 @@ static void SidToString(fstring str, DOM_SID *sid, BOOL _numeric)
 /* convert a string to a SID, either numeric or username/group */
 static BOOL StringToSid(DOM_SID *sid, const char *str)
 {
-       uint32 *types = NULL;
+       enum SID_NAME_USE *types = NULL;
        DOM_SID *sids = NULL;
        BOOL result = True;