diff --git a/src/komodo_curve25519.h b/src/komodo_curve25519.h index ce27ac143..6a0ee3fa6 100644 --- a/src/komodo_curve25519.h +++ b/src/komodo_curve25519.h @@ -959,7 +959,7 @@ uint256 komodo_kvsig(uint8_t *buf,int32_t len,uint256 _privkey) pubkey = curve25519(privkey,curve25519_basepoint9()); sig = curve25519_shared(privkey,otherpub); checksig = curve25519_shared(hash,pubkey); - int32_t i; for (i=0; i "); for (i=0; i<32; i++) @@ -967,7 +967,7 @@ uint256 komodo_kvsig(uint8_t *buf,int32_t len,uint256 _privkey) printf(" -> "); for (i=0; i<32; i++) printf("%02x",((uint8_t *)&pubkey)[i]); - printf(" pubkey\n"); + printf(" pubkey\n");*/ memcpy(&usig,&sig,sizeof(usig)); return(usig); } @@ -980,7 +980,7 @@ int32_t komodo_kvsigverify(uint8_t *buf,int32_t len,uint256 _pubkey,uint256 sig) { vcalc_sha256(0,hash.bytes,buf,len); checksig = curve25519_shared(hash,pubkey); - int32_t i; for (i=0; i "); for (i=0; i<32; i++) @@ -994,10 +994,10 @@ int32_t komodo_kvsigverify(uint8_t *buf,int32_t len,uint256 _pubkey,uint256 sig) printf(" sig vs"); for (i=0; i<32; i++) printf("%02x",((uint8_t *)&checksig)[i]); - printf(" checksig\n"); + printf(" checksig\n");*/ if ( memcmp(&checksig,&sig,sizeof(sig)) != 0 ) return(-1); - else printf("VALIDATED\n"); + //else printf("VALIDATED\n"); } return(0); } diff --git a/src/komodo_kv.h b/src/komodo_kv.h index 4ae4819aa..78b756618 100644 --- a/src/komodo_kv.h +++ b/src/komodo_kv.h @@ -76,10 +76,10 @@ int32_t komodo_kvsearch(uint256 *pubkeyp,int32_t current_height,uint32_t *flagsp *flagsp = ptr->flags; int32_t i; for (i=0; i<32; i++) { - printf("%02x",((uint8_t *)&ptr->pubkey)[31-i]); + //printf("%02x",((uint8_t *)&ptr->pubkey)[31-i]); ((uint8_t *)pubkeyp)[i] = ((uint8_t *)&ptr->pubkey)[31-i]; } - printf(" ptr->pubkey\n"); + //printf(" ptr->pubkey\n"); memcpy(pubkeyp,&ptr->pubkey,sizeof(*pubkeyp)); if ( (retval= ptr->valuesize) != 0 ) memcpy(value,ptr->value,retval); @@ -165,12 +165,12 @@ void komodo_kvupdate(uint8_t *opretbuf,int32_t opretlen,uint64_t value) memcpy(ptr->value,valueptr,valuesize); } } - for (i=0; i<32; i++) + /*for (i=0; i<32; i++) printf("%02x",((uint8_t *)&ptr->pubkey)[i]); printf(" <- "); for (i=0; i<32; i++) printf("%02x",((uint8_t *)&pubkey)[i]); - printf(" new pubkey\n"); + printf(" new pubkey\n");*/ memcpy(&ptr->pubkey,&pubkey,sizeof(ptr->pubkey)); ptr->height = height; ptr->flags = flags; diff --git a/src/wallet/rpcwallet.cpp b/src/wallet/rpcwallet.cpp index aeac661a7..151f2c835 100644 --- a/src/wallet/rpcwallet.cpp +++ b/src/wallet/rpcwallet.cpp @@ -512,19 +512,19 @@ Value kvupdate(const Array& params, bool fHelp) if ( (n= (int32_t)params.size()) >= 3 ) { flags = atoi(params[2].get_str().c_str()); - printf("flags.%d (%s) n.%d\n",flags,params[2].get_str().c_str(),n); + //printf("flags.%d (%s) n.%d\n",flags,params[2].get_str().c_str(),n); } else flags = 0; if ( n >= 4 ) privkey = komodo_kvprivkey(&pubkey,(char *)(n >= 4 ? params[3].get_str().c_str() : "password")); haveprivkey = 1; flags |= 1; - for (i=0; i<32; i++) + /*for (i=0; i<32; i++) printf("%02x",((uint8_t *)&privkey)[i]); printf(" priv, "); for (i=0; i<32; i++) printf("%02x",((uint8_t *)&pubkey)[i]); printf(" pubkey, privkey derived from (%s)\n",(char *)params[3].get_str().c_str()); - //printf("flags.%d (%s)\n",flags,params[2].get_str().c_str()); + */ LOCK2(cs_main, pwalletMain->cs_wallet); if ( (keylen= (int32_t)strlen(params[0].get_str().c_str())) > 0 ) { @@ -539,7 +539,7 @@ Value kvupdate(const Array& params, bool fHelp) { if ( (tmpflags & KOMODO_KVPROTECTED) != 0 ) { - if ( refpubkey != pubkey ) + if ( memcmp(&refpubkey,&pubkey,sizeof(refpubkey)) != 0 ) { ret.push_back(Pair("error",(char *)"cant modify write once key without passphrase")); return ret; @@ -549,13 +549,16 @@ Value kvupdate(const Array& params, bool fHelp) { sig = komodo_kvsig(keyvalue,keylen+refvaluesize,privkey); if ( komodo_kvsigverify(keyvalue,keylen+refvaluesize,refpubkey,sig) < 0 ) + { + ret.push_back(Pair("error",(char *)"error verifying sig, passphrase is probably wrong")); printf("VERIFY ERROR\n"); - else printf("verified immediately\n"); + return ret; + } // else printf("verified immediately\n"); } } - for (i=0; i<32; i++) - printf("%02x",((uint8_t *)&sig)[i]); - printf(" sig for keylen.%d + valuesize.%d\n",keylen,refvaluesize); + //for (i=0; i<32; i++) + // printf("%02x",((uint8_t *)&sig)[i]); + //printf(" sig for keylen.%d + valuesize.%d\n",keylen,refvaluesize); ret.push_back(Pair("coin",(char *)(ASSETCHAINS_SYMBOL[0] == 0 ? "KMD" : ASSETCHAINS_SYMBOL))); height = chainActive.Tip()->nHeight; if ( memcmp(&zeroes,&refpubkey,sizeof(refpubkey)) != 0 )