|
|
|
@ -1,7 +1,7 @@
|
|
|
|
|
From e65583c3e9cf0e9c326bb2d414d40fa32f64f9c6 Mon Sep 17 00:00:00 2001
|
|
|
|
|
From c82e375d1be5789abe830097b315cf07d3debd28 Mon Sep 17 00:00:00 2001
|
|
|
|
|
From: Emery Hemingway <ehmry@posteo.net>
|
|
|
|
|
Date: Tue, 3 Nov 2020 15:28:56 +0100
|
|
|
|
|
Subject: [PATCH 1/3] cached_fs_rom: resolve symlinks
|
|
|
|
|
Subject: [PATCH 1/5] cached_fs_rom: resolve symlinks
|
|
|
|
|
|
|
|
|
|
Follow symlinks from ROM requests to files. This complicates the
|
|
|
|
|
implementation but allows ROM requests to be redirected at both the
|
|
|
|
@ -654,13 +654,13 @@ index 9e4e4d0eee..bac2c075a9 100755
|
|
|
|
|
|
|
|
|
|
if (stray_pkt)
|
|
|
|
|
--
|
|
|
|
|
2.28.0
|
|
|
|
|
2.29.2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
From 8e994fdb882071d224b1bb2b6efc711571b523f0 Mon Sep 17 00:00:00 2001
|
|
|
|
|
From 0cf27a3632bc8efe70196d396371712d06803712 Mon Sep 17 00:00:00 2001
|
|
|
|
|
From: Emery Hemingway <ehmry@posteo.net>
|
|
|
|
|
Date: Tue, 3 Nov 2020 17:37:50 +0100
|
|
|
|
|
Subject: [PATCH 2/3] cached_fs_rom: add directory session policy
|
|
|
|
|
Subject: [PATCH 2/5] cached_fs_rom: add directory session policy
|
|
|
|
|
|
|
|
|
|
Support for directing ROM requests into directories by policy.
|
|
|
|
|
---
|
|
|
|
@ -735,13 +735,13 @@ index bac2c075a9..8df3001111 100755
|
|
|
|
|
bool diag = session_diag_from_args(args.string()).enabled;
|
|
|
|
|
|
|
|
|
|
--
|
|
|
|
|
2.28.0
|
|
|
|
|
2.29.2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
From c98ba6fd70938804833e5c65a18d01c60f5be17f Mon Sep 17 00:00:00 2001
|
|
|
|
|
From f053d112495905c973d75988bdbd8b6aa8146ee9 Mon Sep 17 00:00:00 2001
|
|
|
|
|
From: Emery Hemingway <ehmry@posteo.net>
|
|
|
|
|
Date: Thu, 5 Nov 2020 21:22:31 +0100
|
|
|
|
|
Subject: [PATCH 3/3] cached_fs_rom: do not apply directory for absolute ROMs
|
|
|
|
|
Subject: [PATCH 3/5] cached_fs_rom: do not apply directory for absolute ROMs
|
|
|
|
|
|
|
|
|
|
If the ROM name starts with / then do not apply a directory policy.
|
|
|
|
|
---
|
|
|
|
@ -779,5 +779,56 @@ index 8df3001111..4479b41e87 100755
|
|
|
|
|
bool diag = session_diag_from_args(args.string()).enabled;
|
|
|
|
|
|
|
|
|
|
--
|
|
|
|
|
2.28.0
|
|
|
|
|
2.29.2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
From 41b272f81805a01d34049351b489d45c422653a8 Mon Sep 17 00:00:00 2001
|
|
|
|
|
From: Emery Hemingway <ehmry@posteo.net>
|
|
|
|
|
Date: Sat, 7 Nov 2020 11:40:49 +0100
|
|
|
|
|
Subject: [PATCH 4/5] cached_fs_rom: log request args
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
repos/os/src/server/cached_fs_rom/main.cc | 1 +
|
|
|
|
|
1 file changed, 1 insertion(+)
|
|
|
|
|
|
|
|
|
|
diff --git a/repos/os/src/server/cached_fs_rom/main.cc b/repos/os/src/server/cached_fs_rom/main.cc
|
|
|
|
|
index 4479b41e87..29549b009a 100755
|
|
|
|
|
--- a/repos/os/src/server/cached_fs_rom/main.cc
|
|
|
|
|
+++ b/repos/os/src/server/cached_fs_rom/main.cc
|
|
|
|
|
@@ -464,6 +464,7 @@ struct Cached_fs_rom::Main final : Genode::Session_request_handler
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool diag = session_diag_from_args(args.string()).enabled;
|
|
|
|
|
+ if (diag) log("request for ", args);
|
|
|
|
|
|
|
|
|
|
/* lookup the ROM in the cache */
|
|
|
|
|
Cached_rom *rom = nullptr;
|
|
|
|
|
--
|
|
|
|
|
2.29.2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
From 920cc12ad99f0460cdcdcee4fca6d879df362a91 Mon Sep 17 00:00:00 2001
|
|
|
|
|
From: Emery Hemingway <ehmry@posteo.net>
|
|
|
|
|
Date: Sun, 6 Dec 2020 19:45:01 +0100
|
|
|
|
|
Subject: [PATCH 5/5] cached_fs_rom: fix off-by-one in symlink copy_cstring
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
repos/os/src/server/cached_fs_rom/main.cc | 2 +-
|
|
|
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
|
|
|
|
|
|
diff --git a/repos/os/src/server/cached_fs_rom/main.cc b/repos/os/src/server/cached_fs_rom/main.cc
|
|
|
|
|
index 29549b009a..0919bf6831 100755
|
|
|
|
|
--- a/repos/os/src/server/cached_fs_rom/main.cc
|
|
|
|
|
+++ b/repos/os/src/server/cached_fs_rom/main.cc
|
|
|
|
|
@@ -345,7 +345,7 @@ struct Cached_fs_rom::Main final : Genode::Session_request_handler
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
char buf[Path::capacity()];
|
|
|
|
|
- copy_cstring(buf, fs.tx()->packet_content(packet), n);
|
|
|
|
|
+ copy_cstring(buf, fs.tx()->packet_content(packet), n+1);
|
|
|
|
|
if (*buf == '/')
|
|
|
|
|
transfer.final_path = Path(buf);
|
|
|
|
|
else
|
|
|
|
|
--
|
|
|
|
|
2.29.2
|
|
|
|
|
|
|
|
|
|