gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r21707 - gnunet/src/gns


From: gnunet
Subject: [GNUnet-SVN] r21707 - gnunet/src/gns
Date: Fri, 1 Jun 2012 18:42:02 +0200

Author: schanzen
Date: 2012-06-01 18:42:02 +0200 (Fri, 01 Jun 2012)
New Revision: 21707

Modified:
   gnunet/src/gns/gnunet-gns-proxy.c
Log:
-basic mhd working


Modified: gnunet/src/gns/gnunet-gns-proxy.c
===================================================================
--- gnunet/src/gns/gnunet-gns-proxy.c   2012-06-01 16:29:41 UTC (rev 21706)
+++ gnunet/src/gns/gnunet-gns-proxy.c   2012-06-01 16:42:02 UTC (rev 21707)
@@ -187,6 +187,9 @@
   GNUNET_NETWORK_fdset_copy_native (wrs, &rs, max + 1);
   GNUNET_NETWORK_fdset_copy_native (wws, &ws, max + 1);
   GNUNET_NETWORK_fdset_copy_native (wes, &es, max + 1);
+  
+  if (httpd_task != GNUNET_SCHEDULER_NO_TASK)
+    GNUNET_SCHEDULER_cancel (httpd_task);
   httpd_task =
     GNUNET_SCHEDULER_add_select (GNUNET_SCHEDULER_PRIORITY_HIGH,
                                  tv, wrs, wws,
@@ -493,32 +496,39 @@
                   "Requested connection is gnunet tld\n",
                   domain);
 
-      if (httpd == NULL)
+      if (NULL == httpd)
       {
-        
+        GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+                    _("Failed to start HTTP server\n"));
+        s_resp->version = 0x05;
+        s_resp->reply = 0x01;
+        s5r->wtask = 
+          GNUNET_SCHEDULER_add_write_net (GNUNET_TIME_UNIT_FOREVER_REL,
+                                        s5r->sock,
+                                        &do_write, s5r);
+        //ERROR!
+        //TODO! close socket after the write! schedule task
+        //GNUNET_NETWORK_socket_close (s5r->sock);
+        //GNUNET_free(s5r);
+        return;
+      }
 
-        if (NULL == httpd)
-        {
-          GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
-                      _("Failed to start HTTP server\n"));
-          s_resp->version = 0x05;
-          s_resp->reply = 0x01;
-          s5r->wtask = 
-            GNUNET_SCHEDULER_add_write_net (GNUNET_TIME_UNIT_FOREVER_REL,
-                                          s5r->sock,
-                                          &do_write, s5r);
-          //ERROR!
-          //TODO! close socket after the write! schedule task
-          //GNUNET_NETWORK_socket_close (s5r->sock);
-          //GNUNET_free(s5r);
-          return;
-        }
+      if (MHD_YES == add_handle_to_mhd ( s5r->sock ))
+        GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+                    "Sucessfully added client to MHD!\n");
+      s_resp->version = 0x05;
+      s_resp->reply = 0x00;
+      s_resp->reserved = 0x00;
+      s_resp->addr_type = 0x01;
 
-        add_handle_to_mhd ( s5r->sock );
-        //GNUNET_free ( s5r );
-        //FIXME complete socks resp!
-        return;
-      }
+      s5r->wtask =
+        GNUNET_SCHEDULER_add_write_net (GNUNET_TIME_UNIT_FOREVER_REL,
+                                        s5r->sock,
+                                        &do_write, s5r);
+      run_httpd ();
+      //GNUNET_free ( s5r );
+      //FIXME complete socks resp!
+      return;
     }
     else
     {




reply via email to

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