Re: Re: [PATCH] Add NFPROTO_ARP for mark

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



hi pablo

>From: Pablo Neira Ayuso
>Date: 2015-04-09
>To: Zhang, Chunyu/章 春宇
>Subject: Re: Re: [PATCH] Add NFPROTO_ARP for mark
>
>On Thu, Apr 09, 2015 at 03:54:33AM +0000, Zhang, Chunyu wrote:
>> >From: Pablo Neira Ayuso
>> >Date: 2015-04-09
>> >To: Zhang, Chunyu/章 春宇
>> >Subject: Re: [PATCH] Add NFPROTO_ARP for mark
>[...]
>> >> @@ -41,13 +42,23 @@ mark_mt(const struct sk_buff *skb, struct xt_action_param *par)
>> >>       return ((skb->mark & info->mask) == info->mark) ^ info->invert;
>> >>  }
>> >>
>> >> -static struct xt_target mark_tg_reg __read_mostly = {
>> >> -     .name           = "MARK",
>> >> -     .revision       = 2,
>> >> -     .family         = NFPROTO_UNSPEC,
>> >> -     .target         = mark_tg,
>> >> -     .targetsize     = sizeof(struct xt_mark_tginfo2),
>> >> -     .me             = THIS_MODULE,
>> >> +static struct xt_target mark_tg_reg[] __read_mostly = {
>> >> +     {
>> >> +             .name           = "MARK",
>> >> +             .revision       = 2,
>> >> +             .family         = NFPROTO_UNSPEC,
>> >> +             .target         = mark_tg,
>> >> +             .targetsize     = sizeof(struct xt_mark_tginfo2),
>> >> +             .me             = THIS_MODULE,
>> >> +     },
>> >> +     {
>> >> +             .name           = "MARK",
>> >> +             .revision       = 2,
>> >> +             .family         = NFPROTO_ARP,
>> >> +             .target         = mark_tg,
>> >> +             .targetsize     = sizeof(struct xt_mark_tginfo2),
>> >> +             .me             = THIS_MODULE,
>> >> +     }
>> >>  };
>> >
>> >You don't need this.
>> >
>> >The problem is here that your patch:
>> >
>> >http://patchwork.ozlabs.org/patch/455966/
>> >
>> >is missing this chunk:
>> >
>> >diff --git a/libarptc/libarptc_incl.c b/libarptc/libarptc_incl.c
>> >index a034930..87404ce 100644
>> >--- a/libarptc/libarptc_incl.c
>> >+++ b/libarptc/libarptc_incl.c
>> >@@ -872,7 +872,7 @@ map_target(const TC_HANDLE_T handle,
>> >        /* memset to all 0 for your memcmp convenience. */
>> >        memset(t->u.user.name + strlen(t->u.user.name),
>> >               0,
>> >-              FUNCTION_MAXNAMELEN - strlen(t->u.user.name));
>> >+              FUNCTION_MAXNAMELEN - 1 - strlen(t->u.user.name));
>> >        return 1;
>> > }

1. 
maybe should change like this?

diff --git a/libarptc/libarptc_incl.c b/libarptc/libarptc_incl.c
index a034930..4049cbd 100644
--- a/libarptc/libarptc_incl.c
+++ b/libarptc/libarptc_incl.c
@@ -872,7 +872,7 @@ map_target(const TC_HANDLE_T handle,
        /* memset to all 0 for your memcmp convenience. */
        memset(t->u.user.name + strlen(t->u.user.name),
               0,
-              FUNCTION_MAXNAMELEN - strlen(t->u.user.name));
+              XT_EXTENSION_MAXNAMELEN - strlen(t->u.user.name));
        return 1;
 }

2. mabye have other 4 places should change ?
arptables.c:2330:       if (chain && strlen(chain) > ARPT_FUNCTION_MAXNAMELEN)
arptables.c:2333:                          chain, ARPT_FUNCTION_MAXNAMELEN);
include/linux/netfilter/x_tables.h:71:  char errorname[XT_FUNCTION_MAXNAMELEN];
libarptc/libarptc_incl.c:827:   memset(t->target.u.user.name, 0, FUNCTION_MAXNAMELEN);
>> >
>> >Otherwise, the revision number is zeroed.
>> >
>> >And you don't need: http://patchwork.ozlabs.org/patch/455965/.
>> >
>> >Please, rebase your userspace patches on top of current arptables git
>> >and resubmit. Thanks.
>>
>> get it 。will do。
>> why arptables --set-mark can work , when add  NFPROTO_ARP to xt_mark ?
>
>I guess you're still using the userspace patches you sent.
>
>If you rebase on top of current arptables HEAD, that will not work.��.n��������+%������w��{.n����z��׫���n�r������&��z�ޗ�zf���h���~����������_��+v���)ߣ�


[Index of Archives]     [Netfitler Users]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux