I took the gnunet-secushare repository which currently does not build.
So I wrote a patch. Next I'll test both secushare and the messenger.
On Sat, 6 Mar 2021 11:47:33 +0100
"Schanzenbach, Martin" <[email protected]> wrote:
> What would also be nice to see:
>
> - GNS records for room discovery
> - reclaimID for user profile management / retrieval
>
> Both are probably "client"-side features. As in: implemented by the UI.
>
> BR
> Martin
>
> > On 6. Mar 2021, at 02:22, TheJackiMonster <[email protected]> wrote:
> >
> > Hi everyone,
> >
> > I just got the last pieces done to complete the core functionality of
> > the messenger service I'm working on for a while. So it is updated on
> > the main branch now and can be build by enabling the experimental flag.
> > (I think it's best letting it experimental until a next major release.)
> >
> > The core functionality may work fine (at least from my perspective of
> > testing) but there is still some optimization to be done. Also I want
> > to add a proper CLI application and a GTK application which can be used
> > conveniently.
> >
> > However I will probably start writing down the manual now with
> > instructions to use the service and going over the code adding more
> > comments and improving documentation.
> >
> > There also some features I want to include into a client-side-only
> > library to ease development of the applications. For example file
> > sharing works in theory but is not really automated yet.
> >
> > Features which would be included as simple functions in the library:
> > - Replying to selected messages
> > - Citing other messages
> > - Deleting messages
> > - Requesting messages
> > - Sharing files
> > - Downloading files
> > - Publishing a chatroom
> > - Searching for a public chatroom
> > - Opening a private chat
> > ~ Using a profile picture
> > - Sharing public files (uploads from FS)
> >
> > The library will probably handle more advanced messages based on JSON
> > or some similar text-based format to allow adding features more
> > dynamically. So the service itself does not have to be changed to
> > frequently.
> >
> > Also with JSON messages it should be quite easy getting a good
> > interface done to web clients as well and the messages could include
> > more meta-data for something like posts in social media or forums.
> >
> > Happy hacking
> > Jacki
>
--
Tobias Platen <[email protected]>
diff --git a/src/multicast/gnunet-multicast.c b/src/multicast/gnunet-multicast.c
index ffac36d..6859402 100644
--- a/src/multicast/gnunet-multicast.c
+++ b/src/multicast/gnunet-multicast.c
@@ -72,7 +72,7 @@ main (int argc, char *const *argv)
gettext_noop ("This command doesn't do anything yet."),
options, &run,
NULL)) ? ret : 1;
- GNUNET_free ((void*) argv);
+ //XXX GNUNET_free ((void*) argv);
return ret;
}
diff --git a/src/multicast/gnunet-service-multicast.c b/src/multicast/gnunet-service-multicast.c
index a787307..6296974 100644
--- a/src/multicast/gnunet-service-multicast.c
+++ b/src/multicast/gnunet-service-multicast.c
@@ -969,7 +969,7 @@ check_cadet_join_request (void *cls,
return GNUNET_SYSERR;
}
if (GNUNET_OK !=
- GNUNET_CRYPTO_ecdsa_verify (GNUNET_SIGNATURE_PURPOSE_MULTICAST_REQUEST,
+ GNUNET_CRYPTO_ecdsa_verify_ (GNUNET_SIGNATURE_PURPOSE_MULTICAST_REQUEST,
&req->purpose, &req->signature,
&req->member_pub_key))
{
@@ -1098,7 +1098,7 @@ check_cadet_message (void *cls,
return GNUNET_SYSERR;
}
if (GNUNET_OK !=
- GNUNET_CRYPTO_eddsa_verify (GNUNET_SIGNATURE_PURPOSE_MULTICAST_MESSAGE,
+ GNUNET_CRYPTO_eddsa_verify_ (GNUNET_SIGNATURE_PURPOSE_MULTICAST_MESSAGE,
&msg->purpose, &msg->signature,
&chn->group_pub_key))
{
@@ -1150,7 +1150,7 @@ check_cadet_request (void *cls,
return GNUNET_SYSERR;
}
if (GNUNET_OK !=
- GNUNET_CRYPTO_ecdsa_verify (GNUNET_SIGNATURE_PURPOSE_MULTICAST_REQUEST,
+ GNUNET_CRYPTO_ecdsa_verify_ (GNUNET_SIGNATURE_PURPOSE_MULTICAST_REQUEST,
&req->purpose, &req->signature,
&req->member_pub_key))
{
@@ -1605,7 +1605,7 @@ handle_client_member_join (void *cls,
- sizeof (req->signature));
req->purpose.purpose = htonl (GNUNET_SIGNATURE_PURPOSE_MULTICAST_REQUEST);
- if (GNUNET_OK != GNUNET_CRYPTO_ecdsa_sign (&mem->priv_key, &req->purpose,
+ if (GNUNET_OK != GNUNET_CRYPTO_ecdsa_sign_ (&mem->priv_key, &req->purpose,
&req->signature))
{
/* FIXME: handle error */
@@ -1770,7 +1770,7 @@ handle_client_multicast_message (void *cls,
- sizeof (out->signature));
out->purpose.purpose = htonl (GNUNET_SIGNATURE_PURPOSE_MULTICAST_MESSAGE);
- if (GNUNET_OK != GNUNET_CRYPTO_eddsa_sign (&orig->priv_key, &out->purpose,
+ if (GNUNET_OK != GNUNET_CRYPTO_eddsa_sign_ (&orig->priv_key, &out->purpose,
&out->signature))
{
GNUNET_assert (0);
@@ -1825,7 +1825,7 @@ handle_client_multicast_request (void *cls,
- sizeof (out->signature));
out->purpose.purpose = htonl (GNUNET_SIGNATURE_PURPOSE_MULTICAST_REQUEST);
- if (GNUNET_OK != GNUNET_CRYPTO_ecdsa_sign (&mem->priv_key, &out->purpose,
+ if (GNUNET_OK != GNUNET_CRYPTO_ecdsa_sign_ (&mem->priv_key, &out->purpose,
&out->signature))
{
GNUNET_assert (0);
diff --git a/src/social/gnunet-service-social.c b/src/social/gnunet-service-social.c
index 6fd2383..c7a40e6 100644
--- a/src/social/gnunet-service-social.c
+++ b/src/social/gnunet-service-social.c
@@ -1252,6 +1252,7 @@ static int
app_place_save (const char *app_id,
const struct PlaceEnterRequest *ereq)
{
+ int ret=0;
if (GNUNET_SYSERR == app_place_add (app_id, ereq))
{
GNUNET_assert (0);
@@ -1696,6 +1697,7 @@ handle_client_host_enter (void *cls,
if (0 == memcmp (&hreq->place_pub_key, &empty_pub_key,
sizeof (empty_pub_key)))
{ // no public key set: create new private key & save the place
+ #if 0
struct GNUNET_CRYPTO_EddsaPrivateKey *
place_key = GNUNET_CRYPTO_eddsa_key_create ();
hreq->place_key = *place_key;
@@ -1704,6 +1706,8 @@ handle_client_host_enter (void *cls,
GNUNET_free (place_key);
app_place_save (app_id, (const struct PlaceEnterRequest *) hreq);
+ #endif
+ abort(); //FIXME
}
switch (host_enter (hreq, &hst))
@@ -3670,7 +3674,8 @@ identity_recv_ego (void *cls, struct GNUNET_IDENTITY_Ego *id_ego,
{
ego = GNUNET_malloc (sizeof (*ego));
}
- ego->key = *(GNUNET_IDENTITY_ego_get_private_key (id_ego));
+ //XXX ego->key = *(GNUNET_IDENTITY_ego_get_private_key (id_ego));
+ abort();
size_t name_size = strlen (name) + 1;
ego->name = GNUNET_malloc (name_size);
GNUNET_memcpy (ego->name, name, name_size);
diff --git a/src/social/gnunet-social.c b/src/social/gnunet-social.c
index f934894..8feb8c9 100644
--- a/src/social/gnunet-social.c
+++ b/src/social/gnunet-social.c
@@ -1402,7 +1402,7 @@ main (int argc, char *const *argv)
res = GNUNET_PROGRAM_run (argc, argv, help, usage, options, &run, NULL);
- GNUNET_free ((void *) argv);
+ //GNUNET_free ((void *) argv);
if (GNUNET_OK == res)
return ret;