+ sd_bus_creds *bus_creds;
+
+ /* The message came from the legacy client, and is sent to kdbus. */
+ r = sd_bus_get_name_creds(a, m->destination, SD_BUS_CREDS_WELL_KNOWN_NAMES, &bus_creds);
+ if (r < 0)
+ return r;
+
+ STRV_FOREACH(name, names_strv) {
+ if (policy_check_send(policy, ucred, m->header->type, *name, m->path, m->interface, m->member)) {
+ r = free_and_strdup(&m->destination_ptr, *name);
+ if (r < 0)
+ break;
+
+ r = bus_kernel_parse_unique_name(m->sender, &m->verify_destination_id);
+ if (r < 0)
+ break;
+
+ granted = true;
+ break;
+ }
+ }