aboutsummaryrefslogtreecommitdiff
path: root/lib/lsm.h
AgeCommit message (Collapse)Author
2019-06-08macOS: numerous fixes.Elliott Hughes
This patch adds a BSD version of xgetmountlist (for the path == NULL case only), tested on macOS. It also papers over the differences between macOS' and Linux's xattr APIs. For once I think the macOS one is better. The imitation of mknodat I've had to write swings things back in Linux's favor though. BSD calls f_frsize by the name f_iosize instead. (FWIW, it looks like this is meaningless on Linux and actually meaningful on macOS.) I've added one #if to toys/ --- I'm calling pathconf in stat.c to work around the absence of f_namelen, and have left a TODO with an explanation. I'm not sure what the best fix is here, so punting. No-one can agree what f_fsid is, even if they're all basically the same, so work around the `val` versus `__val` issue between macOS and Linux. With this patch, it's now possible to build cp/mv/install and stat for macOS too. (Which completes the set of "toybox commands currently used on Linux as part of the AOSP build" if you ignore stuff that deals with processes, which I doubt we'll ever be able to support for lack of any API.)
2019-01-08Ed Maste says freebsd hasn't got sys/xattr.h, so move it to portability.h.Rob Landley
2018-09-08Tweaks to make building with Android NDK's llvm happier.Rob Landley
2016-08-02Fix warning: 'XATTR_NAME_SMACK' macro redefined.Elliott Hughes
Recent Linux uapi <linux/xattr.h> headers define XATTR_NAME_SMACK. The <sys/xattr.h> include at the top of lib/lsm.h means that even though the direct include of <linux/xattr.h> is guarded, it may have already happened transitively anyway. (The alternative fixes would be to hard-code the correct value for XATTR_NAME_SMACK here instead, or #undef XATTR_NAME_SMACK.)
2016-03-12The xattr functions were added during the 2.5 kernel, lsm.h can #include theRob Landley
header unconditionally. (This fixes the warning when CP_PRESERVE disabled.)
2016-02-10Wean scripts/install.c off toys.h so cross compiling less brittle.Rob Landley
2015-11-02Don't pass target $CFLAGS to host builds (telling x86 compiler to be big-endianRob Landley
seldom ends well). Instead add -DBUILD_FOR_HOST to $HOSTCC and wrap #ifdefs around problematic (smack) includes from toys.h.
2015-05-28Attempt to fix the mkdir LSM race.Rob Landley
Doing a world writeable mkdir and _then_ adding a label seems like a race window, so set the global "create stuff with these labels" context, then do the creates.
2015-05-18Switch id over to new infrastructure, switch id to use FORCE_FLAGS, andRob Landley
make lib/lsm.h auto-include from toys.h.
2015-05-18More ls -Z upgrading. Move TOYBOX_SELINUX and TOYBOX_SMACK support fromRob Landley
portability.h to new lib/lsm.h. Update ls.c to use it. Fix "ls . toys" (two directories when one is . or ..), which was filtering out the . as something we shouldn't recurse into even though it was explicitly listed on the command line. For some reason "ls -Z . toys" is still segfaulting though (but "ls -Z ." isn't), need to figure out why...