Wire snap fails to use the network

cc/ @jdstrand

Wire snap (github) has all the plugs reported to solve a network denial by snappy-debug, but still fails with the same message when you attempt to call someone and they pick-up:

= Seccomp =
Time: Feb  2 15:58:19
Log: auid=1000 uid=1000 gid=1000 ses=3 pid=5026 comm="Chrome_libJingl" exe="/snap/wire/x5/opt/wire-desktop/wire-desktop" sig=31 arch=c000003e 41(socket) compat=0 ip=0x7feb0b6fc5a7 code=0x0
Syscall: socket
Suggestions:
* add account-control (if using NETLINK_AUDIT)
* add bluetooth-control (if using AF_{ALG,BLUETOOTH})
* add firewall-control (if using NETLINK_{FIREWALL,IP6_FW,NETFILTER,NF_LOG,ROUTE})
* add hardware-observe (if using NETLINK_{GENERIC,KOBJECT_UEVENT})
* add netlink-audit (if using NETLINK_AUDIT)
* add netlink-connector (if using NETLINK_CONNECTOR)
* add network (if using AF_INET{,6}, NETLINK_ROUTE)
* add network-bind (if using AF_INET{,6}, NETLINK_ROUTE)
* add network-control (if using AF_{APPLETALK,BRIDGE,INET,INET6,IPX,PACKET,PPPOX,SNA}, NETLINK_{DNRTMSG,FIB_LOOKUP,GENERIC,INET_DIAG,ISCSI,KOBJECT_UEVENT,RDMA,ROUTE,XFRM})
* add network-observe (if using SOCK_RAW, AF_INET{,6}), NETLINK_{GENERIC,INET_DIAG,KOBJECT_UEVENT,ROUTE})
* add unity7 (if using NETLINK_KOBJECT_UEVENT)
* add x11 (if using NETLINK_KOBJECT_UEVENT)

I’ve added and connected every one of those interfaces on both sides of the connection but the same message is output when trying again.

I’ve uploaded the snap to the store in the edge channel for someone more cleverer than wot I is to look at:

sudo snap install wire --edge

This sounds similar to WebTorrent-Desktop subprocess killed by seccomp on syscall 41 (socket). I’ll take a look at this when I take a look at that.

thanks. Yes I was thinking it was very similar while discussing with popey on Saturday…

It’s the same: socket(0x7b /* AF_??? */, SOCK_DGRAM, 0)

This is committed to master. We’re working to also get it into 2.31.

Thanks for working on this!

Is it included into the rules for the existing network/network-bind interface(s) or is it added into a different or additional interface?

I added it to the network interface since usrsctp is most often used in encapsulating network protocols (for things such as webrtc).