The unique fully-qualified domain name
    This document will introduce you to the Message-ID and FQDN difficulties
    and help you out.

Introduction
    The unique fully-qualified domain name (or host name, FQDN or FQHN for
    short) is used by leafnode to generate the Message-ID.

    What is the Message-ID?

    Every message (mail or news) has a unique identifier in its header, the
    Message-ID. It may not be visible in your software unless you choose
    "display all headers" or "display raw" or "display source".

    The Message-ID looks roughly like an E-Mail address,
    <12345.67890@host.example.com>: it has a local and a domain part,
    separated by an @ sign, only that the local part of the Message-ID is
    different for different pieces of mail or news, while the local part of
    the mail address is constant. The domain part is usually the name of the
    host that generated the Message-ID: your computer's name when you are
    sending mail or posting news.

    Whenever a news server is offered a new news article for redistribution,
    it looks at the Message-ID to determine if it already has the article,
    to avoid double work, and to avoid that news articles run in circles.

    Therefore, each message sent, mail or news, must have a unique
    Message-ID. If the Message-ID is not unique, because you use the same
    host name as somebody else, and you and the other person write an
    article at the same time, either article will be discarded by the
    server. Leafnode will tell you that the Message-ID of the article it is
    about to post is already in use upstream.

    Please note that this problem is not leafnode-specific. Any software may
    suffer, but it's less prominent in mail, and it's difficult to see,
    because you're not getting a bounce back.

How to get a unique fully-qualified domain name
    There are several ways to obtain one. When you got yours, see below on
    how to configure your domain name.

    If you have a domain registered:
        Assume you are the rightful owner of example.com. You can now
        reserve any subdomain you wish, say mid.example.com, and a host name
        for your leafnode computer, say, abacus.mid.example.com, or for a
        friend. How you track that only one machine has the same name at the
        same time, is up to you. Writing *gave abacus.mid.example.com to Joe
        at 2002-07-11* on a sheet of paper is perfectly sufficient.

        Again: This host name need not be entered into your DNS data base,
        just make sure only one computer uses this name at the same time.

    If you have an account at "news.individual.de" or "news.individual.net":
        You have been assigned a user ID. To find it out, type in your
        shell:

         telnet news.individual.de 119

        (wait until connected)

         authinfo user sixpack
         authinfo pass joe
         quit

        Replace "sixpack" and "joe" by your login and password. After the
        "authinfo pass" line, you should see a line that reads:

         281 Authentication accepted. (UID=00000)

        If you get a 481 line, please retry, you may have mistyped user name
        or password. Correcting these lines with Backspace or Delete may
        also lead to failed logins. Retry with careful typing so that you do
        not need to correct your input.

        00000 shall be replaced by your actual user ID.

        Your hostname then is ID-00000.user.uni-berlin.de. DO MAKE SURE TO
        REPLACE THE NUMBER IN ID-00000 by the number the server told you in
        the UID= LINE.

    Specific providers.

        T-Online
            T-Online customers, your hostname is NNNNN.dialin.t-online.de,
            where NNNNN is your T-Online number. If your T-Online number
            contains your telephone number, contact T-Online support to have
            a new T-Online number assigned. I'm unaware if they charge you
            for this change.

    Ask your network administrator or your internet service provider.
        Your local network administrator can assign you a domain to use for
        Message-IDs.

        Your internet service provider may have reserved a special subdomain
        for the sole purpose of letting users create their own unique
        Message-IDs.

  When leafnode ignores your host name
    Well, it is probably the default name or domain that your OS vendor
    chose, like "localhost.localdomain". As such, it is not unique, but used
    on many computers, and therefore does not qualify as fully qualified
    domain name.

  Why localhost.ANYTHING will not work
    Many sites run resolvers that are based on ISC Bind code. And many sites
    configure their name servers so that they will resolve
    localhost.example.com. Therefore, localhost.example.com will not
    designate a single computer, but any computer that has "localhost" as a
    name. These resolvers are problematic because they will first see the
    domain as unqualified and append the domain or searchlist, so assuming
    that your domain is example.com, these resolvers will try
    localhost.example.com first, which will resolve to 127.0.0.1 at many
    sites.

    (It is usually a mistake to add localhost to the name server for a
    domain, the clients had better be fixed instead. As a workaround,
    removing all domain and searchlist lines from "/etc/resolv.conf" will
    usually work at the expense of not being able to use short names unless
    they are listed in "/etc/hosts".)

How to configure the fully-qualified domain name
  System-wide
    Preferably, the host name is entered into your system configuration so
    that it is available globally, to your mailers and news readers should
    they desire to create a FQDN.

    How exactly the hostname is configured, depends on your system, it is
    usually a two-step approach, but your system installation/configuration
    software may simplify things for you.

    1. Configure the bare hostname. Red Hat Linux and Mandrake Linux use
    *linuxconf*. SuSE Linux 7.3 and older read it from "FQHOSTNAME" in
    "/etc/rc.config" (but you can also use YaST or YaST2), SuSE Linux 8.0
    and newer read it from "/etc/HOSTNAME". FreeBSD 4.X reads it from
    "hostname" in "/etc/rc.conf" (but you can use "/stand/sysinstall").

    2. On many systems, you will have to put the fully qualified host name
    into "/etc/hosts" in addition to the place mentioned above. (On
    networked systems, using NIS, DNS or LDAP is also feasible if the client
    is configured to use the respective system to resolve host names.)
    Usually, a computer that is to resolve a hostname will look at
    "/etc/hosts" first and then at DNS.

    An "/etc/hosts" line might look like this:

     192.168.0.1 abacus.mid.example.com abacus oldname

    Keep the original name of the computer as an alias in case you
    configured some other software to use the old name.

    WARNING: SuSEconfig (or its hostname module in more recent versions of
    SuSE Linux) will destroy aliases and leave only the hostname (from
    "/etc/rc.config" or "/etc/HOSTNAME" depending on SuSE version) on your
    "/etc/hosts" line. In the above example, SuSEconfig would remove
    "oldname".

    The workaround is to replace the local host name by the FQDN, if
    possible. If you cannot replace the local host name, a different
    workaround is to set "CHECK_ETC_HOSTS="no"" in either "/etc/rc.config"
    (SuSE Linux 7.3 and older) or "/etc/sysconfig/suseconfig" (SuSE Linux
    8.0 and newer).

  Local to leafnode
    You can also write a line like

     hostname = abacus.mid.example.com

    into your "/etc/leafnode/config". But I recommend against it, see the
    next section:

  Should I configure the FQDN system-wide or local to leafnode?
    You should configure the FQDN system-wide. Your news reader may generate
    a Message-ID itself, and it is not aware of leafnode's configuration and
    will generate an invalid Message-ID -- leafnode will then reject the
    posting because the Message-ID is invalid.

