diff options
author | Jeremy Allison <jra@samba.org> | 2005-03-10 02:00:24 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 10:55:57 -0500 |
commit | 4a62d418d9dbed3838dda871e4ead052fbe2bf0c (patch) | |
tree | af3cf9c5468e97f89a3c0e177a35fa605f00c9de | |
parent | eb546db88d9d4ad8da3709b2edc4d455a88e6119 (diff) | |
download | samba-4a62d418d9dbed3838dda871e4ead052fbe2bf0c.tar.gz samba-4a62d418d9dbed3838dda871e4ead052fbe2bf0c.tar.bz2 samba-4a62d418d9dbed3838dda871e4ead052fbe2bf0c.zip |
r5723: Add missing part of fix for #2271. After analysing the actions of a XP
client against a Samba server. It never uses the "continue" flag, but always
does "new search, continue from this file" instead. Change our client code
to do the same (it appears that's all they test in W2K etc.).
Jeremy.
(This used to be commit 710bceee325005b8ca8e8ed04acc50bafa92b6e6)
-rw-r--r-- | source3/libsmb/clilist.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/source3/libsmb/clilist.c b/source3/libsmb/clilist.c index d60739cf7c..dcac17d24a 100644 --- a/source3/libsmb/clilist.c +++ b/source3/libsmb/clilist.c @@ -191,7 +191,7 @@ int cli_list_new(struct cli_state *cli,const char *Mask,uint16 attribute, setup = TRANSACT2_FINDFIRST; SSVAL(param,0,attribute); /* attribute */ SSVAL(param,2,max_matches); /* max count */ - SSVAL(param,4,4+2); /* resume required + close on end */ + SSVAL(param,4,(FLAG_TRANS2_FIND_REQUIRE_RESUME|FLAG_TRANS2_FIND_CLOSE_IF_END)); /* resume required + close on end */ SSVAL(param,6,info_level); SIVAL(param,8,0); p = param+12; @@ -203,7 +203,9 @@ int cli_list_new(struct cli_state *cli,const char *Mask,uint16 attribute, SSVAL(param,2,max_matches); /* max count */ SSVAL(param,4,info_level); SIVAL(param,6,0); /* ff_resume_key */ - SSVAL(param,10,8+4+2); /* continue + resume required + close on end */ + /* NB. *DON'T* use continue here. If you do it seems that W2K and bretheren + can miss filenames. Use last filename continue instead. JRA */ + SSVAL(param,4,(FLAG_TRANS2_FIND_REQUIRE_RESUME|FLAG_TRANS2_FIND_CLOSE_IF_END)); /* resume required + close on end */ p = param+12; p += clistr_push(cli, param+12, mask, sizeof(param)-12, STR_TERMINATE); |