Dmitry Timoshkov : adsldp: Map 1.3.6.1.4.1.1466.115.121.1.7 to ADSTYPE_BOOLEAN.

Alexandre Julliard julliard at winehq.org
Mon Mar 30 16:24:27 CDT 2020


Module: wine
Branch: master
Commit: 7f988091733286ffd9af3f0906a21f144f7bc885
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=7f988091733286ffd9af3f0906a21f144f7bc885

Author: Dmitry Timoshkov <dmitry at baikal.ru>
Date:   Mon Mar 30 15:58:01 2020 +0800

adsldp: Map 1.3.6.1.4.1.1466.115.121.1.7 to ADSTYPE_BOOLEAN.

Signed-off-by: Dmitry Timoshkov <dmitry at baikal.ru>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/adsldp/adsldp.c | 13 +++++++++++++
 dlls/adsldp/schema.c |  2 ++
 2 files changed, 15 insertions(+)

diff --git a/dlls/adsldp/adsldp.c b/dlls/adsldp/adsldp.c
index e27e641eb0..8fe7bfd18c 100644
--- a/dlls/adsldp/adsldp.c
+++ b/dlls/adsldp/adsldp.c
@@ -1349,6 +1349,19 @@ static HRESULT add_column_values(LDAP_namespace *ldap, ADS_SEARCH_COLUMN *col,
             break;
         }
 
+        case ADSTYPE_BOOLEAN:
+            if (stricmp(values[i]->bv_val, "TRUE"))
+                col->pADsValues[i].u.Boolean = 1;
+            else if (stricmp(values[i]->bv_val, "FALSE"))
+                col->pADsValues[i].u.Boolean = 0;
+            else
+            {
+                FIXME("not recognized boolean value %s\n", debugstr_an(values[i]->bv_val, values[i]->bv_len));
+                col->pADsValues[i].u.Boolean = 0;
+            }
+            TRACE("=> %d\n", col->pADsValues[i].u.Boolean);
+            break;
+
         case ADSTYPE_INTEGER:
             col->pADsValues[i].u.Integer = strtol(values[i]->bv_val, NULL, 10);
             TRACE("%s => %d\n", debugstr_an(values[i]->bv_val, values[i]->bv_len), col->pADsValues[i].u.Integer);
diff --git a/dlls/adsldp/schema.c b/dlls/adsldp/schema.c
index 234a76dfa9..bff754be7a 100644
--- a/dlls/adsldp/schema.c
+++ b/dlls/adsldp/schema.c
@@ -58,6 +58,8 @@ ADSTYPEENUM get_schema_type(const WCHAR *name, const struct attribute_type *at,
     type = find_schema_type(name, at, at_count);
     if (!type || !type->syntax) return ADSTYPE_CASE_IGNORE_STRING;
 
+    if (!wcscmp(type->syntax, L"1.3.6.1.4.1.1466.115.121.1.7"))
+        return ADSTYPE_BOOLEAN;
     if (!wcscmp(type->syntax, L"1.3.6.1.4.1.1466.115.121.1.12"))
         return ADSTYPE_DN_STRING;
     if (!wcscmp(type->syntax, L"1.3.6.1.4.1.1466.115.121.1.15"))




More information about the wine-cvs mailing list