Package: release.debian.org Severity: normal Tags: jessie User: release.debian....@packages.debian.org Usertags: pu
I'd like to update libinfinity in jessie from 0.6.5-1 to 0.6.6-1. That maintenance upstream release contains a three line fix for a security issue (CVE-2015-3886), one fix to avoid some failing assertions when handling the cursor while editing a document and a crash fix in the client code. I'd upload the version as 0.6.6-1~deb8u1 to jessie. The release noise is fairly minimal, see the attached diff between 0.6.5-1 (stable) and 0.6.6-1 (unstable). I can also pull any of the patches into 0.6.5-1 and base a +deb8u1 off that. Kind regards and thanks Philipp Kern
diff -Nru libinfinity-0.6.5/ChangeLog libinfinity-0.6.6/ChangeLog --- libinfinity-0.6.5/ChangeLog 2015-01-18 02:29:29.071909458 +0100 +++ libinfinity-0.6.6/ChangeLog 2015-05-13 02:57:57.089748067 +0200 @@ -1,3 +1,99 @@ +commit a5bc24e87714d3c3fa75711c5d06b9b8e4c81d53 +Author: Armin Burgmeier <ar...@arbur.net> +Date: Tue May 12 20:12:52 2015 -0400 + + Release libinfinity 0.6.6 + + NEWS | 9 +++++++++ + 1 file changed, 9 insertions(+) + +commit 3862714b942fe626308f06e01730df7b48921faf +Author: Armin Burgmeier <ar...@arbur.net> +Date: Tue May 12 20:55:41 2015 -0400 + + Fix make distcheck for recent automake versions + + Recent automake versions run with a more restrictive umask, so that the + version.xml files are created with read-only permissions. This fails when + trying to override them, so remove them explicitly before. + + docs/reference/Makefile.am | 2 ++ + 1 file changed, 2 insertions(+) + +commit 06fa9455c687a67e4fc2c2f201817c64c73a3fcf +Author: Armin Burgmeier <ar...@arbur.net> +Date: Mon May 11 22:59:34 2015 -0400 + + Fix expired certificate validation (gobby #61) + + libinfgtk/inf-gtk-certificate-manager.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +commit 244c7e8d69b98330ac7a285922c6fcb0a167ae20 +Author: Armin Burgmeier <ar...@arbur.net> +Date: Tue May 5 20:45:45 2015 -0400 + + Update caret position when only updating fixline state + + When the user inserts some newlines that are "swallowed" by the fixline + buffer, then still advance the user's cursor such that newly + to-be-written + text is inserted after the imaginary newline. + + libinftext/inf-text-fixline-buffer.c | 54 ++++++++++++++++++++++++++++++++++ + 1 file changed, 54 insertions(+) + +commit fb0c8532694476f3f624f66eb12becf851147e27 +Author: Armin Burgmeier <ar...@arbur.net> +Date: Mon May 4 20:31:12 2015 -0400 + + fixline buffer: Fix crash when iterating backwards through empty + base buffer + + libinftext/inf-text-fixline-buffer.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit da06a82642c1d2d0d5a44f1ea3f62ad0b2b22c9a +Author: Armin Burgmeier <ar...@arbur.net> +Date: Sun May 3 17:07:46 2015 -0400 + + Fix insert/erase notifications in InfTextFixlineBuffer + + The notifications were missing when the fixline buffer was modified + directly + with the API, and not in response to modifications to the underlying base + buffer. + + libinftext/inf-text-fixline-buffer.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +commit 9b009160dd658fe9272d69025a8225b02eafb8de +Author: Armin Burgmeier <ar...@arbur.net> +Date: Thu Apr 30 21:37:23 2015 -0400 + + Fix create_end_iter() implementation in InfTextFixlineBuffer + + libinftext/inf-text-fixline-buffer.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 8990cf98ab43f3aca6a7bf12e9608b0e2e9b5c70 +Author: Armin Burgmeier <ar...@arbur.net> +Date: Fri Apr 3 13:04:24 2015 -0400 + + Fix a crash when the server explicitly changes client account to default + + libinfinity/client/infc-browser.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 0ce00121225662125b2ae4e48ff5d9f712e86a70 +Author: Armin Burgmeier <ar...@arbur.net> +Date: Sat Jan 17 20:33:25 2015 -0500 + + Post-release bump to 0.6.6 + + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + commit 1a0ff8091afdfe831d317d10c377a8a025ea259d Author: Armin Burgmeier <ar...@arbur.net> Date: Sat Jan 17 20:19:38 2015 -0500 diff -Nru libinfinity-0.6.5/configure libinfinity-0.6.6/configure --- libinfinity-0.6.5/configure 2015-01-18 02:21:51.575927350 +0100 +++ libinfinity-0.6.6/configure 2015-05-13 02:14:48.253651523 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for libinfinity 0.6.5. +# Generated by GNU Autoconf 2.69 for libinfinity 0.6.6. # # Report bugs to <ar...@arbur.net>. # @@ -590,8 +590,8 @@ # Identity of this package. PACKAGE_NAME='libinfinity' PACKAGE_TARNAME='libinfinity' -PACKAGE_VERSION='0.6.5' -PACKAGE_STRING='libinfinity 0.6.5' +PACKAGE_VERSION='0.6.6' +PACKAGE_STRING='libinfinity 0.6.6' PACKAGE_BUGREPORT='ar...@arbur.net' PACKAGE_URL='' @@ -1416,7 +1416,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures libinfinity 0.6.5 to adapt to many kinds of systems. +\`configure' configures libinfinity 0.6.6 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1486,7 +1486,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of libinfinity 0.6.5:";; + short | recursive ) echo "Configuration of libinfinity 0.6.6:";; esac cat <<\_ACEOF @@ -1641,7 +1641,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -libinfinity configure 0.6.5 +libinfinity configure 0.6.6 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2010,7 +2010,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by libinfinity $as_me 0.6.5, which was +It was created by libinfinity $as_me 0.6.6, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2873,7 +2873,7 @@ # Define the identity of the package. PACKAGE='libinfinity' - VERSION='0.6.5' + VERSION='0.6.6' cat >>confdefs.h <<_ACEOF @@ -3117,7 +3117,7 @@ ac_config_headers="$ac_config_headers config.h libinfinity/inf-config.h" -LIBINFINITY_VERSION=0.6.5 +LIBINFINITY_VERSION=0.6.6 LIBINFINITY_API_VERSION=0.6 LIBINFINITY_LIBTOOL_VERSION=0:0:0 @@ -16210,7 +16210,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by libinfinity $as_me 0.6.5, which was +This file was extended by libinfinity $as_me 0.6.6, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -16276,7 +16276,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -libinfinity config.status 0.6.5 +libinfinity config.status 0.6.6 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -Nru libinfinity-0.6.5/configure.ac libinfinity-0.6.6/configure.ac --- libinfinity-0.6.5/configure.ac 2015-01-18 02:14:02.575945693 +0100 +++ libinfinity-0.6.6/configure.ac 2015-05-12 05:05:50.617228438 +0200 @@ -1,4 +1,4 @@ -m4_define([libinfinity_version], [0.6.5]) +m4_define([libinfinity_version], [0.6.6]) m4_define([libinfinity_api_version], [0.6]) m4_define([libinfinity_libtool_version], [0:0:0]) diff -Nru libinfinity-0.6.5/debian/changelog libinfinity-0.6.6/debian/changelog --- libinfinity-0.6.5/debian/changelog 2015-01-22 10:43:57.000000000 +0100 +++ libinfinity-0.6.6/debian/changelog 2015-05-24 01:35:49.000000000 +0200 @@ -1,3 +1,11 @@ +libinfinity (0.6.6-1) unstable; urgency=medium + + * New upstream release + - Check certificates for expiration and weak algorithms even if + the CA is trusted. (Closes: #783601) + + -- Philipp Kern <pk...@debian.org> Sun, 24 May 2015 01:29:07 +0200 + libinfinity (0.6.5-1) unstable; urgency=medium * New upstream release diff -Nru libinfinity-0.6.5/docs/reference/libinfgtk/html/index.html libinfinity-0.6.6/docs/reference/libinfgtk/html/index.html --- libinfinity-0.6.5/docs/reference/libinfgtk/html/index.html 2015-01-18 02:29:30.423909405 +0100 +++ libinfinity-0.6.6/docs/reference/libinfgtk/html/index.html 2015-05-13 02:57:58.905748135 +0200 @@ -15,7 +15,7 @@ <div> <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">libinfgtk-0.6 Reference Manual</p></th></tr></table></div> <div><p class="releaseinfo"> - for libinfgtk 0.6.5. + for libinfgtk 0.6.6. The latest version of this documentation can be found on-line at <a class="ulink" href="http://infinote.0x539.de/libinfinity/API/libinfgtk/index.html" target="_top">http://infinote.0x539.de/libinfinity/API/libinfgtk/</a>. </p></div> diff -Nru libinfinity-0.6.5/docs/reference/libinfinity/html/index.html libinfinity-0.6.6/docs/reference/libinfinity/html/index.html --- libinfinity-0.6.5/docs/reference/libinfinity/html/index.html 2015-01-18 02:29:30.227909412 +0100 +++ libinfinity-0.6.6/docs/reference/libinfinity/html/index.html 2015-05-13 02:57:58.713748127 +0200 @@ -15,7 +15,7 @@ <div> <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">libinfinity-0.6 Reference Manual</p></th></tr></table></div> <div><p class="releaseinfo"> - for libinfinity 0.6.5. + for libinfinity 0.6.6. The latest version of this documentation can be found on-line at <a class="ulink" href="http://infinote.0x539.de/libinfinity/API/libinfinity/index.html" target="_top">http://infinote.0x539.de/libinfinity/API/libinfinity/</a>. </p></div> diff -Nru libinfinity-0.6.5/docs/reference/libinfinoted-plugin-manager/html/index.html libinfinity-0.6.6/docs/reference/libinfinoted-plugin-manager/html/index.html --- libinfinity-0.6.5/docs/reference/libinfinoted-plugin-manager/html/index.html 2015-01-18 02:29:30.603909398 +0100 +++ libinfinity-0.6.6/docs/reference/libinfinoted-plugin-manager/html/index.html 2015-05-13 02:57:59.085748141 +0200 @@ -15,7 +15,7 @@ <div> <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">libinfinoted-plugin-manager-0.6 Reference Manual</p></th></tr></table></div> <div><p class="releaseinfo"> - for libinfinoted-plugin-manager 0.6.5. + for libinfinoted-plugin-manager 0.6.6. The latest version of this documentation can be found on-line at <a class="ulink" href="http://infinote.0x539.de/libinfinity/API/libinftext/index.html" target="_top">http://infinote.0x539.de/libinfinity/API/libinfinoted-plugin-manager/</a>. </p></div> diff -Nru libinfinity-0.6.5/docs/reference/libinftext/html/index.html libinfinity-0.6.6/docs/reference/libinftext/html/index.html --- libinfinity-0.6.5/docs/reference/libinftext/html/index.html 2015-01-18 02:29:30.331909408 +0100 +++ libinfinity-0.6.6/docs/reference/libinftext/html/index.html 2015-05-13 02:57:58.817748131 +0200 @@ -15,7 +15,7 @@ <div> <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">libinftext-0.6 Reference Manual</p></th></tr></table></div> <div><p class="releaseinfo"> - for libinftext 0.6.5. + for libinftext 0.6.6. The latest version of this documentation can be found on-line at <a class="ulink" href="http://infinote.0x539.de/libinfinity/API/libinftext/index.html" target="_top">http://infinote.0x539.de/libinfinity/API/libinftext/</a>. </p></div> diff -Nru libinfinity-0.6.5/docs/reference/libinftextgtk/html/index.html libinfinity-0.6.6/docs/reference/libinftextgtk/html/index.html --- libinfinity-0.6.5/docs/reference/libinftextgtk/html/index.html 2015-01-18 02:29:30.511909401 +0100 +++ libinfinity-0.6.6/docs/reference/libinftextgtk/html/index.html 2015-05-13 02:57:58.993748138 +0200 @@ -15,7 +15,7 @@ <div> <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">libinftextgtk-0.6 Reference Manual</p></th></tr></table></div> <div><p class="releaseinfo"> - for libinftextgtk 0.6.5. + for libinftextgtk 0.6.6. The latest version of this documentation can be found on-line at <a class="ulink" href="http://infinote.0x539.de/libinfinity/API/libinftextgtk/index.html" target="_top">http://infinote.0x539.de/libinfinity/API/libinftextgtk/</a>. </p></div> diff -Nru libinfinity-0.6.5/docs/reference/libinftextgtk/html/InfTextGtkView.html libinfinity-0.6.6/docs/reference/libinftextgtk/html/InfTextGtkView.html --- libinfinity-0.6.5/docs/reference/libinftextgtk/html/InfTextGtkView.html 2015-01-18 02:29:30.511909401 +0100 +++ libinfinity-0.6.6/docs/reference/libinftextgtk/html/InfTextGtkView.html 2015-05-13 02:57:58.993748138 +0200 @@ -198,10 +198,10 @@ <p><a class="link" href="InfTextGtkView.html" title="InfTextGtkView"><span class="type">InfTextGtkView</span></a> is a helper object which, as long as it is alive, draws the cursor position, selected text of remote users into a <a href="http://developer.gnome.org/gtk2/GtkTextView.html"><span class="type">GtkTextView</span></a> widget. It can also highlight the current line of a remote user in a -similar way the <span class="type">GtkSourceView</span> widget can highlight the current line of +similar way the <a href="/usr/share/gtk-doc/html/gtksourceview-3.0/GtkSourceView.html"><span class="type">GtkSourceView</span></a> widget can highlight the current line of the local user.</p> <p>This functionality was not implemented by subclassing <a href="http://developer.gnome.org/gtk2/GtkTextView.html"><span class="type">GtkTextView</span></a> such -that it can also be used with existing subclasses, such as <span class="type">GtkSourceView</span>.</p> +that it can also be used with existing subclasses, such as <a href="/usr/share/gtk-doc/html/gtksourceview-3.0/GtkSourceView.html"><span class="type">GtkSourceView</span></a>.</p> <p>With the function <a class="link" href="InfTextGtkView.html#inf-text-gtk-view-set-active-user" title="inf_text_gtk_view_set_active_userĀ ()"><code class="function">inf_text_gtk_view_set_active_user()</code></a> the local <a href="../libinftext-0.6/InfTextUser.html"><span class="type">InfTextUser</span></a> who is editing the text can be set, if there is any. The insertion position, seleceted text or current line are not drawn for this diff -Nru libinfinity-0.6.5/docs/reference/Makefile.am libinfinity-0.6.6/docs/reference/Makefile.am --- libinfinity-0.6.5/docs/reference/Makefile.am 2015-01-06 13:26:07.693569755 +0100 +++ libinfinity-0.6.6/docs/reference/Makefile.am 2015-05-13 02:57:32.761747160 +0200 @@ -19,9 +19,11 @@ # Remove the trailing newline of the version files, to have the entities # in the docbook XML substituted without it. version.xml: version.xml.in + rm -f version.xml echo -n `cat version.xml.in` > version.xml api_version.xml: api_version.xml.in + rm -f api_version.xml echo -n `cat api_version.xml.in` > api_version.xml CLEANFILES = version.xml api_version.xml diff -Nru libinfinity-0.6.5/docs/reference/Makefile.in libinfinity-0.6.6/docs/reference/Makefile.in --- libinfinity-0.6.5/docs/reference/Makefile.in 2015-01-18 02:21:50.091927408 +0100 +++ libinfinity-0.6.6/docs/reference/Makefile.in 2015-05-13 02:57:58.421748117 +0200 @@ -669,9 +669,11 @@ # Remove the trailing newline of the version files, to have the entities # in the docbook XML substituted without it. version.xml: version.xml.in + rm -f version.xml echo -n `cat version.xml.in` > version.xml api_version.xml: api_version.xml.in + rm -f api_version.xml echo -n `cat api_version.xml.in` > api_version.xml # Tell versions [3.59,3.63) of GNU make to not export all variables. diff -Nru libinfinity-0.6.5/docs/reference/version.xml libinfinity-0.6.6/docs/reference/version.xml --- libinfinity-0.6.5/docs/reference/version.xml 2015-01-14 21:30:34.334115390 +0100 +++ libinfinity-0.6.6/docs/reference/version.xml 2015-05-13 02:51:15.881733105 +0200 @@ -1 +1 @@ -0.6.5 \ No newline at end of file +0.6.6 \ No newline at end of file diff -Nru libinfinity-0.6.5/libinfgtk/inf-gtk-certificate-manager.c libinfinity-0.6.6/libinfgtk/inf-gtk-certificate-manager.c --- libinfinity-0.6.5/libinfgtk/inf-gtk-certificate-manager.c 2015-01-06 13:26:07.705569755 +0100 +++ libinfinity-0.6.6/libinfgtk/inf-gtk-certificate-manager.c 2015-05-13 02:13:16.877648115 +0200 @@ -710,9 +710,11 @@ if(ret != GNUTLS_E_SUCCESS) inf_gnutls_set_error(&error, ret); - else if(verify & GNUTLS_CERT_INVALID) - inf_gnutls_certificate_verification_set_error(&error, verify); } + + if(error == NULL) + if(verify & GNUTLS_CERT_INVALID) + inf_gnutls_certificate_verification_set_error(&error, verify); } /* Look up the host in our database of pinned certificates if we could not diff -Nru libinfinity-0.6.5/libinfinity/client/infc-browser.c libinfinity-0.6.6/libinfinity/client/infc-browser.c --- libinfinity-0.6.5/libinfinity/client/infc-browser.c 2014-08-29 16:48:38.261337856 +0200 +++ libinfinity-0.6.6/libinfinity/client/infc-browser.c 2015-04-03 19:37:42.395986202 +0200 @@ -4309,7 +4309,8 @@ if(existing_account != NULL) { - if(strcmp(account->name, existing_account->name) != 0) + if(account->name == NULL || existing_account->name == NULL || + strcmp(account->name, existing_account->name) != 0) { /* Update account name, if it has changed */ g_free(existing_account->name); diff -Nru libinfinity-0.6.5/libinftext/inf-text-fixline-buffer.c libinfinity-0.6.6/libinftext/inf-text-fixline-buffer.c --- libinfinity-0.6.5/libinftext/inf-text-fixline-buffer.c 2015-01-06 13:26:07.717569756 +0100 +++ libinfinity-0.6.6/libinftext/inf-text-fixline-buffer.c 2015-05-07 00:27:32.448114940 +0200 @@ -35,6 +35,7 @@ #include <libinftext/inf-text-fixline-buffer.h> #include <libinftext/inf-text-user.h> +#include <libinftext/inf-text-move-operation.h> #include <libinfinity/common/inf-buffer.h> #include <libinfinity/inf-signals.h> @@ -577,6 +578,9 @@ guint buffer_length; guint end; + guint user_pos; + gint user_len; + InfTextChunk* new_chunk; gchar stext[16]; gchar* text; @@ -633,11 +637,35 @@ g_free(priv->keep); priv->keep = NULL; } + + /* TODO: We don't know whether this was an insert-caret or not, but + * assume for now that it was. Advance the user's caret, which would + * account for the added newlines that we swallowed above. */ + /* TODO: A better way might be to just skip this special handling + * altogether and just actually propagate this change. */ + user_pos = inf_text_user_get_caret_position(INF_TEXT_USER(user)); + user_len = inf_text_user_get_selection_length(INF_TEXT_USER(user)); + + inf_text_move_operation_transform_insert( + pos, + chunk_length, + &user_pos, + &user_len, + FALSE + ); + + inf_text_user_set_selection( + INF_TEXT_USER(user), + user_pos, + user_len, + TRUE + ); } else { if(pos > end) { + /* TODO: Should we handle caret updates here as well? */ g_assert(priv->n_keep < 0); g_assert((guint)(-priv->n_keep) >= pos - end); @@ -701,6 +729,9 @@ guint use_keep; InfTextChunk* new_chunk; + guint user_pos; + gint user_len; + priv = INF_TEXT_FIXLINE_BUFFER_PRIVATE(user_data); chunk_length = inf_text_chunk_get_length(chunk); @@ -759,6 +790,28 @@ use_keep ); } + + /* TODO: We don't know whether this was an erase-caret or not, but + * assume for now that it was. Advance the user's caret, which would + * account for the removed newlines that we swallowed above. */ + /* TODO: A better way might be to just skip this special handling + * altogether and just actually propagate this change. */ + user_pos = inf_text_user_get_caret_position(INF_TEXT_USER(user)); + user_len = inf_text_user_get_selection_length(INF_TEXT_USER(user)); + + inf_text_move_operation_transform_delete( + pos, + chunk_length, + &user_pos, + &user_len + ); + + inf_text_user_set_selection( + INF_TEXT_USER(user), + user_pos, + user_len, + TRUE + ); } else { @@ -773,6 +826,7 @@ else if(pos + chunk_length > end) { /* Propagate partly */ + /* TODO: Should we handle caret updates here as well? */ g_assert(priv->n_keep < 0); g_assert(chunk_length - (end - pos) <= (guint)(-priv->n_keep)); @@ -1203,6 +1257,9 @@ fixline_buffer ); + /* Notify */ + inf_text_buffer_text_inserted(buffer, pos, chunk, user); + /* Keep the number of lines at the end fixed */ inf_text_fixline_buffer_fix_lines(fixline_buffer); } @@ -1215,6 +1272,7 @@ { InfTextFixlineBuffer* fixline_buffer; InfTextFixlineBufferPrivate* priv; + InfTextChunk* erased_content; guint buf_len; fixline_buffer = INF_TEXT_FIXLINE_BUFFER(buffer); @@ -1227,6 +1285,8 @@ fixline_buffer ); + erased_content = inf_text_buffer_get_slice(buffer, pos, len); + if(pos + len > buf_len) { if(pos > buf_len) @@ -1287,6 +1347,10 @@ fixline_buffer ); + /* Notify */ + inf_text_buffer_text_erased(buffer, pos, erased_content, user); + inf_text_chunk_free(erased_content); + /* Keep the number of lines at the end fixed */ inf_text_fixline_buffer_fix_lines(fixline_buffer); } @@ -1374,7 +1438,7 @@ } iter = g_slice_new(InfTextBufferIter); - iter->base_iter = NULL; + iter->base_iter = base_iter; } return iter; @@ -1474,7 +1538,8 @@ if(iter->keep_begin == 0) { iter->base_iter = inf_text_buffer_create_end_iter(priv->buffer); - g_assert(iter->base_iter != NULL); + if(iter->base_iter == NULL) + return FALSE; return TRUE; } diff -Nru libinfinity-0.6.5/NEWS libinfinity-0.6.6/NEWS --- libinfinity-0.6.5/NEWS 2015-01-18 02:19:25.571933060 +0100 +++ libinfinity-0.6.6/NEWS 2015-05-13 02:57:32.785747161 +0200 @@ -1,3 +1,12 @@ +libinfinity 0.6.6: + * Fix certificates being only verified for expiration and other + criteria such as weak algorithms if the CA is not trusted. + (gobby #61) + * Fix some assertion failures and inconsistencies in + InfTextFixlineBuffer. + * Fix a client-side crash when the server shuts down ordinarily + while still connected. + libinfinity 0.6.5: * Fix memory corruption in InfTextFixlineBuffer. * infinoted: Fix error message in server log when a client certificate diff -Nru libinfinity-0.6.5/po/libinfinity-0.6.pot libinfinity-0.6.6/po/libinfinity-0.6.pot --- libinfinity-0.6.5/po/libinfinity-0.6.pot 2015-01-18 02:22:28.795925895 +0100 +++ libinfinity-0.6.6/po/libinfinity-0.6.pot 2015-05-13 02:57:28.465746999 +0200 @@ -9,7 +9,7 @@ "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" "product=glib&keywords=I18N+L10N&component=general\n" -"POT-Creation-Date: 2015-01-17 20:22-0500\n" +"POT-Creation-Date: 2014-08-27 01:11+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <l...@li.org>\n" @@ -180,87 +180,87 @@ msgid "Need a pam service to authenticate users." msgstr "" -#: ../infinoted/infinoted-options.c:241 +#: ../infinoted/infinoted-options.c:238 msgid "WARNING: Requiring password through unencrypted connection." msgstr "" -#: ../infinoted/infinoted-options.c:252 +#: ../infinoted/infinoted-options.c:249 msgid "" "Creating a new private key also requires creating a new certificate signed " "with it." msgstr "" -#: ../infinoted/infinoted-options.c:266 +#: ../infinoted/infinoted-options.c:263 msgid "" "No private key file given. If you don't have a suitable key file, either " "create one using the --create-key command line argument, or disable TLS by " "setting the security policy to \"no-tls\"." msgstr "" -#: ../infinoted/infinoted-options.c:281 +#: ../infinoted/infinoted-options.c:278 msgid "" "No certificate file given. If you don't have a suitable certificate file, " "either create one using the --create-certificate command line agument, or " "disable TLS via by setting the security policy to \"no-tls\"." msgstr "" -#: ../infinoted/infinoted-options.c:325 +#: ../infinoted/infinoted-options.c:322 #, c-format msgid "Error reading configuration file \"%s\": " msgstr "" -#: ../infinoted/infinoted-options.c:383 ../infinoted/infinoted-options.c:427 -#: ../infinoted/infinoted-options.c:501 +#: ../infinoted/infinoted-options.c:380 ../infinoted/infinoted-options.c:424 +#: ../infinoted/infinoted-options.c:498 #, c-format msgid "The option \"%s\" can only be given once" msgstr "" -#: ../infinoted/infinoted-options.c:412 +#: ../infinoted/infinoted-options.c:409 #, c-format msgid "\"%s\" cannot be interpreted as a boolean value" msgstr "" -#: ../infinoted/infinoted-options.c:442 +#: ../infinoted/infinoted-options.c:439 #, c-format msgid "\"%s\" is not a number" msgstr "" -#: ../infinoted/infinoted-options.c:454 +#: ../infinoted/infinoted-options.c:451 #, c-format msgid "Could not read the number \"%s\": %s" msgstr "" -#: ../infinoted/infinoted-options.c:467 +#: ../infinoted/infinoted-options.c:464 #, c-format msgid "Number \"%s\" is too small" msgstr "" -#: ../infinoted/infinoted-options.c:479 +#: ../infinoted/infinoted-options.c:476 #, c-format msgid "Number \"%s\" is too large" msgstr "" -#: ../infinoted/infinoted-options.c:689 +#: ../infinoted/infinoted-options.c:686 msgid "Configuration file to load, instead of the default configuration file" msgstr "" -#: ../infinoted/infinoted-options.c:691 +#: ../infinoted/infinoted-options.c:688 msgid "CONFIG-FILE" msgstr "" -#: ../infinoted/infinoted-options.c:695 +#: ../infinoted/infinoted-options.c:692 msgid "" "Creates a new random private key. The new key will be stored at the given " "location for the server's private key." msgstr "" -#: ../infinoted/infinoted-options.c:701 +#: ../infinoted/infinoted-options.c:698 msgid "" "Creates a new self-signed certificate signed with the given private key. The " "certificate is stored at the given location for the server's certificate." msgstr "" -#: ../infinoted/infinoted-options.c:708 +#: ../infinoted/infinoted-options.c:705 msgid "" "Allows one to override configuration entries for plugins from the command " "line. The syntax is --plugin-parameter=plugin:key:value, where plugin is the " @@ -268,35 +268,35 @@ "the parameter which to override and value is the new value of the parameter" msgstr "" -#: ../infinoted/infinoted-options.c:713 +#: ../infinoted/infinoted-options.c:710 msgid "PLUGIN:PARAMETER:VALUE" msgstr "" -#: ../infinoted/infinoted-options.c:718 +#: ../infinoted/infinoted-options.c:715 msgid "Daemonize the server, i.e. run it in the background" msgstr "" -#: ../infinoted/infinoted-options.c:722 +#: ../infinoted/infinoted-options.c:719 msgid "Kill a running daemon and exit" msgstr "" -#: ../infinoted/infinoted-options.c:727 +#: ../infinoted/infinoted-options.c:724 msgid "Display version information and exit" msgstr "" -#: ../infinoted/infinoted-options.c:786 +#: ../infinoted/infinoted-options.c:783 msgid "Infinoted Options" msgstr "" -#: ../infinoted/infinoted-options.c:787 +#: ../infinoted/infinoted-options.c:784 msgid "Main Program Options" msgstr "" -#: ../infinoted/infinoted-options.c:796 +#: ../infinoted/infinoted-options.c:793 msgid "infinote dedicated server" msgstr "" -#: ../infinoted/infinoted-options.c:831 +#: ../infinoted/infinoted-options.c:828 msgid "Could not kill daemon" msgstr "" @@ -358,27 +358,27 @@ msgid "Unloaded plugin \"%s\" from \"%s\"" msgstr "" -#: ../infinoted/infinoted-run.c:370 +#: ../infinoted/infinoted-run.c:353 #, c-format msgid "Failed to generate Diffie-Hellman parameters: %s" msgstr "" -#: ../infinoted/infinoted-run.c:390 +#: ../infinoted/infinoted-run.c:373 #, c-format msgid "IPv6 Server running on port %u" msgstr "" -#: ../infinoted/infinoted-run.c:413 +#: ../infinoted/infinoted-run.c:396 #, c-format msgid "IPv4 Server running on port %u" msgstr "" -#: ../infinoted/infinoted-run.c:434 +#: ../infinoted/infinoted-run.c:417 #, c-format msgid "Failed to start server: %s" msgstr "" -#: ../infinoted/infinoted-run.c:452 +#: ../infinoted/infinoted-run.c:435 msgid "Infinoted shutting down..." msgstr "" @@ -412,27 +412,27 @@ msgid "Generating self-signed certificate..." msgstr "" -#: ../infinoted/infinoted-startup.c:321 +#: ../infinoted/infinoted-startup.c:318 #, c-format msgid "User %s failed to log in from %s: PAM authentication failed" msgstr "" -#: ../infinoted/infinoted-startup.c:341 +#: ../infinoted/infinoted-startup.c:338 #, c-format msgid "User %s failed to log in from %s: PAM user not allowed" msgstr "" -#: ../infinoted/infinoted-startup.c:361 +#: ../infinoted/infinoted-startup.c:358 #, c-format msgid "User %s logged in from %s via PAM" msgstr "" -#: ../infinoted/infinoted-startup.c:392 +#: ../infinoted/infinoted-startup.c:374 #, c-format msgid "User %s logged in from %s via password" msgstr "" -#: ../infinoted/infinoted-startup.c:403 +#: ../infinoted/infinoted-startup.c:385 #, c-format msgid "User %s failed to log in from %s: wrong password" msgstr "" @@ -627,11 +627,11 @@ "standard tools that operate on normal UTF-8 encoded text files" msgstr "" -#: ../infinoted/plugins/infinoted-plugin-document-stream.c:668 +#: ../infinoted/plugins/infinoted-plugin-document-stream.c:663 msgid "Not a text or chat node" msgstr "" -#: ../infinoted/plugins/infinoted-plugin-document-stream.c:1501 +#: ../infinoted/plugins/infinoted-plugin-document-stream.c:1482 msgid "Allows streaming of document changes to external programs" msgstr "" @@ -976,20 +976,20 @@ msgid "Failed to write file with known hosts \"%s\": %s" msgstr "" -#: ../libinfgtk/inf-gtk-certificate-manager.c:572 +#: ../libinfgtk/inf-gtk-certificate-manager.c:577 #, c-format msgid "Failed to add certificate to list of known hosts: %s" msgstr "" -#: ../libinfgtk/inf-gtk-certificate-manager.c:843 +#: ../libinfgtk/inf-gtk-certificate-manager.c:847 msgid "_Cancel connection" msgstr "" -#: ../libinfgtk/inf-gtk-certificate-manager.c:854 +#: ../libinfgtk/inf-gtk-certificate-manager.c:858 msgid "C_ontinue connection" msgstr "" -#: ../libinfgtk/inf-gtk-certificate-manager.c:861 +#: ../libinfgtk/inf-gtk-certificate-manager.c:865 #, c-format msgid "" "Do you want to continue the connection to host \"%s\"? If you choose to " @@ -1385,7 +1385,7 @@ msgstr "" #: ../libinfinity/client/infc-browser.c:4669 -#: ../libinfinity/server/infd-directory.c:3266 +#: ../libinfinity/server/infd-directory.c:3265 msgid "The default account cannot be removed" msgstr "" @@ -1397,13 +1397,13 @@ msgstr "" #: ../libinfinity/client/infc-browser.c:4997 -#: ../libinfinity/client/infc-session-proxy.c:523 +#: ../libinfinity/client/infc-session-proxy.c:519 #, c-format msgid "Error comes from unknown error domain '%s' (code %u)" msgstr "" #: ../libinfinity/client/infc-browser.c:5244 -#: ../libinfinity/client/infc-session-proxy.c:989 +#: ../libinfinity/client/infc-session-proxy.c:985 #, c-format msgid "Server reply could not be processed: %s" msgstr "" @@ -1439,11 +1439,11 @@ msgid "The request does not contain a sequence number, but one is required" msgstr "" -#: ../libinfinity/client/infc-session-proxy.c:666 +#: ../libinfinity/client/infc-session-proxy.c:662 msgid "Request does not contain required attribute 'id'" msgstr "" -#: ../libinfinity/client/infc-session-proxy.c:684 +#: ../libinfinity/client/infc-session-proxy.c:680 #: ../libinfinity/common/inf-session.c:753 #, c-format msgid "No such user with ID %u" @@ -1657,7 +1657,7 @@ msgstr "" #: ../libinfinity/common/inf-error.c:184 -#: ../libinfinity/server/infd-directory.c:5825 +#: ../libinfinity/server/infd-directory.c:5801 msgid "The root node cannot be removed" msgstr "" @@ -1674,7 +1674,7 @@ msgstr "" #: ../libinfinity/common/inf-error.c:192 -#: ../libinfinity/server/infd-directory.c:6092 +#: ../libinfinity/server/infd-directory.c:6068 msgid "The requesting connection is not subscribed to the session" msgstr "" @@ -1802,11 +1802,11 @@ msgid "The certificate is invalid" msgstr "" -#: ../libinfinity/common/inf-name-resolver.c:207 +#: ../libinfinity/common/inf-name-resolver.c:205 msgid "The reply from the DNS server is incomplete" msgstr "" -#: ../libinfinity/common/inf-name-resolver.c:746 +#: ../libinfinity/common/inf-name-resolver.c:744 #, c-format msgid "" "Failure during SRV record lookup: %s\n" @@ -2151,63 +2151,63 @@ msgid "An unknown authentication error has occured" msgstr "" -#: ../libinfinity/common/inf-xmpp-connection.c:1272 +#: ../libinfinity/common/inf-xmpp-connection.c:1271 msgid "The server did not provide a certificate" msgstr "" -#: ../libinfinity/common/inf-xmpp-connection.c:2086 +#: ../libinfinity/common/inf-xmpp-connection.c:2085 msgid "Stream is not yet secured with TLS" msgstr "" -#: ../libinfinity/common/inf-xmpp-connection.c:2153 +#: ../libinfinity/common/inf-xmpp-connection.c:2152 msgid "Stream is not yet authorized" msgstr "" -#: ../libinfinity/common/inf-xmpp-connection.c:2281 +#: ../libinfinity/common/inf-xmpp-connection.c:2280 msgid "The server does not offer a suitable authentication mechanism" msgstr "" -#: ../libinfinity/common/inf-xmpp-connection.c:2326 +#: ../libinfinity/common/inf-xmpp-connection.c:2325 msgid "The server does not support transport layer security (TLS)" msgstr "" -#: ../libinfinity/common/inf-xmpp-connection.c:2349 +#: ../libinfinity/common/inf-xmpp-connection.c:2348 msgid "The server requires transport layer security (TLS)" msgstr "" -#: ../libinfinity/common/inf-xmpp-connection.c:2383 +#: ../libinfinity/common/inf-xmpp-connection.c:2382 msgid "The server does not provide any authentication mechanism" msgstr "" -#: ../libinfinity/common/inf-xmpp-connection.c:2441 +#: ../libinfinity/common/inf-xmpp-connection.c:2440 msgid "The server cannot perform the TLS handshake" msgstr "" #. XML Warning from <IP Address>: <Warning Text> -#: ../libinfinity/common/inf-xmpp-connection.c:2924 +#: ../libinfinity/common/inf-xmpp-connection.c:2923 #, c-format msgid "XML warning from %s: %s\n" msgstr "" #. The server sent something which is not XML -#: ../libinfinity/common/inf-xmpp-connection.c:2968 +#: ../libinfinity/common/inf-xmpp-connection.c:2967 msgid "Remote site is not an XMPP server" msgstr "" -#: ../libinfinity/common/inf-xmpp-connection.c:4586 +#: ../libinfinity/common/inf-xmpp-connection.c:4583 msgid "The server certificate is not trusted" msgstr "" -#: ../libinfinity/common/inf-xmpp-connection.c:4594 +#: ../libinfinity/common/inf-xmpp-connection.c:4591 #, c-format msgid "The server certificate is not trusted: %s" msgstr "" -#: ../libinfinity/common/inf-xmpp-connection.c:4606 +#: ../libinfinity/common/inf-xmpp-connection.c:4603 msgid "The client certificate is not trusted" msgstr "" -#: ../libinfinity/common/inf-xmpp-connection.c:4614 +#: ../libinfinity/common/inf-xmpp-connection.c:4611 #, c-format msgid "The client certificate is not trusted: %s" msgstr "" @@ -2241,7 +2241,7 @@ msgstr "" #: ../libinfinity/server/infd-chat-filesystem-format.c:145 -#: ../libinfinity/server/infd-filesystem-storage.c:259 +#: ../libinfinity/server/infd-filesystem-storage.c:249 #: ../libinftext/inf-text-filesystem-format.c:368 #, c-format msgid "Error parsing XML in file \"%s\": [%d]: %s" @@ -2294,7 +2294,7 @@ "start the server." msgstr "" -#: ../libinfinity/server/infd-directory.c:2056 +#: ../libinfinity/server/infd-directory.c:2055 #, c-format msgid "" "Could not write session \"%s\" to storage: %s\n" @@ -2302,25 +2302,25 @@ "All changes since the document das been saved are lost." msgstr "" -#: ../libinfinity/server/infd-directory.c:2858 +#: ../libinfinity/server/infd-directory.c:2857 msgid "Server does not support issuing certificates" msgstr "" -#: ../libinfinity/server/infd-directory.c:2972 +#: ../libinfinity/server/infd-directory.c:2971 msgid "The certificate request has no common name set" msgstr "" -#: ../libinfinity/server/infd-directory.c:3027 +#: ../libinfinity/server/infd-directory.c:3026 #, c-format msgid "There is already a transient account with name \"%s\"" msgstr "" -#: ../libinfinity/server/infd-directory.c:3091 +#: ../libinfinity/server/infd-directory.c:3090 msgid "This server does not support creating accounts" msgstr "" -#: ../libinfinity/server/infd-directory.c:3293 -#: ../libinfinity/server/infd-directory.c:11209 +#: ../libinfinity/server/infd-directory.c:3292 +#: ../libinfinity/server/infd-directory.c:11182 #: ../libinfinity/server/infd-filesystem-account-storage.c:1268 #: ../libinfinity/server/infd-filesystem-account-storage.c:1450 #: ../libinfinity/server/infd-filesystem-account-storage.c:1564 @@ -2328,11 +2328,11 @@ msgid "There is no such account with ID \"%s\"" msgstr "" -#: ../libinfinity/server/infd-directory.c:3350 +#: ../libinfinity/server/infd-directory.c:3349 msgid "This server does not support removing accounts" msgstr "" -#: ../libinfinity/server/infd-directory.c:3691 +#: ../libinfinity/server/infd-directory.c:3690 #, c-format msgid "" "Session \"%s\" could not be saved: %s\n" @@ -2340,122 +2340,122 @@ "server is shut down." msgstr "" -#: ../libinfinity/server/infd-directory.c:4203 +#: ../libinfinity/server/infd-directory.c:4202 #, c-format msgid "Name \"%s\" is an invalid name: contains non-printable characters" msgstr "" -#: ../libinfinity/server/infd-directory.c:4221 +#: ../libinfinity/server/infd-directory.c:4220 #, c-format msgid "Name \"%s\" is an invalid name: contains only space characters" msgstr "" -#: ../libinfinity/server/infd-directory.c:4234 +#: ../libinfinity/server/infd-directory.c:4233 #, c-format msgid "Name \"%s\" is an invalid name: contains \"/\"" msgstr "" -#: ../libinfinity/server/infd-directory.c:4249 +#: ../libinfinity/server/infd-directory.c:4248 #, c-format msgid "A node with name \"%s\" exists already" msgstr "" -#: ../libinfinity/server/infd-directory.c:5093 +#: ../libinfinity/server/infd-directory.c:5069 #: ../libinfinity/server/infd-session-proxy.c:418 msgid "Permission denied" msgstr "" -#: ../libinfinity/server/infd-directory.c:5240 +#: ../libinfinity/server/infd-directory.c:5216 #, c-format msgid "Failed to look up account: %s. Logging out user..." msgstr "" -#: ../libinfinity/server/infd-directory.c:5311 +#: ../libinfinity/server/infd-directory.c:5287 msgid "No subscription request for the server chat" msgstr "" -#: ../libinfinity/server/infd-directory.c:5330 +#: ../libinfinity/server/infd-directory.c:5306 #, c-format msgid "No subscription request with ID %u" msgstr "" -#: ../libinfinity/server/infd-directory.c:5398 +#: ../libinfinity/server/infd-directory.c:5374 #, c-format msgid "Node with ID \"%u\" is not a subdirectory node" msgstr "" -#: ../libinfinity/server/infd-directory.c:5410 +#: ../libinfinity/server/infd-directory.c:5386 #, c-format msgid "Node with ID \"%u\" has unsupported type \"%s\"" msgstr "" -#: ../libinfinity/server/infd-directory.c:5421 +#: ../libinfinity/server/infd-directory.c:5397 #, c-format msgid "Node with ID \"%u\" is not a leaf node" msgstr "" -#: ../libinfinity/server/infd-directory.c:6066 -#: ../libinfinity/server/infd-directory.c:11294 +#: ../libinfinity/server/infd-directory.c:6042 +#: ../libinfinity/server/infd-directory.c:11267 msgid "No background storage available" msgstr "" -#: ../libinfinity/server/infd-directory.c:6191 +#: ../libinfinity/server/infd-directory.c:6167 msgid "The chat is disabled" msgstr "" -#: ../libinfinity/server/infd-directory.c:6301 +#: ../libinfinity/server/infd-directory.c:6277 msgid "No certificate request provided" msgstr "" -#: ../libinfinity/server/infd-directory.c:6833 +#: ../libinfinity/server/infd-directory.c:6809 msgid "The ACL for this node has already been queried" msgstr "" -#: ../libinfinity/server/infd-directory.c:6921 +#: ../libinfinity/server/infd-directory.c:6897 msgid "The ACL for this node has not been queried yet" msgstr "" -#: ../libinfinity/server/infd-directory.c:6948 +#: ../libinfinity/server/infd-directory.c:6924 msgid "The set-acl request does not have any ACL provided" msgstr "" -#: ../libinfinity/server/infd-directory.c:6965 -#: ../libinfinity/server/infd-directory.c:10349 +#: ../libinfinity/server/infd-directory.c:6941 +#: ../libinfinity/server/infd-directory.c:10322 msgid "This server does not support the requested permissions" msgstr "" -#: ../libinfinity/server/infd-directory.c:7233 +#: ../libinfinity/server/infd-directory.c:7209 msgid "The node to be subscribed to has been removed" msgstr "" -#: ../libinfinity/server/infd-directory.c:7355 -#: ../libinfinity/server/infd-directory.c:7471 +#: ../libinfinity/server/infd-directory.c:7331 +#: ../libinfinity/server/infd-directory.c:7447 msgid "The parent node of the node to be added has been removed" msgstr "" -#: ../libinfinity/server/infd-directory.c:7556 +#: ../libinfinity/server/infd-directory.c:7532 msgid "Client did not acknowledge initial subscription" msgstr "" -#: ../libinfinity/server/infd-directory.c:7878 +#: ../libinfinity/server/infd-directory.c:7854 #, c-format msgid "Failed to explore the root directory of the new storage: %s" msgstr "" -#: ../libinfinity/server/infd-directory.c:7969 +#: ../libinfinity/server/infd-directory.c:7945 #, c-format msgid "" "Failed to lookup account IDs on account storage change: %s. Demoting clients " "to default account." msgstr "" -#: ../libinfinity/server/infd-directory.c:8049 +#: ../libinfinity/server/infd-directory.c:8025 #, c-format msgid "Failed to obtain account list from account storage: %s" msgstr "" -#: ../libinfinity/server/infd-directory.c:8181 -#: ../libinfinity/server/infd-directory.c:8266 +#: ../libinfinity/server/infd-directory.c:8157 +#: ../libinfinity/server/infd-directory.c:8242 #, c-format msgid "Failed to look up accounts in new account storage: %s" msgstr "" @@ -2528,27 +2528,23 @@ msgid "The certificate with DN=%s is already in use by another account" msgstr "" -#: ../libinfinity/server/infd-filesystem-storage.c:74 -msgid "The path does not start with \"/\"" -msgstr "" - -#: ../libinfinity/server/infd-filesystem-storage.c:89 +#: ../libinfinity/server/infd-filesystem-storage.c:79 msgid "The path contains invalid components" msgstr "" -#: ../libinfinity/server/infd-filesystem-storage.c:119 +#: ../libinfinity/server/infd-filesystem-storage.c:109 #, c-format msgid "Failed to convert root directory to filename encoding: %s" msgstr "" -#: ../libinfinity/server/infd-filesystem-storage.c:130 +#: ../libinfinity/server/infd-filesystem-storage.c:120 #, c-format msgid "" "Failed to create root directory: %s\n" "Subsequent storage operations will most likely fail\n" msgstr "" -#: ../libinfinity/server/infd-filesystem-storage.c:274 +#: ../libinfinity/server/infd-filesystem-storage.c:264 #, c-format msgid "Error processing file \"%s\": Toplevel tag is not \"%s\"" msgstr ""