Author: Jakub Wilk <jwilk@debian.org>
Description: IP6Connector.mcast() broken
Bug-Debian: https://bugs.debian.org/593821

--- a/pcs/__init__.py
+++ b/pcs/__init__.py
@@ -70,6 +70,9 @@ import sys; sys.modules['pcs.pcap'] = pc
 
 import itertools
 
+import ctypes, ctypes.util
+_libc = ctypes.CDLL(ctypes.util.find_library('c'))
+
 def attribreprlist(obj, attrs):
     return map(lambda x, y = obj: '%s: %s' % (x, repr(getattr(y, x))), itertools.ifilter(lambda x, y = obj: hasattr(y, x), attrs))
 
@@ -955,9 +958,7 @@ class IP6Connector(Connector):
 
     def mcast(self, iface):
         """set IP6 connector into multicast mode"""
-        import dl
-        _libc = dl.open('libc.so')
-        ifn = _libc.call('if_nametoindex', iface)
+        ifn = _libc.if_nametoindex(iface)
         self.sock.setsockopt(IPPROTO_IPV6, IPV6_MULTICAST_LOOP, 1)
         self.sock.setsockopt(IPPROTO_IPV6, IPV6_MULTICAST_HOPS, 5)
         self.sock.setsockopt(IPPROTO_IPV6, IPV6_MULTICAST_IF, ifn)
