prxs: PRoftpd eXtenSion tool
prxsprogram is used to build DSO modules (also known as "shared" modules).
The most current version of
prxs is distributed with the
ProFTPD source code.
Please contact TJ Saunders <tj at castaglia.org> with any questions, concerns, or suggestions regarding this program.
prxsis a tool for building and installing extension modules for the ProFTPD FTP server. This is achieved by building a dynamic shared object (DSO) from one or more source or object files which then can be loaded into the ProFTPD server at runtime via the
LoadModuledirective from the
To use this extension mechanism your platform has to support the DSO feature
proftpd executable has to be built with the
mod_dso module. The
prxs tool automatically complains if this is not the case. You
can check this yourself by manually running the command:
$ proftpd -lThe module
mod_dsoshould be part of the displayed list. If these requirements are fulfilled you can easily extend your ProFTPD server's functionality by installing your own modules with the DSO mechanism by the help of this
DSO documentation also
prxs works in more details.
usage: prxs <action> <opts> <source files> Actions: -c, --compile Compiles the listed .c source files into a proftpd DSO module. -i, --install Installs a compiled proftpd DSO module into the directory where proftpd expects to find loadable DSO modules. -d, --clean Removes any generated files, returning the build directory to a clean state. Options: -h, --help Displays this message. -n, --name Tells prxs the name of the module being compiled. By default, prxs determines the module name from the list of .c files listed, expecting to see a "mod_$name.c" file. -D key Passes these macros through to the compilation step. -D key=value Note that the space before the key is important. -I includedir Specify additional include file search directories. Note that the space before the directory is important. -L libdir Specify additional library file search directories. Note that the space before the directory is important. -l library Specify additional libraries for linking. Note that the space before the library name is important. At least one of the above actions must be specified when using prxs. More than one action can be specified at the same time. To use prxs all in one step, you could do: prxs -c -i -d mod_custom.c