gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] [libmicrohttpd] branch master updated: preliminary patch fo


From: gnunet
Subject: [GNUnet-SVN] [libmicrohttpd] branch master updated: preliminary patch for query string issue reported on the ML
Date: Thu, 07 Feb 2019 16:16:58 +0100

This is an automated email from the git hooks/post-receive script.

grothoff pushed a commit to branch master
in repository libmicrohttpd.

The following commit(s) were added to refs/heads/master by this push:
     new d640ad82 preliminary patch for query string issue reported on the ML
d640ad82 is described below

commit d640ad8212caf6223ce164fa627864875da4eae1
Author: Christian Grothoff <address@hidden>
AuthorDate: Thu Feb 7 16:16:56 2019 +0100

    preliminary patch for query string issue reported on the ML
---
 ChangeLog                   |  3 +++
 src/include/microhttpd.h    |  2 +-
 src/microhttpd/connection.c | 17 ++++++++++-------
 3 files changed, 14 insertions(+), 8 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index aaf17bb2..c19bb853 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,6 @@
+Thu Feb  7 16:16:12 CET 2019
+       Preliminary patch for the raw query string issue, to be tested. -CG
+
 Tue Jan  8 02:57:21 BRT 2019
        Added minimal example for how to compress HTTP response. -SC
 
diff --git a/src/include/microhttpd.h b/src/include/microhttpd.h
index f654d1d7..9049bab5 100644
--- a/src/include/microhttpd.h
+++ b/src/include/microhttpd.h
@@ -126,7 +126,7 @@ typedef intptr_t ssize_t;
  * Current version of the library.
  * 0x01093001 = 1.9.30-1.
  */
-#define MHD_VERSION 0x00096203
+#define MHD_VERSION 0x00096204
 
 /**
  * MHD-internal return code for "YES".
diff --git a/src/microhttpd/connection.c b/src/microhttpd/connection.c
index e06ae993..bb88b969 100644
--- a/src/microhttpd/connection.c
+++ b/src/microhttpd/connection.c
@@ -2257,7 +2257,7 @@ parse_initial_message_line (struct MHD_Connection 
*connection,
         http_version--;
       if (http_version > uri)
         {
-          /* http_version points to string before HTTP version string */
+          /* http_version points to character before HTTP version string */
           http_version[0] = '\0';
           connection->version = http_version + 1;
           uri_len = http_version - uri;
@@ -2277,24 +2277,21 @@ parse_initial_message_line (struct MHD_Connection 
*connection,
           return MHD_NO;
         }
 
-      /* unescape URI before searching for arguments */
-      daemon->unescape_callback (daemon->unescape_callback_cls,
-                                 connection,
-                                 uri);
-      uri_len = strlen (uri); /* recalculate: may have changed! */
       args = memchr (uri,
                      '?',
                      uri_len);
     }
 
+  /* log callback before we modify URI *or* args */
   if (NULL != daemon->uri_log_callback)
     {
       connection->client_aware = true;
       connection->client_context
         = daemon->uri_log_callback (daemon->uri_log_callback_cls,
-                                   curi,
+                                   uri,
                                     connection);
     }
+  
   if (NULL != args)
     {
       args[0] = '\0';
@@ -2306,6 +2303,12 @@ parse_initial_message_line (struct MHD_Connection 
*connection,
                            &connection_add_header,
                            &unused_num_headers);
     }
+  
+  /* unescape URI *after* searching for arguments and log callback */
+  if (NULL != uri)
+    daemon->unescape_callback (daemon->unescape_callback_cls,
+                              connection,
+                              uri);
   connection->url = curi;
   return MHD_YES;
 }

-- 
To stop receiving notification emails like this one, please contact
address@hidden



reply via email to

[Prev in Thread] Current Thread [Next in Thread]