diff options
Diffstat (limited to 'src/rps/gnunet-service-rps_sampler_elem.c')
-rw-r--r-- | src/rps/gnunet-service-rps_sampler_elem.c | 98 |
1 files changed, 49 insertions, 49 deletions
diff --git a/src/rps/gnunet-service-rps_sampler_elem.c b/src/rps/gnunet-service-rps_sampler_elem.c index 9487c5f2e..6d5305f03 100644 --- a/src/rps/gnunet-service-rps_sampler_elem.c +++ b/src/rps/gnunet-service-rps_sampler_elem.c | |||
@@ -11,12 +11,12 @@ | |||
11 | WITHOUT ANY WARRANTY; without even the implied warranty of | 11 | WITHOUT ANY WARRANTY; without even the implied warranty of |
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
13 | Affero General Public License for more details. | 13 | Affero General Public License for more details. |
14 | 14 | ||
15 | You should have received a copy of the GNU Affero General Public License | 15 | You should have received a copy of the GNU Affero General Public License |
16 | along with this program. If not, see <http://www.gnu.org/licenses/>. | 16 | along with this program. If not, see <http://www.gnu.org/licenses/>. |
17 | 17 | ||
18 | SPDX-License-Identifier: AGPL3.0-or-later | 18 | SPDX-License-Identifier: AGPL3.0-or-later |
19 | */ | 19 | */ |
20 | 20 | ||
21 | /** | 21 | /** |
22 | * @file rps/gnunet-service-rps_sampler.c | 22 | * @file rps/gnunet-service-rps_sampler.c |
@@ -32,12 +32,12 @@ | |||
32 | 32 | ||
33 | #include "rps-test_util.h" | 33 | #include "rps-test_util.h" |
34 | 34 | ||
35 | #define LOG(kind, ...) GNUNET_log_from(kind,"rps-sampler_elem",__VA_ARGS__) | 35 | #define LOG(kind, ...) GNUNET_log_from(kind, "rps-sampler_elem", __VA_ARGS__) |
36 | 36 | ||
37 | 37 | ||
38 | /*********************************************************************** | 38 | /*********************************************************************** |
39 | * WARNING: This section needs to be reviewed regarding the use of | 39 | * WARNING: This section needs to be reviewed regarding the use of |
40 | * functions providing (pseudo)randomness! | 40 | * functions providing (pseudo)randomness! |
41 | ***********************************************************************/ | 41 | ***********************************************************************/ |
42 | 42 | ||
43 | 43 | ||
@@ -47,7 +47,7 @@ | |||
47 | * @param sampler_el The sampler element to (re-) initialise | 47 | * @param sampler_el The sampler element to (re-) initialise |
48 | */ | 48 | */ |
49 | void | 49 | void |
50 | RPS_sampler_elem_reinit (struct RPS_SamplerElement *sampler_elem) | 50 | RPS_sampler_elem_reinit(struct RPS_SamplerElement *sampler_elem) |
51 | { | 51 | { |
52 | sampler_elem->is_empty = EMPTY; | 52 | sampler_elem->is_empty = EMPTY; |
53 | 53 | ||
@@ -58,7 +58,7 @@ RPS_sampler_elem_reinit (struct RPS_SamplerElement *sampler_elem) | |||
58 | 58 | ||
59 | sampler_elem->last_client_request = GNUNET_TIME_UNIT_FOREVER_ABS; | 59 | sampler_elem->last_client_request = GNUNET_TIME_UNIT_FOREVER_ABS; |
60 | 60 | ||
61 | sampler_elem->birth = GNUNET_TIME_absolute_get (); | 61 | sampler_elem->birth = GNUNET_TIME_absolute_get(); |
62 | sampler_elem->num_peers = 0; | 62 | sampler_elem->num_peers = 0; |
63 | sampler_elem->num_change = 0; | 63 | sampler_elem->num_change = 0; |
64 | } | 64 | } |
@@ -73,13 +73,13 @@ RPS_sampler_elem_reinit (struct RPS_SamplerElement *sampler_elem) | |||
73 | * @return a newly created RPS_SamplerElement which currently holds no id. | 73 | * @return a newly created RPS_SamplerElement which currently holds no id. |
74 | */ | 74 | */ |
75 | struct RPS_SamplerElement * | 75 | struct RPS_SamplerElement * |
76 | RPS_sampler_elem_create (void) | 76 | RPS_sampler_elem_create(void) |
77 | { | 77 | { |
78 | struct RPS_SamplerElement *s; | 78 | struct RPS_SamplerElement *s; |
79 | 79 | ||
80 | s = GNUNET_new (struct RPS_SamplerElement); | 80 | s = GNUNET_new(struct RPS_SamplerElement); |
81 | 81 | ||
82 | RPS_sampler_elem_reinit (s); | 82 | RPS_sampler_elem_reinit(s); |
83 | 83 | ||
84 | return s; | 84 | return s; |
85 | } | 85 | } |
@@ -91,9 +91,9 @@ RPS_sampler_elem_create (void) | |||
91 | * @param sampler_elem the element to destroy | 91 | * @param sampler_elem the element to destroy |
92 | */ | 92 | */ |
93 | void | 93 | void |
94 | RPS_sampler_elem_destroy (struct RPS_SamplerElement *sampler_elem) | 94 | RPS_sampler_elem_destroy(struct RPS_SamplerElement *sampler_elem) |
95 | { | 95 | { |
96 | GNUNET_free (sampler_elem); | 96 | GNUNET_free(sampler_elem); |
97 | } | 97 | } |
98 | 98 | ||
99 | 99 | ||
@@ -104,50 +104,50 @@ RPS_sampler_elem_destroy (struct RPS_SamplerElement *sampler_elem) | |||
104 | * @param new_ID The PeerID to update with | 104 | * @param new_ID The PeerID to update with |
105 | */ | 105 | */ |
106 | void | 106 | void |
107 | RPS_sampler_elem_next (struct RPS_SamplerElement *sampler_elem, | 107 | RPS_sampler_elem_next(struct RPS_SamplerElement *sampler_elem, |
108 | const struct GNUNET_PeerIdentity *new_ID) | 108 | const struct GNUNET_PeerIdentity *new_ID) |
109 | { | 109 | { |
110 | struct GNUNET_HashCode other_hash; | 110 | struct GNUNET_HashCode other_hash; |
111 | 111 | ||
112 | sampler_elem->num_peers++; | 112 | sampler_elem->num_peers++; |
113 | 113 | ||
114 | if (0 == GNUNET_memcmp (new_ID, &(sampler_elem->peer_id))) | 114 | if (0 == GNUNET_memcmp(new_ID, &(sampler_elem->peer_id))) |
115 | { | ||
116 | LOG (GNUNET_ERROR_TYPE_DEBUG, "Have already PeerID %s\n", | ||
117 | GNUNET_i2s (&(sampler_elem->peer_id))); | ||
118 | } | ||
119 | else | ||
120 | { | ||
121 | GNUNET_CRYPTO_hmac(&sampler_elem->auth_key, | ||
122 | new_ID, | ||
123 | sizeof(struct GNUNET_PeerIdentity), | ||
124 | &other_hash); | ||
125 | |||
126 | if (EMPTY == sampler_elem->is_empty) | ||
127 | { | 115 | { |
128 | LOG (GNUNET_ERROR_TYPE_DEBUG, | 116 | LOG(GNUNET_ERROR_TYPE_DEBUG, "Have already PeerID %s\n", |
129 | "Got PeerID %s; Simply accepting (was empty previously).\n", | 117 | GNUNET_i2s(&(sampler_elem->peer_id))); |
130 | GNUNET_i2s(new_ID)); | ||
131 | sampler_elem->peer_id = *new_ID; | ||
132 | sampler_elem->peer_id_hash = other_hash; | ||
133 | |||
134 | sampler_elem->num_change++; | ||
135 | } | 118 | } |
136 | else if (0 > GNUNET_CRYPTO_hash_cmp (&other_hash, &sampler_elem->peer_id_hash)) | 119 | else |
137 | { | ||
138 | LOG (GNUNET_ERROR_TYPE_DEBUG, "Discarding old PeerID %s\n", | ||
139 | GNUNET_i2s (&sampler_elem->peer_id)); | ||
140 | sampler_elem->peer_id = *new_ID; | ||
141 | sampler_elem->peer_id_hash = other_hash; | ||
142 | |||
143 | sampler_elem->num_change++; | ||
144 | } | ||
145 | else | ||
146 | { | 120 | { |
147 | LOG (GNUNET_ERROR_TYPE_DEBUG, "Keeping old PeerID %s\n", | 121 | GNUNET_CRYPTO_hmac(&sampler_elem->auth_key, |
148 | GNUNET_i2s (&sampler_elem->peer_id)); | 122 | new_ID, |
123 | sizeof(struct GNUNET_PeerIdentity), | ||
124 | &other_hash); | ||
125 | |||
126 | if (EMPTY == sampler_elem->is_empty) | ||
127 | { | ||
128 | LOG(GNUNET_ERROR_TYPE_DEBUG, | ||
129 | "Got PeerID %s; Simply accepting (was empty previously).\n", | ||
130 | GNUNET_i2s(new_ID)); | ||
131 | sampler_elem->peer_id = *new_ID; | ||
132 | sampler_elem->peer_id_hash = other_hash; | ||
133 | |||
134 | sampler_elem->num_change++; | ||
135 | } | ||
136 | else if (0 > GNUNET_CRYPTO_hash_cmp(&other_hash, &sampler_elem->peer_id_hash)) | ||
137 | { | ||
138 | LOG(GNUNET_ERROR_TYPE_DEBUG, "Discarding old PeerID %s\n", | ||
139 | GNUNET_i2s(&sampler_elem->peer_id)); | ||
140 | sampler_elem->peer_id = *new_ID; | ||
141 | sampler_elem->peer_id_hash = other_hash; | ||
142 | |||
143 | sampler_elem->num_change++; | ||
144 | } | ||
145 | else | ||
146 | { | ||
147 | LOG(GNUNET_ERROR_TYPE_DEBUG, "Keeping old PeerID %s\n", | ||
148 | GNUNET_i2s(&sampler_elem->peer_id)); | ||
149 | } | ||
149 | } | 150 | } |
150 | } | ||
151 | sampler_elem->is_empty = NOT_EMPTY; | 151 | sampler_elem->is_empty = NOT_EMPTY; |
152 | } | 152 | } |
153 | 153 | ||
@@ -158,8 +158,8 @@ RPS_sampler_elem_next (struct RPS_SamplerElement *sampler_elem, | |||
158 | * @param auth_key the key to use | 158 | * @param auth_key the key to use |
159 | */ | 159 | */ |
160 | void | 160 | void |
161 | RPS_sampler_elem_set (struct RPS_SamplerElement *sampler_elem, | 161 | RPS_sampler_elem_set(struct RPS_SamplerElement *sampler_elem, |
162 | struct GNUNET_CRYPTO_AuthKey auth_key) | 162 | struct GNUNET_CRYPTO_AuthKey auth_key) |
163 | { | 163 | { |
164 | sampler_elem->auth_key = auth_key; | 164 | sampler_elem->auth_key = auth_key; |
165 | } | 165 | } |