---
name: "cyrus-fud"
section: "8"
platform: "linux"
package: "cyrus-common"
version: "3.10.2-1+deb13u2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/cyrus-fud"
---

# cyrus-fud(8)

Cyrus IMAP documentation Provide information about user mailboxes

## NAME

fud - Cyrus IMAP documentation

Provide information about user mailboxes

## SYNOPSIS

```
fud [ -C config-file ] [ -U uses ] [ -T timeout ] [ -D ]
```

## DESCRIPTION

**fud is a long lived datagram daemon started from master that** **provides information about when a user last read their mail, when mail** **last arrived in a user's mailbox, and how many messages are recent for** **that user.**

**fud reads its configuration options out of the** *[imapd.conf(5)](/imapd.conf/5.md)* **file unless specified otherwise by -C.**

**fud will automatically proxy any and all FUD requests to the** **appropriate backend server if it is running on a Cyrus Murder frontend** **machine.**

**To set up the FUD daemon, add this to your cyrus.conf:**

**fud           cmd="fud" listen="fud" prefork=1 proto="udp"**

**and to /etc/services:**

**fud             4201/udp                        # Cyrus IMAP FUD Daemon**

### Client

**There is no specific FUD client. This shows how one might access FUD.**

```
#!/usr/bin/perl
use Socket;
print( "Enter fud hostname: " );
$hostname = <>;
chomp( $hostname );
print( "Enter username to query: " );
$username = <>;
chomp( $username );
socket( FUD, PF_INET, SOCK_DGRAM, getprotobyname( "udp" ) )
   or die( "failed to create udp socket: $!" );
$ipaddr = inet_aton( $hostname );
$portaddr = sockaddr_in( '4201', $ipaddr );
$fud_query = $username . '|user.' . $username;
send( FUD, "$fud_query", 0, $portaddr ) == length( $fud_query )
   or die( "failed to send fud query: $!" );
recv( FUD, $fud_response, 512, 0 )
   or die( "recv() failed: $!" );
print( "FUD responded: $fud_response\n" );
exit( 0 );
```

## OPTIONS

- **-C config-file**

  **Use the specified configuration file** *config-file* **rather than the default** *[imapd.conf(5)](/imapd.conf/5.md)***.**

- **-U uses**

  **The maximum number of times that the process should be used for new** **connections before shutting down.  The default is 250.**

- **-T timeout**

  **The number of seconds that the process will wait for a new** **connection before shutting down.  Note that a value of 0 (zero)** **will disable the timeout.  The default is 60.**

- **-D**

  **Run external debugger specified in debug\_command.**

## FILES

**/etc/imapd.conf,** **/etc/cyrus.conf**

## BUGS

**Though not really a bug, fud will silently ignore any requests that** **it does not consider valid.**

**Also not really a bug, fud requires that the anonymous user has the** **0 (zero) right on the mailbox in question.  This is only a "bug" because** **0 is not a standard IMAP ACL bit.**

**fud is an experimental interface meant to provide information to** **build a finger-like service around.  Eventually it should be superseded** **by a more standards-based protocol.**

## SEE ALSO

*[imapd.conf(5)](/imapd.conf/5.md)***,** *[cyrus.conf(5)](/cyrus.conf/5.md)*

## AUTHOR

**The Cyrus Team, Nic Bernstein (Onlight)**

## COPYRIGHT

**1993–2025, The Cyrus Team**
