From 1913ae1be72716407a91c40cab9f1bb06e3b0201 Mon Sep 17 00:00:00 2001 From: jl777 Date: Mon, 18 Jan 2016 16:56:52 -0300 Subject: [PATCH] test --- iguana/SuperNET.c | 24 ++++++++++-------------- iguana/iguana777.h | 2 +- 2 files changed, 11 insertions(+), 15 deletions(-) diff --git a/iguana/SuperNET.c b/iguana/SuperNET.c index 7bba545da..e41d4f443 100644 --- a/iguana/SuperNET.c +++ b/iguana/SuperNET.c @@ -122,8 +122,7 @@ int32_t SuperNET_json2bits(struct supernet_info *myinfo,bits256 seed2,uint8_t *s len += iguana_rwnum(1,&serialized[len],sizeof(uint32_t),&ipbits); len += iguana_rwbignum(1,&serialized[len],sizeof(myinfo->myaddr.pubkey),myinfo->myaddr.pubkey.bytes); len += iguana_rwnum(1,&serialized[len],sizeof(tag),&tag); - if ( bits256_nonz(seed2) > 0 ) - checkc = SuperNET_checkc(myinfo,destpub,tag); + checkc = SuperNET_checkc(myinfo,destpub,tag); len += iguana_rwnum(1,&serialized[len],sizeof(checkc),&checkc); if ( (apinum= SuperNET_API2num(jstr(json,"agent"),jstr(json,"method"))) == 0xffff ) return(-1); @@ -163,14 +162,14 @@ int32_t SuperNET_json2bits(struct supernet_info *myinfo,bits256 seed2,uint8_t *s return(len); } -cJSON *SuperNET_bits2json(struct supernet_info *myinfo,bits256 senderpub,bits256 sharedseed,uint8_t *serialized,uint8_t *space,int32_t datalen,int32_t iscompressed) +cJSON *SuperNET_bits2json(struct supernet_info *myinfo,bits256 sharedseed,uint8_t *serialized,uint8_t *space,int32_t datalen,int32_t iscompressed) { char destip[64],method[64],checkstr[5],agent[64],myipaddr[64],str[65],*hexmsg; uint64_t tag; - uint16_t apinum,checkc; uint32_t destipbits,myipbits; bits256 seed2; + uint16_t apinum,checkc; uint32_t destipbits,myipbits; bits256 seed2,senderpub; int32_t numbits,iter,flag=0,len = 0; uint32_t crc,checkcrc; cJSON *json = cJSON_CreateObject(); - int32_t i; for (i=0; ipubkey,addr->sharedseed,data,space,datalen,compressed)) != 0 ) + if ( (json= SuperNET_bits2json(myinfo,addr->sharedseed,data,space,datalen,compressed)) != 0 ) { senderpub = jbits256(json,"mypub"); if ( memcmp(senderpub.bytes,addr->pubkey.bytes,sizeof(senderpub)) != 0 ) @@ -470,7 +466,7 @@ char *SuperNET_p2p(struct iguana_info *coin,struct iguana_peer *addr,int32_t *de else addr->validpub--; printf("validpub.%d: %x vs %x shared.%llx\n",addr->validpub,checkc,othercheckc,(long long)addr->sharedseed.txid); } - if ( addr->validpub > 3 ) + if ( addr->validpub > 3 && bits256_nonz(addr->sharedseed) == 0 ) addr->sharedseed = SuperNET_sharedseed(myinfo,senderpub); else if ( addr->validpub < -2 ) memset(addr->sharedseed.bytes,0,sizeof(addr->sharedseed)); diff --git a/iguana/iguana777.h b/iguana/iguana777.h index b19ecd8d7..9d8b85c4a 100755 --- a/iguana/iguana777.h +++ b/iguana/iguana777.h @@ -353,7 +353,7 @@ struct iguana_peer { struct queueitem DL; queue_t sendQ; - bits256 iphash,pubkey,sharedseed; + bits256 iphash,pubkey,sharedseed,persistent; uint32_t lastpersist; struct iguana_msgaddress A; char ipaddr[64],lastcommand[16],coinstr[16],symbol[16]; uint64_t pingnonce,totalsent,totalrecv,ipbits; double pingtime,sendmillis,pingsum,getdatamillis;