- p = (struct nlmsghdr *) nl->buffer;
-
- if (nl->callback) {
- for (; bytes > 0; p = NLMSG_NEXT(p, bytes)) {
- if (!NLMSG_OK(p, (size_t) bytes)) {
- avahi_log_warn(__FILE__": packet truncated");
- return 0;
- }
-
- nl->callback(nl, p, nl->userdata);
- }
- }
+ if (!cmsg || cmsg->cmsg_type != SCM_CREDENTIALS) {
+ avahi_log_warn("No sender credentials received, ignoring data.");
+ return -1;
+ }
+
+ cred = (struct ucred*) CMSG_DATA(cmsg);
+
+ if (cred->uid != 0)
+ return -1;