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; -}
