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" <mschanzenb...@posteo.de> 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 <thejackimons...@gmail.com> 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 <gnu...@platen-software.de>
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;