patch-base_slp_py 1008 B

12345678910111213141516171819202122
  1. $OpenBSD: patch-base_slp_py,v 1.6 2015/02/05 17:34:33 ajacoutot Exp $
  2. IP_MULTICAST_TTL socket option on OpenBSD currently doesn't accept
  3. int, only unsigned char:
  4. Unable to setup multicast socket... [Errno 22] Invalid argument
  5. --- base/slp.py.orig Thu Jan 29 13:20:35 2015
  6. +++ base/slp.py Thu Feb 5 14:34:32 2015
  7. @@ -66,9 +66,9 @@ def createSocketsWithsetOption(ttl=4):
  8. pass
  9. try:
  10. - s.setsockopt(socket.SOL_IP, socket.IP_MULTICAST_TTL, ttl)
  11. - s.setsockopt(socket.SOL_IP, socket.IP_MULTICAST_IF, socket.inet_aton(intf) + socket.inet_aton('0.0.0.0'))
  12. - s.setsockopt(socket.SOL_IP, socket.IP_MULTICAST_LOOP ,1)
  13. + s.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_TTL, ttl)
  14. + s.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_IF, socket.inet_aton(intf))
  15. + s.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_LOOP, struct.pack('B', 1))
  16. except Exception as e:
  17. log.error("Unable to setup multicast socket for SLP: %s" % e)
  18. if s: