]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
lib: Remove "struct sid_parse_ret" again
authorVolker Lendecke <vl@samba.org>
Mon, 11 Mar 2019 16:11:06 +0000 (17:11 +0100)
committerAndrew Bartlett <abartlet@samba.org>
Tue, 12 Mar 2019 00:42:19 +0000 (00:42 +0000)
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
libcli/security/dom_sid.h
libcli/security/util_sid.c
source3/lib/smbldap.c
source3/lib/tldap_util.c
source3/libads/ldap.c
source3/modules/vfs_default.c
source3/torture/torture.c
source4/dsdb/common/util.c
source4/torture/unix/whoami.c

index bc66280291bc5a6741f58be67508f5eb22ae9942..57108ce2a9cff54cd2eeb5d5bca206ed1c22c5c0 100644 (file)
@@ -112,9 +112,7 @@ bool sid_split_rid(struct dom_sid *sid, uint32_t *rid);
 bool sid_peek_rid(const struct dom_sid *sid, uint32_t *rid);
 bool sid_peek_check_rid(const struct dom_sid *exp_dom_sid, const struct dom_sid *sid, uint32_t *rid);
 void sid_copy(struct dom_sid *dst, const struct dom_sid *src);
-struct sid_parse_ret { ssize_t len; };
-struct sid_parse_ret sid_parse(
-       const uint8_t *inbuf, size_t len, struct dom_sid *sid);
+ssize_t sid_parse(const uint8_t *inbuf, size_t len, struct dom_sid *sid);
 int sid_compare_domain(const struct dom_sid *sid1, const struct dom_sid *sid2);
 NTSTATUS add_sid_to_array(TALLOC_CTX *mem_ctx, const struct dom_sid *sid,
                          struct dom_sid **sids, uint32_t *num);
index 4a186d69cdaeccaf0aaefa7ba0d886eb4a55eecd..e47ed04c30f8b69af02a348b0e305803871e577d 100644 (file)
@@ -300,8 +300,7 @@ void sid_copy(struct dom_sid *dst, const struct dom_sid *src)
  Parse a on-the-wire SID to a struct dom_sid.
 *****************************************************************/
 
-struct sid_parse_ret sid_parse(
-       const uint8_t *inbuf, size_t len, struct dom_sid *sid)
+ssize_t sid_parse(const uint8_t *inbuf, size_t len, struct dom_sid *sid)
 {
        DATA_BLOB in = data_blob_const(inbuf, len);
        enum ndr_err_code ndr_err;
@@ -309,9 +308,9 @@ struct sid_parse_ret sid_parse(
        ndr_err = ndr_pull_struct_blob_all(
                &in, NULL, sid, (ndr_pull_flags_fn_t)ndr_pull_dom_sid);
        if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
-               return (struct sid_parse_ret) { .len = -1 };
+               return -1;
        }
-       return (struct sid_parse_ret) { .len = ndr_size_dom_sid(sid, 0) };
+       return ndr_size_dom_sid(sid, 0);
 }
 
 /*****************************************************************
index cdd350fffa1e23051594b7efbedc197456472085..7a96714ad1a1b795b34fd08cd2e93171cc184534 100644 (file)
@@ -278,7 +278,7 @@ void smbldap_set_bind_callback(struct smbldap_state *state,
                       struct dom_sid *sid)
 {
        DATA_BLOB blob;
-       struct sid_parse_ret ret;
+       ssize_t ret;
 
        if (!smbldap_talloc_single_blob(talloc_tos(), ld, msg, attrib,
                                        &blob)) {
@@ -286,7 +286,7 @@ void smbldap_set_bind_callback(struct smbldap_state *state,
        }
        ret = sid_parse(blob.data, blob.length, sid);
        TALLOC_FREE(blob.data);
-       return (ret.len != -1);
+       return (ret != -1);
 }
 
  static int ldapmsg_destructor(LDAPMessage **result) {
index efc37e48e7c52f44840a6b88d78388aeff2f8995..78ed42be17902040b536c79c4e47d137577d5ca3 100644 (file)
@@ -88,13 +88,13 @@ bool tldap_pull_binsid(struct tldap_message *msg, const char *attribute,
                       struct dom_sid *sid)
 {
        DATA_BLOB val;
-       struct sid_parse_ret ret;
+       ssize_t ret;
 
        if (!tldap_get_single_valueblob(msg, attribute, &val)) {
                return false;
        }
        ret = sid_parse(val.data, val.length, sid);
-       return (ret.len != -1);
+       return (ret != -1);
 }
 
 bool tldap_pull_guid(struct tldap_message *msg, const char *attribute,
index 8e0ecb87569ef6780ca8ea0a6f2d26a3472a4b19..e0f35609294279b65d3406f37d9d459315f74287 100644 (file)
@@ -2264,12 +2264,12 @@ static void dump_sid(ADS_STRUCT *ads, const char *field, struct berval **values)
 {
        int i;
        for (i=0; values[i]; i++) {
-               struct sid_parse_ret ret;
+               ssize_t ret;
                struct dom_sid sid;
                struct dom_sid_buf tmp;
                ret = sid_parse((const uint8_t *)values[i]->bv_val,
                                values[i]->bv_len, &sid);
-               if (ret.len == -1) {
+               if (ret == -1) {
                        return;
                }
                printf("%s: %s\n", field, dom_sid_str_buf(&sid, &tmp));
@@ -2797,10 +2797,10 @@ int ads_count_replies(ADS_STRUCT *ads, void *res)
 
        count = 0;
        for (i=0; values[i]; i++) {
-               struct sid_parse_ret ret;
+               ssize_t ret;
                ret = sid_parse((const uint8_t *)values[i]->bv_val,
                                values[i]->bv_len, &(*sids)[count]);
-               if (ret.len != -1) {
+               if (ret != -1) {
                        struct dom_sid_buf buf;
                        DBG_DEBUG("pulling SID: %s\n",
                                  dom_sid_str_buf(&(*sids)[count], &buf));
@@ -3358,7 +3358,7 @@ ADS_STATUS ads_get_sid_from_extended_dn(TALLOC_CTX *mem_ctx,
                }
                break;
        case ADS_EXTENDED_DN_HEX_STRING: {
-               struct sid_parse_ret ret;
+               ssize_t ret;
                fstring buf;
                size_t buf_len;
 
@@ -3368,7 +3368,7 @@ ADS_STATUS ads_get_sid_from_extended_dn(TALLOC_CTX *mem_ctx,
                }
 
                ret = sid_parse((const uint8_t *)buf, buf_len, sid);
-               if (ret.len == -1) {
+               if (ret == -1) {
                        DEBUG(10,("failed to parse sid\n"));
                        return ADS_ERROR_NT(NT_STATUS_INVALID_PARAMETER);
                }
index 7ce3775e54f0aa7b841a4f6e9a7cd89e398f2b6f..bed581e96d10f2fbb9dc6b890a3c48d733819d3d 100644 (file)
@@ -1355,7 +1355,7 @@ static NTSTATUS vfswrap_fsctl(struct vfs_handle_struct *handle,
                 *
                 * but I have to check that --metze
                 */
-               struct sid_parse_ret ret;
+               ssize_t ret;
                struct dom_sid sid;
                struct dom_sid_buf buf;
                uid_t uid;
@@ -1375,7 +1375,7 @@ static NTSTATUS vfswrap_fsctl(struct vfs_handle_struct *handle,
                /*unknown = IVAL(pdata,0);*/
 
                ret = sid_parse(_in_data + 4, sid_len, &sid);
-               if (ret.len == -1) {
+               if (ret == -1) {
                        return NT_STATUS_INVALID_PARAMETER;
                }
                DEBUGADD(10, ("for SID: %s\n",
index 7a209859b3f86c52e2f719566b9f17fa7dd5c82d..ac10de2fdcc420f9f38c6dcc54938e2f1df30f9f 100644 (file)
@@ -10878,7 +10878,7 @@ static bool run_local_sid_to_string(int dummy) {
 }
 
 static bool run_local_binary_to_sid(int dummy) {
-       struct sid_parse_ret ret;
+       ssize_t ret;
        struct dom_sid *sid = talloc(NULL, struct dom_sid);
        static const uint8_t good_binary_sid[] = {
                0x1, /* revision number */
@@ -10964,15 +10964,15 @@ static bool run_local_binary_to_sid(int dummy) {
        };
 
        ret = sid_parse(good_binary_sid, sizeof(good_binary_sid), sid);
-       if (ret.len == -1) {
+       if (ret == -1) {
                return false;
        }
        ret = sid_parse(long_binary_sid2, sizeof(long_binary_sid2), sid);
-       if (ret.len != -1) {
+       if (ret != -1) {
                return false;
        }
        ret = sid_parse(long_binary_sid, sizeof(long_binary_sid), sid);
-       if (ret.len != -1) {
+       if (ret != -1) {
                return false;
        }
        return true;
index 411d1dd22b05d2d55fe674b5f9837b7d7b69cf45..25e6dc7f164200e9285221b708c1764632fdd853 100644 (file)
@@ -342,7 +342,7 @@ uint32_t samdb_result_rid_from_sid(TALLOC_CTX *mem_ctx, const struct ldb_message
 struct dom_sid *samdb_result_dom_sid(TALLOC_CTX *mem_ctx, const struct ldb_message *msg, 
                                     const char *attr)
 {
-       struct sid_parse_ret ret;
+       ssize_t ret;
        const struct ldb_val *v;
        struct dom_sid *sid;
        v = ldb_msg_find_ldb_val(msg, attr);
@@ -354,7 +354,7 @@ struct dom_sid *samdb_result_dom_sid(TALLOC_CTX *mem_ctx, const struct ldb_messa
                return NULL;
        }
        ret = sid_parse(v->data, v->length, sid);
-       if (ret.len == -1) {
+       if (ret == -1) {
                talloc_free(sid);
                return NULL;
        }
@@ -5809,7 +5809,7 @@ static int dsdb_count_domain_callback(
        case LDB_REPLY_ENTRY:
        {
                struct dsdb_count_domain_context *context = NULL;
-               struct sid_parse_ret ret;
+               ssize_t ret;
                bool in_domain;
                struct dom_sid sid;
                const struct ldb_val *v;
@@ -5826,7 +5826,7 @@ static int dsdb_count_domain_callback(
                }
 
                ret = sid_parse(v->data, v->length, &sid);
-               if (ret.len == -1) {
+               if (ret == -1) {
                        break;
                }
 
index f554c9e17114f0097a082fb38d226fd72fef260c..efcf910d30001576aa170fecc7be5a43770583fd 100644 (file)
@@ -303,13 +303,13 @@ static bool test_against_ldap(struct torture_context *torture, struct ldb_contex
                
                for (i = 0; i < el->num_values; i++) {
                        struct dom_sid *sid = talloc(torture, struct dom_sid);
-                       struct sid_parse_ret ret;
+                       ssize_t ret;
                        torture_assert(torture, sid != NULL, "talloc failed");
 
                        ret = sid_parse(el->values[i].data,
                                        el->values[i].length, sid);
                        torture_assert(torture,
-                                      ret.len != -1,
+                                      ret != -1,
                                       "sid parse failed");
                        torture_assert_str_equal(torture, dom_sid_string(sid, sid), dom_sid_string(sid, whoami->sid_list[i]), "SID from LDAP and SID from CIFS does not match!");
                        talloc_free(sid);
@@ -320,13 +320,13 @@ static bool test_against_ldap(struct torture_context *torture, struct ldb_contex
                struct dom_sid *dom_sid = talloc(torture, struct dom_sid);
                struct dom_sid *dc_sids = talloc_array(torture, struct dom_sid, el->num_values);
                struct dom_sid *member_sids = talloc_array(torture, struct dom_sid, whoami->num_sids);
-               struct sid_parse_ret ret;
+               ssize_t ret;
                torture_assert(torture, user_sid != NULL, "talloc failed");
                ret = sid_parse(el->values[0].data,
                                el->values[0].length,
                                user_sid);
                torture_assert(torture,
-                              ret.len != -1,
+                              ret != -1,
                               "sid parse failed");
                torture_assert_ntstatus_equal(torture, dom_sid_split_rid(torture, user_sid, &dom_sid, NULL), NT_STATUS_OK, "failed to split domain SID from user SID");
                for (i = 0; i < el->num_values; i++) {
@@ -337,7 +337,7 @@ static bool test_against_ldap(struct torture_context *torture, struct ldb_contex
                                        el->values[i].length,
                                        sid);
                        torture_assert(torture,
-                                      ret.len != -1,
+                                      ret != -1,
                                       "sid parse failed");
                        if (dom_sid_in_domain(dom_sid, sid)) {
                                dc_sids[num_domain_sids_dc] = *sid;