On Wed, Oct 01, 2014 at 04:36:45PM +0200, Fabiano Fidêncio wrote: > From: Dietmar Maurer <dietmar@xxxxxxxxxxx> > > --- > gtk/spice-session-priv.h | 2 ++ > gtk/spice-session.c | 43 +++++++++++++++++++++++++++++++++++++++++-- > 2 files changed, 43 insertions(+), 2 deletions(-) > > diff --git a/gtk/spice-session-priv.h b/gtk/spice-session-priv.h > index 4b2c151..da43866 100644 > --- a/gtk/spice-session-priv.h > +++ b/gtk/spice-session-priv.h > @@ -45,6 +45,7 @@ struct _SpiceSessionPrivate { > char *host; > char *port; > char *tls_port; > + char *username; > char *password; > char *ca_file; > char *ciphers; > @@ -146,6 +147,7 @@ void spice_session_set_migration_state(SpiceSession *session, SpiceSessionMigrat > void spice_session_set_port(SpiceSession *session, int port, gboolean tls); > void spice_session_get_pubkey(SpiceSession *session, guint8 **pubkey, guint *size); > guint spice_session_get_verify(SpiceSession *session); > +const gchar* spice_session_get_username(SpiceSession *session); > const gchar* spice_session_get_password(SpiceSession *session); > const gchar* spice_session_get_host(SpiceSession *session); > const gchar* spice_session_get_cert_subject(SpiceSession *session); > diff --git a/gtk/spice-session.c b/gtk/spice-session.c > index 49afc97..592325a 100644 > --- a/gtk/spice-session.c > +++ b/gtk/spice-session.c > @@ -111,7 +111,8 @@ enum { > PROP_CA, > PROP_PROXY, > PROP_SECURE_CHANNELS, > - PROP_SHARED_DIR > + PROP_SHARED_DIR, > + PROP_USERNAME > }; > > /* signals */ > @@ -217,6 +218,7 @@ spice_session_finalize(GObject *gobject) > g_free(s->host); > g_free(s->port); > g_free(s->tls_port); > + g_free(s->username); > g_free(s->password); > g_free(s->ca_file); > g_free(s->ciphers); > @@ -262,7 +264,7 @@ static int spice_uri_create(SpiceSession *session, char *dest, int len) > static int spice_parse_uri(SpiceSession *session, const char *original_uri) > { > SpiceSessionPrivate *s = session->priv; > - gchar *host = NULL, *port = NULL, *tls_port = NULL, *uri = NULL, *password = NULL; > + gchar *host = NULL, *port = NULL, *tls_port = NULL, *uri = NULL, *username = NULL, *password = NULL; > gchar *path = NULL; > gchar *unescaped_path = NULL; > gchar *authority = NULL; > @@ -348,6 +350,8 @@ static int spice_parse_uri(SpiceSession *session, const char *original_uri) > target_key = &port; > } else if (g_str_equal(key, "tls-port")) { > target_key = &tls_port; > + } else if (g_str_equal(key, "username")) { > + target_key = &username; > } else if (g_str_equal(key, "password")) { > target_key = &password; > g_warning("password may be visible in process listings"); > @@ -375,10 +379,12 @@ static int spice_parse_uri(SpiceSession *session, const char *original_uri) > g_free(s->host); > g_free(s->port); > g_free(s->tls_port); > + g_free(s->username); > g_free(s->password); > s->host = host; > s->port = port; > s->tls_port = tls_port; > + s->username = username; > s->password = password; > return 0; > > @@ -412,6 +418,9 @@ static void spice_session_get_property(GObject *gobject, > case PROP_TLS_PORT: > g_value_set_string(value, s->tls_port); > break; > + case PROP_USERNAME: > + g_value_set_string(value, s->username); > + break; > case PROP_PASSWORD: > g_value_set_string(value, s->password); > break; > @@ -522,6 +531,10 @@ static void spice_session_set_property(GObject *gobject, > g_free(s->tls_port); > s->tls_port = g_value_dup_string(value); > break; > + case PROP_USERNAME: > + g_free(s->username); > + s->username = g_value_dup_string(value); > + break; > case PROP_PASSWORD: > g_free(s->password); > s->password = g_value_dup_string(value); > @@ -688,6 +701,21 @@ static void spice_session_class_init(SpiceSessionClass *klass) > G_PARAM_STATIC_STRINGS)); > > /** > + * SpiceSession:username: > + * > + * Username to use > + * > + **/ > + g_object_class_install_property > + (gobject_class, PROP_USERNAME, > + g_param_spec_string("username", > + "Username", > + "", I'd add a bit of text here, patch looks good otherwise. Christophe > + NULL, > + G_PARAM_READWRITE | > + G_PARAM_STATIC_STRINGS)); > + > + /** > * SpiceSession:password: > * > * TLS password to use > @@ -1214,6 +1242,7 @@ SpiceSession *spice_session_new_from_session(SpiceSession *session) > > g_warn_if_fail(c->host == NULL); > g_warn_if_fail(c->tls_port == NULL); > + g_warn_if_fail(c->username == NULL); > g_warn_if_fail(c->password == NULL); > g_warn_if_fail(c->ca_file == NULL); > g_warn_if_fail(c->ciphers == NULL); > @@ -1225,6 +1254,7 @@ SpiceSession *spice_session_new_from_session(SpiceSession *session) > g_object_get(session, > "host", &c->host, > "tls-port", &c->tls_port, > + "username", &c->username, > "password", &c->password, > "ca-file", &c->ca_file, > "ciphers", &c->ciphers, > @@ -2073,6 +2103,15 @@ void spice_session_set_migration_state(SpiceSession *session, SpiceSessionMigrat > } > > G_GNUC_INTERNAL > +const gchar* spice_session_get_username(SpiceSession *session) > +{ > + SpiceSessionPrivate *s = session->priv; > + > + g_return_val_if_fail(s != NULL, NULL); > + return s->username; > +} > + > +G_GNUC_INTERNAL > const gchar* spice_session_get_password(SpiceSession *session) > { > SpiceSessionPrivate *s = session->priv; > -- > 1.9.3 > > _______________________________________________ > Spice-devel mailing list > Spice-devel@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/spice-devel
Attachment:
pgpANXna8Qx2S.pgp
Description: PGP signature
_______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel