/*
This file is part of GNUnet.
- (C) 2013, 2014 Christian Grothoff (and other contributing authors)
+ Copyright (C) 2013, 2014 GNUnet e.V.
- GNUnet is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published
- by the Free Software Foundation; either version 3, or (at your
- option) any later version.
+ GNUnet is free software: you can redistribute it and/or modify it
+ under the terms of the GNU Affero General Public License as published
+ by the Free Software Foundation, either version 3 of the License,
+ or (at your option) any later version.
GNUnet is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
+ Affero General Public License for more details.
- You should have received a copy of the GNU General Public License
- along with GNUnet; see the file COPYING. If not, write to the
- Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA.
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+ SPDX-License-Identifier: AGPL3.0-or-later
*/
/**
* @file scalarproduct/gnunet-service-scalarproduct.h
* send a `struct AliceCryptodataMessage *`. Bob is not expected
* to respond via CADET in the meantime.
*/
-struct ServiceRequestMessage
-{
+struct ServiceRequestMessage {
/**
* Type is #GNUNET_MESSAGE_TYPE_SCALARPRODUCT_SESSION_INITIALIZATION
*/
* Alice's public key
*/
struct GNUNET_CRYPTO_PaillierPublicKey public_key;
-
};
* (after set intersection). Alice may send messages of this
* type repeatedly to transmit all values.
*/
-struct AliceCryptodataMessage
-{
+struct AliceCryptodataMessage {
/**
* Type is #GNUNET_MESSAGE_TYPE_SCALARPRODUCT_ALICE_CRYPTODATA
*/
* Message type passed from responding service Bob to responding
* service Alice to complete a request and allow Alice to compute the
* result. If Bob's reply does not fit into this one message, the
- * conversation may be continued with `struct MultipartMessage`
+ * conversation may be continued with `struct BobCryptodataMultipartMessage`
* messages afterwards.
*/
-struct ServiceResponseMessage
-{
+struct BobCryptodataMessage {
/**
* GNUNET message header with type
* #GNUNET_MESSAGE_TYPE_SCALARPRODUCT_BOB_CRYPTODATA.
*/
struct GNUNET_MessageHeader header;
- /**
- * For alignment, always zero.
- */
- uint32_t reserved GNUNET_PACKED;
-
- /**
- * How many elements the Bob has in the intersection (in NBO).
- */
- uint32_t intersection_element_count GNUNET_PACKED;
-
/**
* How many elements this individual message delivers (in NBO).
*/
uint32_t contained_element_count GNUNET_PACKED;
- /**
- * The transaction/session key used to identify a session.
- * FIXME: needed? CADET should already identify sessions!
- */
- struct GNUNET_HashCode key;
-
/**
* followed by s | s' | k[i][perm]
*/
/**
* Multipart Message type passed between to supply additional elements
* for the peer. Send from Bob to Alice with additional elements
- * of k[i][perm] after his `struct ServiceResponseMessage *`.
+ * of k[i][perm] after his `struct BobCryptodataMessage *`.
* Once all k-values have been transmitted, Bob is finished and
* Alice can transmit the final result to the client.
*/
-struct MultipartMessage
-{
+struct BobCryptodataMultipartMessage {
/**
* GNUNET message header
*/
uint32_t contained_element_count GNUNET_PACKED;
/**
- * struct GNUNET_CRYPTO_PaillierCiphertext[multipart_element_count]
+ * Followed by `struct
+ * GNUNET_CRYPTO_PaillierCiphertext[contained_element_count]`
*/
};