+	if (strcmp(strerror(errno),"Is a directory") == 0) {
+	    fd = conn->vfs_ops.opendir(conn,dos_to_unix_static(fname));
+	}
This needs some serious flamage...  Why can't you just use the errno
directly?
Because I couldn't find it :( The closest I could come was #21 (listed in asm/errno.h), but I couldn't confirm it - whenever I tried to access the errno variable (by logging it) smbd would segfault :( My C is a bit (OK, a lot) rusty...


	if ((file_ace_list == NULL) && (dir_ace_list == NULL)) {
+		/* if we're here we're probably trying to chown a directory
+		   (fails normally) - [EMAIL PROTECTED] */
+		fstrcpy(fullpath, conn->connectpath);
+		fstrcat(fullpath, "/");
+		fstrcat(fullpath, fsp->fsp_name);
+		become_root();
What are you doing to ensure that only your admin users can do this?
At present, relying on the W2k client to only show them the dialog if they have access (probably a wrong assumption anyway).

[ducks]

I know, you don't have to say it... but you know doubt know the Samba internals a lot better than me, so if you want to add in checks (indeed, rewrite the whole patch) you're more than welcome. :/

--
ANDREW FUREY <[EMAIL PROTECTED]> - Sysadmin/developer for Terminus.
Providing online networks of Australian lawyers (http://www.ilaw.com.au)
and Linux experts (http://www.linuxconsultants.com.au) for instant help!
Disclaimer: http://www.terminus.net.au/disclaimer.html. GCS L+++ P++ t++



Reply via email to