Ignore:
Timestamp:
Jan 21, 2008, 9:55:43 AM (18 years ago)
Author:
Paul Smedley
Message:

Check in updated detection of kerberos support

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/samba-3.0/source/ndpsmb/ndpsmb.c

    r107 r110  
    156156        { ND_PROP_ULONG, 0, "LOGLEVEL", "0"},
    157157        { ND_PROP_ULONG, 0, "EASUPPORT", "1"},
    158         { ND_PROP_ULONG, 0, "KRB5SUPPORT", "1"},
    159158        {ND_PROP_STRING, 0, NULL, NULL}
    160159};
     
    209208        char loglevel;
    210209        int easupport;
    211         int krb5support;
    212210} Resource;
    213211
     
    246244                sd.FgBg = SSF_FGBG_BACK;
    247245                sd.PgmName = EXECNAME;
    248                 if (pRes->krb5support)
    249                 {
    250                         StrNCat(params, " -k ", sizeof(params) - 1);
    251                 }
    252246                if (pRes->loglevel)
    253247                {
     
    263257                        StrNCat(params, pRes->logfile, sizeof(params) - 1);
    264258                }
    265 
    266259                log("params <%s>\n", params);
    267260                sd.PgmInputs = *params ? params : NULL;
     
    274267                        char failed[CCHMAXPATH + 1] = {0};
    275268                        RESULTCODES res = {0};
    276                         UCHAR pszArgString[CCHMAXPATH+41] ; /* Argument string */
    277                         sprintf(pszArgString, "smbcd %s\0", params);
    278                         if (params!=NULL)
    279                                 pszArgString[5] = '\0' ;
    280                         rc = DosExecPgm(failed, sizeof(failed), EXEC_BACKGROUND, pszArgString, NULL, &res, EXECNAME);
     269                        char * p = params;
     270                        StrCpy(p, EXECNAME);
     271                        p += StrLen(p) + 1;
     272                        if (*pRes->logfile)
     273                        {
     274                                StrCpy(p, "-l ");
     275                                StrNCat(p, pRes->logfile, sizeof(params) - (p - (char *)params));
     276                                p += StrLen(p) + 1;
     277                                if (pRes->loglevel)
     278                                {
     279                                        char level[2];
     280                                        level[0] = pRes->loglevel + '0';
     281                                        level[1] = 0;
     282                                        StrCpy(p, "-d ");
     283                                        StrNCat(p, level, sizeof(params) - (p - (char *)params));
     284                                        p += StrLen(p) + 1;
     285                                }
     286                        }
     287                        else
     288                        {
     289                                StrCpy(p, "-q");
     290                                p += StrLen(p) + 1;
     291                        }
     292                        *p = 0;         
     293                        rc = DosExecPgm(failed, sizeof(failed), EXEC_BACKGROUND, params, NULL, &res, EXECNAME);
    281294                        log("smbcd DosExecPgm codeTerminate %d codeResult %d rc %d\n", res.codeTerminate, res.codeResult, rc);
    282295                }
    283                 if (!rc) 
     296                if (!rc)
    284297                {
    285298                        DosSleep(500);
     
    379392        pRes->loglevel = 0;
    380393        pRes->easupport = 1;
    381         pRes->krb5support = 0;
    382394
    383395        t = 0, q = NULL;
     
    484496                {
    485497                        pRes->memlen = t * 65536;
    486                 }
    487         }
    488 
    489         t = 0;
    490         rc = ph->fsphQueryUlongProperty (pRes->properties, "KRB5SUPPORT", &t);
    491         if (!rc)
    492         {
    493                 if (t > 1)
    494                 {
    495                         rc = ERROR_INVALID_PARAMETER;
    496                 }
    497                 else
    498                 {
    499                         pRes->krb5support = t;
    500498                }
    501499        }
     
    20192017int APIENTRY NdpIOCTL (int type, HRESOURCE resource, char *path, int function, void *in, ULONG insize, PULONG poutlen)
    20202018{
    2021         log("NdpIOCTL <%s> %d %d\n", path, function, ERROR_NOT_SUPPORTED);
     2019    log("NdpIOCTL <%s> %d %d\n", path, function, ERROR_NOT_SUPPORTED);
    20222020        return ERROR_NOT_SUPPORTED;
    20232021}
Note: See TracChangeset for help on using the changeset viewer.