mcxmit - Sender for news via multicast
mcxmit [-h]
mcxmit [-c] [-C] [-d level] [-g grouplist] [-K keyfile]
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 transmits 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:
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 message 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 larger articles by itself, but to reduce load it might be a good idea to already limit what articles innd offers to mcxmit by adding a <63500 directive 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:
received
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.
art_bytes
The total number of bytes the articles had before adding special
headers by mcxmit (i.e. the number of bytes the articles
had in spool).
total
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.
mcntp(8), mcrcv(8), keygen(8), innd(8), yawgmoth(8), newsfeeds(5), udp(4), libz(3), syslogd(8)
The hooks for encryption are there, but don't work yet.
Please report all bugs that you find to <mcntp-bugs@pilhuhn.de>