tree-wide: clean up log_syntax() usage
- Rely everywhere that we use abs() on the error code passed in anyway, thus don't need to explicitly negate what we pass in - Never attach synthetic error number information to log messages. Only log about errors we *receive* with the error number we got there, don't log any synthetic error, that don#t even propagate, but just eat up. - Be more careful with attaching exactly the error we get, instead of errno or unrelated errors randomly. - Fix one occasion where the error number and line number got swapped. - Make sure we never tape over OOM issues, or inability to resolve specifiers
This commit is contained in:
+15
-16
@@ -2602,30 +2602,28 @@ int parse_cpu_set(
|
||||
|
||||
r = extract_first_word(&rvalue, &word, WHITESPACE, EXTRACT_QUOTES);
|
||||
if (r < 0) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, r,
|
||||
"Invalid value for %s: %s", lvalue, whole_rvalue);
|
||||
log_syntax(unit, LOG_ERR, filename, line, r, "Invalid value for %s: %s", lvalue, whole_rvalue);
|
||||
return r;
|
||||
}
|
||||
if (r == 0)
|
||||
break;
|
||||
|
||||
r = safe_atou(word, &cpu);
|
||||
|
||||
if (!c)
|
||||
if (!(c = cpu_set_malloc(&ncpus)))
|
||||
if (!c) {
|
||||
c = cpu_set_malloc(&ncpus);
|
||||
if (!c)
|
||||
return log_oom();
|
||||
}
|
||||
|
||||
r = safe_atou(word, &cpu);
|
||||
if (r < 0 || cpu >= ncpus) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, -r,
|
||||
"Failed to parse CPU affinity '%s'", rvalue);
|
||||
return -EBADMSG;
|
||||
log_syntax(unit, LOG_ERR, filename, line, r, "Failed to parse CPU affinity '%s'", rvalue);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
CPU_SET_S(cpu, CPU_ALLOC_SIZE(ncpus), c);
|
||||
}
|
||||
if (!isempty(rvalue))
|
||||
log_syntax(unit, LOG_ERR, filename, line, EINVAL,
|
||||
"Trailing garbage, ignoring.");
|
||||
log_syntax(unit, LOG_ERR, filename, line, 0, "Trailing garbage, ignoring.");
|
||||
|
||||
/* On success, sets *cpu_set and returns ncpus for the system. */
|
||||
if (c) {
|
||||
@@ -6070,6 +6068,7 @@ int extract_first_word_and_warn(
|
||||
const char *filename,
|
||||
unsigned line,
|
||||
const char *rvalue) {
|
||||
|
||||
/* Try to unquote it, if it fails, warn about it and try again but this
|
||||
* time using EXTRACT_CUNESCAPE_RELAX to keep the backslashes verbatim
|
||||
* in invalid escape sequences. */
|
||||
@@ -6078,17 +6077,17 @@ int extract_first_word_and_warn(
|
||||
|
||||
save = *p;
|
||||
r = extract_first_word(p, ret, separators, flags);
|
||||
if (r < 0 && !(flags&EXTRACT_CUNESCAPE_RELAX)) {
|
||||
if (r < 0 && !(flags & EXTRACT_CUNESCAPE_RELAX)) {
|
||||
|
||||
/* Retry it with EXTRACT_CUNESCAPE_RELAX. */
|
||||
*p = save;
|
||||
r = extract_first_word(p, ret, separators, flags|EXTRACT_CUNESCAPE_RELAX);
|
||||
if (r < 0)
|
||||
log_syntax(unit, LOG_ERR, filename, line, EINVAL,
|
||||
"Unbalanced quoting in command line, ignoring: \"%s\"", rvalue);
|
||||
log_syntax(unit, LOG_ERR, filename, line, r, "Unbalanced quoting in command line, ignoring: \"%s\"", rvalue);
|
||||
else
|
||||
log_syntax(unit, LOG_WARNING, filename, line, EINVAL,
|
||||
"Invalid escape sequences in command line: \"%s\"", rvalue);
|
||||
log_syntax(unit, LOG_WARNING, filename, line, 0, "Invalid escape sequences in command line: \"%s\"", rvalue);
|
||||
}
|
||||
|
||||
return r;
|
||||
}
|
||||
|
||||
|
||||
+159
-246
File diff suppressed because it is too large
Load Diff
+2
-4
@@ -497,8 +497,7 @@ static int config_parse_show_status(
|
||||
|
||||
k = parse_show_status(rvalue, b);
|
||||
if (k < 0) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, -k,
|
||||
"Failed to parse show status setting, ignoring: %s", rvalue);
|
||||
log_syntax(unit, LOG_ERR, filename, line, k, "Failed to parse show status setting, ignoring: %s", rvalue);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -629,8 +628,7 @@ static int config_parse_join_controllers(const char *unit,
|
||||
}
|
||||
}
|
||||
if (!isempty(rvalue))
|
||||
log_syntax(unit, LOG_ERR, filename, line, EINVAL,
|
||||
"Trailing garbage, ignoring.");
|
||||
log_syntax(unit, LOG_ERR, filename, line, 0, "Trailing garbage, ignoring.");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -196,8 +196,7 @@ int config_parse_ifname(const char *unit,
|
||||
return log_oom();
|
||||
|
||||
if (!ascii_is_valid(n) || strlen(n) >= IFNAMSIZ) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, EINVAL,
|
||||
"Interface name is not ASCII clean or is too long, ignoring assignment: %s", rvalue);
|
||||
log_syntax(unit, LOG_ERR, filename, line, 0, "Interface name is not ASCII clean or is too long, ignoring assignment: %s", rvalue);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -240,8 +239,7 @@ int config_parse_ifnames(const char *unit,
|
||||
return log_oom();
|
||||
|
||||
if (!ascii_is_valid(n) || strlen(n) >= IFNAMSIZ) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, EINVAL,
|
||||
"Interface name is not ASCII clean or is too long, ignoring assignment: %s", rvalue);
|
||||
log_syntax(unit, LOG_ERR, filename, line, 0, "Interface name is not ASCII clean or is too long, ignoring assignment: %s", rvalue);
|
||||
free(n);
|
||||
return 0;
|
||||
}
|
||||
@@ -278,8 +276,7 @@ int config_parse_ifalias(const char *unit,
|
||||
return log_oom();
|
||||
|
||||
if (!ascii_is_valid(n) || strlen(n) >= IFALIASZ) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, EINVAL,
|
||||
"Interface alias is not ASCII clean or is too long, ignoring assignment: %s", rvalue);
|
||||
log_syntax(unit, LOG_ERR, filename, line, 0, "Interface alias is not ASCII clean or is too long, ignoring assignment: %s", rvalue);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -324,8 +321,7 @@ int config_parse_hwaddr(const char *unit,
|
||||
&n->ether_addr_octet[4],
|
||||
&n->ether_addr_octet[5]);
|
||||
if (r != 6) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, EINVAL,
|
||||
"Not a valid MAC address, ignoring assignment: %s", rvalue);
|
||||
log_syntax(unit, LOG_ERR, filename, line, 0, "Not a valid MAC address, ignoring assignment: %s", rvalue);
|
||||
free(n);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -868,12 +868,12 @@ int config_parse_tmpfs_size(
|
||||
errno = 0;
|
||||
ul = strtoul(rvalue, &f, 10);
|
||||
if (errno != 0 || f != e) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, errno ? errno : EINVAL, "Failed to parse percentage value, ignoring: %s", rvalue);
|
||||
log_syntax(unit, LOG_ERR, filename, line, errno, "Failed to parse percentage value, ignoring: %s", rvalue);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (ul <= 0 || ul >= 100) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, errno ? errno : EINVAL, "Percentage value out of range, ignoring: %s", rvalue);
|
||||
log_syntax(unit, LOG_ERR, filename, line, 0, "Percentage value out of range, ignoring: %s", rvalue);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -883,7 +883,7 @@ int config_parse_tmpfs_size(
|
||||
|
||||
r = parse_size(rvalue, 1024, &k);
|
||||
if (r < 0 || (uint64_t) (size_t) k != k) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, r < 0 ? r : ERANGE, "Failed to parse size value, ignoring: %s", rvalue);
|
||||
log_syntax(unit, LOG_ERR, filename, line, r, "Failed to parse size value, ignoring: %s", rvalue);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -430,15 +430,13 @@ int config_parse_broadcast(
|
||||
return r;
|
||||
|
||||
if (n->family == AF_INET6) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, EINVAL,
|
||||
"Broadcast is not valid for IPv6 addresses, ignoring assignment: %s", rvalue);
|
||||
log_syntax(unit, LOG_ERR, filename, line, 0, "Broadcast is not valid for IPv6 addresses, ignoring assignment: %s", rvalue);
|
||||
return 0;
|
||||
}
|
||||
|
||||
r = in_addr_from_string(AF_INET, rvalue, (union in_addr_union*) &n->broadcast);
|
||||
if (r < 0) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, EINVAL,
|
||||
"Broadcast is invalid, ignoring assignment: %s", rvalue);
|
||||
log_syntax(unit, LOG_ERR, filename, line, r, "Broadcast is invalid, ignoring assignment: %s", rvalue);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -487,10 +485,10 @@ int config_parse_address(const char *unit,
|
||||
e = strchr(rvalue, '/');
|
||||
if (e) {
|
||||
unsigned i;
|
||||
|
||||
r = safe_atou(e + 1, &i);
|
||||
if (r < 0) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, EINVAL,
|
||||
"Prefix length is invalid, ignoring assignment: %s", e + 1);
|
||||
log_syntax(unit, LOG_ERR, filename, line, r, "Prefix length is invalid, ignoring assignment: %s", e + 1);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -502,23 +500,20 @@ int config_parse_address(const char *unit,
|
||||
|
||||
r = in_addr_from_string_auto(address, &f, &buffer);
|
||||
if (r < 0) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, EINVAL,
|
||||
"Address is invalid, ignoring assignment: %s", address);
|
||||
log_syntax(unit, LOG_ERR, filename, line, r, "Address is invalid, ignoring assignment: %s", address);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (!e && f == AF_INET) {
|
||||
r = in_addr_default_prefixlen(&buffer.in, &n->prefixlen);
|
||||
if (r < 0) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, EINVAL,
|
||||
"Prefix length not specified, and a default one can not be deduced for '%s', ignoring assignment", address);
|
||||
log_syntax(unit, LOG_ERR, filename, line, r, "Prefix length not specified, and a default one can not be deduced for '%s', ignoring assignment", address);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (n->family != AF_UNSPEC && f != n->family) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, EINVAL,
|
||||
"Address is incompatible, ignoring assignment: %s", address);
|
||||
log_syntax(unit, LOG_ERR, filename, line, 0, "Address is incompatible, ignoring assignment: %s", address);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -567,9 +562,7 @@ int config_parse_label(const char *unit,
|
||||
return log_oom();
|
||||
|
||||
if (!ascii_is_valid(label) || strlen(label) >= IFNAMSIZ) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, EINVAL,
|
||||
"Interface label is not ASCII clean or is too"
|
||||
" long, ignoring assignment: %s", rvalue);
|
||||
log_syntax(unit, LOG_ERR, filename, line, 0, "Interface label is not ASCII clean or is too long, ignoring assignment: %s", rvalue);
|
||||
free(label);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -197,7 +197,7 @@ int config_parse_fdb_hwaddr(
|
||||
&fdb_entry->mac_addr->ether_addr_octet[5]);
|
||||
|
||||
if (ETHER_ADDR_LEN != r) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, EINVAL, "Not a valid MAC address, ignoring assignment: %s", rvalue);
|
||||
log_syntax(unit, LOG_ERR, filename, line, 0, "Not a valid MAC address, ignoring assignment: %s", rvalue);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -357,12 +357,12 @@ int config_parse_arp_ip_target_address(const char *unit,
|
||||
|
||||
r = in_addr_from_string_auto(n, &f, &buffer->ip);
|
||||
if (r < 0) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, EINVAL, "Bond ARP ip target address is invalid, ignoring assignment: %s", n);
|
||||
log_syntax(unit, LOG_ERR, filename, line, r, "Bond ARP ip target address is invalid, ignoring assignment: %s", n);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (f != AF_INET) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, EINVAL, "Bond ARP ip target address is invalid, ignoring assignment: %s", n);
|
||||
log_syntax(unit, LOG_ERR, filename, line, 0, "Bond ARP ip target address is invalid, ignoring assignment: %s", n);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -373,7 +373,7 @@ int config_parse_arp_ip_target_address(const char *unit,
|
||||
}
|
||||
|
||||
if (b->n_arp_ip_targets > NETDEV_BOND_ARP_TARGETS_MAX)
|
||||
log_syntax(unit, LOG_WARNING, filename, line, EINVAL, "More than the maximum number of kernel-supported ARP ip targets specified: %d > %d", b->n_arp_ip_targets, NETDEV_BOND_ARP_TARGETS_MAX);
|
||||
log_syntax(unit, LOG_WARNING, filename, line, 0, "More than the maximum number of kernel-supported ARP ip targets specified: %d > %d", b->n_arp_ip_targets, NETDEV_BOND_ARP_TARGETS_MAX);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -395,12 +395,12 @@ int config_parse_tunnel_address(const char *unit,
|
||||
|
||||
r = in_addr_from_string_auto(rvalue, &f, &buffer);
|
||||
if (r < 0) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, EINVAL, "Tunnel address is invalid, ignoring assignment: %s", rvalue);
|
||||
log_syntax(unit, LOG_ERR, filename, line, r, "Tunnel address is invalid, ignoring assignment: %s", rvalue);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (t->family != AF_UNSPEC && t->family != f) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, EINVAL, "Tunnel addresses incompatible, ignoring assignment: %s", rvalue);
|
||||
log_syntax(unit, LOG_ERR, filename, line, 0, "Tunnel addresses incompatible, ignoring assignment: %s", rvalue);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -435,13 +435,14 @@ int config_parse_ipv6_flowlabel(const char* unit,
|
||||
t->flags |= IP6_TNL_F_USE_ORIG_FLOWLABEL;
|
||||
} else {
|
||||
r = config_parse_int(unit, filename, line, section, section_line, lvalue, ltype, rvalue, &k, userdata);
|
||||
if (r >= 0) {
|
||||
if (k > 0xFFFFF)
|
||||
log_syntax(unit, LOG_ERR, filename, line, k, "Failed to parse IPv6 flowlabel option, ignoring: %s", rvalue);
|
||||
else {
|
||||
*ipv6_flowlabel = htonl(k) & IP6_FLOWINFO_FLOWLABEL;
|
||||
t->flags &= ~IP6_TNL_F_USE_ORIG_FLOWLABEL;
|
||||
}
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
if (k > 0xFFFFF)
|
||||
log_syntax(unit, LOG_ERR, filename, line, 0, "Failed to parse IPv6 flowlabel option, ignoring: %s", rvalue);
|
||||
else {
|
||||
*ipv6_flowlabel = htonl(k) & IP6_FLOWINFO_FLOWLABEL;
|
||||
t->flags &= ~IP6_TNL_F_USE_ORIG_FLOWLABEL;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -471,13 +472,12 @@ int config_parse_encap_limit(const char* unit,
|
||||
else {
|
||||
r = safe_atoi(rvalue, &k);
|
||||
if (r < 0) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, r,
|
||||
"Failed to parse Tunnel Encapsulation Limit option, ignoring: %s", rvalue);
|
||||
log_syntax(unit, LOG_ERR, filename, line, r, "Failed to parse Tunnel Encapsulation Limit option, ignoring: %s", rvalue);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (k > 255 || k < 0)
|
||||
log_syntax(unit, LOG_ERR, filename, line, k, "Invalid Tunnel Encapsulation value, ignoring: %d", k);
|
||||
log_syntax(unit, LOG_ERR, filename, line, 0, "Invalid Tunnel Encapsulation value, ignoring: %d", k);
|
||||
else {
|
||||
t->encap_limit = k;
|
||||
t->flags &= ~IP6_TNL_F_IGN_ENCAP_LIMIT;
|
||||
|
||||
@@ -131,14 +131,12 @@ int config_parse_vxlan_group_address(const char *unit,
|
||||
|
||||
r = in_addr_from_string_auto(rvalue, &f, &buffer);
|
||||
if (r < 0) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, EINVAL,
|
||||
"vxlan multicast group address is invalid, ignoring assignment: %s", rvalue);
|
||||
log_syntax(unit, LOG_ERR, filename, line, r, "vxlan multicast group address is invalid, ignoring assignment: %s", rvalue);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(v->family != AF_UNSPEC && v->family != f) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, EINVAL,
|
||||
"vxlan multicast group incompatible, ignoring assignment: %s", rvalue);
|
||||
if (v->family != AF_UNSPEC && v->family != f) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, 0, "vxlan multicast group incompatible, ignoring assignment: %s", rvalue);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -409,21 +409,18 @@ int config_parse_netdev(const char *unit,
|
||||
|
||||
kind = netdev_kind_from_string(kind_string);
|
||||
if (kind == _NETDEV_KIND_INVALID) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, EINVAL,
|
||||
"Invalid NetDev kind: %s", lvalue);
|
||||
log_syntax(unit, LOG_ERR, filename, line, 0, "Invalid NetDev kind: %s", lvalue);
|
||||
return 0;
|
||||
}
|
||||
|
||||
r = netdev_get(network->manager, rvalue, &netdev);
|
||||
if (r < 0) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, EINVAL,
|
||||
"%s could not be found, ignoring assignment: %s", lvalue, rvalue);
|
||||
log_syntax(unit, LOG_ERR, filename, line, r, "%s could not be found, ignoring assignment: %s", lvalue, rvalue);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (netdev->kind != kind) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, EINVAL,
|
||||
"NetDev is not a %s, ignoring assignment: %s", lvalue, rvalue);
|
||||
log_syntax(unit, LOG_ERR, filename, line, 0, "NetDev is not a %s, ignoring assignment: %s", lvalue, rvalue);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -443,9 +440,7 @@ int config_parse_netdev(const char *unit,
|
||||
case NETDEV_KIND_VXLAN:
|
||||
r = hashmap_put(network->stacked_netdevs, netdev->ifname, netdev);
|
||||
if (r < 0) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, EINVAL,
|
||||
"Can not add VLAN '%s' to network: %m",
|
||||
rvalue);
|
||||
log_syntax(unit, LOG_ERR, filename, line, r, "Can not add VLAN '%s' to network: %m", rvalue);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -484,7 +479,7 @@ int config_parse_domains(const char *unit,
|
||||
|
||||
STRV_FOREACH(domain, *domains) {
|
||||
if (is_localhost(*domain))
|
||||
log_syntax(unit, LOG_ERR, filename, line, EINVAL, "'localhost' domain names may not be configured, ignoring assignment: %s", *domain);
|
||||
log_syntax(unit, LOG_ERR, filename, line, 0, "'localhost' domain names may not be configured, ignoring assignment: %s", *domain);
|
||||
else {
|
||||
r = dns_name_is_valid(*domain);
|
||||
if (r <= 0 && !streq(*domain, "*")) {
|
||||
@@ -540,7 +535,7 @@ int config_parse_tunnel(const char *unit,
|
||||
netdev->kind != NETDEV_KIND_VTI6 &&
|
||||
netdev->kind != NETDEV_KIND_IP6TNL
|
||||
) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, EINVAL,
|
||||
log_syntax(unit, LOG_ERR, filename, line, 0,
|
||||
"NetDev is not a tunnel, ignoring assignment: %s", rvalue);
|
||||
return 0;
|
||||
}
|
||||
@@ -625,7 +620,7 @@ int config_parse_dhcp(
|
||||
else if (streq(rvalue, "both"))
|
||||
s = ADDRESS_FAMILY_YES;
|
||||
else {
|
||||
log_syntax(unit, LOG_ERR, filename, line, s, "Failed to parse DHCP option, ignoring: %s", rvalue);
|
||||
log_syntax(unit, LOG_ERR, filename, line, 0, "Failed to parse DHCP option, ignoring: %s", rvalue);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@@ -670,13 +665,13 @@ int config_parse_ipv6token(
|
||||
}
|
||||
|
||||
r = in_addr_is_null(AF_INET6, &buffer);
|
||||
if (r < 0) {
|
||||
if (r != 0) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, r, "IPv6 token can not be the ANY address, ignoring: %s", rvalue);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if ((buffer.in6.s6_addr32[0] | buffer.in6.s6_addr32[1]) != 0) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, EINVAL, "IPv6 token can not be longer than 64 bits, ignoring: %s", rvalue);
|
||||
log_syntax(unit, LOG_ERR, filename, line, 0, "IPv6 token can not be longer than 64 bits, ignoring: %s", rvalue);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -730,7 +725,7 @@ int config_parse_ipv6_privacy_extensions(
|
||||
if (streq(rvalue, "kernel"))
|
||||
s = _IPV6_PRIVACY_EXTENSIONS_INVALID;
|
||||
else {
|
||||
log_syntax(unit, LOG_ERR, filename, line, s, "Failed to parse IPv6 privacy extensions option, ignoring: %s", rvalue);
|
||||
log_syntax(unit, LOG_ERR, filename, line, 0, "Failed to parse IPv6 privacy extensions option, ignoring: %s", rvalue);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@@ -765,7 +760,7 @@ int config_parse_hostname(
|
||||
return r;
|
||||
|
||||
if (!hostname_is_valid(hn, false)) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, EINVAL, "Hostname is not valid, ignoring assignment: %s", rvalue);
|
||||
log_syntax(unit, LOG_ERR, filename, line, 0, "Hostname is not valid, ignoring assignment: %s", rvalue);
|
||||
free(hn);
|
||||
return 0;
|
||||
}
|
||||
@@ -799,7 +794,7 @@ int config_parse_timezone(
|
||||
return r;
|
||||
|
||||
if (!timezone_is_valid(tz)) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, EINVAL, "Timezone is not valid, ignoring assignment: %s", rvalue);
|
||||
log_syntax(unit, LOG_ERR, filename, line, 0, "Timezone is not valid, ignoring assignment: %s", rvalue);
|
||||
free(tz);
|
||||
return 0;
|
||||
}
|
||||
@@ -844,7 +839,7 @@ int config_parse_dhcp_server_dns(
|
||||
return 0;
|
||||
|
||||
if (inet_pton(AF_INET, w, &a) <= 0) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, r, "Failed to parse DNS server address, ignoring: %s", w);
|
||||
log_syntax(unit, LOG_ERR, filename, line, 0, "Failed to parse DNS server address, ignoring: %s", w);
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -883,7 +878,7 @@ int config_parse_dhcp_server_ntp(
|
||||
|
||||
r = extract_first_word(&p, &w, NULL, 0);
|
||||
if (r < 0) {
|
||||
log_syntax(unit, LOG_ERR, filename, r, line, "Failed to extract word, ignoring: %s", rvalue);
|
||||
log_syntax(unit, LOG_ERR, filename, line, r, "Failed to extract word, ignoring: %s", rvalue);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -891,7 +886,7 @@ int config_parse_dhcp_server_ntp(
|
||||
return 0;
|
||||
|
||||
if (inet_pton(AF_INET, w, &a) <= 0) {
|
||||
log_syntax(unit, LOG_ERR, filename, r, line, "Failed to parse NTP server address, ignoring: %s", w);
|
||||
log_syntax(unit, LOG_ERR, filename, line, 0, "Failed to parse NTP server address, ignoring: %s", w);
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
@@ -294,8 +294,7 @@ int config_parse_gateway(const char *unit,
|
||||
|
||||
r = in_addr_from_string_auto(rvalue, &f, &buffer);
|
||||
if (r < 0) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, EINVAL,
|
||||
"Route is invalid, ignoring assignment: %s", rvalue);
|
||||
log_syntax(unit, LOG_ERR, filename, line, r, "Route is invalid, ignoring assignment: %s", rvalue);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -345,14 +344,12 @@ int config_parse_destination(const char *unit,
|
||||
|
||||
r = in_addr_from_string_auto(address, &f, &buffer);
|
||||
if (r < 0) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, EINVAL,
|
||||
"Destination is invalid, ignoring assignment: %s", address);
|
||||
log_syntax(unit, LOG_ERR, filename, line, r, "Destination is invalid, ignoring assignment: %s", address);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (f != AF_INET && f != AF_INET6) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, EINVAL,
|
||||
"Unknown address family, ignoring assignment: %s", address);
|
||||
log_syntax(unit, LOG_ERR, filename, line, 0, "Unknown address family, ignoring assignment: %s", address);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -360,8 +357,7 @@ int config_parse_destination(const char *unit,
|
||||
if (e) {
|
||||
r = safe_atou8(e + 1, &prefixlen);
|
||||
if (r < 0) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, EINVAL,
|
||||
"Route destination prefix length is invalid, ignoring assignment: %s", e + 1);
|
||||
log_syntax(unit, LOG_ERR, filename, line, r, "Route destination prefix length is invalid, ignoring assignment: %s", e + 1);
|
||||
return 0;
|
||||
}
|
||||
} else {
|
||||
@@ -456,8 +452,7 @@ int config_parse_route_scope(const char *unit,
|
||||
else if (streq(rvalue, "global"))
|
||||
n->scope = RT_SCOPE_UNIVERSE;
|
||||
else {
|
||||
log_syntax(unit, LOG_ERR, filename, line, EINVAL,
|
||||
"Unknown route scope: %s", rvalue);
|
||||
log_syntax(unit, LOG_ERR, filename, line, 0, "Unknown route scope: %s", rvalue);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -82,7 +82,7 @@ int config_parse_address_family_boolean_with_kernel(
|
||||
if (streq(rvalue, "kernel"))
|
||||
s = _ADDRESS_FAMILY_BOOLEAN_INVALID;
|
||||
else {
|
||||
log_syntax(unit, LOG_ERR, filename, line, s, "Failed to parse IPForwarding= option, ignoring: %s", rvalue);
|
||||
log_syntax(unit, LOG_ERR, filename, line, 0, "Failed to parse IPForwarding= option, ignoring: %s", rvalue);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@@ -133,7 +133,7 @@ int config_parse_resolve(
|
||||
|
||||
s = resolve_support_from_string(rvalue);
|
||||
if (s < 0){
|
||||
log_syntax(unit, LOG_ERR, filename, line, -s, "Failed to parse %s= option, ignoring: %s", lvalue, rvalue);
|
||||
log_syntax(unit, LOG_ERR, filename, line, 0, "Failed to parse %s= option, ignoring: %s", lvalue, rvalue);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -152,7 +152,7 @@ int config_parse_capability(
|
||||
|
||||
cap = capability_from_name(word);
|
||||
if (cap < 0) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, cap, "Failed to parse capability, ignoring: %s", word);
|
||||
log_syntax(unit, LOG_ERR, filename, line, 0, "Failed to parse capability, ignoring: %s", word);
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
@@ -95,7 +95,7 @@ int config_parse_dnsv(
|
||||
/* Otherwise add to the list */
|
||||
r = manager_parse_dns_server(m, ltype, rvalue);
|
||||
if (r < 0) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, -r, "Failed to parse DNS server string '%s'. Ignoring.", rvalue);
|
||||
log_syntax(unit, LOG_ERR, filename, line, r, "Failed to parse DNS server string '%s'. Ignoring.", rvalue);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@@ -131,7 +131,7 @@ int config_parse_support(
|
||||
if (support < 0) {
|
||||
r = parse_boolean(rvalue);
|
||||
if (r < 0) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, -r, "Failed to parse support level '%s'. Ignoring.", rvalue);
|
||||
log_syntax(unit, LOG_ERR, filename, line, r, "Failed to parse support level '%s'. Ignoring.", rvalue);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
+21
-26
@@ -147,8 +147,7 @@ static int next_assignment(const char *unit,
|
||||
|
||||
/* Warn about unknown non-extension fields. */
|
||||
if (!relaxed && !startswith(lvalue, "X-"))
|
||||
log_syntax(unit, LOG_WARNING, filename, line, EINVAL,
|
||||
"Unknown lvalue '%s' in section '%s'", lvalue, section);
|
||||
log_syntax(unit, LOG_WARNING, filename, line, 0, "Unknown lvalue '%s' in section '%s'", lvalue, section);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -196,8 +195,7 @@ static int parse_line(const char* unit,
|
||||
* Support for them should be eventually removed. */
|
||||
|
||||
if (!allow_include) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, EBADMSG,
|
||||
".include not allowed here. Ignoring.");
|
||||
log_syntax(unit, LOG_ERR, filename, line, 0, ".include not allowed here. Ignoring.");
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -216,8 +214,7 @@ static int parse_line(const char* unit,
|
||||
assert(k > 0);
|
||||
|
||||
if (l[k-1] != ']') {
|
||||
log_syntax(unit, LOG_ERR, filename, line, EBADMSG,
|
||||
"Invalid section header '%s'", l);
|
||||
log_syntax(unit, LOG_ERR, filename, line, 0, "Invalid section header '%s'", l);
|
||||
return -EBADMSG;
|
||||
}
|
||||
|
||||
@@ -228,8 +225,7 @@ static int parse_line(const char* unit,
|
||||
if (sections && !nulstr_contains(sections, n)) {
|
||||
|
||||
if (!relaxed && !startswith(n, "X-"))
|
||||
log_syntax(unit, LOG_WARNING, filename, line, EINVAL,
|
||||
"Unknown section '%s'. Ignoring.", n);
|
||||
log_syntax(unit, LOG_WARNING, filename, line, 0, "Unknown section '%s'. Ignoring.", n);
|
||||
|
||||
free(n);
|
||||
*section = mfree(*section);
|
||||
@@ -248,16 +244,15 @@ static int parse_line(const char* unit,
|
||||
if (sections && !*section) {
|
||||
|
||||
if (!relaxed && !*section_ignored)
|
||||
log_syntax(unit, LOG_WARNING, filename, line, EINVAL,
|
||||
"Assignment outside of section. Ignoring.");
|
||||
log_syntax(unit, LOG_WARNING, filename, line, 0, "Assignment outside of section. Ignoring.");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
e = strchr(l, '=');
|
||||
if (!e) {
|
||||
log_syntax(unit, LOG_WARNING, filename, line, EINVAL, "Missing '='.");
|
||||
return -EBADMSG;
|
||||
log_syntax(unit, LOG_WARNING, filename, line, 0, "Missing '='.");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
*e = 0;
|
||||
@@ -441,7 +436,7 @@ int config_parse_many(const char *conf_file,
|
||||
\
|
||||
r = conv_func(rvalue, i); \
|
||||
if (r < 0) \
|
||||
log_syntax(unit, LOG_ERR, filename, line, -r, \
|
||||
log_syntax(unit, LOG_ERR, filename, line, r, \
|
||||
"Failed to parse %s value, ignoring: %s", \
|
||||
#type, rvalue); \
|
||||
\
|
||||
@@ -479,7 +474,7 @@ int config_parse_iec_size(const char* unit,
|
||||
|
||||
r = parse_size(rvalue, 1024, &v);
|
||||
if (r < 0 || (uint64_t) (size_t) v != v) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, r < 0 ? r : ERANGE, "Failed to parse size value, ignoring: %s", rvalue);
|
||||
log_syntax(unit, LOG_ERR, filename, line, r, "Failed to parse size value, ignoring: %s", rvalue);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -509,7 +504,7 @@ int config_parse_si_size(const char* unit,
|
||||
|
||||
r = parse_size(rvalue, 1000, &v);
|
||||
if (r < 0 || (uint64_t) (size_t) v != v) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, r < 0 ? r : ERANGE, "Failed to parse size value, ignoring: %s", rvalue);
|
||||
log_syntax(unit, LOG_ERR, filename, line, r, "Failed to parse size value, ignoring: %s", rvalue);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -564,8 +559,7 @@ int config_parse_bool(const char* unit,
|
||||
|
||||
k = parse_boolean(rvalue);
|
||||
if (k < 0) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, -k,
|
||||
"Failed to parse boolean value, ignoring: %s", rvalue);
|
||||
log_syntax(unit, LOG_ERR, filename, line, k, "Failed to parse boolean value, ignoring: %s", rvalue);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -669,7 +663,7 @@ int config_parse_path(
|
||||
}
|
||||
|
||||
if (!path_is_absolute(rvalue)) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, EINVAL, "Not an absolute path, ignoring: %s", rvalue);
|
||||
log_syntax(unit, LOG_ERR, filename, line, 0, "Not an absolute path, ignoring: %s", rvalue);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -740,8 +734,7 @@ int config_parse_strv(const char *unit,
|
||||
return log_oom();
|
||||
}
|
||||
if (!isempty(state))
|
||||
log_syntax(unit, LOG_ERR, filename, line, EINVAL,
|
||||
"Trailing garbage, ignoring.");
|
||||
log_syntax(unit, LOG_ERR, filename, line, 0, "Trailing garbage, ignoring.");
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -759,14 +752,16 @@ int config_parse_mode(
|
||||
void *userdata) {
|
||||
|
||||
mode_t *m = data;
|
||||
int r;
|
||||
|
||||
assert(filename);
|
||||
assert(lvalue);
|
||||
assert(rvalue);
|
||||
assert(data);
|
||||
|
||||
if (parse_mode(rvalue, m) < 0) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, errno, "Failed to parse mode value, ignoring: %s", rvalue);
|
||||
r = parse_mode(rvalue, m);
|
||||
if (r < 0) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, r, "Failed to parse mode value, ignoring: %s", rvalue);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -795,7 +790,7 @@ int config_parse_log_facility(
|
||||
|
||||
x = log_facility_unshifted_from_string(rvalue);
|
||||
if (x < 0) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, EINVAL, "Failed to parse log facility, ignoring: %s", rvalue);
|
||||
log_syntax(unit, LOG_ERR, filename, line, 0, "Failed to parse log facility, ignoring: %s", rvalue);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -826,7 +821,7 @@ int config_parse_log_level(
|
||||
|
||||
x = log_level_from_string(rvalue);
|
||||
if (x < 0) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, EINVAL, "Failed to parse log level, ignoring: %s", rvalue);
|
||||
log_syntax(unit, LOG_ERR, filename, line, 0, "Failed to parse log level, ignoring: %s", rvalue);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -855,7 +850,7 @@ int config_parse_signal(
|
||||
|
||||
r = signal_from_string_try_harder(rvalue);
|
||||
if (r <= 0) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, EINVAL, "Failed to parse signal name, ignoring: %s", rvalue);
|
||||
log_syntax(unit, LOG_ERR, filename, line, 0, "Failed to parse signal name, ignoring: %s", rvalue);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -884,7 +879,7 @@ int config_parse_personality(
|
||||
|
||||
p = personality_from_string(rvalue);
|
||||
if (p == PERSONALITY_INVALID) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, EINVAL, "Failed to parse personality, ignoring: %s", rvalue);
|
||||
log_syntax(unit, LOG_ERR, filename, line, 0, "Failed to parse personality, ignoring: %s", rvalue);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -949,8 +949,7 @@ static int config_parse_also(
|
||||
return r;
|
||||
}
|
||||
if (!isempty(state))
|
||||
log_syntax(unit, LOG_ERR, filename, line, EINVAL,
|
||||
"Trailing garbage, ignoring.");
|
||||
log_syntax(unit, LOG_ERR, filename, line, 0, "Trailing garbage, ignoring.");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -85,7 +85,7 @@ int config_parse_servers(
|
||||
else {
|
||||
r = manager_parse_server_string(m, ltype, rvalue);
|
||||
if (r < 0) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, -r, "Failed to parse NTP server string '%s'. Ignoring.", rvalue);
|
||||
log_syntax(unit, LOG_ERR, filename, line, r, "Failed to parse NTP server string '%s'. Ignoring.", rvalue);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user