Chapps

Latest version: v0.5.18

Safety actively analyzes 623965 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 9

0.5.18

- Correcting errors introduced in last version which might not perhaps
impact effectiveness but were, nonetheless, wrong.
- Introducing code to register new socket connections and spin off a
handler for them, attaching a `done_callback` to them to allow them
to be closed automatically once the handler routine returns. This
allows us to log specifically when sockets are opened and closed.
And it ensures that sockets get an explicit close executed on them
before we abandon them.

0.5.17

- Adding explicit calls to drain and close the writer filehandle(s)
which are passed to the client-connection-callback handler. I had
been under the impression that these streams were closed by the
caller after the handler returned. It may be, however, that
operating that way relies on garbage collection. That might explain
why it works well as long as the load stays under a certain (rather
high) level.

After looking at some additional examples of asyncio servers, I
think I'd like to introduce a little further complexity by
registering the client and then handing off performing the actual
work to a sub-task. This will position things a little better for
introducing parallel-processing thread pools, which may also be
required in order to handle truly large amounts of request traffic.

0.5.16

- Adding the `[CHAPPS]` config parameter `listener_backlog` which is
passed as the `backlog` argument to `asyncio.start_server()` when
creating a new CHAPPS server.

0.5.15

- Adding same debug information to
`CascadingMultiresultPolicyHandler`, which is the one of interest to
the strange interaction with Postfix under high load, and possibly
with high DNS-resolution latency.

0.5.14

- Adding debug information regarding obtained contents of incomplete
reads from Postfix. We are experiencing a strange situation wherein
CHAPPS reports over and over again that Postfix is closing its
connection before CHAPPS can read the end-record character sent at
the end of Postfix policy requests. This seems to somehow be
related to periods of congestion occurring around the same time
Postfix complains of not being able to reach CHAPPS, resulting in
many emails being bounced. And, in this mix, we see sometimes the
`pyspf` library raising timeout errors while trying to resolve
records for SPF checks.

All of this seems to coincide with periods of greater overall load,
and as there are other moving parts to how it all works, more
observability is required in order to better understand where the
breakdown is occurring.

The altered message is issued at 'DEBUG' level, so if your logging
level is not set to catch debug messages, they may not appear or may
appear only in the debug log, depending upon your **syslog**
configuration.

- Corrected format of `CHANGELOG.md` to get markup to render.
Adjusted formatting and spacing as well. This should probably have
been an RST file from the beginning.

0.5.13

- Adding an option for `SPFEnforcementPolicy` which allows the
operator of a site to set the total-duration timeout for DNS
checks against a single message. Sometimes these can add up,
and the RFC(s) on the subject call for allowing 20s to perform
DNS lookups. Sites which would rather limit their SPF-related
DNS overhead may set this to a lower value. Checks which time
out are considered to have failed.

- Adjusted setuptools metadata a bit. Added an `[all]` extras
category to simplify the process of installing all the
dependencies. Right now API testing fails after a fresh `pip
install -e` due to a missing file, which would appear if the
module were installed normally. I am not sure how to correct
this problem; locally I just use a symlink.

- Added helpful comments to some of the integration tests. Most
of the individual files making up those tests, even if they are
in the same directory, cannot actually run in the same session.
They pass when run in separate sessions.

Page 1 of 9

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.