ns-slapd

title: ns-slapd(8)

summary: The main Directory Server daemon

text:
# ns-slapd(8)

## NAME
ns‐slapd - The main Directory Server daemon

## SYNOPSIS
ns-slapd -D configdir [-d debuglevel] [-i pidlogfile] [-v] [-V]

## DESCRIPTION
ns‐slapd launches the LDAP Directory Server

## OPTIONS
A summary of options is included below:

-v

Show version of program.

-D configdir

Specifies the configuration directory pointing at the instance to be started (e.g. /etc/dirsrv/slapd‐localhost)

-d debuglevel

Specifies the debuglevel to be used

-i pidlogfile

Specifies file where the pid of the process will be stored

## AUTHOR
ns-slapd was written by the 389 Project.

## REPORTING BUGS
Report bugs to https://github.com/389ds/389-ds-base/issues/new

## COPYRIGHT
Copyright © 2001 Sun Microsystems, Inc. Used by permission.

Copyright © 2017 Red Hat, Inc.

This manual page was written by Michele Baldessari <michele@pupazzo.org>, for the Debian project (but may be used by others).

This is free software. You may redistribute copies of it under the terms of the Directory Server license found in the LICENSE file of this software distribution. This license is essentially the GNU General Public License version 2 with an exception for plug‐in distribution.


title: openldap_to_ds(8)

text:
# openldap_to_ds(8)

## NAME
openldap_to_ds

## SYNOPSIS
openldap_to_ds [-h] [-v] [--confirm] [--ignore-overlay [IGNORE_OVERLAY ...]] [--ignore-schema-oid [IGNORE_SCHEMA_OID ...]] [--ignore-attribute [IGNORE_ATTRIBUTE ...]] [-D BINDDN] [-w BINDPW] [-W] [-y PWDFILE] [-Z] instance slapd_config [slapd_ldif ...]

## DESCRIPTION
Migrate from OpenLDAP to 389 Directory Server.

This command automates the process of converting an OpenLDAP server to a 389 Directory Server instance. This is a "best effort" as OpenLDAP and 389 Directory Server are not identical, so some features still may require hand migration, or can not be migrated at all. This tool intends to migrate the majority of major content such as database data, index configuration, schema and some overlays (plugins).

Content we can migrate:

* Schema * Database content (from ldif backup) * Database indexes * MemberOf Overlay (memberof) * Referential Integrity Overlay (refint) * Attribute Unique Overlay (unique)

Some content that can *not* be migrated include some overlays (plugins), access controls and replication configuration. Examples of plugins that can not be migrated:

* Access/Audit logging (built into 389-ds by default) * Chaining (Requires manual migration, may not be equivalent) * Constraints (No equivalent plugin) * Dynamic Directory Services (Requires manual migration to Class of Service Plugin) * Dynamic Groups/Lists (Requires manual migration to Roles Plugin) * Proxy Cache (No equivalent plugin, 389-ds supports read-only replicas) * Password Policy (Built into 389-ds, requires manual migration) * Rewrite/Remap (No equivalent plugin) * Sync Provider (Requires manual migration to Replication OR Content Sync Plugin) * Value Sorting (No equivalent plugin)

This must be run on the server running the 389 Directory Instance as it requires filesystem access. You must run this tool as either root or dirsrv users.

The following is required from your openldap instance:

* slapd.d configuration directory in ldif/dynamic format

* (optional) ldif file backup of the database from slapcat

These can be created on the OpenLDAP host and copied to the 389 Directory Server host. No destructive actions are applied to the OpenLDAP instance.

If you are already using the ldif/dynamic format from /etc/openldap/slapd.d, you should take a copy of this to use in the migration.

cp -a /etc/openldap/slapd.d /root/slapd.d

If you are using the slapd.conf configuration file, you can convert this to the dynamic configuration without affecting your running instance with:

slaptest -f /etc/openldap/slapd.conf -F /root/slapd.d

To optionally allow your database content to be migrated you may create an ldif backup of the content that 389 Directory Server can import. You must run this for each backend (suffix) of your instance with the command:

\# If using slapd.conf config format

slapcat -f /etc/openldap/slapd.conf -b SUFFIX -l /root/suffix.ldif

\# If using slapd.d config format

slapcat -F /etc/openldap/slapd.d -b SUFFIX -l /root/suffix.ldif

You must already have a 389 Directory Server you want to import into. You can create this with the `dscreate` tool. Data and configuration in this instance WILL be modified or removed (ie potentially destructive actions).

It is strongly advised you test this tool on a non-production system first to be sure the process and changes are understood.

This only needs to be run on the first-instance in a 389 Directory Server topology. All other replicas should be configured from this instance post migration.

instance

The name of the 389-ds instance to have openldap data migrated into

slapd_config

The path to the openldap slapd.d configuration that will be migrated

slapd_ldif

The path to exported database ldifs to be imported.

## OPTIONS
-v, --verbose

Display verbose operation tracing during command execution

--confirm

Confirm that you want to apply these migration actions to the 389-ds instance. By default no actions are taken.

--ignore-overlay [IGNORE_OVERLAY ...]

Ignore the following openldap overlays from having their configuration migrated to equivalent 389-ds plugins. Valid options are memberof, refint, unique.

--ignore-schema-oid [IGNORE_SCHEMA_OID ...]

Ignore the following openldap schema attribute or class OIDS from being migrated to 389-ds. This *may* create inconsistent schema which could cause the migration to fail. Use with caution.

--ignore-attribute [IGNORE_ATTRIBUTE ...]

Ignore the following attributes from entries that are loaded from the ldif. For example, you may not want to import userPassword hashes.

-D BINDDN, --binddn BINDDN

The 389 Directory Server account to bind as for executing migration operations

-w BINDPW, --bindpw BINDPW

Password for binddn

-W, --prompt

Prompt for password for the bind DN

-y PWDFILE, --pwdfile PWDFILE

Specifies a file containing the password for the binddn

-Z, --starttls

Connect to 389 Directory Server with StartTLS

## AUTHOR

```
"Red Hat, Inc., and William Brown" <389-devel@lists.fedoraproject.org>
```


title: 3proxy(8)

text:
# 3proxy(8)

## NAME
3proxy - 3[APA3A] tiny proxy server, or trivial proxy server, or free proxy server

## SYNOPSIS
3proxy [config_file]

3proxy [--install]

3proxy [--remove]

## DESCRIPTION
3proxy is universal proxy server. It can be used to provide internal users wuth fully controllable access to external resources or to provide external users with access to internal resources. 3proxy is not developed to replace squid(8), but it can extend functionality of existing cashing proxy. It can be used to route requests between different types of clients and proxy servers. Think about it as application level gateway with configuration like hardware router has for network layer. It can establish multiple gateways with HTTP and HTTPS proxy with FTP over HTTP support, SOCKS v4, v4.5 and v5, POP3 proxy, UDP and TCP portmappers. Each gateway is started from configuration file like independant service proxy(8) socks(8) pop3p(8) tcppm(8) udppm(8) ftppr(8) dnspr but 3proxy is not a kind of wrapper or superserver for this daemons. It just has same code compiled in, but provides much more functionality. SOCKSv5 implementatation allows to use 3proxy with any UDP or TCP based client applications designed without proxy support (with SocksCAP, FreeCAP or another client-side redirector under Windows of with socksification library under Unix). So you can play your favourite games, listen music, exchange files and messages and even accept incoming connections behind proxy server.

dnspr does not exist as independant service. It´ DNS caching proxy (it requires nscache and nserver to be set in configuration. Only A-records are cached. Please note, the this caching is mostly a 'hack' and has nothing to do with real DNS server, but it works perfectly for SOHO networks.

3proxy supports access control lists (ACL) like network router. Source and destination networks and destination port can be specified. In addition, usernames and gateway action (for example GET or POST) can be used in ACLs. In order to filter request on username basis user must be authenticated somehow. There are few authentication types including password authentication and authentication by NetBIOS name for Windows clients (it´s very like ident authentication). Depending on ACL action request can be allowed, denied or redirected to another host or to another proxy server or even to a chain of proxy servers.

It supports different types of logging: to logfiles, syslog(3) (only under Unix) or to ODBC database. Logging format is turnable to provide compatibility with existing log file parsers. It makes it possible to use 3proxy with IIS, ISA, Apache or Squid log parsers.

## OPTIONS
config_file

Name of config file. See 3proxy.cfg(3) for configuration file format. Under Windows, if config_file is not specified, 3proxy looks for file named 3proxy.cfg in the default location (in same directory with executable file and in current directory). Under Unix, if no config file is specified, 3proxy reads configuration from stdin. It makes it possible to use 3proxy.cfg file as executable script just by setting +x mode and adding

\#!/usr/local/3proxy/3proxy

as a first line in 3proxy.cfg

--install

(Windows NT family only) install 3proxy as a system service

--remove

(Windows NT family only) remove 3proxy from system services

## SIGNALS
Under Unix there are few signals 3proxy catches. See kill(1).

SIGTERM

cleanup connections and exit

SIGPAUSE

stop to accept new connections, on second signal - start and re-read configuration

SIGCONT

start to accept new conenctions

SIGUSR1

reload configuration

Under Windows, if 3proxy is installed as service you can standard service management to start, stop, pause and continue 3proxy service, for example:

net start 3proxy

net stop 3proxy

net pause 3proxy

net continue 3proxy

Web admin service can also be used to reload configuration. Use wget to automate this task.

## FILES
/usr/local/3proxy/3proxy.cfg (3proxy.cfg)

3proxy configuration file

## BUGS
Report all bugs to 3proxy@security.nnov.ru

## SEE ALSO
3proxy.cfg(3), proxy(8), ftppr(8), socks(8), pop3p(8), tcppm(8), udppm(8), kill(1), syslogd(8),

http://3proxy.ru/

## TRIVIA
3APA3A is pronounced as ``zaraza´´.

## AUTHORS
3proxy is designed by 3APA3A (3APA3A@security.nnov.ru), Vladimir Dubrovin (vlad@sandy.ru)


ftppr

title: ftppr(8)

summary: FTP proxy gateway service

text:
# ftppr(8)

## NAME
ftppr - FTP proxy gateway service

## SYNOPSIS
ftppr [-d] [-l[[@]logfile]] [-pport] [-iinternal_ip] [-eexternal_ip] [-hdefault_ip[:port]]

## DESCRIPTION
ftppr is FTP gateway service to allow internal users to access external FTP servers.

## OPTIONS
-I

Inetd mode. Standalone service only.

-d

Daemonise. Detach service from console and run in the background.

-t

Be silenT. Do not log start/stop/accept error records.

-u

Never look for username authentication.

-e

External address. IP address of interface proxy should initiate connections from. By default system will deside which address to use in accordance with routing table.

-i

Internal address. IP address proxy accepts connections to. By default connection to any interface is accepted. It´s usually unsafe.

-h

Default destination. It's used if targed address is not specified by user.

-p

Port. Port proxy listens for incoming connections. Default is 21.

-l

Log. By default logging is to stdout. If logfile is specified logging is to file. Under Unix, if ´@´ preceeds logfile, syslog is used for logging.

## CLIENTS
You can use any FTP client, regardless of FTP proxy support. For client with FTP proxy support configure internal_ip and port in FTP proxy parameters. For clients without FTP proxy support use internal_ip and port as FTP server. Address of real FTP server must be configured as a part of FTP username. Format for username is username@server, where server is address of FTP server and username is user´s login on this FTP server. Login itself may contain ´@´ sign. Only cleartext authentication is currently supported.

## BUGS
Report all bugs to 3proxy@security.nnov.ru

## SEE ALSO
3proxy(8), proxy(8), pop3p(8), socks(8), tcppm(8), udppm(8), syslogd(8),

http://3proxy.ru/

## AUTHORS
3proxy is designed by 3APA3A (3APA3A@security.nnov.ru), Vladimir Dubrovin (vlad@sandy.ru)


icqpr

title: icqpr(8)

summary: ICQ (AOL OSCAR) proxy

text:
# icqpr(8)

## NAME
icqpr - ICQ (AOL OSCAR) proxy

## SYNOPSIS
icqpr [-d] [-l[[@]logfile]] [-iinternal_ip] [-eexternal_ip] local_port remote_host remote_port

## DESCRIPTION
icqpr forwards ICQ connections from local to remote ICQ host. Most usual is icqpr 5190 login.icq.com 5190

## OPTIONS
-I

Inetd mode. Standalone service only.

-d

Daemonise. Detach service from console and run in the background.

-t

Be silenT. Do not log start/stop/accept error records.

-e

External address. IP address of interface proxy should initiate connections from. By default system will deside which address to use in accordance with routing table.

-i

Internal address. IP address proxy accepts connections to. By default connection to any interface is accepted. It´s usually unsafe.

-l

Log. By default logging is to stdout. If logfile is specified logging is to file. Under Unix, if ´@´ preceeds logfile, syslog is used for logging.

## ARGUMENTS
local_port

- port icqpr accepts connection

remote_host

- IP address of the host connection is forwarded to

remote_port

- remote port connection is forwarded to

## CLIENTS
You can use any ICQ/AOL client where server address configuration is supported or spoof login server name (e.g. login.icq.com) with IP address of proxy server via DNS record or hosts file. Use internal_ip and local_port as a destination in client application. Connection is forwarded to remote_host:remote_port

## BUGS
Report all bugs to 3proxy@security.nnov.ru

## SEE ALSO
3proxy(8), proxy(8), ftppr(8), socks(8), pop3p(8), udppm(8), syslogd(8),

http://3proxy.ru/

## AUTHORS
3proxy is designed by 3APA3A (3APA3A@security.nnov.ru), Vladimir Dubrovin (vlad@sandy.ru)


title: pop3p(8)

summary: POP3 proxy gateway service

text:
# pop3p(8)

## NAME
pop3p - POP3 proxy gateway service

## SYNOPSIS
pop3p [-d] [-l[[@]logfile]] [-pport] [-iinternal_ip] [-eexternal_ip] [-hdefault_ip[:port]]

## DESCRIPTION
pop3p is POP3 gateway service to allow internal users to access external POP3 servers.

## OPTIONS
-I

Inetd mode. Standalone service only.

-d

Daemonise. Detach service from console and run in the background.

-t

Be silenT. Do not log start/stop/accept error records.

-u

Never look for username authentication.

-e

External address. IP address of interface proxy should initiate connections from. By default system will deside which address to use in accordance with routing table.

-i

Internal address. IP address proxy accepts connections to. By default connection to any interface is accepted. It´s usually unsafe.

-p

Port. Port proxy listens for incoming connections. Default is 110.

-h

Default destination. It's used if targed address is not specified by user.

-l

Log. By default logging is to stdout. If logfile is specified logging is to file. Under Unix, if ´@´ preceeds logfile, syslog is used for logging.

## CLIENTS
You can use any MUA (Mail User Agent) with POP3 support. Set client to use internal_ip and port as a POP3 server. Address of real POP3 server must be configured as a part of POP3 username. Format for username is username@server, where server is address of POP3 server and username is user´s login on this POP3 server. Login itself may contain ´@´ sign. Only cleartext authentication is supported, because challenge-response authentication (APOP, CRAM-MD5, etc) requires challenge from server before we know which server to connect.

## BUGS
Report all bugs to 3proxy@security.nnov.ru

## SEE ALSO
3proxy(8), ftppr(8), proxy(8), socks(8), tcppm(8), udppm(8), syslogd(8),

http://3proxy.ru/

## AUTHORS
3proxy is designed by 3APA3A (3APA3A@security.nnov.ru), Vladimir Dubrovin (vlad@sandy.ru)


proxy

title: proxy(8)

summary: HTTP proxy gateway service

text:
# proxy(8)

## NAME
proxy - HTTP proxy gateway service

## SYNOPSIS
proxy [-d][-a] [-l[[@]logfile]] [-pport] [-iinternal_ip] [-eexternal_ip]

## DESCRIPTION
proxy is HTTP gateway service with HTTPS and FTP over HTTPS support.

## OPTIONS
-I

Inetd mode. Standalone service only.

-d

Daemonise. Detach service from console and run in the background.

-t

Be silenT. Do not log start/stop/accept error records.

-u

Never ask for username authentication

-e

External address. IP address of interface proxy should initiate connections from. By default system will deside which address to use in accordance with routing table.

-i

Internal address. IP address proxy accepts connections to. By default connection to any interface is accepted. It´s usually unsafe.

-a

Anonymous. Hide information about client.

-a1

Anonymous. Show fake information about client.

-p

Port. Port proxy listens for incoming connections. Default is 3128.

-l

Log. By default logging is to stdout. If logfile is specified logging is to file. Under Unix, if ´@´ preceeds logfile, syslog is used for logging.

## CLIENTS
You should use client with HTTP proxy support or configure router to redirect HTTP traffic to proxy (transparent proxy). Configure client to connect to internal_ip and port. HTTPS support allows to use almost any TCP based protocol. If you need to limit clients, use 3proxy(8) instead.

## BUGS
Report all bugs to 3proxy@security.nnov.ru

## SEE ALSO
3proxy(8), ftppr(8), socks(8), pop3p(8), tcppm(8), udppm(8), syslogd(8),

http://3proxy.ru/

## AUTHORS
3proxy is designed by 3APA3A (3APA3A@security.nnov.ru), Vladimir Dubrovin (vlad@sandy.ru)


smtpp

title: smtpp(8)

summary: SMTP proxy gateway service

text:
# smtpp(8)

## NAME
smtpp - SMTP proxy gateway service

## SYNOPSIS
smtpp [-d] [-l[[@]logfile]] [-pport] [-iinternal_ip] [-eexternal_ip] [-hdefault_ip[:port]]

## DESCRIPTION
smtpp is SMTP gateway service to allow internal users to access external SMTP servers.

## OPTIONS
-I

Inetd mode. Standalone service only.

-d

Daemonise. Detach service from console and run in the background.

-t

Be silenT. Do not log start/stop/accept error records.

-u

Never look for username authentication.

-e

External address. IP address of interface proxy should initiate connections from. By default system will deside which address to use in accordance with routing table.

-i

Internal address. IP address proxy accepts connections to. By default connection to any interface is accepted. It´s usually unsafe.

-p

Port. Port proxy listens for incoming connections. Default is 25.

-h

Default destination. It's used if targed address is not specified by user.

-l

Log. By default logging is to stdout. If logfile is specified logging is to file. Under Unix, if ´@´ preceeds logfile, syslog is used for logging.

## CLIENTS
You can use any MUA (Mail User Agent) with SMTP authentication support. Set client to use internal_ip and port as a SMTP server. Address of real SMTP server must be configured as a part of SMTP username. Format for username is username@server, where server is address of SMTP server and username is user´s login on this SMTP server. Login itself may contain ´@´ sign. Only cleartext authentication is supported, because challenge-response authentication (CRAM-MD5, SPA, etc) requires challenge from server before we know which server to connect.

## BUGS
Report all bugs to 3proxy@security.nnov.ru

## SEE ALSO
3proxy(8), ftppr(8), proxy(8), socks(8), tcppm(8), udppm(8), syslogd(8),

http://3proxy.ru/

## AUTHORS
3proxy is designed by 3APA3A (3APA3A@security.nnov.ru), Vladimir Dubrovin (vlad@sandy.ru)


socks

title: socks(8)

summary: SOCKS 4/4.5/5 gateway service

text:
# socks(8)

## NAME
socks - SOCKS 4/4.5/5 gateway service

## SYNOPSIS
socks [-d] [-l[[@]logfile]] [-pport] [-iinternal_ip] [-eexternal_ip]

## DESCRIPTION
socks is SOCKS server. It supports SOCKSv4, SOCKSv4.5 (extension to v4 for server side name resolution) and SOCKSv5. SOCKSv5 specification allows both outgoing and reverse TCP connections and UDP portmapping.

## OPTIONS
-I

Inetd mode. Standalone service only.

-d

Daemonise. Detach service from console and run in the background.

-t

Be silenT. Do not log start/stop/accept error records.

-u

Never ask for username authentication

-e

External address. IP address of interface proxy should initiate connections from. External IP must be specified if you need incoming connections. By default system will deside which address to use in accordance with routing table.

-i

Internal address. IP address proxy accepts connections to. By default connection to any interface is accepted. It´s usually unsafe.

-p

Port. Port proxy listens for incoming connections. Default is 1080.

-l

Log. By default logging is to stdout. If logfile is specified logging is to file. Under Unix, if ´@´ preceeds logfile, syslog is used for logging.

## CLIENTS
You should use client with SOCKS support or use some socksification support (for example SocksCAP or FreeCAP). Configure client to use internal_ip and port. SOCKS allows to use almost any application protocol without limitation. This implementation also allows to open priviledged port on server (if socks has sufficient privileges). If you need to control access use 3proxy(8) instead.

## BUGS
Report all bugs to 3proxy@security.nnov.ru

## SEE ALSO
3proxy(8), proxy(8), ftppr(8), pop3p(8), tcppm(8), udppm(8), syslogd(8),

http://3proxy.ru/

## AUTHORS
3proxy is designed by 3APA3A (3APA3A@security.nnov.ru), Vladimir Dubrovin (vlad@sandy.ru)


tcppm

title: tcppm(8)

summary: TCP port mapper

text:
# tcppm(8)

## NAME
tcppm - TCP port mapper

## SYNOPSIS
tcppm [-d] [-l[[@]logfile]] [-iinternal_ip] [-eexternal_ip] local_port remote_host remote_port

## DESCRIPTION
tcppm forwards connections from local to remote TCP port

## OPTIONS
-I

Inetd mode. Standalone service only.

-d

Daemonise. Detach service from console and run in the background.

-t

Be silenT. Do not log start/stop/accept error records.

-e

External address. IP address of interface proxy should initiate connections from. By default system will deside which address to use in accordance with routing table.

-i

Internal address. IP address proxy accepts connections to. By default connection to any interface is accepted. It´s usually unsafe.

-l

Log. By default logging is to stdout. If logfile is specified logging is to file. Under Unix, if ´@´ preceeds logfile, syslog is used for logging.

## ARGUMENTS
local_port

- port tcppm accepts connection

remote_host

- IP address of the host connection is forwarded to

remote_port

- remote port connection is forwarded to

## CLIENTS
Any TCP based application can be used as a client. Use internal_ip and local_port as a destination in client application. Connection is forwarded to remote_host:remote_port

## BUGS
Report all bugs to 3proxy@security.nnov.ru

## SEE ALSO
3proxy(8), proxy(8), ftppr(8), socks(8), pop3p(8), udppm(8), syslogd(8),

http://3proxy.ru/

## AUTHORS
3proxy is designed by 3APA3A (3APA3A@security.nnov.ru), Vladimir Dubrovin (vlad@sandy.ru)


udppm

title: udppm(8)

summary: UDP port mapper

text:
# udppm(8)

## NAME
udppm - UDP port mapper

## SYNOPSIS
pop3p [-ds] [-l[[@]logfile]] [-iinternal_ip] [-eexternal_ip] local_port remote_host remote_port

## DESCRIPTION
udppm forwards datagrams from local to remote UDP port

## OPTIONS
-I

Inetd mode. Standalone service only.

-d

Daemonise. Detach service from console and run in the background.

-t

Be silenT. Do not log start/stop/accept error records.

-e

External address. IP address of interface proxy should initiate datagrams from. By default system will deside which address to use in accordance with routing table.

-i

Internal address. IP address proxy accepts datagrams to. By default connection to any interface is accepted. It´s usually unsafe.

-l

Log. By default logging is to stdout. If logfile is specified logging is to file. Under Unix, if ´@´ preceeds logfile, syslog is used for logging.

-s

Single packet. By default only one client can use udppm service, but if -s is specified only one packet will be forwarded between client and server. It allows to share service between multiple clients for single packet services (for example name lookups).

## ARGUMENTS
local_port

- port udppm accepts datagrams

remote_host

- IP address of the host datagrams are forwarded to

remote_port

- remote port datagrams are forwarded to

## CLIENTS
Any UDP based application can be used as a client. Use internal_ip and local_port as a destination in client application. All datagrams are forwarded to remote_host:remote_port

## BUGS
Report all bugs to 3proxy@security.nnov.ru

## SEE ALSO
3proxy(8), proxy(8), ftppr(8), socks(8), pop3p(8), udppm(8), syslogd(8),

http://3proxy.ru/

## AUTHORS
3proxy is designed by 3APA3A (3APA3A@security.nnov.ru), Vladimir Dubrovin (vlad@sandy.ru)


afl-addseeds

package: AFLplusplus

title: afl-addseeds(8)

text:
# afl-addseeds(8)

## NAME
afl-addseeds

## SYNOPSIS
Syntax: afl-addseeds -o afl-out-dir [-i seed_file_or_dir] seed_file_or_seed_dir seed_file_or_seed_dir ...

## OPTIONS

```
Options:

  -o afl-out-dir       the output directory being used in the fuzzing campaign

  -i seed_file_or_dir  file or directory of files to add
Adds new seeds to an existing AFL++ fuzzing campaign.
```

## AUTHOR
AFL++ was written by Michal "lcamtuf" Zalewski and is maintained by Marc "van Hauser" Heuse <mh@mh-sec.de>, Dominik Maier <domenukk@gmail.com>, Andrea Fioraldi <andreafioraldi@gmail.com> and Heiko "hexcoder-" Eissfeldt <heiko.eissfeldt@hexco.de> The homepage of AFL++ is: https://github.com/AFLplusplus/AFLplusplus

## LICENSE
Apache License Version 2.0, January 2004


afl-analyze

title: afl-analyze(8)

text:
# afl-analyze(8)

## NAME
afl-analyze

## SYNOPSIS
afl-analyze [ options ] -- /path/to/target_app [ ... ]

## OPTIONS

```
Required parameters:

  -i file       - input test case to be analyzed by the tool
Execution control settings:

  -f file       - input file read by the tested program (stdin)

  -t msec       - timeout for each run (1000 ms)

  -m megs       - memory limit for child process (0 MB)

  -O            - use binary-only instrumentation (FRIDA mode)

  -Q            - use binary-only instrumentation (QEMU mode)

  -U            - use unicorn-based instrumentation (Unicorn mode)

  -W            - use qemu-based instrumentation with Wine (Wine mode)

  -X            - use Nyx mode
Analysis settings:

  -e            - look for edge coverage only, ignore hit counts
For additional tips, please consult docs/README.md.
Environment variables used:
TMPDIR: directory to use for temporary input files
ASAN_OPTIONS: custom settings for ASAN

              (must contain abort_on_error=1 and symbolize=0)
MSAN_OPTIONS: custom settings for MSAN

              (must contain exitcode=86 and symbolize=0)
AFL_ANALYZE_HEX: print file offsets in hexadecimal instead of decimal
AFL_KILL_SIGNAL: Signal ID delivered to child processes on timeout, etc.

                 (default: SIGKILL)
AFL_FORK_SERVER_KILL_SIGNAL: Kill signal for the fork server on termination

                             (default: SIGTERM). If unset and AFL_KILL_SIGNAL is

                             set, that value will be used.
AFL_MAP_SIZE: the shared memory size for that target. must be >= the size

              the target was compiled for
AFL_PRELOAD: LD_PRELOAD / DYLD_INSERT_LIBRARIES settings for target
AFL_SKIP_BIN_CHECK: skip checking the location of and the target
```

## AUTHOR
AFL++ was written by Michal "lcamtuf" Zalewski and is maintained by Marc "van Hauser" Heuse <mh@mh-sec.de>, Dominik Maier <domenukk@gmail.com>, Andrea Fioraldi <andreafioraldi@gmail.com> and Heiko "hexcoder-" Eissfeldt <heiko.eissfeldt@hexco.de> The homepage of AFL++ is: https://github.com/AFLplusplus/AFLplusplus

## LICENSE
Apache License Version 2.0, January 2004


afl-c++

title: afl-c++(8)

text:
# afl-c++(8)

## NAME
afl-cc - afl-cc

## SYNOPSIS

Location : ?[0mmode_final_checkout(), src/afl-cc.c:1235

## OPTIONS

```

```

## AUTHOR
AFL++ was written by Michal "lcamtuf" Zalewski and is maintained by Marc "van Hauser" Heuse <mh@mh-sec.de>, Dominik Maier <domenukk@gmail.com>, Andrea Fioraldi <andreafioraldi@gmail.com> and Heiko "hexcoder-" Eissfeldt <heiko.eissfeldt@hexco.de> The homepage of AFL++ is: https://github.com/AFLplusplus/AFLplusplus

## LICENSE
Apache License Version 2.0, January 2004


afl-cc

title: afl-cc(8)

text:
# afl-cc(8)

## NAME
afl-cc - afl-cc

## SYNOPSIS

Location : ?[0mmode_final_checkout(), src/afl-cc.c:1235

## OPTIONS

```

```

## AUTHOR
AFL++ was written by Michal "lcamtuf" Zalewski and is maintained by Marc "van Hauser" Heuse <mh@mh-sec.de>, Dominik Maier <domenukk@gmail.com>, Andrea Fioraldi <andreafioraldi@gmail.com> and Heiko "hexcoder-" Eissfeldt <heiko.eissfeldt@hexco.de> The homepage of AFL++ is: https://github.com/AFLplusplus/AFLplusplus

## LICENSE
Apache License Version 2.0, January 2004


afl-clang-fast

title: afl-clang-fast(8)

text:
# afl-clang-fast(8)

## NAME
afl-cc - afl-cc

## SYNOPSIS

Location : ?[0mmode_final_checkout(), src/afl-cc.c:1235

## OPTIONS

```

```

## AUTHOR
AFL++ was written by Michal "lcamtuf" Zalewski and is maintained by Marc "van Hauser" Heuse <mh@mh-sec.de>, Dominik Maier <domenukk@gmail.com>, Andrea Fioraldi <andreafioraldi@gmail.com> and Heiko "hexcoder-" Eissfeldt <heiko.eissfeldt@hexco.de> The homepage of AFL++ is: https://github.com/AFLplusplus/AFLplusplus

## LICENSE
Apache License Version 2.0, January 2004


afl-clang-fast++

title: afl-clang-fast++(8)

text:
# afl-clang-fast++(8)

## NAME
afl-cc - afl-cc

## SYNOPSIS

Location : ?[0mmode_final_checkout(), src/afl-cc.c:1235

## OPTIONS

```

```

## AUTHOR
AFL++ was written by Michal "lcamtuf" Zalewski and is maintained by Marc "van Hauser" Heuse <mh@mh-sec.de>, Dominik Maier <domenukk@gmail.com>, Andrea Fioraldi <andreafioraldi@gmail.com> and Heiko "hexcoder-" Eissfeldt <heiko.eissfeldt@hexco.de> The homepage of AFL++ is: https://github.com/AFLplusplus/AFLplusplus

## LICENSE
Apache License Version 2.0, January 2004


afl-clang-lto

title: afl-clang-lto(8)

text:
# afl-clang-lto(8)

## NAME
afl-cc - afl-cc

## SYNOPSIS

Location : ?[0mmode_final_checkout(), src/afl-cc.c:1235

## OPTIONS

```

```

## AUTHOR
AFL++ was written by Michal "lcamtuf" Zalewski and is maintained by Marc "van Hauser" Heuse <mh@mh-sec.de>, Dominik Maier <domenukk@gmail.com>, Andrea Fioraldi <andreafioraldi@gmail.com> and Heiko "hexcoder-" Eissfeldt <heiko.eissfeldt@hexco.de> The homepage of AFL++ is: https://github.com/AFLplusplus/AFLplusplus

## LICENSE
Apache License Version 2.0, January 2004


afl-clang-lto++

title: afl-clang-lto++(8)

text:
# afl-clang-lto++(8)

## NAME
afl-cc - afl-cc

## SYNOPSIS

Location : ?[0mmode_final_checkout(), src/afl-cc.c:1235

## OPTIONS

```

```

## AUTHOR
AFL++ was written by Michal "lcamtuf" Zalewski and is maintained by Marc "van Hauser" Heuse <mh@mh-sec.de>, Dominik Maier <domenukk@gmail.com>, Andrea Fioraldi <andreafioraldi@gmail.com> and Heiko "hexcoder-" Eissfeldt <heiko.eissfeldt@hexco.de> The homepage of AFL++ is: https://github.com/AFLplusplus/AFLplusplus

## LICENSE
Apache License Version 2.0, January 2004


afl-cmin

title: afl-cmin(8)

text:
# afl-cmin(8)

## NAME
afl-cmin

## SYNOPSIS
Hint: install python module "tqdm" to show progress bar

## OPTIONS

```
usage: afl-cmin.py [-h] -i dir -o dir [-f file] [-m megs] [-t msec] [-O] [-Q]

                   [-U] [-X] [--crash-dir dir] [-A] [-C] [-e] [-T WORKERS]

                   [--as_queue] [--no-dedup] [--debug]

                   /path/to/target_app [args ...]
positional arguments:

  /path/to/target_app

  args
options:

  -h, --help           show this help message and exit
Required parameters:

  -i dir               input directory with the starting corpus

  -o dir               output directory for minimized files
Execution control settings:

  -f file              location read by the fuzzed program (stdin)

  -m megs              memory limit for child process (default: none)

  -t msec              timeout for each run (default: 5000)

  -O                   use binary-only instrumentation (FRIDA mode)

  -Q                   use binary-only instrumentation (QEMU mode)

  -U                   use unicorn-based instrumentation (Unicorn mode)

  -X                   use Nyx mode
Minimization settings:

  --crash-dir dir      move crashes to a separate dir, always deduplicated

  -A                   allow crashes and timeouts (not recommended)

  -C                   keep crashing inputs, reject everything else

  -e                   solve for edge coverage only, ignore hit counts
Misc:

  -T WORKERS           number of concurrent worker (default: 1)

  --as_queue           output file name like "id:000000,hash:value"

  --no-dedup           skip deduplication step for corpus files

  --debug
```

## AUTHOR
AFL++ was written by Michal "lcamtuf" Zalewski and is maintained by Marc "van Hauser" Heuse <mh@mh-sec.de>, Dominik Maier <domenukk@gmail.com>, Andrea Fioraldi <andreafioraldi@gmail.com> and Heiko "hexcoder-" Eissfeldt <heiko.eissfeldt@hexco.de> The homepage of AFL++ is: https://github.com/AFLplusplus/AFLplusplus

## LICENSE
Apache License Version 2.0, January 2004


afl-cmin.bash

title: afl-cmin.bash(8)

text:
# afl-cmin.bash(8)

## NAME
afl-cmin.bash

## SYNOPSIS
Usage: ./afl-cmin.bash [ options ] -- /path/to/target_app [ ... ]

## OPTIONS

```
Required parameters:

  -i dir        - input directory with the starting corpus

  -o dir        - output directory for minimized files
Execution control settings:

  -T tasks      - how many parallel processes to create (default=1, "all"=nproc)

  -f file       - location read by the fuzzed program (default: stdin)

  -m megs       - memory limit for child process (default=none MB)

  -t msec       - run time limit for child process (default: 5000ms)

  -O            - use binary-only instrumentation (FRIDA mode)

  -Q            - use binary-only instrumentation (QEMU mode)

  -U            - use unicorn-based instrumentation (Unicorn mode)

  -X            - use Nyx mode

Minimization settings:

  -A            - allow crashing and timeout inputs

  -C            - keep crashing inputs, reject everything else

  -e            - solve for edge coverage only, ignore hit counts
For additional tips, please consult README.md.
This script cannot read filenames that end with a space ' '.
Environment variables used:
AFL_KEEP_TRACES: leave the temporary <out_dir>.traces directory
AFL_NO_FORKSRV: run target via execve instead of using the forkserver
AFL_PATH: last resort location to find the afl-showmap binary
AFL_SKIP_BIN_CHECK: skip check for target binary
AFL_CUSTOM_MUTATOR_LIBRARY: custom mutator library (post_process and send)
AFL_PYTHON_MODULE: custom mutator library (post_process and send)
```

## AUTHOR
AFL++ was written by Michal "lcamtuf" Zalewski and is maintained by Marc "van Hauser" Heuse <mh@mh-sec.de>, Dominik Maier <domenukk@gmail.com>, Andrea Fioraldi <andreafioraldi@gmail.com> and Heiko "hexcoder-" Eissfeldt <heiko.eissfeldt@hexco.de> The homepage of AFL++ is: https://github.com/AFLplusplus/AFLplusplus

## LICENSE
Apache License Version 2.0, January 2004


afl-cmin.py

title: afl-cmin.py(8)

text:
# afl-cmin.py(8)

## NAME
afl-cmin.py

## SYNOPSIS

[-U] [-X] [--crash-dir dir] [-A] [-C] [-e] [-T WORKERS]

## OPTIONS

```
                   [--as_queue] [--no-dedup] [--debug]

                   /path/to/target_app [args ...]
positional arguments:

  /path/to/target_app

  args
options:

  -h, --help           show this help message and exit
Required parameters:

  -i dir               input directory with the starting corpus

  -o dir               output directory for minimized files
Execution control settings:

  -f file              location read by the fuzzed program (stdin)

  -m megs              memory limit for child process (default: none)

  -t msec              timeout for each run (default: 5000)

  -O                   use binary-only instrumentation (FRIDA mode)

  -Q                   use binary-only instrumentation (QEMU mode)

  -U                   use unicorn-based instrumentation (Unicorn mode)

  -X                   use Nyx mode
Minimization settings:

  --crash-dir dir      move crashes to a separate dir, always deduplicated

  -A                   allow crashes and timeouts (not recommended)

  -C                   keep crashing inputs, reject everything else

  -e                   solve for edge coverage only, ignore hit counts
Misc:

  -T WORKERS           number of concurrent worker (default: 1)

  --as_queue           output file name like "id:000000,hash:value"

  --no-dedup           skip deduplication step for corpus files

  --debug
```

## AUTHOR
AFL++ was written by Michal "lcamtuf" Zalewski and is maintained by Marc "van Hauser" Heuse <mh@mh-sec.de>, Dominik Maier <domenukk@gmail.com>, Andrea Fioraldi <andreafioraldi@gmail.com> and Heiko "hexcoder-" Eissfeldt <heiko.eissfeldt@hexco.de> The homepage of AFL++ is: https://github.com/AFLplusplus/AFLplusplus

## LICENSE
Apache License Version 2.0, January 2004


afl-fuzz

title: afl-fuzz(8)

text:
# afl-fuzz(8)

## NAME
afl-fuzz

## OPTIONS

```
Required parameters:

  -i dir        - input directory with test cases (or '-' to resume, also see

                  AFL_AUTORESUME)

  -o dir        - output directory for fuzzer findings
Execution control settings:

  -P strategy   - set fix mutation strategy: explore (focus on new coverage),

                  exploit (focus on triggering crashes). You can also set a

                  number of seconds after without any finds it switches to

                  exploit mode, and back on new coverage (default: 1000)

  -p schedule   - power schedules compute a seed's performance score:

                  explore(default), fast, exploit, seek, rare, mmopt, coe, lin

                  quad -- see docs/FAQ.md for more information

  -f file       - location read by the fuzzed program (default: stdin or @@)

  -t msec       - timeout for each run (auto-scaled, default 1000 ms). Add a '+'

                  to auto-calculate the timeout, the value being the maximum.

  -m megs       - memory limit for child process (0 MB, 0 = no limit [default])

  -O            - use binary-only instrumentation (FRIDA mode)

  -Q            - use binary-only instrumentation (QEMU mode)

  -U            - use unicorn-based instrumentation (Unicorn mode)

  -W            - use qemu-based instrumentation with Wine (Wine mode)

  -X            - use VM fuzzing (NYX mode - standalone mode)

  -Y            - use VM fuzzing (NYX mode - multiple instances mode)
Mutator settings:

  -a type       - target input format, "text" or "binary" (default: generic)

  -g minlength  - set min length of generated fuzz input (default: 1)

  -G maxlength  - set max length of generated fuzz input (default: 1048576)

  -L minutes    - use MOpt(imize) mode and set the time limit for entering the

                  pacemaker mode (minutes of no new finds). 0 = immediately,

                  -1 = immediately and together with normal mutation.

                  Note: this option is usually not very effective

  -u            - enable testcase splicing

  -c program    - enable CmpLog by specifying a binary compiled for it.

                  if using QEMU/FRIDA or the fuzzing target is compiled

                  for CmpLog then use '-c 0'. To disable CMPLOG use '-c -'.

  -l cmplog_opts - CmpLog configuration values (e.g. "2ATR"):

                  1=small files, 2=larger files (default), 3=all files,

                  A=arithmetic solving, T=transformational solving,

                  X=extreme transform solving, R=random colorization bytes.
Fuzzing behavior settings:

  -Z             - sequential queue selection instead of weighted random

  -N             - do not unlink the fuzzing input file (for devices etc.)

  -n             - fuzz without instrumentation (non-instrumented mode)

  -x dict_file   - fuzzer dictionary (see README.md, specify up to 4 times)

  -w san_binary  - Specify the extra sanitizer instrumented binaries,

                   can be specified multiple times.

                   Read docs/SAND.md for details.
Test settings:

  -s seed       - use a fixed seed for the RNG

  -V seconds    - fuzz for a specified time then terminate (fuzz time only!)

  -E execs      - fuzz for an approx. no. of total executions then terminate

                  Note: not precise and can have several more executions.
Other stuff:

  -M/-S id      - distributed mode (-M sets -Z and disables trimming)

                  see docs/fuzzing_in_depth.md#c-using-multiple-cores

                  for effective recommendations for parallel fuzzing.

  -F path       - sync to a foreign fuzzer queue directory (requires -M, can

                  be specified up to 32 times)

  -z            - skip the enhanced deterministic fuzzing

                  (note that the old -d and -D flags are ignored.)

  -T text       - text banner to show on the screen

  -I command    - execute this command/script when a new crash is found

  -C            - crash exploration mode (the peruvian rabbit thing)

  -b cpu_id     - bind the fuzzing process to the specified CPU core (0-...)

  -e ext        - file extension for the fuzz test input file (if needed)
Environment variables used:
LD_BIND_LAZY: do not set LD_BIND_NOW env var for target
ASAN_OPTIONS: custom settings for ASAN

              (must contain abort_on_error=1 and symbolize=0)
MSAN_OPTIONS: custom settings for MSAN

              (must contain exitcode=86 and symbolize=0)
AFL_AUTORESUME: resume fuzzing if directory specified by -o already exists
AFL_BENCH_JUST_ONE: run the target just once
AFL_BENCH_UNTIL_CRASH: exit soon when the first crashing input has been found
AFL_CMPLOG_ONLY_NEW: do not run cmplog on initial testcases (good for resumes!)
AFL_CRASH_EXITCODE: optional child exit code to be interpreted as crash
AFL_CUSTOM_MUTATOR_LIBRARY: lib with afl_custom_fuzz() to mutate inputs
AFL_CUSTOM_MUTATOR_ONLY: avoid AFL++'s internal mutators
AFL_CYCLE_SCHEDULES: after completing a cycle, switch to a different -p schedule
AFL_DEBUG: extra debugging output for Python mode trimming
AFL_DEBUG_CHILD: do not suppress stdout/stderr from target
AFL_DISABLE_REDUNDANT: disable any queue item that is redundant
AFL_DISABLE_TRIM: disable the trimming of test cases
AFL_DUMB_FORKSRV: use fork server without feedback from target
AFL_EXIT_WHEN_DONE: exit when all inputs are run and no new finds are found
AFL_EXIT_ON_TIME: exit when no new coverage is found within the specified time
AFL_EXIT_ON_SEED_ISSUES: exit on any kind of seed issues
AFL_EXPAND_HAVOC_NOW: immediately enable expand havoc mode (default: after 60

                      minutes and a cycle without finds)
AFL_FAST_CAL: limit the calibration stage to three cycles for speedup
AFL_FORCE_UI: force showing the status screen (for virtual consoles)
AFL_FORKSRV_INIT_TMOUT: time spent waiting for forkserver during startup (in ms)
AFL_HANG_TMOUT: override timeout value (in milliseconds)
AFL_I_DONT_CARE_ABOUT_MISSING_CRASHES: don't warn about core dump handlers
AFL_IGNORE_PROBLEMS: do not abort fuzzing if an incorrect setup is detected
AFL_IGNORE_PROBLEMS_COVERAGE: if set in addition to AFL_IGNORE_PROBLEMS - also

                              ignore those libs for coverage
AFL_IGNORE_SEED_PROBLEMS: skip over crashes and timeouts in the seeds instead of

                          exiting
AFL_IGNORE_TIMEOUTS: do not process or save any timeouts
AFL_IGNORE_UNKNOWN_ENVS: don't warn on unknown env vars
AFL_IMPORT_FIRST: sync and import test cases from other fuzzer instances first
AFL_INPUT_LEN_MIN/AFL_INPUT_LEN_MAX: like -g/-G set min/max fuzz length produced
AFL_PIZZA_MODE: 1 - enforce pizza mode, -1 - disable for April 1st,

                0 (default) - activate on April 1st
AFL_KILL_SIGNAL: Signal ID delivered to child processes on timeout, etc.

                 (default: SIGKILL)
AFL_FORK_SERVER_KILL_SIGNAL: Kill signal for the fork server on termination

                             (default: SIGTERM). If unset and AFL_KILL_SIGNAL is

                             set, that value will be used.
AFL_MAP_SIZE: the shared memory size for that target. must be >= the size

              the target was compiled for
AFL_MAX_DET_EXTRAS: if more entries are in the dictionary list than this value

                    then they are randomly selected instead all of them being

                    used. Defaults to 200.
AFL_NO_AFFINITY: do not check for an unused cpu core to use for fuzzing
AFL_TRY_AFFINITY: try to bind to an unused core, but don't fail if unsuccessful
AFL_NO_ARITH: skip arithmetic mutations in deterministic stage
AFL_NO_AUTODICT: do not load an offered auto dictionary compiled into a target
AFL_NO_CPU_RED: avoid red color for showing very high cpu usage
AFL_NO_FORKSRV: run target via execve instead of using the forkserver
AFL_NO_SNAPSHOT: do not use the snapshot feature (if the snapshot lkm is loaded)
AFL_NO_STARTUP_CALIBRATION: no initial seed calibration, start fuzzing at once
AFL_NO_WARN_INSTABILITY: no warn about instability issues on startup calibration
AFL_NO_UI: switch status screen off
AFL_NYX_AUX_SIZE: size of the Nyx auxiliary buffer. Must be a multiple of 4096.

                  Increase this value in case the crash reports are truncated.

                  Default value is 4096.
AFL_NYX_DISABLE_SNAPSHOT_MODE: disable snapshot mode (must be supported by the agent)
AFL_NYX_LOG: output NYX hprintf messages to another file
AFL_NYX_REUSE_SNAPSHOT: reuse an existing Nyx root snapshot
AFL_PATH: path to AFL support binaries
AFL_PYTHON_MODULE: mutate and trim inputs with the specified Python module
AFL_QUIET: suppress forkserver status messages
AFL_PERSISTENT_RECORD: record the last X inputs to every crash in out/crashes
AFL_POST_PROCESS_KEEP_ORIGINAL: save the file as it was prior post-processing to

                                the queue, but execute the post-processed one
AFL_PRELOAD: LD_PRELOAD / DYLD_INSERT_LIBRARIES settings for target
AFL_TARGET_ENV: pass extra environment variables to target
AFL_SHUFFLE_QUEUE: reorder the input queue randomly on startup
AFL_SKIP_BIN_CHECK: skip afl compatibility checks, also disables auto map size
AFL_SKIP_CPUFREQ: do not warn about variable cpu clocking
AFL_STATSD: enables StatsD metrics collection
AFL_STATSD_HOST: change default statsd host (default 127.0.0.1)
AFL_STATSD_PORT: change default statsd port (default: 8125)
AFL_STATSD_TAGS_FLAVOR: set statsd tags format (default: disable tags)

                        supported formats: dogstatsd, librato, signalfx, influxdb
AFL_NO_FASTRESUME: do not read or write a fast resume file
AFL_NO_SYNC: disables all syncing
AFL_SYNC_TIME: sync time between fuzzing instances (in minutes)
AFL_FINAL_SYNC: sync a final time when exiting (will delay the exit!)
AFL_NO_CRASH_README: do not create a README in the crashes directory
AFL_TESTCACHE_SIZE: use a cache for testcases, improves performance (in MB)
AFL_TMPDIR: directory to use for input file generation (ramdisk recommended)
AFL_EARLY_FORKSERVER: force an early forkserver in an afl-clang-fast/

                      afl-clang-lto/afl-gcc-fast target
AFL_PERSISTENT: enforce persistent mode (if __AFL_LOOP is in a shared lib)
AFL_DEFER_FORKSRV: enforced deferred forkserver (__AFL_INIT is in a shared lib)
AFL_FUZZER_STATS_UPDATE_INTERVAL: interval to update fuzzer_stats file in

                                  seconds (default: 60, minimum: 1)
Compiled with Python 3.12.7 module support, see docs/custom_mutators.md
Compiled with AFL_PERSISTENT_RECORD support.
Compiled with shmat support.
For additional help please consult docs/README.md :)
```

## AUTHOR
AFL++ was written by Michal "lcamtuf" Zalewski and is maintained by Marc "van Hauser" Heuse <mh@mh-sec.de>, Dominik Maier <domenukk@gmail.com>, Andrea Fioraldi <andreafioraldi@gmail.com> and Heiko "hexcoder-" Eissfeldt <heiko.eissfeldt@hexco.de> The homepage of AFL++ is: https://github.com/AFLplusplus/AFLplusplus

## LICENSE
Apache License Version 2.0, January 2004


afl-g++-fast

title: afl-g++-fast(8)

text:
# afl-g++-fast(8)

## NAME
afl-cc - afl-cc

## SYNOPSIS

Location : ?[0mmode_final_checkout(), src/afl-cc.c:1235

## OPTIONS

```

```

## AUTHOR
AFL++ was written by Michal "lcamtuf" Zalewski and is maintained by Marc "van Hauser" Heuse <mh@mh-sec.de>, Dominik Maier <domenukk@gmail.com>, Andrea Fioraldi <andreafioraldi@gmail.com> and Heiko "hexcoder-" Eissfeldt <heiko.eissfeldt@hexco.de> The homepage of AFL++ is: https://github.com/AFLplusplus/AFLplusplus

## LICENSE
Apache License Version 2.0, January 2004


afl-gcc-fast

title: afl-gcc-fast(8)

text:
# afl-gcc-fast(8)

## NAME
afl-cc - afl-cc

## SYNOPSIS

Location : ?[0mmode_final_checkout(), src/afl-cc.c:1235

## OPTIONS

```

```

## AUTHOR
AFL++ was written by Michal "lcamtuf" Zalewski and is maintained by Marc "van Hauser" Heuse <mh@mh-sec.de>, Dominik Maier <domenukk@gmail.com>, Andrea Fioraldi <andreafioraldi@gmail.com> and Heiko "hexcoder-" Eissfeldt <heiko.eissfeldt@hexco.de> The homepage of AFL++ is: https://github.com/AFLplusplus/AFLplusplus

## LICENSE
Apache License Version 2.0, January 2004


afl-gotcpu

title: afl-gotcpu(8)

text:
# afl-gotcpu(8)

## NAME
afl-gotcpu

## SYNOPSIS
afl-gotcpu

## OPTIONS

```
afl-gotcpu does not have command line options
afl-gotcpu prints out which CPUs are available
```

## AUTHOR
AFL++ was written by Michal "lcamtuf" Zalewski and is maintained by Marc "van Hauser" Heuse <mh@mh-sec.de>, Dominik Maier <domenukk@gmail.com>, Andrea Fioraldi <andreafioraldi@gmail.com> and Heiko "hexcoder-" Eissfeldt <heiko.eissfeldt@hexco.de> The homepage of AFL++ is: https://github.com/AFLplusplus/AFLplusplus

## LICENSE
Apache License Version 2.0, January 2004


afl-lto

title: afl-lto(8)

text:
# afl-lto(8)

## NAME
afl-cc - afl-cc

## SYNOPSIS

Location : ?[0mmode_final_checkout(), src/afl-cc.c:1235

## OPTIONS

```

```

## AUTHOR
AFL++ was written by Michal "lcamtuf" Zalewski and is maintained by Marc "van Hauser" Heuse <mh@mh-sec.de>, Dominik Maier <domenukk@gmail.com>, Andrea Fioraldi <andreafioraldi@gmail.com> and Heiko "hexcoder-" Eissfeldt <heiko.eissfeldt@hexco.de> The homepage of AFL++ is: https://github.com/AFLplusplus/AFLplusplus

## LICENSE
Apache License Version 2.0, January 2004


afl-lto++

title: afl-lto++(8)

text:
# afl-lto++(8)

## NAME
afl-cc - afl-cc

## SYNOPSIS

Location : ?[0mmode_final_checkout(), src/afl-cc.c:1235

## OPTIONS

```

```

## AUTHOR
AFL++ was written by Michal "lcamtuf" Zalewski and is maintained by Marc "van Hauser" Heuse <mh@mh-sec.de>, Dominik Maier <domenukk@gmail.com>, Andrea Fioraldi <andreafioraldi@gmail.com> and Heiko "hexcoder-" Eissfeldt <heiko.eissfeldt@hexco.de> The homepage of AFL++ is: https://github.com/AFLplusplus/AFLplusplus

## LICENSE
Apache License Version 2.0, January 2004


afl-persistent-config

title: afl-persistent-config(8)

text:
# afl-persistent-config(8)

## NAME
afl-persistent-config

## SYNOPSIS
afl-persistent-config

## OPTIONS

```
afl-persistent-config has no command line options
afl-persistent-config permanently reconfigures the system to a high performance fuzzing state.
WARNING: this reduces the security of the system!
Note that there is also afl-system-config which sets additional runtime
configuration options.
```

## AUTHOR
AFL++ was written by Michal "lcamtuf" Zalewski and is maintained by Marc "van Hauser" Heuse <mh@mh-sec.de>, Dominik Maier <domenukk@gmail.com>, Andrea Fioraldi <andreafioraldi@gmail.com> and Heiko "hexcoder-" Eissfeldt <heiko.eissfeldt@hexco.de> The homepage of AFL++ is: https://github.com/AFLplusplus/AFLplusplus

## LICENSE
Apache License Version 2.0, January 2004


afl-plot

title: afl-plot(8)

text:
# afl-plot(8)

## NAME
afl-plot

## SYNOPSIS
afl-plot [ -g | --graphical ] afl_state_dir graph_output_dir

## OPTIONS

```
This program generates gnuplot images from afl-fuzz output data.
Usage:

    afl_state_dir       should point to an existing state directory for any

                        active or stopped instance of afl-fuzz

    graph_output_dir    should point to an empty directory where this

                        tool can write the resulting plots to

    -g, --graphical     (optional) display the plots in a graphical window

                        (you should have built afl-plot-ui to use this option)
The program will put index.html and three PNG images in the output directory;
you should be able to view it with any web browser of your choice.
```

## AUTHOR
AFL++ was written by Michal "lcamtuf" Zalewski and is maintained by Marc "van Hauser" Heuse <mh@mh-sec.de>, Dominik Maier <domenukk@gmail.com>, Andrea Fioraldi <andreafioraldi@gmail.com> and Heiko "hexcoder-" Eissfeldt <heiko.eissfeldt@hexco.de> The homepage of AFL++ is: https://github.com/AFLplusplus/AFLplusplus

## LICENSE
Apache License Version 2.0, January 2004


afl-showmap

title: afl-showmap(8)

text:
# afl-showmap(8)

## NAME
afl-showmap

## SYNOPSIS
afl-showmap [ options ] -- /path/to/target_app [ ... ]

## OPTIONS

```
Required parameters:

  -o file    - file to write the trace data to
Execution control settings:

  -t msec    - timeout for each run (default: 1000ms)

  -m megs    - memory limit for child process (default: none)

  -O         - use binary-only instrumentation (FRIDA mode)

  -Q         - use binary-only instrumentation (QEMU mode)

  -U         - use Unicorn-based instrumentation (Unicorn mode)

  -W         - use qemu-based instrumentation with Wine (Wine mode)

               (Not necessary, here for consistency with other afl-* tools)

  -X         - use Nyx mode
Other settings:

  -i dir     - process all files below this directory, must be combined with -o.

               With -C, -o is a file, without -C it must be a directory

               and each bitmap will be written there individually.

  -I filelist - alternatively to -i, -I is a list of files

  -C         - collect coverage, writes all edges to -o and gives a summary

               Must be combined with -i.

  -q         - sink program's output and don't show messages

  -e         - show edge coverage only, ignore hit counts

  -r         - show real tuple values instead of AFL filter values

  -s         - do not classify the map

  -c         - allow core dumps
This tool displays raw tuple data captured by AFL instrumentation.
For additional help, consult docs/README.md.
If you use -i/-I mode, then custom mutator post_process send send functionality
is supported.
Environment variables used:
LD_BIND_LAZY: do not set LD_BIND_NOW env var for target
AFL_CMIN_CRASHES_ONLY: (cmin_mode) only write tuples for crashing inputs
AFL_CMIN_ALLOW_ANY: (cmin_mode) write tuples for crashing inputs also
AFL_CRASH_EXITCODE: optional child exit code to be interpreted as crash
AFL_DEBUG: enable extra developer output
AFL_FORKSRV_INIT_TMOUT: time spent waiting for forkserver during startup (in milliseconds)
AFL_KILL_SIGNAL: Signal ID delivered to child processes on timeout, etc.

                 (default: SIGKILL)
AFL_FORK_SERVER_KILL_SIGNAL: Kill signal for the fork server on termination

                             (default: SIGTERM). If unset and AFL_KILL_SIGNAL is

                             set, that value will be used.
AFL_MAP_SIZE: the shared memory size for that target. must be >= the size the

              target was compiled for
AFL_PRELOAD: LD_PRELOAD / DYLD_INSERT_LIBRARIES settings for target
AFL_PRINT_FILENAMES: Print the queue entry currently processed will to stdout
AFL_QUIET: do not print extra informational output
AFL_NO_FORKSRV: run target via execve instead of using the forkserver
```

## AUTHOR
AFL++ was written by Michal "lcamtuf" Zalewski and is maintained by Marc "van Hauser" Heuse <mh@mh-sec.de>, Dominik Maier <domenukk@gmail.com>, Andrea Fioraldi <andreafioraldi@gmail.com> and Heiko "hexcoder-" Eissfeldt <heiko.eissfeldt@hexco.de> The homepage of AFL++ is: https://github.com/AFLplusplus/AFLplusplus

## LICENSE
Apache License Version 2.0, January 2004


afl-system-config

title: afl-system-config(8)

text:
# afl-system-config(8)

## NAME
afl-system-config

## SYNOPSIS
afl-system-config

## OPTIONS

```
afl-system-config has no command line options
afl-system-config reconfigures the system to a high performance fuzzing state.
WARNING: this reduces the security of the system!
Note that there is also afl-persistent-config which sets additional permanent
configuration options.
```

## AUTHOR
AFL++ was written by Michal "lcamtuf" Zalewski and is maintained by Marc "van Hauser" Heuse <mh@mh-sec.de>, Dominik Maier <domenukk@gmail.com>, Andrea Fioraldi <andreafioraldi@gmail.com> and Heiko "hexcoder-" Eissfeldt <heiko.eissfeldt@hexco.de> The homepage of AFL++ is: https://github.com/AFLplusplus/AFLplusplus

## LICENSE
Apache License Version 2.0, January 2004


afl-tmin

title: afl-tmin(8)

text:
# afl-tmin(8)

## NAME
afl-tmin

## SYNOPSIS
afl-tmin [ options ] -- /path/to/target_app [ ... ]

## OPTIONS

```
Required parameters:

  -i file       - input test case to be shrunk by the tool

  -o file       - final output location for the minimized data
Execution control settings:

  -f file       - input file read by the tested program (stdin)

  -t msec       - timeout for each run (1000 ms)

  -m megs       - memory limit for child process (0 MB)

  -O            - use binary-only instrumentation (FRIDA mode)

  -Q            - use binary-only instrumentation (QEMU mode)

  -U            - use unicorn-based instrumentation (Unicorn mode)

  -W            - use qemu-based instrumentation with Wine (Wine mode)

                  (Not necessary, here for consistency with other afl-* tools)

  -X            - use Nyx mode
Minimization settings:

  -e            - solve for edge coverage only, ignore hit counts

  -l bytes      - set minimum block deletion length to speed up minimization

  -x            - treat non-zero exit codes as crashes

  -H            - minimize a hang (hang mode)
For additional tips, please consult docs/README.md.
Environment variables used:
AFL_CRASH_EXITCODE: optional child exit code to be interpreted as crash
AFL_FORKSRV_INIT_TMOUT: time spent waiting for forkserver during startup (in ms)
AFL_KILL_SIGNAL: Signal ID delivered to child processes on timeout, etc.

                 (default: SIGKILL)
AFL_FORK_SERVER_KILL_SIGNAL: Kill signal for the fork server on termination

                             (default: SIGTERM). If unset and AFL_KILL_SIGNAL is

                             set, that value will be used.
AFL_MAP_SIZE: the shared memory size for that target. must be >= the size

              the target was compiled for
AFL_PRELOAD:  LD_PRELOAD / DYLD_INSERT_LIBRARIES settings for target
AFL_TMIN_EXACT: require execution paths to match for crashing inputs
AFL_NO_FORKSRV: run target via execve instead of using the forkserver
ASAN_OPTIONS: custom settings for ASAN

              (must contain abort_on_error=1 and symbolize=0)
MSAN_OPTIONS: custom settings for MSAN

              (must contain exitcode=86 and symbolize=0)
TMPDIR: directory to use for temporary input files
```

## AUTHOR
AFL++ was written by Michal "lcamtuf" Zalewski and is maintained by Marc "van Hauser" Heuse <mh@mh-sec.de>, Dominik Maier <domenukk@gmail.com>, Andrea Fioraldi <andreafioraldi@gmail.com> and Heiko "hexcoder-" Eissfeldt <heiko.eissfeldt@hexco.de> The homepage of AFL++ is: https://github.com/AFLplusplus/AFLplusplus

## LICENSE
Apache License Version 2.0, January 2004


afl-whatsup

title: afl-whatsup(8)

text:
# afl-whatsup(8)

## NAME
afl-whatsup

## SYNOPSIS
Usage: ./afl-whatsup [-s] [-d] afl_output_directory

## OPTIONS

```
Options:

  -d  -  include dead fuzzer stats

  -m  -  just show minimal stats

  -n  -  no color output

  -s  -  skip details and output summary results only
```

## AUTHOR
AFL++ was written by Michal "lcamtuf" Zalewski and is maintained by Marc "van Hauser" Heuse <mh@mh-sec.de>, Dominik Maier <domenukk@gmail.com>, Andrea Fioraldi <andreafioraldi@gmail.com> and Heiko "hexcoder-" Eissfeldt <heiko.eissfeldt@hexco.de> The homepage of AFL++ is: https://github.com/AFLplusplus/AFLplusplus

## LICENSE
Apache License Version 2.0, January 2004


cdcc

package: DCC

title: cdcc(8)

text:
# cdcc(8)

## NAME
cdcc — Control Distributed Checksum Clearinghouse

## SYNOPSIS
cdcc

[-VBdq] [-h homedir] [-c ids] [op1 op2 ... [-]]

## DESCRIPTION
Cdcc is used to clear, control, and query the control file used by Distributed Checksum Clearinghouse clients such as dccm(8). The host names, UDP port numbers, IDs, and passwords local clients use to talk to servers as well as IP addresses, round trip times, and other information are contained in the map file. While cdcc is set-UID, it uses the real UID only when accessing the map file. It refuses to display sensitive information such as passwords unless the real UID is the same as the effective UID. Note that cdcc needs to be set to a UID that can read and write the map file, but that UID need not be 0.

Cdcc is also used to send commands to DCC servers to tell them to stop, reload their lists of DCC IDs, turn on tracing, and so forth.

Many commands sent to DCC servers require a numeric DCC ID and a password recognized by the server. A DCC password is a 1-32 character string that does not contain blank, tab, newline or carriage return characters. The ID is specified with the id operation. If cdcc is run with a real UID that can read the ids file and a password is not specified (see the password operation), then the current password for the specified ID in the ids file will be used. If no ids file is available and a password and DCC ID are not specified, cdcc uses the anonymous DCC client-ID. DCC servers do not expect a password from clients using the anonymous client-ID, but they also won't honor control requests.

Operations that modify the map file can only be performed when the real UID is sufficient to modify the file directly. Trying to perform an operation that requires a password without specifying a server-ID or without using a UID that can access the ids file produces an error message complaining about a "privileged operation."

Commands and operations are read from the command line or from stdin. A series of op1 op2 ... operations followed a - (a dash) causes operations to be read from stdin after the command line operations are processed. Semi-colons or newlines separate commands in UNIX command-line "words," as well as when commands are read from stdin. Since each command line operation must be a shell "word," quotes are often required as in

% cdcc "load map.txt"

or % cdcc "host localhost;info" stats

### OPTIONS
The following options are available:

-V

displays the version of the DCC controller. Two or more -V options show the options with which it was built.

-B

sends error messages from the DCC server to both stderr and stdout instead of only stderr.

-d

enables debugging output from the DCC client software. Additional -d options increase the number of messages. See the debug command.

-q

quiets initial complaints about the map file and some messages about successful commands. See the quiet command.

-h homedir

overrides the default DCC home directory, /var/lib/dcc. See the homedir operation.

-c ids

specifies the file containing DCC IDs and passwords known by local DCC servers. An ids file that can be read by others cannot be used. The format of the ids file is described in dccd(8).

op1 op2 ...

are operations or commands such as "id 100; stop". Commands or operations specified on the command line are performed before the first interactive request. The last command can be - to specify that additional commands should be read from stdin.

### OPERATIONS
Local operations include the following:

help [command]

lists information about one or all available commands and operations.

exit

stops cdcc

grey [on | off]

switches between DCC and greylist servers.

homedir [path]

displays or specifies the DCC home directory, /var/lib/dcc.

file [map]

displays or specifies the name or path of the map file. The string "-" specifies the default file /var/lib/dcc/map.

new map [map]

creates a new, empty file for DCC server host names, port numbers, passwords, and so forth. There must not already be a file of the same name. The default is map in the DCC home directory.

delete host[,port]

deletes the entry in the map file for host and UDP port. If greylist mode has been set with the grey on command, the entry for the grelist server at host is deleted.

add host[,port] [RTT+adj|RTT-adj] [Greylist] [client-ID [password]]

adds an entry to the map file. The port can be "-" to specify the default DCC server port number. An adjustment to the round trip time is between -2000 and +2000 and follows the string RTT. The adjustment is added to the average measured round trip time when the DCC client software picks the "nearest" DCC server, or the server with the smallest RTT. If an IP address is mentioned more than once in the list of servers, for example because it is among the addresses for more than one server name, conflicts among RTT adjustments are resolved by picking the adjustment with the largest absolute value.

Greylist marks an entry for a greylist servers. Greylist is assumed if greylist mode has been set with the grey on command, See dccd(8).

If both the client-ID and the password are absent, the anonymous client-ID, 1, is used. The string anon is equivalent to the anonymous client-ID. A null password string is assumed if the password is missing and the client-ID is 1 or also missing.

load info-file

loads the current parameter file with the host names, port numbers, IDs, and passwords in info-file. Standard input is understood if info-file is "-". A suitable file can be created with the info operation. It consists of ignored blank or comment lines starting with '#' and other lines in the same format as the arguments to the add operation. Note that output of the info command will lack passwords unless it is run by a privileged user.

host [hostname]

specifies the host name of the DCC server to which commands should be sent. If hostname is "-", the current default DCC server is chosen.

port [port]

specifies the UDP port number of the DCC server to which commands should be sent. The default is 6277 or 6276 depending on the setting of the greylist mode controlled with the grey command.

password secret

specifies the password with which to sign commands sent to the DCC server specified with the server and port operations.

id [ID]

specifies or displays the numeric DCC ID for commands sent to the DCC server specified with the server and port operations. If no password is specified with the password command, the password is sought in the local ids.

info [-N]

displays information about the connections to DCC servers. It starts with the current date and name of the current map file or says that cdcc is using the implicit file created with the server and port operations. It then says when host names will next be resolved into IP addresses, the smallest round trip time to the IP addresses of known DCC servers. The host name, UDP port number (or dash if it is the default), DCC client-ID, and password (if cdcc is used by a privileged user) are shown in one line per configured DCC server. The currently preferred IP address is indicated by an asterisk. The "brand" of the server, its DCC ID, and its IP address are displayed in one line per IP address. The performance of the server at each IP address in the most recent 32 operations is displayed in a second line. The second line ends with the measured delay imposed by the server on requests with this client's ID.

-N displays the reverse DNS name of each server.

RTT [-N]

measures the round trip time to the DCC servers. It does this by discarding accumulated information and forcing a probe of all listed server IP addresses. Beware that when run with sufficient privilege, the RTT operation is like the info and load operations and displays cleartext passwords.

-N displays the reverse DNS name of each server.

debug Op Ar on | off | TTL=x

increases or decreases debugging information from the DCC client software or sets the IP TTL on queries to the server. See -d. Some operating systems do not include the functions required to change the IP TTL. Others include the required functions but have no apparent effect.

quiet [on | off]

makes commands more quiet or more verbose.

IPv6 [on | off | only]

clients to try to use IPv6 and IPv4, IPv4 only, or IPv6 only.

SOCKS [on | off]

tell DCC to use the SOCKS5 protocol if they have been built with a SOCKS library. The socks library linked with the DCC client must be configured appropriately, often including knowing which DCC servers must be connected via the SOCKS proxy and which can be reached directly. DCC clients use SOCKS functions such as Rsendto() with all or no servers depending on the setting of this switch.

src [- |] IPaddress[,IPv6address]

displays or configures the source address of DCC client requests. - removes the explicit configuration of the source, while IPaddress or IPaddress,IPv6address sets it. This makes sense only on multi-homed hosts. It can be useful for passing firewalls.

### DCC SERVER COMMANDS
Commands that can be sent to a DCC server include the following. Most of the commands must be used with the server's ID specified with the id command. The specified ID is included in the commands sent to the server The command itself is digitally signed with the first password associated with the ID in the ids file. The server requires that the signature match one of the passwords associated with the ID in its ids file.

delck type hex1 hex2 hex3 hex4

asks the server to delete the type checksum with value hex1 hex2 hex3 hex4. The type and checksum values can be found in dccproc(8) and dccm(8) log files or computed with dccproc -QC. There are very few situations where it makes sense to bother to delete checksums. For example, mail that was accidentally reported with a target count of "MANY" is either private and so will not be seen by other people and so will not be affected, or it is bulk and its source so must have already been whitelisted by recipients.

stats [all | clear]

displays current status and statistics from the current DCC server or for all known DCC servers. The server's counters will be cleared after they are displayed when the server's ID has been specified with the id ID operation.

clients [-nsiaVAK] [-I id] [max [thold]] [addr[/prefix]]

display some of the clients recently seen by the server. -n

display only the IP addresses and not the names of clients.

-s

sort the clients by the number of requests they have made.

-i

count clients with the same client-ID as single entities.

-I id

display information only about clients using client-ID id.

-a

produce 24 hour average numbers of requests.

-A

display only anonymous clients.

-K

display only clients using client-IDs other than the anonymous ID of 1.

-V

include the DCC protocol versions used by clients.

max

display only the max most recent clients.

max thold

display the most recent max clients that have made at least thold requests.

addr[/prefix]

restricts the results to the DCC client with that IP address or clients with addresses in that block of addresses. Individual clients in a blacklisted block of addresses in the server's /var/lib/dcc/blacklist file are not displayed unless explicitly requested by address or address block.

Clients with IDs marked with an asterisk (*) used the wrong password for that client-ID.

The mechanism that implements this command involves asking the DCC server for the first approximately 100 clients, then the second about 100, and so on, If entries change position in the complete list maintained by the server between requests, the displayed list will have duplicate or missing entries. Only clients since the last use of stats clear are displayed.

stop

tells the DCC server to exit.

system stop

tells the DCC server to exit so that the operating system can be shut down. This tells the DCC server on some systems to delete the dcc_db.hash file to speed system shut down. The file will be rebuilt automatically by dbclean when the DCC server is restarted.

clean stop

tells the DCC server to exit after applying fsync() to the database.

reload IDs

tells the local DCC server to reload its DCC ids file immediately. This command is not strictly needed. Every several minutes, the DCC server notices if the file has been changed and automatically reads it.

flood check

tells the DCC server to check for changes in the flod file and try to restart any of the streams to peers that are broken.

flood shutdown

tells the DCC server to cleanly stop flooding checksums to and from peers. The server will wait for sending and receiving peers to agree to stop. Each flood shutdown or flood halt request increases a count of reasons why the server should not flood checksums.

flood halt

tells the DCC server to abruptly stop flooding checksums to and from peers.

flood rewind server-ID

tells the DCC server to ask its peer with server-ID to rewind and resend its stream of checksums.

flood ffwd in server-ID

tells the DCC server to ask its peer to "fast forward" or skip to the end of the incoming flood.

flood ffwd out server-ID

tells the DCC server to "fast forward" or skip to the current end of the flood to its peer.

flood resume

tells the DCC server to reduce the number of reasons to not flood checksums increased by flood shutdown and flood halt. When the number of reasons reaches zero, the server tries to resume flooding.

flood list

displays the list of current incoming and outgoing floods. Each line contains the server-ID of the peer, the IP address and port used for the outgoing flood, the address for the incoming flood if different, and the host name. Only the server-IDs of flooding peers are disclosed with the server's ID.

flood stats [clear] { server-ID | all }

displays counts of checksum reports sent and received by the current flooding connections to and from server-ID or all flooding connections and then optionally clears the counts.

DB clean

is used by dbclean to tell the server that the database expiration has begun.

DB new

is used by dbclean to tell the server that the database cleaning is complete.

flush cache

tells the server to flush its cache and to keep it clean.

cache ok

tells the server to resume normal operations after flush cache.

clock check

asks the DCC server to say how much its clock differs from the local clock.

clock kludge +/-seconds

adjusts the timestamps in server commands to make it possible to control servers with inaccurate clocks.

trace default

turns on ANON and CLNT tracing and turns off all others.

trace mode {on|off}

turns the server's tracing mode on or off. Mode must be one of: ADMN

administrative requests from cdcc

ANON

errors by anonymous clients

CLNT

errors by authenticated clients

RLIM

rate-limited messages

QUERY

all queries and reports

RIDC

messages concerning the report-ID cache that is used to detect duplicate reports from clients

FLOOD1

messages about inter-server flooding connections

FLOOD2

messages about flooded reports

IDS

unknown server-IDs in flooded reports

BL

blacklisted clients

DB

odd database events

WLIST

reports of whitelisted checksums from authenticated, not anonymous DCC clients

cdcc exits with 0 on success, and >0 if an error occurs in operations specified on the command line.

## FILES
/var/lib/dcc

default DCC home directory unless changed by the homedir operation.

map

memory mapped file in the home DCC home directory of server host names, port numbers, passwords, measured round trip times (RTT), and so forth.

ids

list of IDs and passwords, as described in dccd(8). It is only required by systems running the DCC server, but is used by cdcc if available.

## SEE ALSO
dbclean(8), dcc(8), dccd(8), dblist(8), dccifd(8), dccm(8), dccproc(8), dccsight(8).

## HISTORY
Implementation of cdcc was started at Rhyolite Software in 2000. This document describes version RHYOLITE_VERSION.


dbclean

title: dbclean(8)

text:
# dbclean(8)

## NAME
dbclean — Clean Distributed Checksum Clearinghouse Database

## SYNOPSIS
dbclean

[-dfFNPSVqu] [-i id] [-a [server-addr][,port]] [-h homedir]

[-H hash-file-dir] [-D db-file-dir] [-G on] [-R mode]

[-s hash-size] [-e seconds] [-E spamsecs]

[-L ltype,facility.level]

## DESCRIPTION
Dbclean creates empty, rebuilds corrupted, and deletes or expires old reports of checksums from DCC databases. It should be installed where it will be found with the path given the DCC server daemon when the daemon needs to expand the hash table. See dccd(8). It should also be run by the daily cron(8) job, /usr/lib/dcc/cron-dccd.

The whitelist in /var/lib/dcc/whitelist or /var/lib/dcc/grey_whitelist are built into the DCC server's database. Changes to the whitelist are not effective until dbclean is run. White or blacklists can also be used by DCC clients and work better.

### OPTIONS
The following options are available. Most of them should set by changing DBCLEAN_LOGDAYS and DBCLEAN_ARGS in the /var/lib/dcc/dcc_conf control file.

-d

enables debugging output. Additional -d options increase the number of messages.

-F

uses write() instead of mmap() and msync() in some cases to modify the DCC database. This works better on some versions of Solaris provided the entire DCC database fits in RAM and provided the file system has not been tuned for the large, random accesses of a DCC database. It is the default on Solaris except when the database is in a memory mapped file system or the entire database fits in RAM. Do not use -F with -f, -H, or -D.

-f

uses mmap() and msync() to modify the DCC database. Do not use -f with -F, -H, or -D.

-N

creates a new, empty database. There must not be an existing database and the DCC server, dccd(8), must not be running.

-P

expires old checksums from a database using the -e -and -E values from the preceding use of dbclean. -P cannot be used with -e or -E. Using -P differs from not using -e or -E, because in the absence of all three, their default values are used.

-S

says that the DCC server, dccd(8), is not running and so dbclean should run stand-alone and not try to tell the DCC server about changes to the database. -i is not needed with -S.

-V

displays the version of the DCC database cleaner. Two or more -V options show the options with which it was built.

-q

quiets the announcement to stderr of the final results and debugging messages turned on with -d. Results are still sent to the system log.

-u

should be used when the file system containing the dcc_db and dcc_db.hash files is "ultra-fast," such as a solid-state drive. This setting postpones writing some data during normal operation until the system is shutdown. This reduces wear on the SSD at the cost of writing GBytes of data when the system is shutdown. Writing GBytes to a rotating disk at system shutdown unacceptable, but not noticeable to a non-rotating disk that operates 10 or 100 times faster.

-i id

specifies the DCC ID recognized by the local DCC server as its own. This ID allows the DCC server to recognize commands from dbclean to stop using the database while it is being cleaned.

-a [server-addr][,port]

is commonly used to specify a UDP port or IP address of the local server other than the default.

-h homedir

overrides the default DCC home directory, /var/lib/dcc.

-H hash-file-dir

puts the dcc_db.hash hash table file in the hash-file-dir directory with a symbolic link. Using -H to put the hash table in a memory, "tmpfs", or "swap" file system such as /dev/shm or /tmp significantly speeds up the DCC server, dccd(8), on operating systems such as Linux and Solaris that lack the MAP_NOSYNC flag for the mmap(8) system call. The memory file system must have space for two copies of the dcc_db.hash file. -H is undesirable on FreeBSD and other systems with MAP_NOSYNC except when -D is used. The DCC database file, dcc_db, should usually be in file system that is not cleared by operating system rebooting and not in a memory file system.

Use or stop using -H by adding it to or removing it from DBCLEAN_ARGS in /var/lib/dcc/dcc_conf and manually running or waiting for the nightly run of the /usr/lib/dcc/cron-dccd cron job.

Do not use -H with -F or -f.

-D db-file-dir

puts the /var/lib/dcc/dcc_db database and the /var/lib/dcc/dcc_db.hash hash table files in the db-file-dir directory with symbolic links. Using -D to put the files in a memory, "tmpfs", or "swap" file system such as /dev/shm or /tmp significantly speeds up the DCC server, dccd(8), but causes several GBytes of database transfers before DCC is effective whenever the operating system is restarted. -D should not be used except at sites with more than one DCC server installation and where at least one of the other local servers is not using -D. -D should only be used on systems that are rarely rebooted, because up to one month is required for the database reach equilibrium. The memory file system must have space for two copies of the dcc_db file.

Use or stop using -D by adding it to or removing it from DBCLEAN_ARGS in /var/lib/dcc/dcc_conf and manually running or waiting for the nightly run of the /usr/lib/dcc/cron-dccd cron job.

Do not use -D with -F or -f.

-G on

cleans a greylist database in /var/lib/dcc/grey_db and /var/lib/dcc/grey_db.hash instead of of a DCC server database.

-R mode

repairs a database or does a quick cleaning. Mode must be one of the following: bad

to repair a broken database.

quick

for a quick, superficial cleaning during the day.

hash

to rebuild a hash not sent to disk before the system was rebooted.

failsafe

to work around missing nightly cleaning by the cron(8) job, /usr/lib/dcc/cron-dccd

del

to finish processing a delete command received by dccd(8).

-s hash-size

specifies a size for the hash table in /var/lib/dcc/dcc_db.hash. By default the hash table is rebuilt to be approximately 80% full based on an estimate of the number of distinct checksums in the database file.

-e seconds

specifies that reports older than seconds and with totals below 10 targets should be deleted. Reports older than seconds of checksums that have been reported more recently are summarized in the database. The default value is 1DAY or the value of -E, whichever is smaller. The 1 day default is reduced if the system does not appear to have enough RAM to hold the database. The minimum is 1 hour. Seconds can also be NEVER or a number of hours, days, or weeks followed by HOURS, H, DAYS, D, WEEKS or W. DCC servers that are not very busy and are isolated or do not receive "floods" of checksums from busy servers should use longer values to increase their chances of recognizing bulk mail.

-E spamsecs

changes the expiration of checksums with more than 10 targets from the default of 30DAYS or the explicit value of -e, whichever is larger. The default is reduced if the system does not have enough RAM to hold the database. Spamsecs can also be NEVER or a number of hours, days, or weeks followed by HOURS, H, DAYS, D, WEEKS or W.

-L ltype,facility.level

specifies how messages should be logged. Ltype must be error, info, or off to indicate which of the two types of messages are being controlled or to turn off all syslog(3) messages from dbclean. Level must be a syslog(3) level among EMERG, ALERT, CRIT, ERR, WARNING, NOTICE, INFO, and DEBUG. Facility must be among AUTH, AUTHPRIV, CRON, DAEMON, FTP, KERN, LPR, MAIL, NEWS, USER, UUCP, and LOCAL0 through LOCAL7. The default is equivalent to -L info,MAIL.NOTICE -L error,MAIL.ERR

dbclean exits 0 on success, and > 0 if an error occurs.

## FILES
/var/lib/dcc

is the DCC home directory containing data and control files.

dcc_conf

is the DCC control file.

dcc_db

is the main file containing mail checksums.

dcc_db.hash

mail checksum database hash table.

grey_db

is the database of greylist checksums.

grey_db.hash

is the greylist database hash table.

dcc_db-new, dcc_db-new.hash, grey_db-new, grey_db-new.hash

new database and hash files until they are renamed.

dcc_db-old, grey_db-old

previous database files.

ids

list of IDs and passwords, as described in dccd(8).

whitelist

contains the DCC server whitelist in the format described in dcc(8).

grey_whitelist

contains the greylist server whitelist.

## SEE ALSO
cdcc(8), cron(8), dcc(8), dccd(8), dblist(8), dccifd(8), dccm(8), dccproc(8).

## HISTORY
Implementation of dbclean was started at Rhyolite Software, in 2000. This document describes version RHYOLITE_VERSION.


dblist

title: dblist(8)

text:
# dblist(8)

## NAME
dblist — Database List Distributed Checksum Clearinghouse

## SYNOPSIS
dblist

[-vVHD] [-G on | off] [-h homedir]

[-C 'type h1 h2 h3 h4'] [-I server-ID] [-A dbaddr] [-L pathlen]

[-P pages] [-T timestamp] [file1 file2 ...]

## DESCRIPTION
Dblist lists the contents of a DCC database as it does some consistency checking.

-v

lists more of the database. Additional information is produced with additional -v arguments.

-V

displays the version of the DCC database lister. Two or more -V options show the options with which it was built.

-H

turns off the listing of the hash table as well as the analysis of the hash table. Determining the worst case and average lengths of chains in the hash table can take a long time for a large database on a small computer.

-D

turns off the listing of the data or checksum records.

-G on

lists a greylist database.

-h homedir

overrides the default DCC home directory, /var/lib/dcc.

-C 'type h1 h2 h3 h4'

limits the listing to records containing that checksum or one of the other checksums specified with -C. If the four hexadecimal values h1 h2 h3 h4 are absent, records with the matching type will be listed. If type is absent, any checksum with the four hexadecimal values will be listed. If the hexadecimal values h1 h2 h3 h4 are absent, all checksums of the specified type will be listed. The alternate form 'server-ID {simple|commercial|ignore|rogue} at ID' can be used to select server-ID records of some types.

As many as 16 checksums can be specified.

-I server-ID

limits the listing to records with that server-ID or one of the other server-IDs specified with -I. As many as 16 server-IDs can be specified.

-A dbaddr

excludes database records before dbaddr.

-L pathlen

excludes records with path lengths shorter than pathlen.

-P pages

ignores all but the last pages of the database.

-T timetamp

excludes records with other timestamps. A timestamp with a missing microsecond value matches any record with that second. As many as 16 timestamps can be specified.

file1 file2 ...

are names of databases to be listed. The default is /var/lib/dcc/dcc_db and its companion, /var/lib/dcc/dcc_db.hash. When -G on is used, the default files are /var/lib/dcc/grey_db and /var/lib/dcc/grey_db.hash.

By default, the sizes of the main file and the hash table as well as how much they contain and values related to the performance of the hash are displayed.

With a single -v, most of the mail database file and the contents of memory mapped server flooding positions in the /var/lib/dcc/flod.map file are listed. The listing starts with the serial number of the database file which is when old entries were last removed from it by dbclean(8) That is followed by similar lines showing the oldest timestamp of checksums not expired by dbclean and of mail that is not "spam."

The flooding positions from the /var/lib/dcc/flod.map file are record offsets or addresses in the main database file.

A typical record in the main database file looks like:

```
02/07/02 20:25:12.497032    5	      1601		2fe5b94
     path: 103<-101<-1601
  Body	    6	    e2d3f96a c65aea01 3fece361 edff9ecf  2f21364 772d2
  Fuz1	    many    6ff56fe8 ffc312d7 a5fe8f13 12a537ae  2f21364 200a9
  Fuz2	    many    fac882b8 03eea34f bd792c40 2fe6fd54  2f21364 72816
```

That example was received by a DCC server with server-ID 1601 at about 8:25 UTC on the evening of February 7, 2000. The report was about a mail message set to 5 addressees. The report was then sent or ‘flooded’ to the server with server-ID 101 which in turn sent it to a server with server-ID 103. That server sent it to the local DCC server. The record is at the address 0x2fe5b94 in the database. The record contains 3 checksums. The simple checksum of the body of the message was 0xe2d3f96a 0xc65aea01 0x3fece361 0xedff9ecf The total number of recipients of messages with this body checksum known in the database is 6, which implies this checksum had been previously reported with a target count of 1. The previous report in the database of a message with this body checksum is at 0x2f21364. The hash table chain for this body checksum is computed to start at 0x772d2. This report included two fuzzy checksums. Both have been previously reported as having been sent to many targets.

An asterisk (*) before the type of the checksum indicates that this checksum is redundant. A report of many addressees makes all preceding reports redundant.

The flooding of some database records is delayed, as shown by the string delayed after the server-ID.

The string trimmed after the server-ID marks older reports that have had uninteresting checksums removed. The string compressed after the server-ID would indicate that this older report has been trimmed and compressed with older reports.

With two -v arguments, records added to the database by dbclean(8) from the server whitelist are also displayed.

Three -v arguments cause the hash table to be displayed. Three typical hash table entries look like:

```
      19b8:   19ee   19b7
      19b9:   19c0      0    90120 Fuz1
      19ba:      0      0  1b72300 Fuz1
```

The entry in slot number 0x19b8 is unused or free. Slot number 0x19b9 is the start of a chain of collisions or entries with the same hash value of 0x19b9. The next slot in this chain is at 0x19c0. The corresponding Fuz1 checksum is at 0x9012 in the database. The third slot at 0x19ba is also that of a Fuz1 checksum, but it is not part of a hash chain and its database record is at 0x1b72300.

## FILES
/var/lib/dcc

is the DCC home directory containing data and control files.

dcc_db

main file of DCC checksums.

grey_dcc_db

main file of checksums used for greylisting.

dcc_db.hash

database hash table for /var/lib/dcc/dcc_db.

grey_dcc_db.hash

database hash table for /var/lib/dcc/grey_dcc.

flod.map

grey_flod.map

memory mapped flooding positions.

## SEE ALSO
cdcc(8), dcc(8), dbclean(8), dccd(8), dccifd(8), dccm(8), dccproc(8).

## HISTORY
Implementation of dblist was started at Rhyolite Software, in 2000. This document describes version RHYOLITE_VERSION.