X-Git-Url: http://git.silcnet.org/gitweb/?p=website.git;a=blobdiff_plain;f=docs%2Ftoolkit%2Fmanual%2Fsilcmessage-silc_message_payload_parse.html;fp=docs%2Ftoolkit%2Fmanual%2Fsilcmessage-silc_message_payload_parse.html;h=4e870a932711ef6d59bc835f0d8b1efc12494c33;hp=0000000000000000000000000000000000000000;hb=80b80cef93d9dff6acc4bc8e3a522c55fcdc3fca;hpb=43e53f529ca5c7d2ddb7cee8e76e273631e6f1e2 diff --git a/docs/toolkit/manual/silcmessage-silc_message_payload_parse.html b/docs/toolkit/manual/silcmessage-silc_message_payload_parse.html new file mode 100644 index 0000000..4e870a9 --- /dev/null +++ b/docs/toolkit/manual/silcmessage-silc_message_payload_parse.html @@ -0,0 +1,259 @@ + + + + + + + + + + + + + + + + + + + +
Copyright © 2001 - 2007 SILC Project
+ SILC Project Website
+ SILC Toolkit Reference Manual
+ Index
+ + +
+ + + + + + + + + + + + + + +
+ + + +
+
+ + + +SILC Toolkit Reference Manual
+ + +SILC Crypto Library
+    Introduction to SILC RNG
+    SILC RNG Interface
+    SILC Cipher API
+    SILC PKCS API
+    SILC Public Key API
+    SILC PKCS #1 API
+    SILC Hash Interface
+    SILC HMAC Interface
+SILC Core Library
+    SILC Authentication Interface
+    SILC Message Interface
+    SILC Channel Interface
+    SILC Command Interface
+    SILC Notify Interface
+    SILC Status Types
+    SILC Modes
+    SILC ID Interface
+    SILC Argument Interface
+    SILC Attributes Interface
+    Packet Engine Interface
+    SILC Public Key Payload Interface
+SILC Key Exchange Library
+    SILC SKE Interface
+    SILC Connection Authentication Interface
+SILC VCard Library
+    SILC VCard Interface
+SILC Math Library
+    SILC MP Interface
+    SILC Math Interface
+SILC Client Library
+    Using SILC Client Library Tutorial
+    Arguments for command_reply Client Operation
+    SilcStatus Error Arguments in command_reply Client Operation
+    Arguments for notify Client Operation
+    Unicode and UTF-8 Strings in Client Library
+    Client Library Interface Reference
+    Client Entry Interface Reference
+SILC ASN.1 Library
+    SILC ASN.1 Interface
+    SILC BER interface
+SILC HTTP Library
+    SILC HTTP Server Interface
+    SILC HTTP PHP Translator
+SILC Utility Library
+    Basic Types and Definitions
+    Data Buffer Interface
+    Data Buffer Format Interface
+    Hash Table Interface
+    Memory Allocation Interface
+    Data Stack (memory pool) Interface
+    Finite State Machine Interface
+    Thread Interface
+    Mutual Exclusion Lock Interface
+    Condition Variable Interface
+    Atomic Operations Interface
+    Network (TCP and UDP) Interface
+    Scheduler Interface
+    Asynchronous Operation Interface
+    Abstract Stream Interface
+    Socket Stream Interface
+    File Descriptor Stream Interface
+    File Utility Functions
+    String Utility Interface
+    Snprintf Interface
+    UTF-8 String Interface
+    Stringprep Interface
+    Utility Functions
+    List Interface
+    Dynamic List Interface
+    MIME Interface
+    Time Utility Functions
+    Logging Interface
+    Config File Interface
+SILC Key Repository Library
+    SILC SKR Interface
+SILC Application Utility Library
+    SILC Application Utilities
+    SILC ID Cache Interface
+SILC SFTP Library
+    SILC SFTP Interface
+    SFTP Filesystems Interface
+ +
+Resource Links +
+SILC Project Website
+SILC Protocol Documentation
+SILC White Paper
+SILC FAQs
+ +
+



+
+
+ + + + +
+
+ +Function silc_message_payload_parse

+ + +SYNOPSIS + +

+    SilcMessagePayload
+    silc_message_payload_parse(unsigned char *payload,
+                               SilcUInt32 payload_len,
+                               SilcBool private_message,
+                               SilcBool static_key,
+                               SilcCipher cipher,
+                               SilcHmac hmac,
+                               unsigned char *sender_id,
+                               SilcUInt32 sender_id_len,
+                               unsigned char *receiver_id,
+                               SilcUInt32 receiver_id_len,
+                               SilcStack stack,
+                               SilcBool no_allocation,
+                               SilcMessagePayload message);
+
+
+DESCRIPTION + +

+    Parses Message Payload returning new payload structure.  This also
+    decrypts the payload and checks the MAC.  If the payload is
+    channel message then `private_message' is FALSE, and if it is
+    private message it is TRUE.  If the private message key is static
+    (pre-shared key) then protocol dictates that the IV is present
+    and `static_key' must be set to TRUE.  If the key is not static
+    (Key Agreement was done for the key) then it MUST be FALSE.  For
+    channel messages the `static_key' is ignored.
+
+    If the `hmac' is no provided then the MAC of the channel message is
+    not verified.  If the message is private message and `cipher' is NULL
+    then this assumes that the packet was decrypted with session keys
+    (no private message key) and this merely decodes the payload.
+
+    The `sender_id' and `receiver_id' are the IDs from the packet header
+    of the packet where this message payload was received.
+
+    If the `message' is non-NULL then that pre-allocated context is
+    used in parsing.  Same context is returned.  Otherwise new context
+    is allocated and returned.  If the `stack' is non-NULL then memory
+    is allocated from that stack.  If `no_allocation' is TRUE then the
+    `message' must be provided and data is merely parsed and referenced
+    from `payload' and will become invalid when `payload' invalidates.
+    If `no_allocation' is TRUE the routine does not do any allocations.
+
+
+



+
+
+ + + + +
+
+ +SILC Message Interface
+SilcMessagePayload
+SilcMessageFlags
+silc_message_payload_decrypt
+silc_message_payload_parse
+silc_message_payload_encrypt
+silc_message_payload_encode
+silc_message_payload_free
+silc_message_get_flags
+silc_message_get_data
+silc_message_get_mac
+silc_message_signed_verify
+silc_message_signed_get_public_key
+
+ +



+
+
+ + + +
+ + + + + + +
Copyright © 2001 - 2007 SILC Project
+ SILC Project Website
+ SILC Toolkit Reference Manual
+ Index
+ + +