diff options
Diffstat (limited to 'source3/smbd/trans2.c')
-rw-r--r-- | source3/smbd/trans2.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c index 98f4de2bf9..978afa6d74 100644 --- a/source3/smbd/trans2.c +++ b/source3/smbd/trans2.c @@ -2390,7 +2390,8 @@ cBytesSector=%u, cUnitTotal=%u, cUnitAvail=%d\n", (unsigned int)bsize, (unsigned data_len = 12; SSVAL(pdata,0,CIFS_UNIX_MAJOR_VERSION); SSVAL(pdata,2,CIFS_UNIX_MINOR_VERSION); - SBIG_UINT(pdata,4,((SMB_BIG_UINT)CIFS_UNIX_POSIX_ACLS_CAP)); /* We have POSIX ACLs. */ + SBIG_UINT(pdata,4,((SMB_BIG_UINT)(CIFS_UNIX_POSIX_ACLS_CAP| + CIFS_UNIX_POSIX_PATHNAMES_CAP))); /* We have POSIX ACLs and pathname capability. */ break; case SMB_MAC_QUERY_FS_INFO: @@ -2461,13 +2462,16 @@ static int call_trans2setfsinfo(connection_struct *conn, char *inbuf, char *outb client_unix_cap_low = IVAL(pdata,4); client_unix_cap_high = IVAL(pdata,8); /* Just print these values for now. */ - DEBUG(10,("call_trans2setfsinfo: set unix info. major = %u, minor = %u\ + DEBUG(10,("call_trans2setfsinfo: set unix info. major = %u, minor = %u \ cap_low = 0x%x, cap_high = 0x%x\n", (unsigned int)client_unix_major, (unsigned int)client_unix_minor, (unsigned int)client_unix_cap_low, (unsigned int)client_unix_cap_high )); + /* Here is where we must switch to posix pathname processing... */ + lp_set_posix_pathnames(); + mangle_change_to_posix(); break; } case SMB_FS_QUOTA_INFORMATION: |