All of lore.kernel.org
 help / color / mirror / Atom feed
From: Patrick McHardy <kaber@trash.net>
To: Jing Min Zhao <zhaojingmin@hotmail.com>
Cc: netfilter-devel@lists.netfilter.org,
	Greg Scott <GregScott@InfraSupportEtc.com>
Subject: Re: New H.323 conntrack & NAT helper module
Date: Sat, 25 Feb 2006 19:43:13 +0100	[thread overview]
Message-ID: <4400A541.9080901@trash.net> (raw)
In-Reply-To: <BAY109-DAV1A4C43C331B9AEBC1F22EB3F00@phx.gbl>

Jing Min Zhao wrote:
>> I'm almost done reviewing it. It really looks great, it is the IMO
>> cleanest conntrack helper so far, which is really an achievement
>> for such a complex thing. I've fixed a number of smaller issues
>> and prepared patches for that, I'll send the first batch in follow-up
>> mail.
> 
> 
> I've seen all your patches. I can't believe this. I spent almost 2
> months to
> write the code, but it took you only 3 days to find out so many issues!
> And I know you were still doing other things while you were reviewing my
> code. Now I know not everybody can do the work you guys are doing.

Thanks, I'm pretty good at finding bugs :)


>> Besides my patches, I have a few small issues with the patch, but if
>> they are resolved I'd be happy to put this helper into 2.6.17.
>>
> 
> This is really great news! I'll try my best.
> 
>> The issues so far:
>>
>> - ASN1 parser: I would prefer the parser to be seperated from the
>>  H.225/H.245 data.
>>
> 
> OK, I'll seperate them. I was just trying to make the code look clean.

I wouldn't put them in the helper itself, maybe just a seperate file,
ip_conntrack_h323_helper_asn.c or something like that.


>> - ASN1 parser: Right now the H.225/H.245 data includes lots of
>>  forward declarations, probably because it seem to be in the
>>  same order as in the ASN.1 file. The forward declarations make
>>  it a lot harder to verify that their is no recursion, so I would
>>  prefer to have the data ordered in a way that doesn't need them.
>>
> 
> I generated the object definitions using a parser. I was too lazy to
> sort them. But
> it seems not a good format for the kernel. I'll modify my parser to sort
> them.

So you automatically generated them? It would be nice to have the script
and the ASN1 files integrated in the build process and generate the
structures on the fly, in that case I wouldn't care about the order.
Forward  declarations just make it hard to verify that their is no
recursion, without them it trivial, there can't be any.


>> - TPKT handling: I've seen gnomemeeting send nested TPKTs about a year
>>  ago when I worked on my helper. I can't get it do it anymore, but my
>>  question is if it nested TPKTs are something that should be supported.
>>
> 
> What kind of nested TPKTs do you mean? A packet containing multiple
> TPKTs or
> a TPKT containing another TPKT? I can't imagine the latter situation.
> But if it's the first
> situation, you are right. I didn't think of this.  Thank you.

I meant TPKTs following TPKTs. The non-linear SKB patch should make
it easy to support them since the data pointer isn't reloaded by
the NAT part anymore.


>> - RAS tracking: should be made optional IMO. This is the only part
>>  where foreign IP addresses not belonging to the connection are
>>  used for expectations, which is potentially dangerous.
>>
> 
> I totally agree with you. I'll add a parameter for this.
> 
> 
>> I'll describe the other issues in the mails containing the patches.
>>
>>
> 
> Thank you so much!

Well, thank you, This is really great work. I forgot one small issue:
there seems to be some debugging-leftover, the functions registering
expectations add up the number of registered expectations and return
that value, but nobody uses it. If there are no plans for using it,
I would prefer to have it removed.

  reply	other threads:[~2006-02-25 18:43 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-02-25  4:00 New H.323 conntrack & NAT helper module Greg Scott
2006-02-25  6:00 ` Jing Min Zhao
2006-02-25  9:01   ` Patrick McHardy
2006-02-25 17:07     ` Jing Min Zhao
2006-02-25 18:43       ` Patrick McHardy [this message]
2006-03-01  2:57         ` Jing Min Zhao
2006-03-04  9:41           ` Patrick McHardy
2006-03-13  2:22             ` Jing Min Zhao
2006-03-13 15:00               ` Patrick McHardy
2006-03-16  2:24                 ` Jing Min Zhao
2006-03-16  8:55                   ` Patrick McHardy
2006-03-17 14:56                     ` Jing Min Zhao
2006-03-18 16:38                     ` Jing Min Zhao
2006-03-18 16:47                       ` Patrick McHardy
2006-03-18 17:13                         ` Jing Min Zhao
2006-03-20 14:22                       ` Patrick McHardy
2006-03-20 15:51                         ` Jing Min Zhao
2006-03-20 19:13                           ` Patrick McHardy
2006-03-22 14:26                             ` Jing Min Zhao
2006-03-22 16:04                               ` Patrick McHardy
2006-03-22 16:18                                 ` Jing Min Zhao
  -- strict thread matches above, loose matches on Subject: below --
2006-02-22  5:56 Jing Min Zhao
2006-02-22  6:17 ` Patrick McHardy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4400A541.9080901@trash.net \
    --to=kaber@trash.net \
    --cc=GregScott@InfraSupportEtc.com \
    --cc=netfilter-devel@lists.netfilter.org \
    --cc=zhaojingmin@hotmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.