ms: Use the new API to pass credentials to the event server

We are using the "autobind" feature of Linux to get a special
socket address. This allows us to have roughly 2^20 clients on
the system.

Change-Id: Ie9b9ac6267f40345baf7dbb3becaecf264a5df5f
diff --git a/src/osmo_ms_driver/event_server.py b/src/osmo_ms_driver/event_server.py
index 6b0232b..b0f699d 100644
--- a/src/osmo_ms_driver/event_server.py
+++ b/src/osmo_ms_driver/event_server.py
@@ -27,7 +27,7 @@
     def read_cb(self, obj, mask):
         # addresss doesn't give us the remote but currently we don't
         # need it.
-        (data, address) = self._server.recvfrom(4096)
+        data, ancdata, flags, addr = self._server.recvmsg(4096, 4096)
         now = time.clock_gettime(time.CLOCK_MONOTONIC)
         for handler in self._handlers:
-            handler(data, now)
+            handler(data, addr, now)
diff --git a/src/osmo_ms_driver/location_update_test.py b/src/osmo_ms_driver/location_update_test.py
index 2d661ca..0d27d0e 100644
--- a/src/osmo_ms_driver/location_update_test.py
+++ b/src/osmo_ms_driver/location_update_test.py
@@ -167,7 +167,7 @@
         for launcher in self._started:
             launcher.kill()
 
-    def handle_msg(self, _data, time):
+    def handle_msg(self, _data, addr, time):
         import json
         data = json.loads(_data.decode())
 
diff --git a/src/osmo_ms_driver/lua/ms_support.lua b/src/osmo_ms_driver/lua/ms_support.lua
index 817a564..6490bec 100644
--- a/src/osmo_ms_driver/lua/ms_support.lua
+++ b/src/osmo_ms_driver/lua/ms_support.lua
@@ -11,6 +11,7 @@
 function mod.register(ms, path)
 	g_ms = ms
 
+	osmo.unix_passcred(g_c:getfd())
 	g_c:connect(path)
 
 	local event = {}