added NTCP2 to qt.pro ; made tunnel conf param keys be optional (fixes #1111)

pull/1246/head
3p.sif 6 years ago
parent 2366cbc833
commit bd62df48c2

@ -31,16 +31,15 @@ void ClientTunnelConfig::saveToStringStream(std::stringstream& out) {
out << "address=" << address << "\n" out << "address=" << address << "\n"
<< "port=" << port << "\n" << "port=" << port << "\n"
<< "destination=" << dest << "\n" << "destination=" << dest << "\n"
<< "keys=" << keys << "\n"
<< "destinationport=" << destinationPort << "\n" << "destinationport=" << destinationPort << "\n"
<< "signaturetype=" << sigType << "\n"; << "signaturetype=" << sigType << "\n";
if(!keys.empty()) out << "keys=" << keys << "\n";
} }
void ServerTunnelConfig::saveToStringStream(std::stringstream& out) { void ServerTunnelConfig::saveToStringStream(std::stringstream& out) {
out << "host=" << host << "\n" out << "host=" << host << "\n"
<< "port=" << port << "\n" << "port=" << port << "\n"
<< "keys=" << keys << "\n"
<< "signaturetype=" << sigType << "\n" << "signaturetype=" << sigType << "\n"
<< "inport=" << inPort << "\n" << "inport=" << inPort << "\n"
<< "accesslist=" << accessList << "\n" << "accesslist=" << accessList << "\n"
@ -49,5 +48,6 @@ void ServerTunnelConfig::saveToStringStream(std::stringstream& out) {
<< "address=" << address << "\n" << "address=" << address << "\n"
<< "hostoverride=" << hostOverride << "\n" << "hostoverride=" << hostOverride << "\n"
<< "webircpassword=" << webircpass << "\n"; << "webircpassword=" << webircpass << "\n";
if(!keys.empty()) out << "keys=" << keys << "\n";
} }

@ -1,318 +1,319 @@
QT += core gui QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = i2pd_qt TARGET = i2pd_qt
TEMPLATE = app TEMPLATE = app
QMAKE_CXXFLAGS *= -std=c++11 -ggdb QMAKE_CXXFLAGS *= -std=c++11 -ggdb
DEFINES += USE_UPNP DEFINES += USE_UPNP
# change to your own path, where you will store all needed libraries with 'git clone' commands below. # change to your own path, where you will store all needed libraries with 'git clone' commands below.
MAIN_PATH = /path/to/libraries MAIN_PATH = /path/to/libraries
# git clone https://github.com/PurpleI2P/Boost-for-Android-Prebuilt.git # git clone https://github.com/PurpleI2P/Boost-for-Android-Prebuilt.git
# git clone https://github.com/PurpleI2P/OpenSSL-for-Android-Prebuilt.git # git clone https://github.com/PurpleI2P/OpenSSL-for-Android-Prebuilt.git
# git clone https://github.com/PurpleI2P/MiniUPnP-for-Android-Prebuilt.git # git clone https://github.com/PurpleI2P/MiniUPnP-for-Android-Prebuilt.git
# git clone https://github.com/PurpleI2P/android-ifaddrs.git # git clone https://github.com/PurpleI2P/android-ifaddrs.git
BOOST_PATH = $$MAIN_PATH/Boost-for-Android-Prebuilt BOOST_PATH = $$MAIN_PATH/Boost-for-Android-Prebuilt
OPENSSL_PATH = $$MAIN_PATH/OpenSSL-for-Android-Prebuilt OPENSSL_PATH = $$MAIN_PATH/OpenSSL-for-Android-Prebuilt
MINIUPNP_PATH = $$MAIN_PATH/MiniUPnP-for-Android-Prebuilt MINIUPNP_PATH = $$MAIN_PATH/MiniUPnP-for-Android-Prebuilt
IFADDRS_PATH = $$MAIN_PATH/android-ifaddrs IFADDRS_PATH = $$MAIN_PATH/android-ifaddrs
# Steps in Android SDK manager: # Steps in Android SDK manager:
# 1) Check Extras/Google Support Library https://developer.android.com/topic/libraries/support-library/setup.html # 1) Check Extras/Google Support Library https://developer.android.com/topic/libraries/support-library/setup.html
# 2) Check API 11 # 2) Check API 11
# Finally, click Install. # Finally, click Install.
SOURCES += DaemonQT.cpp mainwindow.cpp \ SOURCES += DaemonQT.cpp mainwindow.cpp \
../../libi2pd/api.cpp \ ../../libi2pd/api.cpp \
../../libi2pd/Base.cpp \ ../../libi2pd/Base.cpp \
../../libi2pd/BloomFilter.cpp \ ../../libi2pd/BloomFilter.cpp \
../../libi2pd/Config.cpp \ ../../libi2pd/Config.cpp \
../../libi2pd/CPU.cpp \ ../../libi2pd/CPU.cpp \
../../libi2pd/Crypto.cpp \ ../../libi2pd/Crypto.cpp \
../../libi2pd/CryptoKey.cpp \ ../../libi2pd/CryptoKey.cpp \
../../libi2pd/Datagram.cpp \ ../../libi2pd/Datagram.cpp \
../../libi2pd/Destination.cpp \ ../../libi2pd/Destination.cpp \
../../libi2pd/Event.cpp \ ../../libi2pd/Event.cpp \
../../libi2pd/Family.cpp \ ../../libi2pd/Family.cpp \
../../libi2pd/FS.cpp \ ../../libi2pd/FS.cpp \
../../libi2pd/Garlic.cpp \ ../../libi2pd/Garlic.cpp \
../../libi2pd/Gost.cpp \ ../../libi2pd/Gost.cpp \
../../libi2pd/Gzip.cpp \ ../../libi2pd/Gzip.cpp \
../../libi2pd/HTTP.cpp \ ../../libi2pd/HTTP.cpp \
../../libi2pd/I2NPProtocol.cpp \ ../../libi2pd/I2NPProtocol.cpp \
../../libi2pd/I2PEndian.cpp \ ../../libi2pd/I2PEndian.cpp \
../../libi2pd/Identity.cpp \ ../../libi2pd/Identity.cpp \
../../libi2pd/LeaseSet.cpp \ ../../libi2pd/LeaseSet.cpp \
../../libi2pd/Log.cpp \ ../../libi2pd/Log.cpp \
../../libi2pd/NetDb.cpp \ ../../libi2pd/NetDb.cpp \
../../libi2pd/NetDbRequests.cpp \ ../../libi2pd/NetDbRequests.cpp \
../../libi2pd/NTCPSession.cpp \ ../../libi2pd/NTCPSession.cpp \
../../libi2pd/Profiling.cpp \ ../../libi2pd/Profiling.cpp \
../../libi2pd/Reseed.cpp \ ../../libi2pd/Reseed.cpp \
../../libi2pd/RouterContext.cpp \ ../../libi2pd/RouterContext.cpp \
../../libi2pd/RouterInfo.cpp \ ../../libi2pd/RouterInfo.cpp \
../../libi2pd/Signature.cpp \ ../../libi2pd/Signature.cpp \
../../libi2pd/SSU.cpp \ ../../libi2pd/SSU.cpp \
../../libi2pd/SSUData.cpp \ ../../libi2pd/SSUData.cpp \
../../libi2pd/SSUSession.cpp \ ../../libi2pd/SSUSession.cpp \
../../libi2pd/Streaming.cpp \ ../../libi2pd/Streaming.cpp \
../../libi2pd/Timestamp.cpp \ ../../libi2pd/Timestamp.cpp \
../../libi2pd/TransitTunnel.cpp \ ../../libi2pd/TransitTunnel.cpp \
../../libi2pd/Transports.cpp \ ../../libi2pd/Transports.cpp \
../../libi2pd/Tunnel.cpp \ ../../libi2pd/Tunnel.cpp \
../../libi2pd/TunnelEndpoint.cpp \ ../../libi2pd/TunnelEndpoint.cpp \
../../libi2pd/TunnelGateway.cpp \ ../../libi2pd/TunnelGateway.cpp \
../../libi2pd/TunnelPool.cpp \ ../../libi2pd/TunnelPool.cpp \
../../libi2pd/util.cpp \ ../../libi2pd/util.cpp \
../../libi2pd/Ed25519.cpp \ ../../libi2pd/Ed25519.cpp \
../../libi2pd/Chacha20.cpp \ ../../libi2pd/Chacha20.cpp \
../../libi2pd/Poly1305.cpp \ ../../libi2pd/Poly1305.cpp \
../../libi2pd_client/AddressBook.cpp \ ../../libi2pd_client/AddressBook.cpp \
../../libi2pd_client/BOB.cpp \ ../../libi2pd_client/BOB.cpp \
../../libi2pd_client/ClientContext.cpp \ ../../libi2pd_client/ClientContext.cpp \
../../libi2pd_client/HTTPProxy.cpp \ ../../libi2pd_client/HTTPProxy.cpp \
../../libi2pd_client/I2CP.cpp \ ../../libi2pd_client/I2CP.cpp \
../../libi2pd_client/I2PService.cpp \ ../../libi2pd_client/I2PService.cpp \
../../libi2pd_client/I2PTunnel.cpp \ ../../libi2pd_client/I2PTunnel.cpp \
../../libi2pd_client/MatchedDestination.cpp \ ../../libi2pd_client/MatchedDestination.cpp \
../../libi2pd_client/SAM.cpp \ ../../libi2pd_client/SAM.cpp \
../../libi2pd_client/SOCKS.cpp \ ../../libi2pd_client/SOCKS.cpp \
../../libi2pd_client/Websocket.cpp \ ../../libi2pd_client/Websocket.cpp \
../../libi2pd_client/WebSocks.cpp \ ../../libi2pd_client/WebSocks.cpp \
ClientTunnelPane.cpp \ ClientTunnelPane.cpp \
MainWindowItems.cpp \ MainWindowItems.cpp \
ServerTunnelPane.cpp \ ServerTunnelPane.cpp \
SignatureTypeComboboxFactory.cpp \ SignatureTypeComboboxFactory.cpp \
TunnelConfig.cpp \ TunnelConfig.cpp \
TunnelPane.cpp \ TunnelPane.cpp \
../../daemon/Daemon.cpp \ ../../daemon/Daemon.cpp \
../../daemon/HTTPServer.cpp \ ../../daemon/HTTPServer.cpp \
../../daemon/i2pd.cpp \ ../../daemon/i2pd.cpp \
../../daemon/I2PControl.cpp \ ../../daemon/I2PControl.cpp \
../../daemon/UnixDaemon.cpp \ ../../daemon/UnixDaemon.cpp \
../../daemon/UPnP.cpp \ ../../daemon/UPnP.cpp \
textbrowsertweaked1.cpp \ textbrowsertweaked1.cpp \
pagewithbackbutton.cpp \ pagewithbackbutton.cpp \
widgetlock.cpp \ widgetlock.cpp \
widgetlockregistry.cpp \ widgetlockregistry.cpp \
logviewermanager.cpp logviewermanager.cpp \
../../libi2pd/NTCP2.cpp
#qt creator does not handle this well
#SOURCES += $$files(../../libi2pd/*.cpp) #qt creator does not handle this well
#SOURCES += $$files(../../libi2pd_client/*.cpp) #SOURCES += $$files(../../libi2pd/*.cpp)
#SOURCES += $$files(../../daemon/*.cpp) #SOURCES += $$files(../../libi2pd_client/*.cpp)
#SOURCES += $$files(./*.cpp) #SOURCES += $$files(../../daemon/*.cpp)
#SOURCES += $$files(./*.cpp)
SOURCES -= ../../daemon/UnixDaemon.cpp
SOURCES -= ../../daemon/UnixDaemon.cpp
HEADERS += DaemonQT.h mainwindow.h \
../../libi2pd/api.h \ HEADERS += DaemonQT.h mainwindow.h \
../../libi2pd/Base.h \ ../../libi2pd/api.h \
../../libi2pd/BloomFilter.h \ ../../libi2pd/Base.h \
../../libi2pd/Config.h \ ../../libi2pd/BloomFilter.h \
../../libi2pd/Crypto.h \ ../../libi2pd/Config.h \
../../libi2pd/CryptoKey.h \ ../../libi2pd/Crypto.h \
../../libi2pd/Datagram.h \ ../../libi2pd/CryptoKey.h \
../../libi2pd/Destination.h \ ../../libi2pd/Datagram.h \
../../libi2pd/Event.h \ ../../libi2pd/Destination.h \
../../libi2pd/Family.h \ ../../libi2pd/Event.h \
../../libi2pd/FS.h \ ../../libi2pd/Family.h \
../../libi2pd/Garlic.h \ ../../libi2pd/FS.h \
../../libi2pd/Gost.h \ ../../libi2pd/Garlic.h \
../../libi2pd/Gzip.h \ ../../libi2pd/Gost.h \
../../libi2pd/HTTP.h \ ../../libi2pd/Gzip.h \
../../libi2pd/I2NPProtocol.h \ ../../libi2pd/HTTP.h \
../../libi2pd/I2PEndian.h \ ../../libi2pd/I2NPProtocol.h \
../../libi2pd/Identity.h \ ../../libi2pd/I2PEndian.h \
../../libi2pd/LeaseSet.h \ ../../libi2pd/Identity.h \
../../libi2pd/LittleBigEndian.h \ ../../libi2pd/LeaseSet.h \
../../libi2pd/Log.h \ ../../libi2pd/LittleBigEndian.h \
../../libi2pd/NetDb.hpp \ ../../libi2pd/Log.h \
../../libi2pd/NetDbRequests.h \ ../../libi2pd/NetDb.hpp \
../../libi2pd/NTCPSession.h \ ../../libi2pd/NetDbRequests.h \
../../libi2pd/Profiling.h \ ../../libi2pd/NTCPSession.h \
../../libi2pd/Queue.h \ ../../libi2pd/Profiling.h \
../../libi2pd/Reseed.h \ ../../libi2pd/Queue.h \
../../libi2pd/RouterContext.h \ ../../libi2pd/Reseed.h \
../../libi2pd/RouterInfo.h \ ../../libi2pd/RouterContext.h \
../../libi2pd/Signature.h \ ../../libi2pd/RouterInfo.h \
../../libi2pd/SSU.h \ ../../libi2pd/Signature.h \
../../libi2pd/SSUData.h \ ../../libi2pd/SSU.h \
../../libi2pd/SSUSession.h \ ../../libi2pd/SSUData.h \
../../libi2pd/Streaming.h \ ../../libi2pd/SSUSession.h \
../../libi2pd/Tag.h \ ../../libi2pd/Streaming.h \
../../libi2pd/Timestamp.h \ ../../libi2pd/Tag.h \
../../libi2pd/TransitTunnel.h \ ../../libi2pd/Timestamp.h \
../../libi2pd/Transports.h \ ../../libi2pd/TransitTunnel.h \
../../libi2pd/TransportSession.h \ ../../libi2pd/Transports.h \
../../libi2pd/Tunnel.h \ ../../libi2pd/TransportSession.h \
../../libi2pd/TunnelBase.h \ ../../libi2pd/Tunnel.h \
../../libi2pd/TunnelConfig.h \ ../../libi2pd/TunnelBase.h \
../../libi2pd/TunnelEndpoint.h \ ../../libi2pd/TunnelConfig.h \
../../libi2pd/TunnelGateway.h \ ../../libi2pd/TunnelEndpoint.h \
../../libi2pd/TunnelPool.h \ ../../libi2pd/TunnelGateway.h \
../../libi2pd/util.h \ ../../libi2pd/TunnelPool.h \
../../libi2pd/version.h \ ../../libi2pd/util.h \
../../libi2pd_client/AddressBook.h \ ../../libi2pd/version.h \
../../libi2pd_client/BOB.h \ ../../libi2pd_client/AddressBook.h \
../../libi2pd_client/ClientContext.h \ ../../libi2pd_client/BOB.h \
../../libi2pd_client/HTTPProxy.h \ ../../libi2pd_client/ClientContext.h \
../../libi2pd_client/I2CP.h \ ../../libi2pd_client/HTTPProxy.h \
../../libi2pd_client/I2PService.h \ ../../libi2pd_client/I2CP.h \
../../libi2pd_client/I2PTunnel.h \ ../../libi2pd_client/I2PService.h \
../../libi2pd_client/MatchedDestination.h \ ../../libi2pd_client/I2PTunnel.h \
../../libi2pd_client/SAM.h \ ../../libi2pd_client/MatchedDestination.h \
../../libi2pd_client/SOCKS.h \ ../../libi2pd_client/SAM.h \
../../libi2pd_client/Websocket.h \ ../../libi2pd_client/SOCKS.h \
../../libi2pd_client/WebSocks.h \ ../../libi2pd_client/Websocket.h \
ClientTunnelPane.h \ ../../libi2pd_client/WebSocks.h \
MainWindowItems.h \ ClientTunnelPane.h \
ServerTunnelPane.h \ MainWindowItems.h \
SignatureTypeComboboxFactory.h \ ServerTunnelPane.h \
TunnelConfig.h \ SignatureTypeComboboxFactory.h \
TunnelPane.h \ TunnelConfig.h \
TunnelsPageUpdateListener.h \ TunnelPane.h \
../../daemon/Daemon.h \ TunnelsPageUpdateListener.h \
../../daemon/HTTPServer.h \ ../../daemon/Daemon.h \
../../daemon/I2PControl.h \ ../../daemon/HTTPServer.h \
../../daemon/UPnP.h \ ../../daemon/I2PControl.h \
textbrowsertweaked1.h \ ../../daemon/UPnP.h \
pagewithbackbutton.h \ textbrowsertweaked1.h \
widgetlock.h \ pagewithbackbutton.h \
widgetlockregistry.h \ widgetlock.h \
i2pd.rc \ widgetlockregistry.h \
i2pd.rc \ i2pd.rc \
logviewermanager.h i2pd.rc \
logviewermanager.h
INCLUDEPATH += ../../libi2pd
INCLUDEPATH += ../../libi2pd_client INCLUDEPATH += ../../libi2pd
INCLUDEPATH += ../../daemon INCLUDEPATH += ../../libi2pd_client
INCLUDEPATH += . INCLUDEPATH += ../../daemon
INCLUDEPATH += .
FORMS += mainwindow.ui \
tunnelform.ui \ FORMS += mainwindow.ui \
statusbuttons.ui \ tunnelform.ui \
routercommandswidget.ui \ statusbuttons.ui \
generalsettingswidget.ui routercommandswidget.ui \
generalsettingswidget.ui
LIBS += -lz
LIBS += -lz
macx {
message("using mac os x target") macx {
BREWROOT=/usr/local message("using mac os x target")
BOOSTROOT=$$BREWROOT/opt/boost BREWROOT=/usr/local
SSLROOT=$$BREWROOT/opt/libressl BOOSTROOT=$$BREWROOT/opt/boost
UPNPROOT=$$BREWROOT/opt/miniupnpc SSLROOT=$$BREWROOT/opt/libressl
INCLUDEPATH += $$BOOSTROOT/include UPNPROOT=$$BREWROOT/opt/miniupnpc
INCLUDEPATH += $$SSLROOT/include INCLUDEPATH += $$BOOSTROOT/include
INCLUDEPATH += $$UPNPROOT/include INCLUDEPATH += $$SSLROOT/include
LIBS += $$SSLROOT/lib/libcrypto.a INCLUDEPATH += $$UPNPROOT/include
LIBS += $$SSLROOT/lib/libssl.a LIBS += $$SSLROOT/lib/libcrypto.a
LIBS += $$BOOSTROOT/lib/libboost_system.a LIBS += $$SSLROOT/lib/libssl.a
LIBS += $$BOOSTROOT/lib/libboost_date_time.a LIBS += $$BOOSTROOT/lib/libboost_system.a
LIBS += $$BOOSTROOT/lib/libboost_filesystem.a LIBS += $$BOOSTROOT/lib/libboost_date_time.a
LIBS += $$BOOSTROOT/lib/libboost_program_options.a LIBS += $$BOOSTROOT/lib/libboost_filesystem.a
LIBS += $$UPNPROOT/lib/libminiupnpc.a LIBS += $$BOOSTROOT/lib/libboost_program_options.a
} LIBS += $$UPNPROOT/lib/libminiupnpc.a
}
android {
message("Using Android settings") android {
DEFINES += ANDROID=1 message("Using Android settings")
DEFINES += __ANDROID__ DEFINES += ANDROID=1
DEFINES += __ANDROID__
CONFIG += mobility
CONFIG += mobility
MOBILITY =
MOBILITY =
INCLUDEPATH += $$BOOST_PATH/boost_1_53_0/include \
$$OPENSSL_PATH/openssl-1.0.2/include \ INCLUDEPATH += $$BOOST_PATH/boost_1_53_0/include \
$$MINIUPNP_PATH/miniupnp-2.0/include \ $$OPENSSL_PATH/openssl-1.0.2/include \
$$IFADDRS_PATH $$MINIUPNP_PATH/miniupnp-2.0/include \
DISTFILES += android/AndroidManifest.xml $$IFADDRS_PATH
DISTFILES += android/AndroidManifest.xml
ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android
ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android
SOURCES += $$IFADDRS_PATH/ifaddrs.c
HEADERS += $$IFADDRS_PATH/ifaddrs.h SOURCES += $$IFADDRS_PATH/ifaddrs.c
HEADERS += $$IFADDRS_PATH/ifaddrs.h
equals(ANDROID_TARGET_ARCH, armeabi-v7a){
DEFINES += ANDROID_ARM7A equals(ANDROID_TARGET_ARCH, armeabi-v7a){
# http://stackoverflow.com/a/30235934/529442 DEFINES += ANDROID_ARM7A
LIBS += -L$$BOOST_PATH/boost_1_53_0/armeabi-v7a/lib \ # http://stackoverflow.com/a/30235934/529442
-lboost_system-gcc-mt-1_53 -lboost_date_time-gcc-mt-1_53 \ LIBS += -L$$BOOST_PATH/boost_1_53_0/armeabi-v7a/lib \
-lboost_filesystem-gcc-mt-1_53 -lboost_program_options-gcc-mt-1_53 \ -lboost_system-gcc-mt-1_53 -lboost_date_time-gcc-mt-1_53 \
-L$$OPENSSL_PATH/openssl-1.0.2/armeabi-v7a/lib/ -lcrypto -lssl \ -lboost_filesystem-gcc-mt-1_53 -lboost_program_options-gcc-mt-1_53 \
-L$$MINIUPNP_PATH/miniupnp-2.0/armeabi-v7a/lib/ -lminiupnpc -L$$OPENSSL_PATH/openssl-1.0.2/armeabi-v7a/lib/ -lcrypto -lssl \
-L$$MINIUPNP_PATH/miniupnp-2.0/armeabi-v7a/lib/ -lminiupnpc
PRE_TARGETDEPS += $$OPENSSL_PATH/openssl-1.0.2/armeabi-v7a/lib/libcrypto.a \
$$OPENSSL_PATH/openssl-1.0.2/armeabi-v7a/lib/libssl.a PRE_TARGETDEPS += $$OPENSSL_PATH/openssl-1.0.2/armeabi-v7a/lib/libcrypto.a \
DEPENDPATH += $$OPENSSL_PATH/openssl-1.0.2/include $$OPENSSL_PATH/openssl-1.0.2/armeabi-v7a/lib/libssl.a
DEPENDPATH += $$OPENSSL_PATH/openssl-1.0.2/include
ANDROID_EXTRA_LIBS += $$OPENSSL_PATH/openssl-1.0.2/armeabi-v7a/lib/libcrypto_1_0_0.so \
$$OPENSSL_PATH/openssl-1.0.2/armeabi-v7a/lib/libssl_1_0_0.so \ ANDROID_EXTRA_LIBS += $$OPENSSL_PATH/openssl-1.0.2/armeabi-v7a/lib/libcrypto_1_0_0.so \
$$MINIUPNP_PATH/miniupnp-2.0/armeabi-v7a/lib/libminiupnpc.so $$OPENSSL_PATH/openssl-1.0.2/armeabi-v7a/lib/libssl_1_0_0.so \
} $$MINIUPNP_PATH/miniupnp-2.0/armeabi-v7a/lib/libminiupnpc.so
}
equals(ANDROID_TARGET_ARCH, x86){
# http://stackoverflow.com/a/30235934/529442 equals(ANDROID_TARGET_ARCH, x86){
LIBS += -L$$BOOST_PATH/boost_1_53_0/x86/lib \ # http://stackoverflow.com/a/30235934/529442
-lboost_system-gcc-mt-1_53 -lboost_date_time-gcc-mt-1_53 \ LIBS += -L$$BOOST_PATH/boost_1_53_0/x86/lib \
-lboost_filesystem-gcc-mt-1_53 -lboost_program_options-gcc-mt-1_53 \ -lboost_system-gcc-mt-1_53 -lboost_date_time-gcc-mt-1_53 \
-L$$OPENSSL_PATH/openssl-1.0.2/x86/lib/ -lcrypto -lssl \ -lboost_filesystem-gcc-mt-1_53 -lboost_program_options-gcc-mt-1_53 \
-L$$MINIUPNP_PATH/miniupnp-2.0/x86/lib/ -lminiupnpc -L$$OPENSSL_PATH/openssl-1.0.2/x86/lib/ -lcrypto -lssl \
-L$$MINIUPNP_PATH/miniupnp-2.0/x86/lib/ -lminiupnpc
PRE_TARGETDEPS += $$OPENSSL_PATH/openssl-1.0.2/x86/lib/libcrypto.a \
$$OPENSSL_PATH/openssl-1.0.2/x86/lib/libssl.a PRE_TARGETDEPS += $$OPENSSL_PATH/openssl-1.0.2/x86/lib/libcrypto.a \
$$OPENSSL_PATH/openssl-1.0.2/x86/lib/libssl.a
DEPENDPATH += $$OPENSSL_PATH/openssl-1.0.2/include
DEPENDPATH += $$OPENSSL_PATH/openssl-1.0.2/include
ANDROID_EXTRA_LIBS += $$OPENSSL_PATH/openssl-1.0.2/x86/lib/libcrypto_1_0_0.so \
$$OPENSSL_PATH/openssl-1.0.2/x86/lib/libssl_1_0_0.so \ ANDROID_EXTRA_LIBS += $$OPENSSL_PATH/openssl-1.0.2/x86/lib/libcrypto_1_0_0.so \
$$MINIUPNP_PATH/miniupnp-2.0/x86/lib/libminiupnpc.so $$OPENSSL_PATH/openssl-1.0.2/x86/lib/libssl_1_0_0.so \
} $$MINIUPNP_PATH/miniupnp-2.0/x86/lib/libminiupnpc.so
} }
}
linux:!android {
message("Using Linux settings") linux:!android {
LIBS += -lcrypto -lssl -lboost_system -lboost_date_time -lboost_filesystem -lboost_program_options -lpthread -lminiupnpc message("Using Linux settings")
} LIBS += -lcrypto -lssl -lboost_system -lboost_date_time -lboost_filesystem -lboost_program_options -lpthread -lminiupnpc
}
windows {
message("Using Windows settings") windows {
RC_FILE = i2pd.rc message("Using Windows settings")
DEFINES += BOOST_USE_WINDOWS_H WINDOWS _WINDOWS WIN32_LEAN_AND_MEAN MINIUPNP_STATICLIB RC_FILE = i2pd.rc
DEFINES -= UNICODE _UNICODE DEFINES += BOOST_USE_WINDOWS_H WINDOWS _WINDOWS WIN32_LEAN_AND_MEAN MINIUPNP_STATICLIB
BOOST_SUFFIX = -mt DEFINES -= UNICODE _UNICODE
QMAKE_CXXFLAGS_RELEASE = -Os BOOST_SUFFIX = -mt
QMAKE_LFLAGS = -Wl,-Bstatic -static-libgcc -static-libstdc++ -mwindows QMAKE_CXXFLAGS_RELEASE = -Os
QMAKE_LFLAGS = -Wl,-Bstatic -static-libgcc -static-libstdc++ -mwindows
#linker's -s means "strip"
QMAKE_LFLAGS_RELEASE += -s #linker's -s means "strip"
QMAKE_LFLAGS_RELEASE += -s
LIBS = -lminiupnpc \
-lboost_system$$BOOST_SUFFIX \ LIBS = -lminiupnpc \
-lboost_date_time$$BOOST_SUFFIX \ -lboost_system$$BOOST_SUFFIX \
-lboost_filesystem$$BOOST_SUFFIX \ -lboost_date_time$$BOOST_SUFFIX \
-lboost_program_options$$BOOST_SUFFIX \ -lboost_filesystem$$BOOST_SUFFIX \
-lssl \ -lboost_program_options$$BOOST_SUFFIX \
-lcrypto \ -lssl \
-lz \ -lcrypto \
-lwsock32 \ -lz \
-lws2_32 \ -lwsock32 \
-lgdi32 \ -lws2_32 \
-liphlpapi \ -lgdi32 \
-lstdc++ \ -liphlpapi \
-lpthread -lstdc++ \
} -lpthread
}
!android:!symbian:!maemo5:!simulator {
message("Build with a system tray icon") !android:!symbian:!maemo5:!simulator {
# see also http://doc.qt.io/qt-4.8/qt-desktop-systray-systray-pro.html for example on wince* message("Build with a system tray icon")
#sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS i2pd_qt.pro resources images # see also http://doc.qt.io/qt-4.8/qt-desktop-systray-systray-pro.html for example on wince*
RESOURCES = i2pd.qrc #sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS i2pd_qt.pro resources images
QT += xml RESOURCES = i2pd.qrc
#INSTALLS += sources QT += xml
} #INSTALLS += sources
}

@ -726,8 +726,8 @@ private:
// mandatory params // mandatory params
std::string host = section.second.get<std::string> (I2P_SERVER_TUNNEL_HOST); std::string host = section.second.get<std::string> (I2P_SERVER_TUNNEL_HOST);
int port = section.second.get<int> (I2P_SERVER_TUNNEL_PORT); int port = section.second.get<int> (I2P_SERVER_TUNNEL_PORT);
std::string keys = section.second.get<std::string> (I2P_SERVER_TUNNEL_KEYS);
// optional params // optional params
std::string keys = section.second.get<std::string> (I2P_SERVER_TUNNEL_KEYS, "");
int inPort = section.second.get (I2P_SERVER_TUNNEL_INPORT, 0); int inPort = section.second.get (I2P_SERVER_TUNNEL_INPORT, 0);
std::string accessList = section.second.get (I2P_SERVER_TUNNEL_ACCESS_LIST, ""); std::string accessList = section.second.get (I2P_SERVER_TUNNEL_ACCESS_LIST, "");
std::string hostOverride = section.second.get (I2P_SERVER_TUNNEL_HOST_OVERRIDE, ""); std::string hostOverride = section.second.get (I2P_SERVER_TUNNEL_HOST_OVERRIDE, "");

Loading…
Cancel
Save