Author: jra
Date: 2006-06-27 01:03:58 +0000 (Tue, 27 Jun 2006)
New Revision: 16548

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

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

Modified:
   branches/SAMBA_3_0/source/include/ads.h
   branches/SAMBA_3_0/source/sam/nss_info.c


Changeset:
Modified: branches/SAMBA_3_0/source/include/ads.h
===================================================================
--- branches/SAMBA_3_0/source/include/ads.h     2006-06-27 00:55:15 UTC (rev 
16547)
+++ branches/SAMBA_3_0/source/include/ads.h     2006-06-27 01:03:58 UTC (rev 
16548)
@@ -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: branches/SAMBA_3_0/source/sam/nss_info.c
===================================================================
--- branches/SAMBA_3_0/source/sam/nss_info.c    2006-06-27 00:55:15 UTC (rev 
16547)
+++ branches/SAMBA_3_0/source/sam/nss_info.c    2006-06-27 01:03:58 UTC (rev 
16548)
@@ -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