Changeset 745 for trunk/server/source3/torture/masktest.c
- Timestamp:
- Nov 27, 2012, 4:43:17 PM (13 years ago)
- Location:
- trunk/server
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/server
- Property svn:mergeinfo changed
/vendor/current merged: 581,587,591,594,597,600,615,618,740
- Property svn:mergeinfo changed
-
trunk/server/source3/torture/masktest.c
r414 r745 19 19 20 20 #include "includes.h" 21 #include "system/filesys.h" 22 #include "trans2.h" 23 #include "libsmb/libsmb.h" 24 #include "libsmb/nmblib.h" 21 25 22 26 static fstring password; … … 35 39 extern char *optarg; 36 40 extern int optind; 37 extern bool AllowDebugChange;38 41 39 42 /* a test fn for LANMAN mask support */ … … 228 231 } 229 232 230 if (!NT_STATUS_IS_OK(cli_session_setup(c, username, 231 password, strlen(password), 232 password, strlen(password), 233 lp_workgroup()))) { 234 DEBUG(0,("session setup failed: %s\n", cli_errstr(c))); 233 status = cli_session_setup(c, username, 234 password, strlen(password), 235 password, strlen(password), 236 lp_workgroup()); 237 if (!NT_STATUS_IS_OK(status)) { 238 DEBUG(0, ("session setup failed: %s\n", nt_errstr(status))); 235 239 return NULL; 236 240 } … … 264 268 265 269 static char *resultp; 266 static file_info *f_info; 267 268 static void listfn(const char *mnt, file_info *f, const char *s, void *state) 269 { 270 271 struct rn_state { 272 char **pp_long_name; 273 char *short_name; 274 }; 275 276 static NTSTATUS listfn(const char *mnt, struct file_info *f, const char *s, 277 void *private_data) 278 { 279 struct rn_state *state = (struct rn_state *)private_data; 270 280 if (strcmp(f->name,".") == 0) { 271 281 resultp[0] = '+'; … … 275 285 resultp[2] = '+'; 276 286 } 277 f_info = f; 287 288 if (state == NULL) { 289 return NT_STATUS_INTERNAL_ERROR; 290 } 291 292 if (ISDOT(f->name) || ISDOTDOT(f->name)) { 293 return NT_STATUS_OK; 294 } 295 296 fstrcpy(state->short_name, f->short_name); 297 strlower_m(state->short_name); 298 *state->pp_long_name = SMB_STRDUP(f->name); 299 if (!*state->pp_long_name) { 300 return NT_STATUS_NO_MEMORY; 301 } 302 strlower_m(*state->pp_long_name); 303 return NT_STATUS_OK; 278 304 } 279 305 … … 281 307 char **pp_long_name, fstring short_name) 282 308 { 309 struct rn_state state; 310 311 state.pp_long_name = pp_long_name; 312 state.short_name = short_name; 313 283 314 *pp_long_name = NULL; 284 315 /* nasty hack to force level 260 listings - tridge */ 285 cli->capabilities |= CAP_NT_SMBS;286 316 if (max_protocol <= PROTOCOL_LANMAN1) { 287 cli_list_new(cli, "\\masktest\\*.*", aHIDDEN | aDIR, listfn, NULL); 317 cli_list_trans(cli, "\\masktest\\*.*", FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_DIRECTORY, 318 SMB_FIND_FILE_BOTH_DIRECTORY_INFO, listfn, 319 &state); 288 320 } else { 289 cli_list_new(cli, "\\masktest\\*", aHIDDEN | aDIR, listfn, NULL); 290 } 291 if (f_info) { 292 fstrcpy(short_name, f_info->short_name); 293 strlower_m(short_name); 294 *pp_long_name = SMB_STRDUP(f_info->name); 295 if (!*pp_long_name) { 296 return; 297 } 298 strlower_m(*pp_long_name); 321 cli_list_trans(cli, "\\masktest\\*", FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_DIRECTORY, 322 SMB_FIND_FILE_BOTH_DIRECTORY_INFO, 323 listfn, &state); 299 324 } 300 325 … … 331 356 resultp = res1; 332 357 fstrcpy(short_name, ""); 333 f_info = NULL;334 358 get_real_name(cli, &long_name, short_name); 335 359 if (!long_name) { 336 360 return; 337 361 } 338 f_info = NULL;339 362 fstrcpy(res1, "---"); 340 cli_list(cli, mask, aHIDDEN | aDIR, listfn, NULL);363 cli_list(cli, mask, FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_DIRECTORY, listfn, NULL); 341 364 342 365 res2 = reg_test(cli, mask, long_name, short_name); … … 350 373 } 351 374 352 cli_unlink(cli, file, aSYSTEM | aHIDDEN);375 cli_unlink(cli, file, FILE_ATTRIBUTE_SYSTEM | FILE_ATTRIBUTE_HIDDEN); 353 376 354 377 if (count % 100 == 0) DEBUG(0,("%d\n", count)); … … 367 390 cli_mkdir(cli, "\\masktest"); 368 391 369 cli_unlink(cli, "\\masktest\\*", aSYSTEM | aHIDDEN);392 cli_unlink(cli, "\\masktest\\*", FILE_ATTRIBUTE_SYSTEM | FILE_ATTRIBUTE_HIDDEN); 370 393 371 394 if (argc >= 2) { … … 466 489 setlinebuf(stdout); 467 490 468 dbf = x_stderr; 469 470 DEBUGLEVEL = 0; 471 AllowDebugChange = False; 491 lp_set_cmdline("log level", "0"); 472 492 473 493 if (argc < 2 || argv[1][0] == '-') { … … 480 500 all_string_sub(share,"/","\\",0); 481 501 482 setup_logging(argv[0], True);502 setup_logging(argv[0], DEBUG_STDERR); 483 503 484 504 argc -= 1; 485 505 argv += 1; 486 506 507 load_case_tables(); 487 508 lp_load(get_dyn_CONFIGFILE(),True,False,False,True); 488 509 load_interfaces(); … … 500 521 break; 501 522 case 'd': 502 DEBUGLEVEL = atoi(optarg);523 lp_set_cmdline("log level", optarg); 503 524 break; 504 525 case 'E':
Note:
See TracChangeset
for help on using the changeset viewer.