Frox patches

This page holds a collection of patches to Frox which other people and myself developed to address a few shortcomings.

original patches:

ntp.patch.gz - 367 bytes (MD5 = b0fe00dc56a69bb66c2ff4d46fdf9f1f)
This patch I obtained from the repository and it appears to be the only change the author made after the last release. It's only purpose is to emit a message to the log in a certain error condition.

FreeBSD patches:

These patches are part of the FreeBSD port but could be useful for other BSDs as well.
pf.patch.gz - 831 bytes (MD5 = 369d53214c47faac0508a5f93af6e488)
This patch adds PF support to Frox for transparent proxying.
sstr.patch.gz - 370 bytes (MD5 = 4f40c2b2eb1d98436d2c49534e69e30a)
This patch adds some functionality to sstr_append_read to make it better work on BSDs.
htc.patch.gz - 269 bytes (MD5 = 3b6e5a8810369c88a5e3e6e55990ea80)
This patch fixes a small logic error in the HTTP caching code.

my patches:

rp.patch.gz - 1.041 bytes (MD5 = 369d53214c47faac0508a5f93af6e488)
reverse proxy patch, with this patch you pin Frox to a specific backend ftp server. In connection with local caching this can turn Frox into a caching reverse proxy for ftp.
sz.patch.gz - 995 bytes (MD5 = 92455c9f364c15102d764eae25af01a5)
size patch, with this patch the transferlog ("xferlog") will also contain the filesize of the transferred file.
fw.patch.gz - 851 bytes (MD5 = 4d9cad3891acf7b4d43fafd005b835a5)
fix warnings patch, this patch fixes a couple of warnings.
gb.patch.gz - 351 bytes (MD5 = d452c5524f8a323c3341007a214b6fbd)
goodbye patch, with this patch frox will emit the "221 Goodbye" message when quitting the ftp session. This fixes ftp monitoring via monit.
bind.patch.gz - 462 bytes (MD5 = 81159bdd0144ae1dc4b7f1cdec9c1a4a)
if randomly picking a port failes this patch will trigger a linear scan through the given port range to find an available port.

contributed patches:

lp.patch.gz - 1.068 bytes (MD5 = a1443f0787f5ff6308b06c030e2de0a6)
local port patch by Dmitry Rubinstein. To quote him: Frox does not bind to local port 20 when performing data transfer against the client in an active mode. This may become troublesome when working over a firewall, as well as in some other situations. I've created a patch upon 0.7.18 that introduces a new (fourth) port range, called ActiveLocalPorts (which will usually be equal to 20-20) and also takes care of reuse of ports.
I cleaned up his patch a bit so it applies cleanly.
cd.patch.gz - 520 bytes (MD5 = 45ced5440dff6ba8d82545d91405cbfb)
client data patch by Peter Pramberger. This patch ensures Frox always uses the IP to which the client has connected as the source of the control connection.

Current version:

frox-0.7.18.tar.bz2 - last original version 173.355 bytes (MD5 = d30c35b9820d706ff2f9a6ab3b501247)
frox-0.7.18p.tar.bz2 - all patches applied 171.704 bytes (MD5 = 143c3a87cb6f72358e76a02a74d6d3e7)

ToDo

  • add IPv6 support