Ignore:
Timestamp:
Jul 1, 2011, 4:02:23 PM (14 years ago)
Author:
Herwig Bauernfeind
Message:

Samba 3.5: Update vendor to version 3.5.8

Location:
vendor/current/source3/librpc
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • vendor/current/source3/librpc/gen_ndr/cli_wbint.c

    r414 r594  
    25102510                                                struct rpc_pipe_client *cli,
    25112511                                                struct wbint_RidArray *_rids /* [in] [ref] */,
     2512                                                const char **_domain_name /* [out] [ref,charset(UTF8)] */,
    25122513                                                struct wbint_Principals *_names /* [out] [ref] */)
    25132514{
     
    25282529
    25292530        /* Out parameters */
     2531        state->orig.out.domain_name = _domain_name;
    25302532        state->orig.out.names = _names;
    25312533
     
    25762578
    25772579        /* Copy out parameters */
     2580        *state->orig.out.domain_name = *state->tmp.out.domain_name;
    25782581        *state->orig.out.names = *state->tmp.out.names;
    25792582
     
    26132616                                 TALLOC_CTX *mem_ctx,
    26142617                                 struct wbint_RidArray *rids /* [in] [ref] */,
     2618                                 const char **domain_name /* [out] [ref,charset(UTF8)] */,
    26152619                                 struct wbint_Principals *names /* [out] [ref] */)
    26162620{
     
    26362640
    26372641        /* Return variables */
     2642        *domain_name = *r.out.domain_name;
    26382643        *names = *r.out.names;
    26392644
  • vendor/current/source3/librpc/gen_ndr/cli_wbint.h

    r414 r594  
    225225                                                struct rpc_pipe_client *cli,
    226226                                                struct wbint_RidArray *_rids /* [in] [ref] */,
     227                                                const char **_domain_name /* [out] [ref,charset(UTF8)] */,
    227228                                                struct wbint_Principals *_names /* [out] [ref] */);
    228229NTSTATUS rpccli_wbint_LookupRids_recv(struct tevent_req *req,
     
    232233                                 TALLOC_CTX *mem_ctx,
    233234                                 struct wbint_RidArray *rids /* [in] [ref] */,
     235                                 const char **domain_name /* [out] [ref,charset(UTF8)] */,
    234236                                 struct wbint_Principals *names /* [out] [ref] */);
    235237struct tevent_req *rpccli_wbint_CheckMachineAccount_send(TALLOC_CTX *mem_ctx,
  • vendor/current/source3/librpc/gen_ndr/ndr_secrets.c

    r414 r594  
    2525                }
    2626                if (ndr_flags & NDR_BUFFERS) {
    27                         NDR_CHECK(ndr_push_dom_sid(ndr, NDR_BUFFERS, &r->domain_sid));
    2827                }
    2928                ndr->flags = _flags_save_STRUCT;
     
    5352                }
    5453                if (ndr_flags & NDR_BUFFERS) {
    55                         NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_BUFFERS, &r->domain_sid));
    5654                }
    5755                ndr->flags = _flags_save_STRUCT;
  • vendor/current/source3/librpc/gen_ndr/ndr_wbint.c

    r414 r594  
    20832083        }
    20842084        if (flags & NDR_OUT) {
     2085                if (r->out.domain_name == NULL) {
     2086                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
     2087                }
     2088                NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.domain_name));
     2089                if (*r->out.domain_name) {
     2090                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.domain_name, CH_UTF8)));
     2091                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
     2092                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.domain_name, CH_UTF8)));
     2093                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.domain_name, ndr_charset_length(*r->out.domain_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
     2094                }
    20852095                if (r->out.names == NULL) {
    20862096                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
     
    20942104static enum ndr_err_code ndr_pull_wbint_LookupRids(struct ndr_pull *ndr, int flags, struct wbint_LookupRids *r)
    20952105{
     2106        uint32_t _ptr_domain_name;
    20962107        TALLOC_CTX *_mem_save_rids_0;
     2108        TALLOC_CTX *_mem_save_domain_name_0;
     2109        TALLOC_CTX *_mem_save_domain_name_1;
    20972110        TALLOC_CTX *_mem_save_names_0;
    20982111        if (flags & NDR_IN) {
     
    21062119                NDR_CHECK(ndr_pull_wbint_RidArray(ndr, NDR_SCALARS, r->in.rids));
    21072120                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, LIBNDR_FLAG_REF_ALLOC);
     2121                NDR_PULL_ALLOC(ndr, r->out.domain_name);
     2122                ZERO_STRUCTP(r->out.domain_name);
    21082123                NDR_PULL_ALLOC(ndr, r->out.names);
    21092124                ZERO_STRUCTP(r->out.names);
    21102125        }
    21112126        if (flags & NDR_OUT) {
     2127                if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     2128                        NDR_PULL_ALLOC(ndr, r->out.domain_name);
     2129                }
     2130                _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
     2131                NDR_PULL_SET_MEM_CTX(ndr, r->out.domain_name, LIBNDR_FLAG_REF_ALLOC);
     2132                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
     2133                if (_ptr_domain_name) {
     2134                        NDR_PULL_ALLOC(ndr, *r->out.domain_name);
     2135                } else {
     2136                        *r->out.domain_name = NULL;
     2137                }
     2138                if (*r->out.domain_name) {
     2139                        _mem_save_domain_name_1 = NDR_PULL_GET_MEM_CTX(ndr);
     2140                        NDR_PULL_SET_MEM_CTX(ndr, *r->out.domain_name, 0);
     2141                        NDR_CHECK(ndr_pull_array_size(ndr, r->out.domain_name));
     2142                        NDR_CHECK(ndr_pull_array_length(ndr, r->out.domain_name));
     2143                        if (ndr_get_array_length(ndr, r->out.domain_name) > ndr_get_array_size(ndr, r->out.domain_name)) {
     2144                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, r->out.domain_name), ndr_get_array_length(ndr, r->out.domain_name));
     2145                        }
     2146                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.domain_name), sizeof(uint8_t)));
     2147                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.domain_name, ndr_get_array_length(ndr, r->out.domain_name), sizeof(uint8_t), CH_UTF8));
     2148                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_1, 0);
     2149                }
     2150                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, LIBNDR_FLAG_REF_ALLOC);
    21122151                if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
    21132152                        NDR_PULL_ALLOC(ndr, r->out.names);
     
    21412180                ndr_print_struct(ndr, "out", "wbint_LookupRids");
    21422181                ndr->depth++;
     2182                ndr_print_ptr(ndr, "domain_name", r->out.domain_name);
     2183                ndr->depth++;
     2184                ndr_print_ptr(ndr, "domain_name", *r->out.domain_name);
     2185                ndr->depth++;
     2186                if (*r->out.domain_name) {
     2187                        ndr_print_string(ndr, "domain_name", *r->out.domain_name);
     2188                }
     2189                ndr->depth--;
     2190                ndr->depth--;
    21432191                ndr_print_ptr(ndr, "names", r->out.names);
    21442192                ndr->depth++;
  • vendor/current/source3/librpc/gen_ndr/srv_wbint.c

    r414 r594  
    14241424
    14251425        ZERO_STRUCT(r->out);
     1426        r->out.domain_name = talloc_zero(r, const char *);
     1427        if (r->out.domain_name == NULL) {
     1428                talloc_free(r);
     1429                return false;
     1430        }
     1431
    14261432        r->out.names = talloc_zero(r, struct wbint_Principals);
    14271433        if (r->out.names == NULL) {
     
    21692175                        struct wbint_LookupRids *r = (struct wbint_LookupRids *)_r;
    21702176                        ZERO_STRUCT(r->out);
     2177                        r->out.domain_name = talloc_zero(mem_ctx, const char *);
     2178                        if (r->out.domain_name == NULL) {
     2179                        return NT_STATUS_NO_MEMORY;
     2180                        }
     2181
    21712182                        r->out.names = talloc_zero(mem_ctx, struct wbint_Principals);
    21722183                        if (r->out.names == NULL) {
  • vendor/current/source3/librpc/gen_ndr/wbint.h

    r414 r594  
    281281
    282282        struct {
     283                const char **domain_name;/* [ref,charset(UTF8)] */
    283284                struct wbint_Principals *names;/* [ref] */
    284285                NTSTATUS result;
  • vendor/current/source3/librpc/idl/wbint.idl

    r414 r594  
    142142    NTSTATUS wbint_LookupRids(
    143143        [in] wbint_RidArray *rids,
     144        [out,string,charset(UTF8)] char **domain_name,
    144145        [out] wbint_Principals *names
    145146        );
  • vendor/current/source3/librpc/ndr/ndr_string.c

    r414 r594  
    715715_PUBLIC_ uint32_t ndr_charset_length(const void *var, charset_t chset)
    716716{
    717         /* FIXME: Treat special chars special here, taking chset into account */
    718         /* Also include 0 byte */
     717        switch (chset) {
     718        /* case CH_UTF16: this has the same value as CH_UTF16LE */
     719        case CH_UTF16LE:
     720        case CH_UTF16BE:
     721        case CH_UTF16MUNGED:
     722        case CH_UTF8:
     723                return strlen_m_ext_term((const char *)var, chset);
     724        case CH_DISPLAY:
     725        case CH_DOS:
     726        case CH_UNIX:
     727                return strlen((const char *)var)+1;
     728        }
     729
     730        /* Fallback, this should never happen */
    719731        return strlen((const char *)var)+1;
    720732}
Note: See TracChangeset for help on using the changeset viewer.