mailparser 2.7.7 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.prettierrc.js CHANGED
@@ -1,5 +1,8 @@
1
1
  module.exports = {
2
2
  printWidth: 160,
3
3
  tabWidth: 4,
4
- singleQuote: true
4
+ singleQuote: true,
5
+ endOfLine: 'lf',
6
+ trailingComma: 'none',
7
+ arrowParens: 'avoid'
5
8
  };
@@ -1,4 +1,4 @@
1
- Copyright (c) 2011-2019 Andris Reinman
1
+ Copyright (c) 2010-2020 Andris Reinman
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  of this software and associated documentation files (the "Software"), to deal
@@ -13,4 +13,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
13
13
  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
14
14
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
15
15
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
16
- SOFTWARE.
16
+ SOFTWARE.
package/README.md CHANGED
@@ -4,8 +4,24 @@
4
4
 
5
5
  Advanced email parser for Node.js. Everything is handled as a stream which should make it able to parse even very large messages (100MB+) with relatively low overhead.
6
6
 
7
+ ## Installation
8
+
9
+ First install the module from npm:
10
+
11
+ ```
12
+ $ npm install mailparser
13
+ ```
14
+
15
+ next import the `mailparser` object into your script:
16
+
17
+ ```js
18
+ const mailparser = require('mailparser');
19
+ ```
20
+
21
+ ## Usage
22
+
7
23
  See [mailparser homepage](https://nodemailer.com/extras/mailparser/) for documentation and terms.
8
24
 
9
25
  ### License
10
26
 
11
- Dual licensed under **MIT** or **EUPLv1.1+**
27
+ Licensed under MIT
@@ -195,10 +195,7 @@ class MailParser extends Transform {
195
195
  } else {
196
196
  return {
197
197
  decodeStream(charset) {
198
- charset = (charset || 'ascii')
199
- .toString()
200
- .trim()
201
- .toLowerCase();
198
+ charset = (charset || 'ascii').toString().trim().toLowerCase();
202
199
  if (/^jis|^iso-?2022-?jp|^EUCJP/i.test(charset)) {
203
200
  // special case not supported by iconv-lite
204
201
  return new JPDecoder(charset);
@@ -302,6 +299,9 @@ class MailParser extends Transform {
302
299
  case 'content-disposition':
303
300
  case 'dkim-signature':
304
301
  value = this.libmime.parseHeaderValue(value);
302
+ if (value.value) {
303
+ value.value = this.libmime.decodeWords(value.value);
304
+ }
305
305
  Object.keys((value && value.params) || {}).forEach(key => {
306
306
  try {
307
307
  value.params[key] = this.libmime.decodeWords(value.params[key]);
@@ -312,7 +312,7 @@ class MailParser extends Transform {
312
312
  break;
313
313
  case 'date':
314
314
  value = new Date(value);
315
- if (!value || value.toString() === 'Invalid Date' || !value.getTime()) {
315
+ if (isNaN(value)) {
316
316
  // date parsing failed :S
317
317
  value = new Date();
318
318
  }
@@ -524,9 +524,13 @@ class MailParser extends Transform {
524
524
  }
525
525
  }
526
526
  if (/@xn--/.test(address.address)) {
527
- address.address =
528
- address.address.substr(0, address.address.lastIndexOf('@') + 1) +
529
- punycode.toUnicode(address.address.substr(address.address.lastIndexOf('@') + 1));
527
+ try {
528
+ address.address =
529
+ address.address.substr(0, address.address.lastIndexOf('@') + 1) +
530
+ punycode.toUnicode(address.address.substr(address.address.lastIndexOf('@') + 1));
531
+ } catch (E) {
532
+ // Not a valid punycode string; keep as is
533
+ }
530
534
  }
531
535
  if (address.group) {
532
536
  this.decodeAddresses(address.group);
@@ -833,10 +837,7 @@ class MailParser extends Transform {
833
837
 
834
838
  if (node.headers.has('content-id')) {
835
839
  attachment.contentId = [].concat(node.headers.get('content-id') || []).shift();
836
- attachment.cid = attachment.contentId
837
- .trim()
838
- .replace(/^<|>$/g, '')
839
- .trim();
840
+ attachment.cid = attachment.contentId.trim().replace(/^<|>$/g, '').trim();
840
841
  // check if the attachment is "related" to text content like an embedded image etc
841
842
  let parentNode = node;
842
843
  while ((parentNode = parentNode.parent)) {
@@ -901,9 +902,7 @@ class MailParser extends Transform {
901
902
  });
902
903
 
903
904
  node.contentStream.once('end', () => {
904
- node.textContent = Buffer.concat(chunks, chunklen)
905
- .toString()
906
- .replace(/\r?\n/g, '\n');
905
+ node.textContent = Buffer.concat(chunks, chunklen).toString().replace(/\r?\n/g, '\n');
907
906
  });
908
907
 
909
908
  node.contentStream.once('error', err => {
@@ -3,6 +3,10 @@
3
3
  const MailParser = require('./mail-parser.js');
4
4
 
5
5
  module.exports = (input, options, callback) => {
6
+ if (input === null || input === undefined) {
7
+ throw new TypeError('Input cannot be null or undefined.');
8
+ }
9
+
6
10
  if (!callback && typeof options === 'function') {
7
11
  callback = options;
8
12
  options = false;
@@ -122,7 +126,7 @@ module.exports = (input, options, callback) => {
122
126
  };
123
127
 
124
128
  function callbackPromise(resolve, reject) {
125
- return function(...args) {
129
+ return function (...args) {
126
130
  let err = args.shift();
127
131
  if (err) {
128
132
  reject(err);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mailparser",
3
- "version": "2.7.7",
3
+ "version": "3.0.1",
4
4
  "description": "Parse e-mails",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -14,35 +14,30 @@
14
14
  "url": "https://github.com/petersalomonsen"
15
15
  }
16
16
  ],
17
- "license": "(MIT OR EUPL-1.1+)",
17
+ "license": "MIT",
18
18
  "dependencies": {
19
19
  "encoding-japanese": "1.0.30",
20
20
  "he": "1.2.0",
21
- "html-to-text": "5.1.1",
22
- "iconv-lite": "0.5.0",
23
- "libmime": "4.2.1",
24
- "linkify-it": "2.2.0",
25
- "mailsplit": "4.6.2",
26
- "nodemailer": "6.4.0",
27
- "tlds": "1.207.0"
21
+ "html-to-text": "6.0.0",
22
+ "iconv-lite": "0.6.2",
23
+ "libmime": "5.0.0",
24
+ "linkify-it": "3.0.2",
25
+ "mailsplit": "5.0.0",
26
+ "nodemailer": "6.4.16",
27
+ "tlds": "1.214.0"
28
28
  },
29
29
  "devDependencies": {
30
- "ajv": "6.10.2",
31
- "eslint": "6.7.2",
30
+ "ajv": "6.12.6",
31
+ "eslint": "7.14.0",
32
32
  "eslint-config-nodemailer": "1.2.0",
33
- "eslint-config-prettier": "6.7.0",
34
- "grunt": "1.0.4",
33
+ "eslint-config-prettier": "6.15.0",
34
+ "grunt": "1.3.0",
35
35
  "grunt-cli": "1.3.2",
36
- "grunt-contrib-nodeunit": "2.0.0",
37
- "grunt-eslint": "22.0.0",
38
- "iconv": "2.3.5",
39
- "libbase64": "1.2.1",
40
- "libqp": "1.1.0",
36
+ "grunt-contrib-nodeunit": "2.1.0",
37
+ "grunt-eslint": "23.0.0",
38
+ "iconv": "3.0.0",
41
39
  "random-message": "1.1.0"
42
40
  },
43
- "engines": {
44
- "node": ">=6.0.0"
45
- },
46
41
  "repository": {
47
42
  "type": "git",
48
43
  "url": "https://github.com/nodemailer/mailparser.git"
package/LICENSE.EUPL-1.2 DELETED
@@ -1,153 +0,0 @@
1
- EUROOPA LIIDU TARKVARA VABA KASUTUSE LITSENTS v. 1.2
2
- EUPL © Euroopa Liit 2007, 2016
3
-
4
- Euroopa Liidu tarkvara vaba kasutuse litsents („EUPL“) kehtib allpool määratletud teose suhtes, mida levitatakse vastavalt käesoleva litsentsi tingimustele. Teost on keelatud kasutada muul viisil kui vastavalt käesoleva litsentsi tingimustele niivõrd, kuivõrd sellise kasutamise suhtes kehtivad teose autoriõiguse omaja õigused).
5
-
6
- Teost levitatakse vastavalt käesoleva litsentsi tingimustele, kui allpool määratletud litsentsiandja paneb vahetult teose autoriõiguse märke järele järgmise märke:
7
-
8
- Litsentsitud EUPL alusel
9
-
10
- või on muul viisil väljendanud soovi litsentsida originaalteos EUPL alusel.
11
-
12
- 1. Mõisted
13
- Käesolevas litsentsis kasutatakse järgmisi mõisteid:
14
-
15
- — „litsents“ – käesolev litsents;
16
-
17
- — „originaalteos“ – teos või tarkvara, mida litsentsiandja käesoleva litsentsi alusel levitab või edastab ning mis on kättesaadav lähtekoodina ja teatavatel juhtudel ka täitmiskoodina;
18
-
19
- — „tuletatud teos“ – teos või tarkvara, mida litsentsisaajal on olnud võimalik luua tuginedes originaalteosele või selle muudetud versioonile. Käesolevas litsentsis ei määratleta muudatuse ulatust või sõltuvust originaalteosest, mis on vajalik selleks, et klassifitseerida teos tuletatud teoseks; selline ulatus määratakse kindlaks vastavalt artiklis 15 nimetatud riigis kehtivatele autoriõigust käsitlevatele õigusaktidele;
20
-
21
- — „teos“ – originaalteos või sellest tuletatud teosed;
22
-
23
- — „lähtekood“ – teose inimloetav vorm, mida inimestel on kõige lihtsam uurida ja muuta;
24
-
25
- — „täitmiskood“ – igasugune kood, mille on tavaliselt koostanud arvuti ja mis on mõeldud arvuti poolt programmina tõlgendamiseks;
26
-
27
- — „litsentsiandja“ – füüsiline või juriidiline isik, kes levitab või edastab teost litsentsi alusel;
28
-
29
- — „edasiarendaja“ – füüsiline või juriidiline isik, kes muudab teost litsentsi alusel või osaleb muul moel tuletatud teose loomises;
30
-
31
- — „litsentsisaaja“ või „Teie“ – iga füüsiline või juriidiline isik, kes kasutab teost ükskõik mis moel vastavalt litsentsi tingimustele;
32
-
33
- — „levitamine“ või „edastamine“ – teose koopiate müümine, teisele isikule andmine, laenutamine, rentimine, levitamine, edastamine, ülekandmine või teose koopiate või selle oluliste funktsioonide muul viisil teistele füüsilistele või juriidilistele isikutele kättesaadavaks tegemine võrgus või võrguväliselt.
34
-
35
- 2. Litsentsiga antavate õiguste ulatus
36
- Käesolevaga annab litsentsiandja Teile ülemaailmse, tasuta, all-litsentsi andmise õigusega lihtlitsentsi, mille alusel võite teha originaalteose autoriõiguse kehtivusaja jooksul järgmist:
37
-
38
- — kasutada teost mis tahes eesmärgil ja mis tahes viisil,
39
-
40
- — teost reprodutseerida,
41
-
42
- — teost muuta ja luua teosel põhinevaid tuletatud teoseid,
43
-
44
- — teost või selle koopiaid üldsusele edastada, sealhulgas neid kättesaadavaks teha või eksponeerida, samuti avalikult esitada,
45
-
46
- — teost või selle koopiaid levitada,
47
-
48
- — teost või selle koopiaid laenutada ja rentida,
49
-
50
- — anda all-litsentse teose või selle koopiate suhtes kehtivate õiguste kohta.
51
-
52
- Neid õigusi võib teostada mistahes praegu tuntud või hiljem leiutatud keskkonnas, toel või formaadis, ja sellises ulatuses, nagu lubab kohaldatav õigus.
53
-
54
- Riikides, kus kehtivad isiklikud õigused, loobub litsentsiandja seadusega lubatud ulatuses oma õigusest teostada isiklikke õigusi, et oleks võimalik eespool loetletud varalisi õigusi litsentsida.
55
-
56
- Litsentsiandja annab litsentsisaajale tasuta lihtlitsentsi kõigi litsentsiandjale kuuluvate patentide kasutamiseks ulatuses, mis on vajalik teose suhtes käesoleva litsentsiga antud õiguste kasutamiseks.
57
-
58
- 3. Lähtekoodi edastamine
59
- Litsentsiandja võib teose kättesaadavaks teha kas lähtekoodi või täitmiskoodi kujul. Kui teos tehakse kättesaadavaks täitmiskoodi kujul, lisab litsentsiandja igale tema poolt levitatavale teose koopiale lähtekoodi masinloetava koopia või näitab teose autoriõiguse märke järele lisatud märkega ära hoidla, kust lähtekood on kergesti ja tasuta kättesaadav seni, kuni litsentsiandja jätkab teose levitamist või edastamist.
60
-
61
- 4. Autoriõiguse piiramine
62
- Käesolev litsents ei võta litsentsisaajalt võimalusi, mis tulenevad teose õiguste omaja ainuõiguste suhtes kehtestatud eranditest või ainuõiguste piiramisest, nende õiguste ammendumisest või muudest nende õiguste suhtes kohaldatavatest piirangutest.
63
-
64
- 5. Litsentsisaaja kohustused
65
- Eespool nimetatud õigused antakse litsentsisaajale tingimusel, et ta peab kinni teatavatest piirangutest ja täidab teatavaid talle pandud kohustusi. Need kohustused on järgmised:
66
-
67
- Õigus autorsusele. Litsentsisaaja hoiab puutumatuna kõik autoriõiguse, patentide ja kaubamärkide kohta käivad märked ja kõik märked, mis viitavad litsentsile ja garantii puudumisele. Litsentsisaaja peab teose iga tema poolt levitatavale või edastatavale koopiale lisama nimetatud märgete koopiad ja litsentsi koopia. Litsentsisaaja peab tagama, et iga tuletatud teos kannab selget märget selle kohta, et teost on muudetud ja muutmise kuupäeva.
68
- Klausel vaba kasutamise tagamise kohta (copyleft). Kui litsentsisaaja levitab või edastab originaalteose või tuletatud teoste koopiaid, toimub see levitamine või edastamine vastavalt käesoleva litsentsi tingimustele või käesoleva litsentsi hilisema versiooni tingimustele, välja arvatud juhul, kui originaalteost levitatakse ainult vastavalt litsentsi käesolevale versioonile (näiteks märkides „ainult EUPL v.1.2“). Litsentsisaaja ei tohi (litsentsiandjaks saades) teosele või tuletatud teosele lisada ega kehtestada mingeid lisatingimusi, mis muudavad või piiravad litsentsi tingimusi.
69
- Ühilduvuse klausel. Kui litsentsisaaja levitab või edastab tuletatud teoseid või nende koopiaid, mis põhinevad nii teosel kui ka teisel, käesoleva litsentsiga ühilduva litsentsi alusel litsentsitud teosel, võib see levitamine või edastamine toimuda vastavalt nimetatud ühilduva litsentsi tingimustele. Käesolevas klauslis tähendab „ühilduv litsents“ käesoleva litsentsi lisas loetletud litsentse. Kui litsentsisaaja ühilduvale litsentsile vastavad kohustused on vastuolus tema kohustustega vastavalt käesolevale litsentsile, loetakse kehtivaks ühilduva litsentsi kohased kohustused.
70
- Lähtekoodi lisamine. Teose koopiate levitamisel või edastamisel lisab litsentsisaaja igale koopiale lähtekoodi masinloetava koopia või näitab ära hoidla, kust lähtekood on kergesti ja tasuta kättesaadav seni, kuni litsentsisaaja jätkab teose levitamist või edastamist.
71
- Õiguskaitse. Käesoleva litsentsiga ei anta luba kasutada litsentsiandja ärinimesid, kaubamärke, teenindusmärke või nimesid, välja arvatud juhul, kui see on vajalik mõistlikuks ja tavapäraseks kasutamiseks teose päritolu kirjeldamisel ja autoriõiguse märke sisu reprodutseerimisel.
72
- 6. Autorsuse ahel
73
- Esialgne litsentsiandja tagab, et käesoleva litsentsiga antav autoriõigus originaalteosele kuulub talle või on talle litsentsitud ja et tal on õigus seda litsentsiga edasi anda.
74
-
75
- Iga edasiarendaja tagab, et autoriõigus tema poolt teosele tehtavatele muudatustele kuulub talle või on talle litsentsitud ja et tal on õigus litsentsi anda.
76
-
77
- Iga kord, kui Te võtate vastu litsentsi, annavad esialgne litsentsiandja ja hilisemad edasiarendajad Teile litsentsi nende osaluse kasutamiseks teoses vastavalt käesoleva litsentsi tingimustele.
78
-
79
- 7. Garantii puudumine
80
- Teos on veel pooleli ja arvukad edasiarendajad parendavad seda järjepidevalt. See ei ole lõpetatud teos ja võib seetõttu sisaldada defekte ja programmivigu, mis on omased seda liiki arendustegevusele.
81
-
82
- Seetõttu levitatakse teost litsentsi alusel „sellisena, nagu see on“ ilma teose suhtes kehtiva garantiita, muu hulgas garantiita kaubandusliku kvaliteedi kohta, garantiita sobivuse kohta mingi kindla eesmärgi jaoks, garantiita defektide ja vigade puudumise kohta, garantiita täpsuse kohta ja selle kohta, et ei ole rikutud muid intellektuaalse omandi õigusi peale käesoleva litsentsi artiklis 6 nimetatud autoriõiguse.
83
-
84
- Käesolev garantii puudumise klausel on litsentsi oluline osa ja teosele õiguste andmise eeltingimus.
85
-
86
- 8. Vastutuse välistamine
87
- Välja arvatud tahtliku õiguserikkumise või füüsilistele isikutele tekitatud otsese kahju puhul, ei vastuta litsentsiandja mitte mingil juhul litsentsi või teose kasutamise tagajärjel tekkinud mistahes otsese või kaudse, varalise või moraalse kahju eest, muu hulgas maineväärtuse langusest tekkinud kahju, tööseisakute, arvutirikke ja talitlushäirete, andmete kadumise ja ärikahju eest, isegi juhul kui litsentsiandjat on sellise kahju tekkimise võimalikkusest teavitatud. Litsentsiandja vastutab siiski vastavalt tootevastutust käsitlevatele õigusaktidele niivõrd, kuivõrd need õigusaktid on teose suhtes kohaldatavad.
88
-
89
- 9. Lisakokkulepped
90
- Teose levitamisel võite Te sõlmida lisakokkuleppe, milles määratakse kindlaks käesoleva litsentsiga vastavuses olevad kohustused või teenused. Kuid kui olete nõus võtma kohustusi, võite Te tegutseda ainult iseenda nimel ja vastutusel, mitte esialgse litsentsiandja või teiste edasiarendajate nimel, ja ainult juhul, kui Te nõustute vabastama edasiarendajad vastutusest, kaitsma ja hoidma neid kahju tekkimise eest vastutuse või nõuete osas, mida nende vastu võidakse esitada selle tagajärjel, et Teie pakute garantiid või võtate lisavastutuse.
91
-
92
- 10. Litsentsiga nõustumine
93
- Käesoleva litsentsi sätetega saab nõustuda, klõpsates ikoonile „Nõustun“ litsentsi teksti näitava akna all või väljendades nõusolekut muul sarnasel viisil vastavalt kehtivatele õigusaktidele. Sellele ikoonile klõpsates väljendate selgelt ja pöördumatult oma nõusolekut käesoleva litsentsi ja kõigi selle tingimuste suhtes.
94
-
95
- Samuti nõustute pöördumatult käesoleva litsentsi ja kõigi selle tingimustega, kui teostate Teile käesoleva litsentsi artikliga 2 antud õigusi, näiteks kasutate teost, loote tuletatud teose või levitate või edastate teost või selle koopiaid.
96
-
97
- 11. Üldsuse teavitamine
98
- Juhul, kui Te kasutate teose levitamiseks või edastamiseks elektroonilisi sidevahendeid (näiteks võimaldate teose allalaadimist veebisaidilt), tuleb levitamiskanalil või andmekandjal (näiteks veebisaidil) teha üldsusele kättesaadavaks vähemalt kohaldatava õiguse alusel kohustuslik teave litsentsiandja ja litsentsi kohta ning selle kohta, kuidas see on litsentsisaajale kättesaadav, litsentsilepingu sõlmimise kohta ja selle kohta, kuidas litsentsisaaja saab litsentsi säilitada ja reprodutseerida.
99
-
100
- 12. Litsentsi lõppemine
101
- Litsents ja sellega antud õigused lõppevad automaatselt juhul, kui litsentsisaaja rikub litsentsi tingimusi.
102
-
103
- Sellise lõppemise korral ei lõpe ühegi sellise isiku litsents, kes sai teose litsentsisaajalt vastavalt litsentsi tingimustele, juhul kui see isik täidab jätkuvalt litsentsi tingimusi.
104
-
105
- 13. Muud sätted
106
- Ilma et see piiraks litsentsi artikli 9 kohaldamist, sisaldab litsents kogu kokkulepet, mis osapoolte vahel seose teosega on.
107
-
108
- Kui mõni litsentsi säte on vastavalt kohaldatavatele õigusaktidele kehtetu või seda ei ole võimalik jõustada, ei mõjuta see litsentsi kui terviku kehtivust ega jõustatavust. Sellist sätet tõlgendatakse või muudetakse nii nagu vaja, et see kehtiks ja saaks tagada selle täitmise.
109
-
110
- Euroopa Komisjon võib avaldada käesoleva litsentsi muid keeleversioone või uusi versioone või lisa uuendatud versioone, kuivõrd see on vajalik ja mõistlik, vähendamata sellega litsentsiga antavate õiguste ulatust. Litsentsi uued versioonid avaldatakse kordumatu versiooninumbriga.
111
-
112
- Käesoleva litsentsi kõik keeleversioonid, mille Euroopa Komisjon on heaks kiitnud, on võrdväärsed. Osapooled võivad kasutada enda valitud keeleversiooni.
113
-
114
- 14. Kohtualluvus
115
- Ilma et see piiraks konkreetse osapooltevahelise kokkuleppe kohaldamist,
116
-
117
- — kuuluvad käesoleva litsentsi tõlgendamisest tulenevad kohtuvaidlused Euroopa Liidu institutsioonide, organite, büroode või asutuste kui litsentsiandja ja mistahes litsentsisaaja vahel Euroopa Liidu Kohtu pädevusse, nagu on sätestatud Euroopa Liidu toimimise lepingu artiklis 272,
118
-
119
- — kuuluvad käesoleva litsentsi tõlgendamisest tulenevad kohtuvaidlused muude osapoolte vahel selle pädeva kohtu ainupädevusse, kelle tööpiirkonnas asub litsentsiandja elukoht või peamine tegevuskoht.
120
-
121
- 15. Kohaldatav õigus
122
- Ilma et see piiraks konkreetse osapooltevahelise kokkuleppe kohaldamist,
123
-
124
- — kohaldatakse käesoleva litsentsi suhtes selle Euroopa Liidu liikmesriigi õigust, kus paikneb litsentsiandja peakorter, elukoht või asukoht,
125
-
126
- — kohaldatakse litsentsi suhtes Belgia õigust, kui litsentsiandja peakorter, elukoht või asukoht asub väljaspool Euroopa Liidu liikmesriike.
127
-
128
- Liide
129
- Euroopa Liidu tarkvara vaba kasutuse litsentsi artiklis 5 osutatud „ühilduvad litsentsid“ on järgmised:
130
-
131
- — GNU General Public License (GPL) v. 2, v. 3
132
-
133
- — GNU Affero General Public License (AGPL) v. 3
134
-
135
- — Open Software License (OSL) v. 2.1, v. 3.0
136
-
137
- — Eclipse Public License (EPL) v. 1.0
138
-
139
- — CeCILL v. 2.0, v. 2.1
140
-
141
- — Mozilla Public Licence (MPL) v. 2
142
-
143
- — GNU Lesser General Public Licence (LGPL) v. 2.1, v. 3
144
-
145
- — Creative Commons Attribution-ShareAlike v. 3.0 Unported (CC BY-SA 3.0) muude teoste puhul peale tarkvara
146
-
147
- — European Union Public Licence (EUPL) v. 1.1, v. 1.2
148
-
149
- — Québec Free and Open-Source Licence – Reciprocity (LiLiQ-R) or Strong Reciprocity (LiLiQ-R+)
150
-
151
- Euroopa Komisjon võib käesolevat lisa ajakohastada loetletud litsentside hilisemate versioonidega ilma, et peaks selleks koostama EUPLi uue versiooni, eeldusel et nende litsentsidega tagatakse käesoleva litsentsi artiklis 2 sätestatud õigused ja kaitstakse hõlmatud lähtekoodi eksklusiivse omastamise eest.
152
-
153
- Kõigi muude käesoleva liite muudatuste või täienduste jaoks on vaja koostada EUPLi uus versioon.