- implemented compute length function
This commit is contained in:
@@ -146,6 +146,15 @@ static status_t verify(private_id_payload_t *this)
|
|||||||
/* critical bit is set! */
|
/* critical bit is set! */
|
||||||
return FAILED;
|
return FAILED;
|
||||||
}
|
}
|
||||||
|
if ((this->id_type == 0) ||
|
||||||
|
(this->id_type == 4) ||
|
||||||
|
((this->id_type >= 6) && (this->id_type <= 8)) ||
|
||||||
|
((this->id_type >= 12) && (this->id_type <= 200)))
|
||||||
|
{
|
||||||
|
/* reserved IDs */
|
||||||
|
return FAILED;
|
||||||
|
}
|
||||||
|
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -251,6 +260,14 @@ static void set_initiator (private_id_payload_t *this,bool is_initiator)
|
|||||||
this->is_initiator = is_initiator;
|
this->is_initiator = is_initiator;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Implementation of private_id_payload_t.compute_length.
|
||||||
|
*/
|
||||||
|
static void compute_length(private_id_payload_t *this)
|
||||||
|
{
|
||||||
|
this->payload_length = ID_PAYLOAD_HEADER_LENGTH + this->id_data.len;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Implementation of payload_t.destroy and id_payload_t.destroy.
|
* Implementation of payload_t.destroy and id_payload_t.destroy.
|
||||||
*/
|
*/
|
||||||
@@ -289,6 +306,9 @@ id_payload_t *id_payload_create(bool is_initiator)
|
|||||||
this->public.get_initiator = (bool (*) (id_payload_t *)) get_initiator;
|
this->public.get_initiator = (bool (*) (id_payload_t *)) get_initiator;
|
||||||
this->public.set_initiator = (void (*) (id_payload_t *,bool)) set_initiator;
|
this->public.set_initiator = (void (*) (id_payload_t *,bool)) set_initiator;
|
||||||
|
|
||||||
|
/* private functions */
|
||||||
|
this->compute_length = compute_length;
|
||||||
|
|
||||||
/* private variables */
|
/* private variables */
|
||||||
this->critical = FALSE;
|
this->critical = FALSE;
|
||||||
this->next_payload = NO_PAYLOAD;
|
this->next_payload = NO_PAYLOAD;
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
#include <encoding/payloads/payload.h>
|
#include <encoding/payloads/payload.h>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Length of a nonce payload without a nonce in bytes.
|
* Length of a id payload without the data in bytes.
|
||||||
*
|
*
|
||||||
* @ingroup payloads
|
* @ingroup payloads
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -192,6 +192,14 @@ static size_t get_length(private_nonce_payload_t *this)
|
|||||||
return this->payload_length;
|
return this->payload_length;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Implementation of private_id_payload_t.compute_length.
|
||||||
|
*/
|
||||||
|
static void compute_length(private_nonce_payload_t *this)
|
||||||
|
{
|
||||||
|
this->payload_length = NONCE_PAYLOAD_HEADER_LENGTH + this->nonce.len;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Implementation of payload_t.destroy and nonce_payload_t.destroy.
|
* Implementation of payload_t.destroy and nonce_payload_t.destroy.
|
||||||
*/
|
*/
|
||||||
@@ -226,6 +234,9 @@ nonce_payload_t *nonce_payload_create()
|
|||||||
this->public.set_nonce = (status_t (*) (nonce_payload_t *,chunk_t)) set_nonce;
|
this->public.set_nonce = (status_t (*) (nonce_payload_t *,chunk_t)) set_nonce;
|
||||||
this->public.get_nonce = (void (*) (nonce_payload_t *,chunk_t*)) get_nonce;
|
this->public.get_nonce = (void (*) (nonce_payload_t *,chunk_t*)) get_nonce;
|
||||||
|
|
||||||
|
/* private functions */
|
||||||
|
this->compute_length = compute_length;
|
||||||
|
|
||||||
/* private variables */
|
/* private variables */
|
||||||
this->critical = FALSE;
|
this->critical = FALSE;
|
||||||
this->next_payload = NO_PAYLOAD;
|
this->next_payload = NO_PAYLOAD;
|
||||||
|
|||||||
Reference in New Issue
Block a user