diff options
| author | shtrophic <christoph@liebender.dev> | 2025-01-24 20:38:26 +0100 |
|---|---|---|
| committer | shtrophic <christoph@liebender.dev> | 2025-01-24 20:38:26 +0100 |
| commit | 85be7f36e12507cff7607df22ca14f8bfc00f6e2 (patch) | |
| tree | e41bedab3e3b011c16d2ea6180926470cc8586aa /sandbox.c | |
| parent | 13e4a7cda59db29063efc5dad0823fe99ec7b764 (diff) | |
| parent | 1cb7b37ae6adb01444ea1466d8884aacca10ebd8 (diff) | |
Merge remote-tracking branch 'upstream/master' into curl-smtp
Diffstat (limited to 'sandbox.c')
| -rw-r--r-- | sandbox.c | 9 |
1 files changed, 8 insertions, 1 deletions
@@ -63,15 +63,22 @@ LL_BEGIN(sbox_enter_linux_, const char* basedir, const char *address, int smtp_p LANDLOCK_ACCESS_FS_REFER_COMPAT, s = LANDLOCK_ACCESS_FS_MAKE_SOCK, x = LANDLOCK_ACCESS_FS_EXECUTE; + char *resolved_path = NULL; LL_PATH(basedir, rf|rd|w|c); LL_PATH("/tmp", rf|rd|w|c); #ifndef WITHOUT_SHM LL_PATH("/dev/shm", rf|w|c ); #endif + LL_PATH("/dev/urandom", rf ); LL_PATH("/etc/resolv.conf", rf ); LL_PATH("/etc/hosts", rf ); - LL_PATH("/etc/ssl", rf ); + LL_PATH("/etc/ssl", rf|rd ); + if ((resolved_path = realpath("/etc/ssl/cert.pem", NULL))) { + /* some distros like cert.pem to be a symlink */ + LL_PATH(resolved_path, rf ); + free(resolved_path); + } LL_PATH("/usr/share/zoneinfo", rf ); if (mtime("/etc/pki") > 0) |