aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2021-03-05 23:56:54 -0500
committerJesse Luehrs <doy@tozt.net>2021-03-05 23:56:54 -0500
commitbaf28a1a8b63da61a4bff56262ec03d7599cc1a5 (patch)
tree1795052635165b2ca468598a8d8c9ac012795a4a
parent3f740f29fb808fc22ad7db12ac2eac1ab56ec2b6 (diff)
downloadrbw-baf28a1a8b63da61a4bff56262ec03d7599cc1a5.tar.gz
rbw-baf28a1a8b63da61a4bff56262ec03d7599cc1a5.zip
only warn if disabling PTRACE_ATTACH fails
-rw-r--r--CHANGELOG.md7
-rw-r--r--src/bin/rbw-agent/debugger.rs5
-rw-r--r--src/bin/rbw-agent/main.rs4
3 files changed, 13 insertions, 3 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 1885aa4..3df5d53 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,8 +1,15 @@
# Changelog
+## [Unreleased]
+
+### Fixed
+
+* Fix non-Linux platforms (#44, rjc)
+
## [1.1.0] - 2021-03-02
### Added
+
* You can now `rbw config set pinentry pinentry-curses` to change the pinentry
program used by `rbw` (#39, djmattyg007)
diff --git a/src/bin/rbw-agent/debugger.rs b/src/bin/rbw-agent/debugger.rs
index ebc43bd..59bbe50 100644
--- a/src/bin/rbw-agent/debugger.rs
+++ b/src/bin/rbw-agent/debugger.rs
@@ -12,11 +12,12 @@ pub fn disable_tracing() -> anyhow::Result<()> {
if ret == 0 {
Ok(())
} else {
- Err(anyhow::anyhow!("rbw-agent: Failed to disable PTRACE_ATTACH. Agent memory may be dumpable by other processes."))
+ let e = nix::Error::last();
+ Err(anyhow::anyhow!("failed to disable PTRACE_ATTACH, agent memory may be dumpable by other processes: {}", e))
}
}
#[cfg(not(target_os = "linux"))]
pub fn disable_tracing() -> anyhow::Result<()> {
- Err(anyhow::anyhow!("rbw-agent: Unable to disable PTRACE_ATTACH on this platform: not implemented. Agent memory may be dumpable by other processes."))
+ Err(anyhow::anyhow!("failed to disable PTRACE_ATTACH, agent memory may be dumpable by other processes: unimplemented on this platform"))
}
diff --git a/src/bin/rbw-agent/main.rs b/src/bin/rbw-agent/main.rs
index 5eedc30..74ee258 100644
--- a/src/bin/rbw-agent/main.rs
+++ b/src/bin/rbw-agent/main.rs
@@ -29,7 +29,9 @@ fn real_main() -> anyhow::Result<()> {
)
.init();
- debugger::disable_tracing()?;
+ if let Err(e) = debugger::disable_tracing() {
+ log::warn!("{}", e);
+ }
let no_daemonize = if let Some(arg) = std::env::args().nth(1) {
arg == "--no-daemonize"