This is an automated email from the git hooks/post-receive script. x2go pushed a change to branch master in repository libx2goclient. from 48730d9 src/x2goclient-openssh-version.c: use g_slice_free for slice allocator memory. new aa1841c src/x2goclient-network-ssh.c: hook up OpenSSH version number fetching to x2goclient_network_ssh_parent_connect (). new 7797aa2 src/x2goclient-openssh-version.c: fix top file description. new 77d3c7a src/: add x2goclient-openssh-bugs.{c,h}. new 4d1f0d4 src/Makefile.am: add x2goclient-openssh-bugs.{c,h}. new 23297e1 po/POTFILES.in: add src/x2goclient-openssh-bugs.c. new 020fcfb src/x2goclient-network.c: fix setter to use the correct value types. new 41cdd0a src/x2goclient-network-ssh.c: fix getter to copy object, transfer ownership and return the copy. new 6900630 src/x2goclient-network.h: whitespace in preprocessor expression only. new 2119d16 src/x2goclient-network-ssh.c: hook up X2GoClientOpenSSHBugs object as property. new 4fc7b45 src/x2goclient-openssh-bugs.h: fix compile error, enums can't be empty. new 83477b1 src/x2goclient-{network{,-ssh},openssh-version}.c: add GErr-checking where needed. new bb7e745 src/x2goclient-network.c: use return value variables. new 99cf97c src/x2goclient-{{network{,-ssh},openssh-version}.{c,h},openssh-bugs.c}: constify pointers in function parameters to deter people from reassigning them to other data within the function. new c0560d3 src/x2goclient-{network{,-ssh},openssh-{bugs,version}}.c: use <constant> <op> <var> instead of <var> <op> <constant>. new c002dd6 src/x2goclient-{network-ssh,openssh-version}.c: wrap arithmetic and logical expressions in additional parentheses, unless they are the only argument. new 2963136 src/x2goclient-network-ssh.c: fix comment, whitespace-only. new 301ce5c src/x2goclient-network-ssh.c: fix weird grammar in comment, non-functional change. new e3f4790 src/x2goclient-network-ssh.c: add FIXMEs to x2goclient_network_ssh_fetch_openssh_version (), non-functional change. new c393648 src/x2goclient-network-ssh.{c,h}: add more type checks and fix falldown from that. The 19 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Summary of changes: po/POTFILES.in | 1 + src/Makefile.am | 2 + src/x2goclient-network-ssh.c | 141 +++++++++++++++------ src/x2goclient-network-ssh.h | 3 +- src/x2goclient-network.c | 31 +++-- src/x2goclient-network.h | 4 +- ...goclient-object.c => x2goclient-openssh-bugs.c} | 29 ++++- src/x2goclient-openssh-bugs.h | 71 +++++++++++ src/x2goclient-openssh-version.c | 14 +- src/x2goclient-openssh-version.h | 2 +- 10 files changed, 234 insertions(+), 64 deletions(-) copy src/{x2goclient-object.c => x2goclient-openssh-bugs.c} (56%) create mode 100644 src/x2goclient-openssh-bugs.h -- Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/libx2goclient.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository libx2goclient. commit 4d1f0d48e3aa7d1eba62bf89d7a7cfb427c9dc79 Author: Mihai Moldovan <ionic@ionic.de> Date: Wed May 27 10:01:22 2020 +0200 src/Makefile.am: add x2goclient-openssh-bugs.{c,h}. --- src/Makefile.am | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Makefile.am b/src/Makefile.am index 866247e..794af5f 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -26,6 +26,7 @@ libx2goclientinclude_HEADERS = \ x2goclient-proxy-start-nx.h \ x2goclient-renderer-start-kdrive.h \ x2goclient-object.h \ + x2goclient-openssh-bugs.h \ x2goclient-openssh-version.h \ x2goclient-session-resume.h \ x2goclient-session-runcommand.h \ @@ -42,6 +43,7 @@ libx2goclient_la_SOURCES = \ x2goclient-proxy-start-nx.c \ x2goclient-renderer-start-kdrive.c \ x2goclient-object.c \ + x2goclient-openssh-bugs.c \ x2goclient-openssh-version.c \ x2goclient-session-resume.c \ x2goclient-session-runcommand.c \ -- Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/libx2goclient.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository libx2goclient. commit 7797aa2346ae31206ca2a90c689ea9138f4c44ff Author: Mihai Moldovan <ionic@ionic.de> Date: Wed May 27 09:11:00 2020 +0200 src/x2goclient-openssh-version.c: fix top file description. --- src/x2goclient-openssh-version.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/x2goclient-openssh-version.c b/src/x2goclient-openssh-version.c index 10506e3..f6fabbe 100644 --- a/src/x2goclient-openssh-version.c +++ b/src/x2goclient-openssh-version.c @@ -1,6 +1,6 @@ /* -*- Mode: C; c-set-style: linux indent-tabs-mode: nil; c-basic-offset: 2; tab-width: 8 -*- */ -/* x2goclient-openssh-version.c - Simple OpenSSH Glib Boxed wrapper implementation +/* x2goclient-openssh-version.c - Simple OpenSSH version struct and Glib Boxed wrapper implementation Copyright (C) 2019-2020 Mike Gabriel Copyright (C) 2019-2020 Mihai Moldovan -- Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/libx2goclient.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository libx2goclient. commit 77d3c7a799ce63d1b2d306b06bd92556aa7c07bf Author: Mihai Moldovan <ionic@ionic.de> Date: Wed May 27 09:58:43 2020 +0200 src/: add x2goclient-openssh-bugs.{c,h}. Simple GBoxed-type wrapper for an OpenSSH bug quirks struct, essentially copied from x2goclient-openssh-version.{c,h}. Needs actual content/bug quirk bits. --- src/x2goclient-openssh-bugs.c | 52 +++++++++++++++++++++++++++++++++++ src/x2goclient-openssh-bugs.h | 64 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 116 insertions(+) diff --git a/src/x2goclient-openssh-bugs.c b/src/x2goclient-openssh-bugs.c new file mode 100644 index 0000000..68ccf83 --- /dev/null +++ b/src/x2goclient-openssh-bugs.c @@ -0,0 +1,52 @@ +/* -*- Mode: C; c-set-style: linux indent-tabs-mode: nil; c-basic-offset: 2; tab-width: 8 -*- */ + +/* x2goclient-openssh-bugs.c - Simple OpenSSH bug quirks struct and Glib Boxed wrapper implementation + + Copyright (C) 2019-2020 Mike Gabriel + Copyright (C) 2019-2020 Mihai Moldovan + All rights reserved. + + The libx2goclient library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The libx2goclient library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the Mate Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, + Boston, MA 02110-1301, USA. + */ + +#include <glib.h> + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include "x2goclient-openssh-bugs.h" + +X2GoClientOpenSSHBugs* x2goclient_openssh_bugs_new (void) { + return (g_slice_new0 (X2GoClientOpenSSHBugs)); +} + +void x2goclient_openssh_bugs_free (X2GoClientOpenSSHBugs *openssh_bugs) { + g_slice_free (X2GoClientOpenSSHBugs, openssh_bugs); +} + +static X2GoClientOpenSSHBugs* x2goclient_openssh_bugs_copy (X2GoClientOpenSSHBugs *src) { + X2GoClientOpenSSHBugs *dst = NULL; + + g_return_val_if_fail (src != NULL, dst); + + dst = x2goclient_openssh_bugs_new (); + *dst = *src; + + return (dst); +} + +G_DEFINE_BOXED_TYPE (X2GoClientOpenSSHBugs, x2goclient_openssh_bugs, &x2goclient_openssh_bugs_copy, &x2goclient_openssh_bugs_free) diff --git a/src/x2goclient-openssh-bugs.h b/src/x2goclient-openssh-bugs.h new file mode 100644 index 0000000..f08e484 --- /dev/null +++ b/src/x2goclient-openssh-bugs.h @@ -0,0 +1,64 @@ +/* -*- Mode: C; c-set-style: linux indent-tabs-mode: nil; c-basic-offset: 2; tab-width: 8 -*- */ + +/* x2goclient-openssh-bugs.h - Simple OpenSSH bug quirks struct and Glib Boxed wrapper + + Copyright (C) 2019-2020 Mike Gabriel + Copyright (C) 2019-2020 Mihai Moldovan + All rights reserved. + + The libx2goclient library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The libx2goclient library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the Mate Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, + Boston, MA 02110-1301, USA. + */ + +#ifndef x2goclient_openssh_bugs_h +#define x2goclient_openssh_bugs_h + +#include <glib-object.h> + +G_BEGIN_DECLS + +/* + * Bugs in OpenSSH. + * + * Please document each entry. + * + * OpenSSH doesn't do that internally, which is a pain because bug semantics + * must be inferred from the code locations the constants are used in. We don't + * want this to happen as well. + */ +typedef struct X2GoClientOpenSSHBugs_ { +} X2GoClientOpenSSHBugs; + + +#define X2GOCLIENT_TYPE_OPENSSH_BUGS (x2goclient_openssh_bugs_get_type ()) + + +GType x2goclient_openssh_bugs_get_type (void) G_GNUC_CONST; + +X2GoClientOpenSSHBugs* x2goclient_openssh_bugs_new (void); +void x2goclient_openssh_bugs_free (X2GoClientOpenSSHBugs *openssh_bugs); + +/* + * Error handling helpers. + */ +#define X2GOCLIENT_OPENSSH_BUGS_ERROR g_quark_from_static_string ("x2goclient-openssh-bugs") + +enum { +}; + + +G_END_DECLS + +#endif /* x2goclient_openssh_bugs_h */ -- Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/libx2goclient.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository libx2goclient. commit aa1841ce7046ac539bff837e8162fa9f10dbb4e0 Author: Mihai Moldovan <ionic@ionic.de> Date: Wed May 27 08:46:07 2020 +0200 src/x2goclient-network-ssh.c: hook up OpenSSH version number fetching to x2goclient_network_ssh_parent_connect (). We want to fetch the version as locally to spawning OpenSSH client processes as possible, mostly because users COULD upgrade their client version while the application that is using libx2goclient is running. These new instances might need different bug quirks. Strictly speaking, this should probably be thread-local storage for each new thread spawning an OpenSSH client process, but this would require additional work (including the actual threading). --- src/x2goclient-network-ssh.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/x2goclient-network-ssh.c b/src/x2goclient-network-ssh.c index 0029d2c..dfa9d4e 100644 --- a/src/x2goclient-network-ssh.c +++ b/src/x2goclient-network-ssh.c @@ -817,6 +817,24 @@ static gboolean x2goclient_network_ssh_parent_connect (X2GoClientNetwork *parent } if (ret) { + /* + * Fetch version. + * + * We need to do this as locally as possible, preferably for every new + * connection (or, really, each time we spawn OpenSSH client processes), + * including the master connection here. + * + * The rationale is that users could potentially upgrade the OpenSSH client + * while the application is running and we don't want quirks to apply to updated, + * non-quirky versions, even though previous calls needed them. + */ + ret = x2goclient_network_ssh_fetch_openssh_version (self, gerr); + } + + if (ret) { + /* Got version. */ + g_log (NULL, G_LOG_LEVEL_INFO, "Fetched OpenSSH version: [ Major: %d, Minor: %d, Patch: %d, Additional Data: '%s' ]", self->openssh_version->major, self->openssh_version->minor, self->openssh_version->patch, self->openssh_version->addon); + /* Fetch options object. */ X2GoClientNetworkOptionsSSH *options = NULL; g_object_get (G_OBJECT (self), "options", &options, NULL); -- Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/libx2goclient.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository libx2goclient. commit 6900630b5fa3ba0d120bdb7766ffd70ef7c67509 Author: Mihai Moldovan <ionic@ionic.de> Date: Thu May 28 13:33:08 2020 +0200 src/x2goclient-network.h: whitespace in preprocessor expression only. --- src/x2goclient-network.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/x2goclient-network.h b/src/x2goclient-network.h index 71b331c..1812ba2 100644 --- a/src/x2goclient-network.h +++ b/src/x2goclient-network.h @@ -33,7 +33,7 @@ * * For more information, check https://gitlab.gnome.org/GNOME/glib/issues/1854 */ -#if (!(GLIB_CHECK_VERSION(2, 62, 0))) +#if (!(GLIB_CHECK_VERSION (2, 62, 0))) #include "gnativesocketaddress.h" #endif -- Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/libx2goclient.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository libx2goclient. commit 2119d1621c521bec73082bb75102ce615c569d7b Author: Mihai Moldovan <ionic@ionic.de> Date: Thu May 28 13:38:23 2020 +0200 src/x2goclient-network-ssh.c: hook up X2GoClientOpenSSHBugs object as property. Currently unused, but initialized. --- src/x2goclient-network-ssh.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/x2goclient-network-ssh.c b/src/x2goclient-network-ssh.c index d2f681c..01b68cb 100644 --- a/src/x2goclient-network-ssh.c +++ b/src/x2goclient-network-ssh.c @@ -48,6 +48,7 @@ #include "x2goclient-network-ssh.h" #include "x2goclient-utils.h" #include "x2goclient-openssh-version.h" +#include "x2goclient-openssh-bugs.h" struct _X2GoClientNetworkOptionsSSH { @@ -94,6 +95,7 @@ struct _X2GoClientNetworkSSH { /* Properties. */ X2GoClientOpenSSHVersion *openssh_version; + X2GoClientOpenSSHBugs *openssh_bugs; char *control_path; GSubprocess *master_conn; @@ -105,6 +107,7 @@ G_DEFINE_TYPE (X2GoClientNetworkSSH, x2goclient_network_ssh, X2GOCLIENT_TYPE_NET /* See src/x2goclient-network.c regarding abbreviations. */ enum { X2GO_NET_SSH_PROP_OPENSSH_VERSION = 1, + X2GO_NET_SSH_PROP_OPENSSH_BUGS, X2GO_NET_SSH_N_PROPERTIES }; @@ -141,6 +144,12 @@ static void x2goclient_network_ssh_class_init (X2GoClientNetworkSSHClass *klass) X2GOCLIENT_TYPE_OPENSSH_VERSION, G_PARAM_READABLE); + net_ssh_obj_properties[X2GO_NET_SSH_PROP_OPENSSH_BUGS] = g_param_spec_boxed ("openssh-bugs", _("Bug quirks structure for OpenSSH Client"), + _("A structure containing quirks bits for known OpenSSH Client " + "bugs."), + X2GOCLIENT_TYPE_OPENSSH_BUGS, + G_PARAM_READABLE); + g_object_class_install_properties (object_class, X2GO_NET_SSH_N_PROPERTIES, net_ssh_obj_properties); X2GoClientNetworkClass *parent_class = X2GOCLIENT_NETWORK_CLASS (klass); @@ -152,6 +161,7 @@ static void x2goclient_network_ssh_class_init (X2GoClientNetworkSSHClass *klass) static void x2goclient_network_ssh_init (X2GoClientNetworkSSH *self) { /* Properties. */ self->openssh_version = NULL; + self->openssh_bugs = x2goclient_openssh_bugs_new (); self->control_path = NULL; self->master_conn = NULL; @@ -196,6 +206,9 @@ static void x2goclient_network_ssh_finalize (GObject *object) { x2goclient_openssh_version_free (self->openssh_version); self->openssh_version = NULL; + x2goclient_openssh_bugs_free (self->openssh_bugs); + self->openssh_bugs = NULL; + g_free (self->control_path); self->control_path = NULL; @@ -216,6 +229,10 @@ static void x2goclient_network_ssh_set_property (GObject *object, guint prop_id, x2goclient_openssh_version_free (self->openssh_version); self->openssh_version = g_value_dup_boxed (value); break; + case (X2GO_NET_SSH_PROP_OPENSSH_BUGS): + x2goclient_openssh_bugs_free (self->openssh_bugs); + self->openssh_bugs = g_value_dup_boxed (value); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, param_spec); break; @@ -230,6 +247,10 @@ static void x2goclient_network_ssh_get_property (GObject *object, guint prop_id, g_value_take_boxed (value, g_boxed_copy (X2GOCLIENT_TYPE_OPENSSH_VERSION, self->openssh_version)); break; + case (X2GO_NET_SSH_PROP_OPENSSH_BUGS): + g_value_take_boxed (value, g_boxed_copy (X2GOCLIENT_TYPE_OPENSSH_BUGS, + self->openssh_bugs)); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, param_spec); break; -- Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/libx2goclient.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository libx2goclient. commit 23297e1422ca8c6c57693e97eb186c678e73de63 Author: Mihai Moldovan <ionic@ionic.de> Date: Wed May 27 10:06:14 2020 +0200 po/POTFILES.in: add src/x2goclient-openssh-bugs.c. --- po/POTFILES.in | 1 + 1 file changed, 1 insertion(+) diff --git a/po/POTFILES.in b/po/POTFILES.in index 50d2077..da14428 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -5,6 +5,7 @@ src/x2goclient-network.c src/x2goclient-network-ssh.c src/x2goclient-proxy-start-nx.c src/x2goclient-object.c +src/x2goclient-openssh-bugs.c src/x2goclient-openssh-version.c src/x2goclient-renderer-start-kdrive.c src/x2goclient-session-resume.c -- Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/libx2goclient.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository libx2goclient. commit 41cdd0a75de6932c8aab9fd36663d02e6a70da02 Author: Mihai Moldovan <ionic@ionic.de> Date: Thu May 28 13:32:38 2020 +0200 src/x2goclient-network-ssh.c: fix getter to copy object, transfer ownership and return the copy. --- src/x2goclient-network-ssh.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/x2goclient-network-ssh.c b/src/x2goclient-network-ssh.c index dfa9d4e..d2f681c 100644 --- a/src/x2goclient-network-ssh.c +++ b/src/x2goclient-network-ssh.c @@ -227,7 +227,8 @@ static void x2goclient_network_ssh_get_property (GObject *object, guint prop_id, switch (prop_id) { case (X2GO_NET_SSH_PROP_OPENSSH_VERSION): - g_value_set_object (value, self->openssh_version); + g_value_take_boxed (value, g_boxed_copy (X2GOCLIENT_TYPE_OPENSSH_VERSION, + self->openssh_version)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, param_spec); -- Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/libx2goclient.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository libx2goclient. commit 020fcfb975413cfa4302ac4c9aacf98cae0a4459 Author: Mihai Moldovan <ionic@ionic.de> Date: Thu May 28 13:31:13 2020 +0200 src/x2goclient-network.c: fix setter to use the correct value types. --- src/x2goclient-network.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/x2goclient-network.c b/src/x2goclient-network.c index 8686ad2..423d186 100644 --- a/src/x2goclient-network.c +++ b/src/x2goclient-network.c @@ -181,7 +181,7 @@ static void x2goclient_network_set_property (GObject *object, guint prop_id, con case (X2GO_NET_PROP_SOCKET_SPEC): g_free (priv->socket_spec); g_clear_object (&(priv->socket)); - priv->socket_spec = g_value_dup_boxed (value); + priv->socket_spec = g_value_dup_object (value); priv->socket = x2goclient_network_parse_sockspec (self, priv->socket_spec); break; case (X2GO_NET_PROP_SESSION_PATH): -- Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/libx2goclient.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository libx2goclient. commit 99cf97cb99a496f7e277c69ef909661cc3c19043 Author: Mihai Moldovan <ionic@ionic.de> Date: Thu May 28 15:22:20 2020 +0200 src/x2goclient-{{network{,-ssh},openssh-version}.{c,h},openssh-bugs.c}: constify pointers in function parameters to deter people from reassigning them to other data within the function. --- src/x2goclient-network-ssh.c | 30 +++++++++++++++--------------- src/x2goclient-network-ssh.h | 2 +- src/x2goclient-network.c | 8 ++++---- src/x2goclient-network.h | 2 +- src/x2goclient-openssh-bugs.c | 2 +- src/x2goclient-openssh-version.c | 4 ++-- src/x2goclient-openssh-version.h | 2 +- 7 files changed, 25 insertions(+), 25 deletions(-) diff --git a/src/x2goclient-network-ssh.c b/src/x2goclient-network-ssh.c index 288c35e..1fcf580 100644 --- a/src/x2goclient-network-ssh.c +++ b/src/x2goclient-network-ssh.c @@ -116,14 +116,14 @@ static GParamSpec *net_ssh_obj_properties[X2GO_NET_SSH_N_PROPERTIES] = { NULL, } static void x2goclient_network_ssh_dispose (GObject *object); static void x2goclient_network_ssh_finalize (GObject *object); -static void x2goclient_network_ssh_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *param_spec); +static void x2goclient_network_ssh_set_property (GObject *object, guint prop_id, const GValue * const value, GParamSpec *param_spec); static void x2goclient_network_ssh_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *param_spec); -static GSocketAddress* x2goclient_network_ssh_parse_sockspec_unix_socket (const GString *sockspec); -static guint16 x2goclient_network_ssh_parse_sockspec_port (const GString *portspec, GError **gerr); -static GString* x2goclient_network_ssh_sanitize_sockspec (const GString *sockspec); -static GSocketAddress* x2goclient_network_ssh_parse_sockspec_ip (const GString *sockspec, const gboolean want_v6, GError **gerr); -static GSocketAddress* x2goclient_network_ssh_parse_sockspec_alias (const GString *sockspec, GError **gerr); -static GSocketAddress* x2goclient_network_ssh_parse_sockspec (X2GoClientNetwork *parent, const GString *sockspec); +static GSocketAddress* x2goclient_network_ssh_parse_sockspec_unix_socket (const GString * const sockspec); +static guint16 x2goclient_network_ssh_parse_sockspec_port (const GString * const portspec, GError **gerr); +static GString* x2goclient_network_ssh_sanitize_sockspec (const GString * const sockspec); +static GSocketAddress* x2goclient_network_ssh_parse_sockspec_ip (const GString * const sockspec, const gboolean want_v6, GError **gerr); +static GSocketAddress* x2goclient_network_ssh_parse_sockspec_alias (const GString * const sockspec, GError **gerr); +static GSocketAddress* x2goclient_network_ssh_parse_sockspec (X2GoClientNetwork *parent, const GString * const sockspec); static gboolean x2goclient_network_ssh_kill_subprocesses (X2GoClientNetworkSSH *self); static gboolean x2goclient_network_ssh_parent_connect (X2GoClientNetwork *parent, GError **gerr); static gboolean x2goclient_network_ssh_fetch_openssh_version (X2GoClientNetworkSSH *self, GError **gerr); @@ -167,7 +167,7 @@ static void x2goclient_network_ssh_init (X2GoClientNetworkSSH *self) { self->master_conn = NULL; } -X2GoClientNetworkSSH* x2goclient_network_ssh_new (const char *session_path) { +X2GoClientNetworkSSH* x2goclient_network_ssh_new (const char * const session_path) { X2GoClientNetworkSSH *ret = NULL; GArray *prop_names = g_array_new (FALSE, TRUE, sizeof (gchar*)); @@ -221,7 +221,7 @@ static void x2goclient_network_ssh_finalize (GObject *object) { } -static void x2goclient_network_ssh_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *param_spec) { +static void x2goclient_network_ssh_set_property (GObject *object, guint prop_id, const GValue * const value, GParamSpec *param_spec) { X2GoClientNetworkSSH *self = X2GOCLIENT_NETWORK_SSH (object); switch (prop_id) { @@ -257,7 +257,7 @@ static void x2goclient_network_ssh_get_property (GObject *object, guint prop_id, } } -static GSocketAddress* x2goclient_network_ssh_parse_sockspec_unix_socket (const GString *sockspec) { +static GSocketAddress* x2goclient_network_ssh_parse_sockspec_unix_socket (const GString * const sockspec) { GSocketAddress *ret = NULL; /* @@ -300,7 +300,7 @@ static GSocketAddress* x2goclient_network_ssh_parse_sockspec_unix_socket (const return (ret); } -static guint16 x2goclient_network_ssh_parse_sockspec_port (const GString *portspec, GError **gerr) { +static guint16 x2goclient_network_ssh_parse_sockspec_port (const GString * const portspec, GError **gerr) { guint16 ret = 0; g_return_val_if_fail (((gerr == NULL) || (*gerr == NULL)), ret); @@ -346,7 +346,7 @@ static guint16 x2goclient_network_ssh_parse_sockspec_port (const GString *portsp return (ret); } -static GString* x2goclient_network_ssh_sanitize_sockspec (const GString *sockspec) { +static GString* x2goclient_network_ssh_sanitize_sockspec (const GString * const sockspec) { GString *ret = NULL; gchar *sanitize_sockspec = g_strdup (sockspec->str); @@ -358,7 +358,7 @@ static GString* x2goclient_network_ssh_sanitize_sockspec (const GString *sockspe return (ret); } -static GSocketAddress* x2goclient_network_ssh_parse_sockspec_ip (const GString *sockspec, const gboolean want_v6, GError **gerr) { +static GSocketAddress* x2goclient_network_ssh_parse_sockspec_ip (const GString * const sockspec, const gboolean want_v6, GError **gerr) { GSocketAddress *ret = NULL; g_return_val_if_fail (((gerr == NULL) || (*gerr == NULL)), ret); @@ -525,7 +525,7 @@ static GSocketAddress* x2goclient_network_ssh_parse_sockspec_ip (const GString * return (ret); } -static GSocketAddress* x2goclient_network_ssh_parse_sockspec_alias (const GString *sockspec, GError **gerr) { +static GSocketAddress* x2goclient_network_ssh_parse_sockspec_alias (const GString * const sockspec, GError **gerr) { GSocketAddress *ret = NULL; g_return_val_if_fail (((gerr == NULL) || (*gerr == NULL)), ret); @@ -608,7 +608,7 @@ static GSocketAddress* x2goclient_network_ssh_parse_sockspec_alias (const GStrin return (ret); } -static GSocketAddress* x2goclient_network_ssh_parse_sockspec (X2GoClientNetwork *parent, const GString *sockspec) { +static GSocketAddress* x2goclient_network_ssh_parse_sockspec (X2GoClientNetwork *parent, const GString * const sockspec) { GSocketAddress *ret = NULL; if (sockspec) { diff --git a/src/x2goclient-network-ssh.h b/src/x2goclient-network-ssh.h index 3e5ce29..47441b0 100644 --- a/src/x2goclient-network-ssh.h +++ b/src/x2goclient-network-ssh.h @@ -44,7 +44,7 @@ GPtrArray* x2goclient_network_options_ssh_to_array (X2GoClientNetworkOptionsSSH #define X2GOCLIENT_TYPE_NETWORK_SSH (x2goclient_network_ssh_get_type ()) G_DECLARE_FINAL_TYPE (X2GoClientNetworkSSH, x2goclient_network_ssh, X2GOCLIENT, NETWORK_SSH, X2GoClientNetwork) -X2GoClientNetworkSSH* x2goclient_network_ssh_new (const gchar *session_path); +X2GoClientNetworkSSH* x2goclient_network_ssh_new (const gchar * const session_path); /* diff --git a/src/x2goclient-network.c b/src/x2goclient-network.c index 843d714..d771c06 100644 --- a/src/x2goclient-network.c +++ b/src/x2goclient-network.c @@ -79,9 +79,9 @@ static GParamSpec *net_obj_properties[X2GO_NET_N_PROPERTIES] = { NULL, }; static void x2goclient_network_dispose (GObject *object); static void x2goclient_network_finalize (GObject *object); -static void x2goclient_network_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *param_spec); +static void x2goclient_network_set_property (GObject *object, guint prop_id, const GValue * const value, GParamSpec *param_spec); static void x2goclient_network_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *param_spec); -static GSocketAddress* x2goclient_network_parse_sockspec (X2GoClientNetwork *self, const GString *sockspec); +static GSocketAddress* x2goclient_network_parse_sockspec (X2GoClientNetwork *self, const GString * const sockspec); static void x2goclient_network_class_init (X2GoClientNetworkClass *klass) { @@ -155,7 +155,7 @@ static void x2goclient_network_finalize (GObject *object) { } -static GSocketAddress* x2goclient_network_parse_sockspec (X2GoClientNetwork *self, const GString *sockspec) { +static GSocketAddress* x2goclient_network_parse_sockspec (X2GoClientNetwork *self, const GString * const sockspec) { GSocketAddress *ret = NULL; X2GoClientNetworkClass *class = X2GOCLIENT_NETWORK_GET_CLASS (self); @@ -182,7 +182,7 @@ gboolean x2goclient_network_connect (X2GoClientNetwork *self, GError **gerr) { return (ret); } -static void x2goclient_network_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *param_spec) { +static void x2goclient_network_set_property (GObject *object, guint prop_id, const GValue * const value, GParamSpec *param_spec) { X2GoClientNetwork *self = X2GOCLIENT_NETWORK (object); X2GoClientNetworkPrivate *priv = x2goclient_network_get_instance_private (self); diff --git a/src/x2goclient-network.h b/src/x2goclient-network.h index 1812ba2..c698dc6 100644 --- a/src/x2goclient-network.h +++ b/src/x2goclient-network.h @@ -58,7 +58,7 @@ struct _X2GoClientNetworkClass { gboolean (*connect) (X2GoClientNetwork *self, GError **gerr); /*< private >*/ - GSocketAddress* (*parse_sockspec) (X2GoClientNetwork *self, const GString *sockspec); + GSocketAddress* (*parse_sockspec) (X2GoClientNetwork *self, const GString * const sockspec); /* We might need a lot more functions... */ gpointer padding[50]; diff --git a/src/x2goclient-openssh-bugs.c b/src/x2goclient-openssh-bugs.c index 68ccf83..51df126 100644 --- a/src/x2goclient-openssh-bugs.c +++ b/src/x2goclient-openssh-bugs.c @@ -38,7 +38,7 @@ void x2goclient_openssh_bugs_free (X2GoClientOpenSSHBugs *openssh_bugs) { g_slice_free (X2GoClientOpenSSHBugs, openssh_bugs); } -static X2GoClientOpenSSHBugs* x2goclient_openssh_bugs_copy (X2GoClientOpenSSHBugs *src) { +static X2GoClientOpenSSHBugs* x2goclient_openssh_bugs_copy (const X2GoClientOpenSSHBugs * const src) { X2GoClientOpenSSHBugs *dst = NULL; g_return_val_if_fail (src != NULL, dst); diff --git a/src/x2goclient-openssh-version.c b/src/x2goclient-openssh-version.c index 3391ed6..030860d 100644 --- a/src/x2goclient-openssh-version.c +++ b/src/x2goclient-openssh-version.c @@ -42,7 +42,7 @@ void x2goclient_openssh_version_free (X2GoClientOpenSSHVersion *openssh_version) g_slice_free (X2GoClientOpenSSHVersion, openssh_version); } -static X2GoClientOpenSSHVersion* x2goclient_openssh_version_copy (X2GoClientOpenSSHVersion *src) { +static X2GoClientOpenSSHVersion* x2goclient_openssh_version_copy (const X2GoClientOpenSSHVersion * const src) { X2GoClientOpenSSHVersion *dst = NULL; g_return_val_if_fail (src != NULL, dst); @@ -117,7 +117,7 @@ G_DEFINE_BOXED_TYPE (X2GoClientOpenSSHVersion, x2goclient_openssh_version, &x2go }\ } while (0) -_Bool x2goclient_openssh_version_parse (X2GoClientOpenSSHVersion *openssh_version, const gchar *version_string, GError **gerr) { +_Bool x2goclient_openssh_version_parse (X2GoClientOpenSSHVersion *openssh_version, const gchar * const version_string, GError **gerr) { _Bool ret = FALSE; g_return_val_if_fail (((gerr == NULL) || (*gerr == NULL)), ret); diff --git a/src/x2goclient-openssh-version.h b/src/x2goclient-openssh-version.h index 9c434d3..0df8ada 100644 --- a/src/x2goclient-openssh-version.h +++ b/src/x2goclient-openssh-version.h @@ -78,7 +78,7 @@ enum { }; -_Bool x2goclient_openssh_version_parse (X2GoClientOpenSSHVersion *openssh_version, const gchar *version_string, GError **gerr); +_Bool x2goclient_openssh_version_parse (X2GoClientOpenSSHVersion *openssh_version, const gchar * const version_string, GError **gerr); G_END_DECLS -- Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/libx2goclient.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository libx2goclient. commit 4fc7b4547565477461a49f7c9350bb6c602be8e8 Author: Mihai Moldovan <ionic@ionic.de> Date: Thu May 28 13:47:55 2020 +0200 src/x2goclient-openssh-bugs.h: fix compile error, enums can't be empty. --- src/x2goclient-openssh-bugs.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/x2goclient-openssh-bugs.h b/src/x2goclient-openssh-bugs.h index f08e484..afe8737 100644 --- a/src/x2goclient-openssh-bugs.h +++ b/src/x2goclient-openssh-bugs.h @@ -55,8 +55,15 @@ void x2goclient_openssh_bugs_free (X2GoClientOpenSSHBugs *openssh_bugs); */ #define X2GOCLIENT_OPENSSH_BUGS_ERROR g_quark_from_static_string ("x2goclient-openssh-bugs") +/* + * Empty enums are ill-formed, so keep this commented out until we put at least + * one value in here. + */ +#if 0 enum { + X2GOCLIENT_OPENSSH_BUGS_ERROR_... = 0, }; +#endif G_END_DECLS -- Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/libx2goclient.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository libx2goclient. commit 83477b16273f12b442a376c8bd5fa2fadbae64a5 Author: Mihai Moldovan <ionic@ionic.de> Date: Thu May 28 14:28:48 2020 +0200 src/x2goclient-{network{,-ssh},openssh-version}.c: add GErr-checking where needed. --- src/x2goclient-network-ssh.c | 10 +++++++--- src/x2goclient-network.c | 1 + src/x2goclient-openssh-version.c | 2 ++ 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/x2goclient-network-ssh.c b/src/x2goclient-network-ssh.c index 01b68cb..288c35e 100644 --- a/src/x2goclient-network-ssh.c +++ b/src/x2goclient-network-ssh.c @@ -303,7 +303,7 @@ static GSocketAddress* x2goclient_network_ssh_parse_sockspec_unix_socket (const static guint16 x2goclient_network_ssh_parse_sockspec_port (const GString *portspec, GError **gerr) { guint16 ret = 0; - g_return_val_if_fail (gerr == NULL || *gerr == NULL, ret); + g_return_val_if_fail (((gerr == NULL) || (*gerr == NULL)), ret); if (':' == portspec->str[0]) { /* @@ -361,7 +361,7 @@ static GString* x2goclient_network_ssh_sanitize_sockspec (const GString *sockspe static GSocketAddress* x2goclient_network_ssh_parse_sockspec_ip (const GString *sockspec, const gboolean want_v6, GError **gerr) { GSocketAddress *ret = NULL; - g_return_val_if_fail (gerr == NULL || *gerr == NULL, ret); + g_return_val_if_fail (((gerr == NULL) || (*gerr == NULL)), ret); /* We're free to sanitize the string now. */ GString *work_sockspec = x2goclient_network_ssh_sanitize_sockspec (sockspec); @@ -528,7 +528,7 @@ static GSocketAddress* x2goclient_network_ssh_parse_sockspec_ip (const GString * static GSocketAddress* x2goclient_network_ssh_parse_sockspec_alias (const GString *sockspec, GError **gerr) { GSocketAddress *ret = NULL; - g_return_val_if_fail (gerr == NULL || *gerr == NULL, ret); + g_return_val_if_fail (((gerr == NULL) || (*gerr == NULL)), ret); /* We're free to sanitize the string now. */ GString *work_sockspec = x2goclient_network_ssh_sanitize_sockspec (sockspec); @@ -713,6 +713,8 @@ gboolean x2goclient_network_ssh_connect (X2GoClientNetworkSSH *self, GError **ge gboolean ret = FALSE; g_return_val_if_fail (X2GOCLIENT_IS_NETWORK_SSH (self), ret); + g_return_val_if_fail (((gerr == NULL) || (*gerr == NULL)), ret); + X2GoClientNetwork *parent = X2GOCLIENT_NETWORK (self); X2GoClientNetworkClass *parent_class = X2GOCLIENT_NETWORK_GET_CLASS (parent); @@ -725,6 +727,8 @@ static gboolean x2goclient_network_ssh_parent_connect (X2GoClientNetwork *parent gboolean ret = TRUE; g_return_val_if_fail (X2GOCLIENT_IS_NETWORK_SSH (parent), ret); + g_return_val_if_fail (((gerr == NULL) || (*gerr == NULL)), ret); + X2GoClientNetworkSSH *self = X2GOCLIENT_NETWORK_SSH (parent); /* Actual implementation here. */ diff --git a/src/x2goclient-network.c b/src/x2goclient-network.c index 423d186..21e6796 100644 --- a/src/x2goclient-network.c +++ b/src/x2goclient-network.c @@ -168,6 +168,7 @@ gboolean x2goclient_network_connect (X2GoClientNetwork *self, GError **gerr) { X2GoClientNetworkClass *class = X2GOCLIENT_NETWORK_GET_CLASS (self); g_return_val_if_fail (X2GOCLIENT_IS_NETWORK (self), FALSE); + g_return_val_if_fail (((gerr == NULL) || (*gerr == NULL)), FALSE); g_return_val_if_fail (class->connect, FALSE); return (class->connect (self, gerr)); diff --git a/src/x2goclient-openssh-version.c b/src/x2goclient-openssh-version.c index f6fabbe..3391ed6 100644 --- a/src/x2goclient-openssh-version.c +++ b/src/x2goclient-openssh-version.c @@ -120,6 +120,8 @@ G_DEFINE_BOXED_TYPE (X2GoClientOpenSSHVersion, x2goclient_openssh_version, &x2go _Bool x2goclient_openssh_version_parse (X2GoClientOpenSSHVersion *openssh_version, const gchar *version_string, GError **gerr) { _Bool ret = FALSE; + g_return_val_if_fail (((gerr == NULL) || (*gerr == NULL)), ret); + /* Basic sanity checks on struct and string. */ if (!(openssh_version)) { g_set_error_literal (gerr, ERROR_QUARK, X2GOCLIENT_OPENSSH_VERSION_ERROR_INVALID_STRUCT, "No version struct passed, cannot store extracted information."); -- Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/libx2goclient.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository libx2goclient. commit c002dd6f06a06ecff1baa04288b64a06cfca3207 Author: Mihai Moldovan <ionic@ionic.de> Date: Fri May 29 10:48:02 2020 +0200 src/x2goclient-{network-ssh,openssh-version}.c: wrap arithmetic and logical expressions in additional parentheses, unless they are the only argument. --- src/x2goclient-network-ssh.c | 16 ++++++++-------- src/x2goclient-openssh-version.c | 4 ++-- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/x2goclient-network-ssh.c b/src/x2goclient-network-ssh.c index 913fc6c..bb58702 100644 --- a/src/x2goclient-network-ssh.c +++ b/src/x2goclient-network-ssh.c @@ -401,7 +401,7 @@ static GSocketAddress* x2goclient_network_ssh_parse_sockspec_ip (const GString * */ ++tmp_start; - address = g_string_new_len (tmp_start, tmp_end - tmp_start); + address = g_string_new_len (tmp_start, (tmp_end - tmp_start)); } else { g_set_error_literal (gerr, X2GOCLIENT_NETWORK_SSH_ERROR, X2GOCLIENT_NETWORK_SSH_ERROR_IPV6_CONV, "Found starting bracket, but no matching ending bracket."); @@ -421,7 +421,7 @@ static GSocketAddress* x2goclient_network_ssh_parse_sockspec_ip (const GString * tmp_end = g_strstr_len (tmp_start, -1, ":"); if (tmp_end) { - address = g_string_new_len (tmp_start, tmp_end - tmp_start); + address = g_string_new_len (tmp_start, (tmp_end - tmp_start)); } else { address = g_string_new_len (tmp_start, work_sockspec->len); @@ -446,7 +446,7 @@ static GSocketAddress* x2goclient_network_ssh_parse_sockspec_ip (const GString * GString *filter_work = NULL; if (filter_end) { - filter_work = g_string_new_len (filter_start, filter_end - filter_start); + filter_work = g_string_new_len (filter_start, (filter_end - filter_start)); } else { filter_work = g_string_new (filter_start); @@ -549,7 +549,7 @@ static GSocketAddress* x2goclient_network_ssh_parse_sockspec_alias (const GStrin tmp_end = g_strrstr_len (tmp_start, -1, ":"); if (tmp_end) { - address = g_string_new_len (tmp_start, tmp_end - tmp_start); + address = g_string_new_len (tmp_start, (tmp_end - tmp_start)); } else { address = g_string_new_len (tmp_start, work_sockspec->len); @@ -594,7 +594,7 @@ static GSocketAddress* x2goclient_network_ssh_parse_sockspec_alias (const GStrin * object. */ sockaddr_ho tmp_sockaddr = { AF_HOST, }; - g_strlcpy (tmp_sockaddr.sho_addr, address->str, max_len + 1); + g_strlcpy (tmp_sockaddr.sho_addr, address->str, (max_len + 1)); tmp_sockaddr.sho_port = port; ret = g_native_socket_address_new (&tmp_sockaddr, sizeof (sockaddr_ho)); } @@ -922,9 +922,9 @@ static gboolean x2goclient_network_ssh_parent_connect (X2GoClientNetwork *parent g_printf ("Launching!\n"); GError *ssh_err = NULL; - self->master_conn = g_subprocess_newv ((const gchar* const*)(ssh_cmd->pdata), G_SUBPROCESS_FLAGS_STDOUT_PIPE | G_SUBPROCESS_FLAGS_STDERR_PIPE, &ssh_err); + self->master_conn = g_subprocess_newv ((const gchar* const*)(ssh_cmd->pdata), (G_SUBPROCESS_FLAGS_STDOUT_PIPE | G_SUBPROCESS_FLAGS_STDERR_PIPE), &ssh_err); - ret = self->master_conn != NULL; + ret = (self->master_conn != NULL); if (ret) { g_printf ("Process started/executed successfully!\n"); @@ -1001,7 +1001,7 @@ static gboolean x2goclient_network_ssh_fetch_openssh_version (X2GoClientNetworkS } GError *ssh_err = NULL; - GSubprocess *ssh_proc = g_subprocess_newv ((const gchar* const*)(ssh_cmd->pdata), G_SUBPROCESS_FLAGS_STDOUT_PIPE | G_SUBPROCESS_FLAGS_STDERR_PIPE, &ssh_err); + GSubprocess *ssh_proc = g_subprocess_newv ((const gchar* const*)(ssh_cmd->pdata), (G_SUBPROCESS_FLAGS_STDOUT_PIPE | G_SUBPROCESS_FLAGS_STDERR_PIPE), &ssh_err); ret = (ssh_proc != NULL); diff --git a/src/x2goclient-openssh-version.c b/src/x2goclient-openssh-version.c index 3dc0847..440e533 100644 --- a/src/x2goclient-openssh-version.c +++ b/src/x2goclient-openssh-version.c @@ -139,7 +139,7 @@ _Bool x2goclient_openssh_version_parse (X2GoClientOpenSSHVersion *openssh_versio gchar *version_string_work = NULL; if (newline = g_strstr_len (version_string, -1, "\n")) { g_log (NULL, G_LOG_LEVEL_INFO, "Passed version string contains at least one newline, truncating string to first line."); - version_string_work = g_strndup (version_string, newline - version_string); + version_string_work = g_strndup (version_string, (newline - version_string)); } else { version_string_work = g_strdup (version_string); @@ -262,7 +262,7 @@ _Bool x2goclient_openssh_version_parse (X2GoClientOpenSSHVersion *openssh_versio } /* Copy and convert version number. */ - gchar *tmp_copy = g_strndup (tmp, end_search - tmp); + gchar *tmp_copy = g_strndup (tmp, (end_search - tmp)); SET_VER_COMPONENT (struct_work_copy, num_i, -1); _Bool conv_err = TRUE, -- Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/libx2goclient.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository libx2goclient. commit bb7e745fcaadc9f4adfd9ac5d733c2990ce068e8 Author: Mihai Moldovan <ionic@ionic.de> Date: Thu May 28 14:44:14 2020 +0200 src/x2goclient-network.c: use return value variables. --- src/x2goclient-network.c | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/src/x2goclient-network.c b/src/x2goclient-network.c index 21e6796..843d714 100644 --- a/src/x2goclient-network.c +++ b/src/x2goclient-network.c @@ -156,22 +156,30 @@ static void x2goclient_network_finalize (GObject *object) { static GSocketAddress* x2goclient_network_parse_sockspec (X2GoClientNetwork *self, const GString *sockspec) { + GSocketAddress *ret = NULL; + X2GoClientNetworkClass *class = X2GOCLIENT_NETWORK_GET_CLASS (self); - g_return_val_if_fail (X2GOCLIENT_IS_NETWORK (self), NULL); - g_return_val_if_fail (class->parse_sockspec, NULL); + g_return_val_if_fail (X2GOCLIENT_IS_NETWORK (self), ret); + g_return_val_if_fail (class->parse_sockspec, ret); + + ret = class->parse_sockspec (self, sockspec); - return (class->parse_sockspec (self, sockspec)); + return (ret); } gboolean x2goclient_network_connect (X2GoClientNetwork *self, GError **gerr) { + gboolean ret = FALSE; + X2GoClientNetworkClass *class = X2GOCLIENT_NETWORK_GET_CLASS (self); - g_return_val_if_fail (X2GOCLIENT_IS_NETWORK (self), FALSE); - g_return_val_if_fail (((gerr == NULL) || (*gerr == NULL)), FALSE); - g_return_val_if_fail (class->connect, FALSE); + g_return_val_if_fail (X2GOCLIENT_IS_NETWORK (self), ret); + g_return_val_if_fail (((gerr == NULL) || (*gerr == NULL)), ret); + g_return_val_if_fail (class->connect, ret); + + ret = class->connect (self, gerr); - return (class->connect (self, gerr)); + return (ret); } static void x2goclient_network_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *param_spec) { -- Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/libx2goclient.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository libx2goclient. commit e3f47907e6a88f29e743a25f613e5c55e8ec3d96 Author: Mihai Moldovan <ionic@ionic.de> Date: Fri May 29 10:53:53 2020 +0200 src/x2goclient-network-ssh.c: add FIXMEs to x2goclient_network_ssh_fetch_openssh_version (), non-functional change. I'd like to move that function to X2GoClientOpenSSHVersion, where it's probably placed a lot better and to revisit the stdout/stderr string sanitiazation part, which looks odd. --- src/x2goclient-network-ssh.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/x2goclient-network-ssh.c b/src/x2goclient-network-ssh.c index e2e4cc8..b52c37e 100644 --- a/src/x2goclient-network-ssh.c +++ b/src/x2goclient-network-ssh.c @@ -967,6 +967,7 @@ static gboolean x2goclient_network_ssh_parent_connect (X2GoClientNetwork *parent return (ret); } +/* FIXME: this code should probably be part of X2GoClientOpenSSHVersion. */ static gboolean x2goclient_network_ssh_fetch_openssh_version (X2GoClientNetworkSSH *self, GError **gerr) { gboolean ret = FALSE; @@ -1026,6 +1027,11 @@ static gboolean x2goclient_network_ssh_fetch_openssh_version (X2GoClientNetworkS int ssh_stdout_size_sanitized = 0, ssh_stderr_size_sanitized = 0; gchar *ssh_stdout_str_sanitized = 0, *ssh_stderr_str_sanitized = NULL; + /* + * FIXME: something about this section looks odd, revisit. + * Also, we should probably drop everything but the first line + * early on. + */ /* Sanity check on output size. */ if (INT_MAX < ssh_stdout_size) { g_log (NULL, G_LOG_LEVEL_WARNING, "OpenSSH returned more than %d bytes on stdout, this is unusual and will be truncated.", INT_MAX); -- Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/libx2goclient.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository libx2goclient. commit c0560d3edc6fe51b5064278eeff7f925b895527a Author: Mihai Moldovan <ionic@ionic.de> Date: Fri May 29 10:42:14 2020 +0200 src/x2goclient-{network{,-ssh},openssh-{bugs,version}}.c: use <constant> <op> <var> instead of <var> <op> <constant>. Also add a few parentheses where appropriate. --- src/x2goclient-network-ssh.c | 14 +++++++------- src/x2goclient-network.c | 2 +- src/x2goclient-openssh-bugs.c | 2 +- src/x2goclient-openssh-version.c | 4 ++-- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/x2goclient-network-ssh.c b/src/x2goclient-network-ssh.c index 1fcf580..913fc6c 100644 --- a/src/x2goclient-network-ssh.c +++ b/src/x2goclient-network-ssh.c @@ -303,7 +303,7 @@ static GSocketAddress* x2goclient_network_ssh_parse_sockspec_unix_socket (const static guint16 x2goclient_network_ssh_parse_sockspec_port (const GString * const portspec, GError **gerr) { guint16 ret = 0; - g_return_val_if_fail (((gerr == NULL) || (*gerr == NULL)), ret); + g_return_val_if_fail (((NULL == gerr) || (NULL == *gerr)), ret); if (':' == portspec->str[0]) { /* @@ -361,7 +361,7 @@ static GString* x2goclient_network_ssh_sanitize_sockspec (const GString * const static GSocketAddress* x2goclient_network_ssh_parse_sockspec_ip (const GString * const sockspec, const gboolean want_v6, GError **gerr) { GSocketAddress *ret = NULL; - g_return_val_if_fail (((gerr == NULL) || (*gerr == NULL)), ret); + g_return_val_if_fail (((NULL == gerr) || (NULL == *gerr)), ret); /* We're free to sanitize the string now. */ GString *work_sockspec = x2goclient_network_ssh_sanitize_sockspec (sockspec); @@ -528,7 +528,7 @@ static GSocketAddress* x2goclient_network_ssh_parse_sockspec_ip (const GString * static GSocketAddress* x2goclient_network_ssh_parse_sockspec_alias (const GString * const sockspec, GError **gerr) { GSocketAddress *ret = NULL; - g_return_val_if_fail (((gerr == NULL) || (*gerr == NULL)), ret); + g_return_val_if_fail (((NULL == gerr) || (NULL == *gerr)), ret); /* We're free to sanitize the string now. */ GString *work_sockspec = x2goclient_network_ssh_sanitize_sockspec (sockspec); @@ -713,7 +713,7 @@ gboolean x2goclient_network_ssh_connect (X2GoClientNetworkSSH *self, GError **ge gboolean ret = FALSE; g_return_val_if_fail (X2GOCLIENT_IS_NETWORK_SSH (self), ret); - g_return_val_if_fail (((gerr == NULL) || (*gerr == NULL)), ret); + g_return_val_if_fail (((NULL == gerr) || (NULL == *gerr)), ret); X2GoClientNetwork *parent = X2GOCLIENT_NETWORK (self); X2GoClientNetworkClass *parent_class = X2GOCLIENT_NETWORK_GET_CLASS (parent); @@ -727,7 +727,7 @@ static gboolean x2goclient_network_ssh_parent_connect (X2GoClientNetwork *parent gboolean ret = TRUE; g_return_val_if_fail (X2GOCLIENT_IS_NETWORK_SSH (parent), ret); - g_return_val_if_fail (((gerr == NULL) || (*gerr == NULL)), ret); + g_return_val_if_fail (((NULL == gerr) || (NULL == *gerr)), ret); X2GoClientNetworkSSH *self = X2GOCLIENT_NETWORK_SSH (parent); @@ -971,7 +971,7 @@ static gboolean x2goclient_network_ssh_fetch_openssh_version (X2GoClientNetworkS gboolean ret = FALSE; g_return_val_if_fail (X2GOCLIENT_IS_NETWORK_SSH (self), ret); - g_return_val_if_fail (((gerr == NULL) || (*gerr == NULL)), ret); + g_return_val_if_fail (((NULL == gerr) || (NULL == *gerr)), ret); GPtrArray *ssh_cmd = g_ptr_array_new_with_free_func (&x2goclient_clear_strings); g_ptr_array_add (ssh_cmd, g_strdup ("ssh")); @@ -1092,7 +1092,7 @@ static gboolean x2goclient_network_ssh_fetch_openssh_version (X2GoClientNetworkS } else { /* gerr is supposed to be empty at that point. */ - g_assert ((gerr == NULL) || (*gerr == NULL)); + g_assert ((NULL == gerr) || (NULL == *gerr)); ret = x2goclient_openssh_version_parse (version, ssh_stderr_str_sanitized, gerr); diff --git a/src/x2goclient-network.c b/src/x2goclient-network.c index d771c06..c416a87 100644 --- a/src/x2goclient-network.c +++ b/src/x2goclient-network.c @@ -174,7 +174,7 @@ gboolean x2goclient_network_connect (X2GoClientNetwork *self, GError **gerr) { X2GoClientNetworkClass *class = X2GOCLIENT_NETWORK_GET_CLASS (self); g_return_val_if_fail (X2GOCLIENT_IS_NETWORK (self), ret); - g_return_val_if_fail (((gerr == NULL) || (*gerr == NULL)), ret); + g_return_val_if_fail (((NULL == gerr) || (NULL == *gerr)), ret); g_return_val_if_fail (class->connect, ret); ret = class->connect (self, gerr); diff --git a/src/x2goclient-openssh-bugs.c b/src/x2goclient-openssh-bugs.c index 51df126..505d142 100644 --- a/src/x2goclient-openssh-bugs.c +++ b/src/x2goclient-openssh-bugs.c @@ -41,7 +41,7 @@ void x2goclient_openssh_bugs_free (X2GoClientOpenSSHBugs *openssh_bugs) { static X2GoClientOpenSSHBugs* x2goclient_openssh_bugs_copy (const X2GoClientOpenSSHBugs * const src) { X2GoClientOpenSSHBugs *dst = NULL; - g_return_val_if_fail (src != NULL, dst); + g_return_val_if_fail ((NULL != src), dst); dst = x2goclient_openssh_bugs_new (); *dst = *src; diff --git a/src/x2goclient-openssh-version.c b/src/x2goclient-openssh-version.c index 030860d..3dc0847 100644 --- a/src/x2goclient-openssh-version.c +++ b/src/x2goclient-openssh-version.c @@ -45,7 +45,7 @@ void x2goclient_openssh_version_free (X2GoClientOpenSSHVersion *openssh_version) static X2GoClientOpenSSHVersion* x2goclient_openssh_version_copy (const X2GoClientOpenSSHVersion * const src) { X2GoClientOpenSSHVersion *dst = NULL; - g_return_val_if_fail (src != NULL, dst); + g_return_val_if_fail ((NULL != src), dst); dst = x2goclient_openssh_version_new (); *dst = *src; @@ -120,7 +120,7 @@ G_DEFINE_BOXED_TYPE (X2GoClientOpenSSHVersion, x2goclient_openssh_version, &x2go _Bool x2goclient_openssh_version_parse (X2GoClientOpenSSHVersion *openssh_version, const gchar * const version_string, GError **gerr) { _Bool ret = FALSE; - g_return_val_if_fail (((gerr == NULL) || (*gerr == NULL)), ret); + g_return_val_if_fail (((NULL == gerr) || (NULL == *gerr)), ret); /* Basic sanity checks on struct and string. */ if (!(openssh_version)) { -- Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/libx2goclient.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository libx2goclient. commit 301ce5c8018899e2d7013b92be4389331af76316 Author: Mihai Moldovan <ionic@ionic.de> Date: Fri May 29 10:52:21 2020 +0200 src/x2goclient-network-ssh.c: fix weird grammar in comment, non-functional change. --- src/x2goclient-network-ssh.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/x2goclient-network-ssh.c b/src/x2goclient-network-ssh.c index 054d9ac..e2e4cc8 100644 --- a/src/x2goclient-network-ssh.c +++ b/src/x2goclient-network-ssh.c @@ -1047,9 +1047,11 @@ static gboolean x2goclient_network_ssh_fetch_openssh_version (X2GoClientNetworkS * * That's not really a problem if the string actually is to be * truncated, since in that case the result will be smaller than the - * original string anyway, but a huge problem if the string small. + * original string anyway, but a problem if the size is huge, but the + * string small. * - * In the latter case, we don't want to create a useless 2 GiB string. + * In the latter case, we don't want to create a useless 2 GiB (bounded + * by INT_MAX) string for a string that is actually quite small. * * Interestingly, POSIX describes strndup as allocating memory "as if * by using malloc ()", but doesn't mention the actual resulting size. -- Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/libx2goclient.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository libx2goclient. commit 29631360f142e499f05706c17304ead3b5bacf25 Author: Mihai Moldovan <ionic@ionic.de> Date: Fri May 29 10:51:06 2020 +0200 src/x2goclient-network-ssh.c: fix comment, whitespace-only. --- src/x2goclient-network-ssh.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/x2goclient-network-ssh.c b/src/x2goclient-network-ssh.c index bb58702..054d9ac 100644 --- a/src/x2goclient-network-ssh.c +++ b/src/x2goclient-network-ssh.c @@ -1097,7 +1097,8 @@ static gboolean x2goclient_network_ssh_fetch_openssh_version (X2GoClientNetworkS ret = x2goclient_openssh_version_parse (version, ssh_stderr_str_sanitized, gerr); if (ret) { - /* Everything went well, copy to the property. + /* + * Everything went well, copy to the property. * * ... unfortunately, the actual property is read-only (which * totally makes sense because we only want this class to handle -- Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/libx2goclient.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository libx2goclient. commit c393648c3b49057243142a17379bcd6945244ee4 Author: Mihai Moldovan <ionic@ionic.de> Date: Fri May 29 11:23:44 2020 +0200 src/x2goclient-network-ssh.{c,h}: add more type checks and fix falldown from that. --- src/x2goclient-network-ssh.c | 24 ++++++++++++++++++------ src/x2goclient-network-ssh.h | 1 + 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/src/x2goclient-network-ssh.c b/src/x2goclient-network-ssh.c index b52c37e..e26ad58 100644 --- a/src/x2goclient-network-ssh.c +++ b/src/x2goclient-network-ssh.c @@ -69,7 +69,11 @@ static void x2goclient_network_options_ssh_init (X2GoClientNetworkOptionsSSH *se } GPtrArray* x2goclient_network_options_ssh_to_array (X2GoClientNetworkOptionsSSH *self) { - GPtrArray *ret = g_ptr_array_new_with_free_func (&x2goclient_clear_strings); + GPtrArray *ret = NULL; + + g_return_val_if_fail (X2GOCLIENT_IS_NETWORK_OPTIONS_SSH (self), ret); + + g_ptr_array_new_with_free_func (&x2goclient_clear_strings); /* Implement actual options fetching here. */ @@ -611,6 +615,8 @@ static GSocketAddress* x2goclient_network_ssh_parse_sockspec_alias (const GStrin static GSocketAddress* x2goclient_network_ssh_parse_sockspec (X2GoClientNetwork *parent, const GString * const sockspec) { GSocketAddress *ret = NULL; + g_return_val_if_fail (X2GOCLIENT_IS_NETWORK (parent), ret); + if (sockspec) { /* Check if it's possibly a UNIX socket. */ ret = x2goclient_network_ssh_parse_sockspec_unix_socket (sockspec); @@ -869,13 +875,19 @@ static gboolean x2goclient_network_ssh_parent_connect (X2GoClientNetwork *parent /* Get string-array representation. */ GPtrArray *options_arr = x2goclient_network_options_ssh_to_array (options); - /* Add each element to command. */ - for (size_t i = 0; i < options_arr->len; ++i) { - g_ptr_array_add (ssh_cmd, g_strdup ("-o")); - g_ptr_array_add (ssh_cmd, g_strdup ((gchar *)g_ptr_array_index (options_arr, i))); + if (!(options_arr)) { + g_set_error_literal (gerr, X2GOCLIENT_NETWORK_SSH_ERROR, X2GOCLIENT_NETWORK_SSH_ERROR_CONNECT_OPTIONS_INVALID, "Unable to convert options stucture to an array, can't connect."); + ret = FALSE; } + else { + /* Add each element to command. */ + for (size_t i = 0; i < options_arr->len; ++i) { + g_ptr_array_add (ssh_cmd, g_strdup ("-o")); + g_ptr_array_add (ssh_cmd, g_strdup ((gchar *)g_ptr_array_index (options_arr, i))); + } - g_ptr_array_unref (options_arr); + g_ptr_array_unref (options_arr); + } } /* Add control path options. */ diff --git a/src/x2goclient-network-ssh.h b/src/x2goclient-network-ssh.h index 47441b0..b85f49b 100644 --- a/src/x2goclient-network-ssh.h +++ b/src/x2goclient-network-ssh.h @@ -66,6 +66,7 @@ enum { X2GOCLIENT_NETWORK_SSH_ERROR_CONNECT_INET_ADDR_NULL, X2GOCLIENT_NETWORK_SSH_ERROR_CONNECT_NATIVE_FETCH, X2GOCLIENT_NETWORK_SSH_ERROR_CONNECT_SOCK_ADDR_UNKNOWN, + X2GOCLIENT_NETWORK_SSH_ERROR_CONNECT_OPTIONS_INVALID, X2GOCLIENT_NETWORK_SSH_ERROR_OPENSSH_VERSION_NO_STDERR, X2GOCLIENT_NETWORK_SSH_ERROR_OPENSSH_VERSION_ALLOCATE, }; -- Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/libx2goclient.git