metsw24-max
09f78aed19
fix: drop newline-bearing member names in arch ParsePackage ( #38102 )
...
The arch parser keeps tar member names verbatim. The index writer joins
those values one per line into the pacman database. So a member name
with a newline adds lines to that package's own `files` entry, which
libalpm reads as further fields.
The scope is one package record. An uploader cannot forge entries for
another package, and can set the same fields in `.PKGINFO` anyway. This
is input validation, not a privilege boundary.
`ParsePackage` now drops names that contain CR or LF. `joinFields` drops
such values again when writing the index, which also covers packages
that are already stored. Real packages never carry newlines in file
paths, so well-formed uploads are unaffected.
---------
Co-authored-by: silverwind <me@silverwind.io >
2026-08-07 20:47:33 +00:00
..
2026-08-07 15:39:36 +00:00
2026-02-01 10:35:51 +00:00
2026-05-26 15:49:31 -07:00
2026-08-07 00:11:34 +00:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-08-05 00:17:07 +08:00
2025-04-09 16:34:38 +00:00
2026-07-30 16:43:36 +00:00
2026-03-31 17:22:18 +00:00
2026-06-08 18:18:58 +00:00
2026-07-24 02:05:38 +00:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-07-23 08:29:28 +00:00
2026-07-15 17:30:01 +00:00
2026-06-08 18:18:58 +00:00
2026-08-07 14:11:03 +00:00
2026-05-26 15:49:31 -07:00
2026-08-07 11:49:23 +00:00
2026-08-05 21:34:46 +00:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-08-06 18:07:36 +08:00
2026-07-12 17:14:09 +00:00
2026-06-14 15:52:37 +02:00
2026-06-04 00:12:02 +08:00
2026-06-04 00:12:02 +08:00
2026-07-28 17:04:22 +00:00
2026-07-17 18:44:31 +08:00
2026-07-27 07:46:00 +00:00
2026-05-29 01:12:11 +00:00
2026-07-31 11:05:41 +00:00
2026-07-17 22:28:59 +08:00
2026-05-26 15:49:31 -07:00
2026-08-07 14:11:03 +00:00
2026-07-21 13:41:54 +00:00
2026-05-26 15:49:31 -07:00
2026-05-29 01:12:11 +00:00
2026-05-26 15:49:31 -07:00
2026-05-29 01:12:11 +00:00
2026-05-26 15:49:31 -07:00
2026-08-07 20:47:33 +00:00
2026-06-03 17:40:38 +00:00
2026-07-17 22:28:59 +08:00
2026-07-17 22:28:59 +08:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-08-03 04:40:02 +00:00
2026-07-27 07:46:00 +00:00
2026-05-26 15:49:31 -07:00
2026-07-08 23:52:06 +02:00
2026-05-26 15:49:31 -07:00
2026-07-28 17:04:22 +00:00
2026-05-26 15:49:31 -07:00
2025-02-21 00:05:40 +08:00
2026-07-27 15:35:48 +00:00
2026-08-05 00:17:07 +08:00
2026-06-14 18:26:22 +00:00
2026-07-04 22:30:12 +02:00
2026-08-07 16:35:30 +00:00
2026-08-03 06:41:27 +00:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2025-01-21 18:57:07 +00:00
2026-07-23 14:31:29 +00:00
2026-08-07 14:11:03 +00:00
2026-08-07 11:49:23 +00:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-07-12 11:33:14 +00:00
2026-03-26 00:37:48 +08:00
2026-05-26 15:49:31 -07:00
2026-07-12 17:14:09 +00:00
2025-01-09 09:21:47 +08:00
2026-08-06 08:41:40 +02:00
2026-05-26 15:49:31 -07:00
2026-08-03 04:40:02 +00:00
2026-02-20 16:12:22 +00:00
2026-06-04 13:38:56 +00:00