svn commit: samba r23845 - in branches: SAMBA_3_0_25/source/libsmb SAMBA_3_2/source/lib SAMBA_3_2_0/source/lib

jra at samba.org jra at samba.org
Wed Jul 11 23:40:16 GMT 2007


Author: jra
Date: 2007-07-11 23:40:14 +0000 (Wed, 11 Jul 2007)
New Revision: 23845

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=23845

Log:
Second part of the fix for #4777. Looks like on AIX opendir
returns an errno of ELOOP for a symlink of msdfs:server\path\to\link.
Cope with this by mapping to a known error NT_STATUS_OBJECT_PATH_NOT_FOUND
that we know dfs_path_lookup should ignore.
Jeremy.

Modified:
   branches/SAMBA_3_0_25/source/libsmb/errormap.c
   branches/SAMBA_3_2/source/lib/errmap_unix.c
   branches/SAMBA_3_2_0/source/lib/errmap_unix.c


Changeset:
Modified: branches/SAMBA_3_0_25/source/libsmb/errormap.c
===================================================================
--- branches/SAMBA_3_0_25/source/libsmb/errormap.c	2007-07-11 22:39:11 UTC (rev 23844)
+++ branches/SAMBA_3_0_25/source/libsmb/errormap.c	2007-07-11 23:40:14 UTC (rev 23845)
@@ -1521,6 +1521,9 @@
 	{ ENOMEM, ERRDOS, ERRnomem, NT_STATUS_NO_MEMORY },
 	{ EISDIR, ERRDOS, ERRnoaccess, NT_STATUS_FILE_IS_A_DIRECTORY},
 	{ EMLINK, ERRDOS, ERRgeneral, NT_STATUS_TOO_MANY_LINKS },
+#ifdef ELOOP
+	{ ELOOP, ERRDOS, ERRbadpath, NT_STATUS_OBJECT_PATH_NOT_FOUND },
+#endif
 #ifdef EDQUOT
 	{ EDQUOT, ERRHRD, ERRdiskfull, NT_STATUS_DISK_FULL }, /* Windows apps need this, not NT_STATUS_QUOTA_EXCEEDED */
 #endif

Modified: branches/SAMBA_3_2/source/lib/errmap_unix.c
===================================================================
--- branches/SAMBA_3_2/source/lib/errmap_unix.c	2007-07-11 22:39:11 UTC (rev 23844)
+++ branches/SAMBA_3_2/source/lib/errmap_unix.c	2007-07-11 23:40:14 UTC (rev 23845)
@@ -40,6 +40,9 @@
 	{ EISDIR, ERRDOS, ERRnoaccess, NT_STATUS_FILE_IS_A_DIRECTORY},
 	{ EMLINK, ERRDOS, ERRgeneral, NT_STATUS_TOO_MANY_LINKS },
 	{ EINTR,  ERRHRD, ERRgeneral, NT_STATUS_RETRY },
+#ifdef ELOOP
+	{ ELOOP, ERRDOS, ERRbadpath, NT_STATUS_OBJECT_PATH_NOT_FOUND },
+#endif
 #ifdef EDQUOT
 	{ EDQUOT, ERRHRD, ERRdiskfull, NT_STATUS_DISK_FULL }, /* Windows apps need this, not NT_STATUS_QUOTA_EXCEEDED */
 #endif

Modified: branches/SAMBA_3_2_0/source/lib/errmap_unix.c
===================================================================
--- branches/SAMBA_3_2_0/source/lib/errmap_unix.c	2007-07-11 22:39:11 UTC (rev 23844)
+++ branches/SAMBA_3_2_0/source/lib/errmap_unix.c	2007-07-11 23:40:14 UTC (rev 23845)
@@ -40,6 +40,9 @@
 	{ EISDIR, ERRDOS, ERRnoaccess, NT_STATUS_FILE_IS_A_DIRECTORY},
 	{ EMLINK, ERRDOS, ERRgeneral, NT_STATUS_TOO_MANY_LINKS },
 	{ EINTR,  ERRHRD, ERRgeneral, NT_STATUS_RETRY },
+#ifdef ELOOP
+	{ ELOOP, ERRDOS, ERRbadpath, NT_STATUS_OBJECT_PATH_NOT_FOUND },
+#endif
 #ifdef EDQUOT
 	{ EDQUOT, ERRHRD, ERRdiskfull, NT_STATUS_DISK_FULL }, /* Windows apps need this, not NT_STATUS_QUOTA_EXCEEDED */
 #endif



More information about the samba-cvs mailing list