bus: let magic ":no-sender" pass the validation
This commit is contained in:
parent
8159d91a9c
commit
dbb642afae
1
TODO
1
TODO
|
@ -1,4 +1,5 @@
|
||||||
Bugfixes:
|
Bugfixes:
|
||||||
|
* check :no-sender logic after PID conversion
|
||||||
|
|
||||||
* enabling an instance unit creates a pointless link, and
|
* enabling an instance unit creates a pointless link, and
|
||||||
the unit will be started with getty@getty.service:
|
the unit will be started with getty@getty.service:
|
||||||
|
|
|
@ -166,6 +166,16 @@ bool service_name_is_valid(const char *p) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool sender_name_is_valid(const char *p) {
|
||||||
|
if (isempty(p))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if (streq(p, ":no-sender"))
|
||||||
|
return true;
|
||||||
|
|
||||||
|
return service_name_is_valid(p);
|
||||||
|
}
|
||||||
|
|
||||||
bool member_name_is_valid(const char *p) {
|
bool member_name_is_valid(const char *p) {
|
||||||
const char *q;
|
const char *q;
|
||||||
|
|
||||||
|
|
|
@ -271,6 +271,7 @@ struct sd_bus {
|
||||||
|
|
||||||
bool interface_name_is_valid(const char *p);
|
bool interface_name_is_valid(const char *p);
|
||||||
bool service_name_is_valid(const char *p);
|
bool service_name_is_valid(const char *p);
|
||||||
|
bool sender_name_is_valid(const char *p);
|
||||||
bool member_name_is_valid(const char *p);
|
bool member_name_is_valid(const char *p);
|
||||||
bool object_path_is_valid(const char *p);
|
bool object_path_is_valid(const char *p);
|
||||||
char *object_path_startswith(const char *a, const char *b);
|
char *object_path_startswith(const char *a, const char *b);
|
||||||
|
|
|
@ -3928,7 +3928,7 @@ int bus_message_parse_fields(sd_bus_message *m) {
|
||||||
if (!streq(signature, "s"))
|
if (!streq(signature, "s"))
|
||||||
return -EBADMSG;
|
return -EBADMSG;
|
||||||
|
|
||||||
r = message_peek_field_string(m, service_name_is_valid, &ri, &m->destination);
|
r = message_peek_field_string(m, sender_name_is_valid, &ri, &m->destination);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SD_BUS_MESSAGE_HEADER_SENDER:
|
case SD_BUS_MESSAGE_HEADER_SENDER:
|
||||||
|
@ -3939,7 +3939,7 @@ int bus_message_parse_fields(sd_bus_message *m) {
|
||||||
if (!streq(signature, "s"))
|
if (!streq(signature, "s"))
|
||||||
return -EBADMSG;
|
return -EBADMSG;
|
||||||
|
|
||||||
r = message_peek_field_string(m, service_name_is_valid, &ri, &m->sender);
|
r = message_peek_field_string(m, sender_name_is_valid, &ri, &m->sender);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue