Ignore:
Timestamp:
Nov 27, 2012, 4:43:17 PM (13 years ago)
Author:
Silvan Scherrer
Message:

Samba Server: updated trunk to 3.6.0

Location:
trunk/server
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/server

  • trunk/server/source3/torture/masktest.c

    r414 r745  
    1919
    2020#include "includes.h"
     21#include "system/filesys.h"
     22#include "trans2.h"
     23#include "libsmb/libsmb.h"
     24#include "libsmb/nmblib.h"
    2125
    2226static fstring password;
     
    3539extern char *optarg;
    3640extern int optind;
    37 extern bool AllowDebugChange;
    3841
    3942/* a test fn for LANMAN mask support */
     
    228231        }
    229232
    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)));
    235239                return NULL;
    236240        }
     
    264268
    265269static 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
     271struct rn_state {
     272        char **pp_long_name;
     273        char *short_name;
     274};
     275
     276static 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;
    270280        if (strcmp(f->name,".") == 0) {
    271281                resultp[0] = '+';
     
    275285                resultp[2] = '+';
    276286        }
    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;
    278304}
    279305
     
    281307                          char **pp_long_name, fstring short_name)
    282308{
     309        struct rn_state state;
     310
     311        state.pp_long_name = pp_long_name;
     312        state.short_name = short_name;
     313
    283314        *pp_long_name = NULL;
    284315        /* nasty hack to force level 260 listings - tridge */
    285         cli->capabilities |= CAP_NT_SMBS;
    286316        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);
    288320        } 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);
    299324        }
    300325
     
    331356        resultp = res1;
    332357        fstrcpy(short_name, "");
    333         f_info = NULL;
    334358        get_real_name(cli, &long_name, short_name);
    335359        if (!long_name) {
    336360                return;
    337361        }
    338         f_info = NULL;
    339362        fstrcpy(res1, "---");
    340         cli_list(cli, mask, aHIDDEN | aDIR, listfn, NULL);
     363        cli_list(cli, mask, FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_DIRECTORY, listfn, NULL);
    341364
    342365        res2 = reg_test(cli, mask, long_name, short_name);
     
    350373        }
    351374
    352         cli_unlink(cli, file, aSYSTEM | aHIDDEN);
     375        cli_unlink(cli, file, FILE_ATTRIBUTE_SYSTEM | FILE_ATTRIBUTE_HIDDEN);
    353376
    354377        if (count % 100 == 0) DEBUG(0,("%d\n", count));
     
    367390        cli_mkdir(cli, "\\masktest");
    368391
    369         cli_unlink(cli, "\\masktest\\*", aSYSTEM | aHIDDEN);
     392        cli_unlink(cli, "\\masktest\\*", FILE_ATTRIBUTE_SYSTEM | FILE_ATTRIBUTE_HIDDEN);
    370393
    371394        if (argc >= 2) {
     
    466489        setlinebuf(stdout);
    467490
    468         dbf = x_stderr;
    469 
    470         DEBUGLEVEL = 0;
    471         AllowDebugChange = False;
     491        lp_set_cmdline("log level", "0");
    472492
    473493        if (argc < 2 || argv[1][0] == '-') {
     
    480500        all_string_sub(share,"/","\\",0);
    481501
    482         setup_logging(argv[0],True);
     502        setup_logging(argv[0], DEBUG_STDERR);
    483503
    484504        argc -= 1;
    485505        argv += 1;
    486506
     507        load_case_tables();
    487508        lp_load(get_dyn_CONFIGFILE(),True,False,False,True);
    488509        load_interfaces();
     
    500521                        break;
    501522                case 'd':
    502                         DEBUGLEVEL = atoi(optarg);
     523                        lp_set_cmdline("log level", optarg);
    503524                        break;
    504525                case 'E':
Note: See TracChangeset for help on using the changeset viewer.