Changeset 110
- Timestamp:
- Jan 21, 2008, 9:55:43 AM (18 years ago)
- Location:
- branches/samba-3.0/source/ndpsmb
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/samba-3.0/source/ndpsmb/ndpsmb.c
r107 r110 156 156 { ND_PROP_ULONG, 0, "LOGLEVEL", "0"}, 157 157 { ND_PROP_ULONG, 0, "EASUPPORT", "1"}, 158 { ND_PROP_ULONG, 0, "KRB5SUPPORT", "1"},159 158 {ND_PROP_STRING, 0, NULL, NULL} 160 159 }; … … 209 208 char loglevel; 210 209 int easupport; 211 int krb5support;212 210 } Resource; 213 211 … … 246 244 sd.FgBg = SSF_FGBG_BACK; 247 245 sd.PgmName = EXECNAME; 248 if (pRes->krb5support)249 {250 StrNCat(params, " -k ", sizeof(params) - 1);251 }252 246 if (pRes->loglevel) 253 247 { … … 263 257 StrNCat(params, pRes->logfile, sizeof(params) - 1); 264 258 } 265 266 259 log("params <%s>\n", params); 267 260 sd.PgmInputs = *params ? params : NULL; … … 274 267 char failed[CCHMAXPATH + 1] = {0}; 275 268 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); 281 294 log("smbcd DosExecPgm codeTerminate %d codeResult %d rc %d\n", res.codeTerminate, res.codeResult, rc); 282 295 } 283 if (!rc) 296 if (!rc) 284 297 { 285 298 DosSleep(500); … … 379 392 pRes->loglevel = 0; 380 393 pRes->easupport = 1; 381 pRes->krb5support = 0;382 394 383 395 t = 0, q = NULL; … … 484 496 { 485 497 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 else498 {499 pRes->krb5support = t;500 498 } 501 499 } … … 2019 2017 int APIENTRY NdpIOCTL (int type, HRESOURCE resource, char *path, int function, void *in, ULONG insize, PULONG poutlen) 2020 2018 { 2021 2019 log("NdpIOCTL <%s> %d %d\n", path, function, ERROR_NOT_SUPPORTED); 2022 2020 return ERROR_NOT_SUPPORTED; 2023 2021 } -
branches/samba-3.0/source/ndpsmb/rc/rc.dlg
r107 r110 9 9 FCF_TITLEBAR 10 10 BEGIN 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 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 14 16 ENTRYFIELD "", ENT_WORKGRP, 67, 118, 100, 8, ES_MARGIN 15 RTEXT "Server:", LBL_SERVER, 5, 105, 60, 10, DT_BOTTOM 17 18 RTEXT "Server:", LBL_SERVER, 5, 105, 60, 10, 19 DT_BOTTOM 16 20 ENTRYFIELD "", ENT_SERVER, 67, 106, 100, 8, ES_MARGIN 17 RTEXT "Share:", LBL_SHARE, 5, 93, 60, 10, DT_BOTTOM 21 22 RTEXT "Share:", LBL_SHARE, 5, 93, 60, 10, 23 DT_BOTTOM 18 24 ENTRYFIELD "", ENT_SHARE, 67, 94, 100, 8, ES_MARGIN 19 RTEXT "User:", LBL_USER, 5, 81, 60, 10, DT_BOTTOM 25 26 RTEXT "User:", LBL_USER, 5, 81, 60, 10, 27 DT_BOTTOM 20 28 ENTRYFIELD "", ENT_USER, 67, 82, 100, 8, ES_MARGIN 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 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 25 36 CONTROL "", CMB_MASTER, 37, 35, 50, 33, WC_COMBOBOX, 26 37 CBS_DROPDOWNLIST | WS_GROUP | WS_TABSTOP | … … 32 43 CBS_DROPDOWNLIST | WS_GROUP | WS_TABSTOP | 33 44 WS_VISIBLE 34 RTEXT "Logfile:", LBL_LOGFILE, 5, 33, 60, 10, DT_BOTTOM 45 46 RTEXT "Logfile:", LBL_LOGFILE, 5, 33, 60, 10, 47 DT_BOTTOM 35 48 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, 49 50 RTEXT "Loglevel:", LBL_LOGLEVEL, 5, 21, 60, 10, 40 51 DT_BOTTOM 41 AUTOCHECKBOX "", CHK_EASUPPORT, 97, 20, 10, 10, WS_GROUP 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 42 62 PUSHBUTTON "Cancel", DID_CANCEL, 2, 2, 40, 14 43 63 PUSHBUTTON "<<Previous", BTN_PREV, 49, 2, 59, 14 44 64 DEFPUSHBUTTON "Done", DID_OK, 113, 2, 40, 14 45 65 PUSHBUTTON "Help", BTN_HELP, 158, 2, 40, 14, BS_HELP 46 LTEXT "KRB5 Support", LBL_KRB5SUPPORT, 164, 19, 32, 10,47 DT_BOTTOM48 AUTOCHECKBOX "", CHK_KRB5SUPPORT, 152, 19, 10, 10, WS_GROUP49 66 END 50 67 END -
branches/samba-3.0/source/ndpsmb/rc/rc.h
r107 r110 24 24 #define LBL_EASUPPORT 1021 25 25 #define CHK_EASUPPORT 1022 26 #define CHK_KRB5SUPPORT 102327 #define LBL_KRB5SUPPORT 1024 -
branches/samba-3.0/source/ndpsmb/rc/rc.rc
r107 r110 142 142 "1" 143 143 } 144 144 145 145 RCDATA (DLG_ID + 11) 146 {147 CHK_KRB5SUPPORT, PARMTYPE_INT, 0L, 1L, "krb5support", "%d", 1L,148 "0",149 "1"150 }151 152 RCDATA (DLG_ID + 12)153 146 { 154 147 0 -
branches/samba-3.0/source/ndpsmb/smbcd.c
r107 r110 11 11 #include "smbwrp.h" 12 12 #include "smbcd.h" 13 #include "config.h" 13 14 14 15 #define SMBCD_MAX_THREADS 250 … … 741 742 void help(void) 742 743 { 743 printf("Usage: smbcd [-d/--debug <debuglevel>] [-q/--quiet] [-l/--logfile <logfile>] [-k/--kerberos]\n");744 printf("Usage: smbcd [-d/--debug <debuglevel>] [-q/--quiet] [-l/--logfile <logfile>]\n"); 744 745 } 745 746 … … 809 810 quiet = 1; 810 811 } else 811 if (strcmp(argv[0], "-k") == 0 || strcmp(argv[0], "--kerberos") == 0)812 {813 krb5support = 1;814 } else815 812 { 816 813 printf("Unknown parameter <%s>\n", argv[0]); … … 819 816 } 820 817 } 818 #ifdef HAVE_KRB5_H 819 krb5support = 1; 820 #else 821 krb5support = 0; 822 #endif 821 823 if (rc) 822 824 { -
branches/samba-3.0/source/ndpsmb/smbwrp.c
r107 r110 1027 1027 if (!finfo) finfo = &finfo1; 1028 1028 1029 // memcpy(finfo,&def_finfo,sizeof(*finfo));1030 1029 finfo->attr = def_finfo.mode; 1031 1030 finfo->mtime = def_finfo.mtime_ts.tv_sec; … … 1162 1161 smbwrp_fileinfo finfo; 1163 1162 int i; 1164 char * tdl, *dirlist = NULL;1163 char *dirlist = NULL; 1165 1164 int dirlist_len = 0; 1166 1165 int total_received = -1; … … 1168 1167 int ff_searchcount=0; 1169 1168 int ff_eos=0; 1170 //int ff_lastname=0;1171 1169 int ff_dir_handle=0; 1172 1170 int loop_count = 0; … … 1181 1179 1182 1180 /* NT uses 260, OS/2 uses 2. Both accept 1. */ 1183 info_level = (cli->capabilities&CAP_NT_SMBS)?260:2; 1181 info_level = (cli->capabilities&CAP_NT_SMBS)?260:2; 1184 1182 1185 1183 debuglocal(4,"list_files level %d. mask <%s>\n", info_level, mask); … … 1204 1202 SSVAL(param,0,attribute); /* attribute */ 1205 1203 SSVAL(param,2,max_matches); /* max count */ 1206 //SSVAL(param,4,4+2); /* resume required + close on end */1207 1204 SSVAL(param,4,(FLAG_TRANS2_FIND_REQUIRE_RESUME|FLAG_TRANS2_FIND_CLOSE_IF_END)); /* resume required + close on end */ 1208 1205 SSVAL(param,6,info_level); … … 1215 1212 SSVAL(param,0,ff_dir_handle); 1216 1213 SSVAL(param,2,max_matches); /* max count */ 1217 //SIVAL(param,6,0); /* ff_resume_key */1218 1214 SSVAL(param,4,info_level); 1219 1215 /* For W2K servers serving out FAT filesystems we *must* set the … … 1223 1219 can miss filenames. Use last filename continue instead. JRA */ 1224 1220 SSVAL(param,10,(FLAG_TRANS2_FIND_REQUIRE_RESUME|FLAG_TRANS2_FIND_CLOSE_IF_END)); /* resume required + close on end */ 1225 //SSVAL(param,10,8+4+2); /* continue + resume required + close on end */1226 1221 p = param+12; 1227 //p += clistr_push(cli, param+12, mask, sizeof(param)-12,1228 // STR_TERMINATE);1229 1222 if (last_name_raw_len && (last_name_raw_len < (sizeof(param)-12))) { 1230 1223 memcpy(p, last_name_raw.data, last_name_raw_len); … … 1236 1229 1237 1230 param_len = PTR_DIFF(p, param); 1231 1238 1232 if (!cli_send_trans(cli, SMBtrans2, 1239 1233 NULL, /* Name */ … … 1271 1265 } 1272 1266 1273 1274 1267 if (cli_is_error(cli) || !rdata || !rparam) 1275 1268 { … … 1295 1288 ff_searchcount = SVAL(p,2); 1296 1289 ff_eos = SVAL(p,4); 1297 //ff_lastname = SVAL(p,8);1298 1290 } else { 1299 1291 ff_searchcount = SVAL(p,0); 1300 1292 ff_eos = SVAL(p,2); 1301 //ff_lastname = SVAL(p,6);1302 1293 } 1303 1294 debuglocal(4,"list_files %d %d %d %d\n", ff_searchcount, ff_eos, "(ff_lastname)", First);
Note:
See TracChangeset
for help on using the changeset viewer.