mirror of
https://github.com/systemd/systemd
synced 2024-09-06 16:56:43 +00:00
commit
40ebe49259
2
TODO
2
TODO
|
@ -646,7 +646,7 @@ Features:
|
||||||
parameters
|
parameters
|
||||||
|
|
||||||
* maybe hook of xfs/ext4 quotactl() with services? i.e. automatically manage
|
* maybe hook of xfs/ext4 quotactl() with services? i.e. automatically manage
|
||||||
the quota of a the user indicated in User= via unit file settings, like the
|
the quota of the user indicated in User= via unit file settings, like the
|
||||||
other resource management concepts. Would mix nicely with DynamicUser=1. Or
|
other resource management concepts. Would mix nicely with DynamicUser=1. Or
|
||||||
alternatively, do this with projids, so that we can also cover services
|
alternatively, do this with projids, so that we can also cover services
|
||||||
running as root. Quota should probably cover all the special dirs such as
|
running as root. Quota should probably cover all the special dirs such as
|
||||||
|
|
|
@ -59,7 +59,7 @@
|
||||||
message is no longer needed. If <parameter>ret</parameter> is not <constant>NULL</constant>, progress was made, but no message was
|
message is no longer needed. If <parameter>ret</parameter> is not <constant>NULL</constant>, progress was made, but no message was
|
||||||
processed, <parameter>*ret</parameter> is set to <constant>NULL</constant>.</para>
|
processed, <parameter>*ret</parameter> is set to <constant>NULL</constant>.</para>
|
||||||
|
|
||||||
<para>If a the bus object is connected to an
|
<para>If the bus object is connected to an
|
||||||
<citerefentry><refentrytitle>sd-event</refentrytitle><manvolnum>3</manvolnum></citerefentry> event loop (with
|
<citerefentry><refentrytitle>sd-event</refentrytitle><manvolnum>3</manvolnum></citerefentry> event loop (with
|
||||||
<citerefentry><refentrytitle>sd_bus_attach_event</refentrytitle><manvolnum>3</manvolnum></citerefentry>), it is not
|
<citerefentry><refentrytitle>sd_bus_attach_event</refentrytitle><manvolnum>3</manvolnum></citerefentry>), it is not
|
||||||
necessary to call <function>sd_bus_process()</function> directly as it is invoked automatically when
|
necessary to call <function>sd_bus_process()</function> directly as it is invoked automatically when
|
||||||
|
|
|
@ -132,7 +132,7 @@
|
||||||
<para>The string can be prefixed with a lowercase e (e"string\n") to mark the string as
|
<para>The string can be prefixed with a lowercase e (e"string\n") to mark the string as
|
||||||
<ulink url="https://en.wikipedia.org/wiki/Escape_sequences_in_C#Table_of_escape_sequences">C-style escaped</ulink>.
|
<ulink url="https://en.wikipedia.org/wiki/Escape_sequences_in_C#Table_of_escape_sequences">C-style escaped</ulink>.
|
||||||
For example, e"string\n" is parsed as 7 characters: 6 lowercase letters and a newline.
|
For example, e"string\n" is parsed as 7 characters: 6 lowercase letters and a newline.
|
||||||
This can be useful for writting special characters when a kernel driver requires them.</para>
|
This can be useful for writing special characters when a kernel driver requires them.</para>
|
||||||
|
|
||||||
<para>Please note that <constant>NUL</constant> is not allowed in either string variant.</para>
|
<para>Please note that <constant>NUL</constant> is not allowed in either string variant.</para>
|
||||||
</refsect2>
|
</refsect2>
|
||||||
|
|
|
@ -1875,9 +1875,8 @@ int cg_mask_supported(CGroupMask *ret) {
|
||||||
if (r > 0) {
|
if (r > 0) {
|
||||||
_cleanup_free_ char *root = NULL, *controllers = NULL, *path = NULL;
|
_cleanup_free_ char *root = NULL, *controllers = NULL, *path = NULL;
|
||||||
|
|
||||||
/* In the unified hierarchy we can read the supported
|
/* In the unified hierarchy we can read the supported and accessible controllers from
|
||||||
* and accessible controllers from a the top-level
|
* the top-level cgroup attribute */
|
||||||
* cgroup attribute */
|
|
||||||
|
|
||||||
r = cg_get_root_path(&root);
|
r = cg_get_root_path(&root);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
|
|
|
@ -810,7 +810,7 @@ int chase_symlinks(const char *path, const char *original_root, unsigned flags,
|
||||||
*
|
*
|
||||||
* 3. With CHASE_STEP: in this case only a single step of the normalization is executed, i.e. only the first
|
* 3. With CHASE_STEP: in this case only a single step of the normalization is executed, i.e. only the first
|
||||||
* symlink or ".." component of the path is resolved, and the resulting path is returned. This is useful if
|
* symlink or ".." component of the path is resolved, and the resulting path is returned. This is useful if
|
||||||
* a caller wants to trace the a path through the file system verbosely. Returns < 0 on error, > 0 if the
|
* a caller wants to trace the path through the file system verbosely. Returns < 0 on error, > 0 if the
|
||||||
* path is fully normalized, and == 0 for each normalization step. This may be combined with
|
* path is fully normalized, and == 0 for each normalization step. This may be combined with
|
||||||
* CHASE_NONEXISTENT, in which case 1 is returned when a component is not found.
|
* CHASE_NONEXISTENT, in which case 1 is returned when a component is not found.
|
||||||
*
|
*
|
||||||
|
|
|
@ -1380,7 +1380,7 @@ static int nsec3_hashed_domain_make(DnsResourceRecord *nsec3, const char *domain
|
||||||
* matches the wildcard domain.
|
* matches the wildcard domain.
|
||||||
*
|
*
|
||||||
* Based on this we can prove either the existence of the record in @key, or NXDOMAIN or NODATA, or
|
* Based on this we can prove either the existence of the record in @key, or NXDOMAIN or NODATA, or
|
||||||
* that there is no proof either way. The latter is the case if a the proof of non-existence of a given
|
* that there is no proof either way. The latter is the case if a proof of non-existence of a given
|
||||||
* name uses an NSEC3 record with the opt-out bit set. Lastly, if we are given insufficient NSEC3 records
|
* name uses an NSEC3 record with the opt-out bit set. Lastly, if we are given insufficient NSEC3 records
|
||||||
* to conclude anything we indicate this by returning NO_RR. */
|
* to conclude anything we indicate this by returning NO_RR. */
|
||||||
static int dnssec_test_nsec3(DnsAnswer *answer, DnsResourceKey *key, DnssecNsecResult *result, bool *authenticated, uint32_t *ttl) {
|
static int dnssec_test_nsec3(DnsAnswer *answer, DnsResourceKey *key, DnssecNsecResult *result, bool *authenticated, uint32_t *ttl) {
|
||||||
|
|
|
@ -2117,7 +2117,7 @@ int dns_transaction_request_dnssec_keys(DnsTransaction *t) {
|
||||||
return r;
|
return r;
|
||||||
if (r == 0) {
|
if (r == 0) {
|
||||||
/* Hmm, so this SOA RR doesn't match our original question. In this case, maybe this is
|
/* Hmm, so this SOA RR doesn't match our original question. In this case, maybe this is
|
||||||
* a negative reply, and we need the a SOA RR's TTL in order to cache a negative entry?
|
* a negative reply, and we need the SOA RR's TTL in order to cache a negative entry?
|
||||||
* If so, we need to validate it, too. */
|
* If so, we need to validate it, too. */
|
||||||
|
|
||||||
r = dns_answer_match_key(t->answer, t->key, NULL);
|
r = dns_answer_match_key(t->answer, t->key, NULL);
|
||||||
|
|
|
@ -35,7 +35,7 @@ typedef enum ConfigParseFlags {
|
||||||
/* Prototype for a parser for a specific configuration setting */
|
/* Prototype for a parser for a specific configuration setting */
|
||||||
typedef int (*ConfigParserCallback)(CONFIG_PARSER_ARGUMENTS);
|
typedef int (*ConfigParserCallback)(CONFIG_PARSER_ARGUMENTS);
|
||||||
|
|
||||||
/* A macro declaring the a function prototype, following the typedef above, simply because it's so cumbersomely long
|
/* A macro declaring a function prototype, following the typedef above, simply because it's so cumbersomely long
|
||||||
* otherwise. (And current emacs gets irritatingly slow when editing files that contain lots of very long function
|
* otherwise. (And current emacs gets irritatingly slow when editing files that contain lots of very long function
|
||||||
* prototypes on the same screen…) */
|
* prototypes on the same screen…) */
|
||||||
#define CONFIG_PARSER_PROTOTYPE(name) int name(CONFIG_PARSER_ARGUMENTS)
|
#define CONFIG_PARSER_PROTOTYPE(name) int name(CONFIG_PARSER_ARGUMENTS)
|
||||||
|
|
|
@ -2062,7 +2062,7 @@ bool user_record_compatible(UserRecord *a, UserRecord *b) {
|
||||||
assert(a);
|
assert(a);
|
||||||
assert(b);
|
assert(b);
|
||||||
|
|
||||||
/* If either lacks a the regular section, we can't really decide, let's hence say they are
|
/* If either lacks the regular section, we can't really decide, let's hence say they are
|
||||||
* incompatible. */
|
* incompatible. */
|
||||||
if (!(a->mask & b->mask & USER_RECORD_REGULAR))
|
if (!(a->mask & b->mask & USER_RECORD_REGULAR))
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -415,7 +415,7 @@ KERNEL=="ttyACM0", SYMLINK+="modem"
|
||||||
EOF
|
EOF
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
desc => "sustitution of sysfs value (%s{file})",
|
desc => "substitution of sysfs value (%s{file})",
|
||||||
devices => [
|
devices => [
|
||||||
{
|
{
|
||||||
devpath => "/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda",
|
devpath => "/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda",
|
||||||
|
|
Loading…
Reference in a new issue