diff --git a/basilisk/basilisk_swap.c b/basilisk/basilisk_swap.c index 7e2157256..546bf4265 100755 --- a/basilisk/basilisk_swap.c +++ b/basilisk/basilisk_swap.c @@ -885,7 +885,10 @@ void basilisk_swapgotdata(struct supernet_info *myinfo,struct basilisk_swap *swa for (i=0; inummessages; i++) if ( crc32 == swap->messages[i].crc32 ) return; - printf("new message.[%d] datalen.%d Q.%x msg.%x\n",swap->nummessages,datalen,quoteid,msgbits); + if ( datalen < 8 ) + for (i=0; inummessages,datalen,quoteid,msgbits); swap->messages = realloc(swap->messages,sizeof(*swap->messages) * (swap->nummessages + 1)); mp = &swap->messages[swap->nummessages++]; mp->crc32 = crc32; @@ -949,6 +952,12 @@ int32_t basilisk_swapget(struct supernet_info *myinfo,struct basilisk_swap *swap desthash.bytes[i] = ptr[offset++]; offset += iguana_rwnum(0,&ptr[offset],sizeof(uint32_t),"eid); offset += iguana_rwnum(0,&ptr[offset],sizeof(uint32_t),&_msgbits); + if ( _msgbits == 0x80000000 ) + { + for (i=0; i offset ) basilisk_swapgotdata(myinfo,swap,crc32,srchash,desthash,quoteid,_msgbits,&ptr[offset],size-offset); if ( ptr != 0 ) @@ -991,7 +1000,7 @@ uint32_t basilisk_swapsend(struct supernet_info *myinfo,struct basilisk_swap *sw { for (i=0; i<4; i++) printf("%02x ",data[i]); - printf("datalen.%d\n",datalen); + printf("datalen.%d offset.%d\n",datalen,offset); } } free(buf); diff --git a/iguana/unparsed.txt b/iguana/unparsed.txt index 39ba7bdda..515dd4416 100644 --- a/iguana/unparsed.txt +++ b/iguana/unparsed.txt @@ -1 +1 @@ -6304d878bc58b17521029c992b28fcb42e4ecb64a7bef533a7998bd971a287891e7b51230b68f3051ebeac67a914782e47739e559fe5da02f4b40be525e7c47fccee88210387ddc27d8419f5eadb7f32e44f9246c168d379e73ab372398258acc7ef4fc36eac68 +63041a7dbc58b175210205a68a29ddd5ac3bc216274770787fe667c6687c7880c09d6e6d4177c6a261bbac67a914c176c745680464cea293d4f0ff70165fc00e84fc8821039a493992a86ce8bb4f7f66e74ac3929bfb37fa9f0efb3175b2c8d8e25b051daaac68