-doxygen
[oweals/gnunet.git] / src / transport / plugin_transport_http_server.c
index 5695e1d7d5cf3e2db1223290a35293d584ab09b7..6d706efba044399b6b50a7e587f83a2d0d2621ac 100644 (file)
@@ -883,7 +883,7 @@ server_disconnect (struct Session *s)
  * @param to timeout in seconds
  */
 static void
-server_mhd_connection_timeout (struct HTTP_Server_Plugin *plugin, 
+server_mhd_connection_timeout (struct HTTP_Server_Plugin *plugin,
                               struct Session *s,
                               unsigned int to)
 {
@@ -925,7 +925,7 @@ server_mhd_connection_timeout (struct HTTP_Server_Plugin *plugin,
 static int
 server_parse_url (struct HTTP_Server_Plugin *plugin,
                  const char *url,
-                 struct GNUNET_PeerIdentity *target, 
+                 struct GNUNET_PeerIdentity *target,
                  uint32_t *tag)
 {
   char * tag_start = NULL;
@@ -1012,8 +1012,8 @@ server_parse_url (struct HTTP_Server_Plugin *plugin,
       if (DEBUG_URL_PARSE) GNUNET_break (0);
       return GNUNET_SYSERR;
   }
-  if (GNUNET_OK != 
-      GNUNET_CRYPTO_ecc_public_sign_key_from_string (target_start,
+  if (GNUNET_OK !=
+      GNUNET_CRYPTO_eddsa_public_key_from_string (target_start,
                                                     hash_length,
                                                     &target->public_key))
     {
@@ -1021,9 +1021,9 @@ server_parse_url (struct HTTP_Server_Plugin *plugin,
       if (DEBUG_URL_PARSE) GNUNET_break (0);
       return GNUNET_SYSERR;
   }
-  GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, 
+  GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG,
                   plugin->name,
-                  "Found target `%s' in URL\n", 
+                  "Found target `%s' in URL\n",
                   GNUNET_i2s_full (target));
   return GNUNET_OK;
 }
@@ -1177,11 +1177,10 @@ server_lookup_connection (struct HTTP_Server_Plugin *plugin,
     plugin->env->session_start (NULL, &s->target, PLUGIN_NAME, NULL, 0 ,s, NULL, 0);
   }
 
-#if MHD_VERSION >= 0x00090E00
   if ((NULL == s->server_recv) || (NULL == s->server_send))
   {
     to = (HTTP_SERVER_NOT_VALIDATED_TIMEOUT.rel_value_us / 1000LL / 1000LL);
-    MHD_set_connection_option (mhd_connection, 
+    MHD_set_connection_option (mhd_connection,
                               MHD_CONNECTION_OPTION_TIMEOUT, to);
     server_reschedule (plugin, sc->mhd_daemon, GNUNET_NO);
   }
@@ -1190,13 +1189,12 @@ server_lookup_connection (struct HTTP_Server_Plugin *plugin,
     GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name,
                      "Session %p for peer `%s' fully connected\n",
                      s, GNUNET_i2s (&target));
-    to = (SERVER_SESSION_TIMEOUT.rel_value_us / 1000LL / 1000LL);
+    to = (HTTP_SERVER_SESSION_TIMEOUT.rel_value_us / 1000LL / 1000LL);
     server_mhd_connection_timeout (plugin, s, to);
   }
 
   GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name,
                    "Setting timeout for %p to %u sec.\n", sc, to);
-#endif
   return sc;
 }
 
@@ -1868,61 +1866,47 @@ server_load_file (const char *file)
  * Load ssl certificate
  *
  * @param plugin the plugin
- * @return GNUNET_OK on success, GNUNET_SYSERR on failure
+ * @return #GNUNET_OK on success, #GNUNET_SYSERR on failure
  */
 static int
 server_load_certificate (struct HTTP_Server_Plugin *plugin)
 {
   int res = GNUNET_OK;
-
-  char *sh;
   char *key_file;
   char *cert_file;
 
-  /* Get crypto init string from config
-   * If not present just use default values */
-
-  if (GNUNET_OK !=
-                 GNUNET_CONFIGURATION_get_value_string (plugin->env->cfg,
-                                                        "PATHS",
-                                                        "SERVICEHOME",
-                                                        &sh))
-  {
-      GNUNET_log_from (GNUNET_ERROR_TYPE_ERROR, plugin->name,
-                       "Failed to get servicehome!\n");
-      return GNUNET_SYSERR;
-  }
-
-
-  if (GNUNET_OK ==
-                 GNUNET_CONFIGURATION_get_value_string (plugin->env->cfg,
-                                                        plugin->name,
-                                                        "CRYPTO_INIT",
-                                                        &plugin->crypto_init))
-      GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name,
-                       "Using crypto init string `%s'\n",
-                       plugin->crypto_init);
-  else
-    GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name,
-                     "Using default crypto init string \n");
 
   if (GNUNET_OK !=
       GNUNET_CONFIGURATION_get_value_filename (plugin->env->cfg, plugin->name,
                                                "KEY_FILE", &key_file))
   {
-    GNUNET_break (0);
-    GNUNET_asprintf (&key_file, "%s/%s", sh, "https_key.key");
+    GNUNET_log_config_missing (GNUNET_ERROR_TYPE_ERROR,
+                               plugin->name, "CERT_FILE");
+    return GNUNET_SYSERR;
   }
-
-
   if (GNUNET_OK !=
       GNUNET_CONFIGURATION_get_value_filename (plugin->env->cfg, plugin->name,
                                                "CERT_FILE", &cert_file))
   {
-      GNUNET_break (0);
-    GNUNET_asprintf (&cert_file, "%s/%s", sh, "https_cert.crt");
+    GNUNET_log_config_missing (GNUNET_ERROR_TYPE_ERROR,
+                               plugin->name, "CERT_FILE");
+    GNUNET_free (key_file);
+    return GNUNET_SYSERR;
   }
-  GNUNET_free (sh);
+  /* Get crypto init string from config. If not present, use
+   * default values */
+  if (GNUNET_OK ==
+      GNUNET_CONFIGURATION_get_value_string (plugin->env->cfg,
+                                             plugin->name,
+                                             "CRYPTO_INIT",
+                                             &plugin->crypto_init))
+    GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name,
+                     "Using crypto init string `%s'\n",
+                     plugin->crypto_init);
+  else
+    GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name,
+                     "Using default crypto init string \n");
+
   /* read key & certificates from file */
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
               "Trying to loading TLS certificate from key-file `%s' cert-file`%s'\n",
@@ -1974,10 +1958,10 @@ server_load_certificate (struct HTTP_Server_Plugin *plugin)
 
   if ((plugin->key == NULL) || (plugin->cert == NULL))
   {
-    GNUNET_log_from (GNUNET_ERROR_TYPE_ERROR, plugin->name,
-                     _
-                     ("No usable TLS certificate found and creating one failed!\n"),
-                     "transport-https");
+    GNUNET_log_from (GNUNET_ERROR_TYPE_ERROR,
+                     plugin->name,
+                     _("No usable TLS certificate found and creating one at `%s/%s' failed!\n"),
+                     key_file, cert_file);
     GNUNET_free (key_file);
     GNUNET_free (cert_file);
 
@@ -2027,7 +2011,7 @@ server_start (struct HTTP_Server_Plugin *plugin)
                    "MHD can set timeout per connection! Default time out %u sec.\n",
                    timeout);
 #else
-  timeout = SERVER_SESSION_TIMEOUT.rel_value_us / 1000LL / 1000LL;
+  timeout = HTTP_SERVER_SESSION_TIMEOUT.rel_value_us / 1000LL / 1000LL;
   GNUNET_log_from (GNUNET_ERROR_TYPE_WARNING, plugin->name,
                    "MHD cannot set timeout per connection! Default time out %u sec.\n",
                    timeout);
@@ -2902,8 +2886,8 @@ server_session_timeout (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc
   s->timeout_task = GNUNET_SCHEDULER_NO_TASK;
   GNUNET_log (TIMEOUT_LOG,
               "Session %p was idle for %s, disconnecting\n",
-              s, 
-             GNUNET_STRINGS_relative_time_to_string (SERVER_SESSION_TIMEOUT,
+              s,
+             GNUNET_STRINGS_relative_time_to_string (HTTP_SERVER_SESSION_TIMEOUT,
                                                      GNUNET_YES));
 
   /* call session destroy function */
@@ -2921,13 +2905,13 @@ server_start_session_timeout (struct Session *s)
 {
  GNUNET_assert (NULL != s);
  GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == s->timeout_task);
- s->timeout_task =  GNUNET_SCHEDULER_add_delayed (SERVER_SESSION_TIMEOUT,
+ s->timeout_task =  GNUNET_SCHEDULER_add_delayed (HTTP_SERVER_SESSION_TIMEOUT,
                                                   &server_session_timeout,
                                                   s);
  GNUNET_log (TIMEOUT_LOG,
              "Timeout for session %p set to %s\n",
              s,
-            GNUNET_STRINGS_relative_time_to_string (SERVER_SESSION_TIMEOUT,
+            GNUNET_STRINGS_relative_time_to_string (HTTP_SERVER_SESSION_TIMEOUT,
                                                     GNUNET_YES));
 }
 
@@ -2944,13 +2928,13 @@ server_reschedule_session_timeout (struct Session *s)
  GNUNET_assert (GNUNET_SCHEDULER_NO_TASK != s->timeout_task);
 
  GNUNET_SCHEDULER_cancel (s->timeout_task);
- s->timeout_task =  GNUNET_SCHEDULER_add_delayed (SERVER_SESSION_TIMEOUT,
+ s->timeout_task =  GNUNET_SCHEDULER_add_delayed (HTTP_SERVER_SESSION_TIMEOUT,
                                                   &server_session_timeout,
                                                   s);
  GNUNET_log (TIMEOUT_LOG,
              "Timeout rescheduled for session %p set to %s\n",
              s,
-            GNUNET_STRINGS_relative_time_to_string (SERVER_SESSION_TIMEOUT,
+            GNUNET_STRINGS_relative_time_to_string (HTTP_SERVER_SESSION_TIMEOUT,
                                                     GNUNET_YES));
 }