<commit_before>Comfirm DMARC Report Server
===========================
*v 0.7*

Server for receiving **DMARC** reports, validate their integrity, and passing them to a web service as JSON.

This server is not ready for production use at this point!


Features
--------

* Acts as an SMTP server, no need for any 3rd-party software.
* High performance, uses epoll().
* Validates DKIM signatures for data integrity.
* Passes the reports in "real-time" to a web service as JSON data.
* Internal queueing - persistant.
* Written in C.


Install
-------

    $ ./configure
    $ make
    # make install
    # comfirm-dmarc -c /etc/comfirm-dmarc/comfirm-dmarc.conf

TODO
----

* The server is currently only handling base64 encoded emails, should add proper MIME handling.
* Using an extended version of firm-dkim to validate signatures, only supports relaxed canon algorithm.
* Needs more testing.<commit_msg>Minor corrections.<commit_after>Comfirm DMARC Report Server
===========================
*v 0.7*

Server for receiving **DMARC** reports, validate their integrity, and passing them to a web service as JSON.

This server is not ready for production use at this point!


Features
--------

* Written in C and with performance in mind.
* Acts as an SMTP server, no need for any 3rd-party software.
* Validates DKIM signatures for data integrity.
* Passes the reports in "real-time" to a web service as JSON data.
* Persistent queueing of web service requests. I.e. if web service is down then the reports will be sent as soon as it gets up. Also means that it can survive a restart.

Install
-------

    $ ./configure
    $ make
    # make install
    # comfirm-dmarc -c /etc/comfirm-dmarc/comfirm-dmarc.conf

TODO
----

* The server is currently only handling base64 encoded emails, should add proper MIME handling.
* Using an extended version of firm-dkim to validate signatures, only supports relaxed canon algorithm.
* Needs more testing + unit tests.
{'fraction_non_alphanumeric': 0.10633946830265849, 'fraction_numerical': 0.005112474437627812, 'mean_word_length': 3.4782608695652173, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '549303', 'n_tokens_mistral': 561, 'n_tokens_neox': 519, 'n_words': 260}