According to the man page
"The masks specified to the mget and mput commands act as filters for
directories rather than files when recursion is toggled ON.
The mask specified with the mask command is necessary to filter files within
those directories. For example, if the mask specified in an mget command
is "source*" and the mask specified with the mask command is "*.c" and
recursion is toggled ON, the mget command will retrieve all files
matching "*.c" in all directories below and including all directories
matching "source*" in the current working directory.
However, looks like mask command is not filtering the files:
$ /opt/datareturn/samba/bin/smbclient -V
$ cd /tmp
$ ls -lR tst*
-rw-r--r-- 1 ruslan other 29 Apr 6 16:57 1.gz
-rw-r--r-- 1 ruslan other 29 Apr 6 16:57 1.zg
-rw-r--r-- 1 ruslan other 29 Apr 6 16:57 2.gz
-rw-r--r-- 1 ruslan other 29 Apr 6 16:58 2.zg
$ /opt/datareturn/samba/bin/smbclient '//220.127.116.11/test' -U ruslan%password
Domain=[GONDOR] OS=[Windows 5.0] Server=[Windows 2000 LAN Manager]
smb: \> recurse on
smb: \> mask *gz
smb: \> mput tst*
Put directory tst2? y
Put file tst2/2.zg? n
Put file tst2/2.gz? n
Put directory tst1? y
Put file tst1/1.zg? n
Put file tst1/1.gz? n
smb: \> quit
As you can see, mput picks up not only *gz files, but *zg also. I've tried the
same commands on RedHat Linux running 2.2.7 and got the same problems.
please reopen if the bug still exists in a current release.