---
name: "curvecpmessage"
section: "1"
platform: "linux"
package: "nacl-tools"
version: "20110221-15"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/curvecpmessage"
---

# curvecpmessage(1)

Message-handling programs

## NAME

CurveCP — Message-handling programs

## SYNOPSIS

**curvecpmessage** \[**-q** *(optional)\]  \[***-Q** *(optional)\]  \[***-v** *(optional)\]  \[***-c** *(optional)\]  \[***-C** *(optional)\]  \[***-s** *(optional)\]  \[prog\]*

## DESCRIPTION

*This manual page documents briefly the*   **CurveCP** commands.

A traditional UNIX-style server such as ftpd handles just   one network connection, reading input from stdin and writing output  to stdout. A "superserver" such as inetd or tcpserver listens for   network connections and starts a separate server process for   each connection.

The **CurveCP** command-line tools have  an extra level of modularity. The **curvecpserver**  superserver listens for network connections. For each connection,   **curvecpserver** starts the   **curvecpmessage** message handler;   **curvecpmessage** then starts a server such as ftpd.  Then ftpd sends a stream of data to **curvecpmessage**,   which in turn sends messages to **curvecpserver**,   which encrypts and authenticates the messages and sends them inside  network packets. At the same time **curvecpclient** receives network packets, verifies and decrypts messages inside the   packets, and passes the messages to **curvecpmessage**;  **curvecpmessage** sends a stream of data to ftpd.   The same curvecpmessage tool is also used by   **curvecpclient**.

**curvecpserver** and   **curvecpclient** can use programs other than   **curvecpmessage**. Those programs can directly  generate messages in the CurveCP message format without talking to   separate tools such as ftpd; or they can support a completely   different protocol that reuses CurveCP's cryptographic layer   but transmits different kinds of messages.

## OPTIONS

How to use **curvecpmessage**:

- **-q** **optional**

  no error messages

- **-Q** **optional**

  print error messages (default)

- **-v** **optional**

  print extra information

- **-c** **optional**

  program is a client; server starts first

- **-C** **optional**

  program is a client that starts first

- **-s** **optional**

  program is a server (default)

- **prog**

  run this server

## SEE ALSO

curvecpserver (1), curvecpclient (1), inetd (8), tcpserver (1).

## AUTHOR

This manual page was written by Sergiusz Pawlowicz debian@pawlowicz.name for  the **Debian** system (and may be used by others). The source  of this page is a webpage https://curvecp.org/messageapi.html .  Permission is granted to copy, distribute and/or modify this  document under public domain.

This manual page was rewritten for the **Debian** distribution  because the original program does not have a manual page.
