From 99dd85abe9b96ee78421430f837c97703f09be0f Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Wed, 17 Nov 2004 15:56:47 +0000 Subject: r3811: Believe it or not, but this patch seems to be necessary. If someone sets a folder icon in the start menu and saves the profile on a samba server, after logging in again this setting is gone. Why is this? The folder for which the icon is set must have the read only flag set. If it is not set, the desktop.ini file (the file containing the icon reference) inside that folder is ignored. lp_profile_acls is a hack for such a situation, so overload this parameter with another profile-related hack. Volker (This used to be commit b8d888000eb7456c7620e9a783d6f1b3ba4c8985) --- source3/smbd/trans2.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c index 931b58f389..31a3961550 100644 --- a/source3/smbd/trans2.c +++ b/source3/smbd/trans2.c @@ -963,8 +963,13 @@ static BOOL get_lanman2_dir_entry(connection_struct *conn, adate &= ~1; } - if(mode & aDIR) + if(mode & aDIR) { + /* This is necessary, as otherwise the + * desktop.ini file in this folder is + * ignored */ + mode |= (lp_profile_acls(SNUM(conn)) ? 1 : 0); file_size = 0; + } DEBUG(5,("get_lanman2_dir_entry found %s fname=%s\n",pathreal,fname)); @@ -2507,8 +2512,12 @@ static int call_trans2qfilepathinfo(connection_struct *conn, char *inbuf, char * fullpathname = fname; file_size = get_file_size(sbuf); allocation_size = get_allocation_size(fsp,&sbuf); - if (mode & aDIR) + if (mode & aDIR) { + /* This is necessary, as otherwise the desktop.ini file in + * this folder is ignored */ + mode |= (lp_profile_acls(SNUM(conn)) ? 1 : 0); file_size = 0; + } params = Realloc(*pparams,2); if (params == NULL) -- cgit