*/
#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"
*/
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;
}
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;
}
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;
}