@adonis-agora/media 0.14.1 → 0.15.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/CHANGELOG.md +57 -0
- package/dist/providers/dashboard_provider.d.ts.map +1 -1
- package/dist/providers/dashboard_provider.js +72 -9
- package/dist/providers/dashboard_provider.js.map +1 -1
- package/dist/src/attachment.d.ts.map +1 -1
- package/dist/src/attachment.js +6 -1
- package/dist/src/attachment.js.map +1 -1
- package/dist/src/dashboard/access_denied_page.d.ts +102 -0
- package/dist/src/dashboard/access_denied_page.d.ts.map +1 -0
- package/dist/src/dashboard/access_denied_page.js +266 -0
- package/dist/src/dashboard/access_denied_page.js.map +1 -0
- package/dist/src/dashboard/define_config.d.ts +24 -2
- package/dist/src/dashboard/define_config.d.ts.map +1 -1
- package/dist/src/dashboard/define_config.js.map +1 -1
- package/dist/src/dashboard/index.d.ts +3 -1
- package/dist/src/dashboard/index.d.ts.map +1 -1
- package/dist/src/dashboard/index.js +2 -0
- package/dist/src/dashboard/index.js.map +1 -1
- package/dist/src/direct_upload_handler.d.ts.map +1 -1
- package/dist/src/direct_upload_handler.js +7 -2
- package/dist/src/direct_upload_handler.js.map +1 -1
- package/dist/src/errors.d.ts +16 -0
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/errors.js +21 -0
- package/dist/src/errors.js.map +1 -1
- package/dist/src/file_name.d.ts +21 -0
- package/dist/src/file_name.d.ts.map +1 -0
- package/dist/src/file_name.js +33 -0
- package/dist/src/file_name.js.map +1 -0
- package/dist/src/index.d.ts +2 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +4 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/media_library.d.ts.map +1 -1
- package/dist/src/media_library.js +8 -2
- package/dist/src/media_library.js.map +1 -1
- package/dist/src/tus.d.ts.map +1 -1
- package/dist/src/tus.js +15 -3
- package/dist/src/tus.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The built-in "access denied" page a BROWSER sees when the dashboard guard refuses a page
|
|
3
|
+
* navigation — the SPA shell, its assets, or (Mode A only) a session-less visit. Before this page
|
|
4
|
+
* existed the guard answered every denial with the JSON it answers the API with
|
|
5
|
+
* (`{ "error": "forbidden" }`), which is the right thing for the SPA's `fetch` calls and the wrong
|
|
6
|
+
* thing for a human staring at a browser tab.
|
|
7
|
+
*
|
|
8
|
+
* Deliberately a small, dependency-free, hand-authored HTML page (like `login_page.ts`) — NOT part
|
|
9
|
+
* of the bundled SPA, so a denial never needs the SPA to load first. It carries NO `<script>` at all,
|
|
10
|
+
* so a host running a nonce'd `script-src` CSP (the `@adonisjs/shield` default) cannot break it; the
|
|
11
|
+
* one inline `<style>` takes the request's CSP nonce when the provider hands one over.
|
|
12
|
+
*
|
|
13
|
+
* Every string the host can supply ({@link AccessDeniedPageOptions}) is HTML-escaped on the way in.
|
|
14
|
+
* They are developer-controlled config values, not user input — but escaping them costs nothing and
|
|
15
|
+
* removes the one class of bug a "just interpolate it" template would invite.
|
|
16
|
+
*
|
|
17
|
+
* The visual language (Aviary neutrals, the console's own accent, mono eyebrow over a sans body)
|
|
18
|
+
* mirrors the media SPA so the refusal reads as part of the same product, not a server default.
|
|
19
|
+
*
|
|
20
|
+
* Ported from `@adonis-agora/payments` (also in `@adonis-agora/durable`, `@adonis-agora/media`, `@adonis-agora/agent` and
|
|
21
|
+
* `@adonis-agora/telescope` with only {@link CONSOLE} changed, so the Agora consoles share ONE
|
|
22
|
+
* refusal story rather than each inventing its own.
|
|
23
|
+
*/
|
|
24
|
+
/** This console's identity — the ONLY thing that differs between the Agora ports of this file. */
|
|
25
|
+
export const CONSOLE = {
|
|
26
|
+
brand: 'Media',
|
|
27
|
+
accent: '#22d3ee',
|
|
28
|
+
packageName: '@adonis-agora/media',
|
|
29
|
+
};
|
|
30
|
+
const DEFAULT_COPY = {
|
|
31
|
+
unauthenticated: {
|
|
32
|
+
title: 'Sign in required',
|
|
33
|
+
message: 'You need to be signed in to open this console.',
|
|
34
|
+
},
|
|
35
|
+
forbidden: {
|
|
36
|
+
title: 'Access denied',
|
|
37
|
+
message: 'Your account is not allowed to open this console. If that looks wrong, ask an administrator to grant you access.',
|
|
38
|
+
},
|
|
39
|
+
'session-required': {
|
|
40
|
+
title: 'Open this console from your app',
|
|
41
|
+
message: 'This console only accepts a session minted by your application. Go back to the app and open the console from there.',
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
/** Escape the five characters that matter inside HTML text and double-quoted attributes. */
|
|
45
|
+
export function escapeHtml(value) {
|
|
46
|
+
return value
|
|
47
|
+
.replaceAll('&', '&')
|
|
48
|
+
.replaceAll('<', '<')
|
|
49
|
+
.replaceAll('>', '>')
|
|
50
|
+
.replaceAll('"', '"')
|
|
51
|
+
.replaceAll("'", ''');
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Accept only a same-origin, root-relative path for a button `href` — the same open-redirect rule
|
|
55
|
+
* `sanitizeReturnTo` applies to `returnTo`. A host-supplied absolute URL is still a developer's
|
|
56
|
+
* choice, so it is allowed; what is refused is anything that could smuggle a `javascript:` scheme.
|
|
57
|
+
*/
|
|
58
|
+
function safeHref(candidate) {
|
|
59
|
+
const trimmed = candidate.trim();
|
|
60
|
+
if (trimmed === '')
|
|
61
|
+
return null;
|
|
62
|
+
if (/^(https?:)?\/\//i.test(trimmed))
|
|
63
|
+
return trimmed;
|
|
64
|
+
if (trimmed.startsWith('/'))
|
|
65
|
+
return trimmed;
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
/** Only a plausible CSS colour token reaches the stylesheet; anything else falls back to the accent. */
|
|
69
|
+
function safeColor(candidate) {
|
|
70
|
+
return /^[#a-zA-Z0-9(),.%\s-]+$/.test(candidate) ? candidate : CONSOLE.accent;
|
|
71
|
+
}
|
|
72
|
+
const LOCK_ICON = '<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="11" width="18" height="11" rx="2"/><path d="M7 11V7a5 5 0 0 1 10 0v4"/></svg>';
|
|
73
|
+
const KEY_ICON = '<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="7.5" cy="15.5" r="4.5"/><path d="m21 2-9.6 9.6"/><path d="m15.5 7.5 3 3L22 7l-3-3"/></svg>';
|
|
74
|
+
/**
|
|
75
|
+
* Render the built-in page. Pure: same `info` + `options` in, same HTML out — so it is trivially
|
|
76
|
+
* snapshot/regex testable and safe to call from anywhere (the provider, a test, a host that wants
|
|
77
|
+
* to embed the default page inside its own layout).
|
|
78
|
+
*/
|
|
79
|
+
export function renderAccessDeniedPage(info, options = {}) {
|
|
80
|
+
const copy = DEFAULT_COPY[info.reason];
|
|
81
|
+
const brand = escapeHtml(options.brand ?? CONSOLE.brand);
|
|
82
|
+
const title = escapeHtml(options.title ?? copy.title);
|
|
83
|
+
const message = escapeHtml(options.message ?? copy.message);
|
|
84
|
+
const accent = safeColor(options.accent ?? CONSOLE.accent);
|
|
85
|
+
const nonceAttr = info.nonce !== undefined ? ` nonce="${escapeHtml(info.nonce)}"` : '';
|
|
86
|
+
const loginHref = options.loginHref === false
|
|
87
|
+
? null
|
|
88
|
+
: (safeHref(options.loginHref ?? info.loginHref ?? '') ?? null);
|
|
89
|
+
const homeHref = options.homeHref === false ? null : safeHref(options.homeHref ?? '/');
|
|
90
|
+
const buttons = [];
|
|
91
|
+
if (loginHref !== null && info.reason !== 'forbidden') {
|
|
92
|
+
buttons.push(`<a class="btn primary" href="${escapeHtml(loginHref)}">${KEY_ICON}${escapeHtml(options.loginLabel ?? 'Sign in')}</a>`);
|
|
93
|
+
}
|
|
94
|
+
if (homeHref !== null) {
|
|
95
|
+
buttons.push(`<a class="btn${buttons.length === 0 ? ' primary' : ''}" href="${escapeHtml(homeHref)}">${escapeHtml(options.homeLabel ?? 'Back to app')}</a>`);
|
|
96
|
+
}
|
|
97
|
+
if (loginHref !== null && info.reason === 'forbidden') {
|
|
98
|
+
// A forbidden user might simply be the wrong user: offer a way to switch accounts, second.
|
|
99
|
+
buttons.push(`<a class="btn" href="${escapeHtml(loginHref)}">${escapeHtml(options.loginLabel ?? 'Sign in as someone else')}</a>`);
|
|
100
|
+
}
|
|
101
|
+
const detail = info.detail !== undefined && info.detail !== ''
|
|
102
|
+
? `\n <p class="detail">${escapeHtml(info.detail)}</p>`
|
|
103
|
+
: '';
|
|
104
|
+
const actions = buttons.length > 0 ? `\n <div class="actions">${buttons.join('')}</div>` : '';
|
|
105
|
+
return `<!doctype html>
|
|
106
|
+
<html lang="en">
|
|
107
|
+
<head>
|
|
108
|
+
<meta charset="utf-8" />
|
|
109
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
110
|
+
<meta name="robots" content="noindex, nofollow" />
|
|
111
|
+
<title>${title} — ${brand}</title>
|
|
112
|
+
<style${nonceAttr}>
|
|
113
|
+
:root {
|
|
114
|
+
color-scheme: dark;
|
|
115
|
+
--bg: #09090b;
|
|
116
|
+
--panel: #0c0c0f;
|
|
117
|
+
--panel-2: #101017;
|
|
118
|
+
--line: #1c1c22;
|
|
119
|
+
--text: #e7e7ea;
|
|
120
|
+
--muted: #76767f;
|
|
121
|
+
--bad: #f87171;
|
|
122
|
+
--accent: ${accent};
|
|
123
|
+
}
|
|
124
|
+
* { box-sizing: border-box; }
|
|
125
|
+
body {
|
|
126
|
+
margin: 0;
|
|
127
|
+
min-height: 100vh;
|
|
128
|
+
display: flex;
|
|
129
|
+
align-items: center;
|
|
130
|
+
justify-content: center;
|
|
131
|
+
padding: 24px;
|
|
132
|
+
background:
|
|
133
|
+
radial-gradient(900px 480px at 50% -10%, color-mix(in srgb, var(--accent) 9%, transparent), transparent 70%),
|
|
134
|
+
var(--bg);
|
|
135
|
+
color: var(--text);
|
|
136
|
+
font: 15px/1.6 "Space Grotesk", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
|
|
137
|
+
-webkit-font-smoothing: antialiased;
|
|
138
|
+
}
|
|
139
|
+
.card {
|
|
140
|
+
position: relative;
|
|
141
|
+
overflow: hidden;
|
|
142
|
+
width: 100%;
|
|
143
|
+
max-width: 440px;
|
|
144
|
+
padding: 36px 32px 28px;
|
|
145
|
+
background: var(--panel);
|
|
146
|
+
border: 1px solid var(--line);
|
|
147
|
+
border-radius: 12px;
|
|
148
|
+
box-shadow: 0 30px 60px -24px rgb(0 0 0 / 0.7);
|
|
149
|
+
}
|
|
150
|
+
.card::before {
|
|
151
|
+
content: "";
|
|
152
|
+
position: absolute;
|
|
153
|
+
inset: 0 0 auto 0;
|
|
154
|
+
height: 2px;
|
|
155
|
+
background: linear-gradient(90deg, var(--accent), transparent 80%);
|
|
156
|
+
}
|
|
157
|
+
.eyebrow {
|
|
158
|
+
display: flex;
|
|
159
|
+
align-items: center;
|
|
160
|
+
gap: 10px;
|
|
161
|
+
margin: 0 0 22px;
|
|
162
|
+
font: 11px/1 "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
|
|
163
|
+
letter-spacing: 0.12em;
|
|
164
|
+
text-transform: uppercase;
|
|
165
|
+
color: var(--muted);
|
|
166
|
+
}
|
|
167
|
+
.eyebrow .brand { color: var(--accent); }
|
|
168
|
+
.eyebrow .status {
|
|
169
|
+
margin-left: auto;
|
|
170
|
+
padding: 4px 7px;
|
|
171
|
+
border: 1px solid var(--line);
|
|
172
|
+
border-radius: 4px;
|
|
173
|
+
color: var(--bad);
|
|
174
|
+
letter-spacing: 0.08em;
|
|
175
|
+
}
|
|
176
|
+
.icon {
|
|
177
|
+
display: grid;
|
|
178
|
+
place-items: center;
|
|
179
|
+
width: 40px;
|
|
180
|
+
height: 40px;
|
|
181
|
+
margin-bottom: 18px;
|
|
182
|
+
border-radius: 10px;
|
|
183
|
+
background: color-mix(in srgb, var(--accent) 12%, transparent);
|
|
184
|
+
color: var(--accent);
|
|
185
|
+
}
|
|
186
|
+
h1 {
|
|
187
|
+
margin: 0 0 8px;
|
|
188
|
+
font-size: 22px;
|
|
189
|
+
font-weight: 600;
|
|
190
|
+
letter-spacing: -0.01em;
|
|
191
|
+
}
|
|
192
|
+
p { margin: 0; color: var(--muted); }
|
|
193
|
+
.detail {
|
|
194
|
+
margin-top: 14px;
|
|
195
|
+
padding: 10px 12px;
|
|
196
|
+
border: 1px solid var(--line);
|
|
197
|
+
border-radius: 6px;
|
|
198
|
+
background: var(--panel-2);
|
|
199
|
+
font: 12px/1.5 "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
|
|
200
|
+
color: var(--text);
|
|
201
|
+
overflow-wrap: anywhere;
|
|
202
|
+
}
|
|
203
|
+
.actions {
|
|
204
|
+
display: flex;
|
|
205
|
+
flex-wrap: wrap;
|
|
206
|
+
gap: 10px;
|
|
207
|
+
margin-top: 26px;
|
|
208
|
+
}
|
|
209
|
+
.btn {
|
|
210
|
+
display: inline-flex;
|
|
211
|
+
align-items: center;
|
|
212
|
+
gap: 8px;
|
|
213
|
+
padding: 9px 14px;
|
|
214
|
+
border: 1px solid var(--line);
|
|
215
|
+
border-radius: 6px;
|
|
216
|
+
background: var(--panel-2);
|
|
217
|
+
color: var(--text);
|
|
218
|
+
font-size: 13px;
|
|
219
|
+
font-weight: 500;
|
|
220
|
+
text-decoration: none;
|
|
221
|
+
}
|
|
222
|
+
.btn:hover { border-color: color-mix(in srgb, var(--accent) 50%, var(--line)); }
|
|
223
|
+
.btn.primary {
|
|
224
|
+
background: color-mix(in srgb, var(--accent) 14%, transparent);
|
|
225
|
+
border-color: color-mix(in srgb, var(--accent) 45%, transparent);
|
|
226
|
+
color: var(--accent);
|
|
227
|
+
}
|
|
228
|
+
.btn.primary:hover { background: color-mix(in srgb, var(--accent) 22%, transparent); }
|
|
229
|
+
.foot {
|
|
230
|
+
margin-top: 26px;
|
|
231
|
+
font: 11px/1 "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
|
|
232
|
+
letter-spacing: 0.04em;
|
|
233
|
+
color: var(--muted);
|
|
234
|
+
opacity: 0.7;
|
|
235
|
+
}
|
|
236
|
+
</style>
|
|
237
|
+
</head>
|
|
238
|
+
<body>
|
|
239
|
+
<main class="card">
|
|
240
|
+
<p class="eyebrow"><span class="brand">${brand}</span><span>console</span><span class="status">${info.status}</span></p>
|
|
241
|
+
<div class="icon" aria-hidden="true">${info.reason === 'forbidden' ? LOCK_ICON : KEY_ICON}</div>
|
|
242
|
+
<h1>${title}</h1>
|
|
243
|
+
<p>${message}</p>${detail}${actions}
|
|
244
|
+
<p class="foot">${escapeHtml(CONSOLE.packageName)}</p>
|
|
245
|
+
</main>
|
|
246
|
+
</body>
|
|
247
|
+
</html>`;
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* Resolve WHAT to serve for a refusal, honouring the host's `accessDenied` option in either form.
|
|
251
|
+
* Returns the HTML to send, or `null` when a custom renderer already answered the request itself
|
|
252
|
+
* (`answered()` reports whether it did — the provider wires that to "a `location` header or a body
|
|
253
|
+
* is already set"). Framework-light: knows nothing about the HTTP context beyond passing it through.
|
|
254
|
+
*/
|
|
255
|
+
export async function resolveAccessDeniedPage(info, option, ctx, answered) {
|
|
256
|
+
if (typeof option === 'function') {
|
|
257
|
+
const rendered = await option(info, ctx);
|
|
258
|
+
if (typeof rendered === 'string')
|
|
259
|
+
return rendered;
|
|
260
|
+
if (answered())
|
|
261
|
+
return null;
|
|
262
|
+
return renderAccessDeniedPage(info);
|
|
263
|
+
}
|
|
264
|
+
return renderAccessDeniedPage(info, option ?? {});
|
|
265
|
+
}
|
|
266
|
+
//# sourceMappingURL=access_denied_page.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"access_denied_page.js","sourceRoot":"","sources":["../../../src/dashboard/access_denied_page.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
import type { HttpContext } from '@adonisjs/core/http';
|
|
2
|
+
import type { AccessDeniedOption as GenericAccessDeniedOption, AccessDeniedRenderer as GenericAccessDeniedRenderer } from './access_denied_page.js';
|
|
2
3
|
import type { ConsoleAuthOptions } from './auth.js';
|
|
3
4
|
import type { ObjectInsightProvider } from './object_insights.js';
|
|
5
|
+
/**
|
|
6
|
+
* The function form of {@link MediaDashboardConfig.accessDenied}: render (or answer) a refused
|
|
7
|
+
* page navigation yourself. Receives the refusal ({@link AccessDeniedInfo}) and the AdonisJS
|
|
8
|
+
* {@link HttpContext}. Return an HTML string to have it served; answer the request yourself (a
|
|
9
|
+
* redirect, most commonly) and return nothing to make the provider stand down; return nothing
|
|
10
|
+
* WITHOUT answering and the built-in page is served.
|
|
11
|
+
*/
|
|
12
|
+
export type AccessDeniedRenderer = GenericAccessDeniedRenderer<HttpContext>;
|
|
13
|
+
/** `accessDenied` in either form — an options object for the built-in page, or a renderer. */
|
|
14
|
+
export type AccessDeniedOption = GenericAccessDeniedOption<HttpContext>;
|
|
4
15
|
/** A minimal middleware handler shape (host auth guard) applied to the console routes. */
|
|
5
16
|
export type DashboardMiddleware = (ctx: HttpContext, next: () => Promise<void>) => unknown;
|
|
6
17
|
/**
|
|
@@ -48,11 +59,22 @@ export interface MediaDashboardConfig {
|
|
|
48
59
|
/**
|
|
49
60
|
* Access-decision hook gating the whole console (SPA + API), same shape as the
|
|
50
61
|
* `authorize` hooks of the other `@adonis-agora` dashboards. Runs BEFORE `middleware`
|
|
51
|
-
* and composes with the built-in `auth` session guard (all must pass).
|
|
52
|
-
*
|
|
62
|
+
* and composes with the built-in `auth` session guard (all must pass). A denied request
|
|
63
|
+
* gets `403` (or honors a redirect the hook writes): `{ error: 'Forbidden' }` JSON on the
|
|
64
|
+
* API, the {@link accessDenied} page on a page navigation. Default: allow when not in
|
|
53
65
|
* production.
|
|
54
66
|
*/
|
|
55
67
|
authorize?: DashboardAuthorize;
|
|
68
|
+
/**
|
|
69
|
+
* What a BROWSER sees when `authorize` refuses a page navigation — the SPA shell or its assets.
|
|
70
|
+
* API requests are unaffected: they keep getting `403 { error: 'Forbidden' }` JSON. Omit it for
|
|
71
|
+
* the built-in page — a dark card in the console's own visual language with the same `403`, a
|
|
72
|
+
* sentence explaining the refusal and a "Back to app" link. Pass an
|
|
73
|
+
* object to tweak that page (`brand`, `title`, `message`, `homeHref`, `accent`, …), or a function
|
|
74
|
+
* to render/answer it yourself — see {@link AccessDeniedRenderer}. A redirect written by
|
|
75
|
+
* `authorize` still wins: the provider never overwrites a `location` header.
|
|
76
|
+
*/
|
|
77
|
+
accessDenied?: AccessDeniedOption;
|
|
56
78
|
/**
|
|
57
79
|
* Gate the console's JSON API behind a built-in session-cookie login, mirroring the NestJS sibling
|
|
58
80
|
* console. Omit to leave the API open (front it with your own `middleware`). When set, the SPA
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define_config.d.ts","sourceRoot":"","sources":["../../../src/dashboard/define_config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAElE,0FAA0F;AAC1F,MAAM,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC;AAE3F;;;;;;;GAOG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,WAAW,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAElF;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,oBAAoB;IACnC;4FACwF;IACxF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mEAAmE;IACnE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,sHAAsH;IACtH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uHAAuH;IACvH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,UAAU,CAAC,EAAE,mBAAmB,GAAG,mBAAmB,EAAE,CAAC;IACzD
|
|
1
|
+
{"version":3,"file":"define_config.d.ts","sourceRoot":"","sources":["../../../src/dashboard/define_config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EACV,kBAAkB,IAAI,yBAAyB,EAC/C,oBAAoB,IAAI,2BAA2B,EACpD,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAElE;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,GAAG,2BAA2B,CAAC,WAAW,CAAC,CAAC;AAE5E,8FAA8F;AAC9F,MAAM,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,WAAW,CAAC,CAAC;AAExE,0FAA0F;AAC1F,MAAM,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC;AAE3F;;;;;;;GAOG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,WAAW,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAElF;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,oBAAoB;IACnC;4FACwF;IACxF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mEAAmE;IACnE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,sHAAsH;IACtH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uHAAuH;IACvH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,UAAU,CAAC,EAAE,mBAAmB,GAAG,mBAAmB,EAAE,CAAC;IACzD;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B;;;;OAIG;IACH,cAAc,CAAC,EAAE,qBAAqB,EAAE,CAAC;CAC1C;AAED,yEAAyE;AACzE,wBAAgB,YAAY,CAAC,MAAM,GAAE,oBAAyB,GAAG,oBAAoB,CAEpF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define_config.js","sourceRoot":"","sources":["../../../src/dashboard/define_config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"define_config.js","sourceRoot":"","sources":["../../../src/dashboard/define_config.ts"],"names":[],"mappings":"AAqGA,yEAAyE;AACzE,MAAM,UAAU,YAAY,CAAC,MAAM,GAAyB,EAAE;IAC5D,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
export type { AccessDeniedInfo, AccessDeniedPageOptions, AccessDeniedReason, } from './access_denied_page.js';
|
|
2
|
+
export { CONSOLE as ACCESS_DENIED_CONSOLE, escapeHtml, renderAccessDeniedPage, resolveAccessDeniedPage, } from './access_denied_page.js';
|
|
1
3
|
export type { AuthMode, ConsoleAuthOptions, ConsoleSession, ConsoleSessionUser, LoginHook, ResolvedConsoleAuth, RevalidateHook, SessionHook, } from './auth.js';
|
|
2
4
|
export { resolveConsoleAuth, signSessionCookie, verifySessionCookie } from './auth.js';
|
|
3
|
-
export type { DashboardMiddleware, MediaDashboardConfig } from './define_config.js';
|
|
5
|
+
export type { AccessDeniedOption, AccessDeniedRenderer, DashboardAuthorize, DashboardMiddleware, MediaDashboardConfig, } from './define_config.js';
|
|
4
6
|
export { defineConfig } from './define_config.js';
|
|
5
7
|
export type { ObjectInsightContext, ObjectInsightProvider } from './object_insights.js';
|
|
6
8
|
export { sanitizeInsight } from './object_insights.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dashboard/index.ts"],"names":[],"mappings":"AAEA,YAAY,EACV,QAAQ,EACR,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,SAAS,EACT,mBAAmB,EACnB,cAAc,EACd,WAAW,GACZ,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACvF,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dashboard/index.ts"],"names":[],"mappings":"AAEA,YAAY,EACV,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,OAAO,IAAI,qBAAqB,EAChC,UAAU,EACV,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,QAAQ,EACR,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,SAAS,EACT,mBAAmB,EACnB,cAAc,EACd,WAAW,GACZ,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACvF,YAAY,EACV,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAExF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAE9E,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGhE,YAAY,EACV,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,0BAA0B,EAC1B,sBAAsB,EACtB,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,QAAQ,EACR,gBAAgB,EAChB,SAAS,EACT,mBAAmB,EACnB,UAAU,EACV,YAAY,EACZ,UAAU,EACV,oBAAoB,EACpB,WAAW,EACX,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,kBAAkB,EAClB,QAAQ,EACR,oBAAoB,EACpB,UAAU,EACV,kBAAkB,EAClB,UAAU,GACX,MAAM,YAAY,CAAC"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
// Config idiom — author `config/media_dashboard.ts` against these.
|
|
2
|
+
// The built-in "access denied" page (what a browser sees on a refused page navigation).
|
|
3
|
+
export { CONSOLE as ACCESS_DENIED_CONSOLE, escapeHtml, renderAccessDeniedPage, resolveAccessDeniedPage, } from './access_denied_page.js';
|
|
2
4
|
// Built-in session-cookie login.
|
|
3
5
|
export { resolveConsoleAuth, signSessionCookie, verifySessionCookie } from './auth.js';
|
|
4
6
|
export { defineConfig } from './define_config.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dashboard/index.ts"],"names":[],"mappings":"AAAA,mEAAmE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dashboard/index.ts"],"names":[],"mappings":"AAAA,mEAAmE;AAOnE,wFAAwF;AACxF,OAAO,EACL,OAAO,IAAI,qBAAqB,EAChC,UAAU,EACV,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AAWjC,iCAAiC;AACjC,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAQvF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,oCAAoC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,gGAAgG;AAChG,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"direct_upload_handler.d.ts","sourceRoot":"","sources":["../../src/direct_upload_handler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAA8B,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"direct_upload_handler.d.ts","sourceRoot":"","sources":["../../src/direct_upload_handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { randomUUID } from 'node:crypto';
|
|
2
2
|
import { traceMedia } from './diagnostics.js';
|
|
3
|
-
import { MimeNotAllowedError, UploadNotSupportedError, UploadPartOutOfRangeError, UploadPartSizeError, UploadPartsIncompleteError, UploadSessionExpiredError, UploadSessionNotFoundError, } from './errors.js';
|
|
3
|
+
import { MimeNotAllowedError, UnsafeFileNameError, UploadNotSupportedError, UploadPartOutOfRangeError, UploadPartSizeError, UploadPartsIncompleteError, UploadSessionExpiredError, UploadSessionNotFoundError, } from './errors.js';
|
|
4
|
+
import { sanitizeFileName } from './file_name.js';
|
|
4
5
|
/**
|
|
5
6
|
* HTTP half of the session-backed direct upload flow, mirroring {@link TusUploadHandler}: the core
|
|
6
7
|
* ({@link DirectUploadManager}) never sees HTTP, this class never sees a framework, and a thin
|
|
@@ -33,7 +34,8 @@ export class DirectUploadHandler {
|
|
|
33
34
|
this.disk = options.disk;
|
|
34
35
|
this.collection = options.collection;
|
|
35
36
|
this.maxSize = options.maxSize;
|
|
36
|
-
this.keyFor =
|
|
37
|
+
this.keyFor =
|
|
38
|
+
options.keyFor ?? ((fileName, token) => `uploads/${token}/${sanitizeFileName(fileName)}`);
|
|
37
39
|
this.newId = options.idGenerator ?? (() => randomUUID());
|
|
38
40
|
this.policy = options.policy;
|
|
39
41
|
this.adopt = options.adopt;
|
|
@@ -257,6 +259,9 @@ export class DirectUploadHandler {
|
|
|
257
259
|
if (err instanceof MimeNotAllowedError) {
|
|
258
260
|
return { status: 415, body: { error: err.message, code: err.code } };
|
|
259
261
|
}
|
|
262
|
+
if (err instanceof UnsafeFileNameError) {
|
|
263
|
+
return { status: 400, body: { error: err.message, code: err.code } };
|
|
264
|
+
}
|
|
260
265
|
// Not-yet-uploaded parts are client state out of sync with the session, not a bad request.
|
|
261
266
|
if (err instanceof UploadPartsIncompleteError) {
|
|
262
267
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"direct_upload_handler.js","sourceRoot":"","sources":["../../src/direct_upload_handler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"direct_upload_handler.js","sourceRoot":"","sources":["../../src/direct_upload_handler.ts"],"names":[],"mappings":"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"}
|
package/dist/src/errors.d.ts
CHANGED
|
@@ -184,6 +184,22 @@ export declare class UploadPartsIncompleteError extends Error {
|
|
|
184
184
|
readonly code = "E_MEDIA_UPLOAD_PARTS_INCOMPLETE";
|
|
185
185
|
constructor(sessionId: string, missingParts: readonly number[]);
|
|
186
186
|
}
|
|
187
|
+
/**
|
|
188
|
+
* A client-supplied upload file name is unsafe to interpolate into a storage key: it contains a
|
|
189
|
+
* path separator (so, after normalizing `\` to `/`, more than one segment), resolves to `.`/`..`,
|
|
190
|
+
* is empty, or carries a control character. Raised by {@link sanitizeFileName} before the name ever
|
|
191
|
+
* reaches a storage key — `MediaLibrary`'s `attach`/`attachExisting`, the default `keyFor` of
|
|
192
|
+
* `DirectUploadHandler` and `TusUploadHandler`, and `AttachmentManager#createFromFile` — so a
|
|
193
|
+
* traversal attempt (`../../etc/passwd`) or an absolute path never gets the chance to escape the
|
|
194
|
+
* upload's directory. Mirrors
|
|
195
|
+
* {@link TransformerOutputError}'s stance on hostile-shaped paths: reject outright, never silently
|
|
196
|
+
* normalize into place.
|
|
197
|
+
*/
|
|
198
|
+
export declare class UnsafeFileNameError extends Error {
|
|
199
|
+
readonly fileName: string;
|
|
200
|
+
readonly code = "E_MEDIA_UNSAFE_FILE_NAME";
|
|
201
|
+
constructor(fileName: string);
|
|
202
|
+
}
|
|
187
203
|
export declare class DirectUploadsNotConfiguredError extends Error {
|
|
188
204
|
readonly code = "E_MEDIA_DIRECT_NOT_CONFIGURED";
|
|
189
205
|
constructor();
|
package/dist/src/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,mBAAoB,SAAQ,KAAK;IAG1C,QAAQ,CAAC,UAAU,EAAE,MAAM;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE;IAJtC,QAAQ,CAAC,IAAI,8BAA8B;IAC3C,YACW,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,SAAS,MAAM,EAAE,EAMrC;CACF;AAED;;;;;;GAMG;AACH,qBAAa,wBAAyB,SAAQ,KAAK;IAG/C,QAAQ,CAAC,UAAU,EAAE,MAAM;IAC3B,QAAQ,CAAC,gBAAgB,EAAE,MAAM;IACjC,QAAQ,CAAC,gBAAgB,EAAE,MAAM;IAJnC,QAAQ,CAAC,IAAI,mCAAmC;IAChD,YACW,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,EAAE,MAAM,EACjC,QAAQ,EAAE,SAAS,MAAM,EAAE,EAM5B;CACF;AAED;;;;;;;;;GASG;AACH,qBAAa,iCAAkC,SAAQ,KAAK;IAGxD,QAAQ,CAAC,UAAU,EAAE,MAAM;IAC3B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS;IAC7C,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE;IAJtC,QAAQ,CAAC,IAAI,4CAA4C;IACzD,YACW,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,QAAQ,EAAE,SAAS,MAAM,EAAE,EAQrC;CACF;AAED;;;;;GAKG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,IAAI,6BAA6B;IAC1C,YAAY,IAAI,EAAE,MAAM,EAKvB;CACF;AAED,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,IAAI,8BAA8B;IAC3C,YAAY,EAAE,EAAE,MAAM,EAGrB;CACF;AAED,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,QAAQ,CAAC,IAAI,4BAA4B;IACzC,YAAY,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAKpC;CACF;AAED,qBAAa,yBAA0B,SAAQ,KAAK;IAClD,QAAQ,CAAC,IAAI,oCAAoC;IACjD,YAAY,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAGjD;CACF;AAED;;;;GAIG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,QAAQ,CAAC,IAAI,qCAAqC;IAClD,YAAY,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAGlD;CACF;AAED;;;;;GAKG;AACH,qBAAa,sBAAuB,SAAQ,KAAK;IAG7C,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM;IAH9B,QAAQ,CAAC,IAAI,iCAAiC;IAC9C,YACW,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EAM7B;CACF;AAED;;;;GAIG;AACH,qBAAa,wBAAyB,SAAQ,KAAK;IACjD,QAAQ,CAAC,IAAI,kCAAkC;IAC/C,YAAY,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAK3C;CACF;AAED;;;;;GAKG;AACH,qBAAa,8BAA+B,SAAQ,KAAK;IAGrD,QAAQ,CAAC,WAAW,EAAE,MAAM;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM;IAH9B,QAAQ,CAAC,IAAI,yCAAyC;IACtD,YACW,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EAC5B,IAAI,CAAC,EAAE,MAAM,EAMd;CACF;AAED;;;;;GAKG;AACH,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,IAAI,wCAAwC;IACrD,YAAY,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAG9C;CACF;AAED;;;;GAIG;AACH,qBAAa,8BAA+B,SAAQ,KAAK;IACvD,QAAQ,CAAC,IAAI,yCAAyC;IACtD,YAAY,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAK9C;CACF;AAED;;;;;GAKG;AACH,qBAAa,yBAA0B,SAAQ,KAAK;IAClD,QAAQ,CAAC,IAAI,oCAAoC;IACjD,YAAY,OAAO,EAAE,MAAM,EAK1B;CACF;AAED,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,QAAQ,CAAC,IAAI,qCAAqC;IAClD,cAGC;CACF;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,IAAI,+BAA+B;IAC5C,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AAED,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,QAAQ,CAAC,IAAI,kCAAkC;IAC/C,YAAY,IAAI,EAAE,MAAM,EAAE,SAAS,SAA4B,EAK9D;CACF;AAED,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,QAAQ,CAAC,IAAI,sCAAsC;IACnD,YAAY,EAAE,EAAE,MAAM,EAGrB;CACF;AAED,qBAAa,yBAA0B,SAAQ,KAAK;IAGhD,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAH3B,QAAQ,CAAC,IAAI,oCAAoC;IACjD,YACW,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAI1B;CACF;AAED,qBAAa,yBAA0B,SAAQ,KAAK;IAClD,QAAQ,CAAC,IAAI,oCAAoC;IACjD,YAAY,EAAE,EAAE,MAAM,EAGrB;CACF;AAED;;;;;;GAMG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,IAAI,8BAA8B;IAC3C,YAAY,MAAM,EAAE,MAAM,EAGzB;CACF;AAED,mHAAmH;AACnH,qBAAa,yBAA0B,SAAQ,KAAK;IAGhD,QAAQ,CAAC,UAAU,EAAE,MAAM;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM;IAH7B,QAAQ,CAAC,IAAI,sCAAsC;IACnD,YACW,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAM5B;CACF;AAED;;;;GAIG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;IAGjD,QAAQ,CAAC,SAAS,EAAE,MAAM;IAC1B,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE;IAH1C,QAAQ,CAAC,IAAI,qCAAqC;IAClD,YACW,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,SAAS,MAAM,EAAE,EAMzC;CACF;AAED;;;;;;;;;;GAUG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;IAEhC,QAAQ,CAAC,QAAQ,EAAE,MAAM;IADrC,QAAQ,CAAC,IAAI,8BAA8B;IAC3C,YAAqB,QAAQ,EAAE,MAAM,EAMpC;CACF;AAED,qBAAa,+BAAgC,SAAQ,KAAK;IACxD,QAAQ,CAAC,IAAI,mCAAmC;IAChD,cAKC;CACF;AAED,qBAAa,kCAAmC,SAAQ,KAAK;IAC3D,QAAQ,CAAC,IAAI,sCAAsC;IACnD,cAKC;CACF;AAED,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,QAAQ,CAAC,IAAI,kCAAkC;IAC/C,YAAY,IAAI,EAAE,MAAM,EAKvB;CACF;AAED,qBAAa,oCAAqC,SAAQ,KAAK;IAC7D,QAAQ,CAAC,IAAI,iDAAiD;IAC9D,YAAY,IAAI,EAAE,MAAM,EAKvB;CACF"}
|
package/dist/src/errors.js
CHANGED
|
@@ -272,6 +272,27 @@ export class UploadPartsIncompleteError extends Error {
|
|
|
272
272
|
this.name = 'UploadPartsIncompleteError';
|
|
273
273
|
}
|
|
274
274
|
}
|
|
275
|
+
/**
|
|
276
|
+
* A client-supplied upload file name is unsafe to interpolate into a storage key: it contains a
|
|
277
|
+
* path separator (so, after normalizing `\` to `/`, more than one segment), resolves to `.`/`..`,
|
|
278
|
+
* is empty, or carries a control character. Raised by {@link sanitizeFileName} before the name ever
|
|
279
|
+
* reaches a storage key — `MediaLibrary`'s `attach`/`attachExisting`, the default `keyFor` of
|
|
280
|
+
* `DirectUploadHandler` and `TusUploadHandler`, and `AttachmentManager#createFromFile` — so a
|
|
281
|
+
* traversal attempt (`../../etc/passwd`) or an absolute path never gets the chance to escape the
|
|
282
|
+
* upload's directory. Mirrors
|
|
283
|
+
* {@link TransformerOutputError}'s stance on hostile-shaped paths: reject outright, never silently
|
|
284
|
+
* normalize into place.
|
|
285
|
+
*/
|
|
286
|
+
export class UnsafeFileNameError extends Error {
|
|
287
|
+
fileName;
|
|
288
|
+
code = 'E_MEDIA_UNSAFE_FILE_NAME';
|
|
289
|
+
constructor(fileName) {
|
|
290
|
+
super(`File name "${fileName}" is not a valid upload file name: it must be a single path segment ` +
|
|
291
|
+
'(no "/" or "\\"), not "." or "..", not empty, and free of control characters.');
|
|
292
|
+
this.fileName = fileName;
|
|
293
|
+
this.name = 'UnsafeFileNameError';
|
|
294
|
+
}
|
|
295
|
+
}
|
|
275
296
|
export class DirectUploadsNotConfiguredError extends Error {
|
|
276
297
|
code = 'E_MEDIA_DIRECT_NOT_CONFIGURED';
|
|
277
298
|
constructor() {
|
package/dist/src/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Validate a client-supplied upload file name before it is interpolated into a storage key.
|
|
3
|
+
*
|
|
4
|
+
* Unlike a transformer's own output path — validated by `assertSafeArtifactPath` in
|
|
5
|
+
* `media_library.ts`, which only has to keep the transformer's OWN bookkeeping honest — a
|
|
6
|
+
* `fileName` comes straight off the wire (a multipart field, a TUS `Upload-Metadata` header) and
|
|
7
|
+
* must be treated as hostile.
|
|
8
|
+
*
|
|
9
|
+
* A file name is, by definition, a single path segment: it names a file, not a location. So
|
|
10
|
+
* anything that would add or change segments — a `/` or `\`, an empty string, a bare `.` or `..`,
|
|
11
|
+
* a control character — is rejected outright with {@link UnsafeFileNameError}, never silently
|
|
12
|
+
* stripped down to a "safe" basename. That mirrors `assertSafeArtifactPath`'s stance: a
|
|
13
|
+
* traversal-shaped input is never something to normalize into place.
|
|
14
|
+
*
|
|
15
|
+
* Every call site that builds a storage key from a client-supplied file name must route it through
|
|
16
|
+
* here first: `MediaLibrary#layoutPath`, the default `keyFor` of `DirectUploadHandler` and
|
|
17
|
+
* `TusUploadHandler`, and `AttachmentManager#createFromFile` (the separate adonis-attachment-style
|
|
18
|
+
* API in `attachment.ts`).
|
|
19
|
+
*/
|
|
20
|
+
export declare function sanitizeFileName(fileName: string): string;
|
|
21
|
+
//# sourceMappingURL=file_name.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file_name.d.ts","sourceRoot":"","sources":["../../src/file_name.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAazD"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { UnsafeFileNameError } from './errors.js';
|
|
2
|
+
/**
|
|
3
|
+
* Validate a client-supplied upload file name before it is interpolated into a storage key.
|
|
4
|
+
*
|
|
5
|
+
* Unlike a transformer's own output path — validated by `assertSafeArtifactPath` in
|
|
6
|
+
* `media_library.ts`, which only has to keep the transformer's OWN bookkeeping honest — a
|
|
7
|
+
* `fileName` comes straight off the wire (a multipart field, a TUS `Upload-Metadata` header) and
|
|
8
|
+
* must be treated as hostile.
|
|
9
|
+
*
|
|
10
|
+
* A file name is, by definition, a single path segment: it names a file, not a location. So
|
|
11
|
+
* anything that would add or change segments — a `/` or `\`, an empty string, a bare `.` or `..`,
|
|
12
|
+
* a control character — is rejected outright with {@link UnsafeFileNameError}, never silently
|
|
13
|
+
* stripped down to a "safe" basename. That mirrors `assertSafeArtifactPath`'s stance: a
|
|
14
|
+
* traversal-shaped input is never something to normalize into place.
|
|
15
|
+
*
|
|
16
|
+
* Every call site that builds a storage key from a client-supplied file name must route it through
|
|
17
|
+
* here first: `MediaLibrary#layoutPath`, the default `keyFor` of `DirectUploadHandler` and
|
|
18
|
+
* `TusUploadHandler`, and `AttachmentManager#createFromFile` (the separate adonis-attachment-style
|
|
19
|
+
* API in `attachment.ts`).
|
|
20
|
+
*/
|
|
21
|
+
export function sanitizeFileName(fileName) {
|
|
22
|
+
const normalized = fileName.replace(/\\/g, '/');
|
|
23
|
+
const hasControlCharacters = Array.from(normalized).some((char) => char.charCodeAt(0) < 0x20);
|
|
24
|
+
if (normalized === '' ||
|
|
25
|
+
normalized === '.' ||
|
|
26
|
+
normalized === '..' ||
|
|
27
|
+
normalized.includes('/') ||
|
|
28
|
+
hasControlCharacters) {
|
|
29
|
+
throw new UnsafeFileNameError(fileName);
|
|
30
|
+
}
|
|
31
|
+
return normalized;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=file_name.js.map
|