🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

@zone-eu/mailsplit

Package Overview
Dependencies
Maintainers
2
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@zone-eu/mailsplit - npm Package Compare versions

Comparing version
5.4.8
to
5.4.9
+30
-6
lib/headers.js

@@ -45,3 +45,3 @@ 'use strict';

key = this._normalizeHeader(key);
let lines = this.lines.filter(line => line.key === key).map(line => line.line);
let lines = this.lines.filter(line => line.key === key).map(line => this._decodeHeaderValue(line.line));

@@ -66,3 +66,3 @@ return lines;

}
return ((this.libmime.decodeHeader(header.line) || {}).value || '').toString().trim();
return ((this.libmime.decodeHeader(this._decodeHeaderValue(header.line)) || {}).value || '').toString().trim();
}

@@ -179,13 +179,23 @@

let headers = this.lines.map(line => line.line.replace(/\r?\n/g, lineEnd)).join(lineEnd) + `${lineEnd}${lineEnd}`;
let headers = this.lines
.map(line => this._buildHeaderLine(line.line.replace(/\r?\n/g, lineEnd)))
.reduce((joined, line, idx) => {
if (idx) {
joined.push(Buffer.from(lineEnd, 'binary'));
}
joined.push(line);
return joined;
}, []);
headers.push(Buffer.from(lineEnd + lineEnd, 'binary'));
if (this.mbox) {
headers = this.mbox + lineEnd + headers;
headers.unshift(Buffer.from(this.mbox + lineEnd, 'binary'));
}
if (this.http) {
headers = this.http + lineEnd + headers;
headers.unshift(Buffer.from(this.http + lineEnd, 'binary'));
}
return Buffer.from(headers, 'binary');
return Buffer.concat(headers);
}

@@ -238,2 +248,16 @@

}
_buildHeaderLine(line) {
let value = this._decodeHeaderValue(line);
return Buffer.from(value, value === line ? 'binary' : 'utf8');
}
_decodeHeaderValue(str) {
if (!str) {
return str;
}
let utf8 = Buffer.from(str, 'binary').toString('utf8');
return utf8.includes('\uFFFD') ? str : utf8;
}
}

@@ -240,0 +264,0 @@

+2
-2
{
"name": "@zone-eu/mailsplit",
"version": "5.4.8",
"version": "5.4.9",
"description": "Split email messages into an object stream",

@@ -17,3 +17,3 @@ "main": "index.js",

"libbase64": "1.3.0",
"libmime": "5.3.7",
"libmime": "5.3.8",
"libqp": "2.1.1"

@@ -20,0 +20,0 @@ },