diff options
author | TheJackiMonster <thejackimonster@gmail.com> | 2020-11-01 22:57:28 +0100 |
---|---|---|
committer | TheJackiMonster <thejackimonster@gmail.com> | 2021-03-06 01:30:37 +0100 |
commit | 2925310d67483aca6e055e1ce0593c6463cd6c72 (patch) | |
tree | 2cc8aacafc25563cdccde2eee9a90f9ca257d405 /src/messenger/gnunet-service-messenger_list_messages.h | |
parent | 82b864a64679b0a735201724907cdf2b7e4e16c3 (diff) | |
download | gnunet-2925310d67483aca6e055e1ce0593c6463cd6c72.tar.gz gnunet-2925310d67483aca6e055e1ce0593c6463cd6c72.zip |
-added core functionality of the messenger service
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
formatting messenger code
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
-completed core functionality of messenger service
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
-code cleanup and reuse
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
+added structure to memberships of rooms
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
-implemented member permission checks and deletion of messages
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
-moved solving requests out of updating last messages (also forward before update)
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
-reduced complexity of permisson check and changed load/save of rooms
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
-added save/load for accessed keys and basement peers of a room
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
-implemented save/load for members with their history and session
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
-abstracted management of egos and contacts
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
-fix warning
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
-abstracted management of members
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
-fixed and adjusted test case
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
-separated handling of direct and anonymous contacts
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
-messenger added member-sessions which fix multiple edge cases, also additional cleanup
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
-updated docs and fixed memory leak
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
-changed info messages and added protocol version exchange
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
-adjusted client api to use contacts from sessions
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
-added more logging and fixed wrong session usage
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
-adjusted comm0 test case and removed adding members from checking messages
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
-fixed test-case for peer exchange
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
-getting multiple peers connected in test-case with cadet
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
-fixed wrong assert and added tunnel version check
-simplified handling and forwarding
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
-fixed merging last messages and cycling info messages
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
-automated adding sessions and members
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
-corrected use of identity keys and signatures
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
-adding local joining on entering external room
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
-fixed test-case comm0
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
-added more test-cases with generic setup
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
-fixed multiple simultaneous channels blocking each other
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
-making test-cases more precise
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
-added check of members in test-cases, reduced merge messages
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
-unified delayed operations: requests, deletions and merges
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
-finished handling of operations
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
-fixed member session historystorage, added request permission check and padding for transmission
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
-improved padding and removed automatic recursive requests
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
-implemented filter for sending messages and added private messages to API level
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
-wrong setups fixed with proper ego lookups
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
-fixed problem with anonymous ego and changed to discrete-level padding
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
-added links to replace deleted messages, added local deletion and fixed anonymous id changing
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
-added session completion and removal through completion process
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
Diffstat (limited to 'src/messenger/gnunet-service-messenger_list_messages.h')
-rw-r--r-- | src/messenger/gnunet-service-messenger_list_messages.h | 42 |
1 files changed, 35 insertions, 7 deletions
diff --git a/src/messenger/gnunet-service-messenger_list_messages.h b/src/messenger/gnunet-service-messenger_list_messages.h index 266c30ec6..9ace84cbf 100644 --- a/src/messenger/gnunet-service-messenger_list_messages.h +++ b/src/messenger/gnunet-service-messenger_list_messages.h | |||
@@ -1,6 +1,6 @@ | |||
1 | /* | 1 | /* |
2 | This file is part of GNUnet. | 2 | This file is part of GNUnet. |
3 | Copyright (C) 2020 GNUnet e.V. | 3 | Copyright (C) 2020--2021 GNUnet e.V. |
4 | 4 | ||
5 | GNUnet is free software: you can redistribute it and/or modify it | 5 | GNUnet is free software: you can redistribute it and/or modify it |
6 | under the terms of the GNU Affero General Public License as published | 6 | under the terms of the GNU Affero General Public License as published |
@@ -29,6 +29,7 @@ | |||
29 | #include "platform.h" | 29 | #include "platform.h" |
30 | #include "gnunet_crypto_lib.h" | 30 | #include "gnunet_crypto_lib.h" |
31 | #include "gnunet_container_lib.h" | 31 | #include "gnunet_container_lib.h" |
32 | #include "gnunet_disk_lib.h" | ||
32 | 33 | ||
33 | struct GNUNET_MESSENGER_ListMessage | 34 | struct GNUNET_MESSENGER_ListMessage |
34 | { | 35 | { |
@@ -47,7 +48,7 @@ struct GNUNET_MESSENGER_ListMessages | |||
47 | /** | 48 | /** |
48 | * Initializes list of message hashes as empty list. | 49 | * Initializes list of message hashes as empty list. |
49 | * | 50 | * |
50 | * @param messages List of hashes | 51 | * @param[out] messages List of hashes |
51 | */ | 52 | */ |
52 | void | 53 | void |
53 | init_list_messages (struct GNUNET_MESSENGER_ListMessages *messages); | 54 | init_list_messages (struct GNUNET_MESSENGER_ListMessages *messages); |
@@ -55,7 +56,7 @@ init_list_messages (struct GNUNET_MESSENGER_ListMessages *messages); | |||
55 | /** | 56 | /** |
56 | * Clears the list of message hashes. | 57 | * Clears the list of message hashes. |
57 | * | 58 | * |
58 | * @param messages List of hashes | 59 | * @param[in/out] messages List of hashes |
59 | */ | 60 | */ |
60 | void | 61 | void |
61 | clear_list_messages (struct GNUNET_MESSENGER_ListMessages *messages); | 62 | clear_list_messages (struct GNUNET_MESSENGER_ListMessages *messages); |
@@ -63,19 +64,46 @@ clear_list_messages (struct GNUNET_MESSENGER_ListMessages *messages); | |||
63 | /** | 64 | /** |
64 | * Adds a specific <i>hash</i> from a message to the end of the list. | 65 | * Adds a specific <i>hash</i> from a message to the end of the list. |
65 | * | 66 | * |
66 | * @param messages List of hashes | 67 | * @param[in/out] messages List of hashes |
67 | * @param hash Hash of message | 68 | * @param[in] hash Hash of message |
68 | */ | 69 | */ |
69 | void | 70 | void |
70 | add_to_list_messages (struct GNUNET_MESSENGER_ListMessages *messages, const struct GNUNET_HashCode *hash); | 71 | add_to_list_messages (struct GNUNET_MESSENGER_ListMessages *messages, const struct GNUNET_HashCode *hash); |
71 | 72 | ||
72 | /** | 73 | /** |
74 | * Copies all message hashes from an <i>origin</i> to another list. | ||
75 | * | ||
76 | * @param[in/out] messages Destination list of hashes | ||
77 | * @param[in] origin Source list of hashes | ||
78 | */ | ||
79 | void | ||
80 | copy_list_messages (struct GNUNET_MESSENGER_ListMessages *messages, const struct GNUNET_MESSENGER_ListMessages *origin); | ||
81 | |||
82 | /** | ||
73 | * Removes the first entry with a matching <i>hash</i> from the list. | 83 | * Removes the first entry with a matching <i>hash</i> from the list. |
74 | * | 84 | * |
75 | * @param messages List of hashes | 85 | * @param[in/out] messages List of hashes |
76 | * @param hash Hash of message | 86 | * @param[in] hash Hash of message |
77 | */ | 87 | */ |
78 | void | 88 | void |
79 | remove_from_list_messages (struct GNUNET_MESSENGER_ListMessages *messages, const struct GNUNET_HashCode *hash); | 89 | remove_from_list_messages (struct GNUNET_MESSENGER_ListMessages *messages, const struct GNUNET_HashCode *hash); |
80 | 90 | ||
91 | /** | ||
92 | * Loads the list of message hashes from a file under a given <i>path</i>. | ||
93 | * | ||
94 | * @param[out] messages List of hashes | ||
95 | * @param[in] path Path of file | ||
96 | */ | ||
97 | void | ||
98 | load_list_messages (struct GNUNET_MESSENGER_ListMessages *messages, const char *path); | ||
99 | |||
100 | /** | ||
101 | * Saves the list of message hashes to a file under a given <i>path</i>. | ||
102 | * | ||
103 | * @param[in] messages List of hashes | ||
104 | * @param[in] path Path of file | ||
105 | */ | ||
106 | void | ||
107 | save_list_messages (struct GNUNET_MESSENGER_ListMessages *messages, const char *path); | ||
108 | |||
81 | #endif //GNUNET_SERVICE_MESSENGER_LIST_MESSAGES_H | 109 | #endif //GNUNET_SERVICE_MESSENGER_LIST_MESSAGES_H |