Ignore:
Timestamp:
Jul 25, 2016, 11:55:48 AM (9 years ago)
Author:
Paul Smedley
Message:

Add support to enable Kerberos support, and make the plugin connect using kerberos when it's enabled

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/client-3.0/src/smbwrp.c

    r929 r930  
    245245        const char *name = NULL;
    246246
    247         debuglocal(1,"Connecting to \\\\%s:*********@%s:%s\\%s. Master %s:%d\n", srv->username,  workgroup, server, share, srv->master, srv->ifmastergroup);
    248 
    249         cli_set_timeout(c, 10000); /* 10 seconds. */
    250 
    251         if (pRes->krb5support == 1)
    252         {
    253             debuglocal(1,"Kerberos support enabled\n");
    254             c->use_kerberos = True;
     247        if (!pRes->krb5support)
     248                debuglocal(1,"Connecting to \\\\%s:*********@%s:%s\\%s. Master %s:%d\n", srv->username,  workgroup, server, share, srv->master, srv->ifmastergroup);
     249        else
     250                debuglocal(1,"Connecting to \\\\%s:%s\\%s using kerberos authentication. Master %s:%d\n", workgroup, server, share, srv->master, srv->ifmastergroup);
     251
     252        if (pRes->krb5support) {
     253                flags |= CLI_FULL_CONNECTION_USE_KERBEROS;
    255254        }
    256255
     
    290289
    291290                /* try an anonymous login if it failed */
    292                 if (!NT_STATUS_IS_OK(cli_session_setup(c, "", "", 0,"", 0, workgroup))) {
    293                         debuglocal(4,"Anonymous login failed\n");
     291               
     292                /* If a password was not supplied then
     293                 * try again with a null username. */
     294                if (srv->password[0] || !srv->username[0] ||
     295                        pRes->krb5support ||
     296                !NT_STATUS_IS_OK(status = cli_session_setup(c, "",
     297                                        "", 0,
     298                                        "", 0,
     299                                        workgroup))) {
     300                        debuglocal(1,"session setup failed: %s\n",
     301                                 nt_errstr(status));
     302
     303                        if ((NT_STATUS_EQUAL(status,
     304                                            NT_STATUS_MORE_PROCESSING_REQUIRED)) ||
     305                             NT_STATUS_EQUAL(status,
     306                                            NT_STATUS_INTERNAL_ERROR)){
     307                                debuglocal(4,"did you forget to run kinit?\n");
     308                        } else
     309                                debuglocal(4,"Anonymous login failed\n");
     310
    294311                        cli_shutdown(c);
    295312                        return 6;
Note: See TracChangeset for help on using the changeset viewer.