aboutsummaryrefslogtreecommitdiff
path: root/misc/codex/files/patch-codex-rs_cli_src_pre__main__hardening.rs
diff options
context:
space:
mode:
authorHiroki Tagato <tagattie@FreeBSD.org>2025-10-06 14:22:11 +0000
committerHiroki Tagato <tagattie@FreeBSD.org>2025-10-06 14:23:41 +0000
commitd2ab390665a9e408af8689afb02643adf87484bf (patch)
treea6cf1149b5c8539f9b707400c867b62dfe2bcb72 /misc/codex/files/patch-codex-rs_cli_src_pre__main__hardening.rs
parentd816c0fc9ac77414ce43bda353441ace73bd74c8 (diff)
Diffstat (limited to 'misc/codex/files/patch-codex-rs_cli_src_pre__main__hardening.rs')
-rw-r--r--misc/codex/files/patch-codex-rs_cli_src_pre__main__hardening.rs60
1 files changed, 0 insertions, 60 deletions
diff --git a/misc/codex/files/patch-codex-rs_cli_src_pre__main__hardening.rs b/misc/codex/files/patch-codex-rs_cli_src_pre__main__hardening.rs
deleted file mode 100644
index 7302568f4512..000000000000
--- a/misc/codex/files/patch-codex-rs_cli_src_pre__main__hardening.rs
+++ /dev/null
@@ -1,60 +0,0 @@
---- codex-rs/cli/src/pre_main_hardening.rs.orig 2025-09-26 18:28:59 UTC
-+++ codex-rs/cli/src/pre_main_hardening.rs
-@@ -4,9 +4,12 @@ const PTRACE_DENY_ATTACH_FAILED_EXIT_CODE: i32 = 6;
- #[cfg(target_os = "macos")]
- const PTRACE_DENY_ATTACH_FAILED_EXIT_CODE: i32 = 6;
-
--#[cfg(any(target_os = "linux", target_os = "android", target_os = "macos"))]
-+#[cfg(any(target_os = "linux", target_os = "android", target_os = "macos", target_os = "freebsd"))]
- const SET_RLIMIT_CORE_FAILED_EXIT_CODE: i32 = 7;
-
-+#[cfg(target_os = "freebsd")]
-+const PROCCTL_PROC_TRACE_CTL_FAILED_EXIT_CODE: i32 = 8;
-+
- #[cfg(any(target_os = "linux", target_os = "android"))]
- pub(crate) fn pre_main_hardening_linux() {
- // Disable ptrace attach / mark process non-dumpable.
-@@ -69,6 +72,43 @@ pub(crate) fn pre_main_hardening_macos() {
- .collect();
-
- for key in dyld_keys {
-+ unsafe {
-+ std::env::remove_var(key);
-+ }
-+ }
-+}
-+
-+#[cfg(target_os = "freebsd")]
-+pub(crate) fn pre_main_hardening_freebsd() {
-+ // Prevent debuggers from attaching to this process
-+ let mut arg = libc::PROC_TRACE_CTL_DISABLE_EXEC;
-+ let ret_code = unsafe {
-+ libc::procctl(libc::P_PID, 0, libc::PROC_TRACE_CTL, &mut arg as *mut _ as *mut libc::c_void)
-+ };
-+ if ret_code == -1 {
-+ eprintln!(
-+ "ERROR: procctl(PROC_TRACE_CTL) failed: {}",
-+ std::io::Error::last_os_error()
-+ );
-+ std::process::exit(PROCCTL_PROC_TRACE_CTL_FAILED_EXIT_CODE);
-+ }
-+
-+ // Set the core file size limit to 0 to prevent core dumps.
-+ set_core_file_size_limit_to_zero();
-+
-+ // Remove all LD_ environment variables, which can be used to subvert
-+ // library loading.
-+ let ld_keys: Vec<String> = std::env::vars()
-+ .filter_map(|(key, _)| {
-+ if key.starts_with("LD_") {
-+ Some(key)
-+ } else {
-+ None
-+ }
-+ })
-+ .collect();
-+
-+ for key in ld_keys {
- unsafe {
- std::env::remove_var(key);
- }