Michal Sekletar 3b52db
From b8b2b4a03de019e14e439d30ab2d929aec5d6524 Mon Sep 17 00:00:00 2001
Michal Sekletar 3b52db
From: Lubomir Rintel <lkundrak@v3.sk>
Michal Sekletar 3b52db
Date: Mon, 1 Jun 2015 21:13:40 +0200
Michal Sekletar 3b52db
Subject: [PATCH] netlink: check that the origin of the rtnetlink messages is
Michal Sekletar 3b52db
 kernel
Michal Sekletar 3b52db
Michal Sekletar 3b52db
Instead of asserting it's from UID 0, which breaks in network namespaces.
Michal Sekletar 3b52db
---
Michal Sekletar 3b52db
 avahi-autoipd/iface-linux.c | 2 +-
Michal Sekletar 3b52db
 avahi-core/netlink.c        | 2 +-
Michal Sekletar 3b52db
 2 files changed, 2 insertions(+), 2 deletions(-)
Michal Sekletar 3b52db
Michal Sekletar 3b52db
diff --git a/avahi-autoipd/iface-linux.c b/avahi-autoipd/iface-linux.c
Michal Sekletar 3b52db
index 83e9e41..1888e37 100644
Michal Sekletar 3b52db
--- a/avahi-autoipd/iface-linux.c
Michal Sekletar 3b52db
+++ b/avahi-autoipd/iface-linux.c
Michal Sekletar 3b52db
@@ -215,7 +215,7 @@ static int process_response(int wait_for_done, unsigned seq) {
Michal Sekletar 3b52db
 
Michal Sekletar 3b52db
         ucred = (struct ucred*) CMSG_DATA(cmsghdr);
Michal Sekletar 3b52db
 
Michal Sekletar 3b52db
-        if (ucred->uid != 0)
Michal Sekletar 3b52db
+        if (ucred->pid != 0)
Michal Sekletar 3b52db
             return -1;
Michal Sekletar 3b52db
 
Michal Sekletar 3b52db
         bytes = (size_t) r;
Michal Sekletar 3b52db
diff --git a/avahi-core/netlink.c b/avahi-core/netlink.c
Michal Sekletar 3b52db
index 4ded5ec..b8c0c06 100644
Michal Sekletar 3b52db
--- a/avahi-core/netlink.c
Michal Sekletar 3b52db
+++ b/avahi-core/netlink.c
Michal Sekletar 3b52db
@@ -82,7 +82,7 @@ int avahi_netlink_work(AvahiNetlink *nl, int block) {
Michal Sekletar 3b52db
 
Michal Sekletar 3b52db
     cred = (struct ucred*) CMSG_DATA(cmsg);
Michal Sekletar 3b52db
 
Michal Sekletar 3b52db
-    if (cred->uid != 0)
Michal Sekletar 3b52db
+    if (cred->pid != 0)
Michal Sekletar 3b52db
         return -1;
Michal Sekletar 3b52db
 
Michal Sekletar 3b52db
     p = (struct nlmsghdr *) nl->buffer;
Michal Sekletar 3b52db
-- 
Michal Sekletar 3b52db
2.4.3
Michal Sekletar 3b52db