Bugfixes:
+* check :no-sender logic after PID conversion
* enabling an instance unit creates a pointless link, and
the unit will be started with getty@getty.service:
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) {
const char *q;
bool interface_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 object_path_is_valid(const char *p);
char *object_path_startswith(const char *a, const char *b);
if (!streq(signature, "s"))
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;
case SD_BUS_MESSAGE_HEADER_SENDER:
if (!streq(signature, "s"))
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;