From e6dde535b94fdca96157699551cb29c504e7408a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D0=B5=D0=BB=D0=B8=D0=BF=D0=B5=D0=BD=D0=BA=D0=BE=20?= =?UTF-8?q?=D0=98=D0=B2=D0=B0=D0=BD?= Date: Thu, 21 May 2015 06:24:21 +0000 Subject: [PATCH] blackberry release git-svn-id: svn://db.shs.com.ru/pip@134 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5 --- src/core/pibase.h | 5 ++++- src/io/piethernet.cpp | 34 ++++++++++++++++++++++------------ src/math/picrypt.cpp | 5 +---- src/piplatform.h | 4 +++- 4 files changed, 30 insertions(+), 18 deletions(-) diff --git a/src/core/pibase.h b/src/core/pibase.h index 1cff8a15..bb2678e2 100644 --- a/src/core/pibase.h +++ b/src/core/pibase.h @@ -53,9 +53,12 @@ //! Macro is defined when host is any Windows # define WINDOWS -//! Macro is defined when host is QNX +//! Macro is defined when host is QNX or Blackberry # define QNX +//! Macro is defined when host is Blackberry +# define BLACKBERRY + //! Macro is defined when host is FreeBSD # define FREE_BSD diff --git a/src/io/piethernet.cpp b/src/io/piethernet.cpp index 5bc095a6..0861e913 100755 --- a/src/io/piethernet.cpp +++ b/src/io/piethernet.cpp @@ -341,11 +341,13 @@ bool PIEthernet::joinMulticastGroup(const PIString & group) { if (!params[Broadcast]) ;//piCoutObj << "Warning: \"Broadcast\" parameter not set, \"joinMulticastGroup(\"" << group << "\")\" may be useless!"; parseAddress(path(), &ip_, &port_); + struct #ifndef QNX - struct ip_mreqn mreq; + ip_mreqn #else - struct ip_mreq mreq; + ip_mreq #endif + mreq; memset(&mreq, 0, sizeof(mreq)); #ifdef LINUX //mreq.imr_address.s_addr = INADDR_ANY; @@ -353,13 +355,16 @@ bool PIEthernet::joinMulticastGroup(const PIString & group) { const PIEthernet::Interface * ci = il.getByAddress(ip_); if (ci != 0) mreq.imr_ifindex = ci->index;*/ #endif + in_addr_t addr; + if (params[PIEthernet::Broadcast]) addr = INADDR_ANY; + else addr = inet_addr(ip_.dataAscii()); + mreq. #ifndef QNX - if (params[PIEthernet::Broadcast]) mreq.imr_address.s_addr = INADDR_ANY; - else mreq.imr_address.s_addr = inet_addr(ip_.dataAscii()); + imr_address #else - if (params[PIEthernet::Broadcast]) mreq.imr_interface.s_addr = INADDR_ANY; - else mreq.imr_interface.s_addr = inet_addr(ip_.dataAscii()); + imr_interface #endif + .s_addr = addr; /*#ifndef WINDOWS PIEthernet::InterfaceList il = interfaces(); const PIEthernet::Interface * ci = il.getByAddress(ip_); @@ -402,19 +407,24 @@ bool PIEthernet::leaveMulticastGroup(const PIString & group) { PIFlags params = parameters(); /// TODO windows parseAddress(path(), &ip_, &port_); + struct #ifndef QNX - struct ip_mreqn mreq; + ip_mreqn #else - struct ip_mreq mreq; + ip_mreq #endif + mreq; memset(&mreq, 0, sizeof(mreq)); + in_addr_t addr; + if (params[PIEthernet::Broadcast]) addr = INADDR_ANY; + else addr = inet_addr(ip_.dataAscii()); + mreq. #ifndef QNX - if (params[PIEthernet::Broadcast]) mreq.imr_address.s_addr = INADDR_ANY; - else mreq.imr_address.s_addr = inet_addr(ip_.dataAscii()); + imr_address #else - if (params[PIEthernet::Broadcast]) mreq.imr_interface.s_addr = INADDR_ANY; - else mreq.imr_interface.s_addr = inet_addr(ip_.dataAscii()); + imr_interface #endif + .s_addr = addr; mreq.imr_multiaddr.s_addr = inet_addr(group.dataAscii()); if (ethSetsockopt(sock, IPPROTO_IP, IP_DROP_MEMBERSHIP, &mreq, sizeof(mreq)) == -1) { piCoutObj << "Can`t leave multicast group " << group << ", " << ethErrorString(); diff --git a/src/math/picrypt.cpp b/src/math/picrypt.cpp index 95951238..fc8cf76b 100644 --- a/src/math/picrypt.cpp +++ b/src/math/picrypt.cpp @@ -136,18 +136,15 @@ PIByteArray PICrypt::decrypt(const PIByteArray & crypt_data, PIByteArray key, bo return ret; } -#include + PIByteArray PICrypt::hash(const PIString & secret) { PIByteArray hash; - qDebug() << "hash start"; #ifdef PIP_CRYPT sodium_init(); - qDebug() << "sodium_init ok"; hash.resize(crypto_generichash_BYTES); PIByteArray s(secret.data(), secret.size()); crypto_generichash(hash.data(), hash.size(), s.data(), s.size(), (const uchar*)hash_def_key, sizeof(hash_def_key) - 1); #endif - qDebug() << "hash end"; return hash; } diff --git a/src/piplatform.h b/src/piplatform.h index f570af4c..aa6ca1cb 100644 --- a/src/piplatform.h +++ b/src/piplatform.h @@ -50,7 +50,9 @@ # ifndef FREE_BSD # ifndef MAC_OS # ifndef ANDROID -# define LINUX +# ifndef BLACKBERRY +# define LINUX +# endif # endif # endif # endif