libmprivacy (1.0.57+aatgv4) unstable; urgency=low

  * git d27e23c6b7ef590663c4552f3e53225e7144b4ea
    tgpro_environment.c: use very old unused code.
  * git cf641665d16436db3a78fec42cfee3556440918a
    tgpro_environment:
    get_url_whitelist_path_startpath,
    get_url_whitelist_path_viewer_config_dir,
    get_url_whitelist_path_user and
    get_url_whitelist_path_system
    all return a char* instead of a const char*, which was
    actually a masked allocated char*. Like this, the caller will
    be responsible for freeing them.
    Much better memory allocation too: handle possible issues while
    allocating memory.
    Also use a new construct_path helper function to make it more
    readable.
    I know, I'm breaking the API. Sorry if I caused you trouble!
  * git 198af351b856fb29e92ce018915536b5aeac7519
    tgpro_environment.c: Refactor whitelist path functions to reduce redundancy
    Introduce helper function `try_get_whitelist_path` to handle common
    logic for checking the existence of the primary and fallback
    whitelist files. Allowing to remove quite a bit of redundant code.
  * git b478721830f599ba7f7d57907fdd3bc5a004650b
    tgpro_environment: make get_url_whitelist_path_user linux-compatible
    (use $HOME as "appdata").

 -- Juan Garcia <jua@m-privacy.de>  Tue, 17 Dec 2024 13:09:00 +0100

libmprivacy (1.0.57+aaxmp3) unstable; urgency=low

  * git 7c91feefa79fd8ceace885fec4a52e0fe38f5627
    BUG 0006965: tg-Gruppe für mail (Thunderbird) - tgmailicon
    activedirectory-dev.h: add tgmailicon to regex and to list of
    tg group CN's.

 -- Juan Garcia <jua@m-privacy.de>  Fri, 01 Oct 2024 14:27:00 +0100

libmprivacy (1.0.57+aaxmp2) unstable; urgency=low

  * git 3f35a51c60b2d8fb19ec0467a1886d5dadeeb429
    tgpro_environment: expose the following funtions:
    const char* get_url_whitelist_path_system();
    const char* get_url_whitelist_path_user();
    const char* get_url_whitelist_path_startpath();
    const char* get_url_whitelist_path_viewer_config_dir(const char* viewer_config_dir);
  * git bdf6cca979b39647470ddc6b3246a68583b9e9d9
    activedirectory-dev.h: add missing #include <ctype.h>

 -- Amon Ott <ao@m-privacy.de>  Wed, 25 Sep 2024 09:36:00 +0200

libmprivacy (1.0.57+aaxmp1) unstable; urgency=low

  * Rebuild with GCC 14

 -- Amon Ott <ao@m-privacy.de>  Wed, 28 Aug 2024 10:26:00 +0200

libmprivacy (1.0.57+aavmp18) unstable; urgency=low

  * git 6dc10f154d22971aac685fdd790aed7caaa16877
    AD-OpenLPAP: return MP_LDAP_EMPTY_RESPONSE_ERROR from
    get_tg_groups_from_openldap_new if the response was completely empty.
    Correctly interpret the return value too: unset TGGROUPS to
    make sure it's not "empty" for password and certificate users
    (who are not in the LDAP server).
  * git 3ca8d5b67bdc0d2e4fe64a671e768b25032f28d9
    AD-OpenLDAP: Change a generic MP_LDAP_ERROR to MP_LDAP_NO_GROUPS_ERROR
    in get_tg_groups_from_openldap_new. Also log the results if they're
    MP_LDAP_QUERY_EXEC_ERROR and MP_LDAP_NO_GROUPS_ERROR (just for clarity).
  * git 7fbed21d2048604edca55b1461e3ea0f7a0dc677
    AD-OpenLDAP: log if unable to get 'dn' for user in perform_ldap_search.
  * git f4e8f53a3d3ca5734a98f7cdfe45480af9b09040
    activedirectory-dev: print some logs directly as syslog.

 -- Juan Garcia <jua@m-privacy.de>  Thu, 08 Aug 2024 12:42:00 +0200

libmprivacy (1.0.57+aavmp17) unstable; urgency=low

  * git f76fd0c665652d48548992e8bb1e60f96b14047b
    mp_utils.c: check for allocation failure.
  * git 9086085502c7c3d9bb508aa154e2a4916037ece8
    BUG 0006876: Viewer - autotransfer (ggf auch OPSWAT etc) Fehler mit zu langen Namen (oder Umlauten)
    mp_utils.c: use CP_ACP (system default Windows ANSI code page)
    in utf8_char_to_wchar_t() to transform to wchar_t (which works
    better than UTF8 because Windows is veery special).
    Like this _wrename (in mp_move) works correctly for filenames
    with non-ASCII characters.
    Of course, this could actually break stuff too that used to work.
    We'll see.
  * git 7bbd7d92ae40923229ec4be6c419125bb1381554
    BUG 0006776: libmprivacy: Rückgabe Typ von get_user_name zu const char* ändern
    tgpro_environment: change return get_user_name's type to const char*
    to avoid use-after-free situations (the compiler already complains
    like this).
  * git 2d968dda3bd04715ffcc621bf56ae700ad0b84e1
    BUG 0006900: Viewer: Send-To-TG-Pro-Verknüpfung beim Start erstellen (inkl. configdir-Option)
    BUG 0006901: Schleuse: Send-To-TG-Pro-Verknüpfung beim Start erstellen (inkl. configdir-Option)
    Add int create_send_to_shortcut(const char* config_dir, const char* description)
    function that creates an lnk file in shell:sendto for the current
    user. We still need to call this function.
  * git 757d49abdeaca443b40f8c3b343f6d6660ad31da
    BUG 0006900: Viewer: Send-To-TG-Pro-Verknüpfung beim Start erstellen (inkl. configdir-Option)
    BUG 0006901: Schleuse: Send-To-TG-Pro-Verknüpfung beim Start erstellen (inkl. configdir-Option)
    tgpro_environment: check whether config_dir is an empty string
    after checking it's not null.
  * git cefb10b09af268eff769abb00b813d9a9c04a517
    BUG 0006900: Viewer: Send-To-TG-Pro-Verknüpfung beim Start erstellen (inkl. configdir-Option)
    BUG 0006901: Schleuse: Send-To-TG-Pro-Verknüpfung beim Start erstellen (inkl. configdir-Option)
    tgpro_environment.c: add get_absolute_path function and use it
    to calculate config_dir's absolute path while creating a send-to
    shortcut.
  * git 692203d9814ba4ce2ea660366db496cb414a4c79
    BUG 0006958: AD: Weder VNC- noch SSH-Server können die TG-Gruppen der "Domänen Benutzer" auslesen
    activedirectory-dev: use correct filter to search for the primary
    group's dn (bug introduced in aeae52e5).

 -- Juan Garcia <jua@m-privacy.de>  Tue, 09 Jul 2024 12:57:00 +0200

libmprivacy (1.0.57+aavmp16) unstable; urgency=low

  * git 9069f695b2297c53b1e3aec6c5b0cfa4bb9e857b
    BUG 0006704: Schleuse LDAP und AD-PW - "Debug"-Meldung im auth.log
    Show some debug log messages only in VNC or SSH server and not
    in auth.log or syslog (use mplog_debug and not mplog_syslog_debug).

 -- Juan Garcia <jua@m-privacy.de>  Wed, 08 May 2024 12:57:00 +0200

libmprivacy (1.0.57+aavmp15) unstable; urgency=low

  * git d8b79f52e8a7a97994502ea892aff68e6df2f15e
    Revert "Avoid ambiguity with if clause."
    Sorry, I'd just been working on this at the same time and
    it's more difficult to merge than to just revert these
    two commits.
    This reverts commit a89f0dd150b4317ee281b6fc898bb2c425ec20e5.
  * git d2ac081898e32ad7b5f324561136617a925d294c
    Revert "activedirectory-dev.h: avoid NULL pointer in mplog_debug("%s")"
    Sorry, I'd just been working on this at the same time and
    it's more difficult to merge than to just revert these
    two commits.
    This reverts commit 393ef546c53a8d4c952e65b0cf59ee804e290472.
  * git 285aca946f69d928a3fd9c3f93fd765ab83684a1
    active-directory.h (cppcheck): check whether ldap_base is not set
    after trying to set it (avoid potentiall null pointer dereference).
  * git 7e489a964cc6f6df060bf454af26895a5ae473a0
    active-directory.h (cppcheck): initialize no_of_ldap_servers to 0
    to avoid potential problems with the uninitialized variable.
  * git 6f31d10e7fd204e31eeaf0e91e59da52bbe60677
    active-directory.dev (cppcheck): do a lot of null-checking and return
    errors if anything fails in get_tg_groups_from_openldap.
  * git 1546289e28e67488f91a1659a081b230bb18f6dd
    activedirectory-dev.h (cppcheck): fix a bunch of wrong formattings
    (invalidPrintfArgType_uint).
  * git ceb202e5ba059cab6349a8863f47a4b0f1db84e7
    activedirectory-dev.h: Use BUFFER_SIZE everywhere where 4096
    was hard-coded.
  * git 79865f44f612db911eea26841c67be63135b8dde
    activedirectory-dev.h (cppcheck): avoid usergroups null dereferencing
    in case of an error.
  * git 43ed3d4f6a54918c81d6e303fbe035e58b225344
    active-directory.h (cppcheck): avoid null dereferencing with ldap_auto.
  * git fa9aa416b36e36edb4886d01311154e88c30b50b
    active-directory.h (cppcheck): do a lot of null-checking and return
    errors if anything fails in get_ldap_base_from_openldap.
  * git 7fbac690f8ad35d032476c40b0308f672f24887d
    active-directory.h: run all ldapsearches with -LLL to reduce the size of the ldap responses.
  * git 1b764e07b0a35400b1a98938a94e9fdd92015a25
    active-directory.h: remove all ifdefs and add a global
    '#if !defined(WIN32) && !defined(__APPLE__)' for the whole file
    (we just needed for the vncserver and for sshserver).
  * git 66784720b6b5df8abd78e3f98c4ec481e5e4b709
    BUG 0006878: Schleuse/Senden an kommt mit zu vielen AD-Gruppen nicht klar
    activedirectory-dev.h: Add reallocate_buffer function that
    reallocates the response_buf used to store reponses from ldap
    server. In multiples of BUFFER_SIZE (4096).
    Calling it from all "get_tg_groups" functions to store
    the responses from the ldapsearches, which were causing
    problems.
    Don't cut response_buf at BUFFER_SIZE - 1 but at response_size - 1
    (the reallocationss would've been completely useless).
  * git 929d72b329c25bab006d1d8eb5369fd374b4ee27
    active-directory.h (cppcheck): reduce scope of a bunch of
    'bytes_read' variables.
  * git aeae52e5bace9df5284478fce4e34191009ed991
    active-directory.h (cppcheck): don't shadow static object_sid_filter
    variable.
  * git 6d90c55b59e0ca6498619fb5462d6ac0232eed99
    BUG 0006878: Schleuse/Senden an kommt mit zu vielen AD-Gruppen nicht klar
    active-directory.h: allocate only necessary memory in ldap_search
    (for primary and normal groups - normal search - just the sum of
    both arrays).
    Change signatures to of functions that look for ldap groups from
    (...) char (*usergroups_ptr)[TGGROUPS_BUF_SIZE])) to
    char** usergroups_ptr, size_t* usergroups_size_ptr)
    So that they can call realloc_buffer if necessary too.
    Everywhere where something like char* usergroups = *usergroups_ptr
    don't do it anymore and write directly into (*usergroups_ptr) instead.
    TODO: get_tg_groups_from_openldap missing. I haven't changed this
    code yet as the function it being called from the vnc server and
    ssh server and I don't want to break the API.
  * git 6536df4241c580dd620881397a3f8b3eaf9c23ac
    BUG 0006878: Schleuse/Senden an kommt mit zu vielen AD-Gruppen nicht klar
    activedirectory-dev.h:
    Add get_tg_groups_from_openldap_new(const char* username, char** usergroups_ptr, size_t* usergroups_size_ptr)
    function. And use it too. There's only one call in activedirectory.
    There are other two calls from the VNC server and the SSH server.
  * git 7bc407f04b57c032b8e77620a213fc7a9789f3d5
    active-directory.h: remove 'forceably' re#defining mplog_syslog...
    1b764e07b0a35400b1a98938a94e9fdd92015a25 introduced this bug
    while trying to get rid of all ifdef's. This should've gone too.
  * git 24cf06c15e5905d409b982347769ec30665da0c1
    BUG 0006890: AD-OpenLDAP benutzt fälschlicherweise LDAPs LDAPCHECKTGGROUPS-Variable
    activedirectory-dev: Always set TGGROUPS env variable if AD-OpenLDAP
    instead of reading LDAPCHECKTGGROUPS which is only for LDAP.
    It doesn't make sense to not look for groups with AD-OpenLDAP.

 -- Juan Garcia <jua@m-privacy.de>  Mon, 06 May 2024 10:52:00 +0200

libmprivacy (1.0.57+aavmp14) unstable; urgency=low

  * git 393ef546c53a8d4c952e65b0cf59ee804e290472
    activedirectory-dev.h: avoid NULL pointer in mplog_debug("%s")
  * git a89f0dd150b4317ee281b6fc898bb2c425ec20e5
    Avoid ambiguity with if clause.

 -- Amon Ott <ao@m-privacy.de>  Fri, 19 Apr 2024 10:22:00 +0200

libmprivacy (1.0.57+aavmp13) unstable; urgency=low

  * git 7cd832fd3f7c989cd2be7e182a7c0a6085dc691d
    tgpro_environment: Add count_processes_for_user(const char* processname, const char* username).
  * git 4261a54d9e4e102d2f9123586ae2dbddd9792382
    BUT 0006845: Schleuse: Fragt nach Bestätigung des Hostkeys nochmals
    Use hostkey=* in WinSCP calls from winscp_start.
  * git cca52332b4ce26d45589a8d85d9f56ecf4a9ae0f
    Revert "BUT 0006845: Schleuse: Fragt nach Bestätigung des Hostkeys nochmals"
    This reverts commit 4261a54d9e4e102d2f9123586ae2dbddd9792382.
    It was showing a very honest but horrible warning talking about
    the host keys.
  * git 731283791ea32bd01f98fca6e2412833c5224073
    BUG 0006845: Schleuse: Fragt nach Bestätigung des Hostkeys nochmals""
    Use hostkey=acceptnew in WinSCP calls from winscp_start.
  * git 0aa513400da807089f08cf681276646dea8ce22d
    active-directory.h: fix syslog line that said that it wasn't using
    a kerberos ticket when it actually wasn't using an LDAP server.
  * git 4f51da321a5fb3a570f17b859c224f6209632a52
    BUG 0006870: TG-Gruppe tgbebpoicon wird bei einem AD-Benutzer nicht mit eingelesen
    activedirectory-dev.h: add tgbebpoicon to regex and do list of
    tg group CN's so that it doesn't get filtered out while reading
    the list of groups.

 -- Juan Garcia <jua@m-privacy.de>  Tue, 17 Apr 2024 10:39:00 +0200

libmprivacy (1.0.57+aavmp12) unstable; urgency=low

  * git 5351a249853a1cb6271288d245dee9ed939e46fe
    Makefile: update optimization flags
  * git 2fee261fca5981fbd983bc001c57f5140beb991e
    Makefile: do not use -ffat-lto-objects
  * git 53fd8850699b0a07c2182b37010052d96c042937
    Makefile: always install into $(DESTDIR)/usr/$(TARGET)/
  * git d8253324be3e5564209ed23f162b8dec7d53b65f
    BUG 0006541: Schleuse: die Funktione is_cluster_nodes_available hat Probleme mit nicht aufzulösenden Namen
    Do some error handling that should work in the case of a
    non-resolvable host name.
  * git 724d14ec83417604fed8b29bb4cb5410dcfad532
    BUG 0006541: Schleuse: die Funktione is_cluster_nodes_available hat Probleme mit nicht aufzulösenden Namen
    Fix two stupid yet important errors in the new error handling code.
  * git 3f9095d3195479cb49fdf7a9179e07dc3201fb15
    BUG 0006541: Schleuse: die Funktione is_cluster_nodes_available hat Probleme mit nicht aufzulösenden Namen
    Call error_check directly from is_cluster_node_available. Like
    this, we have the reasons directly and don't need to return different
    ints and interpret them in the schleuse.
  * git fdc688ee2665dd433961856b1877bb2fd47f29f5
    BUG 0006839: LDAP-TG-Gruppen Anmeldung funktioniert, auch wenn ldapsearch fehlschlägt
    activedirectory-dev: Force TGGROUPS to empty for ldap login in
    get_tg_groups_and_set_env_if_necessary. Like this, TGGROUPS
    will also be empty if the ldapsearch completely fails (and not
    only if the search was okay, but returned no groups).
  * git 8e20ac1dc7b4941df9ad23789259b26bd3af49b0
    mp_utils: fix linux build (I had used some Windows API thingies
    while changing is_cluster_node_available). It's not my nicest fix,
    but it's working :)

 -- Juan Garcia <jua@m-privacy.de>  Tue, 05 Mar 2024 16:37:00 +0100

libmprivacy (1.0.57+aavmp11) unstable; urgency=low

  * git fd2ff2f7f46051245a305e694a0fd3dc29ca7975
    BUG 0006779: Viewer (alle) - warnen wenn mehrfach gestartet
    Fix linux also saying that a viewer was running when it wasn't
    the case. It was finding itself :) Compare pid with get_pid()
    and make sure it's not "ourselves" we are finding.

 -- Juan Garcia <jua@m-privacy.de>  Tue, 27 Feb 2024 11:35:00 +0100

libmprivacy (1.0.57+aavmp10) unstable; urgency=low

  * git 8c1dc23a3b090f617954b0c624396a3ec4b4d6fc
    tgpro_environment.c: get_user_name. 'Calculate' user every time,
    as I was having some veeery weird issues I wasn't able to pinpoint.
    Since this isn't computationally very expensive, it should be okay.
    Please remember to free it now after usage.
  * git 44c07a21e29a70fc751a4dcaf1b7adfb412f6fbe
    tgpro_environment.c: free usernames created with the new
    get_user_name() after use.
  * git 6dc10a7d2b4df320e1005ef46ffe1ad87ace31fb
    tgpro_environment.c: correct log statement that says that a process for the user was found.
  * git 069f859751354a5785d6cb040586b64d48ce4dbf
    tgpro_environment.c: correctly fail if the specified user for a process is not the same as the process' user.
  * git cd37e479a20fe99312361167a7aac9459a58e949
    I realized what the problem here was. It was actually a use-after-free
    issue. Reverting because we don't need to 'calculate' the user
    every time this function is called. We just can't free it, and
    if we want to, we can call exit_tgpro_environment.
    Revert "tgpro_environment.c: free usernames created with the new"
    This reverts commit 44c07a21e29a70fc751a4dcaf1b7adfb412f6fbe.
    Revert "tgpro_environment.c: get_user_name. 'Calculate' user every time,"
    This reverts commit 8c1dc23a3b090f617954b0c624396a3ec4b4d6fc.
  * git 5da10584a1d6fca0ca753f81a4ced6a7759d5542
    winscp_ini_handler: strdup get_user_name()'s return value after
    changing it so that we don't change the actual value of
    get_user_name, which is stored in tgpro_environment.
  * git 8ef9806caef7172ead2b3253af27e58156a03b26
    winscp_ini_handler.c: Add a reminder to for a tgpro_user_name NULL-check.
  * git ffdc71c45f065313093fccdcabe31a40980e8096
    tgpro_environment.c: get rid of all printfs to make sure we can
    communicate correctly (through stdout) with the magicurl Firefox
    add-on.
  * git 2bf8aef15e5db4a0b1a3c916a7743734db05538d
    mp_utils: add remove_quotes function.
  * git 33221847ea81dd34efb644a3edc33ccbfeeb4fb5
    tgpro_environment: add get_process_id_for_user for linux.

 -- Juan Garcia <jua@m-privacy.de>  Fri, 23 Feb 2024 12:45:00 +0100

libmprivacy (1.0.57+aavmp9) unstable; urgency=low

  * git 2ad000351723a55c1903767b7126fa1b56cee975
    BUG 0006754: Viewer (Windows): auch Pfad für veraltete 32-Bit-Version von Adobe hinzufügen
    Printing: also search for
    "C:\Program Files (x86)\Adobe\Acrobat Reader 2020\Reader\AcroRd32.exe"
    while trying to open the adobe print dialog, as some clients
    seem to want to use it :shrug:

 -- Juan Garcia <jua@m-privacy.de>  Tue, 06 Dec 2023 12:30:00 +0200

libmprivacy (1.0.57+aavmp8) unstable; urgency=low

  * git 947c857c9e233917efc0a15e309a21815add015c
    BUG 0006674: WAAS-Integration (config- und maint-Menü)
    Add tgvaithex to list of tg-groups.

 -- Juan Garcia <jua@m-privacy.de>  Mon, 30 Oct 2023 13:03:00 +0200

libmprivacy (1.0.57+aavmp7) unstable; urgency=low

  * git 31292ddc18de492c0d50a4ba40206c54f0b95fe7
    active-directory.h: define mplog_syslog_debug, mplog_syslog_error
    and mplog_syslog_info (for Windows force to printf to avoid build
    problems).
  * git 014a59fde3659ef639fe569f54b40f88ffb07064
    BUG 0006649: LDAP (PW) auch tg*-Gruppen ermöglichen
    BUG 0006641: Schleuse - KRB-PW holt AD-Gruppen nicht
    Create void get_tg_groups_and_set_env_if_necessary(const char* username)
    function that ldapsearches TGGROUPS (either in a Windows AD server
    or in an LDAP server) sets TGGROUPS env accordingly. It only does so
    if the config settings say that group authorization should apply.
    This can be called from pam.c (VNC) and auth-pam.c (SSH).
    This solves 6641 too: the code to look for tggroups was only added
    to the vnc server. Like this, it can easily be added to ssh too.

 -- Juan Garcia <jua@m-privacy.de>  Tue, 27 Sep 2023 12:07:00 +0200

libmprivacy (1.0.57+aavmp6) unstable; urgency=low

  * git f38600341740066dfdaf5132ece167fbacf281d4
    BUG 0005894: MagicURL: BOM überspringen für Windows-Text-Dateien
    Skip BOM in first line while reading whitelists if present.
  * git 825dfb6cd2fbd18c1416deb384199d56a3fb830e
    tgpro_environment: add get_current_session_id() function.
    Mostly in Windows, to distinguish between sessions. I think
    it's more irrelevant in Linux, so it just returns a zero.
  * git 89f14f8cc2fc692d4677ce7c362bf86c8622b66d
    BUG 0006638: AD: tg*-regex funktionieren auch bei tgtransferspool nicht
    active-directory.h: change order of regex in parse_usergroup
    function so that 'longer' matches are found first so that e.g.
    tgtransferauto doesn't match tgransfer first and gets truncated.
    Also add missing tgfiltergroup[0-9]* and tgadmin.*.

 -- Juan Garcia <jua@m-privacy.de>  Tue, 05 Sep 2023 15:12:00 +0200

libmprivacy (1.0.57+aavmp5) unstable; urgency=low

  * debian/rules: call "$(MAKE) clean" in "clean" target

  * git ff97129f44ea80e653c78bb3ca8d58790c54406b
    BUG 0006622: Auto-Transfer (vncviewer): Dateien die für Windows ungültige Zeichen erhalten, können nicht auto>
    Create char* replace_invalid_windows_path_chars(const char* input)
    function, which replaces <>:\"/\\|?* with its hexadecimal values.
    Similar to what WinSCP does.
    See: https://winscp.net/eng/docs/session_url#special

 -- Juan Garcia <jua@m-privacy.de>  Tue, 15 Aug 2023 10:15:00 +0200

libmprivacy (1.0.57+aavmp4) unstable; urgency=low

  * git 7f5327d42e95811fbd503151c1c9a45600d8b9f0
    active-directory.h: put tgtransferauto before tgtransferauto[0-9]
    in the regex, as it would transform tgtransferauto to tgtransfer if
    not, thinking auto is just a prefix.

 -- Juan Garcia <jua@m-privacy.de>  Fri, 11 Aug 2023 13:25:00 +0200

libmprivacy (1.0.57+aavmp3) unstable; urgency=low

  * debian/control: add libpcre2-dev dep (so that the 
    match function also works in linux)

  * git 147ac10633bbfc9f2976ccb79ed9a53390a97118
    Build match() for linux because libpcre2 is also available now
    for linux :)
  * git a48c9ff4388c46d91c06ef50d63635a406f6f774
    BUG 0006599: AD-tgGruppen (in diesem Fall AD-OpenLDAP) auch *tgGruppe* ermöglichen
    Add parse_usergroup function that uses regex to find specific tggroups.
    Call it while reading the memberOf lines. This allows them to have
    prefixes and suffixes.

 -- Juan Garcia <jua@m-privacy.de>  Thu, 10 Aug 2023 11:50:00 +0200

libmprivacy (1.0.57+aavmp2) unstable; urgency=low

  * git 91b54a9948c0f6095ab802ed2e12be1d0487249a
    BUG 0006609: sshd segfault bei zu vielen AD-tg-Gruppen
    Don't search for tg* as there could be a great number of groups.
    Look for groups with specific names, like tgprouser.
    Also, allow a suffixes and prefixes using (cn=*tgprouser*) in the
    ldap filter.
  * git d2ac6ba510ab3c4e0c19b35af705ad311702e1b8
    BUG 0006609: sshd segfault bei zu vielen AD-tg-Gruppen
    Put the | (or) in the correct place and also remove empty space at
    the end of filter so that the ldap call works correctly.

 -- Juan Garcia <jua@m-privacy.de>  Mon, 07 Aug 2023 12:36:00 +0200

libmprivacy (1.0.57+aavmp1) unstable; urgency=low

  * Rebuild with GCC 13
  * Makefile:
    - update CFLAGS and LDFLAGS

 -- Amon Ott <ao@m-privacy.de>  Thu, 06 Jul 2023 07:54:00 +0200

libmprivacy (1.0.57+aaump2) unstable; urgency=low

  * git acb870264ed300c39ff33f08f2dfdcdb4ba3b398
    Fix linux build problem (due to Windows API calls).
    Add #if defined(WIN32) to
    BOOL CALLBACK window_to_front_enum_windows_callback(HWND hwnd, LPARAM lParam)
    so that it doesn't linux builds.

 -- Juan Garcia <jua@m-privacy.de>  Fri, 05 May 2023 11:21:00 +0200

libmprivacy (1.0.57+aaump1) unstable; urgency=low

  * git 7694a51b9aa93d924d2e70be18ab3f5e9c037565
    AD-OpenLDAP: use a filter for the ldapsearch that works with either
    cn=username, uid=username or samaccountname=username.
  * git 58df353234edfe43e9b88630409a2b436190a1f9
    AD-OpenLDAP: auto LDAP base "auto" feature.
    If set to "auto" in the config menu, it'll run the new
    get_ldap_base_from_openldap that runs an ldapsearch
    that tries to figure out the ldap base.
  * git e00ad7e49a7654a56dd0527537069ccf6491b25f
    tgpro_environment.c: change bring_window_to_front to use
    process id instead of handle (hwnd) and remove a couple of functions
    specific for viewer.
    This uses EnumWindows in a more elegant manner and avoids a hack that
    has been here since the beginning of (libmprivacy's) time.
    This commit breaks stuff in the API. Check clients for correct
    building and functioning.
  * git 5fec15e0a7eed818dd71e993be1267079aaa6f96
    tgpro_environment:
    launch_program (API breaking change! At least MagicUrl is going to break!):
    Remove window_name param (always set to SW_SHOWDEFAULT - don't see
    a reason not to do this). Also, add bring_to_front param
    and use it instead of window_name to bring_window_to_front
    when requested.
  * git 87475fd2e735cfc6dc158bb05ad216f40994cfa9
    launch_program: fix print_pdf function so that it calls the new
    launch_program.
  * git d4251679d02419317fc420caeeae76be1142060b
    tgpro_environment.h: fix whitespacing
  * git b2c41f3354c7728ef8a7c406d34545abaca56163
    tgpro_environment: add adobe_print_pdf that opens Adobe Acrobar
    Reader's print dialog.
  * git e735c6a3fb1720098a33d5eec62fd9d871b7e9b3
    tgpro_environment: launch_program: as more or less expected,
    turns out I did break stuff. But didn't realise until I built the
    viewer, which started showing a pulseaudio window (so we do need
    to set the showWindow to 0). Also for ffmpeg. This actually breaks
    the API again, but separates the show_window and the bring_to_front.
    I see that they could be the same, as they're always called together
    but I like the separation. And I'd broken stuff anyway.
    So this commit re-adds a param (this time a boolean), called
    show_window.
  * git dbed76afc52896abbfc8f02b8c934e0b30f3605e
    BUG 0006505: Drucken auf Adobe Drucker
    Don't show Window while starting Acrobat.exe. It still opens but
    doesn't show a weird AcrobatWnd... running in the background.

 -- Amon Ott <ao@m-privacy.de>  Fri, 05 May 2023 11:04:00 +0200

libmprivacy (1.0.56+aaump1) unstable; urgency=low

  * git 7b2f053b2f5b91afb4155fb192985b5b5ae45e3e
    Change some logs to debug. Like this the user comparison function for vncviewer.exe is easier to debug.
  * git 37993fbe73f982387d349295477d2c61eaabe918
    Add a more general get_skel_value function that reads values
    from /etc/cu/skel and use it from is_check_ad_tg_groups().
  * git b7516486f1822a7d7ed4ae6193e211c8eb661f80
    AD-OpenLDAP
    Create a get_tg_groups_from_openldap function that runs an ldapsearch
    on an OpenLDAP server which can be configured in the config menu.
    It uses username (called bind dn) and password instead of
    keytab or TGT.
    Also add an is_ad_openldap function which checks whether AUTHMETHOD
    is set to AD-OpenLDAP.

 -- Juan Garcia <jua@m-privacy.de>  Wed, 15 Mar 2023 16:07:00 +0100

libmprivacy (1.0.55+aaump1) unstable; urgency=low

  * Bump version so we can build for Viewer
  * debian/rules:
    - export DEB_CFLAGS_MAINT_APPEND += -march=x86-64-v2 -mtune=generic -flto=16 -ffat-lto-objects
    - export DEB_CXXFLAGS_MAINT_APPEND += -march=x86-64-v2 -mtune=generic -flto=16 -ffat-lto-objects
    - export DEB_LDFLAGS_MAINT_APPEND += -march=x86-64-v2 -mtune=generic -flto=16 -ffat-lto-objects

 -- Amon Ott <ao@m-privacy.de>  Tue, 07 Mar 2023 15:02:00 +0100

libmprivacy (1.0.55) unstable; urgency=low

  * git 767363a7f9aa9ab681e78e1b9ab85d64a8101159
    BUG 0006460: MagicURL öffnet ein weiteres VNC-Fenster
    strdup so that memory gets allocated for user and domain while
    trying to figure these out for a Windows process.
    The whole get_username_and_domain_from_process should be revised,
    and very probably re-written but these strdup's are going to have
    to do the trick for now.

 -- Juan Garcia <jua@m-privacy.de>  Thu, 16 Feb 2023 14:47:00 +0100

libmprivacy (1.0.54) unstable; urgency=low

  * git b3245eb8788f6c9824f5f3836d2552fe92509519
    Add some (probably) relevant details to a couple of 'log_warn'
    messages.
  * git 959e6e57d965dd26956f67cc30e410cb8910cc94
    tgpro_environment.c: add get_schleuse_exe_path function.
  * git b0179c32aa4351dc1b5d707a31400a8cd87e4dca
    tgpro_environment.c:
    - Add log_tgpro_environment(): logs the version of vncviewer.exe,
      Browserchoice.exe, Schleuse.exe and WinSCP.exe.
    - Add log_version(const char* path_to_exe): logs the version of
      a given path. Used by log_tgpro_environment().
  * git 6b29f6d8f0c9253bf0878691f5d1bbc6f6f86d70
    Fix build error: '%s' directive argument is null [-Werror=format-overflow=]
    Check if domain or realm are null before using them in an mp_debug()
    format. Print 'NULL' instead of their "value" if they are.

 -- Juan Garcia <jua@m-privacy.de>  Wed, 18 Jan 2023 13:47:00 +0100

libmprivacy (1.0.53) unstable; urgency=low

  * git 9e189ddfd2b06a200403efbfef72c1b2d8fd7d98
    BUG 0006310: AD-Anmeldung für Proxy funzt nicht
    active-directory.h: convert portable_(un)setenv to "normal"
    (un)setenv because we know it's available in our system (only the
    TG-Pro server uses this code).
    Note: not unsetting KRB5CCNAME correctly was the reason why the
    proxy authentication with active directoriy was not working.

 -- Juan Garcia <jua@m-privacy.de>  Tue, 11 Oct 2022 00:09:00 +0200

libmprivacy (1.0.52) unstable; urgency=low

  * Rebuild with GCC 12 for LTO 12.0

 -- Amon Ott <ao@m-privacy.de>  Fri, 17 Jun 2022 10:19:00 +0200

libmprivacy (1.0.51) unstable; urgency=low

  * Rebuild with latest GCC 11 for LTO 11.3

 -- Amon Ott <ao@m-privacy.de>  Tue, 31 May 2022 13:57:00 +0200

libmprivacy (1.0.50) unstable; urgency=low

  * Rebuild with latest GCC 11

 -- Amon Ott <ao@m-privacy.de>  Fri, 11 Feb 2022 09:15:00 +0100

libmprivacy (1.0.49) unstable; urgency=low

  * git 212b1c22abfacd4b344afeab83618e9190dc5f48
    Completely rename move() and copy() to mp_move() and mp_copy().
  * git 43c1c4227f6b881884f10c4b050929287e1cf0f7
    tgpro_environment.c: use mp_move()

 -- Amon Ott <ao@m-privacy.de>  Tue, 19 Oct 2021 12:44:00 +0200

libmprivacy (1.0.48) unstable; urgency=low

  * git 982228b0a52c4db27c14c446ef94182cf0e4e337
    mp_utils.h: provide mp_move and mp_copy alias inlines to avoid name conflicts
  * git 33e766fe8a919c69fd16bcf0513d19e195156126
    mp_utils.h: add missing void

 -- Amon Ott <ao@m-privacy.de>  Tue, 19 Oct 2021 11:30:00 +0200

libmprivacy (1.0.47) unstable; urgency=low

  * Rebuild with latest GCC 11

 -- Amon Ott <ao@m-privacy.de>  Fri, 01 Oct 2021 09:32:00 +0200

libmprivacy (1.0.46) unstable; urgency=low

  * git 6dc0a0dd1f1fb018767350516f7ce0634c6f87bb
    Add missing include of minwindef.h in win_registry_utils.h

 -- Amon Ott <ao@m-privacy.de>  Wed, 01 Sep 2021 11:28:00 +0200

libmprivacy (1.0.45) unstable; urgency=low

  * Build with GCC 11

 -- Amon Ott <ao@m-privacy.de>  Tue, 15 Jun 2021 12:46:00 +0200

libmprivacy (1.0.44) unstable; urgency=low

  * local git 0155602c8ba4dc77dc15da85c90546bb80ab9832
    Add LTO flags.
  * git 04fb83f6c0ac8a634fa8656daa7dc19b7f6ffb2c
    mp_utils: do not use sendfile(), if file size > 0x7ffff000, use read/write.

 -- Amon Ott <ao@m-privacy.de>  Thu, 10 Jun 2021 13:59:00 +0200

libmprivacy (1.0.43) unstable; urgency=low

  * git 533d5715d0e4c9f1dd396cda4cfb9551f1b4def3
    active-directory.h: add some logging while getting the user's AD
    displayName.
  * git c968659b6f1201007aa54ea5afe611513b1f2700
    active-directory.h: fix wrong variable name while logging.
  * git 3dce6dc2419c9662751efef2e14eb6e789f0df64
    BUG 0006039: Passwort-Anmeldung geht nicht zusammen mit AD
    active-directory.h: super ugly work-around to use instead of
    'strcasestr'.
    For some obscure reason, strcasestr doesn't work on some cases.
    With exactly the same code.
    So this is a horrible implementation that's probably much slower
    than the actual one.
    We might be able to go back to strcasestr. some day.

 -- Juan Garcia <jua@m-privacy.de>  Fri, 04 Jun 2021 12:33:00 +0200

libmprivacy (1.0.42) unstable; urgency=low

  * git 66ac903fac13524cb59d5d8882cece0fa15c01c4
    BUG 0005970: Schleuse - Falsche Fehlermeldung, wenn Zugriffsprobleme
    Show error dialogs when opening the transfer.ini file with read or
    write access fails instead of silently swallowing the error.
  * git d4f7a5db104bef873f8ea5638c25be5b274468f6
    Fix some copy-paste errors because the machine refuses to
    understand what I meant and fails to build the lib correctly :)
  * git d22b19fcdb3448e95cecd74c675618d15a0bc38f
    mp_utils: move #include <sys/sendfile.h> to the non-windows part.
  * git eabc0bb0ff04c27872a70b6e7c38879d7fdbdbcb
    BUG 0005956: Schleuse: Der Benutzer muss die Bestätigung des Host-Keys akzeptieren
    Fix reading of host key fingerprint during creationg of transfer.ini.
    Due to a changed string in WinSCP, we were failing to parse the
    WinSCP.com output.
  * git ea5cf4177b1b9386f36a68fa5689f84272ea70c3
    BUG 0005997: AD-SSO-AUTH - Klarnamen beim Anlegen eines Users aus AD übernehmen
    Perform an additional ldapsearch to find out user's displayName.
    This can then be used by prepareuser while creating a new user.

 -- Juan Garcia <jua@m-privacy.de>  Tue, 25 May 2021 14:47:00 +0200

libmprivacy (1.0.41) unstable; urgency=low

  * git 5724425a1eff62bfe2ca40291acfa3bb30a662c2
    active-directory.h: don't explicitely declare strcasestr any more
    (for linux at least) declare. string.h already declares it.

 -- Juan Garcia <jua@m-privacy.de>  Wed, 31 Mar 2021 09:12:00 +0100

libmprivacy (1.0.40) unstable; urgency=low

  * git b1e5edab54ccc2fd18cebfeb57b4ca11bcdcbe85
    move: fix error checking while moving. Check if errno is EXDEV
    instead of rename's return value.
  * git 8e3abd82637c1ca296007e8df41e6ab9dae76add
    Fix linux compile due to typo: errorno -> errno

 -- Juan Garcia <jua@m-privacy.de>  Tue, 09 Mar 2021 09:27:00 +0100

libmprivacy (1.0.39) unstable; urgency=low

  * git 320634641e11480840b0985fb2995d59acc58cd0
    tgpro_environment.c: honor 'working_dir' param in 'launch_program'
    function. It was just being ignored and get_tgpro_path() was being
    used instead.
    WARNING: Only PulseAudio was started with an actual working_dir
    (which was being ignored). This will hopefully not break it but
    please take it into account.
  * git 52215371348cc560de1b5925130d5942c8dfc975
    tgpro_environment.c: add get_tgselector_path().
  * git d164fb64c819feeca628d697b3828815e7a85bab
    Don't use (obsolete) TGPRO_INSTALLPATH environment variable while
    looking for our binary files.
  * git 05f926dff8e39aa5f3304874c780c5243f8ee3e0
    Partially revert d164fb64c819feeca628d697b3828815e7a85bab.
    Remove some url->match code that was just as a dev test there.
  * git f71328da1cd5a2ba4c89cf5ee6dbda6784994d30
    Add https://github.com/rxi/log.c/ as log-c git submodule.
  * git 57fc7754733f1269ab7928c20b6e36287104270a
    log-c: ln -s log/src/log* to root dir to make it "easier" to #include.
  * git 66327038f176c99aa68ebe0b4cc711ab6749e0de
    log-c git submodule: add commit to #ifdef for Windos newlines (if
    not logs are one-lined in below-average text editors, like notepad).
  * git 1d343cf2690b4aeab8658af5607427af756d2da5
    log-c: Use new logs in *.c. Most log lines set as trace.
  * git 1411836624b09a7a0bbe41e5fd5a288bf87750bf
    log-c: Makefile: add log.h and log.c.
  * git 045782450f6b02dce2f8cdf8011a1aa7933ca1c4
    Revert "log-c: ln -s log/src/log* to root dir to make it "easier" to #include."
    This reverts commit 57fc7754733f1269ab7928c20b6e36287104270a.
  * git 9d42d0f7cfc451e3938f103fa3a3a947485852a8
    Revert "log-c git submodule: add commit to #ifdef for Windos newlines (if"
    This reverts commit 66327038f176c99aa68ebe0b4cc711ab6749e0de.
  * git cb346ab13d078f537ccb7b5bed28fd125179afc9
    Revert "Add https://github.com/rxi/log.c/ as log-c git submodule."
    This reverts commit f71328da1cd5a2ba4c89cf5ee6dbda6784994d30.
  * git 94fbff9b0cd0fae347304c2a082cb3d68ba02c8c
    log-c: add log.c and log.h (just copied) from
    commit f9ea34994bd58ed342d2245cd4110bb5c6790153
    from upstream: https://github.com/rxi/log.c
    Note: this is to avoid the git submodule problem with
    our own commits. Because they're just two files.
    In the future, it would be nicer to have log.c and log.h
    in their own package with a patch.
  * git 81a55d6085b568b0ecf985dbc28d4c1476e14c1e
    log.c: add commit to #ifdef for Windos newlines (if not, logs are
    one-lined in below-average text editors, like notepad). This is
    actually ours and different from upstream.
  * git 7a966d8c640649aeaefe56c0305c5f8e97c6f888
    log.c: move last log file to log.old (overwriting it if it exists).
    Like this, we'll have the current and the last log. Which is how
    the viewer does it too.
  * git f1646a791c888dc1cfd38461d0ad697819aa253e
    Fix Linux gcc compile problem: use 15 byte copy size for a strncpy
    into a 16 byte buffer.
  * git 9798682b920033c2a3390a0c654bd1c716068646
    Add copy function for linux and windows (only tested linux).
  * git ebc3b422562ec1a0f3f2316a5338ea5165aeba1c
    move: copy file to destination and delete original file if an EXDEV error occurs.
  * git 6db7814587435e093d49b2d4f47d89f834e90da1
    Fix linux build errors: missing errno include and copy call missing
    overwrite parameter.

 -- Juan Garcia <jua@m-privacy.de>  Fri, 05 Mar 2021 14:11:00 +0100

libmprivacy (1.0.38) unstable; urgency=low

  * git 0884279856215e04ca4bc355def7458b10ed6011
    Declare strcasestr() for non-Windows correctly, fix some small other bugs.

 -- Amon Ott <ao@m-privacy.de>  Fri, 23 Oct 2020 10:00:00 +0200

libmprivacy (1.0.37) unstable; urgency=low

  * git dd670e74ac03bba1d0acebb3b2555483b2ebc60d
    mp_utils: Benutzer-Home -> Benutzer-Verzeichnis

 -- Amon Ott <ao@m-privacy.de>  Fri, 28 Aug 2020 12:16:00 +0200

libmprivacy (1.0.36) unstable; urgency=low

  * git 4d7e5c32ed2572fe62d8162a88085eaa2a628ff9
    mp_utils: add prepareuser_error() to get human readable errors

 -- Amon Ott <ao@m-privacy.de>  Fri, 28 Aug 2020 10:54:00 +0200

libmprivacy (1.0.35) unstable; urgency=low

  * git e0b9f1557c04b0e6ed9b5701e0a5112e47791793
    activedirectory-dev.h: only declare strcasestr() for Windows

 -- Amon Ott <ao@m-privacy.de>  Mon, 20 Jul 2020 09:47:00 +0200

libmprivacy (1.0.34) unstable; urgency=low

  * git 74963006b7b211b07a14bf50970bd0b70aed30d5
    activedirectory-dev.h: fix strcasestr declaration for new glibc

 -- Amon Ott <ao@m-privacy.de>  Fri, 17 Jul 2020 12:47:00 +0200

libmprivacy (1.0.33) unstable; urgency=low

  * git 0768dc3dbaf044ebad6e5070cd2599116274ded7
    activedirectory-dev.h: only set TGGROUPS to "empty", if user found in AD.

 -- Amon Ott <ao@m-privacy.de>  Thu, 25 Jun 2020 14:37:00 +0200

libmprivacy (1.0.32) unstable; urgency=low

  * git d5d5064a4663fb57cd1506b141ca3767c230d434
    activedirectory-dev.h: explicitely set TGGROUPS to "empty", if no results.

 -- Amon Ott <ao@m-privacy.de>  Thu, 25 Jun 2020 13:04:00 +0200

libmprivacy (1.0.31) unstable; urgency=low

  * git e7ca30c408e3c8060dda737cd692dfd64da193fe
    activedirectory-dev.h: add missing includes, use malloc for string allocs
    Needed to reduce stack usage for use in C for pam.c. Do small cleanups on the fly.

 -- Amon Ott <ao@m-privacy.de>  Mon, 22 Jun 2020 12:35:00 +0200

libmprivacy (1.0.30) unstable; urgency=low

  * git 606e9e4fa6a432d4576f0008296b4a0b9ea81466
    get_domain(): if realm is NULL, return first domain.
  * 008e926d16274f39c0c89abe6d09cf75f8bb7ad3
    get_domain(): access domain part correctly with helper pointer

 -- Amon Ott <ao@m-privacy.de>  Wed, 17 Jun 2020 15:38:00 +0200

libmprivacy (1.0.29) unstable; urgency=low

  * git b385ed52d3b6061b3cc90baf19f09edbb55cf3c5
    BUG 0005656: Schleuse - configdir funzt nicht, wen ein = hinter configdir verwendet wird
    Change regex so that it accepts an '=' after -configdir.
  * git ef3aecb8c4cec8fa423daf8893093818560b69e5
    tgpro_environment: Fix windows build (build symlink_exists function
    only for linux).
  * git c9d4cbc7a0b43eadec71ca7a6d551a7c8c0cf33b
    BUG 0005665: AD: Vereinfachung der config-Einstellungen (Manuell soll weg)
    activedirectory-dev.h: Add is_check_ad_groups() function that
    reads ADCHECKTGGROUPS from /etc/cu/skel to skip (or not) the
    TG AD groups ldap searches.

 -- Juan Garcia <jua@m-privacy.de>  Mon, 23 Mar 2020 15:59:00 +0100

libmprivacy (1.0.28) unstable; urgency=low

  * git 37cb36c809c7af07ecc22a3b39c2ef6523688ce8
    Active Directory: add 'get_service_principal_name' function that
    reads CU_ACTIVEDIRECTORY_SERVICE_PRINCIPAL_NAME from
    /etc/cu/discovered-active-directory-gcs-and-dcs
    if the discover script set it correctly.
  * git 53d8cd196f20b22374d0bfdf334ed449aa3bcbc8
    Active Directory: fix segfault in 'get_service_principal_name'.

 -- Juan Garcia <jua@m-privacy.de>  Thu, 12 Mar 2020 16:20:00 +0100

libmprivacy (1.0.27) unstable; urgency=low

  * git 96cd513b5311e19d6cafda13d82e4e3a02a07235
    Active Directory: force GSSAPI mech for all ldapsearch calls with '-Y GSSAPI'.

 -- Amon Ott <ao@m-privacy.de>  Fri, 21 Feb 2020 09:49:00 +0100

libmprivacy (1.0.26) unstable; urgency=low

  * git cce1d9d78380b3b23ba18a1e964067cddc38bde1
    BUG 0005466: Schleuse funktioniert nicht ohne %appdata%\vnc
    Add create_parent_dir_if_necessary(transfer_ini_path) and call
    it lazily (just at the beginning of set_winscp_ini_value) so
    that we don't create the vnc folder unwillingly on some errors.
  * git 21d75de30c2aab57bc0f7c732fa85fcf88b8a74a
    tgpro_environment: add dir_exists function.
    winscp_ini_handler: check transfer_ini_dir existence before
    creating it.
  * git 3caf881d8ba0c3b18785398ab77241e40b3bc9c3
    winscp_ini_handler.c: Fix creation of dir for transfer.ini.
  * git 9ba4fb5b6182eaa51f9edf944491dfb332fcd14c
    BUG 0005549: Schleuse - configdir testet trotzdem %appdate% und tgp-Programmpfad
    BUG 0005548: Schleuse - falsche Annahme, wenn kein Host gefunden wird
    mp_utils: add hostname as parameter for is_cluster_available function.
    Like this, we avoid searching in the wrong places for a hostname
    (letting the calling function search in the wrong places :) ).
  * git dd0bfd8ccf0f6e9abbe24bedb79356650fe4b400
    BUG 0005488: Schleuse - configdir wird ignoriert bei AD-SSO-Benutzer
    Also add '/newinstance' to WinSCP call if we didn't manage to
    winscp_get_host_fingerprint too.
  * git 7d2f3a03baa2ebf2555d7a5552b4250324d5aa2c
    tgpro_environment.c: add symlink_exists function
  * git 07cbc1c350b9c3465c1ceea6e775271b31341b9a
    Fix linux build issues.

 -- Juan Garcia <jua@m-privacy.de>  Mon, 03 Feb 2020 09:29:00 +0100

libmprivacy (1.0.25) unstable; urgency=low

  * git 5213ddf921e51fe45df4a4a9b35676552eff5d32
    Makefile: add -lws2_32 for the windows socket (get_host_name).
  * git 81cf2abb3018b9b78445790371a3f859653f35e0
    Create dirs under Linux with mode 0700, not 0600.
  * git bba54b741e1aaa05d4eb2c7592c49d24e04e750b
    mp_utils: Fix linux build. Include headers for linux for new
    'get_host_by_name' and 'is_cluster_node_available' functions.
  * git bb77477769a37eb97d5425bc16ae019cc45769d6
    BUG 0005426: MagicURL: '#' wird für URLs kodiert. Es sollte einfach durchgereicht werden.
    tgpro_environment: Add '#' as exception to url_semi_encode for
    magicurl.
  * git f1dc72be801710cd460927a1815858338a3311c2
    tgpro_environment.c: Remove some obsolete long not used code.
  * git c01b8d1f53af55ad60d9086265f0e50e87d3b12a
    BUG 0005496: MagicURL: Whitelist für Remote-Links erweitern
    - mp_utils.c:
      Add get_field function to read lines as CSV's (used to read
      the url list lines for now).
    - tgpro_environment.c:
      Add parse_line function that can interpret lines
      like these:
       - *duckduckgo.com*|remote|firefox|cool-profile (NEW):
         https://duckduckgo.com would open in tgpro's 'cool-profile' if
         it exists.
       - *.example.home*|local (NEW)
         https://local-service.example.home would open with the local
         browser.
      And it would continue to work with these (old-school way)
       - *.example.home*:
         https://local-service.example.home would open with the local
         browser.
      FYI: it returns NULL if nothing was found or a malloc'ed
      struct match_url* if a line matched the given url.
      "is_in_whitelist" functions return a new struct match_url* that
      contains the parsed line.
      Add '|' to list of unescaped chars so that it is sent correctly to
      the server (the server expects a message like profile|url).
  * git 9155dccc3a7fc38589e90394da859dec192d11c5
    BUG 0005562: MagicURL - mängelmelder.de funzt nicht
    Add convert_utf16_wchar_to_utf8_char function (only for Windows).
  * git 766873009eb2ac7690ddd22a0766fe2a7589bc7c
    BUG 0005374: Benutzeranmeldung: Erste LDAP Anfrage scheint immer einen Fehler zu liefern!
    Store ldapsearch errors in a list and show them only
    if *none* of the queries worked. That is, if the user could
    not log in (either vnc or ssh).

 -- Juan Garcia <jua@m-privacy.de> Mon, 20 Jan 2020 09:52:00 +0100

libmprivacy (1.0.24) unstable; urgency=low

  * git b200ad3f340fcee919ce9acb4259558f89be6db0
    BUG 0005337: MagicURL: Links können nicht geöffnet werden, wenn ein anderer vncviewer.exe läuft
    Look for 'ProductName' in window title too to make sure the
    window belongs to a TightGate-Viewer, and continue looking for a
    process / window if not.
  * git 9e82557fc0ec369776eb4b1bdacc58311d026d25
    BUG 0005408: evtl weiteres Problem mit Sonderzeichen in einem Link
    Add '%' to the magic url decoding exceptions list.
  * git 7a880f182a40aed125f1d7ef986c79ce479acd19
    mp_utils: Add 'get_host_by_name' and 'is_cluster_node_available'
    functions.
  * git 5213ddf921e51fe45df4a4a9b35676552eff5d32
    Makefile: add -lws2_32 for the windows socket (get_host_name).
  * git 81cf2abb3018b9b78445790371a3f859653f35e0
    Create dirs under Linux with mode 0700, not 0600.
  * git bba54b741e1aaa05d4eb2c7592c49d24e04e750b
    mp_utils: Fix linux build. Include headers for linux for new
    'get_host_by_name' and 'is_cluster_node_available' functions.

 -- Juan Garcia <jua@m-privacy.de> Fri, 12 Apr 2019 10:01:00 +0200

libmprivacy (1.0.23) unstable; urgency=low

  * git 1a3abf4dac2b672a1a9511b9473d44b1bd58b8f5
    BUG 0004714: AD-Anmeldung: Primäre Gruppen auslesen.
    activedirectory-dev.h: explicitely memset some more arrays to 0
    because of a weird base64 conversion. Hopefully it will also
    help solve #4714.
  * git c97da69145c3e4806050019d56c7e7ae20fd2cc8
    tgpro_environment: Add some more characters as exception to
    url_semi_encode for magicurl.

 -- Juan Garcia <jua@m-privacy.de>  Wed, 16 Jan 2019 17:20:00 +0100

libmprivacy (1.0.22) unstable; urgency=low

  * git 5bdc3a8a8bb683182e404afa67d991bebe599a9e
    mime.h: check for error after reading file with glib.

 -- Juan Garcia <jua@m-privacy.de>  Wed, 09 Jan 2019 14:16:00 +0100

libmprivacy (1.0.21) unstable; urgency=low

  * git 1cd0ef834ed1cfacadc96f89d92445b43978df66
    BUG 0004714: AD-Anmeldung: Primäre Gruppen auslesen.
    memset buffer to 0, where the base64 decoded string will be stored.
    If we are very lucky, this might solve:
    http://mantis.m-privacy.home/view.php?id=4714#c9390
  * git c3828bde1be807b17c076f82de4a92cfb8aa2c03
    activedirectory-dev.h: Add some verbose logging that will hopefully
    help clarify BUG 4714.
    More spefically this:
    http://mantis.m-privacy.home/view.php?id=4714#c9390

 -- Juan Garcia <jua@m-privacy.de>  Thu, 03 Jan 2019 14:16:00 +0100

libmprivacy (1.0.20) unstable; urgency=low

  * git fbbd08ac1b53161432330093695c3ad67de432d8
    tgpro_environment.c: Add url_semi_encode function.
    'Semi' because it doesn't encode some chars that would be encoded
    so that firefox understands them correctly:
    Do not encode: '/', ':', '?' and '='.
  * git dcbc06ec9904a2968679af7596def9b06ff1f698
    tgpro_environment.c: url_semi_encode function requires a const char*.
  * git f8dbf3ed8145823f3631aaca4ffc07c72a5a5716
    BUG 0005312: MagicURL (3.0.2) wandelt scheinbar &-Zeichen
    Do not encode '&' before sending to tgpro.
    Probably introduced by: BUG 0005282: MagicURL kann URLS mit
    "üblichen" Sonderzeichnen nicht aufmachen.
  * git eed6884f86501a63c86bbe4481b359ce0acff1fb
    active-directory.h: add comment to ldap_search_get_tg_groups_unoptimized
    function explaining how it was done before the huge refactor.
  * git bac9c02b1d05de49edeb3ed9ab7053c2e1553c02
    BUG 0005316: config: LDAP-Erkennung Manuell liest Gruppe unter TGPROUSER nicht aus!
    active-directory.h: use member:1.2.840.113556.1.4.1941 filter to
    read users from subgroups in unoptimized search (not including
    primary group).

 -- Juan Garcia <jua@m-privacy.de>  Wed, 02 Jab 2019 12:39:00 +0100

libmprivacy (1.0.19) unstable; urgency=low

  * git 0c02cf4420e462eaee7e57e8f3dc0c4ffbdd65bf
    mpfile.c: Add special case inode/x-empty for empty file.
    glib returns text/plain but we need inode/x-empty for
    backwards-compatibility and special case inode/symlink.

 -- Juan Garcia <jua@m-privacy.de>  Wed, 21 Nov 2018 10:22:00 +0100

libmprivacy (1.0.18) unstable; urgency=low

  * git 355bf02db0df00273b8682cab38e2c2a1f01f094
    tgpro_environment.c: Fix small typo in log lines.
  * git 0596f36076921bcace71947de2078d88473f20f0
    tgpro_environment.c:
    Add get_appdata_path_with_create_vnc_subdir(int create_vnc_subdir)
    function so that we don't always need to create a vnc subdir.
    get_appdata_path will still create a vnc subdir for historical
    reasons. This means I don't really know exactly when the vnc
    subfolder should be created and prefer to leave the current
    implementation and use the new one - with optional creation of
    vnc subdir - for the cases where I am sure that we specifically
    *don't* need the vnc subfolder.
    Call it when only file_existence is checked, i.e. don't create
    vnc subdir if just checking if %appdata%/vnc exists.
  * git 01c50a1aeaf1c79f9494f65f9215c10bcdb91131
    tgpro_environment: Refactor:
    get_appdata_with_create_vnc_subdir(int create_vnc_subdir)
        -> get_appdata(int create_vnc_subdir)
  * git e25ef7477f9d7f1ef0946ed4f7843090ab265345
    BUG 0005264: Schleuse - startet nicht, wenn configdir mit  angegeben wird
    Fix free: Use temporary char* to remove double quotes from previously
    malloc'ed "configdir" so that we can free it properly after use.
  * git 7e7f756abf0eaf0bfc906fa3ae78cfea92606379
    BUG 0004987: HF - Mimetyperkennung
    Add mime.h which (for now) only contains a new get_mime_type_glib
    used to get the mime type using glib.
    The idea is to use this from the sftp-server (and autotransfer)
    to compare it to the current libmagic value. If they are different,
    show a warning and use the new glib value.
  * git 1a438881991cb0655b5e23b56e11df85bdee1e58
    BUG 0004987: HF - Mimetyperkennung
    Add mime.h to headers so that it gets copied to /usr/$(TARGET)/include.
  * git dd71fd71579430003a3d157a28b53b627bb22c3c
    mime.h: make pickier C++ compiler happy casting 0 to GFileQueryInfoFlags

 -- Juan Garcia <jua@m-privacy.de>  Fri, 16 Nov 2018 18:30:00 +0100

libmprivacy (1.0.17) unstable; urgency=low

  * git 4c318c8e41400e2a82f45636d7d98ea1e367fe47
    active-directory.h: warn in comment that the optimized ldap search
    might not work with DC's.
  * git 51c66ddbcc2b7c2e73a6d4dea1912cc457ae7e4e
    tgpro_environment: Add
    - get_viewer_log_file_path,
    - get_viewer_trace_file_path and
    - get_viewer_instream_trace_file_path
    - get_viewer_outstream_trace_file_path
    functions.
  * git adeb31c432b2a7de96d7ebadbc98797bc35e9a84
    BUG 0005179: Schleuse: Benutzename und Password Anmeldung einbauen
    - winscp_connector: do not try to reconnect if key has changed.
      Like this, it doesn't take forever to read the server key.
    - tgpro_environment.c add uses_plain_authentication function
  * git 22b93cd40da1ffe923a9395af1623a2f2bfef23d
    activedirectory-dev.h: use ldap base again for all ldapsearches.
    If the ldap base is correctly generated, it is much more reliable
    We also don't need the port numbers like this, which we still use,
    but which we will probably be able to ignore/avoid in the future.
  * git 8fb01c1040754a0e4fcc10a20b3e7e3f09d60316
    activedirectory-dev.h: if 'auto' or 'realm' generate ldap base
    based on main domain and not user domain.
    Beware, the main domain might not always be reliable
    (see /usr/local/bin/discover-active-directory-gcs-and-dcs).
    This will hopefully fix the login problems with the newest code
    at our office and implement (or fix) following bugs:
    BUG 0005166: AD-Anmeldung für Unterdomäne funktioniert mit 'auto' LDAP base nicht
    BUG 0004714: AD-Anmeldung: Primäre Gruppen auslesen.
  * git c16e7d2ead8cb94450a3a54779d37bd9c5f0dbef
    activedirectory-dev.h: use 'optimized' search for manual too.
    Because of the new auto generation for ldap base, and the fact
    that we use the ldap base all the time now, we can use the same call
    for 'manual'.
  * git 7b1d7a00a1062590568e7ad2925fe216315498ed
    winscp_ini_handler.c: Change strncpy to memcpy because the
    compiler was whining about a lentgh issue.
  * git 5a79039c19d6b71e6f299a20355822084a34535f
    Revert "activedirectory-dev.h: use 'optimized' search for manual too."
    This reverts commit c16e7d2ead8cb94450a3a54779d37bd9c5f0dbef.

 -- Juan Garcia <jua@m-privacy.de>  Wed, 26 Sep 2018 18:26:00 +0200

libmprivacy (1.0.16) unstable; urgency=low

  * git 9138a5eacc385627cc88a65e38f14d7ae680c1ba
    active-directory.h: yet another refactor: add filter param to
    ldap_search_simple_attr.
    This makes the function more flexible and will allow us to use it
    to read some object properties that we need to read the user's
    primary groups.
  * git bea55de02d41444bb31a3d1147ad80c1c47b6dc4
    BUG 0004714: AD-Anmeldung: Primäre Gruppen auslesen
    Get tg-groups the user's primary group belongs to.
    Basically implemented as follows:
    The basic question is: is the user's primary group member of our
    tg-groups?
    This question is not answered with the query we have done until now.
    We can try and get the answer to this using the following work-around:
    We need to get the groups that the primary group is a member of.
    The only reference we have to the user's primary group is its
    primaryGroupId (the default value for "Domain Users" is 513).
    Unfortunately, we can't query the ldap server using the primary group
    id as a parameter. We need to somehow get the primary group's dn. Once
    we have the dn (e.g. CN=Domänen-Benutzer,CN=Users,DC=M-PRIVACY,DC=DEV),
    we can query for groups as we would do for a normal user.
    If we had the objectSid of the primary group, we could do something like:
    /usr/bin/ldapsearch -H '%s' -b '%s' -Omaxssf=%u -oldif-wrap=no \"(objectSid=S-1-5-21-3573158993-1889095830-1552970993-513)\" dn
    Fortunately (I am not sure this is always the case), the objectSid only
    differs from the one of the current user in the number after the last
    dash.
    So we could get the get objectSid for user
    (e.g. S-1-5-21-3573158993-1889095830-1552970993-6784637242) and replace
    the number after the last dash with the primary group, resulting in a
    (hopefully valid) objectSid for the primary group
    (e.g. S-1-5-21-3573158993-1889095830-1552970993-513).
    This should actually work.
    There is another small difficulty in this work-around. The ldap server
    stores object sid's in a binary format and returns them encoded in
    base64 but we can only query using the string so we have to transform
    the bytes to strings:
    - See following java example:
      https://gist.github.com/miromannino/04be6a64ea0b5f4d4254bb321e09d628
    - More about the SID structure: https://technet.microsoft.com/en-us/library/cc962011.aspx
      This bash script is also very interesting: https://bgstack15.wordpress.com/2018/02/26/get-sid-from-linux-ldapsearch-in-active-directory/
  * git 7a0a1ade36b48000f27aab9d59ea658a864b9edb
    active-directory.h: Fix segmentation fault while reading the
    generated ldap server list. All list elements are initialized to NULL,
    so just check if it is NULL before trying to use it. If last element
    is reached, do not try to read a next one.
  * git b85bff1585501677597396666ba97ad334e49bf7
    active-directory.h: logging: change a log line to verbose and
    add function name to some other log lines.

 -- Juan Garcia <jua@m-privacy.de>  Tue, 31 Jul 2018 10:53:00 +0200

libmprivacy (1.0.15) unstable; urgency=low

  * git 09004300d916014901c7dee516946470ac86f1d0
    activedirectory-dev.h: add base64_decode_no_alloc: base64 decode
    and escape_distinguished_names_special_chars_no_alloc
    functions that don't implicitely allocate memory.
  * git 5a8c56d86556c94b87dcee04215fe9005a424814
    activedirectory-dev.h: add trim_str function: removes all preceding
    and trailing whitespace chars (including new lines) from given string.
  * git fd704c2af5f56e9906504a1d59b3c08f0d709ada
    active-directory.h: refactor!
    Basically, there are two ldap
    queries: One to get the user dn using the 'ldap_login' and one
    to get the tggroups using the user dn.
    Move code to get a 'simple attribute' like a dn for a user account to
    a new function called ldap_search_simple_attr.
    Also move code to get the tggroups for a specific user dn to a new
    function called ldap_search_get_tg_groups.
    Call these functions from perform_ldap_search.
    Both functions are very similar so it could be abstracted a little
    more but I am leaving it like this for the time being.
    This refactor is in preparation of the 'read primary groups'
    feature.
  * git e7a8dc47950fd173b4b9122a4273c072298f0202
    active-directory.h: Add 'decode_base64' boolean parameter to
    ldap_search_simpl_attr function.
  * git f701bb3118170e16891dc4bc8e965e274efe6153
    active-directory.h: ldap_search_simpl_attr make sure result is NULL terminated
  * git fcac7c6a8072d24776dc1cb4feb2f2381c122e66
    BUG 0005166: AD-Anmeldung für Untedomäne funktioniert mit 'auto' LDAP base nicht
    active-directory.h:
    * autodiscovery 'auto' and 'realm'. Remove ldap base from the
      ldapsearch: like this, the result includes groups in the main
      domain for users in the subdomain too.
    * autodiscovery 'manual'. Use unoptimized query for 'manual'. It is
      not exactly the old implementation. We just query the samaccount
      for memberOf which gives us *all* the groups the user belongs to.
      Caution: This makes it extremely slow for users the belong to lots
      of groups.

 -- Juan Garcia <jua@m-privacy.de>  Tue, 24 Jul 2018 17:16:00 +0200

libmprivacy (1.0.14) unstable; urgency=low

  * git a8286e0ec65a1a6708a4da5bc74f8e262753a960
    Add mp_simple_list very simple iterable list for strings (char*).
  * git 0784c34e4174cc828c6b89882da7c5fb294327e5
    Fix simple_list_is_empty function (it was returning the opposite)

 -- Juan Garcia <jua@m-privacy.de>  Thu, 12 Jul 2018 14:41:00 +0200

libmprivacy (1.0.13) unstable; urgency=low

  * git e37b8a99383523729f5bcdc87d0031c04bba98e8
    Active Directory: escape ldap search filter correctly.
    DN with commas in them weren't being correctly used to query
    group membership.
    See: https://docs.microsoft.com/de-de/windows/desktop/ADSI/search-filter-syntax#special-characters

 -- Juan Garcia <jua@m-privacy.de>  Thu, 27 Jun 2018 15:03:00 +0200

libmprivacy (1.0.12) unstable; urgency=low

  * git 7466d06b8c007792cabf8df90bbe889fc636d2cf
    BUG 0005114: LDAP-Antwort optimieren (für "manuell")
    Add ldap_base to auto/realm ldap query because we still have it
    available.
    Use this same ldap query as for 'manual' which also works.
    Note: ldap_base could be avoided if we always dns names and not IP
    addresses.
    We use IP addresses for 'manual', so we need the ldap_base.
    The idea behind removing the ldap_base was being able to completely
    remove it from the settings. Since it didn't work for manual (while
    optimising the query) we kept it but stopped using it for auto and
    realm.

 -- Juan Garcia <jua@m-privacy.de>  Thu, 21 Jun 2018 12:17:00 +0200

libmprivacy (1.0.11) unstable; urgency=low

  * git 0c10d471795f5c85c27d3182cf416d6a06fd3e93
    WIP: read primary group for user
    I can probably read it while reading the dn using the samaccount to
    do one ldap query less.
  * git 0ed2a3b98d86ad04e728c6218a4fa0cf99fa1cb5
    BUG 0005124: Schleuse 1.5.5 bzw neues WinSCP braucht sehr lange für erste Verbindung
    Fix parsing of WinSCP output after failure due to missing host
    fingerprint. It has changed with WinSCP 5.12 (it returns SHA-256 and
    MD5 insted of only MD5).
  * git 9ed9ecffe3df26e6f895a212bcd2f1b4fdaab156
    BUG 0005124: Schleuse 1.5.5 bzw neues WinSCP braucht sehr lange für erste Verbindung
    Use dot instead of \r\n to find end of host fingerprint.
  * git 91e41f0b378d9ec3a40f4c5f158939b4edab79ac
    BUG 0005124: Schleuse 1.5.5 bzw neues WinSCP braucht sehr lange für erste Verbindung
    Okay, so it's Friday evening and my brain isn't working. Add -1 to
    calculate a string length so that it works as it should.
  * git 31893ceee946b42e6f82825b393e7d8a4502fbc4
    BUG 0005124: Schleuse 1.5.5 bzw neues WinSCP braucht sehr lange für erste Verbindung
    Revert adding of -1 to calculate a string length so that it
    works as it should, now.
    Add a log that shows the key we have parsed from the winscp output.
  * git 77b61c1657c89c8fd7dfa0af3232fa90720936de
    Revert "WIP: read primary group for user"
    This reverts commit 0c10d471795f5c85c27d3182cf416d6a06fd3e93.
  * git cdc080e3384f0cc86b137c588d5363df786285f6
    winscp_connector: fix log typo
  * git 7c52e8154e71eb315d19d1a42517170dfb55f9c7
    Add sha256_hash_file (only for linux).
  * git 6589ed68ceed4aea4deab66819ff0d7e801a07c6
    Revert "Add sha256_hash_file (only for linux)."
    This reverts commit 7c52e8154e71eb315d19d1a42517170dfb55f9c7.

 -- Juan Garcia <jua@m-privacy.de>  Tue, 19 Jun 2018 10:32:00 +0200

libmprivacy (1.0.10) unstable; urgency=low

  * git 9f35ecd5c79349f83e01b151b3ca87c38bcd1d21
    tgpro_environment.h: include necessary headers so that it can be
    included in any order itself.
  * git 8af5ae060f8f07906df5b780d29ce8a1a31172dd
    BUG 0004555: LDAP-Antwort optimieren
    Active Directory: optimise LDAP query: only query tg* groups.
    We were querying using a member filter and an sAMAccountName filter.
    Because it was an 'or' query, both were giving us the results.
    So we were receiving *all* the groups the user belonged to twice
    (not always, that's just the worst-case scenario).
    Remove the sAMAccountName query because it cannot be filtered using
    a wildcard.
    Only use the member filter and read the results slightly differently.
    Do not use ldap_base anymore (let it be default, which seams to work
    flawlessly).
    Actually, we should remove everything that has to do with ldap_base
    at some point because we don't need it.
    Log LDAP response (which should now be short) to be able to debug
    (very probable) future problems because of this more easily.
  * git 3ec0a6fa1d86154d9c4bdf6d862171b1f7aaad96
    Fix linux build
  * git 7c4af10575c909cd37d9c38755fe25c5c0a90e9a
    BUG 0004555: LDAP-Antwort optimieren
    Active Directory: incredibly ugly hack. Somehow the code from
    the previous commit isn't working for manual. It isn't able
    to find the user's groups. This hack uses the old way of querying
    if the ldap server is set to 'manual' (actually if it doesn't see
    any port in the uri) and the new way if it set to 'auto' or 'realm'.

 -- Juan Garcia <jua@m-privacy.de>  Fri, 01 Jun 2018 13:52:00 +0200

libmprivacy (1.0.9) unstable; urgency=low

  * git 6606df3f3b3525c54adc694edcada315b85bcf58
    Active Directory: Huge refactor: move lots of stuff from vnc and
    ssh to activedirectory-dev.h in libmprivacy. Deduplicate *lots*
    of code.
    This is a point in history were a lot can go wrong!
  * git ea389794bc81decb4cf5838aa0087136d3d4d2a6
    BUG 0005078: AD: Realms statt LDAP Servers wenn nicht auto
    Dynamically create ldap_server_list with a max capacity of 160.
  * git 2263179a53e4035148e412c6dc9e24acf932e114
    Refactor (activedirectory-dev.h):
    Create add_servers_that_match_domain_to_list subfunction to simplify
    and shorten gen_ldap_server_list.
  * git 992c37033c387949850d1fd8146c703d36ad9291
    BUG 0005078: AD: Realms statt LDAP Servers wenn nicht auto
    Active Directory (activedirectory-dev.h): Add ldap_auto parameter
    to check_ldap_config_values and perform_ldap_searches.
  * git ed0d35a9e4b263962e080b4e162162d2c4767dc8
    BUG0005083: AD: Groß- und Kleinschreibung bei DNS-Domäne ignorieren
    activedirectory-dev: use strcasecmp instead of strcmp while
    comparing the current domain to the discovered ldap servers because
    Windows never cared about case, but mostly because our active
    directory logging wouldn't work.
  * git 323fd03a52259ce35de4d4a54e33edb3181d184a
    BUG 0005078: AD: Realms statt LDAP Servers wenn nicht auto
    Active Directory (activedirectory-dev.h): use new naming scheme
    for ldap_auto methods:
    'yes' -> 'auto'
    'no' -> 'realm'

 -- Juan Garcia <jua@m-privacy.de>  Thu, 12 Apr 2018 11:38:00 +0100

libmprivacy (1.0.8+28) unstable; urgency=low

  * git b0ebe0c491ff18c447449e32b194a8c9e2d00db8
    Rename function with reserved name  delete->delete_file

 -- Juan Garcia <jua@m-privacy.de>  Wed, 31 Jan 2018 18:54:00 +0100

libmprivacy (1.0.8+27) unstable; urgency=low

  * git 899d62f7aae2bb60de2f4c5027e795a95e7665f1
    Add wchar_t* utf8_char_to_wchar_t(const char* string) function
    to use with 'width character' Windows functions (especially for
    non-ASCII characters).
  * git 8b223d02e8756eaee0fa9f1d89ee6b8c5aaff2d2
    Fix win build error: include <windows.h> if WIN32 or WIN64 defined.
  * git d061a10ca5f09953304362774e84869df1803909
    tgpro_environment: Adapt file_exists to make it compatible with
    Windows paths with non-ASCII characters.
  * git 977b5ae96d5a4807a45995ebd5d1080c02f337e1
    mp_utils: add a move function for Windows and Linux with the
    option to overwrite.
  * git 5afa30a51a04c055207d0d0812fad80ac5dc4a24
    Solve some linux build problems with new move function
  * git bafc46e659c1dacba1d31dc0651024c60e16fe85
    mp_utils: Add a delete function
  * git 81c4df7cda283e82ca7f0e2c3429f604d75a525e
    Fix yet another build problem because of my stupidity.

 -- Juan Garcia <jua@m-privacy.de>  Wed, 31 Jan 2018 18:09:00 +0100

libmprivacy (1.0.8+26) unstable; urgency=low

  * git faa2fd089fdec6eede66b1ef5b063b5e44f4674c
    Add get_winscp_prompt_status that checks the status of the current
    WinSCP instance and if there is an active session.
  * git 1740586272976ecfd46d44593e194b6a77270c9c
    Add get_winscp_prompt_status to header file so that we can call
    it from outside

 -- Juan Garcia <jua@m-privacy.de>  Fri, 24 Nov 2017 16:16:00 +0100

libmprivacy (1.0.8+25) unstable; urgency=low

  * git ff662aeee434b61a9f8c23cb97e59c3551af09cc
    BUG 0004674: MagicURL - MultiUser-/Citrix-Föhig machen
    get_process_id_for_user function: add some more logging to make
    debugging easier.
  * git b3136e476b4729ffe93b8b74deb6a91111a8bd8c
    BUG 0004674: MagicURL - MultiUser-/Citrix-Föhig machen
    get_process_id_for_user function: compare username correctly.
    Return true, if the process belongs to the user (and not the other
    way round).
    Stupid of me: When will I learn that strcmp returns the exact
    opposite of that which I'm willing to know?
  * git 774b726afb98093cfddca3530c055bf8c303034e
    activedirectory-dev.h: add missing mplog_error() parameters.
  * git 0f0044f237582546e9fed12bf1a9bf40df74f388
    Linux Makefile
  * git b0ceb57c7c53156bc175100c60b4ca5132eb8572
    Linux Makefile. Couldn't link with Viewer for linux because of a
    'relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object',
    whatever that means. The comiler recommended me to
    'recompile with -fPIC' which is exactly what I am doing.

 -- Monika <m.holbach@m-privacy.de>  Fri, 23 Jun 2017 12:15:00 +0100

libmprivacy (1.0.8-24) unstable; urgency=low

  * git 5aff76f742d350dbd0ad25917d68d3f29f214edf
    Method get_magicurl_socket_path changed so that it now deletes all
    existing sockets that do not have a corresponding Process and returns
    the .magicurl<pid> instead of .magicurl<user>.
  * git cf699b4a50ba677f16afca83546c234f232ec9da
    Magicurl: find -> ls to avoid errors when searching in /tmp.
  * git b1b603fcf0bdd178f1d86fac4f62f65ef64a467f
    Method to gat magicurl socket path for linux removed since it logically
    fits better into Magicurlhelper.

 -- Monika <m.holbach@m-privacy.de>  Fri, 13 Jan 2017 15:20:00 +0100

libmprivacy (1.0.8-23) unstable; urgency=low

  * git 97ff59415691b04352c61f24e4c0e365ae9656fe
    Randomstring method edited. Seed is now depending on memory adresses.

 -- Monika <m.holbach@m-privacy.de>  Tue, 21 Dec 2016 11:55:00 +0100

libmprivacy (1.0.8-22) unstable; urgency=low

  * git commit 6f155b06a2e0a3bb267105d1524c840c482a8b08
    BUG 0004715: Multi-AD: ldapsearch nur an DCs ausführen die den Globalen Katalog führen!

    Use my own get value from key=pair values. I do not understand why
    but the one from tgpro_environment just wasn't working...
    I *really* don't get it, but this one seems to work.

    This should make it work for the SSH server too. The viewer was
    actually working so I guess because of compiling for c++ or c
    there must have been some difference.

 -- Juan Garcia <j.garcia@m-privacy.de>  Tue, 20 Dec 2016 12:38:00 +0100

libmprivacy (1.0.8-21) unstable; urgency=low

  * git 439bc81f24afcd47ff0b0fef1bb478f8f66344c4
    activedirectory-dev.h: Add free_ldap_server_list to free the
    previously generated list. It still needs to be called.
  * git 3ab293fc2c2733f284dd4cedbedc9557da170815
    Add port which I had accidentally removed to list of ldap servers
    (this is very important to be able to distinguish between
    Global Catalogs and Domain Controllers).
  * git 873e68475502430f677cd5fd8339435193c6d56f
    activedirectory-dev.h: Use sprintf instead of a lot of strcat's
    for clarity (and some brevity) while creating the ldap server
    bind string.
  * git d16d467e493a83f890b198aad3e1fe19598b5c25
    Define LDAP_SERVER_BIND_STRING_MAX_LEN 77 and *check* if the
    ldap server bind string fits in the char[] before copying it!
    In case it does not, it will show a message with a good hint.
  * git 75627757e528145e38c14cf33a6ef03385325d15
    The previous commit was stupid. This one makes the logic of the
    length checking correct.

 -- Juan Garcia <j.garcia@m-privacy.de>  Fri, 16 Dec 2016 14:38:00 +0100

libmprivacy (1.0.8-20) unstable; urgency=low

  * git b636425607e00f42ebe697382c07d4b99d2c0c2d
    Check if /etc/cu/discovered-active-directory-gcs-and-dcs before
    trying to read it and return NULL if it doesn't.

 -- Juan Garcia <j.garcia@m-privacy.de>  Tue, 13 Dec 2016 10:52:00 +0100

libmprivacy (1.0.8-19) unstable; urgency=low

  * git 1646cb171aec95927bd081bb839cdeead215551b
    activedirectory-dev.h:
    gen_ldap_server_list(const char * domain): Automatically detect
    if the server uses SSL (port 636 or 3269) and change the
    beginning of the URI to ldaps://

 -- Juan Garcia <j.garcia@m-privacy.de>  Thu, 08 Dec 2016 15:27:00 +0100

libmprivacy (1.0.8-18) unstable; urgency=low

  * git ab6fb9d722f308c3e853e9c5a2953eba53e80ee1
    This is a first try to move the active directory code to
    libmprivacy.
    Add activedirectory-dev.h WITH CODE IN IT. For the moment, it
    just contains the gen_ldap_server_list(char* domain) function.
    I know, I shouldn't do this, but it is the 'nicest' way of using
    the active directory authentication code for the vnc and the ssh
    server.
  * git a729d6976124fdcd6739d70d16d81af0c4785cf5
    Add #include <tgpro_environment.h> to activedirectory-dev.h so
    that the files that include activedirectory-dev.h do not have to
    include the tgpro_environment.h explicitely.

 -- Juan Garcia <j.garcia@m-privacy.de>  Tue, 06 Dec 2016 13:19:00 +0100

libmprivacy (1.0.8-17) unstable; urgency=low

  * Change Linux Makefile (doing it like up until now)
    with an extra commit directly in the build directory!!!
  * git 2897faa2f0b278ca2d9b56743675677153dfa470
    Linux Makefile. Couldn't link with Viewer for linux because of a
    'relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object',
    whatever that means. The comiler recommended me to
    'recompile with -fPIC' which is exactly what I am doing.

 -- Juan Garcia <j.garcia@m-privacy.de>  Fri, 02 Dec 2016 16:05:00 +0100

libmprivacy (1.0.8-16) unstable; urgency=low

  * git 98aa64ca77a702e14c32e40ed2cbb874f69053c5
    Method added for getting MagicURL socket path on Linux.

 -- Monika <m.holbach@m-privacy.de>  Fri, 02 Dec 2016 15:20:00 +0100

libmprivacy (1.0.8-15) unstable; urgency=low

  * Build with a bunch of commits (mostly for Windows)
    Just so that the code is coherent.

  * git 26b16a6a459255b10a200d0c1737364ada40f0ca
    Surround a logic expression with parenthesis because the compiler
    was comlpaining about it:
    suggest parentheses around assignment used as truth value
  * git 9315cdf0de01a804102a2de4f84032853e973df4
    Add get_krb_hostname function to tgpro_environment.
  * git a5fa45c8c18054ed1dd188de4d768682db505b8d
    BUG 0004654: Schleuse kann sich nicht mit einem AD-Server authentifizieren wenn krbhostname != hostname
    Add LogicalHostName to transfer.ini when creating it for Active
    Directory configurations. (If no krbhostname is found in tgpro.cfg,
    the normal hostname will be used).
    Beware! This will only work from WinSCP 5.10 and onwards!
  * git d563913eccbff63e528826e78ec5fce1e71e1237
    Add a missing free(malloc'ed variable).
    Remove a free(non malloc'ed variable).
  * git 097ab33ddbcc71550bf61355e05050f49c861d9a
    Add get_tmp_magicurl_pipe_name_file_path function that returns the
    location where the name of the currently magicurl pipe (which will
    have a pseudo random name) can be stored.
  * git 1e0a571d49a1a260fc14a9c9448cf501b4f3dd0b
    Return something instead of always NULL in function
    get_tmp_magicurl_pipe_name_file_path().
  * git 135d5c48d52cf66d233f69ed787b777478c3134f
    Add function get_process_id_for_user(processname, username) that
    gets the process id of a process with the specified name that
    belongs to the specified user.
    There are two new helper functions (the ones that mostly call the
    windows API):
     - get_username_and_domain_from_process
     - and get_username_and_domain_from_token
    for which I was very greatly inspired by:
    https://stackoverflow.com/questions/2686096/c-get-username-from-process
    Thank you very much for that, dmihailescu!
  * git 065cebf0b8ec4dc7f41d79d5d91285725d12195b
    Old get_process_id calls the new get_process_id_for_user with a NULL
    to avoid having mostly duplicate code.
  * git cd5d63b2808bfb06426d054b9260f45b50bd3cdf
    Add forgotten declaration of
    get_process_id_for_user(const char* prog_name, const char* username)
    in tgpro_environment.h
  * git fbb9bfd06560c7e5f4f8d2708f7e29095c18f90a
    Fix get_process_if_for_user returning true if some process with
    the name was found without taking the username into account.
  * git 6492394270ad5dcaaeda594f3e6f7245cde2465c
    Add some Windows #ifdef's because the build for linux wasn't
    working. Ehem...

 -- Juan Garcia <j.garciah@m-privacy.de>  Fri, 02 Dec 2016 14:52:00 +0100

libmprivacy (1.0.8-14) unstable; urgency=low

  * git 2a7055e0125393a483305bb1ca336f6f67c98f36
    Add str_replace function to mp_utils

  * git 53573919b78c87cf88817a867e6e561ec4a5cfed
    Comment unused function in funcion (I think I could delete it,
    but just in case) which is causing build problems.

 -- Juan Garcia <jua@m-privacy.de>  Wed, 12 Oct 2016 16:54:00 +0200

libmprivacy (1.0.8-13) unstable; urgency=low

  * Build with a bunch of new features (mostly for windows) that
    avoid build problems!

  * git 72472935577bb5d182b0baec782aa4a234ab21f3
    Linux Makefile

  * git 57c47f5eb6db6727d03eaa2abb6551ff9006404d
    Yet another linux build fix

  * git 40abab471fff7c58d7007b52ef5b58f63f7d1496
    Yet more linux build fixes.

  * git 8ae00dd0ab862143caf8f972e63492cc634d155a
    Linux build. ifdef'ed a lot of windows-specific stuff.

  * git f0fac75fb1984b6b9088c6bb2d3f44da94b77eb6
    mp_utils: Initialise pseudo random number generator with srand
    before getting random values.

  * git a713fcc26e8d9a61c2ca4a23663bf7f3c96c90e6
    Add randomstring function to generate a random string
    (just numbers and letters)

  * git 3cc8013f729fed475b0dc67385f33d5767e99af5
    Add concat(s1, s2) to mp_utils to concatenate strings

  * git c78648189516c6f019d62757f38939f41edccde8
    Duh! Add declaration in tgpro_environment.h for the kill_process
    function

  * git 77a58764facc5887c6b5f3b9f62a6bb7c769e67d
    Add kill_process function for Windows

  * git c5eca1fba420cb212610bf5c975e575a31f66e2c
    BUG 0004488: MagicURL: Whitelist-Pfad konfigurierbar machen

    Although already 'solved', it wasn't working with Win UNC paths
    (\\Server\Share\shared_file).

    Stop removing the leading back slashes while checking if file
    existence in file_exists(char* filename) function.

  * git 6057a47acf9fba3cb583a43b52cf73bef1fcfb0e
    Add paramter 'viewer_config_dir' to function is_in_any_default_url_whitelist for magic Url too when run with -configdir so that it looks for a whitelist in the configdir too

  * git 078d55122b96a2d2b150701f5bc1d1326dc7f470
    Add is_in_any_default_url_whitelist(const char* url) function. It actually does the same as in the old is_in_url_whitelist but it can be distinguished better from is_in_specific_url_whitelist

  * git a56b619f2d68a693e3b23e0cf8d828ef3f2896f1
    Re-add look for url_whitelist.txt where Browserchoice.exe is. Do not create a file if it doesn't exist there

  * git 283199def5eb5aab5c9bea58bf0cd987e6d5f170
    Add is_in_specific_url_whitelist function

  * git 00c296ee2dd71e680e9c5c6e114b614e387fdf9a
    Add get_browserchoice_cfg_path. Returns the path to browserchoice.cfg
    where we just (might) have whitelist_path for the moment

  * git af13eba6cd772cad044e2e80b5ae5d4d9bd1daeb
    Add get_cfg_value_from_file(const char* key, const char* cfg_file) function
    for a generic config file. Actually, the old get_tgpro_value_from_cfg_file did
    exactly this, but since I will be using it for other files other than

  * git 23154f96d205ae04d1c56e91de6997a3822a0691
    Return 0 instead of NULL in an int function

  * git 893234ce8586b8c716d2dcc0b1a7679e96bf8c07
    Check if sectypes was set before continuing (causes crash if no tgpro.vnc or tgpro.cfg file is available)

  * git d0887562e0b0b1b34c32d9f868a6d5513b53a789
    Fix bug 'printft' to printf so that it compiles

  * git 460749fd77c79dc418a307135cbabcc1d9c6d3d3
    Change some logging and add logging for uses_sso_ad_auth function

  * git fd5658c95319943d6602f8714f9c22cc8b56df83
    Remove some verbose from get_tgpro_cfg_value function

  * git 2e1a925842b65b9efb00c98113da80120b494338
    BUG 0003671: Schleuse: Verbindung wenn nicht SSO.
    Use get_tgpro_cfg_value to simplify lots of the functions (this could break stuff!).
    Basically for the Schleuse.

  * git 1f156deca80571b67f97f49406e86b6ad478255b
    BUG 0003671: Schleuse: Verbindung wenn nicht SSO
    Use new get_host_name to call set_winscp_ini_vale

  * git 578e2f695389cbf90a2f17e2e7fda03206bcb3d3
    Add get_host_name function to use instead of get_krb_host_name while creating a transfer.ini

  * git ab31c6353447caf748273830222ea03da9b84453
    Change non-existing debug() to printf()

  * git 942eae34f4521f12991cc908a28c042faa2dc915
    Add get_vncviewer_parameter (to use with magic url)

  * git 151bd9c5204389339c538a9a78fa408278db00f4
    Add get_running_exe function to get currently running exe filename

  * git 87fc12c30589fae09480b3c2dce4692389598d43
    Add get_config_dir_parameter (stolen from schleuse to use it in magicurl too)

  * git 31e94a3f1448e638ee708b5a431daf585a52424f
    Add win_registry_utils with function getRegistryKeyValue

  * git 0bfeb838f1827deda81e3741148029646330e213
    Add gitignore and ignore temporary files and backups

  * git 64551bb66d9a6fc2122952fe7cbfecb6f59fb41e
    Add starts_with and ends_with functions to mp_utils

  * git d86e2ea450f3247f79d54aa19bf219cf9fae0be2
    Add match function to search for regex in strings (only first match)
    using pcre2

  * git 77341f712de48ebcf6089fbe87aaf27e2bf0bafe
    BUG 0004404: MAgicURL-Whiteliste-Beispiel wird "überall" geschrieben
    Also do not write to %appdata%. I had overlooked that wish.
    After building magicurl with this version of libmprivacy, it will not
    write any example whitelist file *at all*.

  * git d18ce002290e448db8b24a4e379366bcd093c438
    BUG 0004404: MAgicURL-Whiteliste-Beispiel wird "überall" geschrieben
    Do not create whitelist in pwd and cwd if it does not exist.
    I just added an #if 0 to 'delete' the code. Please delete sometime if really not needed.

  * git cff235ed6b43ee54f9a3b417e4849cd4facf7bd3
    mp_utils.h only define if not already defined and use 'extern' if c++

  * git 160924ce4aad050fa791e69872248e040aeb76ca
    BUG 0004367: MagicURL - Fehler URL-Whitelist aus Outlook
    Stop showing an error message when an example whitelist file
    cannot be written to, as it is not important. It does not actually
    solve the bug, but it should be good enough.

  * git 3ee2c2dc0b92852f03ff674e27f7093e3c3fdfd0
    For MagicURL: Resolved bug that made https links and
    url_whiltelist not work correctly together

  * git aae7ec1d777e2dcdb4724a70d5cc032cb2c4c62e
    Corrected Makefile so that strstr_insensitive is recognized

  * git ed4e397b7b3162c9b612865ec7d3b39a234ec1cc
    BUG 0004215: Schleuse: braucht krbhostname in tgpro.cfg (oder tgpro.vnc)
    It looked only for a TLSkrb SecurityType. Now it suffices if krb appears
    in the whole SecurityType property

  * git c6016a29bb4162e7e09dddedd5bf0a312379484e
    Added a case-insensitive version of strstr in a new file

  * git d7f4124893c3521df8b3d74836f6cead91bc0fdf
    Revert: Removed iconv windows username conversion with an #ifdef 0
    BUG 0004242: Schleuse: SSH mit ümlautBenutzer geht nicht!
    The bug was actually in WinSCP. From version 5.8 ssh usernames and
    passwords may contain UTF-8 characters.

  * git f8417392543a3746a4d283aa454e6112023288b2
    BUG 0003679: Schleuse sucht nur tgpro.cfg (nicht tgpro.vnc)
    Now it first looks for the kerberos hostname in the tgpro.vnc and
    if it does not find it there, looks for it the tgpro.cfg

  * git 28aa961382f20e5b633d8bd993aad523a9e37833
    Added a define for the viewer and magic url define MAGICURL_PIPE

  * git bdba69f0052bd82d139c1cc1df147212f03a21ae
    Changed a debug string that was printing a wrong path

  * git cafe855456185c56f233b8aa53116bdf4fc665f6
    Small changes in TGMOBILE defines

  * git 6c8f09cc411ec5935562047c0a3c6ffa1d1831c9
    Added a function to get a vnc config value from a config file
    located in an arbitrary path

  * git 0d9ffad006f2d25d50d8daec5d526dd8940f409f
    Added constants to run the Schleuse with a TG-Mobile parameter

  * git 7ecd5178a48abccc7b83f72fd3eb2d8579cb99eb
    Makefile: use TARGET environment variable for build target.

  * git a3c9c7a927b8eebb8c966838cb82ea6197c3e925
    Resolved two small compilation errors

  * git e78e3f36139045034155224a19d6b0b890572ca8
    Removed lazy init of main_window_handle. We can definitely afford
    to find it every time, as we do not do it often, and like this it
    is safer.

  * git 31bbafd62f77dbd406ed42085b5ae6097649f830
    Added function to find vncviewer.exe

  * git 773ddbb2b35048a3585571f23aa4f0f742342a0d
    Changed all unsigned int to DWORD
    While refactoring, I wrote a wrong if (window_handle init).
    Now it works as expected

  * git 9582a32b2d7eccc8df177a33eb11c0ca2f086f75
    Added (forgotten) function get_process_id to API

  * git 1f0328f413b9f25a5151ab482a0c77d537a7ae2d
    Bring window to front uses a new method to get a window handle
    (HWND). Added functions to API:
    void bring_viewer_window_to_front_with_process_is(process_id)
    HWND get_viewer_main_window_handle(process_id)

  * git 0d0cd827bbddf3dcabac4e62cb5651d013ca744e
    Renamed function find_process_id to get_process_id and refactored
    check_running so that it uses the get_process_id function

  * git d4faf7b140b42c940a87ccf81945c6f57d23e0b6
    Stopped ignoring the %TGPRO_INSTALLPATH%

  * git 4206a7b4699ac856717791569560302dd53ef0f9
    Added bring_viewer_window_to_front function to restore and bring
    the viewer window to front (only for Windows)

  * git b5d742815edb6e65e42b13397fca67ba1cc006b3
    BUG 4139: MagicURL: url_whitelist.txt mit Windows Zeilenumbrüchen speicher
    Changed generation of url_whitelist.txt so that it uses windows newline
    characters (\r\n) instead of unix ones.

  * git eb9161074692b39f6b9c1cf3780a7e2ed90745bb
    Partially revert e22ea99fb3a798a375a80be592d0ad1f768de9f6
        Add extra NULL byte at end of UTF-16 UserName.
    No longer add NULL byte, but keep other changes,

  * git e22ea99fb3a798a375a80be592d0ad1f768de9f6
    Add extra NULL byte at end of UTF-16 UserName.

  * git 34b20c416841399775f58735448342def41baa97
    Add more error checks into conversion.

  * git 421469657f390894924f8313b6bb6252b61847ee
    Get Windows user name in Unicode and convert to UTF-8.

  * git 5d7628b19c13d0166529d455fd019b1fa8ff1c57
    Yet another compile fix.

  * git c15805b779247776f759c79cb84b9424fffe66d5
    Add missing bracket.

  * git 86ff29e6dda6e2d634b2033fc8d598eff3a4d5e7
    Only convert UserName to URL, if not yet done. Lower-case only Windows name.

  * git a77c2123994269f97fefa3119248ca9edc49072a
    BUG 0004242: Schleuse: SSH mit ümlautBenutzer geht nicht!
    Also convert UserName to lowercase.

  * git f67ee9e67f571aaa08b495d8b47939caf4b0ebb2
    Check for whitelist_url file in CWD and in program start path, too.

  * git 44d350a1f52de712448b123ee79e5e82a2d526b5
    BUG 0004242: Schleuse: SSH mit ümlautBenutzer geht nicht!
    Convert UserName read from INI file to URL format, it can contain special chars.

  * git ac3f32467b2b68daa896cd44e3959bb6c18887e3
    Merge /daten/tgpro20build/build/mingw-w64-i686-libmprivacy/mingw-w64-i686-libmprivacy

  * git 81cc1d11e8f7a937b8e2c0c1d198251cae9c9b7b
    Merge /daten/tgpro20build/build/mingw-w64-i686-libmprivacy/mingw-w64-i686-libmprivacy

    Conflicts:
    	tgpro_environment.c

  * git e4cd798b739e327eab4016d76be3778753587e6e
    Merge branch 'master' of /home/lew/git/libmprivacy

    Conflicts:
    	tgpro_environment.c

  * git 095cb174b5fc19f7b6006a0e74bf49631f1467b9
    mod env

  * git a4b876a0afcd516cac7fca481e6b8a39ba81b2aa
    New function: get_tgpro_vnc_path()

  * git 14cb9d606f821b5906b8dff89cbf880d26227332
    New function get_tgpro_cfg_value(const char* key)

  * git 89897ac426c0158f1efd26099f1ea0efe8706fe0
    Fixed a url_whitelist_path storage bug.

  * git 8ba0f702aca227a0f6a4326c6167de4220e27717
    Functions to find and store the path to Browserchoice.exe

  * git f1f7905f1b3eab6541028872c68e53514eef3774
    New function winscp_cd_spool()

  * git 43ce58d57095033bb47fe0d451df67e38fdd0508
    New function: get_winscp_remote_directory()

  * git ccd5dfc6af346f090934c7217c6abf587adaad56
    i686 win32 makefile

  * git 3391bf96cdf5a3363066ade36544c5287587e283
    Merge branch 'master' of /home/lew/git/libmprivacy

    Conflicts:
    	Makefile

  * git d84ea1c7dca4787f4f7eeb43ec33dad700756e07
    Merge branch 'master' of /home/lew/git/libmprivacy

    Conflicts:
    	Makefile

  * git 6fc94ace7e397b5f3c2a10946a3f98a62f033a15
    Merge branch 'master' of /home/lew/git/libmprivacy

  * git c25f3f5d4a627ab3f7646a280e0a4124def9c7ff
    Merge /daten/tgpro20build/build/mingw-w64-i686-magicurl/mingw-w64-i686-magicurl

    Conflicts:
    	Makefile

  * git f6904ecddca88f7cc2e452582f07723f3d0ab889
    Fixed a allocation bug in tgpro_environment.c

  * git 9ca8ff5bacae160609551b692eea6ce922f61ebc
    Error checks for temp dir creation on woe32.

  * git 6bf90b890ede9ad78d0369d8e0508add52b24429
    Fixes in WinSCP.com handling.

  * git d6ba6508697993b17fa53aaa4cfc2836fd00f8d4
    'Press return' several times when WinSCP.com wants a password.

  * git 62003ff5f3a5ba085c17fc59cd72ccdb1bad710c
    Use \r\n for line ending in winscp.ini instead of \n.
    Removed a bug from delete_winscp_ini_key.

  * git c9a0ba25cbc568e0006a811c1548afc181608ef7
    Version 1.0.3
    Added function delete_winscp_ini_key().
    Several little bug fixes and code clearifications.

  * git ce4b0576349e422aca3457e871402984c19cdfdb
    System-wide and user-specific URL whitelists for MagicURL are now possible. Both are used.

  * git b8032bef692c86ddd603c0052c0ed6bca07ca551
    Version 2.0.2

 -- Juan Garcia <jua@m-privacy.de>  Fri, 19 Aug 2016 11:19:01 +0200

libmprivacy (1.0.2-0aahmp1) unstable; urgency=low

  * Rebuild for 2.0

 -- Amon Ott <ao@m-privacy.de>  Mon, 15 Sep 2014 15:41:00 +0200

libmprivacy (1.0.2) unstable; urgency=low

  * Git 95f136551000678ea5fb9c74068a5c1d9818eb43
    Author: repo@m-privacy.de <repo@m-privacy.de>
    Date:   Mon Aug 4 14:50:54 2014 +0200

    Linux Makefile

  * Git e156a118838dc4c827143f09ce1e02f4f6357a8e
    Author: Lew Palm <l.palm@m-privacy.de>
    Date:   Mon Sep 8 13:10:01 2014 +0200

    Corrected remote paths for numeric user names and for admin+user user names.
    New Version 1.0.2

  * Git 34f7b2f0a365fd445e9258cfcf47f25f7fe53f17
    Author: Lew Palm <l.palm@m-privacy.de>
    Date:   Mon Sep 8 10:45:50 2014 +0200

    Fixed 64-Bi-Linix related typos in tgpro_environment.c.

  * Git b9c4ba63bade7078917a50d2d789e87ef37895d7
    Author: Lew Palm <l.palm@m-privacy.de>
    Date:   Mon Aug 4 14:29:40 2014 +0200

    uses_sso_ad_authentication() searches not only for KrbHostName, but also for SecurityTypes=TLSKrb.
    Made get_right_value() and get_left_value() better and more stable.

  * Git 1911fb1b259df2bce62a587a3628284b7a8debd8
    Author: Lew Palm <l.palm@m-privacy.de>
    Date:   Mon Aug 4 14:36:17 2014 +0200

    Reredmonted the lib.

  * Git a16dd0cd39d5fe9fdb269075f8e38f3108455b3c
    Author: Lew Palm <l.palm@m-privacy.de>
    Date:   Wed Jul 2 15:50:58 2014 +0200

    Linux compatibilty.

  * Git 61a1f030d58ba1675d72924741ea5ff5dfc50601
    Author: Lew Palm <l.palm@m-privacy.de>
    Date:   Tue Jul 1 12:51:35 2014 +0200

    Rewrote get_… functions to find files also in the binary's starting dir.

  * Git 93282294e2821c9791e79682546ba1853e5ac120
    Author: Lew Palm <l.palm@m-privacy.de>
    Date:   Tue Jul 1 11:45:07 2014 +0200

    Function get_start_path()

  * Git b466f7d0a980ea9952f7b15333fc163f0d95babe
    Author: Lew Palm <l.palm@m-privacy.de>
    Date:   Fri Jun 27 15:04:40 2014 +0200

    launch_program(): don't open windows when window_name is NULL

  * Git 3d5e873c1da9c35b6f38ee75cec9a97c2c56062a
    Author: Lew Palm <l.palm@m-privacy.de>
    Date:   Fri Jun 27 12:50:59 2014 +0200

    launch_process() returns PID now.

  * Git fb54e8f68b9781137b33012f339e5ed27a5732fc
    Author: Lew Palm <l.palm@m-privacy.de>
    Date:   Thu Jun 26 15:36:02 2014 +0200

    Added new winscp_start_interactive() function.

  * Git af3fdbb71c100ddc39e788daed37ec83b5d04d21
    Author: Lew Palm <l.palm@m-privacy.de>
    Date:   Thu Jun 26 14:04:26 2014 +0200

    Search for WinSCP.exe in different locations.

  * Git 3527bb9487dcad3c4bf88a3741c0c5ba138c146d
    Author: Lew Palm <l.palm@m-privacy.de>
    Date:   Thu Jun 26 12:57:55 2014 +0200

    Look in more places for several binaries and use brackets for SumatraPDF's file-path parameter.

  * Git 9b1ee74decea8c82a0df7c4db8c9d12b3fbc10f2
    Author: Lew Palm <l.palm@m-privacy.de>
    Date:   Tue Jun 24 12:50:33 2014 +0200

    Better spool.ini handling. Search it also in cwd.

  * Git 570bb1c92ea32f189fe27f3582d974c1efd85584
    Author: Lew Palm <l.palm@m-privacy.de>
    Date:   Tue Jun 24 10:58:12 2014 +0200

    Made the headers C++ compatible.

  * Git 335cdc3d4e51b0cf07b4585ec13592f93b42e4bc
    Author: Lew Palm <l.palm@m-privacy.de>
    Date:   Mon Jun 23 10:28:21 2014 +0200

    Check for executables (WinSCP, SumatraPDF) first in cwd and then in tgpro-installdir.

 -- Lew Palm <l.palm@m-privacy.de>  Mon, 15 Sep 2014 11:53:00 +0200

libmprivacy (1.0.0) unstable; urgency=low

  * New at git 28dbc7043cf76fdc6e9fb2f73c83670119f7f48a

 -- Lew Palm <l.palm@m-privacy.de>  Tue, 23 Jun 2014 10:28:00 +0200
