api fixes, PIStreamPacker potential fixes

This commit is contained in:
2020-06-18 17:14:33 +03:00
parent 4910631ce8
commit 02ac4020d3
4 changed files with 39 additions and 8 deletions

View File

@@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.0)
cmake_policy(SET CMP0017 NEW) # need include() with .cmake
project(pip)
set(_PIP_MAJOR 1)
set(_PIP_MINOR 20)
set(_PIP_MINOR 21)
set(_PIP_REVISION 0)
set(_PIP_SUFFIX beta)
set(_PIP_COMPANY SHS)

View File

@@ -55,6 +55,32 @@ PIEthUtilBase::~PIEthUtilBase() {
}
void PIEthUtilBase::setCryptEnabled(bool on) {
_crypt = on;
}
void PIEthUtilBase::cryptEnable() {
setCryptEnabled(true);
}
void PIEthUtilBase::cryptDisable() {
setCryptEnabled(false);
}
bool PIEthUtilBase::isCryptEnabled() const {
return _crypt;
}
void PIEthUtilBase::setCryptKey(const PIByteArray & k) {
_key = k;
setCryptEnabled(true);
}
void PIEthUtilBase::createCryptKey(const PIString & k) {
#ifdef PIP_CRYPT
_key = PICrypt::hash("sodium_bug");
@@ -66,6 +92,11 @@ void PIEthUtilBase::createCryptKey(const PIString & k) {
}
PIByteArray PIEthUtilBase::cryptKey() const {
return _key;
}
PIByteArray PIEthUtilBase::cryptData(const PIByteArray & data) {
if (!_crypt) return data;
return

View File

@@ -114,7 +114,7 @@ void PIStreamPacker::received(uchar * readed, int size) {
void PIStreamPacker::received(const PIByteArray & data) {
stream.append(data);
//piCout << "rec" << data.size();
while (stream.size_s() >= 4) {
while (stream.size_s() >= 6) {
if (packet_size < 0) {
ushort sign(0);
memcpy(&sign, stream.data(), 2);

View File

@@ -31,27 +31,27 @@ public:
~PIEthUtilBase();
//! Set crypt layer enabled
void setCryptEnabled(bool on) {_crypt = on;}
void setCryptEnabled(bool on);
//! Enable crypt layer
void cryptEnable() {setCryptEnabled(true);}
void cryptEnable();
//! Disable crypt layer
void cryptDisable() {setCryptEnabled(false);}
void cryptDisable();
//! Returns if crypt layer enabled
bool isCryptEnabled() const {return _crypt;}
bool isCryptEnabled() const;
//! Set crypt layer key to \"k\"
void setCryptKey(const PIByteArray & k) {_key = k;}
void setCryptKey(const PIByteArray & k);
//! Generate crypt layer key by \a PICrypt::hash and
//! set crypt layer enabled
void createCryptKey(const PIString & k);
//! Returns crypt layer key
PIByteArray cryptKey() const {return _key;}
PIByteArray cryptKey() const;
protected: