- 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! */
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -251,6 +260,14 @@ static void set_initiator (private_id_payload_t *this,bool 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.
|
||||
*/
|
||||
@@ -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.set_initiator = (void (*) (id_payload_t *,bool)) set_initiator;
|
||||
|
||||
/* private functions */
|
||||
this->compute_length = compute_length;
|
||||
|
||||
/* private variables */
|
||||
this->critical = FALSE;
|
||||
this->next_payload = NO_PAYLOAD;
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
#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
|
||||
*/
|
||||
|
||||
@@ -192,6 +192,14 @@ static size_t get_length(private_nonce_payload_t *this)
|
||||
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.
|
||||
*/
|
||||
@@ -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.get_nonce = (void (*) (nonce_payload_t *,chunk_t*)) get_nonce;
|
||||
|
||||
/* private functions */
|
||||
this->compute_length = compute_length;
|
||||
|
||||
/* private variables */
|
||||
this->critical = FALSE;
|
||||
this->next_payload = NO_PAYLOAD;
|
||||
|
||||
Reference in New Issue
Block a user