#42 Allow for @license with no link
Merged 4 years ago by quidam. Opened 4 years ago by quidam.
quidam/librejs features/newlicenses  into  master

file modified
+142 -16
@@ -1,91 +1,217 @@ 

  module.exports = {	

  	licenses: {

  		'Apache-2.0':{

+ 			'Name': 'Apache 2.0',

  			'URL': 'http://www.apache.org/licenses/LICENSE-2.0',

  			'Magnet link': 'magnet:?xt=urn:btih:8e4f440f4c65981c5bf93c76d35135ba5064d8b7&dn=apache-2.0.txt'

  		},

- 		// No identifier was present in documentation

  		'Artistic-2.0':{

+ 			'Name': 'Artistic 2.0',

  			'URL': 'http://www.perlfoundation.org/artistic_license_2_0',

  			'Magnet link': 'magnet:?xt=urn:btih:54fd2283f9dbdf29466d2df1a98bf8f65cafe314&dn=artistic-2.0.txt'

  		},

- 		// No identifier was present in documentation

  		'Boost':{

+ 			'Name': 'Boost',

  			'URL': 'http://www.boost.org/LICENSE_1_0.txt',

  			'Magnet link': 'magnet:?xt=urn:btih:89a97c535628232f2f3888c2b7b8ffd4c078cec0&dn=Boost-1.0.txt'

  		},

- 		// No identifier was present in documentation

- 		'BSD-3-Clause':{

- 			'URL': 'http://opensource.org/licenses/BSD-3-Clause',

- 			'Magnet link': 'magnet:?xt=urn:btih:c80d50af7d3db9be66a4d0a86db0286e4fd33292&dn=bsd-3-clause.txt',

- 		},

  		'CPAL-1.0':{

+ 			'Name': 'CPAL 1.0',

  			'URL': 'http://opensource.org/licenses/cpal_1.0',

  			'Magnet link': 'magnet:?xt=urn:btih:84143bc45939fc8fa42921d619a95462c2031c5c&dn=cpal-1.0.txt'

  		},

  		'CC0-1.0':{

+ 			'Name': 'CC0 1.0',

  			'URL': 'http://creativecommons.org/publicdomain/zero/1.0/legalcode',

  			'Magnet link': 'magnet:?xt=urn:btih:90dc5c0be029de84e523b9b3922520e79e0e6f08&dn=cc0.txt'

  		},

+ 		'CC-BY-SA-1.0':{

+ 			'Name': 'CC-BY-SA 1.0',

+ 			'URL': 'https://creativecommons.org/licenses/by-sa/1.0/',

+ 			'Magnet link': ''

+ 		},

+ 		'CC-BY-SA-2.0':{

+ 			'Name': 'CC-BY-SA 2.0',

+ 			'URL': 'https://creativecommons.org/licenses/by-sa/2.0/',

+ 			'Magnet link': ''

+ 		},

+ 		'CC-BY-SA-2.5':{

+ 			'Name': 'CC-BY-SA 2.5',

+ 			'URL': 'https://creativecommons.org/licenses/by-sa/2.5/',

+ 			'Magnet link': ''

+ 		},

+ 		'CC-BY-SA-3.0':{

+ 			'Name': 'CC-BY-SA 3.0',

+ 			'URL': 'https://creativecommons.org/licenses/by-sa/3.0/',

+ 			'Magnet link': ''

+ 		},

+ 		'CC-BY-SA-4.0':{

+ 			'Name': 'CC-BY-SA 4.0',

+ 			'URL': 'https://creativecommons.org/licenses/by-sa/4.0/',

+ 			'Magnet link': ''

+ 		},

+ 		'CC-BY-1.0':{

+ 			'Name': 'CC-BY 1.0',

+ 			'URL': 'https://creativecommons.org/licenses/by/1.0/',

+ 			'Magnet link': ''

+ 		},

+ 		'CC-BY-2.0':{

+ 			'Name': 'CC-BY 2.0',

+ 			'URL': 'https://creativecommons.org/licenses/by/2.0/',

+ 			'Magnet link': ''

+ 		},

+ 		'CC-BY-2.5':{

+ 			'Name': 'CC-BY 2.5',

+ 			'URL': 'https://creativecommons.org/licenses/by/2.5/',

+ 			'Magnet link': ''

+ 		},

+ 		'CC-BY-3.0':{

+ 			'Name': 'CC-BY 3.0',

+ 			'URL': 'https://creativecommons.org/licenses/by/3.0/',

+ 			'Magnet link': ''

+ 		},

+ 		'CC-BY-4.0':{

+ 			'Name': 'CC-BY 4.0',

+ 			'URL': 'https://creativecommons.org/licenses/by/4.0/',

+ 			'Magnet link': ''

+ 		},

  		'EPL-1.0':{

+ 			'Name': 'EPL 1.0',

  			'URL': 'http://www.eclipse.org/legal/epl-v10.html',

  			'Magnet link': 'magnet:?xt=urn:btih:4c6a2ad0018cd461e9b0fc44e1b340d2c1828b22&dn=epl-1.0.txt'

  		},

  		'Expat':{

+ 			'Name': 'Expat',

  			'URL': 'http://www.jclark.com/xml/copying.txt',

  			'Magnet link': 'magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt'

  		},

- 		'FreeBSD':{

- 			'URL': 'http://www.freebsd.org/copyright/freebsd-license.html',

- 			'Magnet link': 'magnet:?xt=urn:btih:87f119ba0b429ba17a44b4bffcab33165ebdacc0&dn=freebsd.txt'

+ 		'MIT':{

+ 			'Name': 'Expat',

+ 			'URL': 'http://www.jclark.com/xml/copying.txt',

+ 			'Magnet link': 'magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt'

+ 		},

+ 		'X11':{

+ 			'Name': 'X11',

+ 			'URL': 'http://www.xfree86.org/3.3.6/COPYRIGHT2.html#3',

+ 			'Magnet link': 'magnet:?xt=urn:btih:5305d91886084f776adcf57509a648432709a7c7&dn=x11.txt'	

  		},

  		'GPL-2.0':{

+ 			'Name': 'GPL 2.0',

  			'URL': 'http://www.gnu.org/licenses/gpl-2.0.html',

  			'Magnet link': 'magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt'

  		},

  		'GPL-3.0':{

+ 			'Name': 'GPL 3.0',

  			'URL': 'http://www.gnu.org/licenses/gpl-3.0.html',

  			'Magnet link': 'magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&dn=gpl-3.0.txt'

  		},

  		'LGPL-2.1':{

+ 			'Name': 'LGPL 2.1',

  			'URL': 'http://www.gnu.org/licenses/lgpl-2.1.html',

  			'Magnet link': 'magnet:?xt=urn:btih:5de60da917303dbfad4f93fb1b985ced5a89eac2&dn=lgpl-2.1.txt'

  		},

  		'LGPL-3.0':{

+ 			'Name': 'LGPL 3.0',

  			'URL': 'http://www.gnu.org/licenses/lgpl-3.0.html',

  			'Magnet link': 'magnet:?xt=urn:btih:0ef1b8170b3b615170ff270def6427c317705f85&dn=lgpl-3.0.txt'

  		},

  		'AGPL-3.0':{

+ 			'Name': 'AGPL 3.0',

+ 			'URL': 'http://www.gnu.org/licenses/agpl-3.0.html',

+ 			'Magnet link': 'magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt'

+ 		},

+ 		'GPL-2.0-only':{

+ 			'Name': 'GPL 2.0',

+ 			'URL': 'http://www.gnu.org/licenses/gpl-2.0.html',

+ 			'Magnet link': ''

+ 		},

+ 		'GPL-3.0-only':{

+ 			'Name': 'GPL 3.0',

+ 			'URL': 'http://www.gnu.org/licenses/gpl-3.0.html',

+ 			'Magnet link': ''

+ 		},

+ 		'LGPL-2.1-only':{

+ 			'Name': 'LGPL 2.1',

+ 			'URL': 'http://www.gnu.org/licenses/lgpl-2.1.html',

+ 			'Magnet link': ''

+ 		},

+ 		'LGPL-3.0-only':{

+ 			'Name': 'LGPL 3.0',

+ 			'URL': 'http://www.gnu.org/licenses/lgpl-3.0.html',

+ 			'Magnet link': ''

+ 		},

+ 		'AGPL-3.0-only':{

+ 			'Name': 'AGPL 3.0',

+ 			'URL': 'http://www.gnu.org/licenses/agpl-3.0.html',

+ 			'Magnet link': ''

+ 		},

+ 		'GPL-2.0-or-later':{

+ 			'Name': 'GPL 2.0 or later',

+ 			'URL': 'http://www.gnu.org/licenses/gpl-2.0.html',

+ 			'Magnet link': 'magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt'

+ 		},

+ 		'GPL-3.0-or-later':{

+ 			'Name': 'GPL 3.0 or later',

+ 			'URL': 'http://www.gnu.org/licenses/gpl-3.0.html',

+ 			'Magnet link': 'magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&dn=gpl-3.0.txt'

+ 		},

+ 		'LGPL-2.1-or-later':{

+ 			'Name': 'LGPL 2.1 or later',

+ 			'URL': 'http://www.gnu.org/licenses/lgpl-2.1.html',

+ 			'Magnet link': 'magnet:?xt=urn:btih:5de60da917303dbfad4f93fb1b985ced5a89eac2&dn=lgpl-2.1.txt'

+ 		},

+ 		'LGPL-3.0-or-later':{

+ 			'Name': 'LGPL 3.0 or later',

+ 			'URL': 'http://www.gnu.org/licenses/lgpl-3.0.html',

+ 			'Magnet link': 'magnet:?xt=urn:btih:0ef1b8170b3b615170ff270def6427c317705f85&dn=lgpl-3.0.txt'

+ 		},

+ 		'AGPL-3.0-or-later':{

+ 			'Name': 'AGPL 3.0 or later',

  			'URL': 'http://www.gnu.org/licenses/agpl-3.0.html',

  			'Magnet link': 'magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt'

  		},

  		'ISC':{

+ 			'Name': 'ISC',

  			'URL': 'https://www.isc.org/downloads/software-support-policy/isc-license/',

  			'Magnet link': 'magnet:?xt=urn:btih:b8999bbaf509c08d127678643c515b9ab0836bae&dn=ISC.txt'

  		},

  		'MPL-2.0':{

+ 			'Name': 'MPL 2.0',

  			'URL': 'http://www.mozilla.org/MPL/2.0',

  			'Magnet link': 'magnet:?xt=urn:btih:3877d6d54b3accd4bc32f8a48bf32ebc0901502a&dn=mpl-2.0.txt'

  		},

  		'UPL-1.0': {

+ 			'Name': 'UPL 1.0',

  			'URL': 'https://oss.oracle.com/licenses/upl/',

  			'Magnet link': 'magnet:?xt=urn:btih:478974f4d41c3fa84c4befba25f283527fad107d&dn=upl-1.0.txt'

  		},

  		'WTFPL': {

+ 			'Name': 'WTFPL',

  			'URL': 'http://www.wtfpl.net/txt/copying/',

  			'Magnet link': 'magnet:?xt=urn:btih:723febf9f6185544f57f0660a41489c7d6b4931b&dn=wtfpl.txt'

  		},

  		'Unlicense':{

+ 			'Name': 'Unlicense',

  			'URL': 'http://unlicense.org/UNLICENSE',

  			'Magnet link': 'magnet:?xt=urn:btih:5ac446d35272cc2e4e85e4325b146d0b7ca8f50c&dn=unlicense.txt'

  		},

- 		// No identifier was present in documentation

- 		'X11':{

- 			'URL': 'http://www.xfree86.org/3.3.6/COPYRIGHT2.html#3',

- 			'Magnet link': 'magnet:?xt=urn:btih:5305d91886084f776adcf57509a648432709a7c7&dn=x11.txt'	

+ 		'FreeBSD':{

+ 			'Name': 'FreeBSD',

+ 			'URL': 'http://www.freebsd.org/copyright/freebsd-license.html',

+ 			'Magnet link': 'magnet:?xt=urn:btih:87f119ba0b429ba17a44b4bffcab33165ebdacc0&dn=freebsd.txt'

+ 		},

+ 		'BSD-2-Clause':{

+ 			'Name': 'FreeBSD (BSD-2-Clause)',

+ 			'URL': 'http://www.freebsd.org/copyright/freebsd-license.html',

+ 			'Magnet link': ''

+ 		},

+ 		'BSD-3-Clause':{

+ 			'Name': 'Modified BSD (BSD-3-Clause)',

+ 			'URL': 'http://opensource.org/licenses/BSD-3-Clause',

+ 			'Magnet link': 'magnet:?xt=urn:btih:c80d50af7d3db9be66a4d0a86db0286e4fd33292&dn=bsd-3-clause.txt'

  		},

- 		// Picked one of the two links that were there

- 		'Modified-BSD':{

+ 		'XFree86-1.1':{

+ 			'Name': 'XFree86 1.1',

  			'URL': 'http://www.xfree86.org/current/LICENSE4.html',

  			'Magnet link': 'magnet:?xt=urn:btih:12f2ec9e8de2a3b0002a33d518d6010cc8ab2ae9&dn=xfree86.txt'

  		}

file modified
+17 -11
@@ -239,7 +239,6 @@ 

  	let report = activityReports[tabId];

  	if (!report) report = activityReports[tabId] =

  			await createReport({tabId});

- 

  	let type, actionValue;

  	for (type of ["accepted", "blocked", "whitelisted", "blacklisted"]) {

  		if (type in action) {
@@ -618,21 +617,28 @@ 

  	}

  	let [all, tag, link, id] = matches;

  	let license = null;

- 	if (licenses[id])

+ 	// The match contains a link: @license [magnet|http;//....] LicenseID

+ 	if (licenses[id]) {

  		license = licenses[id];

- 	for (let key in licenses){

- 		if (licenses[key]["Magnet link"] === link)

- 			license = licenses[key];

- 		if (licenses[key]["URL"] === link)

- 			license = licenses[key];

+ 		for (let key in licenses){

+ 			if (licenses[key]["Magnet link"] === link)

+ 				license = licenses[key];

+ 			if (licenses[key]["URL"] === link)

+ 				license = licenses[key];

+ 		}

+ 		if (!(license["Magnet link"] === link || license["URL"] === link)){

+ 			return [false, `License magnet link does not match for "${id}".`];

+ 		}

+ 	}

+ 	// The match does not contain a link: @license LicenseID

+ 	if (licenses[link]) {

+                 license = licenses[link];

+                 id = link;

  	}

  	if(!license){

  		return [false, `Unrecognized license "${id}"`];

  	}

- 	if (!(license["Magnet link"] === link || license["URL"] === link)){

- 		return [false, `License magnet link does not match for "${id}".`];

- 	}

- 	return [true, `Recognized license: "${id}".`];

+ 	return [true, `Recognized license: "${license['Name']}".`];

  }

  /**

  *

Other than extending and correcting the license list, this changes the license matching mechanism to allow for the magnet or url link to be optional. It also adds human readable names to the license list.

Pull-Request has been merged by quidam

4 years ago
Metadata