Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
Note that this is a case where Android's tool isn't the same as the
usual tool. Ours takes an explicit file containing the policy to be
loaded. restorecon is at least command-line compatible, but the
implementation is all in Android's libselinux where there's a
selinux_android_restorecon function.
|
|
|
|
|
|
|
|
Also, coreutils says "s" instead of "seconds". POSIX specifies the
format of the previous two lines, but doesn't even mention this line.
|
|
As internal needs, Ranjan Kumar (ranjankumar.bth at gmail.com) added hotplug
feature into mdev.
|
|
I think that it is better to check tf->logfd before doing
truncate()/write() and getting error.
|
|
|
|
|
|
|
|
%o is unsigned, but off_t is signed.
* takes an int.
an error_msg call was missing an argument.
only one of these is an actual error, but i'd like to fix the others
too so that we (toybox, but if not, then Android) can turn on format
string warnings to prevent future bugs like the stat.c LP32 ones.
|
|
|
|
|
|
|
|
|
|
Inline open_wall_clock_rtc() into rtc_open(), factor out xtzset(),
inline set_sysclock_from_hwclock(), set_hwclock_from_sysclock(),
and set_sysclock_timezone().
/etc/adjtime is short enough we don't need to bother with a break.
The final "else" case in main() should always trigger because >0 in optstr
says "at most zero arguments", so the || at the end is always true, so
take the test off.
|
|
|
|
|
|
don't need a separate xexec_optargs().
|
|
Needs more testing, don't have a test environment set up for this yet...
|
|
the list.
|
|
|
|
|
|
For systems using /dev/rtcN, /dev/rtc0 isn't necessarily the RTC
that's used to provide the system time at boot time. We need to search
for the RTC whose /sys/class/rtc/rtcN/hctosys contains "1".
|
|
|
|
the SELinux commands (such as chcon) and the SELinux-specific options
to regular commands (such as ls -Z).
This lets us #include <selinux/selinux.h> in portability.h.
I've also fixed chcon to insist on being given the a context argument.
This patch also adds -Z to id and fixes id's regular output (-G should
be separated by spaces, non-G output should be separated by commas,
and you don't want a double comma where the egid is omitted from the
list of groups).
|
|
|
|
|
|
Alas, passing a union as the last argument to printf does not appear to work
reliably, and there's no obvious way to manually assemble varargs in a portable
manner. So I have to repeat the printf once for each data type. Oh well.
|
|
|
|
Fixes bug introduced last time where toys.optargs was both snapshotted and used
directly and the two fell out of sync.
|
|
|
|
|
|
|
|
|
|
|
|
macros for a disabled command (needed when multiple commands share infrastructure with a common set of flags).
This means the flag space is no longer packed, but leaves gaps where the zeroes
go. (Actual flag bit positions are the same for all configs.) Since the
option parsing needs to know where the holes are, the OPTSTR values are
now generated as part of flags.h with ascii 1 values for the disabled values.
(So generated/oldflags.h went away.)
This also means that the option string argument for OLDTOY() went away, it now
uses the same arguments as the NEWTOY() it references.
|
|
|
|
|
|
|
|
two more easy SELinux commands:
|
|
|
|
|
|
1) Newline in -e after s/// was eaten as "whitespace before flags"
2) \\ needs to be passed through to regex to avoid "trailing \" error and
"\\n" is not a newline.
|
|
The s/// command would copy the \ of substitutions before deciding what to
do with them (generally overwriting the \ with the new data). When the
substitution was A) at the very end of the new string, B) resolved to nothing,
it could leave a trailing \ that didn't belong there and didn't get overwritten
because the "copy trailing data" part that copies the original string's null
terminator already happened before the \ overwrote it.
The ghostwheel() function restarts regexes after embedded NUL bytes, but
if the string it's passed is _longer_ than the length it's told then it
gets confused (and it means we're off the end of our allocation so segfaults
are likely).
Fix: test for \ first and move the "copy byte" logic into an else case.
|
|
|