shared-object version checking

Marc Boucher marc@mbsi.ca
Fri, 18 Feb 2000 04:51:21 -0500


Hi Rusty,

When playing with 0.90.1, I happened to have an old libipt_fwmark.so
from 0.1.18 still around. Here's how the new iptables reacted to it:

iptables: match `fwmark' vU‰åƒìSè (I'm v0.90.1).

In struct iptables_match/target, I would suggest moving up the 'version'
field (at least before 'name'; alternatively it could be passed as
separate argument to the register functions), so that any other future
changes to ipt_chainlabel/ipt_targinfo size do not cause the same
problem.

struct iptables_match
{
        struct iptables_match *next;

        ipt_chainlabel name;

        const char *version;

Cheers,
Marc