r16548: Fix bug #3867 reported by jason@ncac.gwu.edu.
authorJeremy Allison <jra@samba.org>
Tue, 27 Jun 2006 01:03:58 +0000 (01:03 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 16:18:59 +0000 (11:18 -0500)
Jeremy.
(This used to be commit 2b8d72f09c6d79d5d41421545b538da573adcd9d)

source3/include/ads.h
source3/sam/nss_info.c

index 74a29e4f795a707d8fae72ada13c63d36aa1a3be..0ef84b48058d4825c9f6cd3b226fa0176666ee6a 100644 (file)
@@ -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,
index 3d0e658a358258257f0a8c48bcc457f71ac0738d..6d01916754e142ad5a7877836482a0aa482cecb7 100644 (file)
 #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 @@ enum wb_posix_mapping get_nss_info(const char *domain_name)
                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 get_nss_info(const char *domain_name)
                
                        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 @@ const char *wb_posix_map_str(enum wb_posix_mapping mtype)
        }
        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;
-}