= Informsec2013: Report for Milestone #1 =

== 1. What we have done for milestone #1 ==

 * Gpg4win 2.1.1-beta released (2013-05-16) which includes:
 ** new Gpg4win installer (all components are updated; see section 2.)
 ** website updated
 ** announcement on all gpg4win mailing lists (in English and Germen)
 * Kleopatra's non-latin encoding bug fixed with an updated Kleopatra package
 * Windows7 (64bit) test system is set up. Windows8 (64bit) license is orderd and will set up as second test system for the next milestone.
 * Checked all Kleopatra bug reports on bugs.kde.org and Gpg4win tracker (see section 3.)
 * Set up a new wiki for GnuPG/Gpg4win community: wiki.gnupg.org
 * Released GnuPG 2.0.20.
 * Released GPA 0.9.4
 * Released GPGME 1.4.1
 * Migrated the installer to the i686-w64-mingw32 toolchain.
 * Updated most included packages to decent versions.
 * Fixed many included packages to allow the use of that toolchain.
 * Fixed a long standing bug in GPGME which led to spurious Kleopatra hangs.
 * Improved of the build system.
 * Updated Claws-Mail and changed to cope with the now internal plugins.

== 2. Updates of Gpg4win components and libraries ==

We checked (and if required updated) all in Gpg4win integrated
packages. An overview of updated packages:

{{{
Package                 old version             new version

kleopatra               2.1.0 (20110204)        2.1.1 (20130516)
from KDE                4.1.4                   4.10.3
-qt                     4.4.0                   4.8.4
-dbus                   20090701                1.4.24-20130417
-oxygen-icons           20100218                4.10.3
gnupg2                  2.0.19                  2.0.20
-adns                   1.4-g10-2               1.4-g10-3
-dirmngr                1.1.0                   1.1.1
-gpgme                  1.3.2.                  1.4.1
-libassuan              2.0.3                   2.1.0
-libgcrypt              1.5.0                   1.5.2
-libgpg-error           1.10                    1.11
-libksba                1.2.0                   1.3.0
-paperkey               1.2                     1.3
-pinentry               0.8.1                   0.8.3
claws-mail              3.8.0cvs30              claws-mail-3.9.1
-curl                   7.19.0                  7.30.0
-gtkhtml2_viewer        0.32cvs2                0.34
-libetpan               0.58                    0.58-g10-1
gpa                     0.9.2                   0.9.4
gdk-pixbuf              2.26.0                  2.26.5
glib                    2.32.0                  2.34.3
gnutls                  2.8.6                   2.12.21
gtk+                    2.24.10                 2.24.17
libffi                  3.0.10                  3.0.13
libgsasl                1.4.4                   1.8.0
libpng                  1.4.10                  1.4.12
libtasn1                2.2                     2.14
w32pth                  2.0.2                   2.0.5
zlib                    1.2.5                   1.2.7
}}}

=== 2.1 Library updates for Kleopatra ===

To make use of improvements developed by the KDE community Gpg4Win now used
the KDE-Windows buildsystem [[http://techbase.kde.org/Getting_Started/Build/Windows/emerge|emerge]]. 
Emerge is a tool to automatically
compile the KDE sources into Windows binaries. There is a community around it
that keeps the build scripts up to date and works on build problems that exist
for Windows. We created a special Gpg4Win branch that can automatically build a kleopatra
binary package from scratch with dependencies tailored to the need of Gpg4Win.

This makes the packaging of Kleopatra more transparent and reproducable, and
enables us to have a more maintainable update process for kleopatra in the future
because we are now using a build process that is maintained by a larger community.
The repository of the build scripts can be reviewed under http://quickgit.kde.org/?p=emerge.git&a=shortlog&h=6fd6551b2af111b11ec2ad5fcfdb244f5dadbbcf .

The packaging of Kleopatra (which files should be installed where)
also had to be reworked as we needed an automated way to create such a package.
This work resulted in a reduced set of files actually needed in Gpg4Win
reducing the size of a Kleopatra installation from 65MB to 51MB.

==== Details: ====

**DBus:**<<BR>>
The interprocess communication system used by Kleopatra has been updated
to the release dbus-1.4.26 from freedesktop.org. This release is officially
supported for Windows and brings improved stability and a better performance.
Additionally DBus instances on Windows are now better isolated from each other.
This improves the mulituser support and allows multiple installations of
different DBus instances on one System. This update was also a requirement
for a portable gpg4win installation.

Challenges:
 * Changed installation paths in the new Version
 * Testing the implications of the DBus isolation.


**Qt:**<<BR>>
The Qt Framework used by Kleopatra has been updated to the latest stable
release 4.8.4. This update brings 4 years of Qt development and is a Qt
release that is supported for Windows 8, Windows 7 and Windows Vista.
This improves the look and feel of kleopatra on modern Windows Systems and
additionaly fixes several bugs that existed in the previously used 4.4
release of Qt.

Challenges were to create a reduced set of Icon.


**Icons:**<<BR>>
The Icons used by Kleopatra have been updated to their current look in KDE 4.10.3.

Challenges:
 * Packaging only the subset of Icons used by kleopatra out of the approx. 1200 Icons contained in the KDE icon set.


**Kdelibs / Kdepimlibs:**<<BR>>
The KDE libraries have been updated to Version 4.10.3, providing Kleopatra
with an updated and maintainable base. This is a dependency for many of
the improvements and bugfixes (like using Kleopatra with a non-latin locale)
in the course of this project.

Challenges:
 * Identifying the parts actually used by kleopatra and reducing the packaging to those parts.
 * Checking for gpg4win specific changes and ensuring that they were also contained in KDE 4.10.3.

**Kleopatra:**<<BR>>
A new development branch for Kleopatra has been created that is based on
on KDE 4.10.3. Changes made to Kleopatra for previous versions of
Gpg4Win have been merged into this branch and into the mainstream development
branch of KDE. This makes Kleopatra much more maintainable as the difference
between the Kleopatra version used and developed by the KDE community and the
Version contained in Gpg4Win could be reduced to a minimum.

    Challenges:
        - Checking for gpg4win specific changes and ensuring that they were
          also contained in KDE 4.10.2, forwardporting old changes.
        - A regression in the smart card communication code causing kleopatra
          GUI to become frozen.
        - Building and installing the Kleopatra documentation so that it can be
          opened in a browser.



== 3. Kleopatra bug reports ==

We checked all open Kleopatra bug reports in bugs.kde.org.
Here is an overview of all 132 visited issues (without state 'resolved|verified|closed'):

https://bugs.kde.org/buglist.cgi?query_format=advanced&list_id=642325&bug_status=UNCONFIRMED&bug_status=CONFIRMED&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=NEEDSINFO&product=kleopatra

Use https://bugs.kde.org/show_bug.cgi?id=NUMBER to open an issue with a given number.

 * 39 issues which need more work (assigned to Intevation):
    170803
    175980
    642325
    179788
    179789
    183806
    176152
    258490
    259238
    246991
    273439
    282718
    294615
    300959
    280087
    303790
    303991
    308235
    287145
    312940
    314341
    316353
    309461
    294124
    176219
    267808
    211246
    175013
    192059
    209768
    219923
    173377
    172718
    166732
    206686
    257086
    319281
    175593
    176072
  
 * 19 issues which need more info (assigned to reporter):
    193664
    213313
    270149
    298103
    300290
    225587
    308234
    304103
    310491
    313608
    315816
    316582
    268630
    244681
    248910
    308096
    308157
    308307
    308504
  
 * 12 issues which are feature request (nobody assigned):
    179790
    181460
    192911
    194602
    202195
    215032
    258489
    279224
    307963
    317019
    223731
    175586
  
 * 43 issues which are resolved (closed):
    201764 
    205987
    201769
    240033
    246628
    272424
    203132
    196216
    233764
    262918
    266354
    177766
    180565
    294107
    295563
    190639
    258691
    263238
    262864
    297023
    192104
    265363
    229078
    202192
    251220
    186001
    217334
    108206
    313313
    262338
    289007
    269258
    184049
    311684
  
 * 19 issues which are invalid (closed)
    156954
    290362
    297034
    267374
    275127
    311725
    277018
    317359
    218699
    174445
    257417
    255311
    247778
    204812
    226983
    274124
    311384
    315645
    234136


In Ggp4win's bug tracker there were 8 Kleopatra related issues which
we checked and answered.

https://wald.intevation.org/tracker/?atid=126&group_id=11&func=browse

 * 7 issues which needs more tests (assigned to reporter):
    1099 
    1220
    2563
    2566
    2628
    3234
    6423
  
 * 1 issue which is invalid (closed):
    6632