Skip to content

Commit

Permalink
Merge branch 'develop' into 852-warn-on-deleting-with-references
Browse files Browse the repository at this point in the history
  • Loading branch information
wgml authored Jun 1, 2018
2 parents 7576f39 + 558cb3d commit b7c7d14
Show file tree
Hide file tree
Showing 62 changed files with 10,041 additions and 1,199 deletions.
21 changes: 21 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,3 +1,24 @@
2.3.3 (2018-05-09)
=========================

- Fix crash when browser integration is enabled [#1923]

2.3.2 (2018-05-07)
=========================

- Enable high entropy ASLR on Windows [#1747]
- Enhance favicon fetching [#1786]
- Fix crash on Windows due to autotype [#1691]
- Fix dark tray icon changing all icons [#1680]
- Fix --pw-stdin not using getPassword function [#1686]
- Fix placeholders being resolved in notes [#1907]
- Enable auto-type start delay to be configurable [#1908]
- Browser: Fix native messaging reply size [#1719]
- Browser: Increase maximum buffer size [#1720]
- Browser: Enhance usability and functionality [#1810, #1822, #1830, #1884, #1906]
- SSH Agent: Parse aes-256-cbc/ctr keys [#1682]
- SSH Agent: Enhance usability and functionality [#1677, #1679, #1681, #1787]

2.3.1 (2018-03-06)
=========================

Expand Down
15 changes: 12 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ set(CMAKE_AUTOUIC ON)

set(KEEPASSXC_VERSION_MAJOR "2")
set(KEEPASSXC_VERSION_MINOR "3")
set(KEEPASSXC_VERSION_PATCH "1")
set(KEEPASSXC_VERSION_PATCH "3")
set(KEEPASSXC_VERSION "${KEEPASSXC_VERSION_MAJOR}.${KEEPASSXC_VERSION_MINOR}.${KEEPASSXC_VERSION_PATCH}")

set(KEEPASSXC_BUILD_TYPE "Snapshot" CACHE STRING "Set KeePassXC build type to distinguish between stable releases and snapshots")
Expand Down Expand Up @@ -117,6 +117,10 @@ elseif(KEEPASSXC_DIST_TYPE STREQUAL "Other")
unset(KEEPASSXC_DIST)
endif()

if("${CMAKE_SIZEOF_VOID_P}" EQUAL "4")
set(IS_32BIT TRUE)
endif()

if("${CMAKE_C_COMPILER}" MATCHES "clang$" OR "${CMAKE_C_COMPILER_ID}" STREQUAL "Clang")
set(CMAKE_COMPILER_IS_CLANG 1)
endif()
Expand Down Expand Up @@ -237,8 +241,13 @@ if(MINGW)
set(CMAKE_RC_COMPILE_OBJECT "<CMAKE_RC_COMPILER> <FLAGS> -O coff <DEFINES> -i <SOURCE> -o <OBJECT>")
if(NOT (CMAKE_BUILD_TYPE STREQUAL "Debug" OR CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo"))
# Enable DEP and ASLR
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--nxcompat -Wl,--dynamicbase -Wl,--high-entropy-va")
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,--nxcompat -Wl,--dynamicbase -Wl,--high-entropy-va")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--nxcompat -Wl,--dynamicbase")
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,--nxcompat -Wl,--dynamicbase")
# Enable high entropy ASLR for 64-bit builds
if(NOT IS_32BIT)
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--high-entropy-va")
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,--high-entropy-va")
endif()
endif()
endif()

Expand Down
51 changes: 51 additions & 0 deletions ci/snapcraft/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# KeePassXC Linux Release Build Dockerfile
# Copyright (C) 2017-2018 KeePassXC team <https://keepassxc.org/>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 or (at your option)
# version 3 of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.

FROM snapcore/snapcraft

ENV REBUILD_COUNTER=1

ENV QT5_VERSION=510
ENV QT5_PPA_VERSION=5.10.1

RUN set -x \
&& apt update -y \
&& apt -y install software-properties-common

RUN set -x \
&& add-apt-repository ppa:phoerious/keepassxc

RUN set -x \
&& apt update -y \
&& apt-get -y --no-install-recommends install \
build-essential \
cmake \
libgcrypt20-18-dev \
libargon2-0-dev \
libsodium-dev \
qtbase5-dev \
qttools5-dev \
qttools5-dev-tools \
zlib1g-dev \
libyubikey-dev \
libykpers-1-dev \
libxi-dev \
libxtst-dev \
xvfb

RUN set -x \
&& apt-get autoremove --purge

51 changes: 35 additions & 16 deletions release-tool
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ BUILD_PLUGINS="all"
INSTALL_PREFIX="/usr/local"
BUILD_SOURCE_TARBALL=true
BUILD_SNAPSHOT=false
BUILD_SNAPCRAFT=false
ORIG_BRANCH=""
ORIG_CWD="$(pwd)"

Expand Down Expand Up @@ -106,6 +107,8 @@ Options:
This option has no effect if --build is not set.
--container-name Docker container name (default: '${DOCKER_CONTAINER_NAME}')
The container must not exist already
--snapcraft Create and use docker image to build snapcraft distribution.
This option has no effect if --docker-image is not set.
-c, --cmake-options Additional CMake options for compiling the sources
--compiler Compiler to use (default: '${COMPILER}')
-m, --make-options Make options for compiling sources (default: '${MAKE_OPTIONS}')
Expand Down Expand Up @@ -542,6 +545,10 @@ build() {
--container-name)
DOCKER_CONTAINER_NAME="$2"
shift ;;

--snapcraft)
BUILD_SNAPCRAFT=true
shift ;;

-c|--cmake-options)
CMAKE_OPTIONS="$2"
Expand Down Expand Up @@ -703,22 +710,34 @@ build() {
${SRC_DIR}/AppImage-Recipe.sh "$APP_NAME" "$RELEASE_NAME"
fi
else
mkdir -p "${OUTPUT_DIR}/bin-release"

logInfo "Launching Docker container to compile sources..."

docker run --name "$DOCKER_CONTAINER_NAME" --rm \
--cap-add SYS_ADMIN --security-opt apparmor:unconfined --device /dev/fuse \
-e "CC=${CC}" -e "CXX=${CXX}" \
-v "$(realpath "$SRC_DIR"):/keepassxc/src:ro" \
-v "$(realpath "$OUTPUT_DIR"):/keepassxc/out:rw" \
"$DOCKER_IMAGE" \
bash -c "cd /keepassxc/out/build-release && \
cmake -DCMAKE_BUILD_TYPE=Release -DWITH_TESTS=Off $CMAKE_OPTIONS \
-DCMAKE_INSTALL_PREFIX=\"${INSTALL_PREFIX}\" \
-DKEEPASSXC_DIST_TYPE=AppImage /keepassxc/src && \
make $MAKE_OPTIONS && make DESTDIR=/keepassxc/out/bin-release install/strip && \
/keepassxc/src/AppImage-Recipe.sh "$APP_NAME" "$RELEASE_NAME""
if [ BUILD_SNAPCRAFT ]; then
logInfo "Building snapcraft docker image..."

sudo docker image build -t "$DOCKER_IMAGE" "$(realpath "$SRC_DIR")/ci/snapcraft"

logInfo "Launching Docker contain to compile snapcraft..."

sudo docker run --name "$DOCKER_CONTAINER_NAME" --rm \
-v "$(realpath "$SRC_DIR"):/keepassxc" -w "/keepassxc" \
"$DOCKER_IMAGE" snapcraft
else
mkdir -p "${OUTPUT_DIR}/bin-release"

logInfo "Launching Docker container to compile sources..."

docker run --name "$DOCKER_CONTAINER_NAME" --rm \
--cap-add SYS_ADMIN --security-opt apparmor:unconfined --device /dev/fuse \
-e "CC=${CC}" -e "CXX=${CXX}" \
-v "$(realpath "$SRC_DIR"):/keepassxc/src:ro" \
-v "$(realpath "$OUTPUT_DIR"):/keepassxc/out:rw" \
"$DOCKER_IMAGE" \
bash -c "cd /keepassxc/out/build-release && \
cmake -DCMAKE_BUILD_TYPE=Release -DWITH_TESTS=Off $CMAKE_OPTIONS \
-DCMAKE_INSTALL_PREFIX=\"${INSTALL_PREFIX}\" \
-DKEEPASSXC_DIST_TYPE=AppImage /keepassxc/src && \
make $MAKE_OPTIONS && make DESTDIR=/keepassxc/out/bin-release install/strip && \
/keepassxc/src/AppImage-Recipe.sh "$APP_NAME" "$RELEASE_NAME""
fi

if [ 0 -ne $? ]; then
exitError "Docker build failed!"
Expand Down
25 changes: 25 additions & 0 deletions share/linux/org.keepassxc.KeePassXC.appdata.xml
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,31 @@
</screenshots>

<releases>
<release version="2.3.3" date="2018-05-09">
<description>
<ul>
<li>Fix crash when browser integration is enabled [#1923]</li>
</ul>
</description>
</release>
<release version="2.3.2" date="2018-05-07">
<description>
<ul>
<li>Enable high entropy ASLR on Windows [#1747]</li>
<li>Enhance favicon fetching [#1786]</li>
<li>Fix crash on Windows due to autotype [#1691]</li>
<li>Fix dark tray icon changing all icons [#1680]</li>
<li>Fix --pw-stdin not using getPassword function [#1686]</li>
<li>Fix placeholders being resolved in notes [#1907]</li>
<li>Enable auto-type start delay to be configurable [#1908]</li>
<li>Browser: Fix native messaging reply size [#1719]</li>
<li>Browser: Increase maximum buffer size [#1720]</li>
<li>Browser: Enhance usability and functionality [#1810, #1822, #1830, #1884, #1906]</li>
<li>SSH Agent: Parse aes-256-cbc/ctr keys [#1682]</li>
<li>SSH Agent: Enhance usability and functionality [#1677, #1679, #1681, #1787]</li>
</ul>
</description>
</release>
<release version="2.3.1" date="2018-03-06">
<description>
<ul>
Expand Down
Loading

0 comments on commit b7c7d14

Please sign in to comment.