Merge commit '02ac4020d3f7a948c87dd0349db093934c0aed3c' into picloud

This commit is contained in:
2020-06-18 19:09:21 +03:00
7 changed files with 51 additions and 14 deletions

View File

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

View File

@@ -383,7 +383,14 @@ endmacro()
macro(__add_file_or_dir _DIR_VAR _FILE_VAR _PATH _RELPATH) macro(__add_file_or_dir _DIR_VAR _FILE_VAR _PATH _RELPATH)
set(_p) set(_p)
set(_abs 0)
if (IS_ABSOLUTE "${_PATH}") if (IS_ABSOLUTE "${_PATH}")
set(_abs 1)
endif()
if ("${_PATH}" MATCHES "^\$<")
set(_abs 1)
endif()
if (_abs)
set(_p "${_PATH}") set(_p "${_PATH}")
else() else()
set(_p "${_RELPATH}/${_PATH}") set(_p "${_RELPATH}/${_PATH}")

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) { void PIEthUtilBase::createCryptKey(const PIString & k) {
#ifdef PIP_CRYPT #ifdef PIP_CRYPT
_key = PICrypt::hash("sodium_bug"); _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) { PIByteArray PIEthUtilBase::cryptData(const PIByteArray & data) {
if (!_crypt) return data; if (!_crypt) return data;
return return

View File

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

View File

@@ -237,15 +237,14 @@
if (pid == 0) return; \ if (pid == 0) return; \
uint id = __classNameIDS(); \ uint id = __classNameIDS(); \
PIMutexLocker ml(__meta_mutex()); \ PIMutexLocker ml(__meta_mutex()); \
__meta_data()[pid]; \
__MetaData & eh(__meta_data()[id]); \ __MetaData & eh(__meta_data()[id]); \
if (eh.scope_id.contains(pid)) return; \ if (eh.scope_id.contains(pid)) return; \
__MetaData & ehp(__meta_data()[pid]); \ __MetaData ehp(__meta_data().value(pid)); \
eh.eh_set << ehp.eh_set; \ eh.eh_set << ehp.eh_set; \
eh.eh_func << ehp.eh_func; \ eh.eh_func << ehp.eh_func; \
eh.scope_id = ehp.scope_id; \ eh.scope_id = ehp.scope_id; \
eh.scope_list = ehp.scope_list; \ eh.scope_list = ehp.scope_list; \
eh.addScope(PIStringAscii(#name), pid); \ eh.addScope(__classNameS(), id); \
} \ } \
}; \ }; \
__ParentInitializer__ __parent_init__; \ __ParentInitializer__ __parent_init__; \

View File

@@ -43,8 +43,8 @@ typedef bool (*ReadRetFunc)(void * , uchar * , int );
#else #else
# define REGISTER_DEVICE(class) ADD_NEW_TO_COLLECTION_WITH_NAME(__PIIODevices__, class, __S__collection_##class##__) # define REGISTER_DEVICE(name) ADD_NEW_TO_COLLECTION_WITH_NAME(__PIIODevices__, name, __S__collection_##name##__)
# define PIIODEVICE(class) PIOBJECT_SUBCLASS(class, PIIODevice) PIIODevice * copy() const {return new class();} # define PIIODEVICE(name) PIOBJECT_SUBCLASS(name, PIIODevice) PIIODevice * copy() const {return new name();}
#endif #endif

View File

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