From e185a556536bab6d294a4efa66ce6e36d424e9f8 Mon Sep 17 00:00:00 2001 From: TheJackiMonster Date: Thu, 18 Mar 2021 19:38:11 +0100 Subject: -added handbook entries for messenger Signed-off-by: TheJackiMonster -fixed handbook entries Signed-off-by: TheJackiMonster -integrating libgnunetmessenger_common into libgnunetmessenger Signed-off-by: TheJackiMonster -added image to messenger section in handbook Signed-off-by: TheJackiMonster --- doc/handbook/chapters/developer.texi | 215 ++++++++++++++ doc/handbook/chapters/keyconcepts.texi | 25 ++ doc/handbook/chapters/user.texi | 147 ++++++++++ doc/handbook/images/messenger_room.png | Bin 0 -> 76244 bytes doc/handbook/images/messenger_room.svg | 501 +++++++++++++++++++++++++++++++++ po/POTFILES.in | 22 +- src/messenger/Makefile.am | 39 +-- 7 files changed, 912 insertions(+), 37 deletions(-) create mode 100644 doc/handbook/images/messenger_room.png create mode 100644 doc/handbook/images/messenger_room.svg diff --git a/doc/handbook/chapters/developer.texi b/doc/handbook/chapters/developer.texi index 8bc8c8005..abd128e3b 100644 --- a/doc/handbook/chapters/developer.texi +++ b/doc/handbook/chapters/developer.texi @@ -83,6 +83,7 @@ new chapters, sections or insightful comments. * REST Subsystem:: * RPS Subsystem:: * TRANSPORT-NG Subsystem:: +* MESSENGER Subsystem:: @end menu @node Developer Introduction @@ -9705,3 +9706,217 @@ other peers. The semantics of the backchannel message are up to the communicators which use them. TRANSPORT may fail transmitting backchannel messages, and TRANSPORT will not attempt to retransmit them. + +@cindex MESSENGER Subsystem +@cindex MESSENGER +@cindex messenger +@node MESSENGER Subsystem +@section MESSENGER Subsystem + +The MESSENGER subsystem is responsible for secure end-to-end communication in +groups of nodes in the GNUnet overlay network. MESSENGER builds on the CADET +subsystem which provides a reliable and secure end-to-end communication between +the nodes inside of these groups. + +Additionally to the CADET security benefits, MESSENGER provides following +properties designed for application level usage: + +@itemize @bullet +@item MESSENGER provides integrity by signing the messages with the users + provided ego +@item MESSENGER adds (optional) forward secrecy by replacing the key pair of the + used ego and signing the propagation of the new one with old one (chaining + egos) +@item MESSENGER provides verification of a original sender by checking against + all used egos from a member which are currently in active use (active use + depends on the state of a member session) +@item MESSENGER offsers (optional) decentralized message forwarding between all + nodes in a group to improve availability and prevent MITM-attacks +@item MESSENGER handles new connections and disconnections from nodes in the + group by reconnecting them preserving an efficient structure for message + distribution (ensuring availability and accountablity) +@item MESSENGER provides replay protection (messages can be uniquely identified + via SHA-512, include a timestamp and the hash of the last message) +@item MESSENGER allows detection for dropped messages by chaining them (messages + refer to the last message by their hash) improving accountability +@item MESSENGER allows requesting messages from other peers explicitly to ensure + availibility +@item MESSENGER provides confidentiality by padding messages to few different + sizes (512 bytes, 4096 bytes, 32768 bytes and maximal message size from + CADET) +@item MESSENGER adds (optional) confidentiality with ECDHE to exchange and use + symmetric encryption, encrypting with both AES-256 and Twofish but + allowing only selected members to decrypt (using the receivers ego for + ECDHE) +@end itemize + +Also MESSENGER provides multiple features with privacy in mind: + +@itemize @bullet +@item MESSENGER allows deleting messages from all peers in the group by the + original sender (uses the MESSENGER provided verification) +@item MESSENGER allows using the publically known anonymous ego instead of any + unique identifying ego +@item MESSENGER allows your node to decide between acting as host of the used + messaging room (sharing your peer's identity with all nodes in the group) + or acting as guest (sharing your peer's identity only with the nodes you + explicitly open a connection to) +@item MESSENGER handles members independantly of the peer's identity making + forwarded messages indistinguishable from directly received ones ( + complicating the tracking of messages and identifying its origin) +@item MESSENGER allows names of members being not unique (also names are + optional) +@item MESSENGER does not include information about the selected receiver of an + explicitly encrypted message in its header, complicating it for other + members to draw conclusions from communication partners +@end itemize + +@menu +* libgnunetmessenger:: +* Member sessions:: +@end menu + +@node libgnunetmessenger +@subsection libgnunetmessenger + +The MESSENGER API (defined in @file{gnunet_messenger_service.h}) allows P2P +applications built using GNUnet to communicate with specified kinds of messages +in a group. It provides applications the ability to send and receive encrypted +messages to any group of peers participating in GNUnet in a decentralized way ( +without even knowing all peers's identities). + +MESSENGER delivers messages to other peers in "rooms". A room uses a variable +amount of CADET "channels" which will all be used for message distribution. Each +channel can represent an outgoing connection opened by entering a room with +@code{GNUNET_MESSENGER_enter_room} or an incoming connection if the room was +opened before via @code{GNUNET_MESSENGER_open_room}. + +@image{images/messenger_room.png} + +To enter a room you have to specify the "door" (peer's identity of a peer which +has opened the room) and the key of the room (which is identical to a CADET +"port"). To open a room you have to specify only the key to use. When opening a +room you automatically distribute a PEER-message sharing your peer's identity in +the room. + +Entering or opening a room can also be combined in any order. In any case you +will automatically get a unique member ID and send a JOIN-message notifying +others about your entry and your public key from your selected ego. + +The ego can be selected by name with the initial @code{GNUNET_MESSENGER_connect} +besides setting a (identity-)callback for each change/confirmation of the used +ego and a (message-)callback which gets called every time a message gets sent or +received in the room. Once the identity-callback got called you can check your +used ego with @code{GNUNET_MESSENGER_get_key} providing only its public key. The +function returns NULL if the anonymous ego is used. If the ego should be +replaced with a newly generated one, you can use @code{GNUNET_MESSENGER_update} +to ensure proper chaining of used egos. + +Also once the identity-callback got called you can check your used name with +@code{GNUNET_MESSENGER_get_name} and potentially change or set a name via +@code{GNUNET_MESSENGER_set_name}. A name is for example required to create a new +ego with @code{GNUNET_MESSENGER_update}. Also any change in ego or name will +automatically be distributed in the room with a NAME- or KEY-message +respectively. + +To send a message a message inside of a room you can use +@code{GNUNET_MESSENGER_send_message}. If you specify a selected contact as +receiver, the message gets encrypted automatically and will be sent as PRIVATE- +message instead. + +To request a potentially missed message or to get a specific message after its +original call of the message-callback, you can use +@code{GNUNET_MESSENGER_get_message}. Additionally once a message was distributed +to application level and the message-callback got called, you can get the +contact respresenting a message's sender respectively with +@code{GNUNET_MESSENGER_get_sender}. This allows getting name and the public key +of any sender currently in use with @code{GNUNET_MESSENGER_contact_get_name} +and @code{GNUNET_MESSENGER_contact_get_key}. It is also possible to iterate +through all current members of a room with +@code{GNUNET_MESSENGER_iterate_members} using a callback. + +To leave a room you can use @code{GNUNET_MESSENGER_close_room} which will also +close the rooms connections once all applications on the same peer have left +the room. Leaving a room will also send a LEAVE-message closing a member session +on all connected peers before any connection will be closed. Leaving a room is +however not required for any application to keep your member session open +between multiple sessions of the actual application. + +Finally, when an application no longer wants to use CADET, it should call +@code{GNUNET_MESSENGER_disconnect}. You don't have to explicitly close the used +rooms or leave them. + +Here is a little summary to the kinds of messages you can send manually: + +@menu +* MERGE-message:: +* INVITE-message:: +* TEXT-message:: +* FILE-message:: +* DELETE-message:: +@end menu + +@node MERGE-message +@subsubsection MERGE-message + +MERGE-messages will generally be sent automatically to reduce the amount of +parallel chained messages. This is necessary to close a member session for +example. You can also send MERGE-messages manually if required to merge two +chains of messages. + +@node INVITE-message +@subsubsection INVITE-message + +INVITE-messages can be used to invite other members in a room to a different +room, sharing one potential door and the required key to enter the room. This +kind of message is typically sent as encrypted PRIVATE-message to selected +members because it doesn't make much sense to invite all members from one room +to another considering a rooms key doesn't specify its usage. + +@node TEXT-message +@subsubsection TEXT-message + +TEXT-messages can be used to send simple text-based messages and should be +considered as being in readable form without complex decoding. The text has to +end with a NULL-terminator character and should be in UTF-8 encoding for most +compatibility. + +@node FILE-message +@subsubsection FILE-message + +FILE-messages can be used to share files inside of a room. They do not contain +the actual file being shared but its original hash, filename, URI to download +the file and a symmetric key to decrypt the downloaded file. + +It is recommended to use the FS subsystem and the FILE-messages in combination. + +@node DELETE-message +@subsubsection DELETE-message + +DELETE-messages can be used to delete messages selected with its hash. You can +also select any custom delay relative to the time of sending the DELETE-message. +Deletion will only be processed on each peer in a room if the sender is +authorized. + +The only information of a deleted message which being kept will be the chained +hashes connecting the message graph for potential traversion. For example the +check for completion of a member session requires this information. + +@node Member sessions +@subsection Member sessions + +A member session is a triple of the room key, the member ID and the public key +of the member's ego. Member sessions allow that a member can change their ID or +their ego once at a time without loosing the ability to delete old messages or +identifying the original sender of a message. On every change of ID or EGO a +session will be marked as closed. So every session chain will only contain one +open session with the current ID and public key. + +If a session is marked as closed the MESSENGER service will check from the first +message opening a session to its last one closing the session for completion. If +a the service can confirm that there is no message still missing which was sent +from the closed member session, it will be marked as completed. + +A completed member session is not able to verify any incoming message to ensure +forward secrecy preventing others from using old stolen egos. + diff --git a/doc/handbook/chapters/keyconcepts.texi b/doc/handbook/chapters/keyconcepts.texi index eb95dbf78..f429997bf 100644 --- a/doc/handbook/chapters/keyconcepts.texi +++ b/doc/handbook/chapters/keyconcepts.texi @@ -152,6 +152,7 @@ and @pxref{Deniability}. @menu * How file-sharing achieves Anonymity:: +* How messaging provides Anonymity:: @end menu Providing anonymity for users is the central goal for the anonymous @@ -231,6 +232,30 @@ GAP --- practical anonymous networking. In Proceedings of Designing Privacy Enhancing Technologies, 2003. (@uref{https://git.gnunet.org/bibliography.git/plain/docs/aff.pdf, https://git.gnunet.org/bibliography.git/plain/docs/aff.pdf}) +@cindex How messaging provides Anonymity +@node How messaging provides Anonymity +@subsection How messaging provides Anonymity + +While the file-sharing tries to achieve anonymity through hiding actions in +other traffic, the messaging service provides a weaker form of protection +against identification. + +The messaging service allows the use of an anonymous ego for the signing and +verification process of messages instead of a unique ego. This anonymous ego is +a publically known key pair which is shared between all peers in GNUnet. + +Using this ego only ensures that individual messages alone can't identify its +sender inside of a messenger room. It should be clarified that the route of +the traffic for each message can still be tracked to identify the senders peer +inside of a messenger room if the threat agent controls certain peers hosting +the room. + +Also opening a room in the messenger service will potentially match your peer +identity with the internal member identity from the messenger service. So +despite using the anonymous ego you can reveal your peer identity. This means +to decrease the chance of being identified, it is recommended to enter rooms but +you should not open them for others. + @cindex Deniability @node Deniability @section Deniability diff --git a/doc/handbook/chapters/user.texi b/doc/handbook/chapters/user.texi index 5d5d2fe14..a25dd8bd3 100644 --- a/doc/handbook/chapters/user.texi +++ b/doc/handbook/chapters/user.texi @@ -28,6 +28,7 @@ always welcome. * The GNU Name System:: * reclaimID Identity Provider:: * Using the Virtual Public Network:: +* Using the GNUnet Messenger:: @end menu @node Start and stop GNUnet @@ -2323,3 +2324,149 @@ service offered by that peer, you can create an IP tunnel to that peer by specifying the peer's identity, service name and protocol (--tcp or --udp) and you will again receive an IP address that will terminate at the respective peer's service. + +@node Using the GNUnet Messenger +@section Using the GNUnet Messenger + +The GNUnet Messenger subsystem allows decentralized message-based +communication inside of so called rooms. Each room can be hosted by +a variable amount of peers. Every member of a room has the possibility +to host the room on its own peer. A peer allows any amount of members +to join a room. The amount of members in a room is not restricted. + +Messages in a room will be distributed between all peers hosting the +room or being internally (in context of the messenger service) connected +to a hosting peer. All received or sent messages will be stored on any +peer locally which is hosting the respective room or is internally +connected to such a hosting peer. + +The Messenger service is built on the CADET subsystem to make internal +connections between peers using a reliable and encrypted transmission. +Additionally the service uses a discrete padding to few different sizes. +So kinds of messages and potential content can't be identified by the +size of traffic from any attacker being unable to break the encryption +of the transmission layer. + +Another feature is additional end-to-end encryption for selected messages +which uses the public key of another member (the receiver) to encrypt +the message. Therefore it is ensured that only the selected member can +read its content. This will also use additional padding. + +@menu +* Current state:: +* Entering a room:: +* Opening a room:: +* Messaging in a room:: +* Private messaging:: +@end menu + +@node Current state +@subsection Current state + +Currently there is only a simplistic CLI application available to use the +messenger service. You can use this application with the +@command{gnunet-messenger} command. + +This application was designed for testing purposes and it does not provide +full functionality in the current state. It is planned to replace this CLI +application in later stages with a fully featured one using a client-side +library designed for messenger applications. + +@node Entering a room +@subsection Entering a room + +You can enter any room by its ROOMKEY and any PEERIDENTITY of a hosting peer. +Optionally you can provide any IDENTITY which can represent a local ego by +its name. + +@example +$ gnunet-messenger [-e IDENTITY] -d PEERIDENTITY -r ROOMKEY +@end example + +A PEERIDENTITY gets entered in encoded form. You can get your own peer ID by +using the @command{gnunet-peerinfo} command: + +@example +$ gnunet-peerinfo -s +@end example + +A ROOMKEY gets entered in readable text form. The service will then hash the +entered ROOMKEY and use the result as shared secret for transmission through +the CADET submodule. You can also optionally leave out the '-r' paramter and +the ROOMKEY to use the zeroed hash instead. + +If no IDENTITY is provided you will not send any name to others, you will be +referred as "anonymous" instead and use the anonymous ego. If you provide any +IDENTITY a matching ego will be used to sign your messages. If there is no +matching ego you will use the anonymous ego instead. The provided IDENTITY will +be distributed as your name for the service in any case. + +@node Opening a room +@subsection Opening a room + +You can open any room in a similar way to entering it. You just have to leave +out the '-d' parameter and the PEERIDENTITY of the hosting peer. + +@example +$ gnunet-messenger [-e IDENTITY] -r ROOMKEY +@end example + +Providing ROOMKEY and IDENTITY is identical to entering a room. Opening a room +will also make your peer to a host of this room. So others can enter the room +through your peer if they have the required ROOMKEY and your peer ID. + +If you want to use the zeroed hash as shared secret key for the room you can +also leave it out as well: + +@example +$ gnunet-messenger +@end example + +@node Messaging in a room +@subsection Messaging in a room + +Once joined a room by entering it or opening it you can write text-based +messages which will be distributed between all internally conntected peers. All +sent messages will be displayed in the same way as received messages. + +This relates to the internal handling of sent and received messages being mostly +identical on application layer. Every handled message will be represented +visually depending on its kind, content and sender. A sender can usually be +identified by the encoded member ID or their name. + +@example +[17X37K] * 'anonymous' says: "hey" +@end example + +@node Private messaging +@subsection Private messaging + +As referred in the introduction the service allows sending private messages with +additional end-to-end encryption. These messages will be visually represented +by messages of the kind 'PRIVATE' in case they can't be decrypted with your used +ego. Members who can't decrypt the message can potentially only identify its +sender but they can't identify its receiver. + +@example +[17X37K] ~ message: PRIVATE +@end example + +If they can be decrypted they will appear as their secret message instead +but marked visually. + +@example +[17X37K] ** 'anonymous' says: "hey" +@end example + +Currently you can only activate sending such encrypted text messages instead of +usual text messages by adding the '-p' parameter: + +@example +$ gnunet-messenger [-e IDENTITY] -d PEERIDENTITY -r ROOMKEY -p +@end example + +Notice that you can only send such encrypted messages to members who use an ego +which is not publically known as the anonymous ego to ensure transparency. If +any user could decrypt these messages they would not be private. So as receiver +of such messages the IDENTITY is required and it has to match a local ego. + diff --git a/doc/handbook/images/messenger_room.png b/doc/handbook/images/messenger_room.png new file mode 100644 index 000000000..8b3590cf8 Binary files /dev/null and b/doc/handbook/images/messenger_room.png differ diff --git a/doc/handbook/images/messenger_room.svg b/doc/handbook/images/messenger_room.svg new file mode 100644 index 000000000..6bd8d425c --- /dev/null +++ b/doc/handbook/images/messenger_room.svg @@ -0,0 +1,501 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + J + + + + + + + + + + + + + + + + + Peer + + + + Application + + A + C + F + G + H + D + B + I + E + + + Inactive + + + + Active + + Room + + diff --git a/po/POTFILES.in b/po/POTFILES.in index b2fa88d73..dbbb68bcc 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -207,25 +207,33 @@ src/json/json_mhd.c src/messenger/gnunet-messenger.c src/messenger/gnunet-service-messenger.c src/messenger/gnunet-service-messenger_basement.c -src/messenger/gnunet-service-messenger_contact.c +src/messenger/gnunet-service-messenger_ego_store.c src/messenger/gnunet-service-messenger_handle.c src/messenger/gnunet-service-messenger_list_handles.c src/messenger/gnunet-service-messenger_list_messages.c +src/messenger/gnunet-service-messenger_member.c +src/messenger/gnunet-service-messenger_member_session.c +src/messenger/gnunet-service-messenger_member_store.c src/messenger/gnunet-service-messenger_message_handle.c src/messenger/gnunet-service-messenger_message_kind.c src/messenger/gnunet-service-messenger_message_recv.c src/messenger/gnunet-service-messenger_message_send.c src/messenger/gnunet-service-messenger_message_store.c +src/messenger/gnunet-service-messenger_operation.c +src/messenger/gnunet-service-messenger_operation_store.c src/messenger/gnunet-service-messenger_room.c src/messenger/gnunet-service-messenger_service.c src/messenger/gnunet-service-messenger_tunnel.c -src/messenger/gnunet-service-messenger_util.c src/messenger/messenger_api.c src/messenger/messenger_api_contact.c +src/messenger/messenger_api_contact_store.c src/messenger/messenger_api_handle.c src/messenger/messenger_api_list_tunnels.c src/messenger/messenger_api_message.c src/messenger/messenger_api_room.c +src/messenger/messenger_api_util.c +src/messenger/testing_messenger_barrier.c +src/messenger/testing_messenger_setup.c src/my/my.c src/my/my_query_helper.c src/my/my_result_helper.c @@ -412,6 +420,13 @@ src/testbed/testbed_api_underlay.c src/testing/gnunet-testing.c src/testing/list-keys.c src/testing/testing.c +src/testing/testing_api_cmd_batch.c +src/testing/testing_api_cmd_hello_world.c +src/testing/testing_api_cmd_hello_world_birth.c +src/testing/testing_api_loop.c +src/testing/testing_api_trait_cmd.c +src/testing/testing_api_trait_process.c +src/testing/testing_api_traits.c src/topology/friends.c src/topology/gnunet-daemon-topology.c src/transport/gnunet-communicator-tcp.c @@ -508,6 +523,7 @@ src/util/dnsparser.c src/util/dnsstub.c src/util/getopt.c src/util/getopt_helpers.c +src/util/gnunet-base32.c src/util/gnunet-config-diff.c src/util/gnunet-config.c src/util/gnunet-crypto-tvg.c @@ -550,7 +566,5 @@ src/vpn/vpn_api.c src/zonemaster/gnunet-service-zonemaster-monitor.c src/zonemaster/gnunet-service-zonemaster.c src/fs/fs_api.h -src/include/gnunet_identity_service.h -src/include/gnunet_messenger_service.h src/testbed/testbed_api.h src/testbed/testbed_api_operations.h diff --git a/src/messenger/Makefile.am b/src/messenger/Makefile.am index 1ebfbe5ed..2bb9ad922 100644 --- a/src/messenger/Makefile.am +++ b/src/messenger/Makefile.am @@ -25,35 +25,23 @@ bin_PROGRAMS = \ gnunet-messenger lib_LTLIBRARIES = \ - libgnunetmessenger_common.la \ libgnunetmessenger.la \ $(EXP_LIB) -libgnunetmessenger_common_la_SOURCES = \ +libgnunetmessenger_la_SOURCES = \ + messenger_api.c \ messenger_api_ego.h \ messenger_api_contact.c messenger_api_contact.h \ messenger_api_contact_store.c messenger_api_contact_store.h \ messenger_api_message.c messenger_api_message.h \ messenger_api_list_tunnels.c messenger_api_list_tunnels.h \ - messenger_api_util.c messenger_api_util.h -libgnunetmessenger_common_la_LIBADD = \ - $(top_builddir)/src/util/libgnunetutil.la \ - $(top_builddir)/src/cadet/libgnunetcadet.la \ - $(top_builddir)/src/identity/libgnunetidentity.la \ - $(XLIB) \ - $(LTLIBINTL) -libgnunetmessenger_common_la_LDFLAGS = \ - $(GN_LIB_LDFLAGS) \ - -version-info 0:0:0 - -libgnunetmessenger_la_SOURCES = \ - messenger_api.c \ + messenger_api_util.c messenger_api_util.h \ messenger_api_handle.c messenger_api_handle.h \ messenger_api_room.c messenger_api_room.h libgnunetmessenger_la_LIBADD = \ $(top_builddir)/src/util/libgnunetutil.la \ + $(top_builddir)/src/cadet/libgnunetcadet.la \ $(top_builddir)/src/identity/libgnunetidentity.la \ - libgnunetmessenger_common.la \ $(XLIB) \ $(LTLIBINTL) libgnunetmessenger_la_LDFLAGS = \ @@ -63,10 +51,8 @@ libgnunetmessenger_la_LDFLAGS = \ gnunet_messenger_SOURCES = \ gnunet-messenger.c gnunet_messenger_LDADD = \ - libgnunetmessenger_common.la \ libgnunetmessenger.la \ - $(top_builddir)/src/util/libgnunetutil.la \ - $(top_builddir)/src/identity/libgnunetidentity.la + $(top_builddir)/src/util/libgnunetutil.la gnunet_messenger_LDFLAGS = \ $(GN_LIBINTL) @@ -91,11 +77,10 @@ gnunet_service_messenger_SOURCES = \ gnunet-service-messenger_room.c gnunet-service-messenger_room.h \ gnunet-service-messenger_tunnel.c gnunet-service-messenger_tunnel.h gnunet_service_messenger_LDADD = \ + libgnunetmessenger.la \ $(top_builddir)/src/util/libgnunetutil.la \ $(top_builddir)/src/cadet/libgnunetcadet.la \ $(top_builddir)/src/identity/libgnunetidentity.la \ - libgnunetmessenger_common.la \ - libgnunetmessenger.la \ $(GN_LIBINTL) check_PROGRAMS = \ @@ -121,7 +106,6 @@ endif test_messenger_api_SOURCES = \ test_messenger.c test_messenger_api_LDADD = \ - libgnunetmessenger_common.la \ libgnunetmessenger.la \ $(top_builddir)/src/testing/libgnunettesting.la \ $(top_builddir)/src/util/libgnunetutil.la @@ -129,7 +113,6 @@ test_messenger_api_LDADD = \ test_messenger_anonymous_SOURCES = \ test_messenger_anonymous.c test_messenger_anonymous_LDADD = \ - libgnunetmessenger_common.la \ libgnunetmessenger.la \ $(top_builddir)/src/testing/libgnunettesting.la \ $(top_builddir)/src/util/libgnunetutil.la @@ -139,7 +122,6 @@ test_messenger_sync_client_SOURCES = \ testing_messenger_barrier.c testing_messenger_barrier.h \ testing_messenger_setup.c testing_messenger_setup.h test_messenger_sync_client_LDADD = \ - libgnunetmessenger_common.la \ libgnunetmessenger.la \ $(top_builddir)/src/testbed/libgnunettestbed.la \ $(top_builddir)/src/testing/libgnunettesting.la \ @@ -150,7 +132,6 @@ test_messenger_async_client_SOURCES = \ testing_messenger_barrier.c testing_messenger_barrier.h \ testing_messenger_setup.c testing_messenger_setup.h test_messenger_async_client_LDADD = \ - libgnunetmessenger_common.la \ libgnunetmessenger.la \ $(top_builddir)/src/testbed/libgnunettestbed.la \ $(top_builddir)/src/testing/libgnunettesting.la \ @@ -161,7 +142,6 @@ test_messenger_worst_client_SOURCES = \ testing_messenger_barrier.c testing_messenger_barrier.h \ testing_messenger_setup.c testing_messenger_setup.h test_messenger_worst_client_LDADD = \ - libgnunetmessenger_common.la \ libgnunetmessenger.la \ $(top_builddir)/src/testbed/libgnunettestbed.la \ $(top_builddir)/src/testing/libgnunettesting.la \ @@ -172,7 +152,6 @@ test_messenger_sync_p2p_SOURCES = \ testing_messenger_barrier.c testing_messenger_barrier.h \ testing_messenger_setup.c testing_messenger_setup.h test_messenger_sync_p2p_LDADD = \ - libgnunetmessenger_common.la \ libgnunetmessenger.la \ $(top_builddir)/src/testbed/libgnunettestbed.la \ $(top_builddir)/src/testing/libgnunettesting.la \ @@ -183,7 +162,6 @@ test_messenger_async_p2p_SOURCES = \ testing_messenger_barrier.c testing_messenger_barrier.h \ testing_messenger_setup.c testing_messenger_setup.h test_messenger_async_p2p_LDADD = \ - libgnunetmessenger_common.la \ libgnunetmessenger.la \ $(top_builddir)/src/testbed/libgnunettestbed.la \ $(top_builddir)/src/testing/libgnunettesting.la \ @@ -194,7 +172,6 @@ test_messenger_worst_p2p_SOURCES = \ testing_messenger_barrier.c testing_messenger_barrier.h \ testing_messenger_setup.c testing_messenger_setup.h test_messenger_worst_p2p_LDADD = \ - libgnunetmessenger_common.la \ libgnunetmessenger.la \ $(top_builddir)/src/testbed/libgnunettestbed.la \ $(top_builddir)/src/testing/libgnunettesting.la \ @@ -205,7 +182,6 @@ test_messenger_server_SOURCES = \ testing_messenger_barrier.c testing_messenger_barrier.h \ testing_messenger_setup.c testing_messenger_setup.h test_messenger_server_LDADD = \ - libgnunetmessenger_common.la \ libgnunetmessenger.la \ $(top_builddir)/src/testbed/libgnunettestbed.la \ $(top_builddir)/src/testing/libgnunettesting.la \ @@ -216,7 +192,6 @@ test_messenger_growth_SOURCES = \ testing_messenger_barrier.c testing_messenger_barrier.h \ testing_messenger_setup.c testing_messenger_setup.h test_messenger_growth_LDADD = \ - libgnunetmessenger_common.la \ libgnunetmessenger.la \ $(top_builddir)/src/testbed/libgnunettestbed.la \ $(top_builddir)/src/testing/libgnunettesting.la \ @@ -227,7 +202,6 @@ test_messenger_ring_SOURCES = \ testing_messenger_barrier.c testing_messenger_barrier.h \ testing_messenger_setup.c testing_messenger_setup.h test_messenger_ring_LDADD = \ - libgnunetmessenger_common.la \ libgnunetmessenger.la \ $(top_builddir)/src/testbed/libgnunettestbed.la \ $(top_builddir)/src/testing/libgnunettesting.la \ @@ -238,7 +212,6 @@ test_messenger_adapt_SOURCES = \ testing_messenger_barrier.c testing_messenger_barrier.h \ testing_messenger_setup.c testing_messenger_setup.h test_messenger_adapt_LDADD = \ - libgnunetmessenger_common.la \ libgnunetmessenger.la \ $(top_builddir)/src/testbed/libgnunettestbed.la \ $(top_builddir)/src/testing/libgnunettesting.la \ -- cgit v1.2.3