Add free_address_wmem(), fix warnings [-Wcast-qual]
Try to improve address API and also fix some constness warnings by not overloading the 'data' pointer to store malloc'ed buffers (use private pointer for that instead). Second try, now passing test suite. Change-Id: Idc101cd866b6d4f13500c9d59da5c7a38847fb7f Reviewed-on: https://code.wireshark.org/review/13946 Petri-Dish: João Valverde <j@v6e.pt> Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: João Valverde <j@v6e.pt>
This commit is contained in:
parent
9253791648
commit
e4c059f67f
|
@ -740,7 +740,7 @@ transportFormatSet_type = NBAP_CPCH;
|
||||||
{
|
{
|
||||||
return offset;
|
return offset;
|
||||||
}
|
}
|
||||||
set_address(&null_addr, AT_NONE, 0, NULL);
|
clear_address(&null_addr);
|
||||||
|
|
||||||
set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4);
|
set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4);
|
||||||
|
|
||||||
|
@ -833,7 +833,7 @@ num_items = 1;
|
||||||
{
|
{
|
||||||
return offset;
|
return offset;
|
||||||
}
|
}
|
||||||
set_address(&null_addr, AT_NONE, 0, NULL);
|
clear_address(&null_addr);
|
||||||
|
|
||||||
set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4);
|
set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4);
|
||||||
|
|
||||||
|
@ -942,7 +942,7 @@ transportFormatSet_type = NBAP_CPCH;
|
||||||
{
|
{
|
||||||
return offset;
|
return offset;
|
||||||
}
|
}
|
||||||
set_address(&null_addr, AT_NONE, 0, NULL);
|
clear_address(&null_addr);
|
||||||
|
|
||||||
set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4);
|
set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4);
|
||||||
|
|
||||||
|
@ -1148,7 +1148,7 @@ dch_id = 0xFFFFFFFF;
|
||||||
return offset;
|
return offset;
|
||||||
}
|
}
|
||||||
|
|
||||||
set_address(&null_addr, AT_NONE, 0, NULL);
|
clear_address(&null_addr);
|
||||||
|
|
||||||
set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4);
|
set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4);
|
||||||
|
|
||||||
|
@ -1256,7 +1256,7 @@ BindingID_port = 0;
|
||||||
{
|
{
|
||||||
return offset;
|
return offset;
|
||||||
}
|
}
|
||||||
set_address(&null_addr, AT_NONE, 0, NULL);
|
clear_address(&null_addr);
|
||||||
|
|
||||||
set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4);
|
set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4);
|
||||||
|
|
||||||
|
@ -1365,7 +1365,7 @@ guint32 no_ddi_entries, i;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Check if we have conversation info */
|
/* Check if we have conversation info */
|
||||||
set_address(&null_addr, AT_NONE, 0, NULL);
|
clear_address(&null_addr);
|
||||||
p_conv = find_conversation(actx->pinfo->num, &nbap_edch_channel_info[e_dch_macdflow_id].crnc_address, &null_addr,
|
p_conv = find_conversation(actx->pinfo->num, &nbap_edch_channel_info[e_dch_macdflow_id].crnc_address, &null_addr,
|
||||||
PT_UDP,
|
PT_UDP,
|
||||||
nbap_edch_channel_info[e_dch_macdflow_id].crnc_port, 0, NO_ADDR_B);
|
nbap_edch_channel_info[e_dch_macdflow_id].crnc_port, 0, NO_ADDR_B);
|
||||||
|
@ -1425,7 +1425,7 @@ BindingID_port = 0;
|
||||||
* Basically the idea here is that we create a new converation (Which is ok? maybe?)
|
* Basically the idea here is that we create a new converation (Which is ok? maybe?)
|
||||||
* And then hijack the old conversation and let lower tree items configure that hijacked data.
|
* And then hijack the old conversation and let lower tree items configure that hijacked data.
|
||||||
* */
|
* */
|
||||||
set_address(&null_addr, AT_NONE, 0, NULL);
|
clear_address(&null_addr);
|
||||||
|
|
||||||
set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4);
|
set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4);
|
||||||
|
|
||||||
|
@ -1547,7 +1547,7 @@ num_items = 1;
|
||||||
|
|
||||||
/*Do the configurations*/
|
/*Do the configurations*/
|
||||||
/* Check if we have conversation info */
|
/* Check if we have conversation info */
|
||||||
set_address(&null_addr, AT_NONE, 0, NULL);
|
clear_address(&null_addr);
|
||||||
p_conv = find_conversation(actx->pinfo->num, &nbap_edch_channel_info[e_dch_macdflow_id].crnc_address, &null_addr,
|
p_conv = find_conversation(actx->pinfo->num, &nbap_edch_channel_info[e_dch_macdflow_id].crnc_address, &null_addr,
|
||||||
PT_UDP,
|
PT_UDP,
|
||||||
nbap_edch_channel_info[e_dch_macdflow_id].crnc_port, 0, NO_ADDR_B);
|
nbap_edch_channel_info[e_dch_macdflow_id].crnc_port, 0, NO_ADDR_B);
|
||||||
|
@ -1783,7 +1783,7 @@ nbap_edch_channel_info[e_dch_macdflow_id].no_ddi_entries = num_items;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Set port to zero use that as an indication of whether we have data or not */
|
/* Set port to zero use that as an indication of whether we have data or not */
|
||||||
set_address(&null_addr, AT_NONE, 0, NULL);
|
clear_address(&null_addr);
|
||||||
for (i = 0; i < maxNrOfMACdFlows; i++) {
|
for (i = 0; i < maxNrOfMACdFlows; i++) {
|
||||||
if (nbap_hsdsch_channel_info[i].crnc_port != 0){
|
if (nbap_hsdsch_channel_info[i].crnc_port != 0){
|
||||||
nbap_debug("Frame %%u HSDSCH-MACdFlows-Information:hsdsch_macdflow_id %%u Look for conv on IP %%s Port %%u",
|
nbap_debug("Frame %%u HSDSCH-MACdFlows-Information:hsdsch_macdflow_id %%u Look for conv on IP %%s Port %%u",
|
||||||
|
@ -1896,7 +1896,7 @@ nbap_edch_channel_info[e_dch_macdflow_id].no_ddi_entries = num_items;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Set port to zero use that as an indication of whether we have data or not */
|
/* Set port to zero use that as an indication of whether we have data or not */
|
||||||
set_address(&null_addr, AT_NONE, 0, NULL);
|
clear_address(&null_addr);
|
||||||
|
|
||||||
nbap_debug("Frame %%u HSDSCH-MACdFlows-Information Start",
|
nbap_debug("Frame %%u HSDSCH-MACdFlows-Information Start",
|
||||||
actx->pinfo->num);
|
actx->pinfo->num);
|
||||||
|
@ -2030,7 +2030,7 @@ int i;
|
||||||
return offset;
|
return offset;
|
||||||
}
|
}
|
||||||
/* Set port to zero use that as an indication of whether we have data or not */
|
/* Set port to zero use that as an indication of whether we have data or not */
|
||||||
set_address(&null_addr, AT_NONE, 0, NULL);
|
clear_address(&null_addr);
|
||||||
for (i = 0; i < maxNrOfCommonMACFlows; i++) {
|
for (i = 0; i < maxNrOfCommonMACFlows; i++) {
|
||||||
if (nbap_common_channel_info[i].crnc_port != 0){
|
if (nbap_common_channel_info[i].crnc_port != 0){
|
||||||
|
|
||||||
|
@ -2125,7 +2125,7 @@ int i;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*Find the conversations assoicated with the HS-DSCH flows in this packet and set proper H-RNTI*/
|
/*Find the conversations assoicated with the HS-DSCH flows in this packet and set proper H-RNTI*/
|
||||||
set_address(&null_addr, AT_NONE, 0, NULL);
|
clear_address(&null_addr);
|
||||||
for (i = 0; i < maxNrOfMACdFlows; i++) {
|
for (i = 0; i < maxNrOfMACdFlows; i++) {
|
||||||
if (nbap_hsdsch_channel_info[i].crnc_port != 0){
|
if (nbap_hsdsch_channel_info[i].crnc_port != 0){
|
||||||
conversation = find_conversation(actx->pinfo->num, &(nbap_hsdsch_channel_info[i].crnc_address), &null_addr,
|
conversation = find_conversation(actx->pinfo->num, &(nbap_hsdsch_channel_info[i].crnc_address), &null_addr,
|
||||||
|
|
|
@ -368,7 +368,7 @@ static void add_hsdsch_bind(packet_info *pinfo){
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Set port to zero use that as an indication of whether we have data or not */
|
/* Set port to zero use that as an indication of whether we have data or not */
|
||||||
set_address(&null_addr, AT_NONE, 0, NULL);
|
clear_address(&null_addr);
|
||||||
for (i = 0; i < maxNrOfMACdFlows; i++) {
|
for (i = 0; i < maxNrOfMACdFlows; i++) {
|
||||||
if (nbap_hsdsch_channel_info[i].crnc_port != 0){
|
if (nbap_hsdsch_channel_info[i].crnc_port != 0){
|
||||||
conversation = find_conversation(pinfo->num, &(nbap_hsdsch_channel_info[i].crnc_address), &null_addr,
|
conversation = find_conversation(pinfo->num, &(nbap_hsdsch_channel_info[i].crnc_address), &null_addr,
|
||||||
|
|
|
@ -229,7 +229,7 @@ void t38_add_address(packet_info *pinfo,
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
set_address(&null_addr, AT_NONE, 0, NULL);
|
clear_address(&null_addr);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Check if the ip address and port combination is not
|
* Check if the ip address and port combination is not
|
||||||
|
|
142
epan/address.h
142
epan/address.h
|
@ -63,9 +63,24 @@ typedef enum {
|
||||||
typedef struct _address {
|
typedef struct _address {
|
||||||
int type; /* type of address */
|
int type; /* type of address */
|
||||||
int len; /* length of address, in bytes */
|
int len; /* length of address, in bytes */
|
||||||
const void *data; /* pointer to address data */
|
const void *data; /* pointer to address data */
|
||||||
|
|
||||||
|
/* private */
|
||||||
|
void *priv;
|
||||||
} address;
|
} address;
|
||||||
|
|
||||||
|
#define ADDRESS_INIT(type, len, data) {type, len, data, NULL}
|
||||||
|
#define ADDRESS_INIT_NONE ADDRESS_INIT(AT_NONE, 0, NULL)
|
||||||
|
|
||||||
|
static inline void
|
||||||
|
clear_address(address *addr)
|
||||||
|
{
|
||||||
|
addr->type = AT_NONE;
|
||||||
|
addr->len = 0;
|
||||||
|
addr->data = NULL;
|
||||||
|
addr->priv = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
/** Initialize an address with the given values.
|
/** Initialize an address with the given values.
|
||||||
*
|
*
|
||||||
* @param addr [in,out] The address to initialize.
|
* @param addr [in,out] The address to initialize.
|
||||||
|
@ -76,9 +91,10 @@ typedef struct _address {
|
||||||
*/
|
*/
|
||||||
static inline void
|
static inline void
|
||||||
set_address(address *addr, int addr_type, int addr_len, const void *addr_data) {
|
set_address(address *addr, int addr_type, int addr_len, const void *addr_data) {
|
||||||
addr->data = addr_data;
|
|
||||||
addr->type = addr_type;
|
addr->type = addr_type;
|
||||||
addr->len = addr_len;
|
addr->len = addr_len;
|
||||||
|
addr->data = addr_data;
|
||||||
|
addr->priv = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Initialize an address from TVB data.
|
/** Initialize an address from TVB data.
|
||||||
|
@ -104,6 +120,52 @@ set_address_tvb(address *addr, int addr_type, int addr_len, tvbuff_t *tvb, int o
|
||||||
set_address(addr, addr_type, addr_len, p);
|
set_address(addr, addr_type, addr_len, p);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Initialize an address with the given values, allocating a new buffer
|
||||||
|
* for the address data using wmem-scoped memory.
|
||||||
|
*
|
||||||
|
* @param scope [in] The lifetime of the allocated memory, e.g., wmem_packet_scope()
|
||||||
|
* @param addr [in,out] The address to initialize.
|
||||||
|
* @param addr_type [in] Address type.
|
||||||
|
* @param addr_len [in] The length in bytes of the address data. For example, 4 for
|
||||||
|
* AT_IPv4 or sizeof(struct e_in6_addr) for AT_IPv6.
|
||||||
|
* @param addr_data [in] Pointer to the address data.
|
||||||
|
*/
|
||||||
|
static inline void
|
||||||
|
alloc_address_wmem(wmem_allocator_t *scope, address *addr,
|
||||||
|
int addr_type, int addr_len, const void *addr_data) {
|
||||||
|
if (addr == NULL)
|
||||||
|
return;
|
||||||
|
addr->type = addr_type;
|
||||||
|
addr->len = addr_len;
|
||||||
|
if (addr_type == AT_NONE || addr->len <= 0) {
|
||||||
|
addr->data = addr->priv = NULL;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
addr->priv = wmem_memdup(scope, addr_data, addr->len);
|
||||||
|
addr->data = addr->priv;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Allocate an address from TVB data.
|
||||||
|
*
|
||||||
|
* Same as alloc_address_wmem but it takes a TVB and an offset.
|
||||||
|
*
|
||||||
|
* @param scope [in] The lifetime of the allocated memory, e.g., wmem_packet_scope()
|
||||||
|
* @param addr [in,out] The address to initialize.
|
||||||
|
* @param addr_type [in] Address type.
|
||||||
|
* @param addr_len [in] The length in bytes of the address data. For example, 4 for
|
||||||
|
* AT_IPv4 or sizeof(struct e_in6_addr) for AT_IPv6.
|
||||||
|
* @param tvb [in] Pointer to the TVB.
|
||||||
|
* @param offset [in] Offset within the TVB.
|
||||||
|
*/
|
||||||
|
static inline void
|
||||||
|
alloc_address_tvb(wmem_allocator_t *scope, address *addr,
|
||||||
|
int addr_type, int addr_len, tvbuff_t *tvb, int offset) {
|
||||||
|
const void *p;
|
||||||
|
|
||||||
|
p = tvb_get_ptr(tvb, offset, addr_len);
|
||||||
|
alloc_address_wmem(scope, addr, addr_type, addr_len, p);
|
||||||
|
}
|
||||||
|
|
||||||
/** Compare two addresses.
|
/** Compare two addresses.
|
||||||
*
|
*
|
||||||
* @param addr1 [in] The first address to compare.
|
* @param addr1 [in] The first address to compare.
|
||||||
|
@ -163,6 +225,32 @@ addresses_data_equal(const address *addr1, const address *addr2) {
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Perform a shallow copy of the address (both addresses point to the same
|
||||||
|
* memory location).
|
||||||
|
*
|
||||||
|
* @param to [in,out] The destination address.
|
||||||
|
* @param from [in] The source address.
|
||||||
|
*
|
||||||
|
* \warning Make sure 'from' memory stays valid for the lifetime of this object.
|
||||||
|
* Also it's strongly recommended to use this function instead of copy-assign.
|
||||||
|
*/
|
||||||
|
static inline void
|
||||||
|
copy_address_shallow(address *to, const address *from) {
|
||||||
|
set_address(to, from->type, from->len, from->data);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Copy an address, allocating a new buffer for the address data
|
||||||
|
* using wmem-scoped memory.
|
||||||
|
*
|
||||||
|
* @param scope [in] The lifetime of the allocated memory, e.g., wmem_packet_scope()
|
||||||
|
* @param to [in,out] The destination address.
|
||||||
|
* @param from [in] The source address.
|
||||||
|
*/
|
||||||
|
static inline void
|
||||||
|
copy_address_wmem(wmem_allocator_t *scope, address *to, const address *from) {
|
||||||
|
alloc_address_wmem(scope, to, from->type, from->len, from->data);
|
||||||
|
}
|
||||||
|
|
||||||
/** Copy an address, allocating a new buffer for the address data.
|
/** Copy an address, allocating a new buffer for the address data.
|
||||||
*
|
*
|
||||||
* @param to [in,out] The destination address.
|
* @param to [in,out] The destination address.
|
||||||
|
@ -170,49 +258,33 @@ addresses_data_equal(const address *addr1, const address *addr2) {
|
||||||
*/
|
*/
|
||||||
static inline void
|
static inline void
|
||||||
copy_address(address *to, const address *from) {
|
copy_address(address *to, const address *from) {
|
||||||
guint8 *to_data;
|
copy_address_wmem(NULL, to, from);
|
||||||
|
|
||||||
to->type = from->type;
|
|
||||||
to->len = from->len;
|
|
||||||
to_data = (guint8 *)g_malloc(from->len);
|
|
||||||
if (from->len != 0)
|
|
||||||
memcpy(to_data, from->data, from->len);
|
|
||||||
to->data = to_data;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Perform a shallow copy of the address (both addresses point to the same
|
/** Free an address allocated with wmem-scoped memory.
|
||||||
* memory location).
|
|
||||||
*
|
*
|
||||||
* @param to [in,out] The destination address.
|
* @param scope [in] The lifetime of the allocated memory, e.g., wmem_packet_scope()
|
||||||
* @param from [in] The source address.
|
* @param addr [in,out] The address whose data to free.
|
||||||
*/
|
*/
|
||||||
static inline void
|
static inline void
|
||||||
copy_address_shallow(address *to, const address *from) {
|
free_address_wmem(wmem_allocator_t *scope, address *addr) {
|
||||||
memcpy(to, from, sizeof(address));
|
/* Because many dissectors set 'type = AT_NONE' to mean clear we check for that */
|
||||||
/*
|
if (addr->type != AT_NONE && addr->len > 0 && addr->priv != NULL) {
|
||||||
to->type = from->type;
|
/* Make sure API use is correct */
|
||||||
to->len = from->len;
|
/* if priv is not null then data == priv */
|
||||||
to->data = from->data;
|
g_assert(addr->data == addr->priv);
|
||||||
*/
|
wmem_free(scope, addr->priv);
|
||||||
|
}
|
||||||
|
clear_address(addr);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Copy an address, allocating a new buffer for the address data
|
/** Free an address.
|
||||||
* using wmem-scoped memory.
|
|
||||||
*
|
*
|
||||||
* @param scope [in] The lifetime of the allocated memory, wmem_packet_scope()
|
* @param addr [in,out] The address whose data to free.
|
||||||
* @param to [in,out] The destination address.
|
|
||||||
* @param from [in] The source address.
|
|
||||||
*/
|
*/
|
||||||
static inline void
|
static inline void
|
||||||
copy_address_wmem(wmem_allocator_t *scope, address *to, const address *from) {
|
free_address(address *addr) {
|
||||||
void *to_data;
|
free_address_wmem(NULL, addr);
|
||||||
|
|
||||||
to->type = from->type;
|
|
||||||
to->len = from->len;
|
|
||||||
to_data = wmem_alloc(scope, from->len);
|
|
||||||
if (from->len != 0)
|
|
||||||
memcpy(to_data, from->data, from->len);
|
|
||||||
to->data = to_data;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Hash an address into a hash value (which must already have been set).
|
/** Hash an address into a hash value (which must already have been set).
|
||||||
|
|
|
@ -285,8 +285,8 @@ reset_conversation_table_data(conv_hash_t *ch)
|
||||||
guint i;
|
guint i;
|
||||||
for(i = 0; i < ch->conv_array->len; i++){
|
for(i = 0; i < ch->conv_array->len; i++){
|
||||||
conv_item_t *conv = &g_array_index(ch->conv_array, conv_item_t, i);
|
conv_item_t *conv = &g_array_index(ch->conv_array, conv_item_t, i);
|
||||||
g_free((gpointer)conv->src_address.data);
|
free_address(&conv->src_address);
|
||||||
g_free((gpointer)conv->dst_address.data);
|
free_address(&conv->dst_address);
|
||||||
}
|
}
|
||||||
|
|
||||||
g_array_free(ch->conv_array, TRUE);
|
g_array_free(ch->conv_array, TRUE);
|
||||||
|
@ -310,7 +310,7 @@ void reset_hostlist_table_data(conv_hash_t *ch)
|
||||||
guint i;
|
guint i;
|
||||||
for(i = 0; i < ch->conv_array->len; i++){
|
for(i = 0; i < ch->conv_array->len; i++){
|
||||||
hostlist_talker_t *host = &g_array_index(ch->conv_array, hostlist_talker_t, i);
|
hostlist_talker_t *host = &g_array_index(ch->conv_array, hostlist_talker_t, i);
|
||||||
g_free((gpointer)host->myaddress.data);
|
free_address(&host->myaddress);
|
||||||
}
|
}
|
||||||
|
|
||||||
g_array_free(ch->conv_array, TRUE);
|
g_array_free(ch->conv_array, TRUE);
|
||||||
|
@ -769,7 +769,7 @@ add_hostlist_table_data(conv_hash_t *ch, const address *addr, guint32 port, gboo
|
||||||
host_key_t existing_key;
|
host_key_t existing_key;
|
||||||
gpointer talker_idx_hash_val;
|
gpointer talker_idx_hash_val;
|
||||||
|
|
||||||
existing_key.myaddress = *addr;
|
copy_address_shallow(&existing_key.myaddress, addr);
|
||||||
existing_key.port = port;
|
existing_key.port = port;
|
||||||
|
|
||||||
if (g_hash_table_lookup_extended(ch->hashtable, &existing_key, NULL, &talker_idx_hash_val)) {
|
if (g_hash_table_lookup_extended(ch->hashtable, &existing_key, NULL, &talker_idx_hash_val)) {
|
||||||
|
|
|
@ -797,8 +797,8 @@ decode_dcerpc_binding_free(void *binding_in)
|
||||||
{
|
{
|
||||||
decode_dcerpc_bind_values_t *binding = (decode_dcerpc_bind_values_t *)binding_in;
|
decode_dcerpc_bind_values_t *binding = (decode_dcerpc_bind_values_t *)binding_in;
|
||||||
|
|
||||||
g_free((void *) binding->addr_a.data);
|
free_address(&binding->addr_a);
|
||||||
g_free((void *) binding->addr_b.data);
|
free_address(&binding->addr_b);
|
||||||
if (binding->ifname)
|
if (binding->ifname)
|
||||||
g_string_free(binding->ifname, TRUE);
|
g_string_free(binding->ifname, TRUE);
|
||||||
g_free(binding);
|
g_free(binding);
|
||||||
|
@ -962,8 +962,8 @@ decode_dcerpc_binding_reset(const char *name _U_, gconstpointer pattern)
|
||||||
|
|
||||||
decode_dcerpc_bindings = g_slist_remove(decode_dcerpc_bindings, le->data);
|
decode_dcerpc_bindings = g_slist_remove(decode_dcerpc_bindings, le->data);
|
||||||
|
|
||||||
g_free((void *) old_binding->addr_a.data);
|
free_address(&old_binding->addr_a);
|
||||||
g_free((void *) old_binding->addr_b.data);
|
free_address(&old_binding->addr_b);
|
||||||
g_string_free(old_binding->ifname, TRUE);
|
g_string_free(old_binding->ifname, TRUE);
|
||||||
g_free(old_binding);
|
g_free(old_binding);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
@ -1082,8 +1082,8 @@ dcerpc_fragment_temporary_key(const packet_info *pinfo, const guint32 id,
|
||||||
dcerpc_fragment_key *key = g_slice_new(dcerpc_fragment_key);
|
dcerpc_fragment_key *key = g_slice_new(dcerpc_fragment_key);
|
||||||
const e_dce_dg_common_hdr_t *hdr = (const e_dce_dg_common_hdr_t *)data;
|
const e_dce_dg_common_hdr_t *hdr = (const e_dce_dg_common_hdr_t *)data;
|
||||||
|
|
||||||
key->src = pinfo->src;
|
copy_address_shallow(&key->src, &pinfo->src);
|
||||||
key->dst = pinfo->dst;
|
copy_address_shallow(&key->dst, &pinfo->dst);
|
||||||
key->id = id;
|
key->id = id;
|
||||||
key->act_id = hdr->act_id;
|
key->act_id = hdr->act_id;
|
||||||
|
|
||||||
|
@ -1124,8 +1124,8 @@ dcerpc_fragment_free_persistent_key(gpointer ptr)
|
||||||
/*
|
/*
|
||||||
* Free up the copies of the addresses from the old key.
|
* Free up the copies of the addresses from the old key.
|
||||||
*/
|
*/
|
||||||
g_free((gpointer)key->src.data);
|
free_address(&key->src);
|
||||||
g_free((gpointer)key->dst.data);
|
free_address(&key->dst);
|
||||||
|
|
||||||
g_slice_free(dcerpc_fragment_key, key);
|
g_slice_free(dcerpc_fragment_key, key);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2192,7 +2192,7 @@ static void dcom_cleanup(void) {
|
||||||
objects->data = NULL; /* for good measure */
|
objects->data = NULL; /* for good measure */
|
||||||
}
|
}
|
||||||
g_list_free(machine->objects);
|
g_list_free(machine->objects);
|
||||||
g_free((void*)machine->ip.data);
|
free_address(&machine->ip);
|
||||||
machine->objects = NULL; /* for good measure */
|
machine->objects = NULL; /* for good measure */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1676,8 +1676,8 @@ guint8
|
||||||
dvbci_get_evt_from_addrs(packet_info *pinfo)
|
dvbci_get_evt_from_addrs(packet_info *pinfo)
|
||||||
{
|
{
|
||||||
/* this should be working from C89 on */
|
/* this should be working from C89 on */
|
||||||
static const address a_cam = { AT_STRINGZ, sizeof(ADDR_CAM), ADDR_CAM };
|
static const address a_cam = ADDRESS_INIT(AT_STRINGZ, sizeof(ADDR_CAM), ADDR_CAM);
|
||||||
static const address a_host = { AT_STRINGZ, sizeof(ADDR_HOST), ADDR_HOST };
|
static const address a_host = ADDRESS_INIT(AT_STRINGZ, sizeof(ADDR_HOST), ADDR_HOST);
|
||||||
|
|
||||||
if ( addresses_equal(&(pinfo->src), &a_cam) &&
|
if ( addresses_equal(&(pinfo->src), &a_cam) &&
|
||||||
addresses_equal(&(pinfo->dst), &a_host) ) {
|
addresses_equal(&(pinfo->dst), &a_host) ) {
|
||||||
|
|
|
@ -1105,14 +1105,14 @@ enip_open_cip_connection( packet_info *pinfo, cip_conn_info_t* connInfo)
|
||||||
((connInfo->O2T.ipaddress.type == AT_IPv4) && ((*(const guint32*)connInfo->O2T.ipaddress.data)) == 0) ||
|
((connInfo->O2T.ipaddress.type == AT_IPv4) && ((*(const guint32*)connInfo->O2T.ipaddress.data)) == 0) ||
|
||||||
((connInfo->O2T.ipaddress.type == AT_IPv6) && (memcmp(connInfo->O2T.ipaddress.data, &ipv6_zero, sizeof(ipv6_zero)) == 0)) ||
|
((connInfo->O2T.ipaddress.type == AT_IPv6) && (memcmp(connInfo->O2T.ipaddress.data, &ipv6_zero, sizeof(ipv6_zero)) == 0)) ||
|
||||||
(connInfo->O2T.type != CONN_TYPE_MULTICAST))
|
(connInfo->O2T.type != CONN_TYPE_MULTICAST))
|
||||||
connInfo->O2T.ipaddress = pinfo->src;
|
copy_address_shallow(&connInfo->O2T.ipaddress, &pinfo->src);
|
||||||
if ((connInfo->T2O.port == 0) || (connInfo->T2O.type == CONN_TYPE_MULTICAST))
|
if ((connInfo->T2O.port == 0) || (connInfo->T2O.type == CONN_TYPE_MULTICAST))
|
||||||
connInfo->T2O.port = ENIP_IO_PORT;
|
connInfo->T2O.port = ENIP_IO_PORT;
|
||||||
if ((connInfo->T2O.ipaddress.type == AT_NONE) ||
|
if ((connInfo->T2O.ipaddress.type == AT_NONE) ||
|
||||||
((connInfo->T2O.ipaddress.type == AT_IPv4) && ((*(const guint32*)connInfo->T2O.ipaddress.data)) == 0) ||
|
((connInfo->T2O.ipaddress.type == AT_IPv4) && ((*(const guint32*)connInfo->T2O.ipaddress.data)) == 0) ||
|
||||||
((connInfo->T2O.ipaddress.type == AT_IPv6) && (memcmp(connInfo->T2O.ipaddress.data, &ipv6_zero, sizeof(ipv6_zero)) == 0)) ||
|
((connInfo->T2O.ipaddress.type == AT_IPv6) && (memcmp(connInfo->T2O.ipaddress.data, &ipv6_zero, sizeof(ipv6_zero)) == 0)) ||
|
||||||
(connInfo->T2O.type != CONN_TYPE_MULTICAST))
|
(connInfo->T2O.type != CONN_TYPE_MULTICAST))
|
||||||
connInfo->T2O.ipaddress = pinfo->dst;
|
copy_address_shallow(&connInfo->T2O.ipaddress, &pinfo->dst);
|
||||||
|
|
||||||
if (connInfo->O2T.ipaddress.type == AT_IPv6)
|
if (connInfo->O2T.ipaddress.type == AT_IPv6)
|
||||||
{
|
{
|
||||||
|
@ -2537,24 +2537,17 @@ dissect_cpf(enip_request_key_t *request_key, int command, tvbuff_t *tvb,
|
||||||
request_info = (enip_request_info_t *)p_get_proto_data(wmem_file_scope(), pinfo, proto_enip, ENIP_REQUEST_INFO);
|
request_info = (enip_request_info_t *)p_get_proto_data(wmem_file_scope(), pinfo, proto_enip, ENIP_REQUEST_INFO);
|
||||||
if (request_info != NULL)
|
if (request_info != NULL)
|
||||||
{
|
{
|
||||||
guint16 port;
|
|
||||||
guint32 *datap;
|
|
||||||
|
|
||||||
port = tvb_get_ntohs(tvb, offset+8);
|
|
||||||
datap = (guint32 *)wmem_alloc(wmem_file_scope(), sizeof(guint32));
|
|
||||||
*datap = tvb_get_ipv4(tvb, offset+10);
|
|
||||||
|
|
||||||
if (item == SOCK_ADR_INFO_OT)
|
if (item == SOCK_ADR_INFO_OT)
|
||||||
{
|
{
|
||||||
request_info->cip_info->connInfo->O2T.port = port;
|
request_info->cip_info->connInfo->O2T.port = tvb_get_ntohs(tvb, offset+8);
|
||||||
set_address(&request_info->cip_info->connInfo->O2T.ipaddress,
|
alloc_address_tvb(wmem_file_scope(), &request_info->cip_info->connInfo->O2T.ipaddress,
|
||||||
AT_IPv4, sizeof(guint32), datap);
|
AT_IPv4, sizeof(guint32), tvb, offset+10);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
request_info->cip_info->connInfo->T2O.port = port;
|
request_info->cip_info->connInfo->T2O.port = tvb_get_ntohs(tvb, offset+8);
|
||||||
set_address(&request_info->cip_info->connInfo->T2O.ipaddress,
|
alloc_address_tvb(wmem_file_scope(), &request_info->cip_info->connInfo->T2O.ipaddress,
|
||||||
AT_IPv4, sizeof(guint32), datap);
|
AT_IPv4, sizeof(guint32), tvb, offset+10);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -411,10 +411,13 @@ dissect_redirecttlv(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gint of
|
||||||
gint start_offset;
|
gint start_offset;
|
||||||
gint length_meta, length_ilv, length_redirect;
|
gint length_meta, length_ilv, length_redirect;
|
||||||
proto_item *ti;
|
proto_item *ti;
|
||||||
address src_addr = pinfo->src,
|
address src_addr, src_net_addr;
|
||||||
src_net_addr = pinfo->net_src,
|
address dst_addr, dst_net_addr;
|
||||||
dst_addr = pinfo->dst,
|
|
||||||
dst_net_addr = pinfo->net_dst;
|
copy_address_shallow(&src_addr, &pinfo->src);
|
||||||
|
copy_address_shallow(&src_net_addr, &pinfo->net_src);
|
||||||
|
copy_address_shallow(&dst_addr, &pinfo->dst);
|
||||||
|
copy_address_shallow(&dst_net_addr, &pinfo->net_dst);
|
||||||
|
|
||||||
meta_data_tree = proto_tree_add_subtree(tree, tvb, offset, TLV_TL_LENGTH,
|
meta_data_tree = proto_tree_add_subtree(tree, tvb, offset, TLV_TL_LENGTH,
|
||||||
ett_forces_redirect_tlv_meta_data_tlv, &ti, "Meta Data TLV");
|
ett_forces_redirect_tlv_meta_data_tlv, &ti, "Meta Data TLV");
|
||||||
|
@ -476,10 +479,10 @@ dissect_redirecttlv(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gint of
|
||||||
call_dissector(ip_handle, next_tvb, pinfo, redirect_data_tree);
|
call_dissector(ip_handle, next_tvb, pinfo, redirect_data_tree);
|
||||||
|
|
||||||
/* Restore IP info */
|
/* Restore IP info */
|
||||||
memcpy(&(pinfo->src), &src_addr, sizeof(address));
|
copy_address_shallow(&pinfo->src, &src_addr);
|
||||||
memcpy(&(pinfo->net_src), &src_net_addr, sizeof(address));
|
copy_address_shallow(&pinfo->net_src, &src_net_addr);
|
||||||
memcpy(&(pinfo->dst), &dst_addr, sizeof(address));
|
copy_address_shallow(&pinfo->dst, &dst_addr);
|
||||||
memcpy(&(pinfo->net_dst), &dst_net_addr, sizeof(address));
|
copy_address_shallow(&pinfo->net_dst, &dst_net_addr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -545,7 +545,7 @@ dissect_ftp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
|
||||||
gboolean ftp_nat;
|
gboolean ftp_nat;
|
||||||
conversation_t *conversation;
|
conversation_t *conversation;
|
||||||
|
|
||||||
ftp_ip_address = pinfo->src;
|
copy_address_shallow(&ftp_ip_address, &pinfo->src);
|
||||||
|
|
||||||
if (pinfo->match_uint == pinfo->destport)
|
if (pinfo->match_uint == pinfo->destport)
|
||||||
is_request = TRUE;
|
is_request = TRUE;
|
||||||
|
|
|
@ -811,12 +811,12 @@ dissect_ieee802154_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, g
|
||||||
* ADDRESSING FIELDS
|
* ADDRESSING FIELDS
|
||||||
*/
|
*/
|
||||||
/* Clear out the addressing strings. */
|
/* Clear out the addressing strings. */
|
||||||
set_address(&pinfo->net_dst, AT_NONE, 0, NULL);
|
clear_address(&pinfo->net_dst);
|
||||||
copy_address_shallow(&pinfo->dl_dst, &pinfo->net_dst);
|
clear_address(&pinfo->dl_dst);
|
||||||
copy_address_shallow(&pinfo->dst, &pinfo->net_dst);
|
clear_address(&pinfo->dst);
|
||||||
set_address(&pinfo->net_src, AT_NONE, 0, NULL);
|
clear_address(&pinfo->net_src);
|
||||||
copy_address_shallow(&pinfo->dl_src, &pinfo->net_src);
|
clear_address(&pinfo->dl_src);
|
||||||
copy_address_shallow(&pinfo->src, &pinfo->net_src);
|
clear_address(&pinfo->src);
|
||||||
|
|
||||||
if (packet->dst_addr_mode == IEEE802154_FCF_ADDR_RESERVED) {
|
if (packet->dst_addr_mode == IEEE802154_FCF_ADDR_RESERVED) {
|
||||||
/* Invalid Destination Address Mode. Abort Dissection. */
|
/* Invalid Destination Address Mode. Abort Dissection. */
|
||||||
|
|
|
@ -2878,7 +2878,7 @@ dissect_isakmp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _
|
||||||
|
|
||||||
#ifdef HAVE_LIBGCRYPT
|
#ifdef HAVE_LIBGCRYPT
|
||||||
if (isakmp_version == 1) {
|
if (isakmp_version == 1) {
|
||||||
set_address(&null_addr, AT_NONE, 0, NULL);
|
clear_address(&null_addr);
|
||||||
|
|
||||||
tvb_memcpy(tvb, i_cookie, offset, COOKIE_SIZE);
|
tvb_memcpy(tvb, i_cookie, offset, COOKIE_SIZE);
|
||||||
decr = (decrypt_data_t*) g_hash_table_lookup(isakmp_hash, i_cookie);
|
decr = (decrypt_data_t*) g_hash_table_lookup(isakmp_hash, i_cookie);
|
||||||
|
@ -2888,7 +2888,7 @@ dissect_isakmp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _
|
||||||
decr = (decrypt_data_t *)g_slice_alloc(sizeof(decrypt_data_t));
|
decr = (decrypt_data_t *)g_slice_alloc(sizeof(decrypt_data_t));
|
||||||
memcpy(ic_key, i_cookie, COOKIE_SIZE);
|
memcpy(ic_key, i_cookie, COOKIE_SIZE);
|
||||||
memset(decr, 0, sizeof(decrypt_data_t));
|
memset(decr, 0, sizeof(decrypt_data_t));
|
||||||
set_address(&decr->initiator, AT_NONE, 0, NULL);
|
clear_address(&decr->initiator);
|
||||||
|
|
||||||
g_hash_table_insert(isakmp_hash, ic_key, decr);
|
g_hash_table_insert(isakmp_hash, ic_key, decr);
|
||||||
}
|
}
|
||||||
|
|
|
@ -692,9 +692,9 @@ static int dissect_jxta_stream(tvbuff_t * tvb, packet_info * pinfo, proto_tree *
|
||||||
/* g_message("%d From initiator : %s -> %s ", pinfo->num,
|
/* g_message("%d From initiator : %s -> %s ", pinfo->num,
|
||||||
address_to_str(wmem_packet_scope(), &tpt_conv_data->initiator_address),
|
address_to_str(wmem_packet_scope(), &tpt_conv_data->initiator_address),
|
||||||
address_to_str(wmem_packet_scope(), &tpt_conv_data->receiver_address)); */
|
address_to_str(wmem_packet_scope(), &tpt_conv_data->receiver_address)); */
|
||||||
pinfo->src = tpt_conv_data->initiator_address;
|
copy_address_shallow(&pinfo->src, &tpt_conv_data->initiator_address);
|
||||||
pinfo->srcport = 0;
|
pinfo->srcport = 0;
|
||||||
pinfo->dst = tpt_conv_data->receiver_address;
|
copy_address_shallow(&pinfo->dst, &tpt_conv_data->receiver_address);
|
||||||
pinfo->destport = 0;
|
pinfo->destport = 0;
|
||||||
pinfo->ptype = PT_NONE;
|
pinfo->ptype = PT_NONE;
|
||||||
} else if (addresses_equal(&pinfo->src, &tpt_conv_data->receiver_tpt_address) &&
|
} else if (addresses_equal(&pinfo->src, &tpt_conv_data->receiver_tpt_address) &&
|
||||||
|
@ -702,9 +702,9 @@ static int dissect_jxta_stream(tvbuff_t * tvb, packet_info * pinfo, proto_tree *
|
||||||
/* g_message("%d From receiver : %s -> %s ", pinfo->num,
|
/* g_message("%d From receiver : %s -> %s ", pinfo->num,
|
||||||
address_to_str(wmem_packet_scope(), &tpt_conv_data->receiver_address),
|
address_to_str(wmem_packet_scope(), &tpt_conv_data->receiver_address),
|
||||||
address_to_str(wmem_packet_scope(), &tpt_conv_data->initiator_address)); */
|
address_to_str(wmem_packet_scope(), &tpt_conv_data->initiator_address)); */
|
||||||
pinfo->src = tpt_conv_data->receiver_address;
|
copy_address_shallow(&pinfo->src, &tpt_conv_data->receiver_address);
|
||||||
pinfo->srcport = 0;
|
pinfo->srcport = 0;
|
||||||
pinfo->dst = tpt_conv_data->initiator_address;
|
copy_address_shallow(&pinfo->dst, &tpt_conv_data->initiator_address);
|
||||||
pinfo->destport = 0;
|
pinfo->destport = 0;
|
||||||
pinfo->ptype = PT_NONE;
|
pinfo->ptype = PT_NONE;
|
||||||
} else {
|
} else {
|
||||||
|
@ -768,16 +768,12 @@ static jxta_stream_conversation_data *get_tpt_conversation(packet_info * pinfo)
|
||||||
copy_address_wmem(wmem_file_scope(), &tpt_conv_data->initiator_tpt_address, &pinfo->src);
|
copy_address_wmem(wmem_file_scope(), &tpt_conv_data->initiator_tpt_address, &pinfo->src);
|
||||||
tpt_conv_data->initiator_tpt_port = pinfo->srcport;
|
tpt_conv_data->initiator_tpt_port = pinfo->srcport;
|
||||||
tpt_conv_data->initiator_welcome_frame = 0;
|
tpt_conv_data->initiator_welcome_frame = 0;
|
||||||
tpt_conv_data->initiator_address.type = AT_NONE;
|
clear_address(&tpt_conv_data->initiator_address);
|
||||||
tpt_conv_data->initiator_address.len = 0;
|
|
||||||
tpt_conv_data->initiator_address.data = NULL;
|
|
||||||
|
|
||||||
copy_address_wmem(wmem_file_scope(), &tpt_conv_data->receiver_tpt_address, &pinfo->dst);
|
copy_address_wmem(wmem_file_scope(), &tpt_conv_data->receiver_tpt_address, &pinfo->dst);
|
||||||
tpt_conv_data->receiver_tpt_port = pinfo->destport;
|
tpt_conv_data->receiver_tpt_port = pinfo->destport;
|
||||||
tpt_conv_data->receiver_welcome_frame = 0;
|
tpt_conv_data->receiver_welcome_frame = 0;
|
||||||
tpt_conv_data->receiver_address.type = AT_NONE;
|
clear_address(&tpt_conv_data->receiver_address);
|
||||||
tpt_conv_data->receiver_address.len = 0;
|
|
||||||
tpt_conv_data->receiver_address.data = NULL;
|
|
||||||
|
|
||||||
conversation_add_proto_data(tpt_conversation, proto_jxta, tpt_conv_data);
|
conversation_add_proto_data(tpt_conversation, proto_jxta, tpt_conv_data);
|
||||||
}
|
}
|
||||||
|
@ -1332,8 +1328,8 @@ static int dissect_jxta_message(tvbuff_t * tvb, packet_info * pinfo, proto_tree
|
||||||
if ((uri_address_type == pinfo->src.type) && (uri_address_type == pinfo->dst.type)) {
|
if ((uri_address_type == pinfo->src.type) && (uri_address_type == pinfo->dst.type)) {
|
||||||
jxta_tap_header *tap_header = wmem_new(wmem_file_scope(), jxta_tap_header);
|
jxta_tap_header *tap_header = wmem_new(wmem_file_scope(), jxta_tap_header);
|
||||||
|
|
||||||
tap_header->src_address = pinfo->src;
|
copy_address_shallow(&tap_header->src_address, &pinfo->src);
|
||||||
tap_header->dest_address = pinfo->dst;
|
copy_address_shallow(&tap_header->dest_address, &pinfo->dst);
|
||||||
tap_header->size = offset - message_start_offset ;
|
tap_header->size = offset - message_start_offset ;
|
||||||
|
|
||||||
tap_queue_packet(jxta_tap, pinfo, tap_header);
|
tap_queue_packet(jxta_tap, pinfo, tap_header);
|
||||||
|
|
|
@ -52,7 +52,7 @@ static int lbtrm_tap_handle = -1;
|
||||||
/* LBT-RM transport management. */
|
/* LBT-RM transport management. */
|
||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
|
|
||||||
static const address lbtrm_null_address = { AT_NONE, 0, NULL };
|
static const address lbtrm_null_address = ADDRESS_INIT_NONE;
|
||||||
|
|
||||||
static lbtrm_transport_t * lbtrm_transport_unicast_find(const address * source_address, guint16 source_port, guint32 session_id, guint32 frame)
|
static lbtrm_transport_t * lbtrm_transport_unicast_find(const address * source_address, guint16 source_port, guint32 session_id, guint32 frame)
|
||||||
{
|
{
|
||||||
|
|
|
@ -49,7 +49,7 @@ static int lbtru_tap_handle = -1;
|
||||||
/* LBT-RU transport management. */
|
/* LBT-RU transport management. */
|
||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
|
|
||||||
static const address lbtru_null_address = { AT_NONE, 0, NULL };
|
static const address lbtru_null_address = ADDRESS_INIT_NONE;
|
||||||
|
|
||||||
static lbtru_transport_t * lbtru_transport_find(const address * source_address, guint16 source_port, guint32 session_id, guint32 frame)
|
static lbtru_transport_t * lbtru_transport_find(const address * source_address, guint16 source_port, guint32 session_id, guint32 frame)
|
||||||
{
|
{
|
||||||
|
|
|
@ -51,7 +51,7 @@ typedef struct
|
||||||
wmem_tree_t * session_tree;
|
wmem_tree_t * session_tree;
|
||||||
} lbttcp_transport_conv_data_t;
|
} lbttcp_transport_conv_data_t;
|
||||||
|
|
||||||
static const address lbttcp_null_address = { AT_NONE, 0, NULL };
|
static const address lbttcp_null_address = ADDRESS_INIT_NONE;
|
||||||
|
|
||||||
lbttcp_transport_t * lbttcp_transport_find(const address * source_address, guint16 source_port, guint32 session_id, guint32 frame)
|
lbttcp_transport_t * lbttcp_transport_find(const address * source_address, guint16 source_port, guint32 session_id, guint32 frame)
|
||||||
{
|
{
|
||||||
|
|
|
@ -127,7 +127,7 @@ static const value_string reg_flags_vals[] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
static const guint8 dst_addr[] = {0x01, 0x80, 0xC2, 0x00, 0x00, 0x01};
|
static const guint8 dst_addr[] = {0x01, 0x80, 0xC2, 0x00, 0x00, 0x01};
|
||||||
static const address macctrl_dst_address = { AT_ETHER, 6, dst_addr};
|
static const address macctrl_dst_address = ADDRESS_INIT(AT_ETHER, 6, dst_addr);
|
||||||
|
|
||||||
static int
|
static int
|
||||||
dissect_macctrl(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
|
dissect_macctrl(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
|
||||||
|
|
|
@ -1127,7 +1127,7 @@ static void dissect_mgcp_firstline(tvbuff_t *tvb, packet_info *pinfo, proto_tree
|
||||||
const gchar *verb_description = "";
|
const gchar *verb_description = "";
|
||||||
char code_with_verb[64] = ""; /* To fit "<4-letter-code> (<longest-verb>)" */
|
char code_with_verb[64] = ""; /* To fit "<4-letter-code> (<longest-verb>)" */
|
||||||
|
|
||||||
static address null_address = { AT_NONE, 0, NULL };
|
static address null_address = ADDRESS_INIT_NONE;
|
||||||
tvb_previous_offset = 0;
|
tvb_previous_offset = 0;
|
||||||
tvb_len = tvb_reported_length(tvb);
|
tvb_len = tvb_reported_length(tvb);
|
||||||
tvb_current_offset = tvb_previous_offset;
|
tvb_current_offset = tvb_previous_offset;
|
||||||
|
|
|
@ -1127,7 +1127,7 @@ static void msmms_data_add_address(packet_info *pinfo, address *addr, port_type
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
set_address(&null_addr, AT_NONE, 0, NULL);
|
clear_address(&null_addr);
|
||||||
|
|
||||||
/* Check if the ip address and port combination is not
|
/* Check if the ip address and port combination is not
|
||||||
* already registered as a conversation. */
|
* already registered as a conversation. */
|
||||||
|
|
|
@ -167,7 +167,7 @@ msrp_add_address( packet_info *pinfo,
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
set_address(&null_addr, AT_NONE, 0, NULL);
|
clear_address(&null_addr);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Check if the ip address and port combination is not
|
* Check if the ip address and port combination is not
|
||||||
|
|
|
@ -10315,7 +10315,7 @@ int i;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*Find the conversations assoicated with the HS-DSCH flows in this packet and set proper H-RNTI*/
|
/*Find the conversations assoicated with the HS-DSCH flows in this packet and set proper H-RNTI*/
|
||||||
set_address(&null_addr, AT_NONE, 0, NULL);
|
clear_address(&null_addr);
|
||||||
for (i = 0; i < maxNrOfMACdFlows; i++) {
|
for (i = 0; i < maxNrOfMACdFlows; i++) {
|
||||||
if (nbap_hsdsch_channel_info[i].crnc_port != 0){
|
if (nbap_hsdsch_channel_info[i].crnc_port != 0){
|
||||||
conversation = find_conversation(actx->pinfo->num, &(nbap_hsdsch_channel_info[i].crnc_address), &null_addr,
|
conversation = find_conversation(actx->pinfo->num, &(nbap_hsdsch_channel_info[i].crnc_address), &null_addr,
|
||||||
|
@ -18247,7 +18247,7 @@ guint32 no_ddi_entries, i;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Check if we have conversation info */
|
/* Check if we have conversation info */
|
||||||
set_address(&null_addr, AT_NONE, 0, NULL);
|
clear_address(&null_addr);
|
||||||
p_conv = find_conversation(actx->pinfo->num, &nbap_edch_channel_info[e_dch_macdflow_id].crnc_address, &null_addr,
|
p_conv = find_conversation(actx->pinfo->num, &nbap_edch_channel_info[e_dch_macdflow_id].crnc_address, &null_addr,
|
||||||
PT_UDP,
|
PT_UDP,
|
||||||
nbap_edch_channel_info[e_dch_macdflow_id].crnc_port, 0, NO_ADDR_B);
|
nbap_edch_channel_info[e_dch_macdflow_id].crnc_port, 0, NO_ADDR_B);
|
||||||
|
@ -18542,7 +18542,7 @@ num_items = 1;
|
||||||
|
|
||||||
/*Do the configurations*/
|
/*Do the configurations*/
|
||||||
/* Check if we have conversation info */
|
/* Check if we have conversation info */
|
||||||
set_address(&null_addr, AT_NONE, 0, NULL);
|
clear_address(&null_addr);
|
||||||
p_conv = find_conversation(actx->pinfo->num, &nbap_edch_channel_info[e_dch_macdflow_id].crnc_address, &null_addr,
|
p_conv = find_conversation(actx->pinfo->num, &nbap_edch_channel_info[e_dch_macdflow_id].crnc_address, &null_addr,
|
||||||
PT_UDP,
|
PT_UDP,
|
||||||
nbap_edch_channel_info[e_dch_macdflow_id].crnc_port, 0, NO_ADDR_B);
|
nbap_edch_channel_info[e_dch_macdflow_id].crnc_port, 0, NO_ADDR_B);
|
||||||
|
@ -18654,7 +18654,7 @@ BindingID_port = 0;
|
||||||
* Basically the idea here is that we create a new converation (Which is ok? maybe?)
|
* Basically the idea here is that we create a new converation (Which is ok? maybe?)
|
||||||
* And then hijack the old conversation and let lower tree items configure that hijacked data.
|
* And then hijack the old conversation and let lower tree items configure that hijacked data.
|
||||||
* */
|
* */
|
||||||
set_address(&null_addr, AT_NONE, 0, NULL);
|
clear_address(&null_addr);
|
||||||
|
|
||||||
set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4);
|
set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4);
|
||||||
|
|
||||||
|
@ -23362,7 +23362,7 @@ int i;
|
||||||
return offset;
|
return offset;
|
||||||
}
|
}
|
||||||
/* Set port to zero use that as an indication of whether we have data or not */
|
/* Set port to zero use that as an indication of whether we have data or not */
|
||||||
set_address(&null_addr, AT_NONE, 0, NULL);
|
clear_address(&null_addr);
|
||||||
for (i = 0; i < maxNrOfCommonMACFlows; i++) {
|
for (i = 0; i < maxNrOfCommonMACFlows; i++) {
|
||||||
if (nbap_common_channel_info[i].crnc_port != 0){
|
if (nbap_common_channel_info[i].crnc_port != 0){
|
||||||
|
|
||||||
|
@ -23807,7 +23807,7 @@ dissect_nbap_HSDSCH_FDD_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Set port to zero use that as an indication of whether we have data or not */
|
/* Set port to zero use that as an indication of whether we have data or not */
|
||||||
set_address(&null_addr, AT_NONE, 0, NULL);
|
clear_address(&null_addr);
|
||||||
for (i = 0; i < maxNrOfMACdFlows; i++) {
|
for (i = 0; i < maxNrOfMACdFlows; i++) {
|
||||||
if (nbap_hsdsch_channel_info[i].crnc_port != 0){
|
if (nbap_hsdsch_channel_info[i].crnc_port != 0){
|
||||||
nbap_debug("Frame %u HSDSCH-MACdFlows-Information:hsdsch_macdflow_id %u Look for conv on IP %s Port %u",
|
nbap_debug("Frame %u HSDSCH-MACdFlows-Information:hsdsch_macdflow_id %u Look for conv on IP %s Port %u",
|
||||||
|
@ -24141,7 +24141,7 @@ dissect_nbap_HSDSCH_Information_to_Modify(tvbuff_t *tvb _U_, int offset _U_, asn
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Set port to zero use that as an indication of whether we have data or not */
|
/* Set port to zero use that as an indication of whether we have data or not */
|
||||||
set_address(&null_addr, AT_NONE, 0, NULL);
|
clear_address(&null_addr);
|
||||||
|
|
||||||
nbap_debug("Frame %u HSDSCH-MACdFlows-Information Start",
|
nbap_debug("Frame %u HSDSCH-MACdFlows-Information Start",
|
||||||
actx->pinfo->num);
|
actx->pinfo->num);
|
||||||
|
@ -28682,7 +28682,7 @@ dch_id = 0xFFFFFFFF;
|
||||||
return offset;
|
return offset;
|
||||||
}
|
}
|
||||||
|
|
||||||
set_address(&null_addr, AT_NONE, 0, NULL);
|
clear_address(&null_addr);
|
||||||
|
|
||||||
set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4);
|
set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4);
|
||||||
|
|
||||||
|
@ -28820,7 +28820,7 @@ BindingID_port = 0;
|
||||||
{
|
{
|
||||||
return offset;
|
return offset;
|
||||||
}
|
}
|
||||||
set_address(&null_addr, AT_NONE, 0, NULL);
|
clear_address(&null_addr);
|
||||||
|
|
||||||
set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4);
|
set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4);
|
||||||
|
|
||||||
|
@ -32389,7 +32389,7 @@ transportFormatSet_type = NBAP_CPCH;
|
||||||
{
|
{
|
||||||
return offset;
|
return offset;
|
||||||
}
|
}
|
||||||
set_address(&null_addr, AT_NONE, 0, NULL);
|
clear_address(&null_addr);
|
||||||
|
|
||||||
set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4);
|
set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4);
|
||||||
|
|
||||||
|
@ -32554,7 +32554,7 @@ num_items = 1;
|
||||||
{
|
{
|
||||||
return offset;
|
return offset;
|
||||||
}
|
}
|
||||||
set_address(&null_addr, AT_NONE, 0, NULL);
|
clear_address(&null_addr);
|
||||||
|
|
||||||
set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4);
|
set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4);
|
||||||
|
|
||||||
|
@ -32697,7 +32697,7 @@ transportFormatSet_type = NBAP_CPCH;
|
||||||
{
|
{
|
||||||
return offset;
|
return offset;
|
||||||
}
|
}
|
||||||
set_address(&null_addr, AT_NONE, 0, NULL);
|
clear_address(&null_addr);
|
||||||
|
|
||||||
set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4);
|
set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4);
|
||||||
|
|
||||||
|
@ -55227,7 +55227,7 @@ static void add_hsdsch_bind(packet_info *pinfo){
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Set port to zero use that as an indication of whether we have data or not */
|
/* Set port to zero use that as an indication of whether we have data or not */
|
||||||
set_address(&null_addr, AT_NONE, 0, NULL);
|
clear_address(&null_addr);
|
||||||
for (i = 0; i < maxNrOfMACdFlows; i++) {
|
for (i = 0; i < maxNrOfMACdFlows; i++) {
|
||||||
if (nbap_hsdsch_channel_info[i].crnc_port != 0){
|
if (nbap_hsdsch_channel_info[i].crnc_port != 0){
|
||||||
conversation = find_conversation(pinfo->num, &(nbap_hsdsch_channel_info[i].crnc_address), &null_addr,
|
conversation = find_conversation(pinfo->num, &(nbap_hsdsch_channel_info[i].crnc_address), &null_addr,
|
||||||
|
|
|
@ -1820,12 +1820,12 @@ dissect_openflow_packet_in_v4(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree
|
||||||
/* save some state */
|
/* save some state */
|
||||||
save_writable = col_get_writable(pinfo->cinfo);
|
save_writable = col_get_writable(pinfo->cinfo);
|
||||||
save_in_error_pkt = pinfo->flags.in_error_pkt;
|
save_in_error_pkt = pinfo->flags.in_error_pkt;
|
||||||
save_dl_src = pinfo->dl_src;
|
copy_address_shallow(&save_dl_src, &pinfo->dl_src);
|
||||||
save_dl_dst = pinfo->dl_dst;
|
copy_address_shallow(&save_dl_dst, &pinfo->dl_dst);
|
||||||
save_net_src = pinfo->net_src;
|
copy_address_shallow(&save_net_src, &pinfo->net_src);
|
||||||
save_net_dst = pinfo->net_dst;
|
copy_address_shallow(&save_net_dst, &pinfo->net_dst);
|
||||||
save_src = pinfo->src;
|
copy_address_shallow(&save_src, &pinfo->src);
|
||||||
save_dst = pinfo->dst;
|
copy_address_shallow(&save_dst, &pinfo->dst);
|
||||||
|
|
||||||
/* dissect data */
|
/* dissect data */
|
||||||
col_set_writable(pinfo->cinfo, FALSE);
|
col_set_writable(pinfo->cinfo, FALSE);
|
||||||
|
@ -1835,12 +1835,12 @@ dissect_openflow_packet_in_v4(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree
|
||||||
/* restore saved state */
|
/* restore saved state */
|
||||||
col_set_writable(pinfo->cinfo, save_writable);
|
col_set_writable(pinfo->cinfo, save_writable);
|
||||||
pinfo->flags.in_error_pkt = save_in_error_pkt;
|
pinfo->flags.in_error_pkt = save_in_error_pkt;
|
||||||
pinfo->dl_src = save_dl_src;
|
copy_address_shallow(&pinfo->dl_src, &save_dl_src);
|
||||||
pinfo->dl_dst = save_dl_dst;
|
copy_address_shallow(&pinfo->dl_dst, &save_dl_dst);
|
||||||
pinfo->net_src = save_net_src;
|
copy_address_shallow(&pinfo->net_src, &save_net_src);
|
||||||
pinfo->net_dst = save_net_dst;
|
copy_address_shallow(&pinfo->net_dst, &save_net_dst);
|
||||||
pinfo->src = save_src;
|
copy_address_shallow(&pinfo->src, &save_src);
|
||||||
pinfo->dst = save_dst;
|
copy_address_shallow(&pinfo->dst, &save_dst);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2407,12 +2407,12 @@ dissect_openflow_packet_out_v4(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree
|
||||||
/* save some state */
|
/* save some state */
|
||||||
save_writable = col_get_writable(pinfo->cinfo);
|
save_writable = col_get_writable(pinfo->cinfo);
|
||||||
save_in_error_pkt = pinfo->flags.in_error_pkt;
|
save_in_error_pkt = pinfo->flags.in_error_pkt;
|
||||||
save_dl_src = pinfo->dl_src;
|
copy_address_shallow(&save_dl_src, &pinfo->dl_src);
|
||||||
save_dl_dst = pinfo->dl_dst;
|
copy_address_shallow(&save_dl_dst, &pinfo->dl_dst);
|
||||||
save_net_src = pinfo->net_src;
|
copy_address_shallow(&save_net_src, &pinfo->net_src);
|
||||||
save_net_dst = pinfo->net_dst;
|
copy_address_shallow(&save_net_dst, &pinfo->net_dst);
|
||||||
save_src = pinfo->src;
|
copy_address_shallow(&save_src, &pinfo->src);
|
||||||
save_dst = pinfo->dst;
|
copy_address_shallow(&save_dst, &pinfo->dst);
|
||||||
|
|
||||||
/* dissect data */
|
/* dissect data */
|
||||||
col_set_writable(pinfo->cinfo, FALSE);
|
col_set_writable(pinfo->cinfo, FALSE);
|
||||||
|
@ -2422,12 +2422,12 @@ dissect_openflow_packet_out_v4(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree
|
||||||
/* restore saved state */
|
/* restore saved state */
|
||||||
col_set_writable(pinfo->cinfo, save_writable);
|
col_set_writable(pinfo->cinfo, save_writable);
|
||||||
pinfo->flags.in_error_pkt = save_in_error_pkt;
|
pinfo->flags.in_error_pkt = save_in_error_pkt;
|
||||||
pinfo->dl_src = save_dl_src;
|
copy_address_shallow(&pinfo->dl_src, &save_dl_src);
|
||||||
pinfo->dl_dst = save_dl_dst;
|
copy_address_shallow(&pinfo->dl_dst, &save_dl_dst);
|
||||||
pinfo->net_src = save_net_src;
|
copy_address_shallow(&pinfo->net_src, &save_net_src);
|
||||||
pinfo->net_dst = save_net_dst;
|
copy_address_shallow(&pinfo->net_dst, &save_net_dst);
|
||||||
pinfo->src = save_src;
|
copy_address_shallow(&pinfo->src, &save_src);
|
||||||
pinfo->dst = save_dst;
|
copy_address_shallow(&pinfo->dst, &save_dst);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2050,12 +2050,12 @@ dissect_openflow_packet_in_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree
|
||||||
/* save some state */
|
/* save some state */
|
||||||
save_writable = col_get_writable(pinfo->cinfo);
|
save_writable = col_get_writable(pinfo->cinfo);
|
||||||
save_in_error_pkt = pinfo->flags.in_error_pkt;
|
save_in_error_pkt = pinfo->flags.in_error_pkt;
|
||||||
save_dl_src = pinfo->dl_src;
|
copy_address_shallow(&save_dl_src, &pinfo->dl_src);
|
||||||
save_dl_dst = pinfo->dl_dst;
|
copy_address_shallow(&save_dl_dst, &pinfo->dl_dst);
|
||||||
save_net_src = pinfo->net_src;
|
copy_address_shallow(&save_net_src, &pinfo->net_src);
|
||||||
save_net_dst = pinfo->net_dst;
|
copy_address_shallow(&save_net_dst, &pinfo->net_dst);
|
||||||
save_src = pinfo->src;
|
copy_address_shallow(&save_src, &pinfo->src);
|
||||||
save_dst = pinfo->dst;
|
copy_address_shallow(&save_dst, &pinfo->dst);
|
||||||
|
|
||||||
/* dissect data */
|
/* dissect data */
|
||||||
col_set_writable(pinfo->cinfo, FALSE);
|
col_set_writable(pinfo->cinfo, FALSE);
|
||||||
|
@ -2065,12 +2065,12 @@ dissect_openflow_packet_in_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree
|
||||||
/* restore saved state */
|
/* restore saved state */
|
||||||
col_set_writable(pinfo->cinfo, save_writable);
|
col_set_writable(pinfo->cinfo, save_writable);
|
||||||
pinfo->flags.in_error_pkt = save_in_error_pkt;
|
pinfo->flags.in_error_pkt = save_in_error_pkt;
|
||||||
pinfo->dl_src = save_dl_src;
|
copy_address_shallow(&pinfo->dl_src, &save_dl_src);
|
||||||
pinfo->dl_dst = save_dl_dst;
|
copy_address_shallow(&pinfo->dl_dst, &save_dl_dst);
|
||||||
pinfo->net_src = save_net_src;
|
copy_address_shallow(&pinfo->net_src, &save_net_src);
|
||||||
pinfo->net_dst = save_net_dst;
|
copy_address_shallow(&pinfo->net_dst, &save_net_dst);
|
||||||
pinfo->src = save_src;
|
copy_address_shallow(&pinfo->src, &save_src);
|
||||||
pinfo->dst = save_dst;
|
copy_address_shallow(&pinfo->dst, &save_dst);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2789,12 +2789,12 @@ dissect_openflow_packet_out_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree
|
||||||
/* save some state */
|
/* save some state */
|
||||||
save_writable = col_get_writable(pinfo->cinfo);
|
save_writable = col_get_writable(pinfo->cinfo);
|
||||||
save_in_error_pkt = pinfo->flags.in_error_pkt;
|
save_in_error_pkt = pinfo->flags.in_error_pkt;
|
||||||
save_dl_src = pinfo->dl_src;
|
copy_address_shallow(&save_dl_src, &pinfo->dl_src);
|
||||||
save_dl_dst = pinfo->dl_dst;
|
copy_address_shallow(&save_dl_dst, &pinfo->dl_dst);
|
||||||
save_net_src = pinfo->net_src;
|
copy_address_shallow(&save_net_src, &pinfo->net_src);
|
||||||
save_net_dst = pinfo->net_dst;
|
copy_address_shallow(&save_net_dst, &pinfo->net_dst);
|
||||||
save_src = pinfo->src;
|
copy_address_shallow(&save_src, &pinfo->src);
|
||||||
save_dst = pinfo->dst;
|
copy_address_shallow(&save_dst, &pinfo->dst);
|
||||||
|
|
||||||
/* dissect data */
|
/* dissect data */
|
||||||
col_set_writable(pinfo->cinfo, FALSE);
|
col_set_writable(pinfo->cinfo, FALSE);
|
||||||
|
@ -2804,12 +2804,12 @@ dissect_openflow_packet_out_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree
|
||||||
/* restore saved state */
|
/* restore saved state */
|
||||||
col_set_writable(pinfo->cinfo, save_writable);
|
col_set_writable(pinfo->cinfo, save_writable);
|
||||||
pinfo->flags.in_error_pkt = save_in_error_pkt;
|
pinfo->flags.in_error_pkt = save_in_error_pkt;
|
||||||
pinfo->dl_src = save_dl_src;
|
copy_address_shallow(&pinfo->dl_src, &save_dl_src);
|
||||||
pinfo->dl_dst = save_dl_dst;
|
copy_address_shallow(&pinfo->dl_dst, &save_dl_dst);
|
||||||
pinfo->net_src = save_net_src;
|
copy_address_shallow(&pinfo->net_src, &save_net_src);
|
||||||
pinfo->net_dst = save_net_dst;
|
copy_address_shallow(&pinfo->net_dst, &save_net_dst);
|
||||||
pinfo->src = save_src;
|
copy_address_shallow(&pinfo->src, &save_src);
|
||||||
pinfo->dst = save_dst;
|
copy_address_shallow(&pinfo->dst, &save_dst);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1695,7 +1695,7 @@ dissect_radius(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _
|
||||||
radius_call_info_key radius_call_key;
|
radius_call_info_key radius_call_key;
|
||||||
radius_call_info_key *new_radius_call_key;
|
radius_call_info_key *new_radius_call_key;
|
||||||
radius_call_t *radius_call = NULL;
|
radius_call_t *radius_call = NULL;
|
||||||
static address null_address = { AT_NONE, 0, NULL };
|
static address null_address = ADDRESS_INIT_NONE;
|
||||||
|
|
||||||
/* does this look like radius ? */
|
/* does this look like radius ? */
|
||||||
if(!is_radius(tvb)){
|
if(!is_radius(tvb)){
|
||||||
|
|
|
@ -242,7 +242,7 @@ void rdt_add_address(packet_info *pinfo,
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
set_address(&null_addr, AT_NONE, 0, NULL);
|
clear_address(&null_addr);
|
||||||
|
|
||||||
/* Check if the ip address and port combination is not already registered
|
/* Check if the ip address and port combination is not already registered
|
||||||
as a conversation. */
|
as a conversation. */
|
||||||
|
|
|
@ -1632,7 +1632,7 @@ dissect_rpc_authgss_priv_data(tvbuff_t *tvb, proto_tree *tree, int offset,
|
||||||
return offset;
|
return offset;
|
||||||
}
|
}
|
||||||
|
|
||||||
static address null_address = { AT_NONE, 0, NULL };
|
static address null_address = ADDRESS_INIT_NONE;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Attempt to find a conversation for a call and, if we don't find one,
|
* Attempt to find a conversation for a call and, if we don't find one,
|
||||||
|
|
|
@ -744,7 +744,7 @@ void srtcp_add_address( packet_info *pinfo,
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
set_address(&null_addr, AT_NONE, 0, NULL);
|
clear_address(&null_addr);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Check if the ip address and port combination is not
|
* Check if the ip address and port combination is not
|
||||||
|
|
|
@ -1154,7 +1154,7 @@ bluetooth_add_address(packet_info *pinfo, address *addr, guint32 stream_number,
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
set_address(&null_addr, AT_NONE, 0, NULL);
|
clear_address(&null_addr);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Check if the ip address and port combination is not
|
* Check if the ip address and port combination is not
|
||||||
|
@ -1243,7 +1243,7 @@ srtp_add_address(packet_info *pinfo, address *addr, int port, int other_port,
|
||||||
other_port, setup_method, setup_frame_number));
|
other_port, setup_method, setup_frame_number));
|
||||||
DINDENT();
|
DINDENT();
|
||||||
|
|
||||||
set_address(&null_addr, AT_NONE, 0, NULL);
|
clear_address(&null_addr);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Check if the ip address and port combination is not
|
* Check if the ip address and port combination is not
|
||||||
|
|
|
@ -1856,22 +1856,24 @@ convert_disposable_media(transport_info_t* transport_info, disposable_media_info
|
||||||
if ((media_info->connection_address != NULL) &&
|
if ((media_info->connection_address != NULL) &&
|
||||||
(media_info->connection_type != NULL)) {
|
(media_info->connection_type != NULL)) {
|
||||||
if (strcmp(media_info->connection_type, "IP4") == 0) {
|
if (strcmp(media_info->connection_type, "IP4") == 0) {
|
||||||
transport_info->src_addr[transport_index].data = wmem_alloc(wmem_file_scope(), 4);
|
guint32 ip4_addr;
|
||||||
if (str_to_ip(media_info->connection_address, (void*)transport_info->src_addr[transport_index].data)) {
|
|
||||||
|
if (str_to_ip(media_info->connection_address, &ip4_addr)) {
|
||||||
/* connection_address could be converted to a valid ipv4 address*/
|
/* connection_address could be converted to a valid ipv4 address*/
|
||||||
transport_info->proto_bitmask[transport_index] |= SDP_IPv4;
|
transport_info->proto_bitmask[transport_index] |= SDP_IPv4;
|
||||||
transport_info->src_addr[transport_index].type = AT_IPv4;
|
alloc_address_wmem(wmem_file_scope(), &transport_info->src_addr[transport_index],
|
||||||
transport_info->src_addr[transport_index].len = 4;
|
AT_IPv4, 4, &ip4_addr);
|
||||||
DPRINT(("set SDP_IPv4 bitmask=%x, for transport_index=%d",
|
DPRINT(("set SDP_IPv4 bitmask=%x, for transport_index=%d",
|
||||||
transport_info->proto_bitmask[transport_index], transport_index));
|
transport_info->proto_bitmask[transport_index], transport_index));
|
||||||
}
|
}
|
||||||
} else if (strcmp(media_info->connection_type, "IP6") == 0) {
|
} else if (strcmp(media_info->connection_type, "IP6") == 0) {
|
||||||
transport_info->src_addr[transport_index].data = wmem_alloc(wmem_file_scope(), 16);
|
struct e_in6_addr ip6_addr;
|
||||||
if (str_to_ip6(media_info->connection_address, (void*)transport_info->src_addr[transport_index].data)) {
|
|
||||||
|
if (str_to_ip6(media_info->connection_address, &ip6_addr)) {
|
||||||
/* connection_address could be converted to a valid ipv6 address*/
|
/* connection_address could be converted to a valid ipv6 address*/
|
||||||
transport_info->proto_bitmask[transport_index] |= SDP_IPv6;
|
transport_info->proto_bitmask[transport_index] |= SDP_IPv6;
|
||||||
transport_info->src_addr[transport_index].type = AT_IPv6;
|
alloc_address_wmem(wmem_file_scope(), &transport_info->src_addr[transport_index],
|
||||||
transport_info->src_addr[transport_index].len = 16;
|
AT_IPv6, 16, &ip6_addr);
|
||||||
DPRINT(("set SDP_IPv6 bitmask=%x, for transport_index=%d",
|
DPRINT(("set SDP_IPv6 bitmask=%x, for transport_index=%d",
|
||||||
transport_info->proto_bitmask[transport_index], transport_index));
|
transport_info->proto_bitmask[transport_index], transport_index));
|
||||||
}
|
}
|
||||||
|
|
|
@ -706,12 +706,12 @@ dissect_sflow_245_sampled_header(tvbuff_t *tvb, packet_info *pinfo,
|
||||||
}
|
}
|
||||||
|
|
||||||
col_set_writable(pinfo->cinfo, FALSE);
|
col_set_writable(pinfo->cinfo, FALSE);
|
||||||
save_dl_src = pinfo->dl_src;
|
copy_address_shallow(&save_dl_src, &pinfo->dl_src);
|
||||||
save_dl_dst = pinfo->dl_dst;
|
copy_address_shallow(&save_dl_dst, &pinfo->dl_dst);
|
||||||
save_net_src = pinfo->net_src;
|
copy_address_shallow(&save_net_src, &pinfo->net_src);
|
||||||
save_net_dst = pinfo->net_dst;
|
copy_address_shallow(&save_net_dst, &pinfo->net_dst);
|
||||||
save_src = pinfo->src;
|
copy_address_shallow(&save_src, &pinfo->src);
|
||||||
save_dst = pinfo->dst;
|
copy_address_shallow(&save_dst, &pinfo->dst);
|
||||||
|
|
||||||
TRY
|
TRY
|
||||||
{
|
{
|
||||||
|
@ -729,13 +729,12 @@ dissect_sflow_245_sampled_header(tvbuff_t *tvb, packet_info *pinfo,
|
||||||
/* restore saved state */
|
/* restore saved state */
|
||||||
col_set_writable(pinfo->cinfo, save_writable);
|
col_set_writable(pinfo->cinfo, save_writable);
|
||||||
pinfo->flags.in_error_pkt = save_in_error_pkt;
|
pinfo->flags.in_error_pkt = save_in_error_pkt;
|
||||||
|
copy_address_shallow(&pinfo->dl_src, &save_dl_src);
|
||||||
pinfo->dl_src = save_dl_src;
|
copy_address_shallow(&pinfo->dl_dst, &save_dl_dst);
|
||||||
pinfo->dl_dst = save_dl_dst;
|
copy_address_shallow(&pinfo->net_src, &save_net_src);
|
||||||
pinfo->net_src = save_net_src;
|
copy_address_shallow(&pinfo->net_dst, &save_net_dst);
|
||||||
pinfo->net_dst = save_net_dst;
|
copy_address_shallow(&pinfo->src, &save_src);
|
||||||
pinfo->src = save_src;
|
copy_address_shallow(&pinfo->dst, &save_dst);
|
||||||
pinfo->dst = save_dst;
|
|
||||||
|
|
||||||
offset += header_length;
|
offset += header_length;
|
||||||
return offset;
|
return offset;
|
||||||
|
|
|
@ -782,7 +782,7 @@ void sprt_add_address(packet_info *pinfo,
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
set_address(&null_addr, AT_NONE, 0, NULL);
|
clear_address(&null_addr);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Check if the ip address and port combination is not
|
* Check if the ip address and port combination is not
|
||||||
|
|
|
@ -4063,7 +4063,7 @@ ssl_get_session(conversation_t *conversation, dissector_handle_t ssl_handle)
|
||||||
|
|
||||||
/* Initialize parameters which are not necessary specific to decryption. */
|
/* Initialize parameters which are not necessary specific to decryption. */
|
||||||
ssl_session->session.version = SSL_VER_UNKNOWN;
|
ssl_session->session.version = SSL_VER_UNKNOWN;
|
||||||
set_address(&ssl_session->session.srv_addr, AT_NONE, 0, NULL);
|
clear_address(&ssl_session->session.srv_addr);
|
||||||
ssl_session->session.srv_ptype = PT_NONE;
|
ssl_session->session.srv_ptype = PT_NONE;
|
||||||
ssl_session->session.srv_port = 0;
|
ssl_session->session.srv_port = 0;
|
||||||
|
|
||||||
|
|
|
@ -274,7 +274,7 @@ void t38_add_address(packet_info *pinfo,
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
set_address(&null_addr, AT_NONE, 0, NULL);
|
clear_address(&null_addr);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Check if the ip address and port combination is not
|
* Check if the ip address and port combination is not
|
||||||
|
|
|
@ -735,7 +735,7 @@ static int dissect_ts2(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void
|
||||||
switch(type) {
|
switch(type) {
|
||||||
case TS2T_LOGINREQUEST:
|
case TS2T_LOGINREQUEST:
|
||||||
conversation_data->server_port=pinfo->destport;
|
conversation_data->server_port=pinfo->destport;
|
||||||
conversation_data->server_addr=pinfo->dst;
|
copy_address_shallow(&conversation_data->server_addr, &pinfo->dst);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -783,7 +783,7 @@ static int dissect_ts2(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void
|
||||||
proto_tree_add_item(ts2_tree, hf_ts2_nick, tvb, 150, 1, ENC_ASCII|ENC_BIG_ENDIAN);
|
proto_tree_add_item(ts2_tree, hf_ts2_nick, tvb, 150, 1, ENC_ASCII|ENC_BIG_ENDIAN);
|
||||||
|
|
||||||
conversation_data->server_port=pinfo->destport;
|
conversation_data->server_port=pinfo->destport;
|
||||||
conversation_data->server_addr=pinfo->dst;
|
copy_address_shallow(&conversation_data->server_addr, &pinfo->dst);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case TS2T_LOGINREPLY:
|
case TS2T_LOGINREPLY:
|
||||||
|
|
|
@ -1479,7 +1479,7 @@ dissect_uma_IE(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset)
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
set_address(&null_addr, AT_NONE, 0, NULL);
|
clear_address(&null_addr);
|
||||||
|
|
||||||
set_address(&dst_addr, AT_IPv4, 4, &GPRS_user_data_ipv4_address);
|
set_address(&dst_addr, AT_IPv4, 4, &GPRS_user_data_ipv4_address);
|
||||||
|
|
||||||
|
@ -1511,7 +1511,7 @@ dissect_uma_IE(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset)
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
set_address(&null_addr, AT_NONE, 0, NULL);
|
clear_address(&null_addr);
|
||||||
|
|
||||||
set_address(&dst_addr, AT_IPv4, 4, &unc_ipv4_address);
|
set_address(&dst_addr, AT_IPv4, 4, &unc_ipv4_address);
|
||||||
|
|
||||||
|
@ -1541,7 +1541,7 @@ dissect_uma_IE(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset)
|
||||||
set_address(&src_addr, AT_IPv4, 4, &unc_ipv4_address);
|
set_address(&src_addr, AT_IPv4, 4, &unc_ipv4_address);
|
||||||
}else{
|
}else{
|
||||||
/* Set Source IP = own IP */
|
/* Set Source IP = own IP */
|
||||||
src_addr = pinfo->src;
|
copy_address_shallow(&src_addr, &pinfo->src);
|
||||||
}
|
}
|
||||||
if((!pinfo->fd->flags.visited) && RTP_UDP_port!=0){
|
if((!pinfo->fd->flags.visited) && RTP_UDP_port!=0){
|
||||||
|
|
||||||
|
|
|
@ -346,7 +346,7 @@ dissect_vuze_dht_address(tvbuff_t *tvb, packet_info _U_*pinfo, proto_tree *tree,
|
||||||
set_address_tvb( &addr, AT_IPv6, ip_length, tvb, offset);
|
set_address_tvb( &addr, AT_IPv6, ip_length, tvb, offset);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
addr.type = AT_NONE;
|
clear_address(&addr);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
offset += ip_length;
|
offset += ip_length;
|
||||||
|
|
|
@ -471,12 +471,12 @@ dissect_record(epan_dissect_t *edt, int file_type_subtype,
|
||||||
edt->pi.fd = fd;
|
edt->pi.fd = fd;
|
||||||
edt->pi.phdr = phdr;
|
edt->pi.phdr = phdr;
|
||||||
edt->pi.pseudo_header = &phdr->pseudo_header;
|
edt->pi.pseudo_header = &phdr->pseudo_header;
|
||||||
edt->pi.dl_src.type = AT_NONE;
|
clear_address(&edt->pi.dl_src);
|
||||||
edt->pi.dl_dst.type = AT_NONE;
|
clear_address(&edt->pi.dl_dst);
|
||||||
edt->pi.net_src.type = AT_NONE;
|
clear_address(&edt->pi.net_src);
|
||||||
edt->pi.net_dst.type = AT_NONE;
|
clear_address(&edt->pi.net_dst);
|
||||||
edt->pi.src.type = AT_NONE;
|
clear_address(&edt->pi.src);
|
||||||
edt->pi.dst.type = AT_NONE;
|
clear_address(&edt->pi.dst);
|
||||||
edt->pi.ctype = CT_NONE;
|
edt->pi.ctype = CT_NONE;
|
||||||
edt->pi.noreassembly_reason = "";
|
edt->pi.noreassembly_reason = "";
|
||||||
edt->pi.ptype = PT_NONE;
|
edt->pi.ptype = PT_NONE;
|
||||||
|
@ -537,12 +537,12 @@ dissect_file(epan_dissect_t *edt, struct wtap_pkthdr *phdr,
|
||||||
edt->pi.fd = fd;
|
edt->pi.fd = fd;
|
||||||
edt->pi.phdr = phdr;
|
edt->pi.phdr = phdr;
|
||||||
edt->pi.pseudo_header = &phdr->pseudo_header;
|
edt->pi.pseudo_header = &phdr->pseudo_header;
|
||||||
edt->pi.dl_src.type = AT_NONE;
|
clear_address(&edt->pi.dl_src);
|
||||||
edt->pi.dl_dst.type = AT_NONE;
|
clear_address(&edt->pi.dl_dst);
|
||||||
edt->pi.net_src.type = AT_NONE;
|
clear_address(&edt->pi.net_src);
|
||||||
edt->pi.net_dst.type = AT_NONE;
|
clear_address(&edt->pi.net_dst);
|
||||||
edt->pi.src.type = AT_NONE;
|
clear_address(&edt->pi.src);
|
||||||
edt->pi.dst.type = AT_NONE;
|
clear_address(&edt->pi.dst);
|
||||||
edt->pi.ctype = CT_NONE;
|
edt->pi.ctype = CT_NONE;
|
||||||
edt->pi.noreassembly_reason = "";
|
edt->pi.noreassembly_reason = "";
|
||||||
edt->pi.ptype = PT_NONE;
|
edt->pi.ptype = PT_NONE;
|
||||||
|
@ -754,12 +754,12 @@ call_dissector_work_error(dissector_handle_t handle, tvbuff_t *tvb,
|
||||||
|
|
||||||
save_writable = col_get_writable(pinfo->cinfo);
|
save_writable = col_get_writable(pinfo->cinfo);
|
||||||
col_set_writable(pinfo->cinfo, FALSE);
|
col_set_writable(pinfo->cinfo, FALSE);
|
||||||
save_dl_src = pinfo->dl_src;
|
copy_address_shallow(&save_dl_src, &pinfo->dl_src);
|
||||||
save_dl_dst = pinfo->dl_dst;
|
copy_address_shallow(&save_dl_dst, &pinfo->dl_dst);
|
||||||
save_net_src = pinfo->net_src;
|
copy_address_shallow(&save_net_src, &pinfo->net_src);
|
||||||
save_net_dst = pinfo->net_dst;
|
copy_address_shallow(&save_net_dst, &pinfo->net_dst);
|
||||||
save_src = pinfo->src;
|
copy_address_shallow(&save_src, &pinfo->src);
|
||||||
save_dst = pinfo->dst;
|
copy_address_shallow(&save_dst, &pinfo->dst);
|
||||||
|
|
||||||
/* Dissect the contained packet. */
|
/* Dissect the contained packet. */
|
||||||
TRY {
|
TRY {
|
||||||
|
@ -770,12 +770,12 @@ call_dissector_work_error(dissector_handle_t handle, tvbuff_t *tvb,
|
||||||
* Restore the column writability and addresses.
|
* Restore the column writability and addresses.
|
||||||
*/
|
*/
|
||||||
col_set_writable(pinfo->cinfo, save_writable);
|
col_set_writable(pinfo->cinfo, save_writable);
|
||||||
pinfo->dl_src = save_dl_src;
|
copy_address_shallow(&pinfo->dl_src, &save_dl_src);
|
||||||
pinfo->dl_dst = save_dl_dst;
|
copy_address_shallow(&pinfo->dl_dst, &save_dl_dst);
|
||||||
pinfo->net_src = save_net_src;
|
copy_address_shallow(&pinfo->net_src, &save_net_src);
|
||||||
pinfo->net_dst = save_net_dst;
|
copy_address_shallow(&pinfo->net_dst, &save_net_dst);
|
||||||
pinfo->src = save_src;
|
copy_address_shallow(&pinfo->src, &save_src);
|
||||||
pinfo->dst = save_dst;
|
copy_address_shallow(&pinfo->dst, &save_dst);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Restore the current protocol, so any
|
* Restore the current protocol, so any
|
||||||
|
@ -812,12 +812,12 @@ call_dissector_work_error(dissector_handle_t handle, tvbuff_t *tvb,
|
||||||
ENDTRY;
|
ENDTRY;
|
||||||
|
|
||||||
col_set_writable(pinfo->cinfo, save_writable);
|
col_set_writable(pinfo->cinfo, save_writable);
|
||||||
pinfo->dl_src = save_dl_src;
|
copy_address_shallow(&pinfo->dl_src, &save_dl_src);
|
||||||
pinfo->dl_dst = save_dl_dst;
|
copy_address_shallow(&pinfo->dl_dst, &save_dl_dst);
|
||||||
pinfo->net_src = save_net_src;
|
copy_address_shallow(&pinfo->net_src, &save_net_src);
|
||||||
pinfo->net_dst = save_net_dst;
|
copy_address_shallow(&pinfo->net_dst, &save_net_dst);
|
||||||
pinfo->src = save_src;
|
copy_address_shallow(&pinfo->src, &save_src);
|
||||||
pinfo->dst = save_dst;
|
copy_address_shallow(&pinfo->dst, &save_dst);
|
||||||
pinfo->want_pdu_tracking = 0;
|
pinfo->want_pdu_tracking = 0;
|
||||||
return len;
|
return len;
|
||||||
}
|
}
|
||||||
|
|
|
@ -97,8 +97,8 @@ fragment_addresses_temporary_key(const packet_info *pinfo, const guint32 id,
|
||||||
/*
|
/*
|
||||||
* Do a shallow copy of the addresses.
|
* Do a shallow copy of the addresses.
|
||||||
*/
|
*/
|
||||||
key->src = pinfo->src;
|
copy_address_shallow(&key->src, &pinfo->src);
|
||||||
key->dst = pinfo->dst;
|
copy_address_shallow(&key->dst, &pinfo->dst);
|
||||||
key->id = id;
|
key->id = id;
|
||||||
|
|
||||||
return (gpointer)key;
|
return (gpointer)key;
|
||||||
|
@ -142,8 +142,8 @@ fragment_addresses_free_persistent_key(gpointer ptr)
|
||||||
/*
|
/*
|
||||||
* Free up the copies of the addresses from the old key.
|
* Free up the copies of the addresses from the old key.
|
||||||
*/
|
*/
|
||||||
g_free((gpointer)key->src.data);
|
free_address(&key->src);
|
||||||
g_free((gpointer)key->dst.data);
|
free_address(&key->dst);
|
||||||
|
|
||||||
g_slice_free(fragment_addresses_key, key);
|
g_slice_free(fragment_addresses_key, key);
|
||||||
}
|
}
|
||||||
|
@ -231,8 +231,8 @@ fragment_addresses_ports_temporary_key(const packet_info *pinfo, const guint32 i
|
||||||
/*
|
/*
|
||||||
* Do a shallow copy of the addresses.
|
* Do a shallow copy of the addresses.
|
||||||
*/
|
*/
|
||||||
key->src_addr = pinfo->src;
|
copy_address_shallow(&key->src_addr, &pinfo->src);
|
||||||
key->dst_addr = pinfo->dst;
|
copy_address_shallow(&key->dst_addr, &pinfo->dst);
|
||||||
key->src_port = pinfo->srcport;
|
key->src_port = pinfo->srcport;
|
||||||
key->dst_port = pinfo->destport;
|
key->dst_port = pinfo->destport;
|
||||||
key->id = id;
|
key->id = id;
|
||||||
|
@ -280,8 +280,8 @@ fragment_addresses_ports_free_persistent_key(gpointer ptr)
|
||||||
/*
|
/*
|
||||||
* Free up the copies of the addresses from the old key.
|
* Free up the copies of the addresses from the old key.
|
||||||
*/
|
*/
|
||||||
g_free((gpointer)key->src_addr.data);
|
free_address(&key->src_addr);
|
||||||
g_free((gpointer)key->dst_addr.data);
|
free_address(&key->dst_addr);
|
||||||
|
|
||||||
g_slice_free(fragment_addresses_ports_key, key);
|
g_slice_free(fragment_addresses_ports_key, key);
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,14 +43,14 @@ WSLUA_CONSTRUCTOR Address_ip(lua_State* L) {
|
||||||
|
|
||||||
#define WSLUA_ARG_Address_ip_HOSTNAME 1 /* The address or name of the IP host. */
|
#define WSLUA_ARG_Address_ip_HOSTNAME 1 /* The address or name of the IP host. */
|
||||||
Address addr = (Address)g_malloc(sizeof(address));
|
Address addr = (Address)g_malloc(sizeof(address));
|
||||||
guint32* ip_addr = (guint32 *)g_malloc(sizeof(guint32));
|
guint32 ip_addr;
|
||||||
const gchar* name = luaL_checkstring(L,WSLUA_ARG_Address_ip_HOSTNAME);
|
const gchar* name = luaL_checkstring(L,WSLUA_ARG_Address_ip_HOSTNAME);
|
||||||
|
|
||||||
if (! get_host_ipaddr(name, (guint32*)ip_addr)) {
|
if (! get_host_ipaddr(name, &ip_addr)) {
|
||||||
*ip_addr = 0;
|
ip_addr = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
set_address(addr, AT_IPv4, 4, ip_addr);
|
alloc_address_wmem(NULL, addr, AT_IPv4, 4, &ip_addr);
|
||||||
pushAddress(L,addr);
|
pushAddress(L,addr);
|
||||||
WSLUA_RETURN(1); /* The Address object. */
|
WSLUA_RETURN(1); /* The Address object. */
|
||||||
}
|
}
|
||||||
|
@ -60,7 +60,7 @@ WSLUA_CONSTRUCTOR Address_ip(lua_State* L) {
|
||||||
static int Address_ipv6(lua_State* L) {
|
static int Address_ipv6(lua_State* L) {
|
||||||
Address addr = g_malloc(sizeof(address));
|
Address addr = g_malloc(sizeof(address));
|
||||||
|
|
||||||
set_address(addr, AT_NONE, 4, g_malloc(4));
|
/* alloc_address() */
|
||||||
|
|
||||||
pushAddress(L,addr);
|
pushAddress(L,addr);
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -68,7 +68,7 @@ static int Address_ipv6(lua_State* L) {
|
||||||
static int Address_ss7(lua_State* L) {
|
static int Address_ss7(lua_State* L) {
|
||||||
Address addr = g_malloc(sizeof(address));
|
Address addr = g_malloc(sizeof(address));
|
||||||
|
|
||||||
set_address(addr, AT_NONE, 4, g_malloc(4));
|
/* alloc_address() */
|
||||||
|
|
||||||
pushAddress(L,addr);
|
pushAddress(L,addr);
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -76,7 +76,7 @@ static int Address_ss7(lua_State* L) {
|
||||||
static int Address_eth(lua_State* L) {
|
static int Address_eth(lua_State* L) {
|
||||||
Address addr = g_malloc(sizeof(address));
|
Address addr = g_malloc(sizeof(address));
|
||||||
|
|
||||||
set_address(addr, AT_NONE, 4, g_malloc(4));
|
/* alloc_address() */
|
||||||
|
|
||||||
pushAddress(L,addr);
|
pushAddress(L,addr);
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -84,7 +84,7 @@ static int Address_eth(lua_State* L) {
|
||||||
static int Address_sna(lua_State* L) {
|
static int Address_sna(lua_State* L) {
|
||||||
Address addr = g_malloc(sizeof(address));
|
Address addr = g_malloc(sizeof(address));
|
||||||
|
|
||||||
set_address(addr, AT_NONE, 4, g_malloc(4));
|
/* alloc_address() */
|
||||||
|
|
||||||
pushAddress(L,addr);
|
pushAddress(L,addr);
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -92,7 +92,7 @@ static int Address_sna(lua_State* L) {
|
||||||
static int Address_atalk(lua_State* L) {
|
static int Address_atalk(lua_State* L) {
|
||||||
Address addr = g_malloc(sizeof(address));
|
Address addr = g_malloc(sizeof(address));
|
||||||
|
|
||||||
set_address(addr, AT_NONE, 4, g_malloc(4));
|
/* alloc_address() */
|
||||||
|
|
||||||
pushAddress(L,addr);
|
pushAddress(L,addr);
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -100,7 +100,7 @@ static int Address_atalk(lua_State* L) {
|
||||||
static int Address_vines(lua_State* L) {
|
static int Address_vines(lua_State* L) {
|
||||||
Address addr = g_malloc(sizeof(address));
|
Address addr = g_malloc(sizeof(address));
|
||||||
|
|
||||||
set_address(addr, AT_NONE, 4, g_malloc(4));
|
/* alloc_address() */
|
||||||
|
|
||||||
pushAddress(L,addr);
|
pushAddress(L,addr);
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -108,7 +108,7 @@ static int Address_vines(lua_State* L) {
|
||||||
static int Address_osi(lua_State* L) {
|
static int Address_osi(lua_State* L) {
|
||||||
Address addr = g_malloc(sizeof(address));
|
Address addr = g_malloc(sizeof(address));
|
||||||
|
|
||||||
set_address(addr, AT_NONE, 4, g_malloc(4));
|
/* alloc_address() */
|
||||||
|
|
||||||
pushAddress(L,addr);
|
pushAddress(L,addr);
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -116,7 +116,7 @@ static int Address_osi(lua_State* L) {
|
||||||
static int Address_arcnet(lua_State* L) {
|
static int Address_arcnet(lua_State* L) {
|
||||||
Address addr = g_malloc(sizeof(address));
|
Address addr = g_malloc(sizeof(address));
|
||||||
|
|
||||||
set_address(addr, AT_NONE, 4, g_malloc(4));
|
/* alloc_address() */
|
||||||
|
|
||||||
pushAddress(L,addr);
|
pushAddress(L,addr);
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -124,7 +124,7 @@ static int Address_arcnet(lua_State* L) {
|
||||||
static int Address_fc(lua_State* L) {
|
static int Address_fc(lua_State* L) {
|
||||||
Address addr = g_malloc(sizeof(address));
|
Address addr = g_malloc(sizeof(address));
|
||||||
|
|
||||||
set_address(addr, AT_NONE, 4, g_malloc(4));
|
/* alloc_address() */
|
||||||
|
|
||||||
pushAddress(L,addr);
|
pushAddress(L,addr);
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -132,7 +132,7 @@ static int Address_fc(lua_State* L) {
|
||||||
static int Address_string(lua_State* L) {
|
static int Address_string(lua_State* L) {
|
||||||
Address addr = g_malloc(sizeof(address));
|
Address addr = g_malloc(sizeof(address));
|
||||||
|
|
||||||
set_address(addr, AT_NONE, 4, g_malloc(4));
|
/* alloc_address() */
|
||||||
|
|
||||||
pushAddress(L,addr);
|
pushAddress(L,addr);
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -140,7 +140,7 @@ static int Address_string(lua_State* L) {
|
||||||
static int Address_eui64(lua_State* L) {
|
static int Address_eui64(lua_State* L) {
|
||||||
Address addr = g_malloc(sizeof(address));
|
Address addr = g_malloc(sizeof(address));
|
||||||
|
|
||||||
set_address(addr, AT_NONE, 4, g_malloc(4));
|
/* alloc_address() */
|
||||||
|
|
||||||
pushAddress(L,addr);
|
pushAddress(L,addr);
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -148,7 +148,7 @@ static int Address_eui64(lua_State* L) {
|
||||||
static int Address_uri(lua_State* L) {
|
static int Address_uri(lua_State* L) {
|
||||||
Address addr = g_malloc(sizeof(address));
|
Address addr = g_malloc(sizeof(address));
|
||||||
|
|
||||||
set_address(addr, AT_NONE, 4, g_malloc(4));
|
/* alloc_address() */
|
||||||
|
|
||||||
pushAddress(L,addr);
|
pushAddress(L,addr);
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -156,7 +156,7 @@ static int Address_uri(lua_State* L) {
|
||||||
static int Address_tipc(lua_State* L) {
|
static int Address_tipc(lua_State* L) {
|
||||||
Address addr = g_malloc(sizeof(address));
|
Address addr = g_malloc(sizeof(address));
|
||||||
|
|
||||||
set_address(addr, AT_NONE, 4, g_malloc(4));
|
/* alloc_address() */
|
||||||
|
|
||||||
pushAddress(L,addr);
|
pushAddress(L,addr);
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -186,11 +186,11 @@ WSLUA_METHODS Address_methods[] = {
|
||||||
|
|
||||||
WSLUA_METAMETHOD Address__tostring(lua_State* L) {
|
WSLUA_METAMETHOD Address__tostring(lua_State* L) {
|
||||||
Address addr = checkAddress(L,1);
|
Address addr = checkAddress(L,1);
|
||||||
const gchar *str = address_to_display(NULL, addr);
|
gchar *str = address_to_display(NULL, addr);
|
||||||
|
|
||||||
lua_pushstring(L, str);
|
lua_pushstring(L, str);
|
||||||
|
|
||||||
wmem_free(NULL, (void*) str);
|
wmem_free(NULL, str);
|
||||||
|
|
||||||
WSLUA_RETURN(1); /* The string representing the address. */
|
WSLUA_RETURN(1); /* The string representing the address. */
|
||||||
}
|
}
|
||||||
|
@ -200,8 +200,8 @@ static int Address__gc(lua_State* L) {
|
||||||
Address addr = toAddress(L,1);
|
Address addr = toAddress(L,1);
|
||||||
|
|
||||||
if (addr) {
|
if (addr) {
|
||||||
g_free((void*)(addr->data));
|
free_address(addr);
|
||||||
g_free((void*)(addr));
|
g_free(addr);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -124,41 +124,31 @@ WSLUA_METAMETHOD FieldInfo__call(lua_State* L) {
|
||||||
}
|
}
|
||||||
case FT_ETHER: {
|
case FT_ETHER: {
|
||||||
Address eth = (Address)g_malloc(sizeof(address));
|
Address eth = (Address)g_malloc(sizeof(address));
|
||||||
eth->type = AT_ETHER;
|
alloc_address_tvb(NULL,eth,AT_ETHER,fi->ws_fi->length,fi->ws_fi->ds_tvb,fi->ws_fi->start);
|
||||||
eth->len = fi->ws_fi->length;
|
|
||||||
eth->data = tvb_memdup(NULL,fi->ws_fi->ds_tvb,fi->ws_fi->start,fi->ws_fi->length);
|
|
||||||
pushAddress(L,eth);
|
pushAddress(L,eth);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
case FT_IPv4:{
|
case FT_IPv4:{
|
||||||
Address ipv4 = (Address)g_malloc(sizeof(address));
|
Address ipv4 = (Address)g_malloc(sizeof(address));
|
||||||
ipv4->type = AT_IPv4;
|
alloc_address_tvb(NULL,ipv4,AT_IPv4,fi->ws_fi->length,fi->ws_fi->ds_tvb,fi->ws_fi->start);
|
||||||
ipv4->len = fi->ws_fi->length;
|
|
||||||
ipv4->data = tvb_memdup(NULL,fi->ws_fi->ds_tvb,fi->ws_fi->start,fi->ws_fi->length);
|
|
||||||
pushAddress(L,ipv4);
|
pushAddress(L,ipv4);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
case FT_IPv6: {
|
case FT_IPv6: {
|
||||||
Address ipv6 = (Address)g_malloc(sizeof(address));
|
Address ipv6 = (Address)g_malloc(sizeof(address));
|
||||||
ipv6->type = AT_IPv6;
|
alloc_address_tvb(NULL,ipv6,AT_IPv6,fi->ws_fi->length,fi->ws_fi->ds_tvb,fi->ws_fi->start);
|
||||||
ipv6->len = fi->ws_fi->length;
|
|
||||||
ipv6->data = tvb_memdup(NULL,fi->ws_fi->ds_tvb,fi->ws_fi->start,fi->ws_fi->length);
|
|
||||||
pushAddress(L,ipv6);
|
pushAddress(L,ipv6);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
case FT_FCWWN: {
|
case FT_FCWWN: {
|
||||||
Address fcwwn = (Address)g_malloc(sizeof(address));
|
Address fcwwn = (Address)g_malloc(sizeof(address));
|
||||||
fcwwn->type = AT_FCWWN;
|
alloc_address_tvb(NULL,fcwwn,AT_FCWWN,fi->ws_fi->length,fi->ws_fi->ds_tvb,fi->ws_fi->start);
|
||||||
fcwwn->len = fi->ws_fi->length;
|
|
||||||
fcwwn->data = tvb_memdup(NULL,fi->ws_fi->ds_tvb,fi->ws_fi->start,fi->ws_fi->length);
|
|
||||||
pushAddress(L,fcwwn);
|
pushAddress(L,fcwwn);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
case FT_IPXNET:{
|
case FT_IPXNET:{
|
||||||
Address ipx = (Address)g_malloc(sizeof(address));
|
Address ipx = (Address)g_malloc(sizeof(address));
|
||||||
ipx->type = AT_IPX;
|
alloc_address_tvb(NULL,ipx,AT_IPX,fi->ws_fi->length,fi->ws_fi->ds_tvb,fi->ws_fi->start);
|
||||||
ipx->len = fi->ws_fi->length;
|
|
||||||
ipx->data = tvb_memdup(NULL,fi->ws_fi->ds_tvb,fi->ws_fi->start,fi->ws_fi->length);
|
|
||||||
pushAddress(L,ipx);
|
pushAddress(L,ipx);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -751,7 +751,6 @@ WSLUA_METHOD TvbRange_ipv4(lua_State* L) {
|
||||||
/* Get an IPv4 Address from a `TvbRange`, as an `Address` object. */
|
/* Get an IPv4 Address from a `TvbRange`, as an `Address` object. */
|
||||||
TvbRange tvbr = checkTvbRange(L,1);
|
TvbRange tvbr = checkTvbRange(L,1);
|
||||||
Address addr;
|
Address addr;
|
||||||
guint32* ip_addr;
|
|
||||||
|
|
||||||
if ( !(tvbr && tvbr->tvb)) return 0;
|
if ( !(tvbr && tvbr->tvb)) return 0;
|
||||||
if (tvbr->tvb->expired) {
|
if (tvbr->tvb->expired) {
|
||||||
|
@ -764,12 +763,8 @@ WSLUA_METHOD TvbRange_ipv4(lua_State* L) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
addr = (address *)g_malloc(sizeof(address));
|
addr = g_new(address,1);
|
||||||
|
alloc_address_tvb(NULL,addr,AT_IPv4,sizeof(guint32),tvbr->tvb->ws_tvb,tvbr->offset);
|
||||||
ip_addr = (guint32 *)g_malloc(sizeof(guint32));
|
|
||||||
*ip_addr = tvb_get_ipv4(tvbr->tvb->ws_tvb,tvbr->offset);
|
|
||||||
|
|
||||||
set_address(addr, AT_IPv4, 4, ip_addr);
|
|
||||||
pushAddress(L,addr);
|
pushAddress(L,addr);
|
||||||
|
|
||||||
WSLUA_RETURN(1); /* The IPv4 `Address` object. */
|
WSLUA_RETURN(1); /* The IPv4 `Address` object. */
|
||||||
|
@ -779,7 +774,7 @@ WSLUA_METHOD TvbRange_le_ipv4(lua_State* L) {
|
||||||
/* Get an Little Endian IPv4 Address from a `TvbRange`, as an `Address` object. */
|
/* Get an Little Endian IPv4 Address from a `TvbRange`, as an `Address` object. */
|
||||||
TvbRange tvbr = checkTvbRange(L,1);
|
TvbRange tvbr = checkTvbRange(L,1);
|
||||||
Address addr;
|
Address addr;
|
||||||
guint32* ip_addr;
|
guint32 ip_addr;
|
||||||
|
|
||||||
if ( !(tvbr && tvbr->tvb)) return 0;
|
if ( !(tvbr && tvbr->tvb)) return 0;
|
||||||
if (tvbr->tvb->expired) {
|
if (tvbr->tvb->expired) {
|
||||||
|
@ -792,13 +787,9 @@ WSLUA_METHOD TvbRange_le_ipv4(lua_State* L) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
addr = (address *)g_malloc(sizeof(address));
|
addr = g_new(address,1);
|
||||||
|
ip_addr = GUINT32_SWAP_LE_BE(tvb_get_ipv4(tvbr->tvb->ws_tvb,tvbr->offset));
|
||||||
ip_addr = (guint32 *)g_malloc(sizeof(guint32));
|
alloc_address_wmem(NULL, addr, AT_IPv4, sizeof(ip_addr), &ip_addr);
|
||||||
*ip_addr = tvb_get_ipv4(tvbr->tvb->ws_tvb,tvbr->offset);
|
|
||||||
*((guint32 *)ip_addr) = GUINT32_SWAP_LE_BE(*((guint32 *)ip_addr));
|
|
||||||
|
|
||||||
set_address(addr, AT_IPv4, 4, ip_addr);
|
|
||||||
pushAddress(L,addr);
|
pushAddress(L,addr);
|
||||||
|
|
||||||
WSLUA_RETURN(1); /* The IPv4 `Address` object. */
|
WSLUA_RETURN(1); /* The IPv4 `Address` object. */
|
||||||
|
@ -808,7 +799,6 @@ WSLUA_METHOD TvbRange_ether(lua_State* L) {
|
||||||
/* Get an Ethernet Address from a `TvbRange`, as an `Address` object. */
|
/* Get an Ethernet Address from a `TvbRange`, as an `Address` object. */
|
||||||
TvbRange tvbr = checkTvbRange(L,1);
|
TvbRange tvbr = checkTvbRange(L,1);
|
||||||
Address addr;
|
Address addr;
|
||||||
guint8* buff;
|
|
||||||
|
|
||||||
if ( !(tvbr && tvbr->tvb)) return 0;
|
if ( !(tvbr && tvbr->tvb)) return 0;
|
||||||
if (tvbr->tvb->expired) {
|
if (tvbr->tvb->expired) {
|
||||||
|
@ -822,10 +812,7 @@ WSLUA_METHOD TvbRange_ether(lua_State* L) {
|
||||||
}
|
}
|
||||||
|
|
||||||
addr = g_new(address,1);
|
addr = g_new(address,1);
|
||||||
|
alloc_address_tvb(NULL,addr,AT_ETHER,6,tvbr->tvb->ws_tvb,tvbr->offset);
|
||||||
buff = (guint8 *)tvb_memdup(NULL,tvbr->tvb->ws_tvb,tvbr->offset,tvbr->len);
|
|
||||||
|
|
||||||
set_address(addr, AT_ETHER, 6, buff);
|
|
||||||
pushAddress(L,addr);
|
pushAddress(L,addr);
|
||||||
|
|
||||||
WSLUA_RETURN(1); /* The Ethernet `Address` object. */
|
WSLUA_RETURN(1); /* The Ethernet `Address` object. */
|
||||||
|
|
|
@ -529,13 +529,9 @@ static void dissect_iap_request(tvbuff_t* tvb, packet_info* pinfo, proto_tree* r
|
||||||
|
|
||||||
/* create conversation entry */
|
/* create conversation entry */
|
||||||
src = circuit_id ^ CMD_FRAME;
|
src = circuit_id ^ CMD_FRAME;
|
||||||
srcaddr.type = AT_NONE;
|
set_address(&srcaddr, AT_NONE, 1, &src);
|
||||||
srcaddr.len = 1;
|
|
||||||
srcaddr.data = (guint8*)&src;
|
|
||||||
|
|
||||||
destaddr.type = AT_NONE;
|
set_address(&destaddr, AT_NONE, 1, &circuit_id);
|
||||||
destaddr.len = 1;
|
|
||||||
destaddr.data = (guint8*)&circuit_id;
|
|
||||||
|
|
||||||
conv = find_conversation(pinfo->num, &srcaddr, &destaddr, PT_NONE, pinfo->srcport, pinfo->destport, 0);
|
conv = find_conversation(pinfo->num, &srcaddr, &destaddr, PT_NONE, pinfo->srcport, pinfo->destport, 0);
|
||||||
if (conv)
|
if (conv)
|
||||||
|
@ -682,13 +678,9 @@ static void dissect_iap_result(tvbuff_t* tvb, packet_info* pinfo, proto_tree* ro
|
||||||
retcode = tvb_get_guint8(tvb, offset + 1);
|
retcode = tvb_get_guint8(tvb, offset + 1);
|
||||||
|
|
||||||
src = circuit_id ^ CMD_FRAME;
|
src = circuit_id ^ CMD_FRAME;
|
||||||
srcaddr.type = AT_NONE;
|
set_address(&srcaddr, AT_NONE, 1, &src);
|
||||||
srcaddr.len = 1;
|
|
||||||
srcaddr.data = (guint8*)&src;
|
|
||||||
|
|
||||||
destaddr.type = AT_NONE;
|
set_address(&destaddr, AT_NONE, 1, &circuit_id);
|
||||||
destaddr.len = 1;
|
|
||||||
destaddr.data = (guint8*)&circuit_id;
|
|
||||||
|
|
||||||
/* Find result value dissector */
|
/* Find result value dissector */
|
||||||
conv = find_conversation(pinfo->num, &srcaddr, &destaddr, PT_NONE, pinfo->srcport, pinfo->destport, 0);
|
conv = find_conversation(pinfo->num, &srcaddr, &destaddr, PT_NONE, pinfo->srcport, pinfo->destport, 0);
|
||||||
|
@ -967,13 +959,9 @@ static void dissect_appl_proto(tvbuff_t* tvb, packet_info* pinfo, proto_tree* ro
|
||||||
|
|
||||||
|
|
||||||
src = circuit_id ^ CMD_FRAME;
|
src = circuit_id ^ CMD_FRAME;
|
||||||
srcaddr.type = AT_NONE;
|
set_address(&srcaddr, AT_NONE, 1, &src);
|
||||||
srcaddr.len = 1;
|
|
||||||
srcaddr.data = (guint8*)&src;
|
|
||||||
|
|
||||||
destaddr.type = AT_NONE;
|
set_address(&destaddr, AT_NONE, 1, &circuit_id);
|
||||||
destaddr.len = 1;
|
|
||||||
destaddr.data = (guint8*)&circuit_id;
|
|
||||||
|
|
||||||
/* Find result value dissector */
|
/* Find result value dissector */
|
||||||
conv = find_conversation(pinfo->num, &srcaddr, &destaddr, PT_NONE, pinfo->srcport, pinfo->destport, 0);
|
conv = find_conversation(pinfo->num, &srcaddr, &destaddr, PT_NONE, pinfo->srcport, pinfo->destport, 0);
|
||||||
|
@ -1200,14 +1188,9 @@ void add_lmp_conversation(packet_info* pinfo, guint8 dlsap, gboolean ttp, dissec
|
||||||
|
|
||||||
|
|
||||||
/*g_message("%d: add_lmp_conversation(%p, %d, %d, %p) = ", pinfo->num, pinfo, dlsap, ttp, proto_dissector); */
|
/*g_message("%d: add_lmp_conversation(%p, %d, %d, %p) = ", pinfo->num, pinfo, dlsap, ttp, proto_dissector); */
|
||||||
srcaddr.type = AT_NONE;
|
set_address(&srcaddr, AT_NONE, 1, &circuit_id);
|
||||||
srcaddr.len = 1;
|
|
||||||
srcaddr.data = (guint8*)&circuit_id;
|
|
||||||
|
|
||||||
dest = circuit_id ^ CMD_FRAME;
|
set_address(&destaddr, AT_NONE, 1, &dest);
|
||||||
destaddr.type = AT_NONE;
|
|
||||||
destaddr.len = 1;
|
|
||||||
destaddr.data = (guint8*)&dest;
|
|
||||||
|
|
||||||
conv = find_conversation(pinfo->num, &destaddr, &srcaddr, PT_NONE, dlsap, 0, NO_PORT_B);
|
conv = find_conversation(pinfo->num, &destaddr, &srcaddr, PT_NONE, dlsap, 0, NO_PORT_B);
|
||||||
if (conv)
|
if (conv)
|
||||||
|
|
|
@ -231,8 +231,8 @@ dissect_unistim(tvbuff_t *tvb,packet_info *pinfo,proto_tree *tree,void *data _U_
|
||||||
uinfo->set_termid = -1;
|
uinfo->set_termid = -1;
|
||||||
uinfo->string_data = NULL;
|
uinfo->string_data = NULL;
|
||||||
uinfo->key_buffer = NULL;
|
uinfo->key_buffer = NULL;
|
||||||
set_address(&uinfo->it_ip, AT_NONE, 0, NULL);
|
clear_address(&uinfo->it_ip);
|
||||||
set_address(&uinfo->ni_ip, AT_NONE, 0, NULL);
|
clear_address(&uinfo->ni_ip);
|
||||||
uinfo->it_port = 0;
|
uinfo->it_port = 0;
|
||||||
|
|
||||||
offset+=4;
|
offset+=4;
|
||||||
|
|
|
@ -1069,15 +1069,15 @@ static int dissect_mac_header_generic_decoder(tvbuff_t *tvb, packet_info *pinfo,
|
||||||
first_gmh = FALSE;
|
first_gmh = FALSE;
|
||||||
cid = cid_base + cid_adjust[cid_index] + cid_vernier[cid_index];
|
cid = cid_base + cid_adjust[cid_index] + cid_vernier[cid_index];
|
||||||
/* Save address pointers. */
|
/* Save address pointers. */
|
||||||
save_src = pinfo->src;
|
copy_address_shallow(&save_src, &pinfo->src);
|
||||||
save_dst = pinfo->dst;
|
copy_address_shallow(&save_dst, &pinfo->dst);
|
||||||
/* Use dl_src and dl_dst in defragmentation. */
|
/* Use dl_src and dl_dst in defragmentation. */
|
||||||
pinfo->src = pinfo->dl_src;
|
copy_address_shallow(&pinfo->src, &pinfo->dl_src);
|
||||||
pinfo->dst = pinfo->dl_dst;
|
copy_address_shallow(&pinfo->dst, &pinfo->dl_dst);
|
||||||
payload_frag = fragment_add_seq(&payload_reassembly_table, tvb, offset, pinfo, cid, NULL, frag_number[cid_index], frag_len, ((frag_type==LAST_FRAG)?0:1), 0);
|
payload_frag = fragment_add_seq(&payload_reassembly_table, tvb, offset, pinfo, cid, NULL, frag_number[cid_index], frag_len, ((frag_type==LAST_FRAG)?0:1), 0);
|
||||||
/* Restore address pointers. */
|
/* Restore address pointers. */
|
||||||
pinfo->src = save_src;
|
copy_address_shallow(&pinfo->src, &save_src);
|
||||||
pinfo->dst = save_dst;
|
copy_address_shallow(&pinfo->dst, &save_dst);
|
||||||
if (frag_type == LAST_FRAG)
|
if (frag_type == LAST_FRAG)
|
||||||
{
|
{
|
||||||
/* Make sure fragment_add_seq() sees next one as a new frame. */
|
/* Make sure fragment_add_seq() sees next one as a new frame. */
|
||||||
|
|
|
@ -45,7 +45,7 @@ gint mac_sdu_length = 49; /* default SDU size is 49 bytes (11.13.16) */
|
||||||
extern guint global_cid_max_basic;
|
extern guint global_cid_max_basic;
|
||||||
extern gboolean include_cor2_changes;
|
extern gboolean include_cor2_changes;
|
||||||
|
|
||||||
address bs_address = {AT_NONE, 0, NULL};
|
address bs_address = ADDRESS_INIT_NONE;
|
||||||
|
|
||||||
|
|
||||||
static int hf_tlv_type = -1;
|
static int hf_tlv_type = -1;
|
||||||
|
|
|
@ -119,8 +119,8 @@ comparestat_packet(void *arg, packet_info *pinfo, epan_dissect_t *edt _U_, const
|
||||||
|
|
||||||
/* so this get filled, usually with the first frame */
|
/* so this get filled, usually with the first frame */
|
||||||
if (cs->eth_dst.len == 0) {
|
if (cs->eth_dst.len == 0) {
|
||||||
cs->eth_dst = pinfo->dl_dst;
|
copy_address_shallow(&cs->eth_dst, &pinfo->dl_dst);
|
||||||
cs->eth_src = pinfo->dl_src;
|
copy_address_shallow(&cs->eth_src, &pinfo->dl_src);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Set up the fields of the pseudo-header and create checksum */
|
/* Set up the fields of the pseudo-header and create checksum */
|
||||||
|
@ -145,7 +145,7 @@ comparestat_packet(void *arg, packet_info *pinfo, epan_dissect_t *edt _U_, const
|
||||||
fInfo->num = pinfo->num;
|
fInfo->num = pinfo->num;
|
||||||
fInfo->id = ci->ip_id;
|
fInfo->id = ci->ip_id;
|
||||||
fInfo->ip_ttl = ci->ip_ttl;
|
fInfo->ip_ttl = ci->ip_ttl;
|
||||||
fInfo->dl_dst = pinfo->dl_dst;
|
copy_address_shallow(&fInfo->dl_dst, &pinfo->dl_dst);
|
||||||
fInfo->abs_ts = pinfo->abs_ts;
|
fInfo->abs_ts = pinfo->abs_ts;
|
||||||
/* clean memory */
|
/* clean memory */
|
||||||
nstime_set_zero(&fInfo->zebra_time);
|
nstime_set_zero(&fInfo->zebra_time);
|
||||||
|
|
|
@ -180,8 +180,8 @@ comparestat_packet(void *arg, packet_info *pinfo, epan_dissect_t *edt _U_, const
|
||||||
|
|
||||||
/* so this get filled, usually with the first frame */
|
/* so this get filled, usually with the first frame */
|
||||||
if(cs->eth_dst.len==0) {
|
if(cs->eth_dst.len==0) {
|
||||||
cs->eth_dst=pinfo->dl_dst;
|
copy_address_shallow(&cs->eth_dst, &pinfo->dl_dst);
|
||||||
cs->eth_src=pinfo->dl_src;
|
copy_address_shallow(&cs->eth_src, &pinfo->dl_src);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Set up the fields of the pseudo-header and create checksum */
|
/* Set up the fields of the pseudo-header and create checksum */
|
||||||
|
@ -212,7 +212,7 @@ comparestat_packet(void *arg, packet_info *pinfo, epan_dissect_t *edt _U_, const
|
||||||
fInfo->num=pinfo->num;
|
fInfo->num=pinfo->num;
|
||||||
fInfo->id=ci->ip_id;
|
fInfo->id=ci->ip_id;
|
||||||
fInfo->ip_ttl=ci->ip_ttl;
|
fInfo->ip_ttl=ci->ip_ttl;
|
||||||
fInfo->dl_dst=pinfo->dl_dst;
|
copy_address_shallow(&fInfo->dl_dst, &pinfo->dl_dst);
|
||||||
fInfo->abs_ts=pinfo->abs_ts;
|
fInfo->abs_ts=pinfo->abs_ts;
|
||||||
/* clean memory */
|
/* clean memory */
|
||||||
nstime_set_zero(&fInfo->zebra_time);
|
nstime_set_zero(&fInfo->zebra_time);
|
||||||
|
|
|
@ -1055,7 +1055,7 @@ follow_destroy_cb(GtkWidget *w, gpointer data _U_)
|
||||||
g_list_free(follow_info->payload);
|
g_list_free(follow_info->payload);
|
||||||
|
|
||||||
g_free(follow_info->filter_out_filter);
|
g_free(follow_info->filter_out_filter);
|
||||||
g_free((gpointer)follow_info->client_ip.data);
|
free_address(&follow_info->client_ip);
|
||||||
forget_follow_info(follow_info);
|
forget_follow_info(follow_info);
|
||||||
g_free(gtk_follow_info);
|
g_free(gtk_follow_info);
|
||||||
g_free(follow_info);
|
g_free(follow_info);
|
||||||
|
|
|
@ -86,10 +86,7 @@ static void graph_analysis_reset(graph_analysis_data_t *user_data)
|
||||||
user_data->graph_info->num_nodes = 0;
|
user_data->graph_info->num_nodes = 0;
|
||||||
user_data->num_items = 0;
|
user_data->num_items = 0;
|
||||||
for (i=0; i<MAX_NUM_NODES; i++) {
|
for (i=0; i<MAX_NUM_NODES; i++) {
|
||||||
user_data->graph_info->nodes[i].type = AT_NONE;
|
free_address(&user_data->graph_info->nodes[i]);
|
||||||
user_data->graph_info->nodes[i].len = 0;
|
|
||||||
g_free((void *)user_data->graph_info->nodes[i].data);
|
|
||||||
user_data->graph_info->nodes[i].data = NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
user_data->dlg.first_node = 0;
|
user_data->dlg.first_node = 0;
|
||||||
|
@ -157,10 +154,7 @@ static void on_destroy(GtkWidget *win _U_, graph_analysis_data_t *user_data)
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
for (i=0; i<MAX_NUM_NODES; i++) {
|
for (i=0; i<MAX_NUM_NODES; i++) {
|
||||||
user_data->graph_info->nodes[i].type = AT_NONE;
|
free_address(&user_data->graph_info->nodes[i]);
|
||||||
user_data->graph_info->nodes[i].len = 0;
|
|
||||||
g_free((void *)user_data->graph_info->nodes[i].data);
|
|
||||||
user_data->graph_info->nodes[i].data = NULL;
|
|
||||||
}
|
}
|
||||||
user_data->dlg.window = NULL;
|
user_data->dlg.window = NULL;
|
||||||
g_free(user_data->dlg.title);
|
g_free(user_data->dlg.title);
|
||||||
|
|
|
@ -254,8 +254,8 @@ rtp_stream_value_destroy(gpointer rsi_arg)
|
||||||
|
|
||||||
rtp_packet_list = g_list_next(rtp_packet_list);
|
rtp_packet_list = g_list_next(rtp_packet_list);
|
||||||
}
|
}
|
||||||
g_free((void *)(rsi->src_addr.data));
|
free_address(&rsi->src_addr);
|
||||||
g_free((void *)(rsi->dest_addr.data));
|
free_address(&rsi->dest_addr);
|
||||||
g_free(rsi);
|
g_free(rsi);
|
||||||
rsi = NULL;
|
rsi = NULL;
|
||||||
}
|
}
|
||||||
|
|
|
@ -516,10 +516,10 @@ rtpstream_on_analyse(GtkButton *button _U_, gpointer user_data _U_)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
set_address(&src_fwd,AT_NONE,0,NULL);
|
clear_address(&src_fwd);
|
||||||
set_address(&dst_fwd,AT_NONE,0,NULL);
|
clear_address(&dst_fwd);
|
||||||
set_address(&src_rev,AT_NONE,0,NULL);
|
clear_address(&src_rev);
|
||||||
set_address(&dst_rev,AT_NONE,0,NULL);
|
clear_address(&dst_rev);
|
||||||
|
|
||||||
if (selected_stream_fwd) {
|
if (selected_stream_fwd) {
|
||||||
copy_address(&(src_fwd), &(selected_stream_fwd->src_addr));
|
copy_address(&(src_fwd), &(selected_stream_fwd->src_addr));
|
||||||
|
|
|
@ -146,7 +146,7 @@ dealloc_wlan_details_ep (wlan_details_ep_t *details)
|
||||||
while (details) {
|
while (details) {
|
||||||
tmp = details;
|
tmp = details;
|
||||||
details = details->next;
|
details = details->next;
|
||||||
g_free ((void*)tmp->addr.data);
|
free_address(&tmp->addr);
|
||||||
g_free (tmp);
|
g_free (tmp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -206,7 +206,7 @@ wlanstat_reset (void *phs)
|
||||||
tmp = list;
|
tmp = list;
|
||||||
dealloc_wlan_details_ep(tmp->details);
|
dealloc_wlan_details_ep(tmp->details);
|
||||||
list = tmp->next;
|
list = tmp->next;
|
||||||
g_free((void*)tmp->bssid.data);
|
free_address(&tmp->bssid);
|
||||||
g_free(tmp);
|
g_free(tmp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -462,7 +462,7 @@ wlanstat_packet (void *phs, packet_info *pinfo, epan_dissect_t *edt _U_, const v
|
||||||
if (tmp->iter_valid) {
|
if (tmp->iter_valid) {
|
||||||
gtk_list_store_remove(store, &tmp->iter);
|
gtk_list_store_remove(store, &tmp->iter);
|
||||||
}
|
}
|
||||||
g_free((void*)tmp->bssid.data);
|
free_address(&tmp->bssid);
|
||||||
g_free(tmp);
|
g_free(tmp);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -548,23 +548,17 @@ packet(void *tapdata _U_, packet_info *pinfo, epan_dissect_t *edt _U_, const voi
|
||||||
info->arwnd1 = tvb_get_ntohl(sctp_info->tvb[0], INIT_CHUNK_ADV_REC_WINDOW_CREDIT_OFFSET);
|
info->arwnd1 = tvb_get_ntohl(sctp_info->tvb[0], INIT_CHUNK_ADV_REC_WINDOW_CREDIT_OFFSET);
|
||||||
for (chunk_number = 1; chunk_number < sctp_info->number_of_tvbs; chunk_number++)
|
for (chunk_number = 1; chunk_number < sctp_info->number_of_tvbs; chunk_number++)
|
||||||
{
|
{
|
||||||
type = tvb_get_ntohs(sctp_info->tvb[chunk_number],0);
|
type = tvb_get_ntohs(sctp_info->tvb[chunk_number],0);
|
||||||
if (type == IPV4ADDRESS_PARAMETER_ID)
|
if (type == IPV4ADDRESS_PARAMETER_ID)
|
||||||
{
|
{
|
||||||
store = (address *)g_malloc(sizeof (address));
|
store = (address *)g_malloc(sizeof (address));
|
||||||
store->type = AT_IPv4;
|
alloc_address_tvb(NULL, store, AT_IPv4, 4, sctp_info->tvb[chunk_number], IPV4_ADDRESS_OFFSET);
|
||||||
store->len = 4;
|
|
||||||
store->data = g_malloc(4);
|
|
||||||
tvb_memcpy(sctp_info->tvb[chunk_number], (void *)store->data,IPV4_ADDRESS_OFFSET, 4);
|
|
||||||
info = add_address(store, info, 1);
|
info = add_address(store, info, 1);
|
||||||
}
|
}
|
||||||
else if (type == IPV6ADDRESS_PARAMETER_ID)
|
else if (type == IPV6ADDRESS_PARAMETER_ID)
|
||||||
{
|
{
|
||||||
store = (address *)g_malloc(sizeof (address));
|
store = (address *)g_malloc(sizeof (address));
|
||||||
store->type = AT_IPv6;
|
alloc_address_tvb(NULL, store, AT_IPv6, 16, sctp_info->tvb[chunk_number], IPV6_ADDRESS_OFFSET);
|
||||||
store->len = 16;
|
|
||||||
store->data = g_malloc(16);
|
|
||||||
tvb_memcpy(sctp_info->tvb[chunk_number], (guint8 *)(store->data),IPV6_ADDRESS_OFFSET, IPV6_ADDRESS_LENGTH);
|
|
||||||
info = add_address(store, info, 1);
|
info = add_address(store, info, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -923,19 +917,13 @@ packet(void *tapdata _U_, packet_info *pinfo, epan_dissect_t *edt _U_, const voi
|
||||||
if (type == IPV4ADDRESS_PARAMETER_ID)
|
if (type == IPV4ADDRESS_PARAMETER_ID)
|
||||||
{
|
{
|
||||||
store = (address *)g_malloc(sizeof (address));
|
store = (address *)g_malloc(sizeof (address));
|
||||||
store->type = AT_IPv4;
|
alloc_address_tvb(NULL, store, AT_IPv4, 4, sctp_info->tvb[chunk_number], IPV4_ADDRESS_OFFSET);
|
||||||
store->len = 4;
|
|
||||||
store->data = g_malloc(4);
|
|
||||||
tvb_memcpy(sctp_info->tvb[chunk_number], (guint8 *)(store->data),IPV4_ADDRESS_OFFSET, 4);
|
|
||||||
info = add_address(store, info, info->direction);
|
info = add_address(store, info, info->direction);
|
||||||
}
|
}
|
||||||
else if (type == IPV6ADDRESS_PARAMETER_ID)
|
else if (type == IPV6ADDRESS_PARAMETER_ID)
|
||||||
{
|
{
|
||||||
store = (address *)g_malloc(sizeof (address));
|
store = (address *)g_malloc(sizeof (address));
|
||||||
store->type = AT_IPv6;
|
alloc_address_tvb(NULL, store, AT_IPv6, 16, sctp_info->tvb[chunk_number], IPV6_ADDRESS_OFFSET);
|
||||||
store->len = 16;
|
|
||||||
store->data = g_malloc(16);
|
|
||||||
tvb_memcpy(sctp_info->tvb[chunk_number], (guint8 *)(store->data),IPV6_ADDRESS_OFFSET, IPV6_ADDRESS_LENGTH);
|
|
||||||
info = add_address(store, info, info->direction);
|
info = add_address(store, info, info->direction);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -299,8 +299,8 @@ static void sequence_analysis_item_free(gpointer data)
|
||||||
g_free(seq_item->time_str);
|
g_free(seq_item->time_str);
|
||||||
g_free(seq_item->comment);
|
g_free(seq_item->comment);
|
||||||
g_free(seq_item->protocol);
|
g_free(seq_item->protocol);
|
||||||
g_free((void *)seq_item->src_addr.data);
|
free_address(&seq_item->src_addr);
|
||||||
g_free((void *)seq_item->dst_addr.data);
|
free_address(&seq_item->dst_addr);
|
||||||
g_free(data);
|
g_free(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -360,10 +360,7 @@ sequence_analysis_list_free(seq_analysis_info_t *sainfo)
|
||||||
sainfo->nconv = 0;
|
sainfo->nconv = 0;
|
||||||
|
|
||||||
for (i=0; i<MAX_NUM_NODES; i++) {
|
for (i=0; i<MAX_NUM_NODES; i++) {
|
||||||
sainfo->nodes[i].type = AT_NONE;
|
free_address(&sainfo->nodes[i]);
|
||||||
sainfo->nodes[i].len = 0;
|
|
||||||
g_free((void *)sainfo->nodes[i].data);
|
|
||||||
sainfo->nodes[i].data = NULL;
|
|
||||||
}
|
}
|
||||||
sainfo->num_nodes = 0;
|
sainfo->num_nodes = 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -280,7 +280,7 @@ voip_calls_reset_all_taps(voip_calls_tapinfo_t *tapinfo)
|
||||||
g_free(callsinfo->call_id);
|
g_free(callsinfo->call_id);
|
||||||
g_free(callsinfo->from_identity);
|
g_free(callsinfo->from_identity);
|
||||||
g_free(callsinfo->to_identity);
|
g_free(callsinfo->to_identity);
|
||||||
g_free((void *)(callsinfo->initial_speaker.data));
|
free_address(&callsinfo->initial_speaker);
|
||||||
g_free(callsinfo->protocol_name);
|
g_free(callsinfo->protocol_name);
|
||||||
g_free(callsinfo->call_comment);
|
g_free(callsinfo->call_comment);
|
||||||
|
|
||||||
|
@ -1227,8 +1227,8 @@ TODO: is useful but not perfect, what is appended is truncated when displayed in
|
||||||
add_to_graph(tapinfo, pinfo, edt, frame_label, comment, callsinfo->call_num, &(pinfo->src), &(pinfo->dst), 1);
|
add_to_graph(tapinfo, pinfo, edt, frame_label, comment, callsinfo->call_num, &(pinfo->src), &(pinfo->dst), 1);
|
||||||
g_free(comment);
|
g_free(comment);
|
||||||
g_free(frame_label);
|
g_free(frame_label);
|
||||||
g_free((void *)tmp_src.data);
|
free_address(&tmp_src);
|
||||||
g_free((void *)tmp_dst.data);
|
free_address(&tmp_dst);
|
||||||
|
|
||||||
/* add SDP info if apply */
|
/* add SDP info if apply */
|
||||||
if ( (tapinfo->sdp_summary != NULL) && (tapinfo->sdp_frame_num == pinfo->num) ) {
|
if ( (tapinfo->sdp_summary != NULL) && (tapinfo->sdp_frame_num == pinfo->num) ) {
|
||||||
|
@ -1663,7 +1663,7 @@ q931_calls_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt,
|
||||||
while (list2)
|
while (list2)
|
||||||
{
|
{
|
||||||
h245_add=(h245_address_t *)list2->data;
|
h245_add=(h245_address_t *)list2->data;
|
||||||
g_free((void *)h245_add->h245_address.data);
|
free_address(&h245_add->h245_address);
|
||||||
g_free(list2->data);
|
g_free(list2->data);
|
||||||
list2 = g_list_next(list2);
|
list2 = g_list_next(list2);
|
||||||
}
|
}
|
||||||
|
@ -1822,7 +1822,7 @@ q931_calls_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt,
|
||||||
wmem_free(NULL, tmp_str);
|
wmem_free(NULL, tmp_str);
|
||||||
|
|
||||||
g_free(comment);
|
g_free(comment);
|
||||||
g_free((char *)pstn_add.data);
|
free_address(&pstn_add);
|
||||||
}
|
}
|
||||||
|
|
||||||
tapinfo->redraw |= REDRAW_Q931;
|
tapinfo->redraw |= REDRAW_Q931;
|
||||||
|
@ -1895,7 +1895,7 @@ free_h225_info(gpointer p) {
|
||||||
while (list2)
|
while (list2)
|
||||||
{
|
{
|
||||||
h245_address_t *h245_add=(h245_address_t *)list2->data;
|
h245_address_t *h245_add=(h245_address_t *)list2->data;
|
||||||
g_free((void *)h245_add->h245_address.data);
|
free_address(&h245_add->h245_address);
|
||||||
g_free(list2->data);
|
g_free(list2->data);
|
||||||
list2 = g_list_next(list2);
|
list2 = g_list_next(list2);
|
||||||
}
|
}
|
||||||
|
@ -2026,10 +2026,7 @@ h225_calls_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt,
|
||||||
/* this is still IPv4 only, because the dissector is */
|
/* this is still IPv4 only, because the dissector is */
|
||||||
if (pi->is_h245 == TRUE) {
|
if (pi->is_h245 == TRUE) {
|
||||||
h245_add = (h245_address_t *)g_malloc(sizeof (h245_address_t));
|
h245_add = (h245_address_t *)g_malloc(sizeof (h245_address_t));
|
||||||
h245_add->h245_address.type=AT_IPv4;
|
alloc_address_wmem(NULL, &h245_add->h245_address, AT_IPv4, 4, &pi->h245_address);
|
||||||
h245_add->h245_address.len=4;
|
|
||||||
h245_add->h245_address.data = g_malloc(sizeof(pi->h245_address));
|
|
||||||
memcpy((void *)(h245_add->h245_address.data), &(pi->h245_address), 4);
|
|
||||||
h245_add->h245_port = pi->h245_port;
|
h245_add->h245_port = pi->h245_port;
|
||||||
add_h245_Address(tmp_h323info, h245_add);
|
add_h245_Address(tmp_h323info, h245_add);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue