mirror of
https://github.com/servalproject/serval-dna.git
synced 2024-12-19 05:07:56 +00:00
Fixed bug with handling of OA_CODE_SELF intepretation.
This commit is contained in:
parent
f8eea651b5
commit
0b73df19c8
1
mphlr.h
1
mphlr.h
@ -901,4 +901,5 @@ int serval_packetvisualise(FILE *f,char *message,unsigned char *packet,int plen)
|
|||||||
int overlay_broadcast_drop_check(unsigned char *a);
|
int overlay_broadcast_drop_check(unsigned char *a);
|
||||||
int overlay_address_is_broadcast(unsigned char *a);
|
int overlay_address_is_broadcast(unsigned char *a);
|
||||||
int overlay_broadcast_generate_address(unsigned char *a);
|
int overlay_broadcast_generate_address(unsigned char *a);
|
||||||
|
int overlay_abbreviate_unset_current_sender();
|
||||||
|
|
||||||
|
@ -131,6 +131,7 @@ sid overlay_abbreviate_previous_address={{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
|||||||
it on most occassions.
|
it on most occassions.
|
||||||
*/
|
*/
|
||||||
sid overlay_abbreviate_current_sender={{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}};
|
sid overlay_abbreviate_current_sender={{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}};
|
||||||
|
int overlay_abbreviate_current_sender_set=0;
|
||||||
int overlay_abbreviate_current_sender_id=-1;
|
int overlay_abbreviate_current_sender_id=-1;
|
||||||
|
|
||||||
int overlay_abbreviate_prepare_cache()
|
int overlay_abbreviate_prepare_cache()
|
||||||
@ -330,7 +331,7 @@ int overlay_abbreviate_expand_address(int interface,unsigned char *in,int *inofs
|
|||||||
used to encode the sender's address there ;) */
|
used to encode the sender's address there ;) */
|
||||||
(*inofs)++;
|
(*inofs)++;
|
||||||
if (debug&DEBUG_OVERLAYABBREVIATIONS) fprintf(stderr,"Resolving OA_CODE_SELF.\n");
|
if (debug&DEBUG_OVERLAYABBREVIATIONS) fprintf(stderr,"Resolving OA_CODE_SELF.\n");
|
||||||
if (overlay_abbreviate_current_sender_id>=0) {
|
if (overlay_abbreviate_current_sender_set) {
|
||||||
bcopy(&overlay_abbreviate_current_sender.b[0],&out[*ofs],SID_SIZE);
|
bcopy(&overlay_abbreviate_current_sender.b[0],&out[*ofs],SID_SIZE);
|
||||||
overlay_abbreviate_set_most_recent_address(&out[*ofs]);
|
overlay_abbreviate_set_most_recent_address(&out[*ofs]);
|
||||||
(*ofs)+=SID_SIZE;
|
(*ofs)+=SID_SIZE;
|
||||||
@ -523,6 +524,13 @@ int overlay_abbreviate_set_current_sender(unsigned char *in)
|
|||||||
{
|
{
|
||||||
bcopy(in,&overlay_abbreviate_current_sender.b[0],SID_SIZE);
|
bcopy(in,&overlay_abbreviate_current_sender.b[0],SID_SIZE);
|
||||||
overlay_abbreviate_current_sender_id=-1;
|
overlay_abbreviate_current_sender_id=-1;
|
||||||
|
overlay_abbreviate_current_sender_set=1;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int overlay_abbreviate_unset_current_sender()
|
||||||
|
{
|
||||||
|
overlay_abbreviate_current_sender_set=0;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -95,6 +95,9 @@ int packetOkOverlay(int interface,unsigned char *packet,int len,unsigned char *t
|
|||||||
f.payload=NULL;
|
f.payload=NULL;
|
||||||
f.bytes=NULL;
|
f.bytes=NULL;
|
||||||
f.bytecount=0;
|
f.bytecount=0;
|
||||||
|
f.prev=NULL; f.next=NULL;
|
||||||
|
|
||||||
|
overlay_abbreviate_unset_current_sender();
|
||||||
|
|
||||||
/* Skip magic bytes and version */
|
/* Skip magic bytes and version */
|
||||||
for(ofs=4;ofs<len;)
|
for(ofs=4;ofs<len;)
|
||||||
|
@ -1491,7 +1491,8 @@ int overlay_rhizome_add_advertisements(int interface_number,overlay_buffer *e)
|
|||||||
int overlay_rhizome_saw_advertisements(int i,overlay_frame *f, long long now)
|
int overlay_rhizome_saw_advertisements(int i,overlay_frame *f, long long now)
|
||||||
{
|
{
|
||||||
if (!f) return -1;
|
if (!f) return -1;
|
||||||
fprintf(stderr,"rhizome f->bytecount=%d\n",f->bytecount);
|
if (debug&DEBUG_RHIZOME) fprintf(stderr,"rhizome f->bytecount=%d\n",
|
||||||
|
f->payload->length);
|
||||||
|
|
||||||
return WHY("Not implemented.");
|
return WHY("Not implemented.");
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user