summaryrefslogtreecommitdiff
path: root/source3/smbd
diff options
context:
space:
mode:
authorJames Peach <jpeach@samba.org>2007-03-23 19:31:11 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:18:51 -0500
commitcc87cb7770198aa2aeac8253ff57fef8fe01f27d (patch)
tree8af9a7b710ac15b7627865cc991e7edb9ee285c5 /source3/smbd
parent16a029f7f34f9bb4f0ee71961ad3064e210db8e1 (diff)
downloadsamba-cc87cb7770198aa2aeac8253ff57fef8fe01f27d.tar.gz
samba-cc87cb7770198aa2aeac8253ff57fef8fe01f27d.tar.bz2
samba-cc87cb7770198aa2aeac8253ff57fef8fe01f27d.zip
r21950: After discussion with the Apple and Linux client maintainers,
changing the FindFirst response for the UNIX_INFO2 level to include a length field before the name. The name is not required to be null terminated. The length field does not count any null. Also add call to chflags(2) in the default VFS module so that this will work be default on BSD-derived platform. Add UNIX-INFO2 test to the build farm to get some non-BSD coverage. Jeremy and Jerry, please review for inclusion in 3.0.25. (This used to be commit e7b21b1ef3f79c0df2bae5f15c345ef74292c404)
Diffstat (limited to 'source3/smbd')
-rw-r--r--source3/smbd/trans2.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c
index 1c1606fd67..14dfbe0bbf 100644
--- a/source3/smbd/trans2.c
+++ b/source3/smbd/trans2.c
@@ -1601,13 +1601,17 @@ static BOOL get_lanman2_dir_entry(connection_struct *conn,
DEBUG(10,("get_lanman2_dir_entry: SMB_FIND_FILE_UNIX\n"));
p = store_file_unix_basic(conn, p,
NULL, &sbuf);
+ len = srvstr_push(outbuf, p, fname, -1, STR_TERMINATE);
} else {
DEBUG(10,("get_lanman2_dir_entry: SMB_FIND_FILE_UNIX_INFO2\n"));
p = store_file_unix_basic_info2(conn, p,
NULL, &sbuf);
+ nameptr = p;
+ p += 4;
+ len = srvstr_push(outbuf, p, fname, -1, 0);
+ SIVAL(nameptr, 0, len);
}
- len = srvstr_push(outbuf, p, fname, -1, STR_TERMINATE);
p += len;
SIVAL(p,0,0); /* Ensure any padding is null. */