From 3f39b87fbccfc18e04f9bc4feab7e8dac593548b Mon Sep 17 00:00:00 2001 From: jl777 Date: Mon, 18 Jan 2016 01:15:27 -0300 Subject: [PATCH] test --- iguana/SuperNET.c | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/iguana/SuperNET.c b/iguana/SuperNET.c index 3932c1efb..c4fa37db5 100644 --- a/iguana/SuperNET.c +++ b/iguana/SuperNET.c @@ -94,7 +94,7 @@ void SuperNET_myipaddr(struct supernet_info *myinfo,struct iguana_peer *addr,cha int32_t SuperNET_json2bits(struct supernet_info *myinfo,uint8_t *serialized,int32_t *complenp,uint8_t *compressed,int32_t maxsize,char *destip,bits256 destpub,cJSON *json) { - uint16_t apinum; uint32_t ipbits; uint64_t tag; bits256 seed,seed2; char *hexmsg; int32_t n,numbits,len = 0; + uint16_t apinum; uint32_t ipbits,crc; uint64_t tag; bits256 seed,seed2; char *hexmsg; int32_t n,numbits,len = sizeof(uint32_t); *complenp = -1; if ( (tag= j64bits(json,"tag")) == 0 ) OS_randombytes((uint8_t *)&tag,sizeof(tag)); @@ -117,12 +117,14 @@ int32_t SuperNET_json2bits(struct supernet_info *myinfo,uint8_t *serialized,int3 len += n; } else return(-1); } + crc = calc_crc32(0,&serialized[sizeof(crc)],len - sizeof(crc)); + iguana_rwnum(1,serialized,sizeof(crc),&crc); memset(seed.bytes,0,sizeof(seed)); int32_t testbits = ramcoder_compress(&compressed[3],maxsize-3,serialized,len,seed); - seed = curve25519_shared(GENESIS_PRIVKEY,destpub);//myinfo->privkey,destpub); + seed = curve25519_shared(myinfo->privkey,destpub); vcalc_sha256(0,seed2.bytes,seed.bytes,sizeof(seed)); char str[65],str2[65],str3[65],str4[65]; - printf("mypriv.%s destpub.%s seed.%s seed2.%s\n",bits256_str(str,myinfo->privkey),bits256_str(str2,destpub),bits256_str(str3,seed),bits256_str(str4,seed2)); + printf("mypriv.%s destpub.%s seed.%s seed2.%s -> crc.%08x\n",bits256_str(str,myinfo->privkey),bits256_str(str2,destpub),bits256_str(str3,seed),bits256_str(str4,seed2),crc); numbits = ramcoder_compress(&compressed[3],maxsize-3,serialized,len,seed2); compressed[0] = (numbits & 0xff); compressed[1] = ((numbits>>8) & 0xff); @@ -142,26 +144,32 @@ int32_t SuperNET_json2bits(struct supernet_info *myinfo,uint8_t *serialized,int3 cJSON *SuperNET_bits2json(struct supernet_info *myinfo,bits256 prevpub,uint8_t *serialized,uint8_t *space,int32_t datalen,int32_t iscompressed) { - char destip[64],method[64],agent[64],myipaddr[64],str[65],*hexmsg; uint64_t tag; int32_t numbits,len = 0; - uint16_t apinum; uint32_t destipbits,myipbits; bits256 seed,seed2,senderpub; cJSON *json = cJSON_CreateObject(); + static bits256 genesis2; + char destip[64],method[64],agent[64],myipaddr[64],str[65],*hexmsg; uint64_t tag; + uint16_t apinum; uint32_t destipbits,myipbits; bits256 seed,seed2,senderpub; + int32_t numbits,len = 0; uint32_t crc,checkcrc; cJSON *json = cJSON_CreateObject(); int32_t i; for (i=0; iprivkey,prevpub); vcalc_sha256(0,seed2.bytes,seed.bytes,sizeof(seed)); char str[65]; printf("compressed len.%d seed2.(%s)\n",numbits,bits256_str(str,seed2)); datalen = ramcoder_decompress(space,IGUANA_MAXPACKETSIZE,&serialized[3],numbits,seed2); serialized = space; - printf("bits[%d] numbits.%d\n",datalen,numbits); + crc = calc_crc32(0,&serialized[sizeof(crc)],datalen - sizeof(crc)); + iguana_rwnum(0,serialized,sizeof(checkcrc),&checkcrc); int32_t i; for (i=0; i