ProFTPD module mod_copy

## ProFTPD module `mod_copy`

The `mod_copy` module implements `SITE CPFR` and `SITE CPTO` commands (analogous to `RNFR` and `RNTO`), which can be used to copy files/directories from one place to another on the server without having to transfer the data to the client and back.

This module is contained in the `mod_copy.c` file for ProFTPD 1.3.x, and is not compiled by default. Installation instructions are discussed here.

The most current version of `mod_copy` is distributed with the ProFTPD source code.

## Author

Please contact TJ Saunders <tj at castaglia.org> with any questions, concerns, or suggestions regarding this module.

## Directives

- CopyEngine

## `SITE` Commands

- SITE CPFR
- SITE CPTO

## CopyEngine

Syntax: CopyEngine on|off
Default: CopyEngine on
Context: server config, `<VirtualHost>`, `<Global>`
Module: mod_radius
Compatibility: 1.3.6rc1 and later

The `CopyEngine` directive enables or disables the module's handling of `SITE COPY` et al commands. If it is set to off this module ignores these commands.

## SITE CPFR

This `SITE` command specifies the source file/directory to use for copying from one place to another directly on the server.

The syntax for `SITE CPFR` is:

      SITE CPFR source-path

See also: SITE CPTO

## SITE CPTO

This `SITE` command specifies the destination file/directory to use for copying from one place to another directly on the server.

The syntax for `SITE CPTO` is:

      SITE CPTO destination-path

A client wishing to copy a file/directory first sends a `SITE CPFR` command, then a `SITE CPTO`; this is similar to how renames are handled using `RNFR` and `RNTO`.

Use of these `SITE` command can be controlled via `<Limit>`sections, e.g.:``

      <Limit SITE_COPY>
        AllowUser alex
        DenyAll
      </Limit>

See also: SITE CPFR

## Installation

To install `mod_copy`, copy the `mod_copy.c` file into:

      proftpd-dir/contrib/

after unpacking the latest proftpd-1.3.x source code. For including `mod_copy` as a staticly linked module:

      ./configure --with-modules=mod_copy

To build `mod_copy` as a DSO module:

      ./configure --enable-dso --with-shared=mod_copy

Then follow the usual steps:

      make
      make install

For those with an existing ProFTPD installation, you can use the `prxs` tool to add `mod_copy`, as a DSO module, to your existing server:

      # prxs -c -i -d mod_copy.c

© Copyright 2009-2015 TJ Saunders
All Rights Reserved