Generates control articles and handles PGP keys (generation and management) to help in managing Usenet hierarchies.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
support
LICENSE
README
signcontrol.conf
signcontrol.py

README

NAME

    signcontrol.py - Generate PGP-signed control articles for Usenet
    hierarchies

SYNOPSIS

    python signcontrol.py

DESCRIPTION

    signcontrol.py is a Python script aimed at Usenet hierarchy
    administrators so as to help them in maintaining the canonical lists of
    newsgroups in the hierarchies they administer.

    This script is also useful to manage PGP keys:  generation, import,
    export, removal, and revokal.  It works on every platform on which
    Python and GnuPG are available (Windows, Linux, etc.).

    It enforces best practices regarding the syntax of Usenet control
    articles.

    Getting started is as simple as:

    1.  Downloading and installing Python (<http://www.python.org/>). 
        However, make sure to use Python 2.x because signcontrol.py is not
        compatible yet with Python 3.x.

    2.  Downloading and installing GnuPG (<http://www.gnupg.org/>).

    3.  Downloading both the signcontrol.py script and its signcontrol.conf
        configuration file.

    4.  Editing the signcontrol.conf configuration file so that the
        parameters it defines properly fit your installation.

    5.  Running "python signcontrol.py".

SUPPORT

    The signcontrol.py home page is:

        http://www.trigofacile.com/divers/usenet/clefs/signcontrol.htm

    It will always point to the current version of the script, and contains
    instructions written in French.

    For bug tracking, please use the issue tracker provided by Github:

        https://github.com/Julien-Elie/usenet-signcontrol

SOURCE REPOSITORY

    signcontrol.py is maintained using Git.  You can access the current
    source by cloning the repository at:

        https://github.com/Julien-Elie/usenet-signcontrol.git

    or access it via the web at:

        https://github.com/Julien-Elie/usenet-signcontrol

    When contributing modifications, either patches or Git pull requests are
    welcome.

CONFIGURATION FILE

    The following parameters can be modified in the signcontrol.conf
    configuration file:

    PROGRAM_GPG
        The path to the GPG executable.  It is usually
        "C:\Progra~1\GNU\GnuPG\gpg.exe" or "/usr/bin/gpg".

    PGP2_COMPATIBILITY
        Whether compatibility with MIT PGP 2.6.2 (or equivalent) should be
        kept.  Though this is now fairly obsolete, a few news servers still
        haven't been updated to be able to process newer and more secure
        signing algorithms.  Such servers do not recognize recent signing
        algorithms; however, current news servers may refuse to process
        messages signed with the insecure MD5 algorithm.

        Possible values are "True", "False" or "Only" (default is "False").

        When set to "True", signcontrol will generate two control articles:
        one in a format compatible with MIT PGP 2.6.2 (or equivalent) and
        another with a newer and more secure format.  Sending these two
        control articles will then ensure a widest processing.

        When set to "False", signcontrol will generate control articles in
        only a newer and more secure format.

        When set to "Only", signcontrol will generate control articles in
        only a format compatible with MIT PGP 2.6.2 (or equivalent).

    ID  The ID of the PGP key used to sign control articles.  Note that if
        you do not already have a PGP key, it can be generated by
        signcontrol.py.  As for Usenet hierarchy management is concerned,
        the ID is usually a mere e-mail.

    MAIL
        The e-mail from which control articles are sent.  It is usually the
        ID of the PGP key used to sign them.

    HOST
        The host which appears in the second part of the Message-ID of
        control articles generated.  It is usually the name of a news
        server.

    ADMIN_GROUP
        An existing newsgroup of the hierarchy (where checkgroups control
        articles will be fed).  If an administrative newsgroup exists, put
        it.  Otherwise, any other newsgroup of the hierarchy will be fine.

    NAME
        The name which appears in the From: header field.  You should only
        use ASCII characters.  Otherwise, you have to MIME-encode it (for
        instance: "=?ISO-8859-15?Q?Julien_=C9LIE?=").

    CHECKGROUPS_SCOPE
        The scope of the hierarchy according to Section 5.2.3 of RFC 5537
        (also known as USEPRO, available at
        <https://tools.ietf.org/html/rfc5537#section-5.2.3>).  For instance:
        "fr" (for fr.*), "de !de.alt" (for de.* excepting de.alt.*) or
        "de.alt" (for de.alt.*).

    URL The URL where the public PGP key can be found.  If you do not have
        any, leave "ftp://ftp.isc.org/pub/pgpcontrol/README".  If you want
        to add more URLs (like the home page of the hierarchy), use a
        multi-line text where each line, except for the first, begins with a
        tabulation.

    NEWGROUP_MESSAGE_MODERATED, NEWGROUP_MESSAGE_UNMODERATED,
    RMGROUP_MESSAGE
        The message which will be written in the corresponding control
        article.  All occurrences of "$GROUP$" will be replaced by the name
        of the newsgroup.

    PRIVATE_HIERARCHY
        Whether the hierarchy is public or private.  If it is private (that
        is to say if it is intended to remain in a local server with private
        access and if it is not fed to other Usenet news servers), the value
        should be "True", so that checkgroups control articles are not
        crossposted to the news.admin.hierarchies newsgroup.  Possible
        values are "True" or "False" (default is "False").

    CHECKGROUPS_FILE
        The file which contains the current checkgroups.

    ENCODING
        The encoding of control articles.  The default value is
        "ISO-8859-1".

USEFUL RESOURCES

    Here are some resources that can be useful to be aware of:

    Usenet Hierarchy Administration FAQ
        <http://www.eyrie.org/~eagle/faqs/usenet-hier.html>

    Usenet hierarchy information
        <http://usenet.trigofacile.com/hierarchies/>

    Hosting service for hierarchy administrators
        <http://www.news-admin.org/>

LICENSE

    The signcontrol.py package as a whole is covered by the following
    copyright statement and license:

    Copyright (c) 2007, 2008, 2009, 2011, 2014 Julien ÉLIE

    Permission is hereby granted, free of charge, to any person obtaining a
    copy of this software and associated documentation files (the
    "Software"), to deal in the Software without restriction, including
    without limitation the rights to use, copy, modify, merge, publish,
    distribute, sublicense, and/or sell copies of the Software, and to
    permit persons to whom the Software is furnished to do so, subject to
    the following conditions:

    The above copyright notice and this permission notice shall be included
    in all copies or substantial portions of the Software.

    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
    OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
    IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
    CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
    TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
    SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

HISTORY

    signcontrol.py was written by Julien ÉLIE.

SEE ALSO

    gpg(1).