-fix, will failon werrorr
authorMartin Schanzenbach <mschanzenbach@posteo.de>
Fri, 23 Mar 2012 18:15:43 +0000 (18:15 +0000)
committerMartin Schanzenbach <mschanzenbach@posteo.de>
Fri, 23 Mar 2012 18:15:43 +0000 (18:15 +0000)
src/gns/Makefile.am
src/gns/gnunet-service-gns_resolver.c
src/gns/proxy/proxy.py

index 2b62cec536a21f1598e63601ebc83695a3286974..2d47353ba0d8932997e415e6acdf68db813761a9 100644 (file)
@@ -207,6 +207,7 @@ gnunet_service_gns_LDADD = \
        $(top_builddir)/src/dns/libgnunetdnsparser.la \
        $(top_builddir)/src/dht/libgnunetdht.la \
        $(top_builddir)/src/namestore/libgnunetnamestore.la \
+  -lunistring \
   $(GN_LIBINTL)
 gnunet_service_gns_DEPENDENCIES = \
   $(top_builddir)/src/tun/libgnunettun.la \
index 407dc54df40257e055b59939b97d361d3e7906af..acf876993be4efd245e2d8505d7d32ac5b2f124b 100644 (file)
@@ -26,6 +26,7 @@
  * @author Martin Schanzenbach
  */
 #include "platform.h"
+#include <unicase.h>
 #include "gnunet_util_lib.h"
 #include "gnunet_transport_service.h"
 #include "gnunet_dns_service.h"
@@ -1910,6 +1911,9 @@ gns_resolver_lookup_record(struct GNUNET_CRYPTO_ShortHashCode zone,
   struct ResolverHandle *rh;
   struct RecordLookupHandle* rlh;
   char string_hash[MAX_DNS_LABEL_LENGTH];
+  char* normalized_zkey;
+  char nzkey[MAX_DNS_LABEL_LENGTH];
+  size_t normal_len;
 
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
               "Starting resolution for %s (type=%d)!\n",
@@ -1977,8 +1981,15 @@ gns_resolver_lookup_record(struct GNUNET_CRYPTO_ShortHashCode zone,
 
       GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
                   "ZKEY is %s!\n", string_hash);
+      
+      normalized_zkey = u8_toupper ((uint8_t*)string_hash, strlen ((char *) string_hash),
+                                  NULL, UNINORM_NFD, NULL, &normal_len);
 
-      if (GNUNET_OK != GNUNET_CRYPTO_short_hash_from_string(string_hash,
+      memcpy(nzkey, normalized_zkey, normal_len);
+      nzkey[normal_len] = '\0';
+      free(normalized_zkey);
+      
+      if (GNUNET_OK != GNUNET_CRYPTO_short_hash_from_string(nzkey,
                                                       &rh->authority))
       {
         GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
@@ -2275,6 +2286,9 @@ gns_resolver_shorten_name(struct GNUNET_CRYPTO_ShortHashCode zone,
   struct NameShortenHandle *nsh;
   char string_hash[MAX_DNS_LABEL_LENGTH];
   struct GNUNET_CRYPTO_ShortHashCode zkey;
+  char* normalized_zkey;
+  size_t normal_len;
+  char nzkey[MAX_DNS_LABEL_LENGTH];
 
 
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
@@ -2318,11 +2332,18 @@ gns_resolver_shorten_name(struct GNUNET_CRYPTO_ShortHashCode zone,
     GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
                 "ZKEY is %s!\n", string_hash);
 
-    if (GNUNET_OK != GNUNET_CRYPTO_short_hash_from_string(string_hash,
+    normalized_zkey = u8_toupper ((uint8_t*)string_hash, strlen ((char *) string_hash),
+                                  NULL, UNINORM_NFD, NULL, &normal_len);
+
+    memcpy(nzkey, normalized_zkey, normal_len);
+    nzkey[normal_len] = '\0';
+    free(normalized_zkey);
+
+    if (GNUNET_OK != GNUNET_CRYPTO_short_hash_from_string(nzkey,
                                                           &zkey))
     {
       GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
-                  "Cannot convert ZKEY %s to hash!\n", string_hash);
+                  "Cannot convert ZKEY %s to hash!\n", nzkey);
       GNUNET_free(rh);
       GNUNET_free(nsh);
       proc(proc_cls, name);
index 9191c1b4e5725f7ffe005fa8dd147937c03f4b36..e2c0a5bafdaa92dd4535fbda6bf19a59b084ebe7 100644 (file)
@@ -135,7 +135,7 @@ class ProxyHandler (BaseHTTPServer.BaseHTTPRequestHandler):
                         out = soc
                     data = i.recv(8192)
                     if data:
-                        if (re.match("(\w+\.)*gnunet", self.host_port[0])):
+                        if (re.match("(\w+\.)*gnunet", self.host_port[0]) or 1):
                             arr = self.host_port[0].split('.')
                             arr.pop(0)
                             data = re.sub('(a href="http://(\w+\.)*)(\+)',