p≡p engine
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Go to file
Krista Bennett c52f4d39fb Added sql separate from ENGINE-606/ENGINE-822 so that the DDLs don't diverge any further (merges are difficult without this being separated this way in master as well). This means that some of the groups sql logic is present here, but it won't get used until the branch code makes it in here. If you have problems merging a branch, let me know. Better now than later. 2 years ago
.gitlab-ci-files CI: don't use insecure docker registries anymore 2 years ago
asn.1 ENGINE-864: Makefile tweaks. Will have to come into default, but since we're doing this anyway... 2 years ago
build-android Android build: Add cleanup for installed headers. 3 years ago
build-mac IOSAD-182 Xcode: Use sqlite amalgamation from own mirror 3 years ago
build-windows Create system.db in the generate_code script 3 years ago
db PER_MACHINE_DIRECTORY basically has to be defined with a sensible default. 4 years ago
doc Removing rancid doc files. If we have build instructions, we have a responsibility to keep them up to date. If not, they're more dangerous than they're worth. 3 years ago
pEpMIME ENGINE-864: Cleanup, plus fixed some semantics regarding CFLAGS/CXXFLAGS/CPPFLAGS that had been built in to the build system. 2 years ago
scripts ENGINE-883: test if files are there to diminish annoying pings from git 2 years ago
src Added sql separate from ENGINE-606/ENGINE-822 so that the DDLs don't diverge any further (merges are difficult without this being separated this way in master as well). This means that some of the groups sql logic is present here, but it won't get used until the branch code makes it in here. If you have problems merging a branch, let me know. Better now than later. 2 years ago
sync make protocol families extensible 2 years ago
templates ENGINE-883: script updates from hooks directory, Makefile fix for those who haven't put hooks in. Needs to be tested on other systems and won't save non-hooks-using windows users from themselves. 2 years ago
test ENGINE-864: Makefile tweaks. Will have to come into default, but since we're doing this anyway... 2 years ago
.gitignore ENGINE-883: script updates from hooks directory, Makefile fix for those who haven't put hooks in. Needs to be tested on other systems and won't save non-hooks-using windows users from themselves. 2 years ago
.gitlab-ci.yml CI: add basic gitlab-ci jobs 2 years ago
CC_BY-SA.txt Move most documentation to doc/, update README 6 years ago
DEPENDENCIES CI: add basic gitlab-ci jobs 2 years ago
LICENSE.txt Move most documentation to doc/, update README 6 years ago
Makefile install depends on build 2 years ago
Makefile.conf ENGINE-864: Cleanup, plus fixed some semantics regarding CFLAGS/CXXFLAGS/CPPFLAGS that had been built in to the build system. 2 years ago
README.md fixing a typo 2 years ago
clean_sync_leftovers.sh adding trust sync files to clean_sync_leftovers.sh 3 years ago
engine_doxygen.conf attempts to generate sync doc 3 years ago
pEpErr.py test fix 3 years ago
release_rc.py Fixed release script newline error 3 years ago

README.md

What is the p≡p Engine?

The p≡p Engine is a Free Software library encapsulating implementations of:

  • Key Management

    Key Management in the p≡p Engine is based on GnuPG key chains (NetPGP on iOS). Keys are stored in an OpenPGP-compatible format, and can be used for different crypto implementations.

  • Trust Rating

    The p≡p Engine sports a two phase trust rating system for messages: In phase one a rating is derived based on channel, crypto and key security. This is named "comm_types". In phase two these ratings are mapped to user-representable values mimicking the semantics of a traffic light.

  • Abstract Crypto API

    The Abstract Crypto API provides functions to encrypt and decrypt data or full messages, without requiring an application programmer to understand the different applied formats and standards.

  • Message Transports

    The p≡p Engine will sport a growing list of message transports, to support any widespread text-based messaging system such as E-Mail, SMS, XMPP and many more.

The p≡p Engine is written in C99 and is expected to run on any platform that conforms to the SUS/POSIX specification. Selected non-SUS platforms are supported as well (such as Microsoft Windows).

How can I use the p≡p Engine?

Build instructions can be found in the "doc/" subfolder in this repository. The p≡p Engine is not meant to be used in application code directly. Instead, the p≡p Engine is meant to be used in conjunction with a so-called "adapter". An adapter provides an API in a programming language that best accomodates developers in their respective software development ecosystem. So, for example, a Java Native Interface adapter exists for development of apps for the Android mobile operating system, or a .NET adapter exists for development of applications on Microsoft Windows. Various adapters are also available at the link provided for the p≡p Engine's code above.

What is the current state of the project?

The p≡p Engine is production-ready. It is under active development by several full-time employees of the p≡p foundation and its partner organizations. The most recent version of the source code can be obtained here: https://pep.foundation/dev/repos. This is the only offical way to obtain a copy of the source code.

I would like to contribute to the p≡p Engine or a related project, where do I start?

First of all, excellent! You can find further information here: https://contribution.pep.foundation/

Legal notes

The p≡p Engine is Copyright 2015-2020 by p≡p foundation, Switzerland. The source code of the p≡p Engine is licensed under the terms of the GNU General Public License version 3. Accompanying documentation is licensed under the terms of the Creative Commons Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) License. Each file includes a notice near its beginning, that indicates the applicable license. If you wish to license the p≡p Engine under different terms, please contact mailto:council@pep.foundation.

_pEp_reallocarray in pgp_sequoia.c is reallocarray from the OpenBSD source. It is copyright (c) 2008 Otto Moerbeek otto@drijf.net with the following permissions: Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.

Contact

The p≡p foundation and the developers of the p≡p Engine can be reached as detailed here: https://pep.foundation/contact-us/index.html.