[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r20345 - gnunet/src/gns
From: |
gnunet |
Subject: |
[GNUnet-SVN] r20345 - gnunet/src/gns |
Date: |
Wed, 7 Mar 2012 16:50:44 +0100 |
Author: schanzen
Date: 2012-03-07 16:50:44 +0100 (Wed, 07 Mar 2012)
New Revision: 20345
Modified:
gnunet/src/gns/Makefile.am
gnunet/src/gns/gns_api.c
gnunet/src/gns/gnunet-gns.c
gnunet/src/gns/gnunet-service-gns.c
Log:
-shortening in cli app (in progress)
Modified: gnunet/src/gns/Makefile.am
===================================================================
--- gnunet/src/gns/Makefile.am 2012-03-07 15:42:55 UTC (rev 20344)
+++ gnunet/src/gns/Makefile.am 2012-03-07 15:50:44 UTC (rev 20345)
@@ -20,7 +20,8 @@
bin_PROGRAMS = \
gnunet-service-gns \
- gnunet-gns-fcfsd
+ gnunet-gns-fcfsd \
+ gnunet-gns
#noinst_PROGRAMS = \
# gnunet-gns-lookup
@@ -80,14 +81,14 @@
$(top_builddir)/src/dht/libgnunetdht.la \
$(top_builddir)/src/testing/libgnunettesting.la
-#gnunet_gns_lookup_SOURCES = \
-# gnunet-gns-lookup.c
-#gnunet_gns_lookup_LDADD = \
-# $(top_builddir)/src/gns/libgnunetgns.la \
-# $(top_builddir)/src/util/libgnunetutil.la \
-# $(GN_LIBINTL)
-#gnunet_dns_lookup_DEPENDENCIES = \
-# libgnunetgns.la
+gnunet_gns_SOURCES = \
+ gnunet-gns.c
+gnunet_gns_LDADD = \
+ $(top_builddir)/src/gns/libgnunetgns.la \
+ $(top_builddir)/src/util/libgnunetutil.la \
+ $(GN_LIBINTL)
+gnunet_gns_DEPENDENCIES = \
+ libgnunetgns.la
gnunet_service_gns_SOURCES = \
gnunet-service-gns.c
Modified: gnunet/src/gns/gns_api.c
===================================================================
--- gnunet/src/gns/gns_api.c 2012-03-07 15:42:55 UTC (rev 20344)
+++ gnunet/src/gns/gns_api.c 2012-03-07 15:50:44 UTC (rev 20345)
@@ -496,7 +496,7 @@
{
const struct GNUNET_GNS_ClientShortenResultMessage *gns_msg = cls;
struct GNUNET_GNS_ShortenHandle *shorten_handle = value;
- const char *name = (const char*) &shorten_handle[1];
+ const char *name = (const char*)&((struct GNUNET_GNS_ClientShortenMessage *)
&((shorten_handle->message)[1]))[1]; //FIXME
const char *short_name;
if (ntohs (((struct GNUNET_MessageHeader*)gns_msg)->size) <
@@ -599,7 +599,9 @@
struct GNUNET_GNS_Handle *handle = cls;
const struct GNUNET_GNS_ClientLookupResultMessage *lookup_msg;
const struct GNUNET_GNS_ClientShortenResultMessage *shorten_msg;
-
+
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Got message\n");
if (msg == NULL)
{
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
@@ -610,6 +612,8 @@
if (ntohs (msg->type) == GNUNET_MESSAGE_TYPE_GNS_LOOKUP_RESULT)
{
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Got lookup msg\n");
lookup_msg = (const struct GNUNET_GNS_ClientLookupResultMessage *) msg;
GNUNET_CONTAINER_multihashmap_get_multiple (handle->active_lookup_requests,
&lookup_msg->key,
@@ -618,6 +622,8 @@
}
else if (ntohs (msg->type) == GNUNET_MESSAGE_TYPE_GNS_SHORTEN_RESULT)
{
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Got shorten msg\n");
shorten_msg = (const struct GNUNET_GNS_ClientShortenResultMessage *) msg;
GNUNET_CONTAINER_multihashmap_get_multiple
(handle->active_shorten_requests,
&shorten_msg->key,
@@ -642,8 +648,7 @@
* @return handle to the GNS service, or NULL on error
*/
struct GNUNET_GNS_Handle *
-GNUNET_GNS_connect (const struct GNUNET_CONFIGURATION_Handle *cfg,
- unsigned int ht_len)
+GNUNET_GNS_connect (const struct GNUNET_CONFIGURATION_Handle *cfg)
{
struct GNUNET_GNS_Handle *handle;
@@ -652,9 +657,9 @@
handle->uid_gen =
GNUNET_CRYPTO_random_u64 (GNUNET_CRYPTO_QUALITY_WEAK, UINT64_MAX);
handle->active_lookup_requests =
- GNUNET_CONTAINER_multihashmap_create (ht_len);
+ GNUNET_CONTAINER_multihashmap_create (5);
handle->active_shorten_requests =
- GNUNET_CONTAINER_multihashmap_create (ht_len);
+ GNUNET_CONTAINER_multihashmap_create (5);
if (GNUNET_NO == try_connect (handle))
{
GNUNET_GNS_disconnect (handle);
@@ -790,7 +795,7 @@
GNUNET_CONTAINER_DLL_insert (handle->pending_head, handle->pending_tail,
pending);
pending->in_pending_queue = GNUNET_YES;
- shorten_handle = GNUNET_malloc (sizeof (struct GNUNET_GNS_LookupHandle));
+ shorten_handle = GNUNET_malloc (sizeof (struct GNUNET_GNS_ShortenHandle));
shorten_handle->proc = proc;
shorten_handle->proc_cls = proc_cls;
shorten_handle->message = pending;
Modified: gnunet/src/gns/gnunet-gns.c
===================================================================
--- gnunet/src/gns/gnunet-gns.c 2012-03-07 15:42:55 UTC (rev 20344)
+++ gnunet/src/gns/gnunet-gns.c 2012-03-07 15:50:44 UTC (rev 20345)
@@ -39,7 +39,7 @@
/**
* GNS name to shorten. (-s option)
*/
-static struct char *name;
+static char *name;
/**
* Task run on shutdown. Cleans up everything.
@@ -59,6 +59,12 @@
}
+static void
+process_shorten_result(void* cls, const char* nlong, const char* nshort)
+{
+ printf("%s shortened to %s\n", nlong, nshort);
+}
+
/**
* Main function that will be run.
*
@@ -78,11 +84,13 @@
_("Failed to connect to GNS\n"));
return;
}
- if (NULL == s)
+
+ if (name != NULL)
{
- GNUNET_SCHEDULER_add_now (&do_shutdown, NULL);
- return;
+ /** shorten name */
+ GNUNET_GNS_shorten(gns, name, &process_shorten_result, NULL);
}
+
// FIXME: do work here...
GNUNET_SCHEDULER_add_now (&do_shutdown, NULL);
}
@@ -100,7 +108,7 @@
{
static const struct GNUNET_GETOPT_CommandLineOption options[] = {
{'s', "shorten", NULL,
- gettext_noop ("try to shorten a given GNS name"), 0,
+ gettext_noop ("try to shorten a given GNS name"), 1,
&GNUNET_GETOPT_set_string, &name},
GNUNET_GETOPT_OPTION_END
};
Modified: gnunet/src/gns/gnunet-service-gns.c
===================================================================
--- gnunet/src/gns/gnunet-service-gns.c 2012-03-07 15:42:55 UTC (rev 20344)
+++ gnunet/src/gns/gnunet-service-gns.c 2012-03-07 15:50:44 UTC (rev 20345)
@@ -1969,19 +1969,19 @@
rmsg->key = csh->key;
rmsg->header.type = htons(GNUNET_MESSAGE_TYPE_GNS_SHORTEN_RESULT);
rmsg->header.size =
- htons(sizeof(struct GNUNET_GNS_ClientShortenResultMessage *) +
+ htons(sizeof(struct GNUNET_GNS_ClientShortenResultMessage) +
strlen(name));
strcpy((char*)&rmsg[1], name);
GNUNET_SERVER_notification_context_unicast (nc, csh->client,
- (const struct GNUNET_MessageHeader *) &rmsg,
+ (const struct GNUNET_MessageHeader *) rmsg,
GNUNET_NO);
GNUNET_SERVER_receive_done (csh->client, GNUNET_OK);
- GNUNET_free(csh);
- GNUNET_free(rmsg);
+ //GNUNET_free(csh);
+ //GNUNET_free(rmsg);
}
@@ -2001,13 +2001,16 @@
size_t msg_size = 0;
struct ClientShortenHandle *csh;
- if (ntohs (message->size) != sizeof (struct GNUNET_GNS_ClientShortenMessage))
+ if (ntohs (message->size) < sizeof (struct GNUNET_GNS_ClientShortenMessage))
{
GNUNET_break_op (0);
GNUNET_SERVER_receive_done (client, GNUNET_OK);
return;
}
+ GNUNET_SERVER_notification_context_add (nc, client);
+ GNUNET_SERVER_client_keep (client);
+
struct GNUNET_GNS_ClientShortenMessage *sh_msg =
(struct GNUNET_GNS_ClientShortenMessage *) message;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r20345 - gnunet/src/gns,
gnunet <=