@social-mail/social-mail-web-server 1.5.167 → 1.5.169

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.
Files changed (34) hide show
  1. package/dist/protocols/core/tokenizer.d.ts +1 -0
  2. package/dist/protocols/core/tokenizer.d.ts.map +1 -1
  3. package/dist/protocols/core/tokenizer.js +14 -0
  4. package/dist/protocols/core/tokenizer.js.map +1 -1
  5. package/dist/server/services/dom/HtmlSanitizer.d.ts +7 -0
  6. package/dist/server/services/dom/HtmlSanitizer.d.ts.map +1 -1
  7. package/dist/server/services/dom/HtmlSanitizer.js +41 -1
  8. package/dist/server/services/dom/HtmlSanitizer.js.map +1 -1
  9. package/dist/server/services/files/SnapshotService.d.ts.map +1 -1
  10. package/dist/server/services/files/SnapshotService.js +2 -16
  11. package/dist/server/services/files/SnapshotService.js.map +1 -1
  12. package/dist/server/smtp/services/CachedEmailService.d.ts +5 -2
  13. package/dist/server/smtp/services/CachedEmailService.d.ts.map +1 -1
  14. package/dist/server/smtp/services/CachedEmailService.js +49 -23
  15. package/dist/server/smtp/services/CachedEmailService.js.map +1 -1
  16. package/dist/tests/core/sanitizer-test/Sanitizer.test.d.ts +2 -0
  17. package/dist/tests/core/sanitizer-test/Sanitizer.test.d.ts.map +1 -0
  18. package/dist/tests/core/sanitizer-test/Sanitizer.test.js +21 -0
  19. package/dist/tests/core/sanitizer-test/Sanitizer.test.js.map +1 -0
  20. package/dist/tsconfig.tsbuildinfo +1 -1
  21. package/dist/wwwroot/routes/api/emails/content/html/index.js +9 -9
  22. package/dist/wwwroot/routes/api/emails/content/html/index.js.map +1 -1
  23. package/dist/wwwroot/routes/api/emails/d/get.d.ts +1 -0
  24. package/dist/wwwroot/routes/api/emails/d/get.d.ts.map +1 -1
  25. package/dist/wwwroot/routes/api/emails/d/get.js +44 -31
  26. package/dist/wwwroot/routes/api/emails/d/get.js.map +1 -1
  27. package/package.json +3 -3
  28. package/src/protocols/core/tokenizer.ts +16 -1
  29. package/src/server/services/dom/HtmlSanitizer.ts +51 -1
  30. package/src/server/services/files/SnapshotService.ts +2 -17
  31. package/src/server/smtp/services/CachedEmailService.ts +56 -30
  32. package/src/tests/core/sanitizer-test/Sanitizer.test.ts +26 -0
  33. package/src/wwwroot/routes/api/emails/content/html/index.ts +9 -9
  34. package/src/wwwroot/routes/api/emails/d/get.ts +45 -36
@@ -1,4 +1,5 @@
1
1
  export declare function tokenize(text: string, sep: string): Generator<string, void, unknown>;
2
2
  export declare function tokenizeMax(text: string, sep: string, max?: number): any[];
3
3
  export declare function tokenizeRegex(text: string, regex: RegExp): Generator<RegExpExecArray, void, unknown>;
4
+ export declare function tokenizeCssUrl(html: string): Generator<string, void, unknown>;
4
5
  //# sourceMappingURL=tokenizer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokenizer.d.ts","sourceRoot":"","sources":["../../../src/protocols/core/tokenizer.ts"],"names":[],"mappings":"AAAA,wBAAiB,QAAQ,CAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,oCAcnD;AAGD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,SAA0B,SAoBnF;AAED,wBAAiB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,6CAczD"}
1
+ {"version":3,"file":"tokenizer.d.ts","sourceRoot":"","sources":["../../../src/protocols/core/tokenizer.ts"],"names":[],"mappings":"AAAA,wBAAiB,QAAQ,CAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,oCAcnD;AAGD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,SAA0B,SAoBnF;AAED,wBAAiB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,6CAczD;AAED,wBAAiB,cAAc,CAAC,IAAI,EAAE,MAAM,oCAa3C"}
@@ -51,4 +51,18 @@ export function* tokenizeRegex(text, regex) {
51
51
  }
52
52
  }
53
53
  }
54
+ export function* tokenizeCssUrl(html) {
55
+ const set = new Set();
56
+ for (const match of tokenizeRegex(html, /url\(((\"[^\"]+\")|(\'[^\']+\')|([^\)]+))\)/gmi)) {
57
+ const value = match[1];
58
+ if (!value) {
59
+ continue;
60
+ }
61
+ if (set.has(value)) {
62
+ continue;
63
+ }
64
+ set.add(value);
65
+ yield value;
66
+ }
67
+ }
54
68
  //# sourceMappingURL=tokenizer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokenizer.js","sourceRoot":"","sources":["../../../src/protocols/core/tokenizer.ts"],"names":[],"mappings":"AAAA,MAAM,SAAU,CAAC,CAAA,QAAQ,CAAE,IAAY,EAAE,GAAW;IAChD,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO;IACX,CAAC;IACD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,SAAQ,CAAC;QACL,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACvC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACf,MAAM;QACV,CAAC;QACD,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACnC,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC;IAC/B,CAAC;IACD,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAAA,CAAC;AAGF,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,GAAW,EAAE,GAAG,GAAG,MAAM,CAAC,gBAAgB;IAChF,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO,EAAE,CAAC;IACd,CAAC;IACD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,KAAK,GAAG,EAAE,CAAC;IACjB,GAAG,EAAE,CAAC;IACN,SAAQ,CAAC;QACL,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACvC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACf,MAAM;QACV,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QACzC,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QAClB,IAAI,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;YACd,MAAM;QACV,CAAC;IACL,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAClC,OAAO,KAAK,CAAC;AACjB,CAAC;AAAA,CAAC;AAEF,MAAM,SAAU,CAAC,CAAA,aAAa,CAAC,IAAY,EAAE,KAAa;IACtD,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO;IACX,CAAC;IACD,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;IACpB,IAAI,CAAC,CAAC;IACN,OAAM,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACpC,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC;YAC9B,KAAK,CAAC,SAAS,EAAE,CAAC;QACtB,CAAC;QACD,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;YACZ,MAAM,CAAoB,CAAC;QAC/B,CAAC;IACL,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"tokenizer.js","sourceRoot":"","sources":["../../../src/protocols/core/tokenizer.ts"],"names":[],"mappings":"AAAA,MAAM,SAAU,CAAC,CAAA,QAAQ,CAAE,IAAY,EAAE,GAAW;IAChD,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO;IACX,CAAC;IACD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,SAAQ,CAAC;QACL,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACvC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACf,MAAM;QACV,CAAC;QACD,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACnC,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC;IAC/B,CAAC;IACD,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAAA,CAAC;AAGF,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,GAAW,EAAE,GAAG,GAAG,MAAM,CAAC,gBAAgB;IAChF,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO,EAAE,CAAC;IACd,CAAC;IACD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,KAAK,GAAG,EAAE,CAAC;IACjB,GAAG,EAAE,CAAC;IACN,SAAQ,CAAC;QACL,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACvC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACf,MAAM;QACV,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QACzC,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QAClB,IAAI,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;YACd,MAAM;QACV,CAAC;IACL,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAClC,OAAO,KAAK,CAAC;AACjB,CAAC;AAAA,CAAC;AAEF,MAAM,SAAU,CAAC,CAAA,aAAa,CAAC,IAAY,EAAE,KAAa;IACtD,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO;IACX,CAAC;IACD,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;IACpB,IAAI,CAAC,CAAC;IACN,OAAM,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACpC,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC;YAC9B,KAAK,CAAC,SAAS,EAAE,CAAC;QACtB,CAAC;QACD,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;YACZ,MAAM,CAAoB,CAAC;QAC/B,CAAC;IACL,CAAC;AACL,CAAC;AAED,MAAM,SAAU,CAAC,CAAA,cAAc,CAAC,IAAY;IACxC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAI,MAAM,KAAK,IAAI,aAAa,CAAC,IAAI,EAAE,gDAAgD,CAAC,EAAE,CAAC;QACvF,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,SAAS;QACb,CAAC;QACD,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACjB,SAAS;QACb,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACf,MAAM,KAAK,CAAC;IAChB,CAAC;AACL,CAAC"}
@@ -13,9 +13,16 @@ export interface ISanitizeParameters {
13
13
  }
14
14
  export default class HtmlSanitizer {
15
15
  prepareForPreview(html: string): string;
16
+ sanitizeExternalResources(html: string, text: string, prefix: any): {
17
+ html: string;
18
+ text: string;
19
+ };
20
+ replaceBackground(e: Element, prefix: any): void;
21
+ replaceSrc(e: Element, prefix: any): void;
16
22
  sanitize(html: string, text: string, replace?: ISanitizeParameters): {
17
23
  html: string;
18
24
  text: string;
25
+ root: HTMLElement;
19
26
  };
20
27
  verifyChannelMessage(html: string): void;
21
28
  protected getTransform(e: Element): BaseTransform;
@@ -1 +1 @@
1
- {"version":3,"file":"HtmlSanitizer.d.ts","sourceRoot":"","sources":["../../../../src/server/services/dom/HtmlSanitizer.ts"],"names":[],"mappings":"AAQA,OAAO,aAAa,MAAM,+BAA+B,CAAC;AAK1D,MAAM,WAAW,mBAAmB;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAKD,MAAM,CAAC,OAAO,OAAO,aAAa;IAE9B,iBAAiB,CAAC,IAAI,EAAE,MAAM;IA0D9B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB;;;;IAiDlE,oBAAoB,CAAC,IAAI,EAAE,MAAM;IAqBjC,SAAS,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,GAAG,aAAa;IAQjD,OAAO,CAAC,uBAAuB;IAwF/B,OAAO,CAAC,cAAc;CAYzB"}
1
+ {"version":3,"file":"HtmlSanitizer.d.ts","sourceRoot":"","sources":["../../../../src/server/services/dom/HtmlSanitizer.ts"],"names":[],"mappings":"AAQA,OAAO,aAAa,MAAM,+BAA+B,CAAC;AAO1D,MAAM,WAAW,mBAAmB;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAKD,MAAM,CAAC,OAAO,OAAO,aAAa;IAE9B,iBAAiB,CAAC,IAAI,EAAE,MAAM;IA0D9B,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,KAAA;;;;IAqB5D,iBAAiB,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG;IAczC,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG;IAalC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB;;;;;IAiDlE,oBAAoB,CAAC,IAAI,EAAE,MAAM;IAqBjC,SAAS,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,GAAG,aAAa;IAQjD,OAAO,CAAC,uBAAuB;IAwF/B,OAAO,CAAC,cAAc;CAYzB"}
@@ -13,6 +13,7 @@ import { globalEnv } from "../../../common/globalEnv.js";
13
13
  import { expandPlaceholders } from "../TemplateExpander.js";
14
14
  import { URLSearchParams } from "url";
15
15
  import Button3x from "./transforms/Button3x.js";
16
+ import { tokenizeCssUrl } from "../../../protocols/core/tokenizer.js";
16
17
  const url = `https://${globalEnv.host}`;
17
18
  const transformerSymbol = Symbol("transformerSymbol");
18
19
  let HtmlSanitizer = class HtmlSanitizer {
@@ -69,6 +70,45 @@ let HtmlSanitizer = class HtmlSanitizer {
69
70
  }
70
71
  return clean.innerHTML;
71
72
  }
73
+ sanitizeExternalResources(html, text, prefix) {
74
+ const window = new JSDOM('', { url }).window;
75
+ const purify = DOMPurify(window);
76
+ const clean = purify.sanitize(html, { RETURN_DOM: true });
77
+ for (const e of clean.querySelectorAll("*")) {
78
+ this.replaceSrc(e, prefix);
79
+ this.replaceBackground(e, prefix);
80
+ }
81
+ html = clean?.outerHTML;
82
+ text ||= clean?.outerText;
83
+ for (const element of tokenizeCssUrl(html)) {
84
+ html = html.replaceAll(element, element.replace(/https?\:\/\//, prefix));
85
+ }
86
+ return { html, text };
87
+ }
88
+ replaceBackground(e, prefix) {
89
+ if (!/body|td|th|table/i.test(e.tagName)) {
90
+ return;
91
+ }
92
+ const attributeName = "background";
93
+ let src = e.getAttribute(attributeName);
94
+ if (!src || src.startsWith("cid:")) {
95
+ return;
96
+ }
97
+ src = src.replace(/https?\:\/\//, prefix);
98
+ e.setAttribute(attributeName, src);
99
+ }
100
+ replaceSrc(e, prefix) {
101
+ if (!/img|picture|video|source/i.test(e.tagName)) {
102
+ return;
103
+ }
104
+ const attributeName = "src";
105
+ let src = e.getAttribute(attributeName);
106
+ if (!src || src.startsWith("cid:")) {
107
+ return;
108
+ }
109
+ src = src.replace(/https?\:\/\//, prefix);
110
+ e.setAttribute(attributeName, src);
111
+ }
72
112
  sanitize(html, text, replace) {
73
113
  const window = new JSDOM('', { url }).window;
74
114
  const purify = DOMPurify(window);
@@ -108,7 +148,7 @@ let HtmlSanitizer = class HtmlSanitizer {
108
148
  }
109
149
  html = clean?.outerHTML ?? "";
110
150
  text ||= clean?.outerText ?? "";
111
- return { html, text };
151
+ return { html, text, root: clean };
112
152
  }
113
153
  verifyChannelMessage(html) {
114
154
  if (!html) {
@@ -1 +1 @@
1
- {"version":3,"file":"HtmlSanitizer.js","sourceRoot":"","sources":["../../../../src/server/services/dom/HtmlSanitizer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HtmlSanitizer.js","sourceRoot":"","sources":["../../../../src/server/services/dom/HtmlSanitizer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SnapshotService.d.ts","sourceRoot":"","sources":["../../../../src/server/services/files/SnapshotService.ts"],"names":[],"mappings":"AAGA,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AAEjE,OAAO,EAAE,WAAW,EAAE,MAAM,sDAAsD,CAAC;AACnF,OAAO,OAAO,MAAM,iCAAiC,CAAC;AACtD,OAAO,WAAW,MAAM,8BAA8B,CAAC;AACvD,OAAO,eAAe,MAAM,kCAAkC,CAAC;AAM/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oDAAoD,CAAC;AA2BpF,MAAM,CAAC,OAAO,OAAO,eAAe;IAGhC,EAAE,EAAE,iBAAiB,CAAC;IAGtB,OAAO,EAAE,WAAW,CAAC;IAGrB,eAAe,EAAE,eAAe,CAAC;IAEjC,IAAI,EAAE,OAAO,CAAC;IAEd,SAAS,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;KAAE,EAAG,CAAM;IAEzG,YAAY,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAG,CAAM;IAEzF,QAAQ,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;KAAE,EAAG,CAAM;IACxG,YAAY,EAAE,OAAO,CAAC;IAEtB,QAAQ,EAAE,OAAO,EAAE,CAAQ;IAE3B,aAAa,EAAE,OAAO,EAAE,CAAM;IAE9B,OAAO,mBAA0B;IAEjC,YAAY,EAAE,MAAM,CAAK;IAEnB,cAAc,CAAC,QAAQ,KAAA,EAAE,WAAW,GAAW,WAAW;IA8H1D,YAAY,CAAC,EAAE,EAAE,iBAAiB,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,UAAO,EAAE,QAAQ,SAAK;IA6DnG,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAwCtD;;;;;;OAMG;IAEG,eAAe,CAAC,MAAM,KAAA,EAAE,IAAI,KAAA,EAAC,QAAQ,KAAA;IA2B3C,SAAS,CAAC,IAAI,EAAE,MAAM;;;;IAchB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;IAkElE,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAC,QAAQ,EAAE,MAAM;IAoGnE,uBAAuB,CAAC,aAAa,KAAA,EAAE,IAAI,KAAA;IAgB3C,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,SAA8B,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ/F,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,KAAA,GAAG,OAAO,CAAC,OAAO,CAAC;CAiB3E"}
1
+ {"version":3,"file":"SnapshotService.d.ts","sourceRoot":"","sources":["../../../../src/server/services/files/SnapshotService.ts"],"names":[],"mappings":"AAGA,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AAEjE,OAAO,EAAE,WAAW,EAAE,MAAM,sDAAsD,CAAC;AACnF,OAAO,OAAO,MAAM,iCAAiC,CAAC;AACtD,OAAO,WAAW,MAAM,8BAA8B,CAAC;AACvD,OAAO,eAAe,MAAM,kCAAkC,CAAC;AAM/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oDAAoD,CAAC;AA4BpF,MAAM,CAAC,OAAO,OAAO,eAAe;IAGhC,EAAE,EAAE,iBAAiB,CAAC;IAGtB,OAAO,EAAE,WAAW,CAAC;IAGrB,eAAe,EAAE,eAAe,CAAC;IAEjC,IAAI,EAAE,OAAO,CAAC;IAEd,SAAS,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;KAAE,EAAG,CAAM;IAEzG,YAAY,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAG,CAAM;IAEzF,QAAQ,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;KAAE,EAAG,CAAM;IACxG,YAAY,EAAE,OAAO,CAAC;IAEtB,QAAQ,EAAE,OAAO,EAAE,CAAQ;IAE3B,aAAa,EAAE,OAAO,EAAE,CAAM;IAE9B,OAAO,mBAA0B;IAEjC,YAAY,EAAE,MAAM,CAAK;IAEnB,cAAc,CAAC,QAAQ,KAAA,EAAE,WAAW,GAAW,WAAW;IA8H1D,YAAY,CAAC,EAAE,EAAE,iBAAiB,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,UAAO,EAAE,QAAQ,SAAK;IA6DnG,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAwBtD;;;;;;OAMG;IAEG,eAAe,CAAC,MAAM,KAAA,EAAE,IAAI,KAAA,EAAC,QAAQ,KAAA;IA2B3C,SAAS,CAAC,IAAI,EAAE,MAAM;;;;IAchB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;IAkElE,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAC,QAAQ,EAAE,MAAM;IAoGnE,uBAAuB,CAAC,aAAa,KAAA,EAAE,IAAI,KAAA;IAgB3C,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,SAA8B,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ/F,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,KAAA,GAAG,OAAO,CAAC,OAAO,CAAC;CAiB3E"}
@@ -65,6 +65,7 @@ import { cacheFor } from "../../../common/cacheFor.js";
65
65
  import { globalEnv } from "../../../common/globalEnv.js";
66
66
  import Sql from "@entity-access/entity-access/dist/sql/Sql.js";
67
67
  import EntityAccessError from "@entity-access/entity-access/dist/common/EntityAccessError.js";
68
+ import { tokenizeCssUrl } from "../../../protocols/core/tokenizer.js";
68
69
  let cdn = globalEnv.cdn || "";
69
70
  if (cdn) {
70
71
  cdn = `//${cdn}`;
@@ -252,23 +253,8 @@ let SnapshotService = class SnapshotService {
252
253
  }
253
254
  }
254
255
  async updateCssContent(css, parentPath) {
255
- const regex = /url\(((\"[^\"]+\")|([^\)]+))\)/gmi;
256
256
  let updated = false;
257
- let m;
258
- const list = new Set();
259
- while ((m = regex.exec(css)) !== null) {
260
- // This is necessary to avoid infinite loops with zero-width matches
261
- if (m.index === regex.lastIndex) {
262
- regex.lastIndex++;
263
- }
264
- if (m.length) {
265
- const [matched, group] = m;
266
- if (group) {
267
- list.add(group);
268
- }
269
- }
270
- }
271
- for (const fg of list.values()) {
257
+ for (const fg of tokenizeCssUrl(css)) {
272
258
  let link = fg;
273
259
  const first = link[0];
274
260
  const encoded = first === '"' || first === "'";
@@ -1 +1 @@
1
- {"version":3,"file":"SnapshotService.js","sourceRoot":"","sources":["../../../../src/server/services/files/SnapshotService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SnapshotService.js","sourceRoot":"","sources":["../../../../src/server/services/files/SnapshotService.ts"],"names":[],"mappings":"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"}
@@ -2,18 +2,21 @@ import SocialMailContext from "../../model/SocialMailContext.js";
2
2
  import TempFileService from "../../storage/TempFileService.js";
3
3
  import CacheService from "../../services/cache/CacheService.js";
4
4
  import { Email } from "../../model/entities/Email.js";
5
+ import EncryptionService from "../../services/encryption/EncryptionService.js";
6
+ import { LocalFile } from "@entity-access/server-pages/dist/core/LocalFile.js";
5
7
  export default class CachedEmailService {
6
8
  db: SocialMailContext;
7
9
  tempFileService: TempFileService;
8
10
  cacheService: CacheService;
11
+ encryptionService: EncryptionService;
9
12
  getHtmlForRecipient({ emailID, emailAddressID, mailboxID, signedFileLogID }: {
10
13
  emailID: number;
11
14
  emailAddressID?: number;
12
15
  signedFileLogID?: number;
13
16
  mailboxID?: number;
14
17
  }): Promise<string>;
15
- getHtml(emailID: number, email?: Email): Promise<import("@entity-access/server-pages/dist/core/LocalFile.js").LocalFile>;
18
+ getHtml(emailID: number, email?: Email): Promise<LocalFile>;
16
19
  getHtmlText(email: Email): Promise<string>;
17
- getEmailFile(emailID: number): Promise<import("@entity-access/server-pages/dist/core/LocalFile.js").LocalFile>;
20
+ getEmailFile(emailID: number): Promise<LocalFile>;
18
21
  }
19
22
  //# sourceMappingURL=CachedEmailService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CachedEmailService.d.ts","sourceRoot":"","sources":["../../../../src/server/smtp/services/CachedEmailService.ts"],"names":[],"mappings":"AACA,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,eAAe,MAAM,kCAAkC,CAAC;AAI/D,OAAO,YAAY,MAAM,sCAAsC,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAItD,MAAM,CAAC,OAAO,OAAO,kBAAkB;IAGnC,EAAE,EAAE,iBAAiB,CAAC;IAGtB,eAAe,EAAE,eAAe,CAAC;IAGjC,YAAY,EAAE,YAAY,CAAC;IAErB,mBAAmB,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,eAAe,EAAE,EAAE;QAC/E,OAAO,EAAE,MAAM,CAAC;QAChB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,SAAS,CAAC,EAAE,MAAM,CAAA;KACrB;IAkDD,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;IAwChC,WAAW,CAAC,KAAK,EAAE,KAAK;IAKxB,YAAY,CAAC,OAAO,EAAE,MAAM;CAerC"}
1
+ {"version":3,"file":"CachedEmailService.d.ts","sourceRoot":"","sources":["../../../../src/server/smtp/services/CachedEmailService.ts"],"names":[],"mappings":"AACA,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,eAAe,MAAM,kCAAkC,CAAC;AAI/D,OAAO,YAAY,MAAM,sCAAsC,CAAC;AAChE,OAAO,EAAE,KAAK,EAAY,MAAM,+BAA+B,CAAC;AAEhE,OAAO,iBAAiB,MAAM,gDAAgD,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,oDAAoD,CAAC;AAG/E,MAAM,CAAC,OAAO,OAAO,kBAAkB;IAGnC,EAAE,EAAE,iBAAiB,CAAC;IAGtB,eAAe,EAAE,eAAe,CAAC;IAGjC,YAAY,EAAE,YAAY,CAAC;IAG3B,iBAAiB,EAAE,iBAAiB,CAAC;IAE/B,mBAAmB,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,eAAe,EAAE,EAAE;QAC/E,OAAO,EAAE,MAAM,CAAC;QAChB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,SAAS,CAAC,EAAE,MAAM,CAAA;KACrB;IAuED,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;IAwChC,WAAW,CAAC,KAAK,EAAE,KAAK;IAKxB,YAAY,CAAC,OAAO,EAAE,MAAM;CAerC"}
@@ -15,39 +15,61 @@ import HtmlSanitizer from "../../services/dom/HtmlSanitizer.js";
15
15
  import EmailParserService from "./EmailParserService.js";
16
16
  import CacheService from "../../services/cache/CacheService.js";
17
17
  import EmailLogService from "../../services/email-logs/EmailLogService.js";
18
+ import EncryptionService from "../../services/encryption/EncryptionService.js";
18
19
  let CachedEmailService = class CachedEmailService {
19
20
  async getHtmlForRecipient({ emailID, emailAddressID, mailboxID, signedFileLogID }) {
20
- if (!signedFileLogID) {
21
- if (!emailAddressID) {
22
- const tf = await this.getHtml(emailID);
23
- return await tf.readAsText();
21
+ const factory = async () => {
22
+ const ei = this.encryptionService.encrypt(emailID.toString());
23
+ let logFile;
24
+ if (!signedFileLogID) {
25
+ if (emailAddressID) {
26
+ const mce = await this.db.mailboxContactEmails.where({ emailID, emailAddressID, mailboxID }, (p) => (x) => x.emailAddressID === p.emailAddressID
27
+ && x.emailID === p.emailID
28
+ && x.mailboxID === p.mailboxID
29
+ && x.signedFileLogID !== null).first();
30
+ if (mce) {
31
+ signedFileLogID = mce.signedFileLogID;
32
+ logFile = await this.db.emailLogs
33
+ .where({ signedFileLogID }, (p) => (x) => x.logID === p.signedFileLogID)
34
+ .first();
35
+ }
36
+ }
37
+ else {
38
+ logFile = await this.db.emailLogs
39
+ .where({ emailID }, (p) => (x) => x.mimeFileEmails.some((mf) => mf.emailID === p.emailID))
40
+ .first();
41
+ }
24
42
  }
25
- const mce = await this.db.mailboxContactEmails.where({ emailID, emailAddressID, mailboxID }, (p) => (x) => x.emailAddressID === p.emailAddressID
26
- && x.emailID === p.emailID
27
- && x.mailboxID === p.mailboxID
28
- && x.signedFileLogID !== null).first();
29
- if (!mce) {
30
- const tf = await this.getHtml(emailID);
31
- return await tf.readAsText();
43
+ let html = "";
44
+ if (!logFile) {
45
+ const email = await this.db.emails
46
+ .where({ emailID }, (p) => (x) => x.emailID === p.emailID)
47
+ .include((x) => x.htmlBodyFile)
48
+ .first();
49
+ html = email.htmlBody;
50
+ if (!html && email.htmlBodyFile) {
51
+ logFile = email.htmlBodyFile;
52
+ }
32
53
  }
33
- signedFileLogID = mce.signedFileLogID;
34
- }
35
- const factory = async () => {
36
54
  this.db.verifyFilters = false;
37
- const log = await this.db.emailLogs.where({ signedFileLogID }, (p) => (x) => x.logID === p.signedFileLogID)
38
- .first();
39
- const els = ServiceProvider.resolve(this, EmailLogService);
40
- const file = await els.load(log);
41
- const emailSerializerService = ServiceProvider.resolve(this, EmailParserService);
42
- const mail = await emailSerializerService.parse(file);
55
+ let emailHtmlFile;
56
+ let text = "";
57
+ if (logFile) {
58
+ const els = ServiceProvider.resolve(this, EmailLogService);
59
+ emailHtmlFile = await els.load(logFile);
60
+ const emailSerializerService = ServiceProvider.resolve(this, EmailParserService);
61
+ const mail = await emailSerializerService.parse(emailHtmlFile);
62
+ html = mail.html || mail.textAsHtml || "";
63
+ text = mail.text;
64
+ }
43
65
  const htmlService = ServiceProvider.resolve(this, HtmlSanitizer);
44
- const { html } = htmlService.sanitize(mail.html || mail.textAsHtml || "", mail.text);
66
+ const result = htmlService.sanitizeExternalResources(html, text, `/api/emails/d/${ei}/${emailID}/`);
45
67
  const htmlFile = await this.tempFileService.createTempFile(".html", "text/html");
46
- await htmlFile.writeAllText(html || "");
68
+ await htmlFile.writeAllText(result.html || "");
47
69
  return htmlFile;
48
70
  };
49
71
  const ef = await this.cacheService.get({
50
- key: `cached-email-html-2-${emailID}-${emailAddressID}`,
72
+ key: `cached-email-html-a2-${emailID}-${emailAddressID}-${signedFileLogID}`,
51
73
  factory,
52
74
  ttl: TimeSpan.fromDays(30)
53
75
  });
@@ -114,6 +136,10 @@ __decorate([
114
136
  Inject,
115
137
  __metadata("design:type", CacheService)
116
138
  ], CachedEmailService.prototype, "cacheService", void 0);
139
+ __decorate([
140
+ Inject,
141
+ __metadata("design:type", EncryptionService)
142
+ ], CachedEmailService.prototype, "encryptionService", void 0);
117
143
  CachedEmailService = __decorate([
118
144
  RegisterScoped
119
145
  ], CachedEmailService);
@@ -1 +1 @@
1
- {"version":3,"file":"CachedEmailService.js","sourceRoot":"","sources":["../../../../src/server/smtp/services/CachedEmailService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CachedEmailService.js","sourceRoot":"","sources":["../../../../src/server/smtp/services/CachedEmailService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export default function (): void;
2
+ //# sourceMappingURL=Sanitizer.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sanitizer.test.d.ts","sourceRoot":"","sources":["../../../../src/tests/core/sanitizer-test/Sanitizer.test.ts"],"names":[],"mappings":"AAeA,MAAM,CAAC,OAAO,mBAUb"}
@@ -0,0 +1,21 @@
1
+ import HtmlSanitizer from "../../../server/services/dom/HtmlSanitizer.js";
2
+ const html = `
3
+ <div>
4
+ <style>
5
+ body {
6
+ background-image: url("https://a/a.jpg");
7
+ }
8
+ </style>
9
+
10
+ <button style=" background-image: url('https://a/b.jpg') "/>
11
+ </div>
12
+ `;
13
+ export default function () {
14
+ // const list = Array.from(tokenizeCssUrl(html));
15
+ // console.log(list);
16
+ // console.log(html.replace(/url\(((\"[^\"]+\")|(\'[^\']+\')|([^\)]+))\)/gmi, (s, v) => v + "aa"));
17
+ const s = new HtmlSanitizer();
18
+ const r = s.sanitizeExternalResources(html, "", "/social-mail/download/d/");
19
+ console.log(r.html);
20
+ }
21
+ //# sourceMappingURL=Sanitizer.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sanitizer.test.js","sourceRoot":"","sources":["../../../../src/tests/core/sanitizer-test/Sanitizer.test.ts"],"names":[],"mappings":"AACA,OAAO,aAAa,MAAM,+CAA+C,CAAC;AAE1E,MAAM,IAAI,GAAG;;;;;;;;;;CAUZ,CAAC;AAEF,MAAM,CAAC,OAAO;IAEV,iDAAiD;IACjD,qBAAqB;IAErB,mGAAmG;IAEnG,MAAM,CAAC,GAAG,IAAI,aAAa,EAAE,CAAC;IAC9B,MAAM,CAAC,GAAG,CAAC,CAAC,yBAAyB,CAAC,IAAI,EAAE,EAAE,EAAE,0BAA0B,CAAC,CAAC;IAC5E,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC"}