[prev in list] [next in list] [prev in thread] [next in thread] 

List:       proftpd-devel
Subject:    Re: [Proftpd-devel] How to modify pr_inet_set_proto_opts to set TCP_DEFER_ACCEPT or TCP_QUICKACK soc
From:       Vincent Li <vincent.mc.li () gmail ! com>
Date:       2012-03-25 5:18:37
Message-ID: CAK3+h2x4_FSrkOcOONb6szEdX2swXTswtyoZa7x1E=zEX_-LLQ () mail ! gmail ! com
[Download RAW message or body]

On Fri, Mar 23, 2012 at 3:04 PM, TJ Saunders <tj@castaglia.org> wrote:
>
>> > I have a situation that I need to modify proftpd to piggyback data in
>> > the final ACK of three way hankshake when proftpd invokes function
>> > data_active_open (in active ftp). =A0the Linux kernel tcp provided
>> > TCP_DEFER_ACCEPT or TCP_QUICKACK for this purpose. can anyone shed a
>> > light on how I modify proftpd properly?
>>
>> If you're using proftpd-1.3.4a, you might look at the mod_qos module, in
>> the contrib/ area. =A0It uses event listeners for events which the proft=
pd
>> core engine generates when handling connections, specifically:
>>
>> =A0 pr_event_register(&qos_module, "core.ctrl-listen", qos_ctrl_listen_e=
v, NULL);
>> =A0 pr_event_register(&qos_module, "core.data-connect", qos_data_connect=
_ev, NULL);
>> =A0 pr_event_register(&qos_module, "core.data-listen", qos_data_listen_e=
v, NULL);
>>
>> In these event listeners, the event_data pointer is a struct socket_ctx =
*,
>> from which you can obtain the socket fd (socket_ctx->sockfd).
>
> The idea/goal behind using these event listeners is to do the sort of
> things you need to do, with platform specific options and whatnot, with a
> module (and *without* having to modify the core proftpd code).
>
> Cheers,
> TJ

Thanks, we are only attempting to modify proftpd code to behave the
way I mentioned ealier to interact with our product and reproduce a
problem in our product,  which has actually nothing to do with
proftpd, we want to modify ftp server data connection piggy back data
in the last ack of three way handshake. I choose proftpd because it
appears the core code is more readable than the wu-ftpd and wu-ftpd is
not that recent and i am having problem compiling it and running on
recent linux distro.

I only looked at proftpd code in a short time and I have no idea what
the event listeners is :). if it requires too much effort, then I
don't think I have the luxury to spend time on it. so I need a quick
straightforward way for our repro needs, sorry . if anyone can shed a
light on how to properly to modify the core code part, it would be
great.

Thanks

Vincent

---------------------------------------------------------------------------=
---
This SF email is sponsosred by:
Try Windows Azure free for 90 days Click Here =

http://p.sf.net/sfu/sfd2d-msazure
_______________________________________________
ProFTPD Developers List
<proftpd-devel@proftpd.org>
https://lists.sourceforge.net/lists/listinfo/proftp-devel
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic