Ignore:
Timestamp:
Nov 27, 2012, 4:43:17 PM (13 years ago)
Author:
Silvan Scherrer
Message:

Samba Server: updated trunk to 3.6.0

Location:
trunk/server
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/server

  • trunk/server/source4/utils/ntlm_auth.c

    r414 r745  
    2525#include "system/filesys.h"
    2626#include "lib/cmdline/popt_common.h"
    27 #include "lib/ldb/include/ldb.h"
     27#include <ldb.h>
    2828#include "auth/credentials/credentials.h"
    2929#include "auth/gensec/gensec.h"
     
    212212               
    213213                nt_status = ntlm_password_check(mem_ctx,
    214                                                 lp_lanman_auth(lp_ctx),
    215                                                 lp_ntlm_auth(lp_ctx),
     214                                                lpcfg_lanman_auth(lp_ctx),
     215                                                lpcfg_ntlm_auth(lp_ctx),
    216216                                                MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT |
    217217                                                MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT,
     
    226226                if (NT_STATUS_IS_OK(nt_status)) {
    227227                        if (unix_name) {
    228                                 asprintf(unix_name,
    229                                          "%s%c%s", domain,
    230                                          *lp_winbind_separator(lp_ctx),
    231                                          username);
     228                                if (asprintf(unix_name, "%s%c%s", domain,
     229                                             *lpcfg_winbind_separator(lp_ctx),
     230                                             username) < 0) {
     231                                        nt_status = NT_STATUS_NO_MEMORY;
     232                                }
    232233                        }
    233234                } else {
     
    477478
    478479                        nt_status = gensec_client_start(NULL, &state->gensec_state, ev,
    479                                                         lp_gensec_settings(NULL, lp_ctx));
     480                                                        lpcfg_gensec_settings(NULL, lp_ctx));
    480481                        if (!NT_STATUS_IS_OK(nt_status)) {
    481482                                talloc_free(mem_ctx);
     
    490491                        struct auth_context *auth_context;
    491492
    492                         msg = messaging_client_init(state, lp_messaging_path(state, lp_ctx),
    493                                                     lp_iconv_convenience(lp_ctx), ev);
     493                        msg = messaging_client_init(state, lpcfg_messaging_path(state, lp_ctx), ev);
    494494                        if (!msg) {
    495495                                talloc_free(mem_ctx);
     
    501501                                                                msg,
    502502                                                                lp_ctx,
     503                                                                NULL,
    503504                                                                &auth_context);
    504505       
     
    509510                       
    510511                        if (!NT_STATUS_IS_OK(gensec_server_start(state, ev,
    511                                                                  lp_gensec_settings(state, lp_ctx),
     512                                                                 lpcfg_gensec_settings(state, lp_ctx),
    512513                                                                 auth_context, &state->gensec_state))) {
    513514                                talloc_free(mem_ctx);
     
    617618                        struct security_token *token = session_info->security_token;
    618619                        const char *sidstr = dom_sid_string(session_info,
    619                                                             token->sids[i]);
     620                                                            &token->sids[i]);
    620621                        grouplist = talloc_asprintf_append_buffer(grouplist, "%s,", sidstr);
    621622                }
     
    647648
    648649        if (strncmp(buf, "GF", 2) == 0) {
    649                 struct gensec_ntlmssp_state *gensec_ntlmssp_state;
     650                struct ntlmssp_state *ntlmssp_state;
    650651                uint32_t neg_flags;
    651652
    652                 gensec_ntlmssp_state = talloc_get_type(state->gensec_state->private_data,
    653                                 struct gensec_ntlmssp_state);
    654                 neg_flags = gensec_ntlmssp_state->neg_flags;
     653                ntlmssp_state = talloc_get_type(state->gensec_state->private_data,
     654                                struct ntlmssp_state);
     655                neg_flags = ntlmssp_state->neg_flags;
    655656
    656657                DEBUG(10, ("Requested negotiated feature flags\n"));
     
    662663       
    663664        /* don't leak 'bad password'/'no such user' info to the network client */
    664         nt_status = auth_nt_status_squash(nt_status);
     665        nt_status = nt_status_squash(nt_status);
    665666
    666667        if (out.length) {
     
    702703                        reply_code = "BH Failed to retrive session info";
    703704                        reply_arg = nt_errstr(nt_status);
    704                         DEBUG(1, ("GENSEC failed to retreive the session info: %s\n", nt_errstr(nt_status)));
     705                        DEBUG(1, ("GENSEC failed to retrieve the session info: %s\n", nt_errstr(nt_status)));
    705706                } else {
    706707
    707708                        reply_code = "AF";
    708709                        reply_arg = talloc_asprintf(state->gensec_state,
    709                                                     "%s%s%s", session_info->server_info->domain_name,
    710                                                     lp_winbind_separator(lp_ctx), session_info->server_info->account_name);
     710                                                    "%s%s%s", session_info->info->domain_name,
     711                                                    lpcfg_winbind_separator(lp_ctx), session_info->info->account_name);
    711712                        talloc_free(session_info);
    712713                }
     
    760761                        /* handle this request as plaintext */
    761762                        if (!full_username) {
    762                                 if (asprintf(&full_username, "%s%c%s", domain, *lp_winbind_separator(lp_ctx), username) == -1) {
     763                                if (asprintf(&full_username, "%s%c%s", domain, *lpcfg_winbind_separator(lp_ctx), username) < 0) {
    763764                                        mux_printf(mux_id, "Error: Out of memory in asprintf!\n.\n");
    764765                                        return;
     
    785786                                if (!parse_ntlm_auth_domain_user(full_username, &username,
    786787                                                                                                 &domain,
    787                                                                                                  *lp_winbind_separator(lp_ctx))) {
     788                                                                                                 *lpcfg_winbind_separator(lp_ctx))) {
    788789                                        /* username might be 'tainted', don't print into our new-line deleimianted stream */
    789790                                        mux_printf(mux_id, "Error: Could not parse into domain and username\n");
     
    792793
    793794                        if (!domain) {
    794                                 domain = smb_xstrdup(lp_workgroup(lp_ctx));
     795                                domain = smb_xstrdup(lpcfg_workgroup(lp_ctx));
    795796                        }
    796797
     
    805806                                                             username,
    806807                                                              domain,
    807                                                               lp_netbios_name(lp_ctx),
     808                                                              lpcfg_netbios_name(lp_ctx),
    808809                                                              &challenge,
    809810                                                              &lm_response,
     
    933934}
    934935
    935 static void manage_squid_request(struct loadparm_context *lp_ctx, enum stdio_helper_mode helper_mode, 
     936static void manage_squid_request(struct loadparm_context *lp_ctx, enum stdio_helper_mode helper_mode,
    936937                                 stdio_helper_function fn, void **private2)
    937938{
     
    10401041}
    10411042
    1042 static void squid_stream(struct loadparm_context *lp_ctx, 
     1043static void squid_stream(struct loadparm_context *lp_ctx,
    10431044                         enum stdio_helper_mode stdio_mode,
    10441045                         stdio_helper_function fn) {
     
    11331134
    11341135        if (opt_domain == NULL) {
    1135                 opt_domain = lp_workgroup(cmdline_lp_ctx);
     1136                opt_domain = lpcfg_workgroup(cmdline_lp_ctx);
    11361137        }
    11371138
     
    11601161
    11611162        if (opt_workstation == NULL) {
    1162                 opt_workstation = lp_netbios_name(cmdline_lp_ctx);
     1163                opt_workstation = lpcfg_netbios_name(cmdline_lp_ctx);
    11631164        }
    11641165
     
    11701171                char *user;
    11711172
    1172                 asprintf(&user, "%s%c%s", opt_domain, *lp_winbind_separator(cmdline_lp_ctx), opt_username);
     1173                if (asprintf(&user, "%s%c%s", opt_domain,
     1174                             *lpcfg_winbind_separator(cmdline_lp_ctx),
     1175                             opt_username) < 0) {
     1176                        return 1;
     1177                }
    11731178                if (!check_plaintext_auth(user, opt_password, true)) {
    11741179                        return 1;
Note: See TracChangeset for help on using the changeset viewer.