* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
-#include <assert.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
/* interface based rules are dynamic. */
static bool rule_ready(struct iprule *rule) {
- if (rule->flags & IPRULE_OUT && rule->out_dev == NULL)
+ if (rule->flags & IPRULE_OUT && !rule->out_dev[0])
return false;
- if (rule->flags & IPRULE_IN && rule->in_dev == NULL)
+ if (rule->flags & IPRULE_IN && !rule->in_dev[0])
return false;
return true;
continue;
if (!strcmp(rule->out_iface, iface->name)) {
- assert(!rule->out_dev);
memcpy(rule->out_dev, iface->l3_dev.dev->ifname, sizeof(rule->out_dev));
interface_add_user(&rule->out_iface_user, iface);
}
if (!strcmp(rule->in_iface, iface->name)) {
- assert(!rule->in_dev);
memcpy(rule->in_dev, iface->l3_dev.dev->ifname, sizeof(rule->in_dev));
interface_add_user(&rule->in_iface_user, iface);
}