Package: release.debian.org Severity: normal Tags: jessie User: release.debian....@packages.debian.org Usertags: pu
I would like to upload libinfinity 0.6.7-1 from stretch as 0.6.7-1~deb8u1 to jessie (debdiff of 0.6.6-1 to 0.6.7-1 attached). To quote the upstream NEWS file of this maintenance release: * Fix a possible crash when an entry is removed from the document browser. * Fix a possible crash in infinoted when access control lists are enabled. * Fix an assertion failure when operating with text documents and using glib 2.46 or newer. The release contains a little bit of autotools, changelog, and po churn, but apart from that does only contain the above changes. If needed I can back out the glib 2.46 change, although I'd prefer to upload the whole thing as the change is arguably more correct even with older glibs. Kind regards and thanks Philipp Kern
diff -Nru libinfinity-0.6.6/ChangeLog libinfinity-0.6.7/ChangeLog --- libinfinity-0.6.6/ChangeLog 2015-05-13 02:57:57.089748067 +0200 +++ libinfinity-0.6.7/ChangeLog 2015-10-14 01:34:53.805216085 +0200 @@ -1,6 +1,115 @@ +commit a7bdd262474898d180285129f5aed3e87b04461a +Author: Armin Burgmeier <ar...@arbur.net> +Date: Tue Oct 13 19:34:35 2015 -0400 + + Release libinfinity 0.6.7 + + NEWS | 8 ++++++++ + 1 file changed, 8 insertions(+) + +commit d447fc406c0ceb2766f69ffec28f017baa7ed7a9 +Author: Armin Burgmeier <ar...@arbur.net> +Date: Mon Oct 12 19:51:50 2015 -0400 + + InfTextChunk: fix segment lookup for offset=0 (#10) + + This used to work with glib 2.42, but it seems that the semantics of + g_sequence_search() have changed with respect to what item is returned + when the comparison function returns 0. The behavior in that case is not + documented. Fix this by passing a different comparison function that + never returns 0, so that there is no ambiguity in which segment is + returned. + + libinftext/inf-text-chunk.c | 29 ++++++++++++++++++++++++++++- + 1 file changed, 28 insertions(+), 1 deletion(-) + +commit 3fb2be4fb355ed44541d6da486dc73c5dd739ca3 +Author: Armin Burgmeier <ar...@arbur.net> +Date: Mon Oct 12 19:51:40 2015 -0400 + + Fix integrity check in inf_text_chunk_get_byte_index_utf8() + + libinftext/inf-text-chunk.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 4fc1227317eea35b87e10686daf467642c9abe1e +Author: Armin Burgmeier <ar...@arbur.net> +Date: Tue Jun 9 21:20:23 2015 -0400 + + Fix uninitialized variable when suggesting a SASL mechanism + + libinfinity/common/inf-xmpp-connection.c | 1 + + 1 file changed, 1 insertion(+) + +commit 28dd0736c7618861dd9a23e8793e4db865ce6a5e +Author: Armin Burgmeier <ar...@arbur.net> +Date: Sun Jun 7 21:27:23 2015 -0400 + + InfXmppConnection: Fix strncmp invocation when suggesting SASL mechanism + + libinfinity/common/inf-xmpp-connection.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 4dfaf22925dbe12008627d0a604b179fd6e4b7b4 +Author: Armin Burgmeier <ar...@arbur.net> +Date: Wed May 27 22:21:22 2015 -0400 + + Fix g_free / g_slice_free mismatch + + libinfinity/server/infd-directory.c | 18 ++++++++++++++++-- + 1 file changed, 16 insertions(+), 2 deletions(-) + +commit d17398a0f850a79ffbe78c10bbe8ebfd0cd5e63c +Author: Armin Burgmeier <ar...@arbur.net> +Date: Wed May 27 21:12:28 2015 -0400 + + InfdDirectory: Fix error reply to client when session proxy cannot + be created + + libinfinity/server/infd-directory.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 822b227c662e5fcaab3c1bdfdf224eebaefe7728 +Author: Armin Burgmeier <ar...@arbur.net> +Date: Sat May 23 14:39:59 2015 -0400 + + Fix session becoming inconsistent with active local users during + subscription + + When the server sends the vector time of local users during subscription, + it now sends the last send vector instead of the real value of the + user time, + so that subsequent state vector diffs are consistent for the newly joined + client. + + Conflicts: + libinfinity/adopted/inf-adopted-session.c + + libinfinity/adopted/inf-adopted-session.c | 34 ++++++++++++++++++++++++++++- + 1 file changed, 33 insertions(+), 1 deletion(-) + +commit cf4588011a5023af36d6393f1f724a11742b84f1 +Author: Armin Burgmeier <ar...@arbur.net> +Date: Fri May 22 19:22:26 2015 -0400 + + Fix a possible crash when removing a browser entry + + libinfgtk/inf-gtk-browser-store.c | 5 +++++ + libinfgtk/inf-gtk-browser-view.c | 11 +++++++++++ + 2 files changed, 16 insertions(+) + +commit 4522baf6a975f38e6874c90695b00af0d2854dfc +Author: Armin Burgmeier <ar...@arbur.net> +Date: Tue May 12 20:58:49 2015 -0400 + + Post-release bump to 0.6.7 + + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + commit a5bc24e87714d3c3fa75711c5d06b9b8e4c81d53 Author: Armin Burgmeier <ar...@arbur.net> -Date: Tue May 12 20:12:52 2015 -0400 +Date: Tue May 12 20:12:52 2015 -0400 Release libinfinity 0.6.6 @@ -9,7 +118,7 @@ commit 3862714b942fe626308f06e01730df7b48921faf Author: Armin Burgmeier <ar...@arbur.net> -Date: Tue May 12 20:55:41 2015 -0400 +Date: Tue May 12 20:55:41 2015 -0400 Fix make distcheck for recent automake versions @@ -22,7 +131,7 @@ commit 06fa9455c687a67e4fc2c2f201817c64c73a3fcf Author: Armin Burgmeier <ar...@arbur.net> -Date: Mon May 11 22:59:34 2015 -0400 +Date: Mon May 11 22:59:34 2015 -0400 Fix expired certificate validation (gobby #61) @@ -31,7 +140,7 @@ commit 244c7e8d69b98330ac7a285922c6fcb0a167ae20 Author: Armin Burgmeier <ar...@arbur.net> -Date: Tue May 5 20:45:45 2015 -0400 +Date: Tue May 5 20:45:45 2015 -0400 Update caret position when only updating fixline state @@ -45,7 +154,7 @@ commit fb0c8532694476f3f624f66eb12becf851147e27 Author: Armin Burgmeier <ar...@arbur.net> -Date: Mon May 4 20:31:12 2015 -0400 +Date: Mon May 4 20:31:12 2015 -0400 fixline buffer: Fix crash when iterating backwards through empty base buffer @@ -55,7 +164,7 @@ commit da06a82642c1d2d0d5a44f1ea3f62ad0b2b22c9a Author: Armin Burgmeier <ar...@arbur.net> -Date: Sun May 3 17:07:46 2015 -0400 +Date: Sun May 3 17:07:46 2015 -0400 Fix insert/erase notifications in InfTextFixlineBuffer @@ -69,7 +178,7 @@ commit 9b009160dd658fe9272d69025a8225b02eafb8de Author: Armin Burgmeier <ar...@arbur.net> -Date: Thu Apr 30 21:37:23 2015 -0400 +Date: Thu Apr 30 21:37:23 2015 -0400 Fix create_end_iter() implementation in InfTextFixlineBuffer @@ -78,7 +187,7 @@ commit 8990cf98ab43f3aca6a7bf12e9608b0e2e9b5c70 Author: Armin Burgmeier <ar...@arbur.net> -Date: Fri Apr 3 13:04:24 2015 -0400 +Date: Fri Apr 3 13:04:24 2015 -0400 Fix a crash when the server explicitly changes client account to default @@ -87,7 +196,7 @@ commit 0ce00121225662125b2ae4e48ff5d9f712e86a70 Author: Armin Burgmeier <ar...@arbur.net> -Date: Sat Jan 17 20:33:25 2015 -0500 +Date: Sat Jan 17 20:33:25 2015 -0500 Post-release bump to 0.6.6 @@ -96,7 +205,7 @@ commit 1a0ff8091afdfe831d317d10c377a8a025ea259d Author: Armin Burgmeier <ar...@arbur.net> -Date: Sat Jan 17 20:19:38 2015 -0500 +Date: Sat Jan 17 20:19:38 2015 -0500 Release libinfinity 0.6.5 @@ -105,7 +214,7 @@ commit 7b4efd3ec7fcf7ca44550d7b29e8448cd8fb5f44 Author: Armin Burgmeier <ar...@arbur.net> -Date: Wed Jan 14 15:28:16 2015 -0500 +Date: Wed Jan 14 15:28:16 2015 -0500 Check whether we need -lresolv for res_query() (gobby #23) @@ -117,7 +226,7 @@ commit 66432aa0b9b48906db8c258cc70dec4c012787d5 Author: Armin Burgmeier <ar...@arbur.net> -Date: Tue Jan 6 16:48:10 2015 +0100 +Date: Tue Jan 6 16:48:10 2015 +0100 Fix a crash when sending unsubscribe message causes connection failure @@ -126,7 +235,7 @@ commit 70913b5b64a85b9d5e0870b73cafff0f9c0aed55 Author: Armin Burgmeier <ar...@arbur.net> -Date: Tue Jan 6 14:13:38 2015 +0100 +Date: Tue Jan 6 14:13:38 2015 +0100 InfdDirectory: Fail add-subdirectory request if name already exists @@ -135,7 +244,7 @@ commit 4fd9cadf82d2ee24d9c966ad30c64db3aa83696f Author: Armin Burgmeier <ar...@arbur.net> -Date: Tue Jan 6 13:30:37 2015 +0100 +Date: Tue Jan 6 13:30:37 2015 +0100 Fix assertion failure when directory without storage is disposed @@ -144,7 +253,7 @@ commit 0ea3d867cdedad32483fe7507a41680ab7e704ef Author: Armin Burgmeier <ar...@arbur.net> -Date: Tue Oct 28 13:39:53 2014 -0400 +Date: Tue Oct 28 13:39:53 2014 -0400 Fix a memory leak in the plugin manager diff -Nru libinfinity-0.6.6/configure libinfinity-0.6.7/configure --- libinfinity-0.6.6/configure 2015-05-13 02:14:48.253651523 +0200 +++ libinfinity-0.6.7/configure 2015-10-14 01:34:48.853215900 +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.6. +# Generated by GNU Autoconf 2.69 for libinfinity 0.6.7. # # Report bugs to <ar...@arbur.net>. # @@ -590,8 +590,8 @@ # Identity of this package. PACKAGE_NAME='libinfinity' PACKAGE_TARNAME='libinfinity' -PACKAGE_VERSION='0.6.6' -PACKAGE_STRING='libinfinity 0.6.6' +PACKAGE_VERSION='0.6.7' +PACKAGE_STRING='libinfinity 0.6.7' 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.6 to adapt to many kinds of systems. +\`configure' configures libinfinity 0.6.7 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.6:";; + short | recursive ) echo "Configuration of libinfinity 0.6.7:";; 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.6 +libinfinity configure 0.6.7 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.6, which was +It was created by libinfinity $as_me 0.6.7, 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.6' + VERSION='0.6.7' cat >>confdefs.h <<_ACEOF @@ -3117,7 +3117,7 @@ ac_config_headers="$ac_config_headers config.h libinfinity/inf-config.h" -LIBINFINITY_VERSION=0.6.6 +LIBINFINITY_VERSION=0.6.7 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.6, which was +This file was extended by libinfinity $as_me 0.6.7, 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.6 +libinfinity config.status 0.6.7 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -Nru libinfinity-0.6.6/configure.ac libinfinity-0.6.7/configure.ac --- libinfinity-0.6.6/configure.ac 2015-05-12 05:05:50.617228438 +0200 +++ libinfinity-0.6.7/configure.ac 2015-10-14 01:21:06.669185239 +0200 @@ -1,4 +1,4 @@ -m4_define([libinfinity_version], [0.6.6]) +m4_define([libinfinity_version], [0.6.7]) m4_define([libinfinity_api_version], [0.6]) m4_define([libinfinity_libtool_version], [0:0:0]) diff -Nru libinfinity-0.6.6/debian/changelog libinfinity-0.6.7/debian/changelog --- libinfinity-0.6.6/debian/changelog 2015-05-24 01:35:49.000000000 +0200 +++ libinfinity-0.6.7/debian/changelog 2015-10-24 23:30:34.000000000 +0200 @@ -1,3 +1,9 @@ +libinfinity (0.6.7-1) unstable; urgency=medium + + * New upstream release + + -- Philipp Kern <pk...@debian.org> Sat, 24 Oct 2015 23:29:31 +0200 + libinfinity (0.6.6-1) unstable; urgency=medium * New upstream release diff -Nru libinfinity-0.6.6/docs/reference/libinfgtk/html/index.html libinfinity-0.6.7/docs/reference/libinfgtk/html/index.html --- libinfinity-0.6.6/docs/reference/libinfgtk/html/index.html 2015-05-13 02:57:58.905748135 +0200 +++ libinfinity-0.6.7/docs/reference/libinfgtk/html/index.html 2015-10-14 01:35:21.897217132 +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.6. + for libinfgtk 0.6.7. 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.6/docs/reference/libinfinity/html/index.html libinfinity-0.6.7/docs/reference/libinfinity/html/index.html --- libinfinity-0.6.6/docs/reference/libinfinity/html/index.html 2015-05-13 02:57:58.713748127 +0200 +++ libinfinity-0.6.7/docs/reference/libinfinity/html/index.html 2015-10-14 01:35:16.001216912 +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.6. + for libinfinity 0.6.7. 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.6/docs/reference/libinfinoted-plugin-manager/html/index.html libinfinity-0.6.7/docs/reference/libinfinoted-plugin-manager/html/index.html --- libinfinity-0.6.6/docs/reference/libinfinoted-plugin-manager/html/index.html 2015-05-13 02:57:59.085748141 +0200 +++ libinfinity-0.6.7/docs/reference/libinfinoted-plugin-manager/html/index.html 2015-10-14 01:35:25.809217278 +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.6. + for libinfinoted-plugin-manager 0.6.7. 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.6/docs/reference/libinftext/html/index.html libinfinity-0.6.7/docs/reference/libinftext/html/index.html --- libinfinity-0.6.6/docs/reference/libinftext/html/index.html 2015-05-13 02:57:58.817748131 +0200 +++ libinfinity-0.6.7/docs/reference/libinftext/html/index.html 2015-10-14 01:35:19.177217031 +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.6. + for libinftext 0.6.7. 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.6/docs/reference/libinftextgtk/html/index.html libinfinity-0.6.7/docs/reference/libinftextgtk/html/index.html --- libinfinity-0.6.6/docs/reference/libinftextgtk/html/index.html 2015-05-13 02:57:58.993748138 +0200 +++ libinfinity-0.6.7/docs/reference/libinftextgtk/html/index.html 2015-10-14 01:35:23.933217208 +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.6. + for libinftextgtk 0.6.7. 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.6/docs/reference/version.xml libinfinity-0.6.7/docs/reference/version.xml --- libinfinity-0.6.6/docs/reference/version.xml 2015-05-13 02:51:15.881733105 +0200 +++ libinfinity-0.6.7/docs/reference/version.xml 2015-10-13 02:11:50.577407944 +0200 @@ -1 +1 @@ -0.6.6 \ No newline at end of file +0.6.7 \ No newline at end of file diff -Nru libinfinity-0.6.6/libinfgtk/inf-gtk-browser-store.c libinfinity-0.6.7/libinfgtk/inf-gtk-browser-store.c --- libinfinity-0.6.6/libinfgtk/inf-gtk-browser-store.c 2015-02-25 02:50:00.559717365 +0100 +++ libinfinity-0.6.7/libinfgtk/inf-gtk-browser-store.c 2015-10-13 01:55:48.557372068 +0200 @@ -520,6 +520,11 @@ /* Note we need to reset the browser before we unlink because * inf_gtk_browser_store_item_set_browser() requires item still being * linked for change notifications. */ + /* TODO: This is a bit cumbersome. A better way might be to be able for + * the iter parameter to be NULL to indicate that an entry with + * its browser has been deleted. However, this would still need to do + * lots of the unregistration that is now happening in + * inf_gtk_browser_store_item_set_browser(). */ if(item->browser != NULL) { inf_gtk_browser_store_item_set_browser(store, item, path, NULL); diff -Nru libinfinity-0.6.6/libinfgtk/inf-gtk-browser-view.c libinfinity-0.6.7/libinfgtk/inf-gtk-browser-view.c --- libinfinity-0.6.6/libinfgtk/inf-gtk-browser-view.c 2015-02-25 02:50:00.559717365 +0100 +++ libinfinity-0.6.7/libinfgtk/inf-gtk-browser-view.c 2015-10-13 01:55:48.557372068 +0200 @@ -2073,6 +2073,12 @@ switch(status) { + case INF_GTK_BROWSER_MODEL_INVALID: + /* This can happen when the cell data func is called between the + * resetting of an item and its removal from the tree. But in any case + * it will be removed soon, so no need to do anything here. */ + stock_id = NULL; + break; case INF_GTK_BROWSER_MODEL_DISCONNECTED: case INF_GTK_BROWSER_MODEL_DISCOVERED: case INF_GTK_BROWSER_MODEL_RESOLVING: @@ -2326,6 +2332,11 @@ switch(status) { + case INF_GTK_BROWSER_MODEL_INVALID: + /* This can happen when the cell data func is called between the + * resetting of an item and its removal from the tree. But in any case + * it will be removed soon, so no need to do anything here. */ + break; case INF_GTK_BROWSER_MODEL_DISCOVERED: case INF_GTK_BROWSER_MODEL_DISCONNECTED: g_object_set( diff -Nru libinfinity-0.6.6/libinfinity/adopted/inf-adopted-session.c libinfinity-0.6.7/libinfinity/adopted/inf-adopted-session.c --- libinfinity-0.6.6/libinfinity/adopted/inf-adopted-session.c 2015-02-25 02:50:00.567717365 +0100 +++ libinfinity-0.6.7/libinfinity/adopted/inf-adopted-session.c 2015-10-13 01:55:48.577372069 +0200 @@ -1397,10 +1397,16 @@ guint n_params, xmlNodePtr xml) { + InfAdoptedSessionPrivate* priv; const GParameter* time; InfAdoptedStateVector* vector; gchar* time_string; + const GParameter* id_param; + guint id; + GSList* item; + InfAdoptedSessionLocalUser* local_user; + INF_SESSION_CLASS(parent_class)->set_xml_user_props( session, params, @@ -1408,10 +1414,36 @@ xml ); + priv = INF_ADOPTED_SESSION_PRIVATE(INF_ADOPTED_SESSION(session)); + time = inf_session_lookup_user_property(params, n_params, "vector"); if(time != NULL) { - vector = (InfAdoptedStateVector*)g_value_get_boxed(&time->value); + /* If this is a local user, use last_send_vector instead of the user's + * vector, so that subsequent differential updates are consistent. */ + vector = NULL; + id_param = inf_session_lookup_user_property(params, n_params, "id"); + + if(id_param != NULL) + { + id = g_value_get_uint(&id_param->value); + for(item = priv->local_users; item != NULL; item = item->next) + { + local_user = (InfAdoptedSessionLocalUser*)item->data; + if(inf_user_get_id(INF_USER(local_user->user)) == id) + { + vector = local_user->last_send_vector; + break; + } + } + } + + if(vector == NULL) + { + /* remote user, or a user join request */ + vector = (InfAdoptedStateVector*)g_value_get_boxed(&time->value); + } + time_string = inf_adopted_state_vector_to_string(vector); inf_xml_util_set_attribute(xml, "time", time_string); g_free(time_string); diff -Nru libinfinity-0.6.6/libinfinity/common/inf-xmpp-connection.c libinfinity-0.6.7/libinfinity/common/inf-xmpp-connection.c --- libinfinity-0.6.6/libinfinity/common/inf-xmpp-connection.c 2015-04-03 17:31:30.143703814 +0200 +++ libinfinity-0.6.7/libinfinity/common/inf-xmpp-connection.c 2015-10-14 01:21:06.701185240 +0200 @@ -2203,6 +2203,7 @@ gboolean has_mechanism; priv = INF_XMPP_CONNECTION_PRIVATE(xmpp); + suggestion = NULL; if(priv->sasl_own_context != NULL) { @@ -2219,7 +2220,7 @@ } if(strncmp(iter, "ANONYMOUS", - MAX((size_t) (end - iter), sizeof("ANONYMOUS") - 1) == 0)) + MAX((size_t) (end - iter), sizeof("ANONYMOUS") - 1)) == 0) { suggestion = "ANONYMOUS"; break; diff -Nru libinfinity-0.6.6/libinfinity/server/infd-directory.c libinfinity-0.6.7/libinfinity/server/infd-directory.c --- libinfinity-0.6.6/libinfinity/server/infd-directory.c 2015-04-03 19:37:42.407986202 +0200 +++ libinfinity-0.6.7/libinfinity/server/infd-directory.c 2015-10-13 01:55:48.653372072 +0200 @@ -2701,6 +2701,7 @@ InfdDirectoryPrivate* priv; InfdDirectoryTransientAccount* transient; InfAclAccount* result; + InfAclAccount* result_copy; guint i; priv = INFD_DIRECTORY_PRIVATE(directory); @@ -2735,8 +2736,21 @@ return NULL; } - if(transient_index != NULL) *transient_index = priv->n_transient_accounts; - return result; + if(transient_index != NULL) + *transient_index = priv->n_transient_accounts; + + /* Note that the return value that we got from + * infd_account_storage_lookup_accounts() is actually an array, and + * therefore needs to be freed with inf_acl_account_array_free(). However, + * we only return a single account that we want to be freed with + * inf_acl_account_free(). Therefore, we are making a copy here -- note + * that the two free functions are in fact different if GSlice is enabled, + * since an array of InfAclAccounts in allocated with g_malloc, while a + * single InfAclAccount is allocated with GSlice. */ + result_copy = inf_acl_account_copy(result); + inf_acl_account_array_free(result, 1); + + return result_copy; } static InfAclAccountId @@ -5979,9 +5993,9 @@ /* Only if we have already a proxy we could not have a request here */ g_assert(request != NULL); inf_request_fail(INF_REQUEST(request), local_error); - g_error_free(local_error); g_object_unref(request); g_free(seq); + g_propagate_error(error, local_error); return FALSE; } } diff -Nru libinfinity-0.6.6/libinftext/inf-text-chunk.c libinfinity-0.6.7/libinftext/inf-text-chunk.c --- libinfinity-0.6.6/libinftext/inf-text-chunk.c 2015-02-25 02:50:00.595717366 +0100 +++ libinfinity-0.6.7/libinftext/inf-text-chunk.c 2015-10-14 01:21:06.709185240 +0200 @@ -90,7 +90,7 @@ guint offset) { #ifdef CHUNK_CHECK_INTEGRITY - g_assert(offset <= g_utf8_strlen(self, bytes)); + g_assert(offset <= g_utf8_strlen(text, bytes)); #endif return g_utf8_offset_to_pointer(text, offset) - text; @@ -181,6 +181,33 @@ return 1; } +/* This is a special comparison function which is only used + * in inf_text_chunk_get_segment. It makes sure that when two segments + * have the same offset, the second one gets sorted behind. This ensures + * that the first segment in the sequence is never returned, since it + * always has offset 0, which is a precondition for the algorithm + * in inf_text_chunk_get_segment. See also libinfinity github issue #10. */ +static int +inf_text_chunk_segment_cmp_for_get_segment(gconstpointer first, + gconstpointer second, + gpointer userdata) +{ + const InfTextChunkSegment* first_segment; + const InfTextChunkSegment* second_segment; + + first_segment = (const InfTextChunkSegment*)first; + second_segment = (const InfTextChunkSegment*)second; + + g_return_val_if_fail(second != NULL && first != NULL, 0); + + if (first_segment->offset < second_segment->offset) + return -1; + else if (first_segment->offset == second_segment->offset) + return -1; + else + return 1; +} + static guint inf_text_chunk_next_offset(InfTextChunk* self, GSequenceIter* iter) @@ -247,7 +274,7 @@ iter = g_sequence_search( self->segments, &key, - inf_text_chunk_segment_cmp, + inf_text_chunk_segment_cmp_for_get_segment, NULL ); diff -Nru libinfinity-0.6.6/NEWS libinfinity-0.6.7/NEWS --- libinfinity-0.6.6/NEWS 2015-05-13 02:57:32.785747161 +0200 +++ libinfinity-0.6.7/NEWS 2015-10-14 01:34:32.709215298 +0200 @@ -1,3 +1,11 @@ +libinfinity 0.6.7: + * Fix a possible crash when an entry is removed from the document + browser. + * Fix a possible crash in infinoted when access control lists are + enabled. + * Fix an assertion failure when operating with text documents and + using glib 2.46 or newer. + libinfinity 0.6.6: * Fix certificates being only verified for expiration and other criteria such as weak algorithms if the CA is not trusted. diff -Nru libinfinity-0.6.6/po/libinfinity-0.6.pot libinfinity-0.6.7/po/libinfinity-0.6.pot --- libinfinity-0.6.6/po/libinfinity-0.6.pot 2015-05-13 02:57:28.465746999 +0200 +++ libinfinity-0.6.7/po/libinfinity-0.6.pot 2015-10-14 01:35:25.913217282 +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: 2014-08-27 01:11+0200\n" +"POT-Creation-Date: 2015-10-13 19:35-0400\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:238 +#: ../infinoted/infinoted-options.c:241 msgid "WARNING: Requiring password through unencrypted connection." msgstr "" -#: ../infinoted/infinoted-options.c:249 +#: ../infinoted/infinoted-options.c:252 msgid "" "Creating a new private key also requires creating a new certificate signed " "with it." msgstr "" -#: ../infinoted/infinoted-options.c:263 +#: ../infinoted/infinoted-options.c:266 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:278 +#: ../infinoted/infinoted-options.c:281 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:322 +#: ../infinoted/infinoted-options.c:325 #, c-format msgid "Error reading configuration file \"%s\": " msgstr "" -#: ../infinoted/infinoted-options.c:380 ../infinoted/infinoted-options.c:424 -#: ../infinoted/infinoted-options.c:498 +#: ../infinoted/infinoted-options.c:383 ../infinoted/infinoted-options.c:427 +#: ../infinoted/infinoted-options.c:501 #, c-format msgid "The option \"%s\" can only be given once" msgstr "" -#: ../infinoted/infinoted-options.c:409 +#: ../infinoted/infinoted-options.c:412 #, c-format msgid "\"%s\" cannot be interpreted as a boolean value" msgstr "" -#: ../infinoted/infinoted-options.c:439 +#: ../infinoted/infinoted-options.c:442 #, c-format msgid "\"%s\" is not a number" msgstr "" -#: ../infinoted/infinoted-options.c:451 +#: ../infinoted/infinoted-options.c:454 #, c-format msgid "Could not read the number \"%s\": %s" msgstr "" -#: ../infinoted/infinoted-options.c:464 +#: ../infinoted/infinoted-options.c:467 #, c-format msgid "Number \"%s\" is too small" msgstr "" -#: ../infinoted/infinoted-options.c:476 +#: ../infinoted/infinoted-options.c:479 #, c-format msgid "Number \"%s\" is too large" msgstr "" -#: ../infinoted/infinoted-options.c:686 +#: ../infinoted/infinoted-options.c:689 msgid "Configuration file to load, instead of the default configuration file" msgstr "" -#: ../infinoted/infinoted-options.c:688 +#: ../infinoted/infinoted-options.c:691 msgid "CONFIG-FILE" msgstr "" -#: ../infinoted/infinoted-options.c:692 +#: ../infinoted/infinoted-options.c:695 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:698 +#: ../infinoted/infinoted-options.c:701 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:705 +#: ../infinoted/infinoted-options.c:708 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:710 +#: ../infinoted/infinoted-options.c:713 msgid "PLUGIN:PARAMETER:VALUE" msgstr "" -#: ../infinoted/infinoted-options.c:715 +#: ../infinoted/infinoted-options.c:718 msgid "Daemonize the server, i.e. run it in the background" msgstr "" -#: ../infinoted/infinoted-options.c:719 +#: ../infinoted/infinoted-options.c:722 msgid "Kill a running daemon and exit" msgstr "" -#: ../infinoted/infinoted-options.c:724 +#: ../infinoted/infinoted-options.c:727 msgid "Display version information and exit" msgstr "" -#: ../infinoted/infinoted-options.c:783 +#: ../infinoted/infinoted-options.c:786 msgid "Infinoted Options" msgstr "" -#: ../infinoted/infinoted-options.c:784 +#: ../infinoted/infinoted-options.c:787 msgid "Main Program Options" msgstr "" -#: ../infinoted/infinoted-options.c:793 +#: ../infinoted/infinoted-options.c:796 msgid "infinote dedicated server" msgstr "" -#: ../infinoted/infinoted-options.c:828 +#: ../infinoted/infinoted-options.c:831 msgid "Could not kill daemon" msgstr "" @@ -358,27 +358,27 @@ msgid "Unloaded plugin \"%s\" from \"%s\"" msgstr "" -#: ../infinoted/infinoted-run.c:353 +#: ../infinoted/infinoted-run.c:370 #, c-format msgid "Failed to generate Diffie-Hellman parameters: %s" msgstr "" -#: ../infinoted/infinoted-run.c:373 +#: ../infinoted/infinoted-run.c:390 #, c-format msgid "IPv6 Server running on port %u" msgstr "" -#: ../infinoted/infinoted-run.c:396 +#: ../infinoted/infinoted-run.c:413 #, c-format msgid "IPv4 Server running on port %u" msgstr "" -#: ../infinoted/infinoted-run.c:417 +#: ../infinoted/infinoted-run.c:434 #, c-format msgid "Failed to start server: %s" msgstr "" -#: ../infinoted/infinoted-run.c:435 +#: ../infinoted/infinoted-run.c:452 msgid "Infinoted shutting down..." msgstr "" @@ -412,27 +412,27 @@ msgid "Generating self-signed certificate..." msgstr "" -#: ../infinoted/infinoted-startup.c:318 +#: ../infinoted/infinoted-startup.c:321 #, c-format msgid "User %s failed to log in from %s: PAM authentication failed" msgstr "" -#: ../infinoted/infinoted-startup.c:338 +#: ../infinoted/infinoted-startup.c:341 #, c-format msgid "User %s failed to log in from %s: PAM user not allowed" msgstr "" -#: ../infinoted/infinoted-startup.c:358 +#: ../infinoted/infinoted-startup.c:361 #, c-format msgid "User %s logged in from %s via PAM" msgstr "" -#: ../infinoted/infinoted-startup.c:374 +#: ../infinoted/infinoted-startup.c:392 #, c-format msgid "User %s logged in from %s via password" msgstr "" -#: ../infinoted/infinoted-startup.c:385 +#: ../infinoted/infinoted-startup.c:403 #, 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:663 +#: ../infinoted/plugins/infinoted-plugin-document-stream.c:668 msgid "Not a text or chat node" msgstr "" -#: ../infinoted/plugins/infinoted-plugin-document-stream.c:1482 +#: ../infinoted/plugins/infinoted-plugin-document-stream.c:1501 msgid "Allows streaming of document changes to external programs" msgstr "" @@ -873,27 +873,27 @@ msgid "Create New Account" msgstr "" -#: ../libinfgtk/inf-gtk-browser-store.c:676 +#: ../libinfgtk/inf-gtk-browser-store.c:681 msgid "Disconnected" msgstr "" -#: ../libinfgtk/inf-gtk-browser-view.c:2216 +#: ../libinfgtk/inf-gtk-browser-view.c:2222 msgid "Exploring..." msgstr "" -#: ../libinfgtk/inf-gtk-browser-view.c:2255 +#: ../libinfgtk/inf-gtk-browser-view.c:2261 msgid "Synchronizing..." msgstr "" -#: ../libinfgtk/inf-gtk-browser-view.c:2333 +#: ../libinfgtk/inf-gtk-browser-view.c:2344 msgid "Not connected" msgstr "" -#: ../libinfgtk/inf-gtk-browser-view.c:2344 +#: ../libinfgtk/inf-gtk-browser-view.c:2355 msgid "Connecting..." msgstr "" -#: ../libinfgtk/inf-gtk-browser-view.c:2354 +#: ../libinfgtk/inf-gtk-browser-view.c:2365 msgid "Connected" msgstr "" @@ -976,20 +976,20 @@ msgid "Failed to write file with known hosts \"%s\": %s" msgstr "" -#: ../libinfgtk/inf-gtk-certificate-manager.c:577 +#: ../libinfgtk/inf-gtk-certificate-manager.c:572 #, c-format msgid "Failed to add certificate to list of known hosts: %s" msgstr "" -#: ../libinfgtk/inf-gtk-certificate-manager.c:847 +#: ../libinfgtk/inf-gtk-certificate-manager.c:845 msgid "_Cancel connection" msgstr "" -#: ../libinfgtk/inf-gtk-certificate-manager.c:858 +#: ../libinfgtk/inf-gtk-certificate-manager.c:856 msgid "C_ontinue connection" msgstr "" -#: ../libinfgtk/inf-gtk-certificate-manager.c:865 +#: ../libinfgtk/inf-gtk-certificate-manager.c:863 #, c-format msgid "" "Do you want to continue the connection to host \"%s\"? If you choose to " @@ -1175,11 +1175,11 @@ "received request \"%s\"" msgstr "" -#: ../libinfinity/adopted/inf-adopted-session.c:1462 +#: ../libinfinity/adopted/inf-adopted-session.c:1494 msgid "'time' attribute in user message is missing" msgstr "" -#: ../libinfinity/adopted/inf-adopted-session.c:1949 +#: ../libinfinity/adopted/inf-adopted-session.c:1981 msgid "Operation for request missing" msgstr "" @@ -1366,44 +1366,44 @@ "available, but it did not do so." msgstr "" -#: ../libinfinity/client/infc-browser.c:4433 +#: ../libinfinity/client/infc-browser.c:4434 msgid "No certificate request has been made" msgstr "" -#: ../libinfinity/client/infc-browser.c:4461 -#: ../libinfinity/client/infc-browser.c:4492 +#: ../libinfinity/client/infc-browser.c:4462 +#: ../libinfinity/client/infc-browser.c:4493 msgid "No certificate provided" msgstr "" -#: ../libinfinity/client/infc-browser.c:4511 +#: ../libinfinity/client/infc-browser.c:4512 msgid "Cannot verify the certificate without server certificate" msgstr "" -#: ../libinfinity/client/infc-browser.c:4561 +#: ../libinfinity/client/infc-browser.c:4562 #, c-format msgid "Server sent an invalid certificate (%s)" msgstr "" -#: ../libinfinity/client/infc-browser.c:4669 -#: ../libinfinity/server/infd-directory.c:3265 +#: ../libinfinity/client/infc-browser.c:4670 +#: ../libinfinity/server/infd-directory.c:3280 msgid "The default account cannot be removed" msgstr "" -#: ../libinfinity/client/infc-browser.c:4822 +#: ../libinfinity/client/infc-browser.c:4823 #, c-format msgid "" "The request contains a sequence number refering to a request of type '%s', " "but a request of either 'query-acl' or 'set-acl' was expected." msgstr "" -#: ../libinfinity/client/infc-browser.c:4997 -#: ../libinfinity/client/infc-session-proxy.c:519 +#: ../libinfinity/client/infc-browser.c:4998 +#: ../libinfinity/client/infc-session-proxy.c:523 #, 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:985 +#: ../libinfinity/client/infc-browser.c:5245 +#: ../libinfinity/client/infc-session-proxy.c:989 #, 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:662 +#: ../libinfinity/client/infc-session-proxy.c:666 msgid "Request does not contain required attribute 'id'" msgstr "" -#: ../libinfinity/client/infc-session-proxy.c:680 +#: ../libinfinity/client/infc-session-proxy.c:684 #: ../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:5801 +#: ../libinfinity/server/infd-directory.c:5839 msgid "The root node cannot be removed" msgstr "" @@ -1674,7 +1674,7 @@ msgstr "" #: ../libinfinity/common/inf-error.c:192 -#: ../libinfinity/server/infd-directory.c:6068 +#: ../libinfinity/server/infd-directory.c:6106 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:205 +#: ../libinfinity/common/inf-name-resolver.c:207 msgid "The reply from the DNS server is incomplete" msgstr "" -#: ../libinfinity/common/inf-name-resolver.c:744 +#: ../libinfinity/common/inf-name-resolver.c:746 #, 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:1271 +#: ../libinfinity/common/inf-xmpp-connection.c:1272 msgid "The server did not provide a certificate" msgstr "" -#: ../libinfinity/common/inf-xmpp-connection.c:2085 +#: ../libinfinity/common/inf-xmpp-connection.c:2086 msgid "Stream is not yet secured with TLS" msgstr "" -#: ../libinfinity/common/inf-xmpp-connection.c:2152 +#: ../libinfinity/common/inf-xmpp-connection.c:2153 msgid "Stream is not yet authorized" msgstr "" -#: ../libinfinity/common/inf-xmpp-connection.c:2280 +#: ../libinfinity/common/inf-xmpp-connection.c:2282 msgid "The server does not offer a suitable authentication mechanism" msgstr "" -#: ../libinfinity/common/inf-xmpp-connection.c:2325 +#: ../libinfinity/common/inf-xmpp-connection.c:2327 msgid "The server does not support transport layer security (TLS)" msgstr "" -#: ../libinfinity/common/inf-xmpp-connection.c:2348 +#: ../libinfinity/common/inf-xmpp-connection.c:2350 msgid "The server requires transport layer security (TLS)" msgstr "" -#: ../libinfinity/common/inf-xmpp-connection.c:2382 +#: ../libinfinity/common/inf-xmpp-connection.c:2384 msgid "The server does not provide any authentication mechanism" msgstr "" -#: ../libinfinity/common/inf-xmpp-connection.c:2440 +#: ../libinfinity/common/inf-xmpp-connection.c:2442 msgid "The server cannot perform the TLS handshake" msgstr "" #. XML Warning from <IP Address>: <Warning Text> -#: ../libinfinity/common/inf-xmpp-connection.c:2923 +#: ../libinfinity/common/inf-xmpp-connection.c:2925 #, c-format msgid "XML warning from %s: %s\n" msgstr "" #. The server sent something which is not XML -#: ../libinfinity/common/inf-xmpp-connection.c:2967 +#: ../libinfinity/common/inf-xmpp-connection.c:2969 msgid "Remote site is not an XMPP server" msgstr "" -#: ../libinfinity/common/inf-xmpp-connection.c:4583 +#: ../libinfinity/common/inf-xmpp-connection.c:4587 msgid "The server certificate is not trusted" msgstr "" -#: ../libinfinity/common/inf-xmpp-connection.c:4591 +#: ../libinfinity/common/inf-xmpp-connection.c:4595 #, c-format msgid "The server certificate is not trusted: %s" msgstr "" -#: ../libinfinity/common/inf-xmpp-connection.c:4603 +#: ../libinfinity/common/inf-xmpp-connection.c:4607 msgid "The client certificate is not trusted" msgstr "" -#: ../libinfinity/common/inf-xmpp-connection.c:4611 +#: ../libinfinity/common/inf-xmpp-connection.c:4615 #, 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:249 +#: ../libinfinity/server/infd-filesystem-storage.c:259 #: ../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:2055 +#: ../libinfinity/server/infd-directory.c:2056 #, 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:2857 +#: ../libinfinity/server/infd-directory.c:2872 msgid "Server does not support issuing certificates" msgstr "" -#: ../libinfinity/server/infd-directory.c:2971 +#: ../libinfinity/server/infd-directory.c:2986 msgid "The certificate request has no common name set" msgstr "" -#: ../libinfinity/server/infd-directory.c:3026 +#: ../libinfinity/server/infd-directory.c:3041 #, c-format msgid "There is already a transient account with name \"%s\"" msgstr "" -#: ../libinfinity/server/infd-directory.c:3090 +#: ../libinfinity/server/infd-directory.c:3105 msgid "This server does not support creating accounts" msgstr "" -#: ../libinfinity/server/infd-directory.c:3292 -#: ../libinfinity/server/infd-directory.c:11182 +#: ../libinfinity/server/infd-directory.c:3307 +#: ../libinfinity/server/infd-directory.c:11223 #: ../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:3349 +#: ../libinfinity/server/infd-directory.c:3364 msgid "This server does not support removing accounts" msgstr "" -#: ../libinfinity/server/infd-directory.c:3690 +#: ../libinfinity/server/infd-directory.c:3705 #, 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:4202 +#: ../libinfinity/server/infd-directory.c:4217 #, c-format msgid "Name \"%s\" is an invalid name: contains non-printable characters" msgstr "" -#: ../libinfinity/server/infd-directory.c:4220 +#: ../libinfinity/server/infd-directory.c:4235 #, c-format msgid "Name \"%s\" is an invalid name: contains only space characters" msgstr "" -#: ../libinfinity/server/infd-directory.c:4233 +#: ../libinfinity/server/infd-directory.c:4248 #, c-format msgid "Name \"%s\" is an invalid name: contains \"/\"" msgstr "" -#: ../libinfinity/server/infd-directory.c:4248 +#: ../libinfinity/server/infd-directory.c:4263 #, c-format msgid "A node with name \"%s\" exists already" msgstr "" -#: ../libinfinity/server/infd-directory.c:5069 +#: ../libinfinity/server/infd-directory.c:5107 #: ../libinfinity/server/infd-session-proxy.c:418 msgid "Permission denied" msgstr "" -#: ../libinfinity/server/infd-directory.c:5216 +#: ../libinfinity/server/infd-directory.c:5254 #, c-format msgid "Failed to look up account: %s. Logging out user..." msgstr "" -#: ../libinfinity/server/infd-directory.c:5287 +#: ../libinfinity/server/infd-directory.c:5325 msgid "No subscription request for the server chat" msgstr "" -#: ../libinfinity/server/infd-directory.c:5306 +#: ../libinfinity/server/infd-directory.c:5344 #, c-format msgid "No subscription request with ID %u" msgstr "" -#: ../libinfinity/server/infd-directory.c:5374 +#: ../libinfinity/server/infd-directory.c:5412 #, c-format msgid "Node with ID \"%u\" is not a subdirectory node" msgstr "" -#: ../libinfinity/server/infd-directory.c:5386 +#: ../libinfinity/server/infd-directory.c:5424 #, c-format msgid "Node with ID \"%u\" has unsupported type \"%s\"" msgstr "" -#: ../libinfinity/server/infd-directory.c:5397 +#: ../libinfinity/server/infd-directory.c:5435 #, c-format msgid "Node with ID \"%u\" is not a leaf node" msgstr "" -#: ../libinfinity/server/infd-directory.c:6042 -#: ../libinfinity/server/infd-directory.c:11267 +#: ../libinfinity/server/infd-directory.c:6080 +#: ../libinfinity/server/infd-directory.c:11308 msgid "No background storage available" msgstr "" -#: ../libinfinity/server/infd-directory.c:6167 +#: ../libinfinity/server/infd-directory.c:6205 msgid "The chat is disabled" msgstr "" -#: ../libinfinity/server/infd-directory.c:6277 +#: ../libinfinity/server/infd-directory.c:6315 msgid "No certificate request provided" msgstr "" -#: ../libinfinity/server/infd-directory.c:6809 +#: ../libinfinity/server/infd-directory.c:6847 msgid "The ACL for this node has already been queried" msgstr "" -#: ../libinfinity/server/infd-directory.c:6897 +#: ../libinfinity/server/infd-directory.c:6935 msgid "The ACL for this node has not been queried yet" msgstr "" -#: ../libinfinity/server/infd-directory.c:6924 +#: ../libinfinity/server/infd-directory.c:6962 msgid "The set-acl request does not have any ACL provided" msgstr "" -#: ../libinfinity/server/infd-directory.c:6941 -#: ../libinfinity/server/infd-directory.c:10322 +#: ../libinfinity/server/infd-directory.c:6979 +#: ../libinfinity/server/infd-directory.c:10363 msgid "This server does not support the requested permissions" msgstr "" -#: ../libinfinity/server/infd-directory.c:7209 +#: ../libinfinity/server/infd-directory.c:7247 msgid "The node to be subscribed to has been removed" msgstr "" -#: ../libinfinity/server/infd-directory.c:7331 -#: ../libinfinity/server/infd-directory.c:7447 +#: ../libinfinity/server/infd-directory.c:7369 +#: ../libinfinity/server/infd-directory.c:7485 msgid "The parent node of the node to be added has been removed" msgstr "" -#: ../libinfinity/server/infd-directory.c:7532 +#: ../libinfinity/server/infd-directory.c:7570 msgid "Client did not acknowledge initial subscription" msgstr "" -#: ../libinfinity/server/infd-directory.c:7854 +#: ../libinfinity/server/infd-directory.c:7892 #, c-format msgid "Failed to explore the root directory of the new storage: %s" msgstr "" -#: ../libinfinity/server/infd-directory.c:7945 +#: ../libinfinity/server/infd-directory.c:7983 #, c-format msgid "" "Failed to lookup account IDs on account storage change: %s. Demoting clients " "to default account." msgstr "" -#: ../libinfinity/server/infd-directory.c:8025 +#: ../libinfinity/server/infd-directory.c:8063 #, c-format msgid "Failed to obtain account list from account storage: %s" msgstr "" -#: ../libinfinity/server/infd-directory.c:8157 -#: ../libinfinity/server/infd-directory.c:8242 +#: ../libinfinity/server/infd-directory.c:8195 +#: ../libinfinity/server/infd-directory.c:8280 #, c-format msgid "Failed to look up accounts in new account storage: %s" msgstr "" @@ -2528,23 +2528,27 @@ msgid "The certificate with DN=%s is already in use by another account" msgstr "" -#: ../libinfinity/server/infd-filesystem-storage.c:79 +#: ../libinfinity/server/infd-filesystem-storage.c:74 +msgid "The path does not start with \"/\"" +msgstr "" + +#: ../libinfinity/server/infd-filesystem-storage.c:89 msgid "The path contains invalid components" msgstr "" -#: ../libinfinity/server/infd-filesystem-storage.c:109 +#: ../libinfinity/server/infd-filesystem-storage.c:119 #, c-format msgid "Failed to convert root directory to filename encoding: %s" msgstr "" -#: ../libinfinity/server/infd-filesystem-storage.c:120 +#: ../libinfinity/server/infd-filesystem-storage.c:130 #, 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:264 +#: ../libinfinity/server/infd-filesystem-storage.c:274 #, c-format msgid "Error processing file \"%s\": Toplevel tag is not \"%s\"" msgstr ""