Skip to content
This repository has been archived by the owner on Feb 1, 2024. It is now read-only.

Commit

Permalink
Merge branch 'release/1.5.2'
Browse files Browse the repository at this point in the history
  • Loading branch information
horar committed Aug 7, 2017
2 parents f48baab + 947513d commit e59e24f
Show file tree
Hide file tree
Showing 45 changed files with 814 additions and 596 deletions.
13 changes: 8 additions & 5 deletions .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,13 @@ Thanks for wanting to report an issue you've found. Please delete
this text and fill in the template below. If unsure about something, just do as
best as you're able.
IMPORTANG: this project is about GUI application implemented on top of well known
openconnect library. When you face connection problems, please try at first
to reproduce the issue with bundled openconnect console tool.
If the problem appears with console tool, please post questions/notes
on right place i.e. http://www.infradead.org/openconnect/mail.html
where you can get a quick or knowledgeable respons.
Note that it will be much easier for us to fix the issue if a test case that
reproduces the problem is provided. Ideally this test case should not have any
external dependencies. We understand that it is not always possible to reduce
Expand All @@ -17,10 +24,6 @@ possible. Thank you!
- **Version**: <!-- compulsory. you must provide your version -->
- **Platform**: <!-- e.g. if Windows, version and 32-bit or 64-bit, localization -->

### Prerequisites
* [ ] Can you reproduce the problem?
* [ ] Are you running the latest version?

### Steps to Reproduce the Issue
<!--- Set of steps to reproduce this issue -->
1.
Expand All @@ -34,4 +37,4 @@ possible. Thank you!
<!--- What actually happend -->

### Other Information
<!--- Feel free to include any other info, such as screenshots, etc -->
<!--- Feel free to include any other info, such as screenshots, log files etc -->
9 changes: 0 additions & 9 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,10 @@
/*.pro.user
/CMakeLists.txt.user

# in source generate files
/src/scm_version.cmake

# temporary build folder
build-release*/


# temporary...
_xxx/
*.zip

# openconnect 3rd party artifacts
/include
/lib
/nsis/*.dll
/nsis/openconnect.exe
6 changes: 0 additions & 6 deletions .gitmodules

This file was deleted.

1 change: 1 addition & 0 deletions .mailmap
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
Ľubomír Carik <[email protected]> Ľubomír Carik <[email protected]>
Ľubomír Carik <[email protected]> Ľubomír Carik <[email protected]>
24 changes: 24 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,29 @@
History of user-visible changes.

## [v1.5.3](https://github.com/openconnect/openconnect-gui/tree/v1.5.3) (unreleased)
- TBD

[Full Changelog](https://github.com/openconnect/openconnect-gui/compare/v1.5.2...v1.5.3)


## [v1.5.2](https://github.com/openconnect/openconnect-gui/tree/v1.5.2) (2017-08-07)
- create a tun interface with the correct MTU (#147, #161)
- update GnuTLS (3.5.13), stoken (0.91), spdlog (0.13.0), gmp (6.1.2), nettle(3.3)
- update Qt (5.9.1)
- support for non-english interface names (#145)
- unicode windows home folder name support (#168)
- enable HiDPI (#171)
- v1.4.1 and previous (Win 10 x64) Tunnel UP, but no traffic (#132)
- automatically pick a group if it is the only option (#176)
- How do I specify the user/password and OTP RSA info? (#175)
- Disconnect section needs to undo Custom Routes (#125)
- Clarify the minimum macOS version (#182)
- OpenConnect GUI v1.5.1 compatibility against Windows XP SP3 (#165)
- accept VPN profile name in command line; connect immediatelly after start

[Full Changelog](https://github.com/openconnect/openconnect-gui/compare/v1.5.1...v1.5.2)


## [v1.5.1](https://github.com/openconnect/openconnect-gui/tree/v1.5.1) (2017-02-11)
- Missing second DNS on info tab
- Don't show Cisco banner in 'batch mode' (resolve #156)
Expand Down
42 changes: 42 additions & 0 deletions CMake/Includes/CMakeLists_qt-solutions.cmake.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
cmake_minimum_required(VERSION 3.5 FATAL_ERROR)

project(qtsingleapplication
LANGUAGES CXX
)

set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)

find_package(Qt5 5.6 REQUIRED COMPONENTS Core Gui Widgets Network)

add_definitions(-DUNICODE)
add_library(qtsingleapplication STATIC
qtsingleapplication/src/qtsingleapplication.cpp
qtsingleapplication/src/qtsingleapplication.h
qtsingleapplication/src/qtlocalpeer.cpp
)

target_link_libraries(qtsingleapplication
Qt5::Core
Qt5::Gui
Qt5::Widgets
Qt5::Network
)

install(TARGETS qtsingleapplication
DESTINATION lib
)
install(
FILES
qtsingleapplication/src/qtlocalpeer.h
qtsingleapplication/src/qtlockedfile.h
qtsingleapplication/src/qtsingleapplication.h
qtsingleapplication/src/qtsinglecoreapplication.h
qtsingleapplication/src/QtLockedFile
qtsingleapplication/src/QtSingleApplication
DESTINATION include
)
53 changes: 53 additions & 0 deletions CMake/Includes/ProjectDependencies.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# common dependenceis
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)

find_package(Qt5 5.6 REQUIRED COMPONENTS Core Gui Widgets Network)
if(MINGW)
get_target_property(_qwindows_dll Qt5::QWindowsIntegrationPlugin LOCATION)
endif()
if(APPLE)
get_target_property(_qcocoa_dylib Qt5::QCocoaIntegrationPlugin LOCATION)
endif()

# macOS & GNU/Linux dependencies
if(UNIX)
find_package(GnuTLS REQUIRED)
if(GNUTLS_FOUND)
message(STATUS "Library 'GnuTLS' found at ${GNUTLS_LIBRARIES}")
include_directories(SYSTEM ${GNUTLS_INCLUDE_DIR})
else()
message(FATAL_ERROR "Library 'GnuTLS' not found! Install it vie e.g. 'brew install gnutls' or 'dnf install gnutls-devel'")
endif()

find_package(OpenConnect REQUIRED)
if(OPENCONNECT_FOUND)
message(STATUS "Library 'OpenConnect' found at ${OPENCONNECT_LIBRARIES}")
link_directories(${OPENCONNECT_LIBRARY_DIRS})
include_directories(SYSTEM ${OPENCONNECT_INCLUDE_DIRS})
else()
message(FATAL_ERROR "Libraru 'OpenConnect' not found! Install it vie e.g. 'brew install openconnect or 'dnf install openconnect'")
endif()

#find_package(spdlog CONFIG REQUIRED)

set(CMAKE_THREAD_PREFER_PTHREAD ON)
find_package(Threads REQUIRED)

if(APPLE)
find_library(SECURITY_LIBRARY Security REQUIRED)
if(SECURITY_LIBRARY)
message(STATUS "Framework 'Security' found at ${SECURITY_LIBRARY}")

link_directories(${SECURITY_LIBRARY_DIRS})
include_directories(SYSTEM ${SECURITY_LIBRARY_INCLUDE_DIRS})
else()
message(FATAL_ERROR "Framework 'Security' not found!")
endif()
mark_as_advanced(SECURITY_LIBRARY)
endif()
endif()

# mingw32/mingw64 and other external dependencies
include(ProjectExternals)
32 changes: 32 additions & 0 deletions CMake/Includes/ProjectExternals.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
set(openconnect-TAG v7.08)
set(vpnc-scripts-TAG master)
set(spdlog-TAG v0.13.0)
set(qt-solutions-TAG master)
set(tap-driver-TAG 9.21.2)

if(CMAKE_CROSSCOMPILING AND MINGW)
# Fedora mingw32/mingw64
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
set(CMAKE_CROSS_COMMAND mingw64-cmake)
else()
set(CMAKE_CROSS_COMMAND mingw32-cmake)
endif()
else()
# Windows mingw32 & macOS & native GNU/Linux
set(CMAKE_CROSS_COMMAND ${CMAKE_COMMAND})
endif()
message(STATUS "Using '${CMAKE_CROSS_COMMAND}' as CMake...")


include(ExternalProject)

file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/external/include)

include(ProjectExternals_spdlog)
include(ProjectExternals_qt-solutions)
if(MINGW)
include(ProjectExternals_openconnect)
include(ProjectExternals_vpnc-scripts-win)
include(ProjectExternals_tap-windows)
endif()

105 changes: 105 additions & 0 deletions CMake/Includes/ProjectExternals_openconnect.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
# --------------------------------------------------------------------------------------------------
# openconnect (libs, headers, etc.)
# --------------------------------------------------------------------------------------------------
if(NOT EXISTS ${CMAKE_SOURCE_DIR}/external/openconnect-devel-${openconnect-TAG}_mingw32.zip)
set(OPENCONNECT_DEV_URL https://github.com/horar/openconnect/releases/download/${openconnect-TAG})
else()
message(STATUS "Using local openconnect-devel packages...")
set(OPENCONNECT_DEV_URL ${CMAKE_SOURCE_DIR}/external)
endif()

ExternalProject_Add(openconnect-devel-${openconnect-TAG}
PREFIX ${CMAKE_BINARY_DIR}/external
INSTALL_DIR ${CMAKE_BINARY_DIR}/external

DOWNLOAD_NO_PROGRESS 1

URL ${OPENCONNECT_DEV_URL}/openconnect-devel-${openconnect-TAG}_mingw32.zip

CONFIGURE_COMMAND ""
BUILD_COMMAND ""
INSTALL_COMMAND ""
)
ExternalProject_Add_Step(openconnect-devel-${openconnect-TAG} deploy_headers
COMMAND ${CMAKE_COMMAND} -E copy_directory include <INSTALL_DIR>/include
COMMENT "...deploing openconnect-${openconnect-TAG} headers"
WORKING_DIRECTORY <SOURCE_DIR>
DEPENDEES install
)
ExternalProject_Add_Step(openconnect-devel-${openconnect-TAG} deploy_libraries
COMMAND ${CMAKE_COMMAND} -E copy_directory lib <INSTALL_DIR>/lib
COMMENT "...deploing openconnect-${openconnect-TAG} libraries"
WORKING_DIRECTORY <SOURCE_DIR>
DEPENDEES install
ALWAYS 0
)

# --------------------------------------------------------------------------------------------------
# openconnect (util & libs)
# --------------------------------------------------------------------------------------------------
if(NOT EXISTS ${CMAKE_SOURCE_DIR}/external/openconnect-${openconnect-TAG}_mingw32.zip)
set(OPENCONNECT_URL https://github.com/horar/openconnect/releases/download/${openconnect-TAG})
else()
message(STATUS "Using local openconnect-devel packages...")
set(OPENCONNECT_URL ${CMAKE_SOURCE_DIR}/external)
endif()

ExternalProject_Add(openconnect-${openconnect-TAG}
PREFIX ${CMAKE_BINARY_DIR}/external
INSTALL_DIR ${CMAKE_BINARY_DIR}/external

DOWNLOAD_NO_PROGRESS 1

URL ${OPENCONNECT_URL}/openconnect-${openconnect-TAG}_mingw32.zip

CONFIGURE_COMMAND ""
BUILD_COMMAND ""
INSTALL_COMMAND ""
)
ExternalProject_Add_Step(openconnect-${openconnect-TAG} deploy_libs
COMMAND ${CMAKE_COMMAND} -E copy_directory . <INSTALL_DIR>/lib
COMMENT "...deploing openconnect-${openconnect-TAG} libraries"
WORKING_DIRECTORY <SOURCE_DIR>
DEPENDEES install
)

add_executable(openconnect::app IMPORTED)
set_property(TARGET openconnect::app PROPERTY IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/external/lib/openconnect.exe)

add_library(openconnect::gmp SHARED IMPORTED)
set_property(TARGET openconnect::gmp PROPERTY IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/external/lib/libgmp-10.dll)
set_property(TARGET openconnect::gmp PROPERTY IMPORTED_IMPLIB ${CMAKE_BINARY_DIR}/external/lib/libgmp.dll.a)

add_library(openconnect::gnutls SHARED IMPORTED)
set_property(TARGET openconnect::gnutls PROPERTY IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/external/lib/libgnutls-30.dll)
set_property(TARGET openconnect::gnutls PROPERTY IMPORTED_IMPLIB ${CMAKE_BINARY_DIR}/external/lib/libgnutls.dll.a)

add_library(openconnect::hogweed SHARED IMPORTED)
set_property(TARGET openconnect::hogweed PROPERTY IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/external/lib/libhogweed-4.dll)
set_property(TARGET openconnect::hogweed PROPERTY IMPORTED_IMPLIB ${CMAKE_BINARY_DIR}/external/lib/libhogweed.dll.a)

add_library(openconnect::nettle SHARED IMPORTED)
set_property(TARGET openconnect::nettle PROPERTY IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/external/lib/libnettle-6.dll)
set_property(TARGET openconnect::nettle PROPERTY IMPORTED_IMPLIB ${CMAKE_BINARY_DIR}/external/lib/libnettle.dll.a)

add_library(openconnect::openconnect SHARED IMPORTED)
set_property(TARGET openconnect::openconnect PROPERTY IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/external/lib/libopenconnect-5.dll)
set_property(TARGET openconnect::openconnect PROPERTY IMPORTED_IMPLIB ${CMAKE_BINARY_DIR}/external/lib/libopenconnect.dll.a)

add_library(openconnect::p11-kit SHARED IMPORTED)
set_property(TARGET openconnect::p11-kit PROPERTY IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/external/lib/libp11-kit-0.dll)
set_property(TARGET openconnect::p11-kit PROPERTY IMPORTED_IMPLIB ${CMAKE_BINARY_DIR}/external/lib/libp11-kit.dll.a)

add_library(openconnect::stoken SHARED IMPORTED)
set_property(TARGET openconnect::stoken PROPERTY IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/external/lib/libstoken-1.dll)
set_property(TARGET openconnect::stoken PROPERTY IMPORTED_IMPLIB ${CMAKE_BINARY_DIR}/external/lib/libstoken.dll.a)

add_library(openconnect::xml2 SHARED IMPORTED)
set_property(TARGET openconnect::xml2 PROPERTY IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/external/lib/libxml2-2.dll)
set_property(TARGET openconnect::xml2 PROPERTY IMPORTED_IMPLIB ${CMAKE_BINARY_DIR}/external/lib/libxml2.dll.a)


install(FILES ${CMAKE_BINARY_DIR}/external/lib/openconnect.exe
DESTINATION .
COMPONENT App_Console
)
28 changes: 28 additions & 0 deletions CMake/Includes/ProjectExternals_qt-solutions.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# --------------------------------------------------------------------------------------------------
# qt-solutions
# --------------------------------------------------------------------------------------------------
ExternalProject_Add(qt-solutions-${qt-solutions-TAG}
PREFIX ${CMAKE_BINARY_DIR}/external/
INSTALL_DIR ${CMAKE_BINARY_DIR}/external
CMAKE_ARGS "${CMAKE_ARGS};-DQt5_DIR=${Qt5_DIR};-DCMAKE_BUILD_TYPE=Release;-DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>"

UPDATE_DISCONNECTED 0
UPDATE_COMMAND ""

GIT_REPOSITORY https://code.qt.io/qt-solutions/qt-solutions.git
GIT_TAG ${qt-solutions-TAG}
GIT_SHALLOW 1

BUILD_IN_SOURCE 1

PATCH_COMMAND ${CMAKE_COMMAND} -E copy_if_different
${CMAKE_SOURCE_DIR}/CMake/Includes/CMakeLists_qt-solutions.cmake.in
${CMAKE_BINARY_DIR}/external/src/qt-solutions-master/CMakeLists.txt
CMAKE_COMMAND ${CMAKE_CROSS_COMMAND} -DCMAKE_OSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET}
)

add_library(qt-solutions::qtsingleapplication STATIC IMPORTED)
set_target_properties(qt-solutions::qtsingleapplication PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_BINARY_DIR}/external/include"
IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/external/lib/libqtsingleapplication.a
)
23 changes: 23 additions & 0 deletions CMake/Includes/ProjectExternals_spdlog.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# --------------------------------------------------------------------------------------------------
# spdlog
# --------------------------------------------------------------------------------------------------
ExternalProject_Add(spdlog-${spdlog-TAG}
PREFIX ${CMAKE_BINARY_DIR}/external

INSTALL_DIR ${CMAKE_BINARY_DIR}/external

UPDATE_DISCONNECTED 0
UPDATE_COMMAND ""

GIT_REPOSITORY https://github.com/gabime/spdlog
GIT_TAG ${spdlog-TAG}
GIT_SHALLOW 1

CMAKE_ARGS -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> -DBUILD_TESTING=off -DSPDLOG_BUILD_TESTING=off
CMAKE_COMMAND ${CMAKE_CROSS_COMMAND}
)

add_library(spdlog::spdlog INTERFACE IMPORTED)
set_target_properties(spdlog::spdlog PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_BINARY_DIR}/external/include"
)
Loading

0 comments on commit e59e24f

Please sign in to comment.