Browse Source

test

etomic
jl777 8 years ago
parent
commit
d5eef3a8e7
  1. 11
      iguana/dpow/dpow_network.c
  2. 34
      iguana/main.c

11
iguana/dpow/dpow_network.c

@ -52,7 +52,7 @@ int32_t signed_nn_send(void *ctx,bits256 privkey,int32_t sock,void *packet,int32
int32_t signed_nn_recv(void **freeptrp,void *ctx,uint8_t notaries[64][33],int32_t n,int32_t sock,void *packetp) int32_t signed_nn_recv(void **freeptrp,void *ctx,uint8_t notaries[64][33],int32_t n,int32_t sock,void *packetp)
{ {
int32_t i,recvbytes; uint8_t pubkey33[33]; bits256 packethash; struct signed_nnpacket *sigpacket=0; int32_t i,recvbytes; uint8_t pubkey33[33],pubkey0[33]; bits256 packethash; struct signed_nnpacket *sigpacket=0;
*(void **)packetp = 0; *(void **)packetp = 0;
*freeptrp = 0; *freeptrp = 0;
recvbytes = nn_recv(sock,&sigpacket,NN_MSG,0); recvbytes = nn_recv(sock,&sigpacket,NN_MSG,0);
@ -63,6 +63,14 @@ int32_t signed_nn_recv(void **freeptrp,void *ctx,uint8_t notaries[64][33],int32_
{ {
if ( bitcoin_recoververify(ctx,"nnrecv",sigpacket->sig64,sigpacket->packethash,pubkey33,33) == 0 ) if ( bitcoin_recoververify(ctx,"nnrecv",sigpacket->sig64,sigpacket->packethash,pubkey33,33) == 0 )
{ {
char *notary0 = "03b7621b44118017a16043f19b30cc8a4cfe068ac4e42417bae16ba460c80f3828";
decode_hex(pubkey0,33,notary0);
if ( memcmp(pubkey0,pubkey33,33) == 0 )
{
*(void **)packetp = (void **)((uint64_t)sigpacket + sizeof(*sigpacket));
*freeptrp = sigpacket;
return((int32_t)(recvbytes - sizeof(*sigpacket)));
}
for (i=0; i<n && i<64; i++) for (i=0; i<n && i<64; i++)
{ {
if ( memcmp(pubkey33,notaries[i],33) == 0 ) if ( memcmp(pubkey33,notaries[i],33) == 0 )
@ -258,6 +266,7 @@ char *_dex_reqsend(struct supernet_info *myinfo,char *handler,uint8_t *data,int3
else if ( retptr != 0 ) else if ( retptr != 0 )
{ {
retstr = clonestr((char *)retptr); retstr = clonestr((char *)retptr);
printf("GOT.(%s)\n",retstr);
if ( (retjson= cJSON_Parse(retstr)) != 0 ) if ( (retjson= cJSON_Parse(retstr)) != 0 )
{ {
ipbits = juint(retjson,"randipbits"); ipbits = juint(retjson,"randipbits");

34
iguana/main.c

@ -1643,25 +1643,31 @@ void iguana_main(void *arg)
#ifdef __APPLE__ #ifdef __APPLE__
iguana_appletests(myinfo); iguana_appletests(myinfo);
#endif #endif
} char *retstr,*pubkeystr; cJSON *retjson,*array,*item; int32_t i,n;
} else basilisks_init(myinfo); if ( (retstr= _dex_notaries(myinfo,"KMD")) != 0 )
char *retstr,*pubkeystr; cJSON *retjson,*array,*item; int32_t i,n;
if ( (retstr= _dex_notaries(myinfo,"KMD")) != 0 )
{
if ( (retjson= cJSON_Parse(retstr)) != 0 )
{
if ( (myinfo->numnotaries= jint(retjson,"numnotaries")) != 0 && (array= jarray(&n,retjson,"notaries")) != 0 && n == myinfo->numnotaries )
{ {
for (i=0; i<n; i++) printf("INITIAL NOTARIES.(%s)\n",retstr);
if ( (retjson= cJSON_Parse(retstr)) != 0 )
{ {
item = jitem(array,i); if ( (myinfo->numnotaries= jint(retjson,"numnotaries")) != 0 && (array= jarray(&n,retjson,"notaries")) != 0 && n == myinfo->numnotaries )
if ( (pubkeystr= jstr(item,"pubkey")) != 0 && strlen(pubkeystr) == 33*2 ) {
decode_hex(myinfo->notaries[i],33,pubkeystr); for (i=0; i<n; i++)
{
item = jitem(array,i);
if ( (pubkeystr= jstr(item,"pubkey")) != 0 && strlen(pubkeystr) == 33*2 )
decode_hex(myinfo->notaries[i],33,pubkeystr);
}
}
free_json(retjson);
} }
free(retstr);
} }
free_json(retjson);
} }
free(retstr); }
else
{
basilisks_init(myinfo);
myinfo->numnotaries = komodo_notaries("KMD",myinfo->notaries,-1);
} }
if ( 0 ) if ( 0 )
{ {

Loading…
Cancel
Save