add filename cleaning at OneTimeLink download (#2253)
* add filename cleaning at OneTimeLink download * add cleanConfigFilename function in utils/WireGuard
This commit is contained in:
@@ -19,16 +19,11 @@ export default definePermissionEventHandler(
|
|||||||
}
|
}
|
||||||
|
|
||||||
const config = await WireGuard.getClientConfiguration({ clientId });
|
const config = await WireGuard.getClientConfiguration({ clientId });
|
||||||
const configName = client.name
|
|
||||||
.replace(/[^a-zA-Z0-9_=+.-]/g, '-')
|
|
||||||
.replace(/(-{2,}|-$)/g, '-')
|
|
||||||
.replace(/-$/, '')
|
|
||||||
.substring(0, 32);
|
|
||||||
|
|
||||||
setHeader(
|
setHeader(
|
||||||
event,
|
event,
|
||||||
'Content-Disposition',
|
'Content-Disposition',
|
||||||
`attachment; filename="${configName || clientId}.conf"`
|
`attachment; filename="${WireGuard.cleanClientFilename(client.name) || clientId}.conf"`
|
||||||
);
|
);
|
||||||
|
|
||||||
setHeader(event, 'Content-Type', 'text/plain');
|
setHeader(event, 'Content-Type', 'text/plain');
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ export default defineEventHandler(async (event) => {
|
|||||||
setHeader(
|
setHeader(
|
||||||
event,
|
event,
|
||||||
'Content-Disposition',
|
'Content-Disposition',
|
||||||
`attachment; filename="${client.name}.conf"`
|
`attachment; filename="${WireGuard.cleanClientFilename(client.name) || client.id}.conf"`
|
||||||
);
|
);
|
||||||
setHeader(event, 'Content-Type', 'text/plain');
|
setHeader(event, 'Content-Type', 'text/plain');
|
||||||
return config;
|
return config;
|
||||||
|
|||||||
@@ -170,6 +170,14 @@ class WireGuard {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cleanClientFilename(name: string): string {
|
||||||
|
return name
|
||||||
|
.replace(/[^a-zA-Z0-9_=+.-]/g, '-')
|
||||||
|
.replace(/(-{2,}|-$)/g, '-')
|
||||||
|
.replace(/-$/, '')
|
||||||
|
.substring(0, 32);
|
||||||
|
}
|
||||||
|
|
||||||
async Startup() {
|
async Startup() {
|
||||||
WG_DEBUG('Starting WireGuard...');
|
WG_DEBUG('Starting WireGuard...');
|
||||||
// let as it has to refetch if keys change
|
// let as it has to refetch if keys change
|
||||||
|
|||||||
Reference in New Issue
Block a user