Change README to markdown (README.md) and add as long_desciption to setup.py

This commit is contained in:
Scott Kitterman
2019-10-06 00:59:24 -04:00
parent df575ff80d
commit 0a22747df6
2 changed files with 18 additions and 24 deletions
+12 -24
View File
@@ -1,5 +1,4 @@
OVERVIEW # OVERVIEW
========
This is a DKIM signing and verification milter. It has been tested with both This is a DKIM signing and verification milter. It has been tested with both
Postfix and Sendmail. Postfix and Sendmail.
@@ -9,8 +8,7 @@ a subset of OpenDKIM options are supported. If an unsupported option is
specified, an error will be raised. specified, an error will be raised.
INSTALLATION # INSTALLATION
===========
This package includes a default configuration file and man pages. For those This package includes a default configuration file and man pages. For those
to be installed when installing using setup.py, the following incantation is to be installed when installing using setup.py, the following incantation is
@@ -48,8 +46,7 @@ The milter will work with either py3dns (DNS) or dnspython (dns), preferring
dnspython if both are available. The dkimpy DKIM module also works with dnspython if both are available. The dkimpy DKIM module also works with
either. either.
NON-STANDARD INSTALLATION PATHS ## NON-STANDARD INSTALLATION PATHS
============ ============ =====
The package includes a custom setup command called expand. It allows various The package includes a custom setup command called expand. It allows various
file locations in init scripts, man pages, and config files to be over-ridden file locations in init scripts, man pages, and config files to be over-ridden
@@ -74,19 +71,16 @@ or in a single step (the order matters):
--single-version-externally-managed \ --single-version-externally-managed \
--record=/dev/null --record=/dev/null
SETUP # SETUP
====
SIGNING KEYS ## SIGNING KEYS
============
In order to create DKIM signatures, a private key must be available. Signing In order to create DKIM signatures, a private key must be available. Signing
keys should be protected (owned by root:root with permissions 600 in a keys should be protected (owned by root:root with permissions 600 in a
directory that is not world readable). Different keys are required for RSA directory that is not world readable). Different keys are required for RSA
and (if used) Ed25519. and (if used) Ed25519.
RSA ### RSA
===
Both public and private keys for RSA have standard formats and there are many Both public and private keys for RSA have standard formats and there are many
tools available to create them. Keys must (RFC 8302) have a minimum size of tools available to create them. Keys must (RFC 8302) have a minimum size of
@@ -99,8 +93,7 @@ will produce both the private key file (.key suffix) and a file with the DKIM
public key record to be published DNS (.dns suffix). RSA is the default key public key record to be published DNS (.dns suffix). RSA is the default key
type. 2048 bits is the default key size. type. 2048 bits is the default key size.
ED25519 ### ED25519
=======
There is no standardized non-binary representation for Ed25519 private keys, There is no standardized non-binary representation for Ed25519 private keys,
so in order to generate Ed25519 keys for dkimpy-milter, dkimpy specific tools so in order to generate Ed25519 keys for dkimpy-milter, dkimpy specific tools
@@ -112,8 +105,7 @@ will provide both the private key file (.key suffix) and a file with the DKIM
public key record to be published DNS (.dns suffix). Ed25519 keys do not have public key record to be published DNS (.dns suffix). Ed25519 keys do not have
variable bit lengths. variable bit lengths.
MTA INTEGRATION ## MTA INTEGRATION
==============
Both a systemd unit file and a sysv init file are provided. Both make Both a systemd unit file and a sysv init file are provided. Both make
assumptions about defaults being used, e.g. if a non-standard pidfile name is assumptions about defaults being used, e.g. if a non-standard pidfile name is
@@ -147,8 +139,7 @@ practical matter, when signing, configure the milter to follow all others that
might modify the message body. When verifying, configure the milter before might modify the message body. When verifying, configure the milter before
other processes that might modify the message body. other processes that might modify the message body.
SENDMAIL ### SENDMAIL
========
Configuration is very similar to opendkim, but needs some adjustment for Configuration is very similar to opendkim, but needs some adjustment for
dkimpy-milter. Here's an example configuration line to include in your dkimpy-milter. Here's an example configuration line to include in your
@@ -164,8 +155,7 @@ Milter support should be present by default in most versions of sendmail
these days, but if not included in your Sendmail build, see: these days, but if not included in your Sendmail build, see:
http://www.elandsys.com/resources/sendmail/milter.html http://www.elandsys.com/resources/sendmail/milter.html
ISSUES USING SENDMAIL TO SIGN AND VERIFY #### ISSUES USING SENDMAIL TO SIGN AND VERIFY
========================================
When using the sendmail MTA in both signing and verifying mode, there are When using the sendmail MTA in both signing and verifying mode, there are
a few issues of which to be aware that might cause operational problems a few issues of which to be aware that might cause operational problems
@@ -215,8 +205,7 @@ and deserve consideration.
in the rewritten form, guaranteeing the input and output are the same in the rewritten form, guaranteeing the input and output are the same
and thus the signature matches the payload. and thus the signature matches the payload.
POSTFIX ### POSTFIX
=======
Integration of dkimpy-milter into Postfix is like any milter (See Postfix's Integration of dkimpy-milter into Postfix is like any milter (See Postfix's
README_FILES/MILTER_README). Here's an example master.cf excerpt that talks README_FILES/MILTER_README). Here's an example master.cf excerpt that talks
@@ -266,8 +255,7 @@ MacroListVerify daemon_name|VERIFYING
... ...
NOTES # NOTES
=====
The python DKIM library, dkimpy, requires the entire message being signed or The python DKIM library, dkimpy, requires the entire message being signed or
verified to be in memory, so dkimpy-milter does not write messages out to a verified to be in memory, so dkimpy-milter does not write messages out to a
+6
View File
@@ -25,6 +25,10 @@ import subprocess
description = "Domain Keys Identified Mail (DKIM) signing/verifying milter for Postfix/Sendmail." description = "Domain Keys Identified Mail (DKIM) signing/verifying milter for Postfix/Sendmail."
with open("README.md", "r") as fh:
long_description = fh.read()
class FileMacroExpand(distutils.cmd.Command): class FileMacroExpand(distutils.cmd.Command):
description = "Expand @@ variables in input files, simlar to make macros." description = "Expand @@ variables in input files, simlar to make macros."
user_options = [ user_options = [
@@ -87,6 +91,8 @@ setup(
author_email='scott@kitterman.com', author_email='scott@kitterman.com',
url='https://launchpad.net/dkimpy-milter', url='https://launchpad.net/dkimpy-milter',
description=description, description=description,
long_description=long_description,
long_description_content_type='text/markdown',
download_url = "https://pypi.python.org/pypi/dkimpy-milter", download_url = "https://pypi.python.org/pypi/dkimpy-milter",
classifiers= [ classifiers= [
'Development Status :: 5 - Production/Stable', 'Development Status :: 5 - Production/Stable',