X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Fconversation%2Fconversation.h;h=69f868e6c594d8d730bf446ef47a3be99a6517a4;hb=c60e83d3939da9f4e368c13ba3d2ea950b6c28d1;hp=bbe587b50ddbc0c38c3406f16b1d4fd1a9a18774;hpb=b3e1a50567ccdaf2ac5eb26637fd49b47e181d92;p=oweals%2Fgnunet.git diff --git a/src/conversation/conversation.h b/src/conversation/conversation.h index bbe587b50..69f868e6c 100644 --- a/src/conversation/conversation.h +++ b/src/conversation/conversation.h @@ -1,21 +1,21 @@ /* This file is part of GNUnet. - Copyright (C) 2013 GNUnet e.V. + Copyright (C) 2013-2016 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 Affero General Public License + along with this program. If not, see . - 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., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. + SPDX-License-Identifier: AGPL3.0-or-later */ /** @@ -75,9 +75,14 @@ struct ClientPhoneRegisterMessage struct GNUNET_MessageHeader header; /** - * Phone line to register. + * Always zero. */ - uint32_t line GNUNET_PACKED; + uint32_t reserved GNUNET_PACKED; + + /** + * Phone line / CADET port to register. + */ + struct GNUNET_HashCode line_port; }; @@ -92,8 +97,8 @@ struct ClientPhoneRingMessage struct GNUNET_MessageHeader header; /** - * CID, internal caller ID to identify which active call we are - * talking about. + * CID, internal caller ID number used in the future to identify + * which active call we are talking about. */ uint32_t cid GNUNET_PACKED; @@ -183,7 +188,7 @@ struct ClientPhoneHangupMessage /** - * Message Client <->Service to transmit the audio. + * Message Client <-> Service to transmit the audio. */ struct ClientAudioMessage { @@ -214,15 +219,20 @@ struct ClientCallMessage struct GNUNET_MessageHeader header; /** - * Which phone line to call at the peer? + * Always zero. */ - uint32_t line GNUNET_PACKED; + uint32_t reserved GNUNET_PACKED; /** * Which peer is hosting the line? */ struct GNUNET_PeerIdentity target; + /** + * Which phone line to call at the peer? + */ + struct GNUNET_HashCode line_port; + /** * Identity of the caller. */ @@ -241,58 +251,74 @@ struct ClientPhonePickedupMessage */ struct GNUNET_MessageHeader header; + /** + * Call ID of the corresponding + * #GNUNET_MESSAGE_TYPE_CONVERSATION_CS_PHONE_CALL + */ + uint32_t cid GNUNET_PACKED; + }; /** - * Cadet message for phone is ringing. + * Information signed in a `struct CadetPhoneRingMessage` + * whereby the caller self-identifies to the receiver. */ -struct CadetPhoneRingMessage +struct CadetPhoneRingInfoPS { /** - * Type is: #GNUNET_MESSAGE_TYPE_CONVERSATION_CADET_PHONE_RING + * Purpose for the signature, must be + * #GNUNET_SIGNATURE_PURPOSE_CONVERSATION_RING. */ - struct GNUNET_MessageHeader header; + struct GNUNET_CRYPTO_EccSignaturePurpose purpose; /** - * Desired target line. + * Which port did the call go to? */ - uint32_t remote_line GNUNET_PACKED; + struct GNUNET_HashCode line_port; /** - * Purpose for the signature. + * Which peer is the call for? */ - struct GNUNET_CRYPTO_EccSignaturePurpose purpose; + struct GNUNET_PeerIdentity target_peer; /** - * Who is calling us? (also who is signing). + * When does the signature expire? */ - struct GNUNET_CRYPTO_EcdsaPublicKey caller_id; + struct GNUNET_TIME_AbsoluteNBO expiration_time; +}; + +/** + * Cadet message to make a phone ring. Sent to the port + * of the respective phone. + */ +struct CadetPhoneRingMessage +{ /** - * Who are we calling? + * Type is: #GNUNET_MESSAGE_TYPE_CONVERSATION_CADET_PHONE_RING */ - struct GNUNET_PeerIdentity target; + struct GNUNET_MessageHeader header; /** - * From where are we calling? + * Always zero. */ - struct GNUNET_PeerIdentity source; + uint32_t reserved GNUNET_PACKED; /** - * When does the signature expire? + * Who is calling us? (also who is signing). */ - struct GNUNET_TIME_AbsoluteNBO expiration_time; + struct GNUNET_CRYPTO_EcdsaPublicKey caller_id; /** - * Signature on the above. + * When does the signature expire? */ - struct GNUNET_CRYPTO_EcdsaSignature signature; + struct GNUNET_TIME_AbsoluteNBO expiration_time; /** - * Source line for audio data in the other direction. + * Signature over a `struct CadetPhoneRingInfoPS` */ - uint32_t source_line GNUNET_PACKED; + struct GNUNET_CRYPTO_EcdsaSignature signature; }; @@ -359,16 +385,6 @@ struct CadetAudioMessage */ struct GNUNET_MessageHeader header; - /** - * Target line on the receiving end. - */ - uint32_t remote_line GNUNET_PACKED; - - /** - * The source line sending this data - */ - uint32_t source_line GNUNET_PACKED; - /* followed by audio data */ };