Fix parsing of source length in filters.
This fixes a bug that was introduced in commit and prevented
non-source-specific IPv4 routes from being redistributed.  Thanks
to Niklas Yann Wettengel for the detective work.
@@ -479,9 +479,13 @@ parse_filter(int c, gnc_t gnc, void *closure, struct filter **filter_return)
filter->src_plen_le < 128 || filter->src_plen_ge > 0)
filter->af = AF_INET6;
} else if(filter->af == AF_INET) {
+ if(filter->plen_le < 128)
filter->plen_le += 96;
+ if(filter->plen_ge > 0)
filter->plen_ge += 96;
+ if(filter->src_plen_le < 128)
filter->src_plen_le += 96;
+ if(filter->src_plen_ge > 0)
filter->src_plen_ge += 96;
}
*filter_return = filter;
