Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/GStreamer/gstreamer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gst/gstplugin.c35
1 files changed, 16 insertions, 19 deletions
diff --git a/gst/gstplugin.c b/gst/gstplugin.c
index 3998f049df..da2221f534 100644
--- a/gst/gstplugin.c
+++ b/gst/gstplugin.c
@@ -86,33 +86,29 @@ static gchar **_plugin_loading_whitelist; /* NULL */
/* static variables for segfault handling of plugin loading */
static char *_gst_plugin_fault_handler_filename = NULL;
-/* list of valid licenses.
- * One of these must be specified or the plugin won't be loaded
- * Please file a bug to request any additional license be added.
- *
- * GPL: http://www.gnu.org/copyleft/gpl.html
- * LGPL: http://www.gnu.org/copyleft/lesser.html
- * QPL: http://www.trolltech.com/licenses/qpl.html
- * MPL: http://www.opensource.org/licenses/mozilla1.1.php
- * MIT/X11: http://www.opensource.org/licenses/mit-license.php
+/* List of known licenses:
+ * GPL: https://opensource.org/licenses/gpl-license
+ * LGPL: https://opensource.org/licenses/lgpl-license
+ * QPL: https://opensource.org/licenses/QPL-1.0
+ * MPL: https://opensource.org/licenses/MPL-1.1
+ * MPL-2.0: https://opensource.org/licenses/MPL-2.0
+ * MIT/X11: https://opensource.org/licenses/MIT
* 3-clause BSD: https://opensource.org/licenses/BSD-3-Clause
* Zero-Clause BSD: https://opensource.org/licenses/0BSD
+ * FIXME: update to use SPDX identifiers, or just remove entirely
*/
-static const gchar valid_licenses[] = "LGPL\000" /* GNU Lesser General Public License */
+static const gchar known_licenses[] = "LGPL\000" /* GNU Lesser General Public License */
"GPL\000" /* GNU General Public License */
"QPL\000" /* Trolltech Qt Public License */
"GPL/QPL\000" /* Combi-license of GPL + QPL */
"MPL\000" /* MPL 1.1 license */
+ "MPL-2.0\000" /* MPL 2.0 license */
"BSD\000" /* 3-clause BSD license */
"MIT/X11\000" /* MIT/X11 license */
"0BSD\000" /* Zero-Clause BSD */
"Proprietary\000" /* Proprietary license */
GST_LICENSE_UNKNOWN; /* some other license */
-static const guint8 valid_licenses_idx[] = { 0, 5, 9, 13, 21, 25, 29, 37, 42,
- 54
-};
-
static GstPlugin *gst_plugin_register_func (GstPlugin * plugin,
const GstPluginDesc * desc, gpointer user_data);
static void gst_plugin_desc_copy (GstPluginDesc * dest,
@@ -462,12 +458,13 @@ priv_gst_plugin_loading_get_whitelist_hash (void)
static gboolean
gst_plugin_check_license (const gchar * license)
{
- gint i;
+ const gchar *l, *end = known_licenses + sizeof (known_licenses);
- for (i = 0; i < G_N_ELEMENTS (valid_licenses_idx); ++i) {
- if (strcmp (license, valid_licenses + valid_licenses_idx[i]) == 0)
+ for (l = known_licenses; l < end; l += strlen (l) + 1) {
+ if (strcmp (license, l) == 0)
return TRUE;
}
+
return FALSE;
}
@@ -505,9 +502,9 @@ gst_plugin_register_func (GstPlugin * plugin, const GstPluginDesc * desc,
if (!gst_plugin_check_license (desc->license)) {
if (GST_CAT_DEFAULT)
- GST_WARNING ("plugin \"%s\" has invalid license \"%s\", not loading",
+ GST_WARNING ("plugin \"%s\" has unknown license \"%s\"",
GST_STR_NULL (plugin->filename), desc->license);
- return NULL;
+ /* We still want to load the plugin, it's not our job to validate licenses */
}
if (GST_CAT_DEFAULT)