[ Manpage overview ] [ To start of mcntp pages ]
Table of Contents


mcxmit - Sender for news via multicast


mcxmit [-h]
mcxmit [-c] [-C] [-d level] [-g grouplist] [-K keyfile] [-O config_dir] [-s]


mcxmit reads stdin to get pathnames that lead to news articles in the spool area, the message id and then opens the appropriate file and trans- mits the articles via IP-multicast. The multicast group the articles are transmitted to is determined via the -g argument and in conjunction with yawgmoth(8) .

The options have the following meaning:

The article should be compressed before sending it to a remote site. Please note that this option can only be used if it has been specially compiled in. See mcntp(8) for more details.

The article should be encrypted before being transferred to a re- mote site. This is not supported at the moment.

-d debug_level
specifies the level of debug information. If debug_level is zero then no debugging output is produced.

-g grouplist
the list of groups that is distributed via this incarnation of mcxmit. This is basically the same as the list of groups that is given in the newsfeeds(5) file.

-K keyfile
Normally mcxmit takes the private key found in the file mcntp_key.priv as the public key with which articles are digitally signed. In order to use a different key, the -K option can be used.

-O conf_dir
To specify a different directory, where the config file mcntp.conf can be found instead of the default.

Use StorageAPI from INN to retreive articles from the news spool. Without StorageAPI, articles are saved in a tree like manner in the spool and can each be found in an individual file. With Stor- ageAPI, the news spool can consist of few large files in which ar- ticles are stored. Access to the articles then goes through API functions.

After startup mcxmit contacts a yawgmoth daemon that is running on the local host and tells it the list of groups that it wishes to distribute; as result it receives a multicast group and starts to send on this group. When mcxmit terminates is tries to tell this to yawgmoth so that this can remove the groups from its internal list.

In order to work properly mcxmit needs a special entry in newsfeeds(5) :

mcxmit:group_list:Tc,Wnm:mcxmit -g grouplist

This entry tells innd to start the mcxmit process and feed it with the path to the article (relative to the base of the article spool), the mes- sage id of the article.
Note that as a result from UDP packets being able at most 64 kBytes in size, articles send via mcxmit can only be as large as 63500 Bytes. This also applies to articles that will be compressed. Mcxmit sorts out larg- er articles by itself, but to reduce load it might be a good idea to al- ready limit what articles innd offers to mcxmit by adding a <63500 direc- tive to the third field of an entry in newsfeeds(5) . The size limit isn't that hard as it might look like; as research has shown that more than 90% of all articles are less than 64 kBytes in size (see http://www.xlink.net/~hwr/mcntp.html).

When exiting, mcxmit writes a statistics line to syslog (with level news.notice) which looks like this:

mcxmit: 3 received 2 sent 2000 art_bytes 2200 total

The meaning of the fields are:

This is the number of articles that were offered to mcxmit on stdin.

sent This is the number of articles that have been sent out to the net. This number can be smaller as received as article lines that we received can refer to articles that are no longer present in the filesystem or that are more than 63500 bytes in size.

The total number of bytes the articles had before adding spe- cial headers by mcxmit (i.e. the number of bytes the articles had in spool).

The number of bytes that were actually sent out to the net. This can in the case where compression is in use be less than art_bytes.

Statistics are also reported to yawgmoth(8) .


The following examples show how in practice mcxmit can be called in newsfeeds(5) :

de-cast:de.*:Tc,Wnm:mcxmit -g de
Only groups of the de.* hierarchy are distributed

ab-cast:alt.binaries.*:Tc,Wnm,<63500:mcxmit -c -g alt.binaries Articles from alt.binaries will be distributed. The articles will be compressed before transmission. Only articles with less than 63500 bytes in size will be offered to mcxmit

i-cast:internal.*:Tc,Wnm:mcxmit -C -g internal Articles will be crypted before transmission.


mcntp-key.priv: default private key used to sign outgoing articles.

See Also

mcntp(8) , mcrcv(8) , keygen(8) , innd(8) , yawgmoth(8) , mcntp.conf(5) , rctest(1) , newsfeeds(5) , udp(4) , libz(3) , syslogd(8)


The mcxmit command is part of the diploma thesis Transport of NetNews via IP-multicast.


The hooks for encryption are there, but don't work yet.

Please report all bugs that you find at the respective tracker at http://sourceforge.net/projects/mcntp/

Table of Contents

$Id: mcxmit.8.html,v 1.9 2001/11/22 10:24:37 pilhuhn Exp $