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

Commit e48e35d

Browse files
committed
Merge branch 'release/1.4.0'
2 parents fe2ba13 + a5e335d commit e48e35d

File tree

141 files changed

+5523
-3638
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

141 files changed

+5523
-3638
lines changed

.clang-format

+58-22
Original file line numberDiff line numberDiff line change
@@ -2,56 +2,92 @@
22
Language: Cpp
33
# BasedOnStyle: WebKit
44
AccessModifierOffset: -4
5-
ConstructorInitializerIndentWidth: 4
5+
AlignAfterOpenBracket: DontAlign
6+
AlignConsecutiveAssignments: false
7+
AlignConsecutiveDeclarations: false
68
AlignEscapedNewlinesLeft: false
9+
AlignOperands: false
710
AlignTrailingComments: false
811
AllowAllParametersOfDeclarationOnNextLine: true
912
AllowShortBlocksOnASingleLine: false
13+
AllowShortCaseLabelsOnASingleLine: false
14+
AllowShortFunctionsOnASingleLine: All
1015
AllowShortIfStatementsOnASingleLine: false
1116
AllowShortLoopsOnASingleLine: false
12-
AllowShortFunctionsOnASingleLine: All
13-
AlwaysBreakTemplateDeclarations: false
17+
AlwaysBreakAfterDefinitionReturnType: None
18+
AlwaysBreakAfterReturnType: None
1419
AlwaysBreakBeforeMultilineStrings: false
15-
BreakBeforeBinaryOperators: true
20+
AlwaysBreakTemplateDeclarations: false
21+
BinPackArguments: true
22+
BinPackParameters: true
23+
BraceWrapping:
24+
AfterClass: false
25+
AfterControlStatement: false
26+
AfterEnum: false
27+
AfterFunction: true
28+
AfterNamespace: false
29+
AfterObjCDeclaration: false
30+
AfterStruct: false
31+
AfterUnion: false
32+
BeforeCatch: false
33+
BeforeElse: false
34+
IndentBraces: false
35+
BreakBeforeBinaryOperators: All
36+
BreakBeforeBraces: WebKit
1637
BreakBeforeTernaryOperators: true
1738
BreakConstructorInitializersBeforeComma: true
18-
BinPackParameters: true
39+
BreakAfterJavaFieldAnnotations: false
40+
BreakStringLiterals: true
1941
ColumnLimit: 0
42+
CommentPragmas: '^ IWYU pragma:'
2043
ConstructorInitializerAllOnOneLineOrOnePerLine: false
44+
ConstructorInitializerIndentWidth: 4
45+
ContinuationIndentWidth: 4
46+
Cpp11BracedListStyle: false
2147
DerivePointerAlignment: false
48+
DisableFormat: false
2249
ExperimentalAutoDetectBinPacking: false
50+
ForEachMacros: [ foreach, Q_FOREACH, BOOST_FOREACH ]
51+
IncludeCategories:
52+
- Regex: '^"(llvm|llvm-c|clang|clang-c)/'
53+
Priority: 2
54+
- Regex: '^(<|"(gtest|isl|json)/)'
55+
Priority: 3
56+
- Regex: '.*'
57+
Priority: 1
2358
IndentCaseLabels: false
59+
IndentWidth: 4
2460
IndentWrappedFunctionNames: false
25-
IndentFunctionDeclarationAfterType: false
26-
MaxEmptyLinesToKeep: 1
2761
KeepEmptyLinesAtTheStartOfBlocks: true
62+
MacroBlockBegin: ''
63+
MacroBlockEnd: ''
64+
MaxEmptyLinesToKeep: 1
2865
NamespaceIndentation: Inner
66+
ObjCBlockIndentWidth: 4
2967
ObjCSpaceAfterProperty: true
3068
ObjCSpaceBeforeProtocolList: true
3169
PenaltyBreakBeforeFirstCallParameter: 19
3270
PenaltyBreakComment: 300
33-
PenaltyBreakString: 1000
3471
PenaltyBreakFirstLessLess: 120
72+
PenaltyBreakString: 1000
3573
PenaltyExcessCharacter: 1000000
3674
PenaltyReturnTypeOnItsOwnLine: 60
3775
PointerAlignment: Left
76+
ReflowComments: true
77+
SortIncludes: true
78+
SpaceAfterCStyleCast: false
79+
SpaceBeforeAssignmentOperators: true
80+
SpaceBeforeParens: ControlStatements
81+
SpaceInEmptyParentheses: false
3882
SpacesBeforeTrailingComments: 1
39-
Cpp11BracedListStyle: false
83+
SpacesInAngles: false
84+
SpacesInContainerLiterals: true
85+
SpacesInCStyleCastParentheses: false
86+
SpacesInParentheses: false
87+
SpacesInSquareBrackets: false
4088
Standard: Cpp03
41-
IndentWidth: 4
4289
TabWidth: 8
4390
UseTab: Never
44-
BreakBeforeBraces: Stroustrup
45-
SpacesInParentheses: false
46-
SpacesInAngles: false
47-
SpaceInEmptyParentheses: false
48-
SpacesInCStyleCastParentheses: false
49-
SpacesInContainerLiterals: true
50-
SpaceBeforeAssignmentOperators: true
51-
ContinuationIndentWidth: 4
52-
CommentPragmas: '^ IWYU pragma:'
53-
ForEachMacros: [ foreach, Q_FOREACH, BOOST_FOREACH ]
54-
SpaceBeforeParens: ControlStatements
55-
DisableFormat: false
91+
JavaScriptQuotes: Leave
5692
...
5793

.gitignore

+14-7
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,18 @@
1-
*.o
1+
# temporary files
2+
*.sw[op]
23
*~
3-
Makefile
4-
moc_*.cpp
5-
qrc_*.cpp
6-
ui_*.h
7-
qconnect
8-
*.exe
94

5+
# project files
106
/*.pro.user
117
/CMakeLists.txt.user
8+
9+
# in source generate files
10+
/src/scm_version.cmake
11+
12+
# temporary build folder
13+
build-release/
14+
15+
16+
# temporary...
17+
_xxx/
18+
*.zip

CHANGELOG.md

+107
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
History of user-visible changes.
2+
3+
## [v1.4.0](https://github.com/openconnect/openconnect-gui/tree/v1.4.0) (2016-08-10)
4+
- updated gnutls(3.4.14), stoken (0.90), gmp(6.1.0), nettle(3.2), p11-kit(0.23.2), zlib (1.2.8), libxml2 (2.9.3)
5+
- updated TAP-windows(9.21.2), Qt(5.6)
6+
- new component based NSIS installer (with optional console client, vcredist/tap drivers)
7+
- couple of changes, fixes and logging improvements in 'vpnc-script.js'
8+
- many small UI changes/improvements/fixes everywhere
9+
- VPN profiles management simplified; remember last selected
10+
- notification area icon allow connect/disconnect and show log as well
11+
- minimize to notification area, minimize instead of close and start minimized settings introduced
12+
- main and log dialogs store their size/position
13+
14+
Known limitations:
15+
- NDIS5 drivers are not bundled in installer (can be installed manually)
16+
17+
[Full Changelog](https://github.com/openconnect/openconnect-gui/compare/v1.3...v1.4.0)
18+
19+
20+
## [v1.3](https://github.com/openconnect/openconnect-gui/tree/v1.3) (2015-05-15)
21+
- Properly notify the server of the VPN session shutdown (#39)
22+
23+
[Full Changelog](https://github.com/openconnect/openconnect-gui/compare/v1.2...v1.3)
24+
25+
26+
## [v1.2](https://github.com/openconnect/openconnect-gui/tree/v1.2) (2015-04-07)
27+
- Corrected execution of the vpnc-script (#38)
28+
- Corrected issue with SPNEGO auth
29+
30+
[Full Changelog](https://github.com/openconnect/openconnect-gui/compare/v1.1...v1.2)
31+
32+
33+
## [v1.1](https://github.com/openconnect/openconnect-gui/tree/v1.1) (2015-03-20)
34+
- Corrected issue with the negotiation of DTLS 0.9
35+
36+
[Full Changelog](https://github.com/openconnect/openconnect-gui/compare/v1.0...v1.1)
37+
38+
39+
## [v1.0](https://github.com/openconnect/openconnect-gui/tree/v1.0) (2015-03-19)
40+
- Corrected issue with certain popup dialogs freezing the UI.
41+
- Corrected import of PKCS #12 files.
42+
- Added tray icon in UI.
43+
- updated to libopenconnect 7.06.
44+
- updated to latest prerelease of nettle and GnuTLS 3.4.0.
45+
46+
[Full Changelog](https://github.com/openconnect/openconnect-gui/compare/v0.9...v1.0)
47+
48+
49+
## [v0.9](https://github.com/openconnect/openconnect-gui/tree/v0.9) (2014-11-28)
50+
- Print the ciphersuite information.
51+
- Updated to libopenconnect 7.00.
52+
53+
[Full Changelog](https://github.com/openconnect/openconnect-gui/compare/v0.8...v0.9)
54+
55+
56+
## [v0.8](https://github.com/openconnect/openconnect-gui/tree/v0.8) (2014-11-21)
57+
- Fixes issue with Proxy (patch by schenkos)
58+
- Saved passwords are protected using CryptProtect()
59+
- Added support for loading certificates from the
60+
windows certificate store.
61+
62+
[Full Changelog](https://github.com/openconnect/openconnect-gui/compare/v0.7...v0.8)
63+
64+
65+
## [v0.7](https://github.com/openconnect/openconnect-gui/tree/v0.7) (2014-10-27)
66+
- Fixed Download/Upload statistics report.
67+
- Fixes in vpnc-script-win.js for windows XP.
68+
69+
[Full Changelog](https://github.com/openconnect/openconnect-gui/compare/v0.6...v0.7)
70+
71+
72+
## [v0.6](https://github.com/openconnect/openconnect-gui/tree/v0.6) (2014-10-13)
73+
- Fixes interface issue when a DTLS connection fails.
74+
- Added option to disable UDP/DTLS and use only TCP/TLS.
75+
- When password authentication fails in batch mode retry
76+
by disabling batch mode.
77+
- Updated the bundled libopenconnect.
78+
- Added experimental support for stoken.
79+
80+
[Full Changelog](https://github.com/openconnect/openconnect-gui/compare/v0.5...v0.6)
81+
82+
83+
## [v0.5](https://github.com/openconnect/openconnect-gui/tree/v0.5) (2014-10-01)
84+
- Enabled CA certificate verification, when the CA certificate is
85+
provided.
86+
- Corrected issue with saving the CA certificate as server certificate.
87+
- Ship vcredist_x86.exe instead of the needed DLLs
88+
- Added ability to view a certificate when connecting to a new
89+
server.
90+
91+
[Full Changelog](https://github.com/openconnect/openconnect-gui/compare/v0.4...v0.5)
92+
93+
94+
## [v0.4](https://github.com/openconnect/openconnect-gui/tree/v0.4) (2014-09-16)
95+
- Fixes reading the saved password in batch mode
96+
- Fixes issue with missing DLLs in some systems
97+
- Updated vpnc-script-win.js
98+
99+
[Full Changelog](https://github.com/openconnect/openconnect-gui/compare/v0.3...v0.4)
100+
101+
102+
## [v0.3](https://github.com/openconnect/openconnect-gui/tree/v0.3) (2014-09-09)
103+
- Fixes issue in group selection box
104+
- Fixes issue in edit dialog not restoring the selection in main
105+
window's drop down menu.
106+
107+
[Full Changelog](https://github.com/openconnect/openconnect-gui/compare/v0.2...v0.3)

CMake/Includes/clang-format.cmake

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
find_program(CLANG_FORMAT clang-format)
2+
if(CLANG_FORMAT)
3+
file(GLOB_RECURSE ALL_SOURCE_FILES *.cpp *.h)
4+
set(PROJECT_TRDPARTY_DIR ${PROJECT_SOURCE_DIR}/include)
5+
foreach(SOURCE_FILE ${ALL_SOURCE_FILES})
6+
string(FIND ${SOURCE_FILE} ${PROJECT_TRDPARTY_DIR} PROJECT_TRDPARTY_DIR_FOUND)
7+
if (NOT ${PROJECT_TRDPARTY_DIR_FOUND} EQUAL -1)
8+
list(REMOVE_ITEM ALL_SOURCE_FILES ${SOURCE_FILE})
9+
endif()
10+
endforeach()
11+
12+
add_custom_target(clang-format
13+
COMMAND ${CLANG_FORMAT} -i ${ALL_SOURCE_FILES}
14+
)
15+
endif()
16+
+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
list(APPEND CMAKE_MODULE_PATH "${SOURCE_DIR}")
2+
include(scm_version)
3+
4+
#if(WIN32 AND MINGW)
5+
if(PROJ_UAC_ON)
6+
set(UAC_FLAG "")
7+
else()
8+
set(UAC_FLAG "//")
9+
endif()
10+
11+
configure_file(
12+
${SOURCE_DIR}/${PROJECT_NAME}.rc.in
13+
${BINARY_DIR}/${PROJECT_NAME}.rc
14+
@ONLY
15+
)
16+
#endif()
+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
list(APPEND CMAKE_MODULE_PATH "${SOURCE_DIR}")
2+
include(scm_version)
3+
4+
configure_file(
5+
${SOURCE_DIR}/${PROJECT_NAME}.cpp.in
6+
${PROJECT_NAME}.cpp
7+
@ONLY
8+
)
+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
#create a pretty commit id using git
2+
#uses 'git describe --tags --dirty', so tags are required in the repo
3+
#create a tag with 'git tag <name>' and 'git push --tags'
4+
5+
execute_process(
6+
COMMAND ${GIT_EXECUTABLE} describe --tags --dirty
7+
WORKING_DIRECTORY ${GIT_ROOT_DIR}
8+
RESULT_VARIABLE res_var
9+
OUTPUT_VARIABLE GIT_COM_ID
10+
)
11+
string(REPLACE "\n" "" GIT_COMMIT_ID ${GIT_COM_ID})
12+
13+
# check number of digits in version string
14+
string(REPLACE "." ";" GIT_COMMIT_ID_VLIST ${GIT_COMMIT_ID})
15+
list(LENGTH GIT_COMMIT_ID_VLIST GIT_COMMIT_ID_VLIST_COUNT)
16+
17+
# no.: major
18+
string(REGEX REPLACE "^v([0-9]+)\\..*" "\\1" VERSION_MAJOR "${GIT_COMMIT_ID}")
19+
# no.: minor
20+
string(REGEX REPLACE "^v[0-9]+\\.([0-9]+).*" "\\1" VERSION_MINOR "${GIT_COMMIT_ID}")
21+
22+
if(${GIT_COMMIT_ID_VLIST_COUNT} STREQUAL "2")
23+
# no. patch
24+
set(VERSION_PATCH "0")
25+
# SHA1 string + git 'dirty' flag
26+
string(REGEX REPLACE "^v[0-9]+\\.[0-9]+(.*)" "\\1" VERSION_SHA1 "${GIT_COMMIT_ID}")
27+
else()
28+
# no. patch
29+
string(REGEX REPLACE "^v[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" VERSION_PATCH "${GIT_COMMIT_ID}")
30+
# SHA1 string + git 'dirty' flag
31+
string(REGEX REPLACE "^v[0-9]+\\.[0-9]+\\.[0-9]+(.*)" "\\1" VERSION_SHA1 "${GIT_COMMIT_ID}")
32+
endif()
33+
34+
set(VERSION "${GIT_COMMIT_ID}")
35+
message(STATUS "Version: ${GIT_COMMIT_ID}")
36+
37+
configure_file(
38+
${SOURCE_DIR}/scm_version.cmake.in
39+
${SOURCE_DIR}/scm_version.cmake
40+
@ONLY
41+
)

CMake/Includes/scm.cmake

+63
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
if(IS_DIRECTORY ${PROJECT_SOURCE_DIR}/.git)
2+
add_custom_command(
3+
OUTPUT scm_version.cmake
4+
COMMAND ${CMAKE_COMMAND}
5+
-D GIT_EXECUTABLE=${GIT_EXECUTABLE}
6+
-D GIT_ROOT_DIR=${PROJECT_SOURCE_DIR}
7+
-D SOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR}
8+
-D BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR}
9+
-P ${PROJECT_SOURCE_DIR}/CMake/Includes/scm-generate_version.cmake
10+
COMMENT "Automatic version strings assembling"
11+
VERBATIM
12+
)
13+
endif()
14+
15+
add_custom_command(
16+
OUTPUT ${PROJECT_NAME}.cpp
17+
DEPENDS scm_version.cmake
18+
COMMAND ${CMAKE_COMMAND}
19+
-D PROJECT_NAME=${PROJECT_NAME}
20+
-D SOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR}
21+
-D BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR}
22+
23+
-D PRODUCT_NAME_SHORT=${PRODUCT_NAME_SHORT}
24+
-D PRODUCT_NAME_LONG=${PRODUCT_NAME_LONG}
25+
-D PRODUCT_NAME_COMPANY=${PRODUCT_NAME_COMPANY}
26+
-D PRODUCT_NAME_COMPANY_DOMAIN=${PRODUCT_NAME_COMPANY_DOMAIN}
27+
-D PRODUCT_NAME_COPYRIGHT=${PRODUCT_NAME_COPYRIGHT}
28+
29+
-P ${PROJECT_SOURCE_DIR}/CMake/Includes/scm-generate_source.cmake
30+
COMMENT "Automatic source code generation"
31+
VERBATIM
32+
)
33+
#if(WIN32 AND MINGW)
34+
add_custom_command(
35+
OUTPUT ${PROJECT_NAME}.rc
36+
DEPENDS scm_version.cmake
37+
COMMAND ${CMAKE_COMMAND}
38+
-D PROJECT_NAME=${PROJECT_NAME}
39+
-D SOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR}
40+
-D BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR}
41+
42+
-D PRODUCT_NAME_SHORT=${PRODUCT_NAME_SHORT}
43+
-D PRODUCT_NAME_LONG=${PRODUCT_NAME_LONG}
44+
-D PRODUCT_NAME_COMPANY=${PRODUCT_NAME_COMPANY}
45+
-D PRODUCT_NAME_COMPANY_DOMAIN=${PRODUCT_NAME_COMPANY_DOMAIN}
46+
-D PRODUCT_NAME_COPYRIGHT=${PRODUCT_NAME_COPYRIGHT}
47+
48+
-D PROJ_UAC_ON=${PROJ_UAC_ON}
49+
50+
-P ${PROJECT_SOURCE_DIR}/CMake/Includes/scm-generate_resource.cmake
51+
COMMENT "Automatic resource files generation"
52+
VERBATIM
53+
)
54+
#endif()
55+
56+
## ???
57+
#add_custom_target(generate_cmake ALL
58+
# DEPENDS ${PROJECT_NAME}.cpp ${PROJECT_NAME}.rc
59+
# #DEPENDS scm_version.cmake
60+
## DEPENDS version.cmake config.h config.cpp #openconnect-gui.rc
61+
# COMMENT "generate '*'"
62+
# VERBATIM
63+
#)

0 commit comments

Comments
 (0)