diff --git a/Cargo.toml b/Cargo.toml index 6613bbf..140ffa0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,6 +3,7 @@ name = "railcar" version = "1.0.4" authors = ["Vishvananda Ishaya Abrams "] build = "build.rs" +edition = "2018" [dependencies] caps = "0.2.0" diff --git a/src/capabilities.rs b/src/capabilities.rs index ce4d006..4a0309a 100644 --- a/src/capabilities.rs +++ b/src/capabilities.rs @@ -13,12 +13,12 @@ fn to_set(caps: &[LinuxCapabilityType]) -> CapsHashSet { capabilities } -pub fn reset_effective() -> ::Result<()> { +pub fn reset_effective() -> crate::Result<()> { set(None, CapSet::Effective, ::caps::all())?; Ok(()) } -pub fn drop_privileges(cs: &LinuxCapabilities) -> ::Result<()> { +pub fn drop_privileges(cs: &LinuxCapabilities) -> crate::Result<()> { let all = ::caps::all(); debug!("dropping bounding capabilities to {:?}", cs.bounding); // drop excluded caps from the bounding set diff --git a/src/cgroups.rs b/src/cgroups.rs index aea8dff..8973e53 100644 --- a/src/cgroups.rs +++ b/src/cgroups.rs @@ -1,4 +1,4 @@ -use errors::*; +use crate::errors::*; use lazy_static::initialize; use nix::unistd::Pid; use num_traits::identities::Zero; diff --git a/src/main.rs b/src/main.rs index c563306..768cc3d 100644 --- a/src/main.rs +++ b/src/main.rs @@ -35,7 +35,7 @@ mod signals; mod sync; use clap::{App, AppSettings, Arg, ArgMatches, SubCommand}; -use errors::*; +use crate::errors::*; use lazy_static::initialize; use nix::errno::Errno; use nix::fcntl::{open, OFlag}; @@ -51,7 +51,7 @@ use nix::sys::wait::{waitpid, WaitStatus}; use nix::unistd::{chdir, execvp, getpid, sethostname, setresgid, setresuid}; use nix::unistd::{close, dup2, fork, pipe2, read, setsid, write, ForkResult}; use nix::unistd::{Gid, Pid, Uid}; -use nix_ext::{clearenv, putenv, setgroups, setrlimit}; +use crate::nix_ext::{clearenv, putenv, setgroups, setrlimit}; use oci::{Linux, LinuxIDMapping, LinuxRlimit, Spec}; use oci::{LinuxDevice, LinuxDeviceType}; use std::collections::HashMap; @@ -61,7 +61,7 @@ use std::io::{Read, Write}; use std::os::unix::fs::symlink; use std::os::unix::io::{FromRawFd, RawFd}; use std::result::Result as StdResult; -use sync::Cond; +use crate::sync::Cond; lazy_static! { static ref DEFAULT_DEVICES: Vec = { diff --git a/src/mounts.rs b/src/mounts.rs index 2c4359f..25f8586 100644 --- a/src/mounts.rs +++ b/src/mounts.rs @@ -1,5 +1,5 @@ -use cgroups; -use errors::*; +use crate::cgroups; +use crate::errors::*; use nix::errno::Errno; use nix::fcntl::{open, OFlag}; use nix::mount::MsFlags; @@ -9,9 +9,9 @@ use nix::sys::stat::{Mode, SFlag}; use nix::unistd::{chdir, chown, close, getcwd, pivot_root}; use nix::unistd::{Gid, Uid}; use nix::NixPath; -use nix_ext::fchdir; +use crate::nix_ext::fchdir; use oci::{LinuxDevice, LinuxDeviceType, Mount, Spec}; -use selinux::setfilecon; +use crate::selinux::setfilecon; use std::collections::HashMap; use std::fs::OpenOptions; use std::fs::{canonicalize, create_dir_all, remove_file}; diff --git a/src/seccomp.rs b/src/seccomp.rs index 553c779..a51baf9 100644 --- a/src/seccomp.rs +++ b/src/seccomp.rs @@ -1,4 +1,4 @@ -use errors::*; +use crate::errors::*; use oci::{Arch, LinuxSeccomp, LinuxSeccompOperator}; use seccomp_sys::*; @@ -10,7 +10,7 @@ fn to_cmp(cmp: LinuxSeccompOperator) -> scmp_compare { unsafe { ::std::mem::transmute(cmp) } } -fn syscall_resolve_name(name: &str) -> ::Result { +fn syscall_resolve_name(name: &str) -> crate::Result { let s = ::std::ffi::CString::new(name)?; let id = unsafe { seccomp_syscall_resolve_name(s.as_ptr()) }; if id == __NR_SCMP_ERROR { @@ -31,7 +31,7 @@ fn init(act: u32) -> Result<*mut scmp_filter_ctx> { } } -fn arch_add(ctx: *mut scmp_filter_ctx, arch: scmp_arch) -> ::Result { +fn arch_add(ctx: *mut scmp_filter_ctx, arch: scmp_arch) -> crate::Result { let id = unsafe { seccomp_arch_add(ctx, arch as u32) }; if id == __NR_SCMP_ERROR { let msg = format!("could not add arch {:?}", arch); @@ -87,7 +87,7 @@ fn load(ctx: *mut scmp_filter_ctx) -> Result<()> { } } -pub fn initialize_seccomp(seccomp: &LinuxSeccomp) -> ::Result<()> { +pub fn initialize_seccomp(seccomp: &LinuxSeccomp) -> crate::Result<()> { let ctx = init(seccomp.default_action as u32)?; // set control NoNewPrivs to false, as we deal with it separately attr_set(ctx, scmp_filter_attr::SCMP_FLTATR_CTL_NNP, false as u32)?; diff --git a/src/selinux.rs b/src/selinux.rs index 78988e9..91a6d76 100644 --- a/src/selinux.rs +++ b/src/selinux.rs @@ -1,8 +1,8 @@ -use errors::*; +use crate::errors::*; use nix::fcntl::{open, OFlag}; use nix::sys::stat::Mode; use nix::unistd::{close, write}; -use nix_ext::lsetxattr; +use crate::nix_ext::lsetxattr; use std::ffi::CString; const EXEC_PATH: &'static str = "/proc/self/attr/exec"; diff --git a/src/signals.rs b/src/signals.rs index f439bdc..c591865 100644 --- a/src/signals.rs +++ b/src/signals.rs @@ -1,4 +1,4 @@ -use errors::*; +use crate::errors::*; use libc::c_int; use nix::sys::signal::{kill, raise, sigaction}; use nix::sys::signal::{SaFlags, SigAction, SigHandler, SigSet, Signal};