Author: jra
Date: 2006-06-27 01:04:05 +0000 (Tue, 27 Jun 2006)
New Revision: 16549

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

Log:
Fix bug #3867 reported by [EMAIL PROTECTED]
Jeremy.

Modified:
   trunk/source/include/ads.h
   trunk/source/sam/nss_info.c


Changeset:
Modified: trunk/source/include/ads.h
===================================================================
--- trunk/source/include/ads.h  2006-06-27 01:03:58 UTC (rev 16548)
+++ trunk/source/include/ads.h  2006-06-27 01:04:05 UTC (rev 16549)
@@ -5,6 +5,7 @@
 */
 
 enum wb_posix_mapping {
+       WB_POSIX_MAP_UNKNOWN    = -1,
        WB_POSIX_MAP_TEMPLATE   = 0, 
        WB_POSIX_MAP_SFU        = 1, 
        WB_POSIX_MAP_RFC2307    = 2,

Modified: trunk/source/sam/nss_info.c
===================================================================
--- trunk/source/sam/nss_info.c 2006-06-27 01:03:58 UTC (rev 16548)
+++ trunk/source/sam/nss_info.c 2006-06-27 01:04:05 UTC (rev 16549)
@@ -22,6 +22,20 @@
 #undef DBGC_CLASS
 #define DBGC_CLASS DBGC_IDMAP
 
+static enum wb_posix_mapping wb_posix_map_type(const char *map_str)
+{
+       if (strequal(map_str, "template")) 
+               return WB_POSIX_MAP_TEMPLATE;
+       else if (strequal(map_str, "sfu"))
+               return WB_POSIX_MAP_SFU;
+       else if (strequal(map_str, "rfc2307"))
+               return WB_POSIX_MAP_RFC2307;
+       else if (strequal(map_str, "unixinfo"))
+               return WB_POSIX_MAP_UNIXINFO;
+       
+       return WB_POSIX_MAP_UNKNOWN;
+}
+
 /* winbind nss info = rfc2307 SO36:sfu FHAIN:rfc2307 PANKOW:template
  *
  * syntax is:
@@ -43,7 +57,7 @@
                return WB_POSIX_MAP_TEMPLATE;
        }
 
-       if ((map_templ = wb_posix_map_type(list[0])) == -1) {
+       if ((map_templ = wb_posix_map_type(list[0])) == WB_POSIX_MAP_UNKNOWN) {
                DEBUG(0,("get_nss_info: invalid setting: %s\n", list[0]));
                return WB_POSIX_MAP_TEMPLATE;
        }
@@ -64,7 +78,7 @@
                
                        enum wb_posix_mapping type;
                        
-                       if ((type = wb_posix_map_type(p)) == -1) {
+                       if ((type = wb_posix_map_type(p)) == 
WB_POSIX_MAP_UNKNOWN) {
                                DEBUG(0,("get_nss_info: invalid setting: %s\n", 
p));
                                /* return WB_POSIX_MAP_TEMPLATE; */
                                continue;
@@ -95,17 +109,3 @@
        }
        return NULL;
 }
-
-enum wb_posix_mapping wb_posix_map_type(const char *map_str)
-{
-       if (strequal(map_str, "template")) 
-               return WB_POSIX_MAP_TEMPLATE;
-       else if (strequal(map_str, "sfu"))
-               return WB_POSIX_MAP_SFU;
-       else if (strequal(map_str, "rfc2307"))
-               return WB_POSIX_MAP_RFC2307;
-       else if (strequal(map_str, "unixinfo"))
-               return WB_POSIX_MAP_UNIXINFO;
-       
-       return -1;
-}

Reply via email to