mod_comb
The mod_comb
module implements non-standard COMB
command.
COMB
command can be found in some commercial FTP servers (SecureFTP Server, for example)
and used by some clients (CuteFTP,
SmartFTP, and others) to implement multistream upload.
This module takes additional sicurity checks aside to standard ProFTPD command enabling/disabling
(see <Limit>
instruction in ProFTPD documentation) It checks, that file segments
can be deleted by user with standard DELE
command and (optionally) check, that all file
segments has similar names.
Installation instructions are discussed here.
Please contact Lev Serebryakov <lev at serebryakov.spb.ru> with any questions, concerns, or suggestions regarding this module.
COMB
command combine (append) 2 or more files together, one
by one, and remove all files but first (which contains all data after
combining) after that.
The syntax for COMB
is:
COMB first-segment-name second-segment-name [next-segment-name ...]
Use of
Also, this command will be denied if
Additional segments will be deleted right after processing, so this command
need additional space equivalwnt to largest segment size.
The
By default, number of combined segments is unlimited. This directive can not be set to 1, because
it is meaningless value.
The
The given number is the number of bytes for the limit, and is followed by a units specifier of (case-insensitive) "Gb" (Gigabytes), "Mb" (Megabytes), "Kb" (Kilobytes), or "B" (bytes). The given number of bytes is multiplied by the appropriate factor.
By default, size segments is unlimited.
The
The given number is the number of bytes for the limit, and is followed by a units specifier of (case-insensitive) "Gb" (Gigabytes), "Mb" (Megabytes), "Kb" (Kilobytes), or "B" (bytes). The given number of bytes is multiplied by the appropriate factor.
By default, size COMB result is unlimited.
The
The given number is the number of bytes for the limit, and is followed by a units specifier of (case-insensitive) "Gb" (Gigabytes), "Mb" (Megabytes), "Kb" (Kilobytes), or "B" (bytes). The given number of bytes is multiplied by the appropriate factor.
Maximum size is 1Mb and minimum size is 64Kb.
The
If this check is turned on, all segment names must have common prefix and first segment name (result file name)
must be equal to this prefix. This check protects from combining (and removing) completely unrelated files.
Follow the normal steps for using third-party modules in proftpd:
Download version 0.1 (first public release) here.
COMB
command can be controlled via
<Limit>
sections, e.g.:
<Limit COMB>
AllowUser alex
DenyAll
</Limit>
DELE
command is
disabled for segment files.
CombMaxSegmentCount
Syntax: CombMaxSegmentCount Maximum count
Default: 0 (unlimited)
Context: server config, <VirtualHost>
, <Anonymous>
, <Global>
, <Directory>
, .ftpaccess
Module: mod_comb
Compatibility: 1.3.1
CombMaxSegmentCount
directive is used to limit number of combined segements.
CombMaxSegmentSize
Syntax: CombMaxSegmentSize number[units]
Default: 0 (unlimited)
Context: server config, <VirtualHost>
, <Anonymous>
, <Global>
, <Directory>
, .ftpaccess
Module: mod_comb
Compatibility: 1.3.1
CombMaxSegmentSize
directive is used to limit size of one segment.
CombMaxTotalSize
Syntax: CombMaxTotalSize number[units]
Default: 0 (unlimited)
Context: server config, <VirtualHost>
, <Anonymous>
, <Global>
, <Directory>
, .ftpaccess
Module: mod_comb
Compatibility: 1.3.1
CombMaxTotalSize
directive is used to limit total size of all segemnts (and result file).
CombBufferSize
Syntax: CombBufferSize number[units]
Default: 65536 bytes
Context: server config, <VirtualHost>
, <Anonymous>
, <Global>
, <Directory>
, .ftpaccess
Module: mod_comb
Compatibility: 1.3.1
CombBufferSize
directive is used to set size of memory buffer, used for combining files.
Module read and write up to this size bytes in each read/write operation.
CombCheckSegmentNames
Syntax: CombCheckSegmentNames on | off
Default: on
Context: server config, <VirtualHost>
, <Anonymous>
, <Global>
, <Directory>
, .ftpaccess
Module: mod_comb
Compatibility: 1.3.1
CombCheckSegmentNames
directive is used to turn on and off additional security check for segment file
names.
Installation
The mod_comb
module is distributed outside ProFTPD. Copy mod_comb.c
file
into
proftpd-dir/contrib/
./configure --with-modules=mod_site_misc
make
make install
Download
© Copyright 2008 Lev Serebryakov
All Rights Reserved