]> granicus.if.org Git - curl/commitdiff
ldap: Fixed Unicode usage for all Win32 builds
authorSteve Holme <steve_holme@hotmail.com>
Sat, 3 Jan 2015 21:54:11 +0000 (21:54 +0000)
committerSteve Holme <steve_holme@hotmail.com>
Sun, 4 Jan 2015 22:19:30 +0000 (22:19 +0000)
Otherwise, the fixes in the previous commits would only be applicable
to IDN and SSPI based builds and not others such as OpenSSL with LDAP
enabled.

lib/curl_multibyte.c
lib/curl_multibyte.h
lib/ldap.c

index 6c02239eb005d2f16cc4a3363bf4e47d8301a9f1..6e657228c12b3223d07a4c8fa802d5c42ef28dd2 100644 (file)
@@ -5,7 +5,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -22,7 +22,8 @@
 
 #include "curl_setup.h"
 
-#if defined(USE_WIN32_IDN) || (defined(USE_WINDOWS_SSPI) && defined(UNICODE))
+#if defined(USE_WIN32_IDN) || ((defined(USE_WINDOWS_SSPI) || \
+                                defined(CURL_LDAP_WIN)) && defined(UNICODE))
 
  /*
   * MultiByte conversions using Windows kernel32 library.
@@ -79,4 +80,4 @@ char *Curl_convert_wchar_to_UTF8(const wchar_t *str_w)
   return str_utf8;
 }
 
-#endif /* USE_WIN32_IDN || (USE_WINDOWS_SSPI && UNICODE) */
+#endif /* USE_WIN32_IDN || ((USE_WINDOWS_SSPI || CURL_LDAP_WIN) && UNICODE) */
index 7ee5eae1262fa82a23a2011d74fb7722486315e1..c260de3864cbe8de6b234b320345eb8d25cd9e3c 100644 (file)
@@ -7,7 +7,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -23,7 +23,8 @@
  ***************************************************************************/
 #include "curl_setup.h"
 
-#if defined(USE_WIN32_IDN) || (defined(USE_WINDOWS_SSPI) && defined(UNICODE))
+#if defined(USE_WIN32_IDN) || ((defined(USE_WINDOWS_SSPI) || \
+                                defined(CURL_LDAP_WIN)) && defined(UNICODE))
 
  /*
   * MultiByte conversions using Windows kernel32 library.
 wchar_t *Curl_convert_UTF8_to_wchar(const char *str_utf8);
 char *Curl_convert_wchar_to_UTF8(const wchar_t *str_w);
 
-#endif /* USE_WIN32_IDN || (USE_WINDOWS_SSPI && UNICODE) */
+#endif /* USE_WIN32_IDN || ((USE_WINDOWS_SSPI || CURL_LDAP_WIN) && UNICODE) */
 
 
-#if defined(USE_WIN32_IDN) || defined(USE_WINDOWS_SSPI)
+#if defined(USE_WIN32_IDN) || defined(USE_WINDOWS_SSPI) || \
+    defined(CURL_LDAP_WIN) 
 
 /*
  * Macros Curl_convert_UTF8_to_tchar(), Curl_convert_tchar_to_UTF8()
@@ -85,6 +87,6 @@ typedef union {
 
 #endif /* UNICODE */
 
-#endif /* USE_WIN32_IDN || USE_WINDOWS_SSPI */
+#endif /* USE_WIN32_IDN || USE_WINDOWS_SSPI || CURL_LDAP_WIN */
 
 #endif /* HEADER_CURL_MULTIBYTE_H */
index cba06e6b29f61377741f6150c8693bcf5eec4eee..83cb4f13beca6419b32b05c25753d046225799f2 100644 (file)
@@ -81,8 +81,7 @@
 typedef struct {
   char   *lud_host;
   int     lud_port;
-#if defined(CURL_LDAP_WIN) && \
-    (defined(USE_WIN32_IDN) || defined(USE_WINDOWS_SSPI))
+#if defined(CURL_LDAP_WIN)
   TCHAR  *lud_dn;
   TCHAR **lud_attrs;
 #else
@@ -90,8 +89,7 @@ typedef struct {
   char  **lud_attrs;
 #endif
   int     lud_scope;
-#if defined(CURL_LDAP_WIN) && \
-    (defined(USE_WIN32_IDN) || defined(USE_WINDOWS_SSPI))
+#if defined(CURL_LDAP_WIN)
   TCHAR  *lud_filter;
 #else
   char   *lud_filter;
@@ -196,8 +194,7 @@ static CURLcode Curl_ldap(struct connectdata *conn, bool *done)
 #ifdef LDAP_OPT_NETWORK_TIMEOUT
   struct timeval ldap_timeout = {10,0}; /* 10 sec connection/search timeout */
 #endif
-#if defined(CURL_LDAP_WIN) && \
-    (defined(USE_WIN32_IDN) || defined(USE_WINDOWS_SSPI))
+#if defined(CURL_LDAP_WIN)
   TCHAR *host = NULL;
   TCHAR *user = NULL;
   TCHAR *passwd = NULL;
@@ -229,8 +226,7 @@ static CURLcode Curl_ldap(struct connectdata *conn, bool *done)
   infof(data, "LDAP local: trying to establish %s connection\n",
           ldap_ssl ? "encrypted" : "cleartext");
 
-#if defined(CURL_LDAP_WIN) && \
-    (defined(USE_WIN32_IDN) || defined(USE_WINDOWS_SSPI))
+#if defined(CURL_LDAP_WIN)
   host = Curl_convert_UTF8_to_tchar(conn->host.name);
   if(!host) {
     result = CURLE_OUT_OF_MEMORY;
@@ -425,8 +421,7 @@ static CURLcode Curl_ldap(struct connectdata *conn, bool *done)
       entryIterator;
       entryIterator = ldap_next_entry(server, entryIterator), num++) {
     BerElement *ber = NULL;
-#if defined(CURL_LDAP_WIN) && \
-    (defined(USE_WIN32_IDN) || defined(USE_WINDOWS_SSPI))
+#if defined(CURL_LDAP_WIN)
     TCHAR *attribute;
 #else
     char  *attribute;       /*! suspicious that this isn't 'const' */
@@ -435,8 +430,7 @@ static CURLcode Curl_ldap(struct connectdata *conn, bool *done)
 
     /* Get the DN and write it to the client */
     {
-#if defined(CURL_LDAP_WIN) && \
-    (defined(USE_WIN32_IDN) || defined(USE_WINDOWS_SSPI))
+#if defined(CURL_LDAP_WIN)
       TCHAR *dn = ldap_get_dn(server, entryIterator);
       size_t dn_len = _tcslen(dn);
 #else
@@ -474,8 +468,7 @@ static CURLcode Curl_ldap(struct connectdata *conn, bool *done)
     for(attribute = ldap_first_attribute(server, entryIterator, &ber);
         attribute;
         attribute = ldap_next_attribute(server, entryIterator, ber)) {
-#if defined(CURL_LDAP_WIN) && \
-    (defined(USE_WIN32_IDN) || defined(USE_WINDOWS_SSPI))
+#if defined(CURL_LDAP_WIN)
       size_t attr_len = _tcslen(attribute);
 #else
       size_t attr_len = strlen(attribute);
@@ -612,8 +605,7 @@ quit:
     ldapssl_client_deinit();
 #endif /* HAVE_LDAP_SSL && CURL_HAS_NOVELL_LDAPSDK */
 
-#if defined(CURL_LDAP_WIN) && \
-    (defined(USE_WIN32_IDN) || defined(USE_WINDOWS_SSPI))
+#if defined(CURL_LDAP_WIN)
   Curl_unicodefree(passwd);
   Curl_unicodefree(user);
   Curl_unicodefree(host);
@@ -753,8 +745,7 @@ static int _ldap_url_parse2 (const struct connectdata *conn, LDAPURLDesc *ludp)
       goto quit;
     }
 
-#if defined(CURL_LDAP_WIN) && \
-    (defined(USE_WIN32_IDN) || defined(USE_WINDOWS_SSPI))
+#if defined(CURL_LDAP_WIN)
     /* Convert the unescapped string to a tchar */
     ludp->lud_dn = Curl_convert_UTF8_to_tchar(unescapped);
 
@@ -792,8 +783,7 @@ static int _ldap_url_parse2 (const struct connectdata *conn, LDAPURLDesc *ludp)
     }
 
     /* Allocate our array (+1 for the NULL entry) */
-#if defined(CURL_LDAP_WIN) && \
-    (defined(USE_WIN32_IDN) || defined(USE_WINDOWS_SSPI))
+#if defined(CURL_LDAP_WIN)
     ludp->lud_attrs = calloc(count + 1, sizeof(TCHAR *));
 #else
     ludp->lud_attrs = calloc(count + 1, sizeof(char *));
@@ -821,8 +811,7 @@ static int _ldap_url_parse2 (const struct connectdata *conn, LDAPURLDesc *ludp)
         goto quit;
       }
 
-#if defined(CURL_LDAP_WIN) && \
-    (defined(USE_WIN32_IDN) || defined(USE_WINDOWS_SSPI))
+#if defined(CURL_LDAP_WIN)
       /* Convert the unescapped string to a tchar */
       ludp->lud_attrs[i] = Curl_convert_UTF8_to_tchar(unescapped);
 
@@ -888,8 +877,7 @@ static int _ldap_url_parse2 (const struct connectdata *conn, LDAPURLDesc *ludp)
       goto quit;
     }
 
-#if defined(CURL_LDAP_WIN) && \
-    (defined(USE_WIN32_IDN) || defined(USE_WINDOWS_SSPI))
+#if defined(CURL_LDAP_WIN)
     /* Convert the unescapped string to a tchar */
     ludp->lud_filter = Curl_convert_UTF8_to_tchar(unescapped);