Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/Netclaw.Media.Tests/MimeTypeCatalogTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ public void GetCategory_is_catalog_backed_not_prefix_backed(string mimeType, Att
[InlineData(".png", MimeTypeCatalog.ImagePng)]
[InlineData("jpg", MimeTypeCatalog.ImageJpeg)]
[InlineData(".pdf", MimeTypeCatalog.ApplicationPdf)]
[InlineData(".potx", "application/vnd.openxmlformats-officedocument.presentationml.template")]
[InlineData(".mp4", MimeTypeCatalog.VideoMp4)]
[InlineData(".m4a", MimeTypeCatalog.AudioMp4)]
public void FromExtension_returns_canonical_mime(string extension, string expected)
Expand Down
3 changes: 2 additions & 1 deletion src/Netclaw.Media/MimeTypeCatalog.cs
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@ public static bool IsZipBackedOfficePath(string path)
{
return FileExtension.FromPath(path).Value switch
{
".docx" or ".xlsx" or ".pptx" or ".odt" or ".ods" or ".odp" => true,
".docx" or ".xlsx" or ".pptx" or ".potx" or ".odt" or ".ods" or ".odp" => true,
_ => false
};
}
Expand Down Expand Up @@ -212,6 +212,7 @@ private static MediaTypeDefinition[] BuildDefinitions() =>
Binary("application/vnd.openxmlformats-officedocument.wordprocessingml.document", AttachmentCategory.Document, MediaKind.Document, true, false, ".docx", ".docx"),
Binary("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", AttachmentCategory.Document, MediaKind.Document, true, false, ".xlsx", ".xlsx"),
Binary("application/vnd.openxmlformats-officedocument.presentationml.presentation", AttachmentCategory.Document, MediaKind.Document, true, false, ".pptx", ".pptx"),
Binary("application/vnd.openxmlformats-officedocument.presentationml.template", AttachmentCategory.Document, MediaKind.Document, true, false, ".potx", ".potx"),
Binary("application/vnd.oasis.opendocument.text", AttachmentCategory.Document, MediaKind.Document, true, false, ".odt", ".odt"),
Binary("application/vnd.oasis.opendocument.spreadsheet", AttachmentCategory.Document, MediaKind.Document, true, false, ".ods", ".ods"),
Binary("application/vnd.oasis.opendocument.presentation", AttachmentCategory.Document, MediaKind.Document, true, false, ".odp", ".odp"),
Expand Down
1 change: 1 addition & 0 deletions src/Netclaw.Security.Tests/MagicByteValidatorTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,7 @@ public void Validate_PdfMimeTypeMismatch(string headerField, string mime, string
[InlineData(nameof(ZipHeader), "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "report.docx")]
[InlineData(nameof(ZipHeader), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "budget.xlsx")]
[InlineData(nameof(ZipHeader), "application/vnd.openxmlformats-officedocument.presentationml.presentation", "slides.pptx")]
[InlineData(nameof(ZipHeader), "application/vnd.openxmlformats-officedocument.presentationml.template", "master.potx")]
[InlineData(nameof(ZipHeader), "application/vnd.oasis.opendocument.text", "notes.odt")]
[InlineData(nameof(OleHeader), "application/msword", "legacy.doc")]
[InlineData(nameof(OleHeader), "application/vnd.ms-excel", "legacy.xls")]
Expand Down
1 change: 1 addition & 0 deletions src/Netclaw.Security/MagicByteValidator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -239,6 +239,7 @@ public static bool HasExecutableSignature(ReadOnlySpan<byte> content)
["application/vnd.openxmlformats-officedocument.wordprocessingml.document"] = IsZip,
["application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"] = IsZip,
["application/vnd.openxmlformats-officedocument.presentationml.presentation"] = IsZip,
["application/vnd.openxmlformats-officedocument.presentationml.template"] = IsZip,

// OpenDocument (also ZIP-based)
["application/vnd.oasis.opendocument.text"] = IsZip,
Expand Down