FUD(8) | Cyrus IMAP | FUD(8) |
fud - Cyrus IMAP documentation
Provide information about user mailboxes
fud [ -C config-file ] [ -U uses ] [ -T timeout ] [ -D ]
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) file unless specified otherwise by -C.
fud will automatically proxy any and all FUD requests to the appropriate backend server if it is runing 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
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 );
/etc/imapd.conf, /etc/cyrus.conf
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 superceded by a more standards-based protocol.
The Cyrus Team, Nic Bernstein (Onlight)
1993-2017, The Cyrus Team
August 10, 2018 | 3.0.8 |