Changeset 107
- Timestamp:
- Dec 10, 2007, 9:00:50 PM (18 years ago)
- Location:
- branches/samba-3.0/source/ndpsmb
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/samba-3.0/source/ndpsmb/ndpsmb.c
r70 r107 156 156 { ND_PROP_ULONG, 0, "LOGLEVEL", "0"}, 157 157 { ND_PROP_ULONG, 0, "EASUPPORT", "1"}, 158 { ND_PROP_ULONG, 0, "KRB5SUPPORT", "1"}, 158 159 {ND_PROP_STRING, 0, NULL, NULL} 159 160 }; … … 208 209 char loglevel; 209 210 int easupport; 211 int krb5support; 210 212 } Resource; 211 213 … … 244 246 sd.FgBg = SSF_FGBG_BACK; 245 247 sd.PgmName = EXECNAME; 248 if (pRes->krb5support) 249 { 250 StrNCat(params, " -k ", sizeof(params) - 1); 251 } 246 252 if (pRes->loglevel) 247 253 { … … 257 263 StrNCat(params, pRes->logfile, sizeof(params) - 1); 258 264 } 265 259 266 log("params <%s>\n", params); 260 267 sd.PgmInputs = *params ? params : NULL; … … 267 274 char failed[CCHMAXPATH + 1] = {0}; 268 275 RESULTCODES res = {0}; 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); 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); 294 281 log("smbcd DosExecPgm codeTerminate %d codeResult %d rc %d\n", res.codeTerminate, res.codeResult, rc); 295 282 } 296 if (!rc) 283 if (!rc) 297 284 { 298 285 DosSleep(500); … … 392 379 pRes->loglevel = 0; 393 380 pRes->easupport = 1; 381 pRes->krb5support = 0; 394 382 395 383 t = 0, q = NULL; … … 496 484 { 497 485 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; 498 500 } 499 501 } -
branches/samba-3.0/source/ndpsmb/rc/rc.dlg
r66 r107 9 9 FCF_TITLEBAR 10 10 BEGIN 11 CTEXT "SMB resource properties:", LBL_PROP, 5, 129, 190, 10, 12 DT_VCENTER 13 14 RTEXT "Workgroup:", LBL_WORKGRP, 5, 117, 60, 10, 15 DT_BOTTOM 11 CTEXT "SMB resource properties:", LBL_PROP, 5, 129, 190, 12 10, DT_VCENTER 13 RTEXT "Workgroup:", LBL_WORKGRP, 5, 117, 60, 10, DT_BOTTOM 16 14 ENTRYFIELD "", ENT_WORKGRP, 67, 118, 100, 8, ES_MARGIN 17 18 RTEXT "Server:", LBL_SERVER, 5, 105, 60, 10, 19 DT_BOTTOM 15 RTEXT "Server:", LBL_SERVER, 5, 105, 60, 10, DT_BOTTOM 20 16 ENTRYFIELD "", ENT_SERVER, 67, 106, 100, 8, ES_MARGIN 21 22 RTEXT "Share:", LBL_SHARE, 5, 93, 60, 10, 23 DT_BOTTOM 17 RTEXT "Share:", LBL_SHARE, 5, 93, 60, 10, DT_BOTTOM 24 18 ENTRYFIELD "", ENT_SHARE, 67, 94, 100, 8, ES_MARGIN 25 26 RTEXT "User:", LBL_USER, 5, 81, 60, 10, 27 DT_BOTTOM 19 RTEXT "User:", LBL_USER, 5, 81, 60, 10, DT_BOTTOM 28 20 ENTRYFIELD "", ENT_USER, 67, 82, 100, 8, ES_MARGIN 29 30 RTEXT "Password:", LBL_PASS, 5, 69, 60, 10, 31 DT_BOTTOM 32 ENTRYFIELD "", ENT_PASS, 67, 70, 100, 8, ES_MARGIN | ES_UNREADABLE 33 34 RTEXT "Master", LBL_MASTER, 5, 57, 30, 10, 35 DT_BOTTOM 21 RTEXT "Password:", LBL_PASS, 5, 69, 60, 10, DT_BOTTOM 22 ENTRYFIELD "", ENT_PASS, 67, 70, 100, 8, ES_MARGIN | 23 ES_UNREADABLE 24 RTEXT "Master", LBL_MASTER, 5, 57, 30, 10, DT_BOTTOM 36 25 CONTROL "", CMB_MASTER, 37, 35, 50, 33, WC_COMBOBOX, 37 26 CBS_DROPDOWNLIST | WS_GROUP | WS_TABSTOP | … … 43 32 CBS_DROPDOWNLIST | WS_GROUP | WS_TABSTOP | 44 33 WS_VISIBLE 45 46 RTEXT "Logfile:", LBL_LOGFILE, 5, 33, 60, 10, 34 RTEXT "Logfile:", LBL_LOGFILE, 5, 33, 60, 10, DT_BOTTOM 35 ENTRYFIELD "", ENT_LOGFILE, 67, 33, 100, 8, ES_MARGIN 36 RTEXT "Loglevel:", LBL_LOGLEVEL, 5, 21, 60, 10, DT_BOTTOM 37 SPINBUTTON CMB_LOGLEVEL, 67, 18, 20, 35, SPBS_NUMERICONLY | 38 SPBS_MASTER | SPBS_JUSTRIGHT | WS_GROUP 39 LTEXT "EA Support", LBL_EASUPPORT, 107, 20, 28, 10, 47 40 DT_BOTTOM 48 ENTRYFIELD "", ENT_LOGFILE, 67, 33, 100, 8, ES_MARGIN 49 50 RTEXT "Loglevel:", LBL_LOGLEVEL, 5, 21, 60, 10, 51 DT_BOTTOM 52 CONTROL "", CMB_LOGLEVEL, 67, 18, 20, 35, WC_SPINBUTTON, 53 SPBS_NUMERICONLY | SPBS_JUSTRIGHT | SPBS_MASTER | WS_GROUP | WS_TABSTOP | 54 WS_VISIBLE 55 56 LTEXT "EA Support", LBL_EASUPPORT, 121, 20, 50, 10, 57 DT_BOTTOM 58 CONTROL "", CHK_EASUPPORT, 110, 20, 10, 10, WC_BUTTON, 59 BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP | 60 WS_VISIBLE 61 41 AUTOCHECKBOX "", CHK_EASUPPORT, 97, 20, 10, 10, WS_GROUP 62 42 PUSHBUTTON "Cancel", DID_CANCEL, 2, 2, 40, 14 63 43 PUSHBUTTON "<<Previous", BTN_PREV, 49, 2, 59, 14 64 44 DEFPUSHBUTTON "Done", DID_OK, 113, 2, 40, 14 65 45 PUSHBUTTON "Help", BTN_HELP, 158, 2, 40, 14, BS_HELP 46 LTEXT "KRB5 Support", LBL_KRB5SUPPORT, 164, 19, 32, 10, 47 DT_BOTTOM 48 AUTOCHECKBOX "", CHK_KRB5SUPPORT, 152, 19, 10, 10, WS_GROUP 66 49 END 67 50 END -
branches/samba-3.0/source/ndpsmb/rc/rc.h
r5 r107 24 24 #define LBL_EASUPPORT 1021 25 25 #define CHK_EASUPPORT 1022 26 #define CHK_KRB5SUPPORT 1023 27 #define LBL_KRB5SUPPORT 1024 -
branches/samba-3.0/source/ndpsmb/rc/rc.rc
r9 r107 142 142 "1" 143 143 } 144 145 RCDATA (DLG_ID + 11) 146 { 147 CHK_KRB5SUPPORT, PARMTYPE_INT, 0L, 1L, "krb5support", "%d", 1L, 148 "0", 149 "1" 150 } 144 151 145 RCDATA (DLG_ID + 1 1)152 RCDATA (DLG_ID + 12) 146 153 { 147 154 0 -
branches/samba-3.0/source/ndpsmb/smbcd.c
r75 r107 15 15 16 16 int debuglevel = 0; 17 int krb5support = 0; 17 18 HMTX logmutex = 0; 18 19 char *logfile = NULL; … … 306 307 data = req->param + req->paramlen; 307 308 // memset(res, 0, sizeof(*res)); 309 308 310 debuglocal(1,"Client request %d paramlen %d len %d, reconnect %d. State %08x\n", req->request, req->paramlen, req->length, *reconnect, cli); 309 311 if (*reconnect == 2) 310 312 { 311 313 debuglocal(1,"Reconnecting to last server requested\n"); 312 res->rc = smbwrp_connect(srv, _cli );314 res->rc = smbwrp_connect(srv, _cli, krb5support); 313 315 if (res->rc) 314 316 { … … 343 345 break; 344 346 } 345 res->rc = smbwrp_connect((smbwrp_server *)req->param, _cli );347 res->rc = smbwrp_connect((smbwrp_server *)req->param, _cli, krb5support); 346 348 if (!res->rc) 347 349 { … … 739 741 void help(void) 740 742 { 741 printf("Usage: smbcd [-d/--debug <debuglevel>] [-q/--quiet] [-l/--logfile <logfile>] \n");743 printf("Usage: smbcd [-d/--debug <debuglevel>] [-q/--quiet] [-l/--logfile <logfile>] [-k/--kerberos]\n"); 742 744 } 743 745 … … 756 758 printf( "Daemon priority set to PRTYC_FOREGROUNDSERVER\n"); 757 759 #endif 758 760 debuglocal(0,"Entering main()\n"); 759 761 for (argc--, argv++; argc > 0; argc--, argv++) 760 762 { … … 807 809 quiet = 1; 808 810 } else 811 if (strcmp(argv[0], "-k") == 0 || strcmp(argv[0], "--kerberos") == 0) 812 { 813 krb5support = 1; 814 } else 809 815 { 810 816 printf("Unknown parameter <%s>\n", argv[0]); -
branches/samba-3.0/source/ndpsmb/smbwrp.c
r75 r107 373 373 return a connection to a server 374 374 *******************************************************/ 375 int _System smbwrp_connect(smbwrp_server * srv, struct cli_state ** cli )375 int _System smbwrp_connect(smbwrp_server * srv, struct cli_state ** cli, int krb5support) 376 376 { 377 377 char * server = srv->server_name; … … 434 434 return 3; 435 435 } 436 437 if (krb5support == 1){ 438 debuglocal(1,"Kerberos support enabled\n"); 439 c->use_kerberos = True;} 440 436 441 if (!cli_session_request(c, &calling, &called)) { 437 442 cli_shutdown(c); -
branches/samba-3.0/source/ndpsmb/smbwrp.h
r75 r107 121 121 int _System smbwrp_getclisize(void); 122 122 int _System smbwrp_init(void); 123 int _System smbwrp_connect(smbwrp_server * srv, cli_state ** c );123 int _System smbwrp_connect(smbwrp_server * srv, cli_state ** c, int krb5support); 124 124 void _System smbwrp_disconnect(cli_state ** cli); 125 125 int _System smbwrp_open(cli_state * cli, smbwrp_file * file);
Note:
See TracChangeset
for help on using the changeset viewer.