Closed hunbalazs closed 1 year ago
Rats. It thinks you're trying to add 0.0.0.0/0, and iterates over the 2^32 addresses. Good thing this operation needs CAP_NET_ADMIN
, otherwise it'd be a security vulnerability.
Way I see it, this needs two patches:
JNLAR_OPERAND
I would also like to review the JNLAR_OPERAND
s of the other tables to enforce mandatory fields, so I'll fix this later over the weekend.
It thinks you're trying to add 0.0.0.0/0, and iterates over the 2^32 addresses
Yes, I figured it out when the soft lockup stopped and I got an allocation failure.
- Refuse empty JNLAR_OPERAND
Totally agree
- Disallow prefix length < 16, because it does take too long
I don't really agree with this one. In my opinion pool4 records should be prefixes, not unpacked prefixes. Since connection records are added to BIB with dynamic flag I don't really see a reason to unpack pool4 records.
I'm sure it would take a lot of work to change this behavior but I think it could be way faster.
In my opinion pool4 records should be prefixes, not unpacked prefixes. Since connection records are added to BIB with dynamic flag I don't really see a reason to unpack pool4 records.
I agree, but this is too much effort.
Honestly, I'd rather re-implement pool4 from scratch. I had awkward priorities when I first implemented it, and has only gotten more cluttered over time.
I'll fix 1 but not 2.
When adding an empty pool4 Jool module will soft lockup:
NL message: