Yu Watanabe
07d8c0eb1e
fileio: add READ_FULL_FILE_UNBASE64 flag for read_full_file_full()
2019-04-09 15:50:22 +09:00
Yu Watanabe
50caae7b92
fileio: read_full_file_full() also warns when file is world readable and secure flag is set
2019-04-09 15:50:22 +09:00
Yu Watanabe
7a309a8c63
fileio: introduce warn_file_is_world_accessible()
2019-04-09 15:50:22 +09:00
Yu Watanabe
15f8f026cf
util: introduce READ_FULL_FILE_SECURE flag for reading secure data
2019-04-09 15:50:16 +09:00
Lennart Poettering
dc90e0faae
basic: add new helper call empty_or_dash_to_null()
...
We have a function like this at two places already. Let's unify it in
one generic location and let's port a number of users over.
2019-04-08 12:11:11 +02:00
Lennart Poettering
e7b88b7bc1
tree-wide: introduce empty_or_dash() helper
...
At quite a few places we check isempty() || streq(…, "-"), let's add a
helper to simplify that, and replace that by a single function call.
2019-04-08 12:03:33 +02:00
Yu Watanabe
2432d09c7a
util: extend unbase64mem() to accept secure flag
...
When the flag is set, buffer is cleared on failure.
2019-04-08 03:43:00 +09:00
Zbigniew Jędrzejewski-Szmek
6bfb1daff1
basic/log: log any available location information in log_syntax()
...
We would log "(null):0: Failed to parse system call, ignoring: rseq" from
log_syntax_internal() from log_syntax() from seccomp_parse_syscall_filter_full()
from seccomp_parse_syscall_filter() from config_parse_syscall_filter(),
when generating the built-in @default whitelist. Since it was not based on the
unit file, we would not pass a file name.
So let's make sure that log_syntax() does not print "(null)" pointer (which is
iffy and ugly), and use the unit name as fallback or nothing if both are missing.
In principle, one of the two should be always available, since why use log_syntax()
otherwise, but let's make things more resilient by guarding against this case too.
log_syntax() is called from a thousand places, and often in error path, so it's
hard to verify all callers.
2019-04-03 09:13:37 +02:00
Lennart Poettering
0c21dafb54
util-lib: use FLAGS_SET() where appropriate
2019-04-02 14:54:38 +02:00
Yu Watanabe
3f8f021541
Merge pull request #12030 from poettering/condition-memory
...
add ConditionCPUs= + ConditionMemory=
2019-04-02 08:01:42 +09:00
Lennart Poettering
c2f64c07c1
rm-rf: refuse combining REMOVE_ONLY_DIRECTORIES and REMOVE_SUBVOLUME for now
...
It's not easy to implement such a combined operation race-freely since
dropping a subvolume will drop all its contents, including any
non-directories.
Hence, let's just not support this combination for now. Which isn't much
of a loss, since we never combine these flags anyway.
2019-04-02 05:40:05 +09:00
Lennart Poettering
b6cceaae30
fs-util: suppress world-writable warnings if we read /dev/null
...
Fixes : #12165
2019-04-01 22:07:41 +02:00
Lennart Poettering
d629ba7045
tmpfiles: move full chattr flag set to chattr-util.h
...
It's a pretty generic concept and fits will there, hence let's move it.
2019-03-28 18:43:05 +01:00
Lennart Poettering
8a016c746e
util-lib: when copying files make sure to apply some chattrs early, some late
...
Some chattrs only work sensible if you set them right after opening a
file for create (think: FS_NOCOW_FL). Others only work when they are
applied when the file is fully written (think: FS_IMMUTABLE_FL). Let's
take that into account when copying files and applying a chattr to them.
2019-03-28 18:43:04 +01:00
Lennart Poettering
c3272fd4df
missing: add FS_PROJINHERIT_FL
...
It's available since kernel 4.5, but not in older kernels.
2019-03-28 18:43:04 +01:00
Zbigniew Jędrzejewski-Szmek
10c353e1c5
Remove variable only used for an assert
...
When compiled with -DNDEBUG, we get warnings about set-but-unused variables.
In general, it's not something we care about, but since removing those
variables arguably makes the code nicer, let's just to it in this case.
2019-03-28 09:03:06 +01:00
Lennart Poettering
36dbf97170
Merge pull request #12119 from keszybz/voidify-mkdir-p
...
Voidify mkdir_p() and normalize util.h includes
2019-03-27 15:05:51 +01:00
Lennart Poettering
1fd4c4edce
terminal-util: add paranoid overflow check
2019-03-27 12:43:34 +01:00
Lennart Poettering
f171decd3f
terminal-util: modernize things with TAKE_PTR a bit
2019-03-27 12:43:34 +01:00
Zbigniew Jędrzejewski-Szmek
ca78ad1de9
headers: remove unneeded includes from util.h
...
This means we need to include many more headers in various files that simply
included util.h before, but it seems cleaner to do it this way.
2019-03-27 11:53:12 +01:00
Lennart Poettering
adca059d55
Merge pull request #12044 from keszybz/ttyname-malloc-simplification
...
util-lib: use a fixed buffer size for terminal path
2019-03-26 10:05:29 +01:00
Lennart Poettering
b82f71c7ff
tree-wide: constify a few static string tables
2019-03-25 14:04:34 +01:00
Zbigniew Jędrzejewski-Szmek
094eecd29d
Merge pull request #12055 from poettering/save-argc-argv
...
main-func.h and systemctl argc/argv improvements
2019-03-22 16:58:18 +01:00
Lennart Poettering
63c691c648
string-table: use string_table_lookup() in our own macros everywhere
2019-03-22 12:21:12 +01:00
Lennart Poettering
36fea15565
util: introduce save_argc_argv() helper
2019-03-21 18:08:56 +01:00
Yu Watanabe
f6d6d53237
log: expose log_object_internalv()
2019-03-21 23:37:39 +09:00
Zbigniew Jędrzejewski-Szmek
fa28e4e377
Merge pull request #12059 from poettering/nspawn-typos
...
some typo and other fixes result of the OCI nspawn merge
2019-03-21 15:14:11 +01:00
Lennart Poettering
c3d13d2ad5
Merge pull request #12058 from keszybz/oci-simplifications
...
Follow-ups for nspawn-oci review
2019-03-21 13:55:09 +01:00
Lennart Poettering
46eda04373
capability: also cap CAP_LAST_CAP at 63
2019-03-21 12:37:30 +01:00
Lennart Poettering
664ff517d3
capability: typo fix
2019-03-21 12:31:36 +01:00
Lennart Poettering
246bb37044
capability: use UINT64_C() where appropriate
2019-03-21 12:31:29 +01:00
Lennart Poettering
bff749416e
capability: minimize scope of a few variables
2019-03-21 12:31:14 +01:00
Lennart Poettering
15ce3f2664
capability: minor coding style updates
2019-03-21 12:30:49 +01:00
Lennart Poettering
d09a25855f
capability: add missing ')'
...
As pointed out by @polarina
https://github.com/systemd/systemd/commit/d0b6a10c005ab1fff44d032be995e3f2bcfba225#commitcomment-32857641
2019-03-21 12:29:18 +01:00
Zbigniew Jędrzejewski-Szmek
6757a01356
util-lib: get rid of a helper variable
2019-03-21 11:08:58 +01:00
Zbigniew Jędrzejewski-Szmek
f1531db5af
nspawn-oci: add helper function for free_and_strdup with oom check
2019-03-21 11:08:58 +01:00
Zbigniew Jędrzejewski-Szmek
d0b6a10c00
Merge pull request #9762 from poettering/nspawn-oci
...
OCI runtime support for nspawn
2019-03-21 11:01:53 +01:00
Zbigniew Jędrzejewski-Szmek
a49945e663
Merge pull request #12033 from fbuihuu/watched-process-improvments
...
Watched process improvments
2019-03-20 13:03:06 +01:00
Zbigniew Jędrzejewski-Szmek
ec7b77642c
Merge pull request #12047 from poettering/cryptsetup-fixlets
...
some small cryptsetup, ask-password and allocation fixlets
2019-03-20 13:02:34 +01:00
Zbigniew Jędrzejewski-Szmek
45ce112002
Merge pull request #12024 from poettering/bindtoifindex
...
use SO_BINDTOIFINDEX where appropriate
2019-03-20 11:16:51 +01:00
Franck Bui
4d05154600
process-util: introduce pid_is_my_child() helper
...
No functional changes.
2019-03-20 10:51:49 +01:00
Lennart Poettering
32ae18206f
alloc-util: typo fix
2019-03-20 10:48:33 +01:00
Lennart Poettering
d4b604baea
alloc-util: use malloc_usable_size() to determine allocated size
...
It's a glibc-specific API, but supported on FreeBSD and musl too at
least, hence fairly common. This way we can reduce our calls to
realloc() as much as possible.
2019-03-20 10:48:33 +01:00
Lennart Poettering
23964f7faf
alloc-util: add extra overflow checks to GREEDY_REALLOC()
2019-03-20 10:48:33 +01:00
Lennart Poettering
e5e21a0507
alloc-util: extra paranoid overflow check
2019-03-20 10:48:33 +01:00
Lennart Poettering
e1ed99c8c8
ask-password: erase character read with _cleanup_
...
This is much nicer, since it means we erase the character regardless how
we exit the scope.
2019-03-20 10:48:33 +01:00
Zbigniew Jędrzejewski-Szmek
dc502f8916
Merge pull request #12034 from poettering/stdio-bridge-fixes
...
small stdio-bridge and errno-util.h improvements and fixes
2019-03-20 10:46:32 +01:00
Zbigniew Jędrzejewski-Szmek
30222f4b2c
util-lib: use a fixed buffer size for terminal path
...
The loop around ttyname_r() makes it look like we use unbounded stack
allocations. We know that that paths have a maximum size, so let's simplify
the whole thing.
Replaces #12043 .
2019-03-20 09:36:45 +01:00
Lennart Poettering
30ff18d8a2
fs-util: change chmod_and_chown() to not complain if stat data already matches
...
Let's reduce the chance of failure: if we can't apply the chmod/chown
requested, check if it's applied anyway, and if so, supress the error.
This is even race-free since we operate on an O_PATH fd anyway.
2019-03-19 16:52:28 +01:00
Lennart Poettering
20ee849d57
process-util: add new helper cpus_in_affinity_mask()
...
Let's add a new helper for determining how many CPUs are configured for
us
2019-03-19 15:55:07 +01:00