*/
#include "platform.h"
-#include "gnunet_common.h"
-#include "gnunet_server_lib.h"
+#include "gnunet_util_lib.h"
#include "gnunet_statistics_service.h"
#include "gnunet_transport_plugin.h"
#include "gnunet_nat_lib.h"
* @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)
{
*/
static int
-server_parse_url (struct HTTP_Server_Plugin *plugin, const char * url, struct GNUNET_PeerIdentity * target, uint32_t *tag)
+server_parse_url (struct HTTP_Server_Plugin *plugin,
+ const char *url,
+ struct GNUNET_PeerIdentity *target,
+ uint32_t *tag)
{
char * tag_start = NULL;
char * tag_end = NULL;
char * target_start = NULL;
char * separator = NULL;
- char hash[plugin->peer_id_length+1];
- int hash_length;
+ unsigned int hash_length;
unsigned long int ctag;
/* URL parsing
if (DEBUG_URL_PARSE) GNUNET_break (0);
return GNUNET_SYSERR;
}
- memcpy (hash, target_start, hash_length);
- hash[hash_length] = '\0';
-
- if (GNUNET_OK != GNUNET_CRYPTO_hash_from_string ((const char *) hash, &(target->hashPubKey)))
- {
+ if (GNUNET_OK !=
+ GNUNET_CRYPTO_ecc_public_sign_key_from_string (target_start,
+ hash_length,
+ &target->public_key))
+ {
/* hash conversion failed */
if (DEBUG_URL_PARSE) GNUNET_break (0);
return GNUNET_SYSERR;
}
-
- GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name,
- "Found target `%s' in url\n", GNUNET_h2s_full(&target->hashPubKey));
+ GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG,
+ plugin->name,
+ "Found target `%s' in URL\n",
+ GNUNET_i2s_full (target));
return GNUNET_OK;
}
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);
}
timeout);
#endif
- plugin->server_v6 = NULL;
- if (plugin->use_ipv6 == GNUNET_YES)
+ plugin->server_v4 = NULL;
+ if (plugin->use_ipv4 == GNUNET_YES)
{
- plugin->server_v6 = MHD_start_daemon (
+ plugin->server_v4 = MHD_start_daemon (
#if VERBOSE_SERVER
MHD_USE_DEBUG |
#endif
#if BUILD_HTTPS
MHD_USE_SSL |
#endif
- MHD_USE_IPv6, plugin->port,
+ MHD_NO_FLAG, plugin->port,
&server_accept_cb, plugin,
&server_access_cb, plugin,
MHD_OPTION_SOCK_ADDR,
- (struct sockaddr_in6 *)
- plugin->server_addr_v6,
+ (struct sockaddr_in *)
+ plugin->server_addr_v4,
MHD_OPTION_CONNECTION_LIMIT,
(unsigned int)
plugin->max_connections,
&server_disconnect_cb, plugin,
MHD_OPTION_EXTERNAL_LOGGER,
server_log, NULL, MHD_OPTION_END);
- if (plugin->server_v6 == NULL)
+ if (plugin->server_v4 == NULL)
{
GNUNET_log_from (GNUNET_ERROR_TYPE_ERROR, plugin->name,
- "Failed to start %s IPv6 server component on port %u\n",
+ "Failed to start %s IPv4 server component on port %u\n",
plugin->name, plugin->port);
}
else
- server_reschedule (plugin, plugin->server_v6, GNUNET_NO);
+ server_reschedule (plugin, plugin->server_v4, GNUNET_NO);
}
- plugin->server_v4 = NULL;
- if (plugin->use_ipv4 == GNUNET_YES)
+
+ plugin->server_v6 = NULL;
+ if (plugin->use_ipv6 == GNUNET_YES)
{
- plugin->server_v4 = MHD_start_daemon (
+ plugin->server_v6 = MHD_start_daemon (
#if VERBOSE_SERVER
MHD_USE_DEBUG |
#endif
#if BUILD_HTTPS
MHD_USE_SSL |
#endif
- MHD_NO_FLAG, plugin->port,
+ MHD_USE_IPv6, plugin->port,
&server_accept_cb, plugin,
&server_access_cb, plugin,
MHD_OPTION_SOCK_ADDR,
- (struct sockaddr_in *)
- plugin->server_addr_v4,
+ (struct sockaddr_in6 *)
+ plugin->server_addr_v6,
MHD_OPTION_CONNECTION_LIMIT,
(unsigned int)
plugin->max_connections,
&server_disconnect_cb, plugin,
MHD_OPTION_EXTERNAL_LOGGER,
server_log, NULL, MHD_OPTION_END);
- if (plugin->server_v4 == NULL)
+ if (plugin->server_v6 == NULL)
{
GNUNET_log_from (GNUNET_ERROR_TYPE_ERROR, plugin->name,
- "Failed to start %s IPv4 server component on port %u\n",
+ "Failed to start %s IPv6 server component on port %u\n",
plugin->name, plugin->port);
}
else
- server_reschedule (plugin, plugin->server_v4, GNUNET_NO);
+ server_reschedule (plugin, plugin->server_v6, GNUNET_NO);
}
msg = "No";
GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name,
"%s %s server component started on port %u\n",
msg, plugin->name, plugin->port);
- sleep (10);
return GNUNET_OK;
}
* Get valid server addresses
*
* @param plugin the plugin handle
- * @param serviceName the servicename
+ * @param service_name the servicename
* @param cfg configuration handle
* @param addrs addresses
* @param addr_lens address length
*/
static int
server_get_addresses (struct HTTP_Server_Plugin *plugin,
- const char *serviceName,
+ const char *service_name,
const struct GNUNET_CONFIGURATION_Handle *cfg,
struct sockaddr ***addrs, socklen_t ** addr_lens)
{
disablev6 = !plugin->use_ipv6;
port = 0;
- if (GNUNET_CONFIGURATION_have_value (cfg, serviceName, "PORT"))
+ if (GNUNET_CONFIGURATION_have_value (cfg, service_name, "PORT"))
{
GNUNET_break (GNUNET_OK ==
- GNUNET_CONFIGURATION_get_value_number (cfg, serviceName,
+ GNUNET_CONFIGURATION_get_value_number (cfg, service_name,
"PORT", &port));
if (port > 65535)
{
}
- if (GNUNET_CONFIGURATION_have_value (cfg, serviceName, "BINDTO"))
+ if (GNUNET_CONFIGURATION_have_value (cfg, service_name, "BINDTO"))
{
GNUNET_break (GNUNET_OK ==
- GNUNET_CONFIGURATION_get_value_string (cfg, serviceName,
+ GNUNET_CONFIGURATION_get_value_string (cfg, service_name,
"BINDTO", &hostname));
}
else
{
GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name,
"Resolving `%s' since that is where `%s' will bind to.\n",
- hostname, serviceName);
+ hostname, service_name);
memset (&hints, 0, sizeof (struct addrinfo));
if (disablev6)
hints.ai_family = AF_INET;
plugin->max_connections);
- plugin->peer_id_length = strlen (GNUNET_h2s_full (&plugin->env->my_identity->hashPubKey));
+ plugin->peer_id_length = strlen (GNUNET_i2s_full (plugin->env->my_identity));
return GNUNET_OK;
}
s->timeout_task = GNUNET_SCHEDULER_NO_TASK;
GNUNET_log (TIMEOUT_LOG,
"Session %p was idle for %s, disconnecting\n",
- s,
+ s,
GNUNET_STRINGS_relative_time_to_string (SERVER_SESSION_TIMEOUT,
GNUNET_YES));