Hi all,

I'm implementing the proxy for the new efl_net API and while reading
the old code and the SOCKS spec I'm confused about the bind usage.

According to the spec https://tools.ietf.org/html/rfc1928:

   The BIND request is used in protocols which require the client to
   accept connections from the server.  FTP is a well-known example,
   which uses the primary client-to-server connection for commands and
   status reports, but may use a server-to-client connection for
   transferring data on demand (e.g. LS, GET, PUT).

   It is expected that the client side of an application protocol will
   use the BIND request only to establish secondary connections after a
   primary connection is established using CONNECT.  In is expected that
   a SOCKS server will use DST.ADDR and DST.PORT in evaluating the BIND

This does not work to create a random server via the proxy, after all
you can't accept multiple connections.

In old code, to enable bind one had to call
ecore_con_socks_bind_set(), but none of efl.git does that. Likely that
is untested.

Then I'm wondering if I should bother to implement this at all. The
code to implement it is not that much, but it won't be used unless I
can understand how to expose this in our API, currently we can connect
to some server (ie: Efl.Net.Dialer) or be the server (ie:
Efl.Net.Server), there is no "dialer that connect back", not eve sure
how to call that braindead idea of FTP :-/

Gustavo Sverzut Barbieri
Mobile: +55 (16) 99354-9890

enlightenment-devel mailing list

Reply via email to