Ah! Thanks for pointing me at that bug. Yes, I'm running r4.0, but I am just completely wrong about being up to date. My qubes-core-dom0 package is only at 4.0.32-1, which is right before these fixes. It looks like I'm having some issues syncing with the qubes-dom0-current repo, and so hopefully once I figure that out I'll be all set.
Thanks for your help! - Ralph On Wed, Jan 2, 2019 at 1:28 AM David Hobach <trip...@hackingthe.net> wrote: > On 1/2/19 4:34 AM, qubes-users-list - wrote: > > Ah! I reread the docs, and it mentions a size limit 3k/~35-39 rules. > So I > > suspect that I'm hitting this limit. I was getting the error right in > that > > range. Thank you for pointing me at that. The docs point out rightly > that > > I can just put rules in the vm directly, so I'll go that route. > > > > For those curious, I'm running a fully up to date R4 > > > > The docs say "there is a 3 kB limit to the size of the iptables script". > > I'm curious as to where that limit comes from if anyone happens to know. > > Hmm yes unman wrote that doc part... > > But considering Marek's statement in > https://github.com/QubesOS/qubes-issues/issues/1570 : "This is already > fixed for Qubes 4.0. The fix is not feasible for backport (it's > incompatible change). The limitation is already documented." > > Are you running 4.0? Because if so, that is a bug and should cause #1570 > to be reopened. I cannot see the Qubes version from your post though. > > > > > > > On Tue, Jan 1, 2019 at 9:42 PM unman <un...@thirdeyesecurity.org> wrote: > > > >> On Tue, Jan 01, 2019 at 09:09:48PM -0500, qubes-users-list - wrote: > >>> I'm trying to add a fair number (around 50?) firewall rules to a vm. > I'm > >>> reading a directory of wireguard configs and trying to create a > specific > >>> rule for each ip*port. > >>> > >>> After adding many rules, at a very consistent point, I get the > following > >>> error: > >>> > >>> $ qvm-firewall <VMNAME> add --before 0 accept proto=udp dsthost=<HOST> > >>> dstports=<PORT> > >>> Got empty response from qubesd. See journalctl in dom0 for details. > >>> > >>> journalctl in dom0 says: > >>> > >>> unhandled exception while calling src=b'dom0' > >> meth=b'admin.vm.firewall.Set' > >>> dest=b'<VMNAME>' arg=b'' len(untrusted_payload)=2417 > >>> Traceback (most recent call last): > >>> File "/usr/lib/python3.5/site-packages/qubes/api/__init__.py", line > >> 262, > >>> in respond > >>> untrusted_payload=untrusted_payload) > >>> File "/usr/lib64/python3.5/asyncio/futures.py", line 381, in > __iter__ > >>> yield self # This tells Task to wait for completion. > >>> File "/usr/lib64/python3.5/asyncio/tasks.py", line 310, in _wakeup > >>> future.result() > >>> File "/usr/lib64/python3.5/asyncio/futures.py", line 294, in result > >>> raise self._exception > >>> File "/usr/lib64/python3.5/asyncio/tasks.py", line 240, in _step > >>> result = coro.send(None) > >>> File "/usr/lib64/python3.5/asyncio/coroutines.py", line 210, in coro > >>> res = func(*args, **kw) > >>> File "/usr/lib/python3.5/site-packages/qubes/api/admin.py", line > 1303, > >> in > >>> vm_firewall_set > >>> self.dest.firewall.save() > >>> File "/usr/lib/python3.5/site-packages/qubes/firewall.py", line > 588, in > >>> save > >>> self.vm.fire_event('firewall-changed') > >>> File "/usr/lib/python3.5/site-packages/qubes/events.py", line 198, > in > >>> fire_event > >>> pre_event=pre_event) > >>> File "/usr/lib/python3.5/site-packages/qubes/events.py", line 166, > in > >>> _fire_event > >>> effect = func(self, event, **kwargs) > >>> File > "/usr/lib/python3.5/site-packages/qubes/ext/r3compatibility.py", > >>> line 79, in on_firewall_changed > >>> self.write_iptables_qubesdb_entry(vm.netvm) > >>> File > "/usr/lib/python3.5/site-packages/qubes/ext/r3compatibility.py", > >>> line 158, in write_iptables_qubesdb_entry > >>> iptables) > >>> qubesdb.Error: (0, 'Error') > >>> > >>> The rule in question does show up in qvm-firewall <VMNAME> list, but I > >>> think the new rule doesn't actually get applied. > >>> > >>> As soon as I delete enough rules to not get the error, it feels like > the > >>> rules are all properly applied again, but I didn't test this > >>> comprehensively yet. > >>> > >>> It feels like I've hit some size limit? From the backtrace it looks > like > >>> the argument was an empty string: arg=b''. That seems suspect. > >>> > >>> Any pointers on where I could look in order to understand the issue > >> better? > >>> > >>> Thanks in advance, > >>> > >>> Ralph > >>> > >> > >> Which Qubes version are you using? > >> How many rules are you able to apply? > >> Have you looked at the docs? > >> https://www.qubes-os.org/doc/firewall > >> > >> -- > >> You received this message because you are subscribed to the Google > Groups > >> "qubes-users" group. > >> To unsubscribe from this group and stop receiving emails from it, send > an > >> email to qubes-users+unsubscr...@googlegroups.com. > >> To post to this group, send email to qubes-users@googlegroups.com. > >> To view this discussion on the web visit > >> > https://groups.google.com/d/msgid/qubes-users/20190102024257.s2plx7ipmkydl3dk%40thirdeyesecurity.org > >> . > >> For more options, visit https://groups.google.com/d/optout. > >> > > > > -- You received this message because you are subscribed to the Google Groups "qubes-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to qubes-users+unsubscr...@googlegroups.com. To post to this group, send email to qubes-users@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/qubes-users/CAMVV%3Dfz7f%2BD0yr8bHSj2A9fQ-iRW7%3Dy0jKW8DM1zzT%3DUL00E6A%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.