Git Product home page Git Product logo

halon / libdkimpp Goto Github PK

View Code? Open in Web Editor NEW
15.0 7.0 3.0 185 KB

libdkim++ is a lightweight and portable DKIM (RFC6376) library for *NIX, supporting both signing and DMARC/ARC/SDID verification, sponsored and used by Halon Security. libdkim++ has extensive unit test coverage and aims to fully comply with the current RFC.

Home Page: http://halon.io

License: GNU Lesser General Public License v3.0

C++ 96.13% CMake 3.71% Dockerfile 0.16%
dkim rfc4871 libdkim dmarc rfc6376 arc sdid

libdkimpp's Introduction

libdkim++ is a lightweight and portable DKIM (RFC6376) library for *NIX, supporting both signing and DMARC/ARC/SDID verification sponsored and used by Halon Security's (http://halon.io) SMTP platform. libdkim++ has extensive unit test coverage and aims to fully comply with the current RFC.

Coverity Scan Build

Building

This library requires CMake (http://www.cmake.org/) to compile, and depends on OpenSSL (which is normally shipped with *NIX distributions).

$ cmake .
$ make && make install

You might need to add some packages, like a C++ compiler and cppunit which can be done by running pkg_add -r cppunit, apt-get install cppunit or yum install cppunit-devel depending on operating system.

  • cmake
  • pkg-config
  • cppunit
  • libssl-dev
  • libsodium

Because some systems (like OpenBSD) lacks a reentrant resolver, this library might not be thread-safe on all platforms.

Testing

libdkim++ has extensive unit test coverage and aims to fully comply with the current RFC.

$ make test

which should result in this output:

Running tests...
Test project /home/erik/Desktop/libdkimpp/build
   Start 1: QuotedPrintableTest
1/8 Test #1: QuotedPrintableTest ..............   Passed    0.00 sec
   Start 2: Base64Test
2/8 Test #2: Base64Test .......................   Passed    0.00 sec
   Start 3: CanonicalizationTest
3/8 Test #3: CanonicalizationTest .............   Passed    0.00 sec
   Start 4: MailParserTest
4/8 Test #4: MailParserTest ...................   Passed    0.00 sec
   Start 5: TokenizerTest
5/8 Test #5: TokenizerTest ....................   Passed    0.00 sec
   Start 6: EncodedWordTest
6/8 Test #6: EncodedWordTest ..................   Passed    0.00 sec
   Start 7: SignatoryTest
7/8 Test #7: SignatoryTest ....................   Passed    0.04 sec
   Start 8: TagListTest
8/8 Test #8: TagListTest ......................   Passed    0.00 sec
100% tests passed, 0 tests failed out of 8
Total Test time (real) =   0.08 sec

libdkimpp's People

Contributors

desh-se avatar dfateyev avatar eriklax avatar sunkuet02 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

libdkimpp's Issues

RFE: Python bindings

I know they don't exist, but I would love to have a fast dkim implementation, so I'm hoping someone will write them for libdkimpp.

Windows plateforms

Hi,

Do you think your code could be easy port to the Windows plateforms?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.