diff -ur gst-old/ext/neon/gstneonhttpsrc.c gst-plugins-bad-0.10.23/ext/neon/gstneonhttpsrc.c --- gst-old/ext/neon/gstneonhttpsrc.c 2011-12-31 01:24:28.000000000 +0700 +++ gst-plugins-bad-0.10.23/ext/neon/gstneonhttpsrc.c 2014-10-07 12:10:55.273108310 +0700 @@ -58,6 +58,7 @@ #define DEFAULT_IRADIO_URL NULL #define DEFAULT_AUTOMATIC_REDIRECT TRUE -#define DEFAULT_ACCEPT_SELF_SIGNED FALSE +#define DEFAULT_ACCEPT_SELF_SIGNED TRUE +#define DEFAULT_IGNORE_SSL_ERRORS TRUE #define DEFAULT_NEON_HTTP_DEBUG FALSE #define DEFAULT_CONNECT_TIMEOUT 0 #define DEFAULT_READ_TIMEOUT 0 @@ -75,6 +76,7 @@ PROP_IRADIO_URL, PROP_AUTOMATIC_REDIRECT, PROP_ACCEPT_SELF_SIGNED, + PROP_IGNORE_SSL_ERRORS, PROP_CONNECT_TIMEOUT, PROP_READ_TIMEOUT, #ifndef GST_DISABLE_GST_DEBUG @@ -228,6 +230,13 @@ DEFAULT_ACCEPT_SELF_SIGNED, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + g_object_class_install_property + (gobject_class, PROP_IGNORE_SSL_ERRORS, + g_param_spec_boolean ("ignore-ssl-errors", "ignore-ssl-errors", + "Ignore all SSL certificate errors", + DEFAULT_IGNORE_SSL_ERRORS, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + /** * GstNeonhttpSrc:connect-timeout * @@ -289,6 +298,7 @@ src->user_agent = g_strdup (DEFAULT_USER_AGENT); src->automatic_redirect = DEFAULT_AUTOMATIC_REDIRECT; src->accept_self_signed = DEFAULT_ACCEPT_SELF_SIGNED; + src->ignore_ssl_errors = DEFAULT_IGNORE_SSL_ERRORS; src->connect_timeout = DEFAULT_CONNECT_TIMEOUT; src->read_timeout = DEFAULT_READ_TIMEOUT; @@ -414,6 +424,9 @@ case PROP_ACCEPT_SELF_SIGNED: src->accept_self_signed = g_value_get_boolean (value); break; + case PROP_IGNORE_SSL_ERRORS: + src->ignore_ssl_errors = g_value_get_boolean (value); + break; case PROP_CONNECT_TIMEOUT: src->connect_timeout = g_value_get_uint (value); break; @@ -494,6 +507,9 @@ case PROP_ACCEPT_SELF_SIGNED: g_value_set_boolean (value, neonhttpsrc->accept_self_signed); break; + case PROP_IGNORE_SSL_ERRORS: + g_value_set_boolean (value, neonhttpsrc->ignore_ssl_errors); + break; case PROP_CONNECT_TIMEOUT: g_value_set_uint (value, neonhttpsrc->connect_timeout); break; @@ -894,6 +910,12 @@ failures &= ~NE_SSL_UNTRUSTED; } + if (src->ignore_ssl_errors && failures) { + GST_ELEMENT_INFO (src, RESOURCE, READ, + (NULL), ("Ignoring all SSL errors: %d", failures)); + failures = 0; + } + if (failures & NE_SSL_NOTYETVALID) GST_ELEMENT_ERROR (src, RESOURCE, READ, (NULL), ("Server certificate not valid yet")); Only in gst-plugins-bad-0.10.23/ext/neon: gstneonhttpsrc.c.orig Only in gst-plugins-bad-0.10.23/ext/neon: gstneonhttpsrc.c.rej diff -ur gst-old/ext/neon/gstneonhttpsrc.h gst-plugins-bad-0.10.23/ext/neon/gstneonhttpsrc.h --- gst-old/ext/neon/gstneonhttpsrc.h 2011-12-12 01:49:11.000000000 +0700 +++ gst-plugins-bad-0.10.23/ext/neon/gstneonhttpsrc.h 2014-10-07 11:56:54.253162719 +0700 @@ -75,6 +75,9 @@ /* accept self-signed certificates */ gboolean accept_self_signed; + /* ignore all SSL errors */ + gboolean ignore_ssl_errors; + gint64 read_position; gboolean seekable; Only in gst-plugins-bad-0.10.23/ext/neon: gstneonhttpsrc.h.orig