Ignore:
Timestamp:
May 27, 2009, 11:39:15 AM (16 years ago)
Author:
Herwig Bauernfeind
Message:

Update 3.2 branch to 3.2.9

Location:
branches/samba-3.2.x/source/librpc
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • branches/samba-3.2.x/source/librpc/gen_ndr/cli_netlogon.c

    r204 r233  
    11081108}
    11091109
    1110 NTSTATUS rpccli_netr_NETRLOGONDUMMYROUTINE1(struct rpc_pipe_client *cli,
    1111                                             TALLOC_CTX *mem_ctx,
    1112                                             WERROR *werror)
    1113 {
    1114         struct netr_NETRLOGONDUMMYROUTINE1 r;
    1115         NTSTATUS status;
    1116 
    1117         /* In parameters */
    1118 
    1119         if (DEBUGLEVEL >= 10) {
    1120                 NDR_PRINT_IN_DEBUG(netr_NETRLOGONDUMMYROUTINE1, &r);
    1121         }
    1122 
    1123         status = cli_do_rpc_ndr(cli,
    1124                                 mem_ctx,
    1125                                 PI_NETLOGON,
    1126                                 &ndr_table_netlogon,
    1127                                 NDR_NETR_NETRLOGONDUMMYROUTINE1,
    1128                                 &r);
    1129 
    1130         if (!NT_STATUS_IS_OK(status)) {
    1131                 return status;
    1132         }
    1133 
    1134         if (DEBUGLEVEL >= 10) {
    1135                 NDR_PRINT_OUT_DEBUG(netr_NETRLOGONDUMMYROUTINE1, &r);
    1136         }
    1137 
    1138         if (NT_STATUS_IS_ERR(status)) {
    1139                 return status;
    1140         }
    1141 
    1142         /* Return variables */
    1143 
    1144         /* Return result */
    1145         if (werror) {
    1146                 *werror = r.out.result;
    1147         }
    1148 
    1149         return werror_to_ntstatus(r.out.result);
     1110NTSTATUS rpccli_netr_LogonGetCapabilities(struct rpc_pipe_client *cli,
     1111                                          TALLOC_CTX *mem_ctx,
     1112                                          const char *server_name /* [in] [charset(UTF16)] */,
     1113                                          const char *computer_name /* [in] [unique,charset(UTF16)] */,
     1114                                          struct netr_Authenticator *credential /* [in] [ref] */,
     1115                                          struct netr_Authenticator *return_authenticator /* [in,out] [ref] */,
     1116                                          uint32_t query_level /* [in]  */,
     1117                                          union netr_Capabilities *capabilities /* [out] [ref,switch_is(query_level)] */)
     1118{
     1119        struct netr_LogonGetCapabilities r;
     1120        NTSTATUS status;
     1121
     1122        /* In parameters */
     1123        r.in.server_name = server_name;
     1124        r.in.computer_name = computer_name;
     1125        r.in.credential = credential;
     1126        r.in.return_authenticator = return_authenticator;
     1127        r.in.query_level = query_level;
     1128
     1129        if (DEBUGLEVEL >= 10) {
     1130                NDR_PRINT_IN_DEBUG(netr_LogonGetCapabilities, &r);
     1131        }
     1132
     1133        status = cli_do_rpc_ndr(cli,
     1134                                mem_ctx,
     1135                                PI_NETLOGON,
     1136                                &ndr_table_netlogon,
     1137                                NDR_NETR_LOGONGETCAPABILITIES,
     1138                                &r);
     1139
     1140        if (!NT_STATUS_IS_OK(status)) {
     1141                return status;
     1142        }
     1143
     1144        if (DEBUGLEVEL >= 10) {
     1145                NDR_PRINT_OUT_DEBUG(netr_LogonGetCapabilities, &r);
     1146        }
     1147
     1148        if (NT_STATUS_IS_ERR(status)) {
     1149                return status;
     1150        }
     1151
     1152        /* Return variables */
     1153        *return_authenticator = *r.out.return_authenticator;
     1154        *capabilities = *r.out.capabilities;
     1155
     1156        /* Return result */
     1157        return r.out.result;
    11501158}
    11511159
  • branches/samba-3.2.x/source/librpc/gen_ndr/cli_netlogon.h

    r204 r233  
    184184                                  struct netr_DsRGetDCNameInfo **info /* [out] [ref] */,
    185185                                  WERROR *werror);
    186 NTSTATUS rpccli_netr_NETRLOGONDUMMYROUTINE1(struct rpc_pipe_client *cli,
    187                                             TALLOC_CTX *mem_ctx,
    188                                             WERROR *werror);
     186NTSTATUS rpccli_netr_LogonGetCapabilities(struct rpc_pipe_client *cli,
     187                                          TALLOC_CTX *mem_ctx,
     188                                          const char *server_name /* [in] [charset(UTF16)] */,
     189                                          const char *computer_name /* [in] [unique,charset(UTF16)] */,
     190                                          struct netr_Authenticator *credential /* [in] [ref] */,
     191                                          struct netr_Authenticator *return_authenticator /* [in,out] [ref] */,
     192                                          uint32_t query_level /* [in]  */,
     193                                          union netr_Capabilities *capabilities /* [out] [ref,switch_is(query_level)] */);
    189194NTSTATUS rpccli_netr_NETRLOGONSETSERVICEBITS(struct rpc_pipe_client *cli,
    190195                                             TALLOC_CTX *mem_ctx,
  • branches/samba-3.2.x/source/librpc/gen_ndr/ndr_netlogon.c

    r204 r233  
    63866386}
    63876387
     6388static enum ndr_err_code ndr_push_netr_Capabilities(struct ndr_push *ndr, int ndr_flags, const union netr_Capabilities *r)
     6389{
     6390        if (ndr_flags & NDR_SCALARS) {
     6391                int level = ndr_push_get_switch_value(ndr, r);
     6392                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
     6393                switch (level) {
     6394                        case 1: {
     6395                                NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, r->server_capabilities));
     6396                        break; }
     6397
     6398                        default:
     6399                                return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
     6400                }
     6401        }
     6402        if (ndr_flags & NDR_BUFFERS) {
     6403                int level = ndr_push_get_switch_value(ndr, r);
     6404                switch (level) {
     6405                        case 1:
     6406                        break;
     6407
     6408                        default:
     6409                                return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
     6410                }
     6411        }
     6412        return NDR_ERR_SUCCESS;
     6413}
     6414
     6415static enum ndr_err_code ndr_pull_netr_Capabilities(struct ndr_pull *ndr, int ndr_flags, union netr_Capabilities *r)
     6416{
     6417        int level;
     6418        uint32_t _level;
     6419        level = ndr_pull_get_switch_value(ndr, r);
     6420        if (ndr_flags & NDR_SCALARS) {
     6421                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
     6422                if (_level != level) {
     6423                        return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
     6424                }
     6425                switch (level) {
     6426                        case 1: {
     6427                                NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, &r->server_capabilities));
     6428                        break; }
     6429
     6430                        default:
     6431                                return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
     6432                }
     6433        }
     6434        if (ndr_flags & NDR_BUFFERS) {
     6435                switch (level) {
     6436                        case 1:
     6437                        break;
     6438
     6439                        default:
     6440                                return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
     6441                }
     6442        }
     6443        return NDR_ERR_SUCCESS;
     6444}
     6445
     6446_PUBLIC_ void ndr_print_netr_Capabilities(struct ndr_print *ndr, const char *name, const union netr_Capabilities *r)
     6447{
     6448        int level;
     6449        level = ndr_print_get_switch_value(ndr, r);
     6450        ndr_print_union(ndr, name, level, "netr_Capabilities");
     6451        switch (level) {
     6452                case 1:
     6453                        ndr_print_netr_NegotiateFlags(ndr, "server_capabilities", r->server_capabilities);
     6454                break;
     6455
     6456                default:
     6457                        ndr_print_bad_level(ndr, name, level);
     6458        }
     6459}
     6460
    63886461static enum ndr_err_code ndr_push_netr_BinaryString(struct ndr_push *ndr, int ndr_flags, const struct netr_BinaryString *r)
    63896462{
     
    1131511388}
    1131611389
    11317 static enum ndr_err_code ndr_push_netr_NETRLOGONDUMMYROUTINE1(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONDUMMYROUTINE1 *r)
     11390static enum ndr_err_code ndr_push_netr_LogonGetCapabilities(struct ndr_push *ndr, int flags, const struct netr_LogonGetCapabilities *r)
    1131811391{
    1131911392        if (flags & NDR_IN) {
     11393                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
     11394                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
     11395                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
     11396                NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
     11397                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
     11398                if (r->in.computer_name) {
     11399                        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
     11400                        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
     11401                        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
     11402                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
     11403                }
     11404                if (r->in.credential == NULL) {
     11405                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
     11406                }
     11407                NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
     11408                if (r->in.return_authenticator == NULL) {
     11409                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
     11410                }
     11411                NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
     11412                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.query_level));
    1132011413        }
    1132111414        if (flags & NDR_OUT) {
    11322                 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
    11323         }
    11324         return NDR_ERR_SUCCESS;
    11325 }
    11326 
    11327 static enum ndr_err_code ndr_pull_netr_NETRLOGONDUMMYROUTINE1(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONDUMMYROUTINE1 *r)
    11328 {
     11415                if (r->out.return_authenticator == NULL) {
     11416                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
     11417                }
     11418                NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
     11419                if (r->out.capabilities == NULL) {
     11420                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
     11421                }
     11422                NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.capabilities, r->in.query_level));
     11423                NDR_CHECK(ndr_push_netr_Capabilities(ndr, NDR_SCALARS, r->out.capabilities));
     11424                NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
     11425        }
     11426        return NDR_ERR_SUCCESS;
     11427}
     11428
     11429static enum ndr_err_code ndr_pull_netr_LogonGetCapabilities(struct ndr_pull *ndr, int flags, struct netr_LogonGetCapabilities *r)
     11430{
     11431        uint32_t _ptr_computer_name;
     11432        TALLOC_CTX *_mem_save_computer_name_0;
     11433        TALLOC_CTX *_mem_save_credential_0;
     11434        TALLOC_CTX *_mem_save_return_authenticator_0;
     11435        TALLOC_CTX *_mem_save_capabilities_0;
    1132911436        if (flags & NDR_IN) {
     11437                ZERO_STRUCT(r->out);
     11438
     11439                NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
     11440                NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
     11441                if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
     11442                        return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
     11443                }
     11444                NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
     11445                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
     11446                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
     11447                if (_ptr_computer_name) {
     11448                        NDR_PULL_ALLOC(ndr, r->in.computer_name);
     11449                } else {
     11450                        r->in.computer_name = NULL;
     11451                }
     11452                if (r->in.computer_name) {
     11453                        _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
     11454                        NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
     11455                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
     11456                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
     11457                        if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
     11458                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name));
     11459                        }
     11460                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
     11461                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16));
     11462                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
     11463                }
     11464                if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     11465                        NDR_PULL_ALLOC(ndr, r->in.credential);
     11466                }
     11467                _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
     11468                NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
     11469                NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
     11470                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
     11471                if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     11472                        NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
     11473                }
     11474                _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
     11475                NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
     11476                NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
     11477                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
     11478                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.query_level));
     11479                NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
     11480                *r->out.return_authenticator = *r->in.return_authenticator;
     11481                NDR_PULL_ALLOC(ndr, r->out.capabilities);
     11482                ZERO_STRUCTP(r->out.capabilities);
    1133011483        }
    1133111484        if (flags & NDR_OUT) {
    11332                 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
    11333         }
    11334         return NDR_ERR_SUCCESS;
    11335 }
    11336 
    11337 _PUBLIC_ void ndr_print_netr_NETRLOGONDUMMYROUTINE1(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONDUMMYROUTINE1 *r)
    11338 {
    11339         ndr_print_struct(ndr, name, "netr_NETRLOGONDUMMYROUTINE1");
     11485                if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     11486                        NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
     11487                }
     11488                _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
     11489                NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
     11490                NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
     11491                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
     11492                if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
     11493                        NDR_PULL_ALLOC(ndr, r->out.capabilities);
     11494                }
     11495                _mem_save_capabilities_0 = NDR_PULL_GET_MEM_CTX(ndr);
     11496                NDR_PULL_SET_MEM_CTX(ndr, r->out.capabilities, LIBNDR_FLAG_REF_ALLOC);
     11497                NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.capabilities, r->in.query_level));
     11498                NDR_CHECK(ndr_pull_netr_Capabilities(ndr, NDR_SCALARS, r->out.capabilities));
     11499                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_capabilities_0, LIBNDR_FLAG_REF_ALLOC);
     11500                NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
     11501        }
     11502        return NDR_ERR_SUCCESS;
     11503}
     11504
     11505_PUBLIC_ void ndr_print_netr_LogonGetCapabilities(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetCapabilities *r)
     11506{
     11507        ndr_print_struct(ndr, name, "netr_LogonGetCapabilities");
    1134011508        ndr->depth++;
    1134111509        if (flags & NDR_SET_VALUES) {
     
    1134311511        }
    1134411512        if (flags & NDR_IN) {
    11345                 ndr_print_struct(ndr, "in", "netr_NETRLOGONDUMMYROUTINE1");
    11346                 ndr->depth++;
     11513                ndr_print_struct(ndr, "in", "netr_LogonGetCapabilities");
     11514                ndr->depth++;
     11515                ndr_print_string(ndr, "server_name", r->in.server_name);
     11516                ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
     11517                ndr->depth++;
     11518                if (r->in.computer_name) {
     11519                        ndr_print_string(ndr, "computer_name", r->in.computer_name);
     11520                }
     11521                ndr->depth--;
     11522                ndr_print_ptr(ndr, "credential", r->in.credential);
     11523                ndr->depth++;
     11524                ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
     11525                ndr->depth--;
     11526                ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
     11527                ndr->depth++;
     11528                ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
     11529                ndr->depth--;
     11530                ndr_print_uint32(ndr, "query_level", r->in.query_level);
    1134711531                ndr->depth--;
    1134811532        }
    1134911533        if (flags & NDR_OUT) {
    11350                 ndr_print_struct(ndr, "out", "netr_NETRLOGONDUMMYROUTINE1");
    11351                 ndr->depth++;
    11352                 ndr_print_WERROR(ndr, "result", r->out.result);
     11534                ndr_print_struct(ndr, "out", "netr_LogonGetCapabilities");
     11535                ndr->depth++;
     11536                ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
     11537                ndr->depth++;
     11538                ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
     11539                ndr->depth--;
     11540                ndr_print_ptr(ndr, "capabilities", r->out.capabilities);
     11541                ndr->depth++;
     11542                ndr_print_set_switch_value(ndr, r->out.capabilities, r->in.query_level);
     11543                ndr_print_netr_Capabilities(ndr, "capabilities", r->out.capabilities);
     11544                ndr->depth--;
     11545                ndr_print_NTSTATUS(ndr, "result", r->out.result);
    1135311546                ndr->depth--;
    1135411547        }
     
    1488615079        },
    1488715080        {
    14888                 "netr_NETRLOGONDUMMYROUTINE1",
    14889                 sizeof(struct netr_NETRLOGONDUMMYROUTINE1),
    14890                 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONDUMMYROUTINE1,
    14891                 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONDUMMYROUTINE1,
    14892                 (ndr_print_function_t) ndr_print_netr_NETRLOGONDUMMYROUTINE1,
     15081                "netr_LogonGetCapabilities",
     15082                sizeof(struct netr_LogonGetCapabilities),
     15083                (ndr_push_flags_fn_t) ndr_push_netr_LogonGetCapabilities,
     15084                (ndr_pull_flags_fn_t) ndr_pull_netr_LogonGetCapabilities,
     15085                (ndr_print_function_t) ndr_print_netr_LogonGetCapabilities,
    1489315086                false,
    1489415087        },
  • branches/samba-3.2.x/source/librpc/gen_ndr/ndr_netlogon.h

    r133 r233  
    5454#define NDR_NETR_DSRGETDCNAME (0x14)
    5555
    56 #define NDR_NETR_NETRLOGONDUMMYROUTINE1 (0x15)
     56#define NDR_NETR_LOGONGETCAPABILITIES (0x15)
    5757
    5858#define NDR_NETR_NETRLOGONSETSERVICEBITS (0x16)
     
    196196enum ndr_err_code ndr_pull_netr_DsRGetDCNameInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRGetDCNameInfo *r);
    197197void ndr_print_netr_DsRGetDCNameInfo(struct ndr_print *ndr, const char *name, const struct netr_DsRGetDCNameInfo *r);
     198void ndr_print_netr_Capabilities(struct ndr_print *ndr, const char *name, const union netr_Capabilities *r);
    198199void ndr_print_netr_BinaryString(struct ndr_print *ndr, const char *name, const struct netr_BinaryString *r);
    199200void ndr_print_netr_DomainQuery1(struct ndr_print *ndr, const char *name, const struct netr_DomainQuery1 *r);
     
    233234void ndr_print_netr_NetrEnumerateTrustedDomains(struct ndr_print *ndr, const char *name, int flags, const struct netr_NetrEnumerateTrustedDomains *r);
    234235void ndr_print_netr_DsRGetDCName(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCName *r);
    235 void ndr_print_netr_NETRLOGONDUMMYROUTINE1(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONDUMMYROUTINE1 *r);
     236void ndr_print_netr_LogonGetCapabilities(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetCapabilities *r);
    236237void ndr_print_netr_NETRLOGONSETSERVICEBITS(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONSETSERVICEBITS *r);
    237238void ndr_print_netr_LogonGetTrustRid(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetTrustRid *r);
  • branches/samba-3.2.x/source/librpc/gen_ndr/netlogon.h

    r204 r233  
    737737}/* [public] */;
    738738
     739union netr_Capabilities {
     740        uint32_t server_capabilities;/* [case] */
     741}/* [switch_type(uint32)] */;
     742
    739743struct netr_BinaryString {
    740744        uint16_t length;
     
    12351239
    12361240
    1237 struct netr_NETRLOGONDUMMYROUTINE1 {
    1238         struct {
    1239                 WERROR result;
     1241struct netr_LogonGetCapabilities {
     1242        struct {
     1243                const char *server_name;/* [charset(UTF16)] */
     1244                const char *computer_name;/* [unique,charset(UTF16)] */
     1245                struct netr_Authenticator *credential;/* [ref] */
     1246                uint32_t query_level;
     1247                struct netr_Authenticator *return_authenticator;/* [ref] */
     1248        } in;
     1249
     1250        struct {
     1251                union netr_Capabilities *capabilities;/* [ref,switch_is(query_level)] */
     1252                struct netr_Authenticator *return_authenticator;/* [ref] */
     1253                NTSTATUS result;
    12401254        } out;
    12411255
  • branches/samba-3.2.x/source/librpc/gen_ndr/srv_netlogon.c

    r133 r233  
    17361736}
    17371737
    1738 static bool api_netr_NETRLOGONDUMMYROUTINE1(pipes_struct *p)
    1739 {
    1740         const struct ndr_interface_call *call;
    1741         struct ndr_pull *pull;
    1742         struct ndr_push *push;
    1743         enum ndr_err_code ndr_err;
    1744         DATA_BLOB blob;
    1745         struct netr_NETRLOGONDUMMYROUTINE1 *r;
    1746 
    1747         call = &ndr_table_netlogon.calls[NDR_NETR_NETRLOGONDUMMYROUTINE1];
    1748 
    1749         r = talloc(talloc_tos(), struct netr_NETRLOGONDUMMYROUTINE1);
    1750         if (r == NULL) {
    1751                 return false;
    1752         }
    1753 
    1754         if (!prs_data_blob(&p->in_data.data, &blob, r)) {
    1755                 talloc_free(r);
    1756                 return false;
    1757         }
    1758 
    1759         pull = ndr_pull_init_blob(&blob, r);
    1760         if (pull == NULL) {
    1761                 talloc_free(r);
    1762                 return false;
    1763         }
    1764 
    1765         pull->flags |= LIBNDR_FLAG_REF_ALLOC;
    1766         ndr_err = call->ndr_pull(pull, NDR_IN, r);
    1767         if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
    1768                 talloc_free(r);
    1769                 return false;
    1770         }
    1771 
    1772         if (DEBUGLEVEL >= 10) {
    1773                 NDR_PRINT_IN_DEBUG(netr_NETRLOGONDUMMYROUTINE1, r);
    1774         }
    1775 
    1776         r->out.result = _netr_NETRLOGONDUMMYROUTINE1(p, r);
    1777 
    1778         if (p->rng_fault_state) {
    1779                 talloc_free(r);
    1780                 /* Return true here, srv_pipe_hnd.c will take care */
    1781                 return true;
    1782         }
    1783 
    1784         if (DEBUGLEVEL >= 10) {
    1785                 NDR_PRINT_OUT_DEBUG(netr_NETRLOGONDUMMYROUTINE1, r);
     1738static bool api_netr_LogonGetCapabilities(pipes_struct *p)
     1739{
     1740        const struct ndr_interface_call *call;
     1741        struct ndr_pull *pull;
     1742        struct ndr_push *push;
     1743        enum ndr_err_code ndr_err;
     1744        DATA_BLOB blob;
     1745        struct netr_LogonGetCapabilities *r;
     1746
     1747        call = &ndr_table_netlogon.calls[NDR_NETR_LOGONGETCAPABILITIES];
     1748
     1749        r = talloc(talloc_tos(), struct netr_LogonGetCapabilities);
     1750        if (r == NULL) {
     1751                return false;
     1752        }
     1753
     1754        if (!prs_data_blob(&p->in_data.data, &blob, r)) {
     1755                talloc_free(r);
     1756                return false;
     1757        }
     1758
     1759        pull = ndr_pull_init_blob(&blob, r);
     1760        if (pull == NULL) {
     1761                talloc_free(r);
     1762                return false;
     1763        }
     1764
     1765        pull->flags |= LIBNDR_FLAG_REF_ALLOC;
     1766        ndr_err = call->ndr_pull(pull, NDR_IN, r);
     1767        if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
     1768                talloc_free(r);
     1769                return false;
     1770        }
     1771
     1772        if (DEBUGLEVEL >= 10) {
     1773                NDR_PRINT_IN_DEBUG(netr_LogonGetCapabilities, r);
     1774        }
     1775
     1776        ZERO_STRUCT(r->out);
     1777        r->out.return_authenticator = r->in.return_authenticator;
     1778        r->out.capabilities = talloc_zero(r, union netr_Capabilities);
     1779        if (r->out.capabilities == NULL) {
     1780                talloc_free(r);
     1781                return false;
     1782        }
     1783
     1784        r->out.result = _netr_LogonGetCapabilities(p, r);
     1785
     1786        if (p->rng_fault_state) {
     1787                talloc_free(r);
     1788                /* Return true here, srv_pipe_hnd.c will take care */
     1789                return true;
     1790        }
     1791
     1792        if (DEBUGLEVEL >= 10) {
     1793                NDR_PRINT_OUT_DEBUG(netr_LogonGetCapabilities, r);
    17861794        }
    17871795
     
    38273835        {"NETR_NETRENUMERATETRUSTEDDOMAINS", NDR_NETR_NETRENUMERATETRUSTEDDOMAINS, api_netr_NetrEnumerateTrustedDomains},
    38283836        {"NETR_DSRGETDCNAME", NDR_NETR_DSRGETDCNAME, api_netr_DsRGetDCName},
    3829         {"NETR_NETRLOGONDUMMYROUTINE1", NDR_NETR_NETRLOGONDUMMYROUTINE1, api_netr_NETRLOGONDUMMYROUTINE1},
     3837        {"NETR_LOGONGETCAPABILITIES", NDR_NETR_LOGONGETCAPABILITIES, api_netr_LogonGetCapabilities},
    38303838        {"NETR_NETRLOGONSETSERVICEBITS", NDR_NETR_NETRLOGONSETSERVICEBITS, api_netr_NETRLOGONSETSERVICEBITS},
    38313839        {"NETR_LOGONGETTRUSTRID", NDR_NETR_LOGONGETTRUSTRID, api_netr_LogonGetTrustRid},
  • branches/samba-3.2.x/source/librpc/gen_ndr/srv_netlogon.h

    r133 r233  
    2323WERROR _netr_NetrEnumerateTrustedDomains(pipes_struct *p, struct netr_NetrEnumerateTrustedDomains *r);
    2424WERROR _netr_DsRGetDCName(pipes_struct *p, struct netr_DsRGetDCName *r);
    25 WERROR _netr_NETRLOGONDUMMYROUTINE1(pipes_struct *p, struct netr_NETRLOGONDUMMYROUTINE1 *r);
     25NTSTATUS _netr_LogonGetCapabilities(pipes_struct *p, struct netr_LogonGetCapabilities *r);
    2626WERROR _netr_NETRLOGONSETSERVICEBITS(pipes_struct *p, struct netr_NETRLOGONSETSERVICEBITS *r);
    2727WERROR _netr_LogonGetTrustRid(pipes_struct *p, struct netr_LogonGetTrustRid *r);
  • branches/samba-3.2.x/source/librpc/idl/netlogon.idl

    r204 r233  
    10571057        /*****************/
    10581058        /* Function 0x15 */
    1059         WERROR netr_NETRLOGONDUMMYROUTINE1();
     1059        typedef [switch_type(uint32)] union {
     1060                [case(1)] netr_NegotiateFlags server_capabilities;
     1061        } netr_Capabilities;
     1062
     1063        NTSTATUS netr_LogonGetCapabilities(
     1064                [in]         [string,charset(UTF16)] uint16 server_name[],
     1065                [in,unique]  [string,charset(UTF16)] uint16 *computer_name,
     1066                [in,ref]     netr_Authenticator *credential,
     1067                [in,out,ref] netr_Authenticator *return_authenticator,
     1068                [in]         uint32 query_level,
     1069                [out,ref,switch_is(query_level)] netr_Capabilities *capabilities
     1070                );
    10601071
    10611072        /****************/
  • branches/samba-3.2.x/source/librpc/ndr/ndr.c

    r133 r233  
    188188
    189189        for (i=0;i<ndr->depth;i++) {
    190                 DEBUGADD(0,("    "));
    191         }
    192 
    193         DEBUGADD(0,("%s\n", s));
     190                DEBUGADD(1,("    "));
     191        }
     192
     193        DEBUGADD(1,("%s\n", s));
    194194        free(s);
    195195}
Note: See TracChangeset for help on using the changeset viewer.