int32_t iguana_rwversion(int32_t rwflag,uint8_t *serialized,struct iguana_msgversion *msg,char *ipaddr) { int32_t len = 0; len += iguana_rwnum(rwflag,&serialized[len],sizeof(msg->nVersion),&msg->nVersion); len += iguana_rwnum(rwflag,&serialized[len],sizeof(msg->nServices),&msg->nServices); len += iguana_rwnum(rwflag,&serialized[len],sizeof(msg->nTime),&msg->nTime); len += iguana_rwaddr(rwflag,&serialized[len],&msg->addrTo,MIN_PROTO_VERSION); len += iguana_rwaddr(rwflag,&serialized[len],&msg->addrFrom,MIN_PROTO_VERSION); len += iguana_rwnum(rwflag,&serialized[len],sizeof(msg->nonce),&msg->nonce); len += iguana_rwstr(rwflag,&serialized[len],sizeof(msg->strSubVer),msg->strSubVer); len += iguana_rwnum(rwflag,&serialized[len],sizeof(msg->nStartingHeight),&msg->nStartingHeight); if ( msg->nVersion > 70000 ) len += iguana_rwnum(rwflag,&serialized[len],sizeof(msg->relayflag),&msg->relayflag); if ( rwflag == 0 ) printf("%-15s v.%llu srv.%llx %u ht.%llu [%s].R%d nonce.%llx\n",ipaddr,(long long)msg->nVersion,(long long)msg->nServices,(uint32_t)msg->nTime,(long long)msg->nStartingHeight,msg->strSubVer,msg->relayflag,(long long)msg->nonce); return(len); }
int32_t iguana_rwversion(int32_t rwflag,uint8_t *serialized,struct iguana_msgversion *msg,char *ipaddr,int32_t readsize) { int32_t len = 0; len += iguana_rwnum(rwflag,&serialized[len],sizeof(msg->nVersion),&msg->nVersion); len += iguana_rwnum(rwflag,&serialized[len],sizeof(msg->nServices),&msg->nServices); len += iguana_rwnum(rwflag,&serialized[len],sizeof(msg->nTime),&msg->nTime); len += iguana_rwaddr(rwflag,&serialized[len],&msg->addrTo,MIN_PROTO_VERSION); len += iguana_rwaddr(rwflag,&serialized[len],&msg->addrFrom,MIN_PROTO_VERSION); len += iguana_rwnum(rwflag,&serialized[len],sizeof(msg->nonce),&msg->nonce); len += iguana_rwstr(rwflag,&serialized[len],sizeof(msg->strSubVer),msg->strSubVer); len += iguana_rwnum(rwflag,&serialized[len],sizeof(msg->nStartingHeight),&msg->nStartingHeight); if ( readsize == 117 ) { uint32_t iVer = 1132,v_Network_id=1; uint16_t wPort=1920,wCtPort=0,wPrPort=0; uint8_t bIsGui=0; len += iguana_rwnum(rwflag,&serialized[len],sizeof(iVer),&iVer); len += iguana_rwnum(rwflag,&serialized[len],sizeof(v_Network_id),&v_Network_id); len += iguana_rwnum(rwflag,&serialized[len],sizeof(wPort),&wPort); len += iguana_rwnum(rwflag,&serialized[len],sizeof(bIsGui),&bIsGui); len += iguana_rwnum(rwflag,&serialized[len],sizeof(wCtPort),&wCtPort); len += iguana_rwnum(rwflag,&serialized[len],sizeof(wPrPort),&wPrPort); /*int iVer = BitNet_Version; unsigned short wPort = GetListenPort(); unsigned char bIsGui = 0; // 2014.12.18 add unsigned short wCtPort = 0; unsigned short wPrPort = 0; vRecv >> iVer; pfrom->vBitNet.v_iVersion = iVer; vRecv >> pfrom->vBitNet.; if (!vRecv.empty()){ vRecv >> pfrom->vBitNet.v_ListenPort; } if (!vRecv.empty()){ vRecv >> pfrom->vBitNet.v_IsGuiNode; } //-- 2014.12.18 add if (!vRecv.empty()){ vRecv >> pfrom->vBitNet.v_iVpnServiceCtrlPort; } //-- 2014.12.28 add if (!vRecv.empty()){ vRecv >> pfrom->vBitNet.v_P2P_proxy_port; } //-- 2014.12.28 add */ printf("iVer.%d v_Network_id.%d wPort.%u bIsGui.%d wCtPort.%u wPrPort.%u\n",iVer,v_Network_id,wPort,bIsGui,wCtPort,wPrPort); len += iguana_rwnum(rwflag,&serialized[len],sizeof(msg->relayflag),&msg->relayflag); } else if ( msg->nVersion > 70000 ) len += iguana_rwnum(rwflag,&serialized[len],sizeof(msg->relayflag),&msg->relayflag); //if ( rwflag == 0 ) printf("readsize.%d %-15s v.%llu srv.%llx %u ht.%llu [%s].R%d nonce.%llx\n",readsize,ipaddr,(long long)msg->nVersion,(long long)msg->nServices,(uint32_t)msg->nTime,(long long)msg->nStartingHeight,msg->strSubVer,msg->relayflag,(long long)msg->nonce); // 6e ea 00 00 01 00 00 00 00 00 00 00 86 5f a8 56 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff ff b5 2f b7 bc c6 83 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff ff 67 e5 7e c2 07 80 00 00 00 00 00 00 00 00 10 2f 42 69 74 4e 65 74 3a 31 2e 31 2e 33 2e 32 2f 92 d0 09 00 6c 04 00 00 01 00 00 00 80 07 01 9a 03 9b 03 01 return(len); }