optimizations #161
@ -33,7 +33,7 @@ use sysexits::{ EX_IOERR, EX_OK, EX_OSERR, EX_USAGE };
|
|||||||
use strerror::StrError;
|
use strerror::StrError;
|
||||||
|
|
||||||
#[cfg(target_os="openbsd")] extern crate openbsd;
|
#[cfg(target_os="openbsd")] extern crate openbsd;
|
||||||
#[cfg(target_os="openbsd")] use openbsd::{ Promises, pledge };
|
#[cfg(target_os="openbsd")] use openbsd::{ Promises, pledge, unveil };
|
||||||
|
|
||||||
fn err(argv0: &str, e: Error, code: u8) -> ExitCode {
|
fn err(argv0: &str, e: Error, code: u8) -> ExitCode {
|
||||||
eprintln!("{}: {}", argv0, e.strerror());
|
eprintln!("{}: {}", argv0, e.strerror());
|
||||||
@ -49,10 +49,14 @@ fn main() -> ExitCode {
|
|||||||
let argv = args().collect::<Vec<String>>();
|
let argv = args().collect::<Vec<String>>();
|
||||||
|
|
||||||
#[cfg(target_os="openbsd")] {
|
#[cfg(target_os="openbsd")] {
|
||||||
let promises = Promises::new("stdio");
|
let promises = Promises::new("stdio unveil");
|
||||||
if let Err(e) = pledge(Some(promises), None) {
|
if let Err(e) = pledge(Some(promises), None) {
|
||||||
return err(&argv[0], e, EX_OSERR);
|
return err(&argv[0], e, EX_OSERR);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if let Err(e) = unveil(None, None) {
|
||||||
|
return err(&argv[0], e, EX_OSERR);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let mut buf: Vec<u8> = Vec::new(); // holds the sequence getting swabbed
|
let mut buf: Vec<u8> = Vec::new(); // holds the sequence getting swabbed
|
||||||
|
Loading…
Reference in New Issue
Block a user