Merge branch 'master' into ENGINE-633 - 63 broken tests now, which, you know, is probably 20 broken group encryption tests plus the 43 broken before I abandoned this branch 200 years ago...

doxygen_doc
Krista Bennett 2 years ago
commit 445986871c

58
.gitignore vendored

@ -31,6 +31,7 @@ build-android/pEpEngine-android-1.zip
build-android/third-party
build-android/pEpEngine-android-1
build-linux/*
build-windows/libpEpasn1/libpEpasn1.vcxproj.user
*.dSYM*
*_test
msg4.asc
@ -40,7 +41,7 @@ Makefile.protocols
test/msg_encrypt_for_self.asc
tags
asn.1/pEpEngineASN1/pEpEngineASN1.vcxproj.user
sync/generated
codegen/generated
*.xml
*.dot
*.svg
@ -65,19 +66,22 @@ test/src/engine_test/LocalPlayground.cc
*/*/.tags
asn.1/.generated
src/KeySync_*
src/TrustSync_*
src/GroupSync_*
src/Sync_*
src/sync_codec.*
src/distribution_codec.*
src/storage_codec.*
asn.1/keysync.asn1
asn.1/trustsync.asn1
asn.1/groupsync.asn1
asn.1/keyreset.asn1
asn.1/sync.asn1
asn.1/distribution.asn1
sync/.codecs
sync/.messages
sync/.actions
sync/.codegen
sync/.statemachines
sync/.copy
asn.1/exploration.asn1
asn.1/managedgroup.asn1
asn.1/storage.asn1
asn.1/messagestorage.asn1
test/msg_2.0.asc
test/*.txt
lldb-history
@ -87,6 +91,30 @@ test/EngineTests
test/googletest
test/tmp/*
src/commit_hash.h
.idea/
venv/
venv2/
cleangit.py
newgit
# Xcode related ignores
build/
DerivedData/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata/
*.moved-aside
*.xccheckout
*.xcscmblueprint
xcshareddata
# ignore generated test data
test/655_16F07F382FB3CF5DF977005D1069C7CACF9C23C6.asc
@ -99,3 +127,19 @@ test/test_keys/736_a.asc
test/test_keys/736_b.asc
test/test_mails/ENGINE-654_bob_mail.eml
# ignore generated data
codegen/generated/
codegen/*.gen
.copy
# Don't remove these if you want to live a long life. It's necessary because it doesn't get cleaned up between branches.
sync/generated
sync/.codecs
sync/.messages
sync/.actions
sync/.codegen
sync/.statemachines
sync/.copy
*.ignore

@ -0,0 +1,22 @@
.ensure_docker: &ensure_docker
# Check for docker and install if missing
- 'which docker || ( sudo apt-get update -y && sudo apt-get install docker.io -y )'
.ensure_rsync: &ensure_rsync
# Install rsync and deps if missing
- 'which ssh-agent || ( sudo apt-get update -y && sudo apt-get install openssh-client -y )'
- 'which rsync || ( sudo apt-get update -y && sudo apt-get install rsync -y )'
- 'which make || ( sudo apt-get update -y && sudo apt-get install make -y )'
.standard_job:
tags: [kvm]
before_script:
- *ensure_docker
- *ensure_rsync
.make_in_docker:
extends: .standard_job
script:
- docker login -u ${DOCKER_REGISTRY_USER} -p ${DOCKER_REGISTRY_PASS} ${DOCKER_REGISTRY_HOST}
- cd scripts/${CI_DISTRO_TARGET}
- make

@ -0,0 +1,27 @@
include:
- '.gitlab-ci-files/common-prepare.yml'
stages:
- build
# Debian
debian10:build:
extends: .make_in_docker
stage: build
variables:
CI_DISTRO_TARGET: "debian10"
DEBIAN_FRONTEND: "noninteractive"
rules:
- if: '$CI_COMMIT_TAG !~ /^Release_[0-9]+\.[0-9]+\.[0-9]+$/'
debian10:tagged-build:
extends: .make_in_docker
stage: build
variables:
CI_DISTRO_TARGET: "debian10"
DEBIAN_FRONTEND: "noninteractive"
TAGGED_BUILD: "true"
rules:
- if: '$CI_COMMIT_TAG =~ /^Release_[0-9]+\.[0-9]+\.[0-9]+$/'

@ -0,0 +1,4 @@
# 1st Party Dependencies
## Prefer git tags instead of SHA hashes when possible.
sequoia=365d00a08bec6a5a48d48a7c7893d78c27092b59

@ -19,24 +19,37 @@ ifdef BUILD_CONFIG
$(info ================================================)
endif
.PHONY: all sync asn1 build install dbinstall uninstall clean tags test package db
BUILT_IN_MIME=
build: asn1
ifdef PEP_MIME
BUILT_IN_MIME=pepmime
endif
.PHONY: all $(BUILT_IN_MIME) codegen asn1 build install dbinstall uninstall clean tags test package db
build: $(BUILT_IN_MIME) asn1
$(MAKE) -C src
all: build
# `make all` is not for tests, that's what `make test` is for
# $(MAKE) -C test
sync:
$(MAKE) -C sync
pepmime:
$(MAKE) -C pEpMIME lib
codegen:
$(MAKE) -C codegen
asn1: sync
asn1: codegen
$(MAKE) -C asn.1
install: build
$(MAKE) -C src install
$(MAKE) -C asn.1 install
ifeq ($(BUILT_IN_MIME),pepmime)
$(MAKE) -C pEpMIME install
endif
beinstall:
$(MAKE) -C src beinstall
@ -53,8 +66,11 @@ clean:
$(MAKE) -C test clean
$(MAKE) -C db clean
$(MAKE) -C asn.1 clean
$(MAKE) -C sync clean
$(MAKE) -C codegen clean
$(MAKE) -C build-android clean
ifdef PEP_MIME
$(MAKE) -C pEpMIME clean
endif
tags:
$(MAKE) -C asn.1 tags

@ -15,7 +15,6 @@
# It is possible to use multiple variants simultaniously.
# If nothing is changed according to these 3 methods, a default configuration for your platform (specified below) will be used for the build.
######### Header #########
HERE:=$(dir $(lastword $(MAKEFILE_LIST)))
@ -74,28 +73,29 @@ TARGET_ARCH=
# The following two variables will be appended to.
# You can thus not set them to a final, fixed value here.
ifeq ($(BUILD_FOR),Linux)
LDFLAGS=
LDFLAGS+=
else ifeq ($(BUILD_FOR),Darwin)
# "-bind_at_load" helps find symbol resolution errors faster
LDFLAGS=-bind_at_load
LDFLAGS+=-bind_at_load
endif
# Are we wiping this on purpose?
LDLIBS=
######### C #########
ifeq ($(BUILD_FOR),Linux)
CC=gcc -std=c99 -pthread
CC=gcc
else ifeq ($(BUILD_FOR),Darwin)
# clang issues a warning when "-pthread" is used for linking.
# So, include it in CFLAGS, and not in CC
CC=clang -std=c99
CC=clang
endif
CFLAGS+=-std=c99 -pthread
CFLAGS+=-fPIC -fstrict-aliasing
ifeq ($(BUILD_FOR),Linux)
CFLAGS=-fPIC -fstrict-aliasing -fdiagnostics-color=auto
CFLAGS+=-fdiagnostics-color=auto
else ifeq ($(BUILD_FOR),Darwin)
CFLAGS=-pthread -fPIC -fstrict-aliasing -fcolor-diagnostics
CFLAGS+=-fcolor-diagnostics
endif
# The flag -DNDEBUG will always be removed from CFLAGS for compiling tests.
@ -131,24 +131,28 @@ ifeq ($(BUILD_FOR),Linux)
# otherwise printed during the compilation of every asn1c-generated C file.
# It's a glibc specific warning, only present in few versions around ~2.19.
# See https://lwn.net/Articles/590381/ for a discussion.
CFLAGS_GENERATED=-D_DEFAULT_SOURCE
CPPFLAGS_GENERATED=-D_DEFAULT_SOURCE
else ifeq ($(BUILD_FOR),Darwin)
CFLAGS_GENERATED=
CPPFLAGS_GENERATED=
endif
######### C++ #########
ifeq ($(BUILD_FOR),Linux)
CXX=g++ -std=gnu++11 -pthread
CXX=g++
CXXFLAGS+=-std=gnu++11
else ifeq ($(BUILD_FOR),Darwin)
# clang issues a warning when "-pthread" is used for linking. So, include it in CXXFLAGS, and not in CXX
CXX=clang -std=c++11
CXX=clang
CXXFLAGS+=-std=c++11
endif
# The flag -DNDEBUG will always be removed from CXXFLAGS for compiling tests.
CXXFLAGS+=-pthread
# The flag -DNDEBUG will always be removed from CPPFLAGS for compiling tests.
#
# The tests do not work properly, if compiled with -DNDEBUG
ifeq ($(BUILD_FOR),Linux)
CXXFLAGS=-fdiagnostics-color=auto -I../src -I../asn.1 $(ETPAN_INC)
CXXFLAGS+=-fdiagnostics-color=auto -I../src -I../asn.1 $(ETPAN_INC)
ifdef WARN
CXXFLAGS+=
else
@ -157,10 +161,11 @@ ifeq ($(BUILD_FOR),Linux)
ifdef DEBUG
CXXFLAGS+= -g -ggdb
else
CXXFLAGS+= -O3 -DNDEBUG
CXXFLAGS+= -O3
CPPFLAGS+= -DNDEBUG
endif
else ifeq ($(BUILD_FOR),Darwin)
CXXFLAGS=-pthread -fcolor-diagnostics -I../src -I../asn.1 $(ETPAN_INC)
CXXFLAGS+=-fcolor-diagnostics -I../src -I../asn.1 $(ETPAN_INC)
ifdef WARN
CXXFLAGS+=
else
@ -169,16 +174,18 @@ else ifeq ($(BUILD_FOR),Darwin)
ifdef DEBUG
CXXFLAGS+= -O0 -g
else
CXXFLAGS+= -O3 -DNDEBUG
CXXFLAGS+= -O3
CPPFLAGS+= -DNDEBUG
endif
endif
######### C and C++ #########
ifeq ($(BUILD_FOR),Darwin)
CPPFLAGS=-D_DARWIN_C_SOURCE
CPPFLAGS+=-D_DARWIN_C_SOURCE
LDLIBS+=-liconv
else
CPPFLAGS=
LDLIBS+=-luuid
endif
@ -200,39 +207,42 @@ ASN1C_INC=
#ASN1C_INC=-I$(HOME)/include
######### libetpan #########
# libetpan library search flag
ETPAN_LIB=
#ETPAN_LIB=-L$(HOME)/lib
######### sqlite3 #########
# If empty (or undefined), compile sqlite3 from the sources shipped with the pEp distribution.
# Otherwise, use an sqlite3 implementation found in the OS's include/library paths.
SQLITE3_FROM_OS=placeholder
# libetpan include search flag
ETPAN_INC=
#ETPAN_INC=-I$(HOME)/include
######### MIME #########
######### pEp MIME #########
# set this to skip libetpan and use PEP_MIME instead
# PEP_MIME=1
# Set pEpMIME= anything (there are ifdefs on it) in your local.conf if you want
# to compile built-in pEpMIME (requires a separate libppEpMIME source repo to be
# checked out elsewhere on the system - define or redefine these in local.conf
# if you want to use it; otherwise, we default to etpan. (This will eventually
# become the default, but not yet.
#
# pEp MIME library search flag
PEP_MIME_LIB=
# pEp MIME include search flag
PEP_MIME_INC=
PEP_MIME=
PEP_MIME_SRC=$(HOME)/src/pEpMIME/src
######### sqlite3 #########
# If empty (or undefined), compile sqlite3 from the sources shipped with the pEp distribution.
# Otherwise, use an sqlite3 implementation found in the OS's include/library paths.
SQLITE3_FROM_OS=placeholder
######### libetpan #########
# libetpan library search flag
#
ETPAN_LIB=
#ETPAN_LIB=-L$(HOME)/lib
# libetpan include search flag
ETPAN_INC=
#ETPAN_INC=-I$(HOME)/include
######### OpenPGP #########
# Selects OpenPGP implementation. must be `SEQUOIA`
OPENPGP=SEQUOIA
# Sequoia-specific variables
SEQUOIA_CFLAGS=
SEQUOIA_LDFLAGS=
SEQUOIA_CFLAGS+=
SEQUOIA_LDFLAGS+=
SEQUOIA_LIB=
SEQUOIA_INC=
@ -258,6 +268,10 @@ EXCLUDE=
######### Footer #########
################################
# Include local.conf for any overrides and additional flags
################################
-include $(HERE)/local.conf
ifdef BUILD_CONFIG
@ -265,26 +279,43 @@ ifdef BUILD_CONFIG
endif
######### Post processing assignments ########
# These variables are ineffective when set anywhere else but here.
# KB: I have no idea why we do this - it totally defeats the purpose of
# local.conf.
# For now: set if has no value.
# If sequoia has been set up and the SEQUOIA flags aren't defined, set them up.
# Otherwise, add them to the CFLAGS/CXXFLAGS/LDFLAGS and library/include variables
ifeq ($(OPENPGP),SEQUOIA)
ifeq ($(SEQUOIA_CFLAGS),)
SEQUOIA_CFLAGS=$(shell pkg-config --cflags-only-other sequoia-openpgp)
SEQUOIA_CFLAGS+=$(shell pkg-config --cflags-only-other sequoia-openpgp)
endif
ifeq ($(SEQUOIA_LDFLAGS),)
SEQUOIA_LDFLAGS=$(shell pkg-config --libs-only-l --libs-only-other sequoia-openpgp)
SEQUOIA_LDFLAGS+=$(shell pkg-config --libs-only-l sequoia-openpgp)
endif
ifeq ($(SEQUOIA_LIB),)
SEQUOIA_LIB=$(shell pkg-config --libs-only-L sequoia-openpgp)
SEQUOIA_LIB=$(shell pkg-config --libs-only-L --libs-only-other sequoia-openpgp)
endif
ifeq ($(SEQUOIA_INC),)
SEQUOIA_INC=$(shell pkg-config --cflags-only-I sequoia-openpgp)
endif
CFLAGS+= $(SEQUOIA_CFLAGS)
CXXFLAGS+= $(SEQUOIA_CFLAGS)
LD_FLAGS+= $(SEQUOIA_LDFLAGS)
endif
# YML_PATH is needed in the environment of every call to a program of the YML2 distribution
export YML_PATH=$(YML2_PATH)
# Postprocess for pEpMIME
ifdef PEP_MIME
# Replace c++11 with c++14 for now (limiting the subst to the ++11 means it doesn't matter if gnu or not)
CXXFLAGS:=$(subst ++11,++14,$(CXXFLAGS)) -fPIC -fvisibility=hidden
endif
ifdef PEP_MIME
ifndef PEP_MIME_SRC
$(error "Compiling with the PEP_MIME option set requires the value of PEP_MIME_SRC to be set to the source directory for libpEpMIME")
else
CPPFLAGS+=-DPEP_BUILTIN_MIME
LDLIBS+=-lstdc++
ETPAN_LIB=
ETPAN_INC=
endif
endif

@ -43,7 +43,7 @@ It is under active development by several full-time employees of the p≡p found
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 realated project, where do I start?
# 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

@ -5,32 +5,37 @@ include ../Makefile.conf
ALL_SOURCE=$(subst $(NO_SOURCE),,$(wildcard *.c))
ALL_OBJECTS=$(subst .c,.o,$(ALL_SOURCE))
CPPFLAGS+=$(CFLAGS_GENERATED)
CPPFLAGS+=$(CPPFLAGS_GENERATED)
ASN1C_INC+= -I.
.PHONY: all clean install uninstall
all: Sync.c Distribution.c
all: Sync.c Distribution.c Storage.c
$(MAKE) libasn1.a
libasn1.a: $(ALL_OBJECTS)
$(AR) -rc $@ $(ALL_OBJECTS)
%.o: %.c %.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTIMIZE) $(ASN1C_INC) -c $< -o $@
$(CC) $(CFLAGS) $(CPPFLAGS) $(OPTIMIZE) $(ASN1C_INC) -c $< -o $@
Sync.c: sync.asn1 keysync.asn1 pEp.asn1
$(ASN1C) -gen-PER -fincludes-quoted -fcompound-names -pdu=auto pEp.asn1 keysync.asn1 $<
Sync.c: sync.asn1 keysync.asn1 trustsync.asn1 groupsync.asn1 pEp.asn1 distribution.asn1
$(ASN1C) -gen-PER -fincludes-quoted -fcompound-names -pdu=auto pEp.asn1 keysync.asn1 trustsync.asn1 groupsync.asn1 distribution.asn1 keyreset.asn1 managedgroup.asn1 exploration.asn1 $<
rm -f converter-sample.c
touch Sync.c
Distribution.c: distribution.asn1 keyreset.asn1 pEp.asn1
$(ASN1C) -gen-PER -fincludes-quoted -fcompound-names -pdu=auto pEp.asn1 keyreset.asn1 $<
Distribution.c: distribution.asn1 keyreset.asn1 managedgroup.asn1 exploration.asn1 pEp.asn1
$(ASN1C) -gen-PER -fincludes-quoted -fcompound-names -pdu=auto pEp.asn1 keyreset.asn1 managedgroup.asn1 exploration.asn1 $<
rm -f converter-sample.c
touch Distribution.c
Storage.c: storage.asn1 messagestorage.asn1 pEp.asn1
$(ASN1C) -gen-PER -fincludes-quoted -fcompound-names -pdu=auto pEp.asn1 messagestorage.asn1 $<
rm -f converter-sample.c
touch Storage.c
clean:
rm -f *.a *.o *.c *.h *.sample sync.asn1 keysync.asn1 distribution.asn1 keyreset.asn1
rm -f *.a *.o *.c *.h *.sample sync.asn1 keysync.asn1 trustsync.asn1 groupsync.asn1 distribution.asn1 keyreset.asn1 managedgroup.asn1 exploration.asn1 storage.asn1 messagestorage.asn1
install:

@ -1,7 +1,7 @@
-- This file is under BSD License 2.0
-- Sync protocol for p≡p
-- Copyright (c) 2016, 2010 p≡p foundation
-- Copyright (c) 2016-2021 p≡p foundation
-- Written by Volker Birk

@ -0,0 +1,485 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 50;
objects = {
/* Begin PBXBuildFile section */
15A326372612055F009D07EB /* PEPSQLITE3_iOS.m in Sources */ = {isa = PBXBuildFile; fileRef = 15A326362612055F009D07EB /* PEPSQLITE3_iOS.m */; };
15A326382612055F009D07EB /* PEPSQLITE3_iOS.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 15A326352612055F009D07EB /* PEPSQLITE3_iOS.h */; };
15A32656261205E7009D07EB /* PEPSQLITE3_macOS.h in Headers */ = {isa = PBXBuildFile; fileRef = 15A32655261205E7009D07EB /* PEPSQLITE3_macOS.h */; };
15A32658261205E7009D07EB /* PEPSQLITE3_macOS.m in Sources */ = {isa = PBXBuildFile; fileRef = 15A32657261205E7009D07EB /* PEPSQLITE3_macOS.m */; };
15A326722612063B009D07EB /* sqlite3.c in Sources */ = {isa = PBXBuildFile; fileRef = 15A326282611F6D3009D07EB /* sqlite3.c */; };
15A3267C2612065A009D07EB /* sqlite3.h in Headers */ = {isa = PBXBuildFile; fileRef = 15A326292611F6D3009D07EB /* sqlite3.h */; settings = {ATTRIBUTES = (Public, ); }; };
15A3268426120671009D07EB /* sqlite3.h in Headers */ = {isa = PBXBuildFile; fileRef = 15A326292611F6D3009D07EB /* sqlite3.h */; settings = {ATTRIBUTES = (Public, ); }; };
15A326C626120858009D07EB /* sqlite3.c in Sources */ = {isa = PBXBuildFile; fileRef = 15A326282611F6D3009D07EB /* sqlite3.c */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
15A326312612055F009D07EB /* CopyFiles */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "include/$(PRODUCT_NAME)";
dstSubfolderSpec = 16;
files = (
15A326382612055F009D07EB /* PEPSQLITE3_iOS.h in CopyFiles */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
15A3260B2611F646009D07EB /* PEPSQLITE3.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PEPSQLITE3.h; sourceTree = "<group>"; };
15A3260C2611F646009D07EB /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
15A326282611F6D3009D07EB /* sqlite3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = sqlite3.c; path = ../../../../../../sqlite/sqlite3.c; sourceTree = "<group>"; };
15A326292611F6D3009D07EB /* sqlite3.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sqlite3.h; path = ../../../../../../sqlite/sqlite3.h; sourceTree = "<group>"; };
15A326332612055F009D07EB /* libPEPSQLITE3_iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libPEPSQLITE3_iOS.a; sourceTree = BUILT_PRODUCTS_DIR; };
15A326352612055F009D07EB /* PEPSQLITE3_iOS.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PEPSQLITE3_iOS.h; sourceTree = "<group>"; };
15A326362612055F009D07EB /* PEPSQLITE3_iOS.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PEPSQLITE3_iOS.m; sourceTree = "<group>"; };
15A32653261205E7009D07EB /* libPEPSQLITE3_macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libPEPSQLITE3_macOS.a; sourceTree = BUILT_PRODUCTS_DIR; };
15A32655261205E7009D07EB /* PEPSQLITE3_macOS.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PEPSQLITE3_macOS.h; sourceTree = "<group>"; };
15A32657261205E7009D07EB /* PEPSQLITE3_macOS.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PEPSQLITE3_macOS.m; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
15A326302612055F009D07EB /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
15A32651261205E7009D07EB /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
15A325FE2611F646009D07EB = {
isa = PBXGroup;
children = (
15A3260A2611F646009D07EB /* PEPSQLITE3 */,
15A326342612055F009D07EB /* PEPSQLITE3_iOS */,
15A32654261205E7009D07EB /* PEPSQLITE3_macOS */,
15A326092611F646009D07EB /* Products */,
);
sourceTree = "<group>";
};
15A326092611F646009D07EB /* Products */ = {
isa = PBXGroup;
children = (
15A326332612055F009D07EB /* libPEPSQLITE3_iOS.a */,
15A32653261205E7009D07EB /* libPEPSQLITE3_macOS.a */,
);
name = Products;
sourceTree = "<group>";
};
15A3260A2611F646009D07EB /* PEPSQLITE3 */ = {
isa = PBXGroup;
children = (
15A326272611F6BC009D07EB /* src */,
15A3260B2611F646009D07EB /* PEPSQLITE3.h */,
15A3260C2611F646009D07EB /* Info.plist */,
);
path = PEPSQLITE3;
sourceTree = "<group>";
};
15A326272611F6BC009D07EB /* src */ = {
isa = PBXGroup;
children = (
15A326292611F6D3009D07EB /* sqlite3.h */,
15A326282611F6D3009D07EB /* sqlite3.c */,
);
path = src;
sourceTree = "<group>";
};
15A326342612055F009D07EB /* PEPSQLITE3_iOS */ = {
isa = PBXGroup;
children = (
15A326352612055F009D07EB /* PEPSQLITE3_iOS.h */,
15A326362612055F009D07EB /* PEPSQLITE3_iOS.m */,
);
path = PEPSQLITE3_iOS;
sourceTree = "<group>";
};
15A32654261205E7009D07EB /* PEPSQLITE3_macOS */ = {
isa = PBXGroup;
children = (
15A32655261205E7009D07EB /* PEPSQLITE3_macOS.h */,
15A32657261205E7009D07EB /* PEPSQLITE3_macOS.m */,
);
path = PEPSQLITE3_macOS;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
15A3264F261205E7009D07EB /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
15A3267C2612065A009D07EB /* sqlite3.h in Headers */,
15A32656261205E7009D07EB /* PEPSQLITE3_macOS.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
15A326812612066D009D07EB /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
15A3268426120671009D07EB /* sqlite3.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
15A326322612055F009D07EB /* PEPSQLITE3_iOS */ = {
isa = PBXNativeTarget;
buildConfigurationList = 15A326392612055F009D07EB /* Build configuration list for PBXNativeTarget "PEPSQLITE3_iOS" */;
buildPhases = (
15A326812612066D009D07EB /* Headers */,
15A3262F2612055F009D07EB /* Sources */,
15A326302612055F009D07EB /* Frameworks */,
15A326312612055F009D07EB /* CopyFiles */,
15A3268926120716009D07EB /* Copy Artefacts & Headers to Custom Build Dir */,
);
buildRules = (
);
dependencies = (
);
name = PEPSQLITE3_iOS;
productName = PEPSQLITE3_iOS;
productReference = 15A326332612055F009D07EB /* libPEPSQLITE3_iOS.a */;
productType = "com.apple.product-type.library.static";
};
15A32652261205E7009D07EB /* PEPSQLITE3_macOS */ = {
isa = PBXNativeTarget;
buildConfigurationList = 15A32659261205E7009D07EB /* Build configuration list for PBXNativeTarget "PEPSQLITE3_macOS" */;
buildPhases = (
15A3264F261205E7009D07EB /* Headers */,
15A32650261205E7009D07EB /* Sources */,
15A32651261205E7009D07EB /* Frameworks */,
15A3268A26120757009D07EB /* Copy Artefacts & Headers to Custom Build Dir */,
);
buildRules = (
);
dependencies = (
);
name = PEPSQLITE3_macOS;
productName = PEPSQLITE3_macOS;
productReference = 15A32653261205E7009D07EB /* libPEPSQLITE3_macOS.a */;
productType = "com.apple.product-type.library.static";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
15A325FF2611F646009D07EB /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 1240;
TargetAttributes = {
15A326322612055F009D07EB = {
CreatedOnToolsVersion = 12.4;
};
15A32652261205E7009D07EB = {
CreatedOnToolsVersion = 12.4;
};
};
};
buildConfigurationList = 15A326022611F646009D07EB /* Build configuration list for PBXProject "PEPSQLITE3" */;
compatibilityVersion = "Xcode 9.3";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
mainGroup = 15A325FE2611F646009D07EB;
productRefGroup = 15A326092611F646009D07EB /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
15A326322612055F009D07EB /* PEPSQLITE3_iOS */,
15A32652261205E7009D07EB /* PEPSQLITE3_macOS */,
);
};
/* End PBXProject section */
/* Begin PBXShellScriptBuildPhase section */
15A3268926120716009D07EB /* Copy Artefacts & Headers to Custom Build Dir */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
);
name = "Copy Artefacts & Headers to Custom Build Dir";
outputFileListPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "CUSTOM_BUILD_DIR=\"${PROJECT_DIR}/build\"\nCUSTOM_INCLUDE_DIR=\"${CUSTOM_BUILD_DIR}/include\"\nmkdir -p ${CUSTOM_INCLUDE_DIR}\ncp -R \"${TARGET_BUILD_DIR}\"/usr/local/include/sqlite3.h ${CUSTOM_INCLUDE_DIR}\ncp \"${TARGET_BUILD_DIR}/libPEPSQLITE3_iOS.a\" ${CUSTOM_BUILD_DIR}\n\n";
showEnvVarsInLog = 0;
};
15A3268A26120757009D07EB /* Copy Artefacts & Headers to Custom Build Dir */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
);
name = "Copy Artefacts & Headers to Custom Build Dir";
outputFileListPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "CUSTOM_BUILD_DIR=\"${PROJECT_DIR}/build\"\nCUSTOM_INCLUDE_DIR=\"${CUSTOM_BUILD_DIR}/include\"\nmkdir -p ${CUSTOM_INCLUDE_DIR}\ncp -R \"${TARGET_BUILD_DIR}\"/usr/local/include/sqlite3.h ${CUSTOM_INCLUDE_DIR}\ncp \"${TARGET_BUILD_DIR}/libPEPSQLITE3_macOS.a\" ${CUSTOM_BUILD_DIR}\n";
showEnvVarsInLog = 0;
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
15A3262F2612055F009D07EB /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
15A326372612055F009D07EB /* PEPSQLITE3_iOS.m in Sources */,
15A326722612063B009D07EB /* sqlite3.c in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
15A32650261205E7009D07EB /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
15A32658261205E7009D07EB /* PEPSQLITE3_macOS.m in Sources */,
15A326C626120858009D07EB /* sqlite3.c in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
15A3260E2611F646009D07EB /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 11.4;
MACOSX_DEPLOYMENT_TARGET = 10.10;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
SUPPORTS_MACCATALYST = NO;
TARGETED_DEVICE_FAMILY = "";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Debug;
};
15A3260F2611F646009D07EB /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 11.4;
MACOSX_DEPLOYMENT_TARGET = 10.10;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
SDKROOT = iphoneos;
SUPPORTS_MACCATALYST = NO;
TARGETED_DEVICE_FAMILY = "";
VALIDATE_PRODUCT = YES;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Release;
};
15A3263A2612055F009D07EB /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = NQLYU6MGPN;
OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
15A3263B2612055F009D07EB /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = NQLYU6MGPN;
OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
};
15A3265A261205E7009D07EB /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = NQLYU6MGPN;
EXECUTABLE_PREFIX = lib;
MACOSX_DEPLOYMENT_TARGET = 10.10;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = macosx;
SKIP_INSTALL = YES;
};
name = Debug;
};
15A3265B261205E7009D07EB /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = NQLYU6MGPN;
EXECUTABLE_PREFIX = lib;
MACOSX_DEPLOYMENT_TARGET = 10.10;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = macosx;
SKIP_INSTALL = YES;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
15A326022611F646009D07EB /* Build configuration list for PBXProject "PEPSQLITE3" */ = {
isa = XCConfigurationList;
buildConfigurations = (
15A3260E2611F646009D07EB /* Debug */,
15A3260F2611F646009D07EB /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
15A326392612055F009D07EB /* Build configuration list for PBXNativeTarget "PEPSQLITE3_iOS" */ = {
isa = XCConfigurationList;
buildConfigurations = (
15A3263A2612055F009D07EB /* Debug */,
15A3263B2612055F009D07EB /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
15A32659261205E7009D07EB /* Build configuration list for PBXNativeTarget "PEPSQLITE3_macOS" */ = {
isa = XCConfigurationList;
buildConfigurations = (
15A3265A261205E7009D07EB /* Debug */,
15A3265B261205E7009D07EB /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 15A325FF2611F646009D07EB /* Project object */;
}

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:">
</FileRef>
</Workspace>

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
</dict>
</plist>

@ -0,0 +1,18 @@
//
// PEPSQLITE3.h
// PEPSQLITE3
//
// Created by Andreas Buff on 29.03.21.
//
#import <Foundation/Foundation.h>
//! Project version number for PEPSQLITE3.
FOUNDATION_EXPORT double PEPSQLITE3VersionNumber;
//! Project version string for PEPSQLITE3.
FOUNDATION_EXPORT const unsigned char PEPSQLITE3VersionString[];
// In this header, you should import all the public headers of your framework using statements like #import <PEPSQLITE3/PublicHeader.h>

@ -0,0 +1,12 @@
//
// PEPSQLITE3_iOS.h
// PEPSQLITE3_iOS
//
// Created by Andreas Buff on 29.03.21.
//
#import <Foundation/Foundation.h>
@interface PEPSQLITE3_iOS : NSObject
@end

@ -0,0 +1,12 @@
//
// PEPSQLITE3_iOS.m
// PEPSQLITE3_iOS
//
// Created by Andreas Buff on 29.03.21.
//
#import "PEPSQLITE3_iOS.h"
@implementation PEPSQLITE3_iOS
@end

@ -0,0 +1,12 @@
//
// PEPSQLITE3_macOS.h
// PEPSQLITE3_macOS
//
// Created by Andreas Buff on 29.03.21.
//
#import <Foundation/Foundation.h>
@interface PEPSQLITE3_macOS : NSObject
@end

@ -0,0 +1,12 @@
//
// PEPSQLITE3_macOS.m
// PEPSQLITE3_macOS
//
// Created by Andreas Buff on 29.03.21.
//
#import "PEPSQLITE3_macOS.h"
@implementation PEPSQLITE3_macOS
@end

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:">
</FileRef>
</Workspace>

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
</dict>
</plist>

@ -0,0 +1,18 @@
//
// pEpASN1.h
// pEpASN1
//
// Created by Andreas Buff on 26.03.21.
//
#import <Foundation/Foundation.h>
//! Project version number for pEpASN1.
FOUNDATION_EXPORT double pEpASN1VersionNumber;
//! Project version string for pEpASN1.
FOUNDATION_EXPORT const unsigned char pEpASN1VersionString[];
// In this header, you should import all the public headers of your framework using statements like #import <pEpASN1/PublicHeader.h>

@ -0,0 +1,12 @@
//
// pEpASN1_iOS.h
// pEpASN1_iOS
//
// Created by Andreas Buff on 26.03.21.
//
#import <Foundation/Foundation.h>
@interface pEpASN1_iOS : NSObject
@end

@ -0,0 +1,12 @@
//
// pEpASN1_iOS.m
// pEpASN1_iOS
//
// Created by Andreas Buff on 26.03.21.
//
#import "pEpASN1_iOS.h"
@implementation pEpASN1_iOS
@end

@ -0,0 +1,12 @@
//
// pEpASN1_macOS.h
// pEpASN1_macOS
//
// Created by Andreas Buff on 26.03.21.
//
#import <Foundation/Foundation.h>
@interface pEpASN1_macOS : NSObject
@end

@ -0,0 +1,12 @@
//
// pEpASN1_macOS.m
// pEpASN1_macOS
//
// Created by Andreas Buff on 26.03.21.
//
#import "pEpASN1_macOS.h"
@implementation pEpASN1_macOS
@end

File diff suppressed because it is too large Load Diff

@ -6,20 +6,6 @@
parallelizeBuildables = "NO"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "159EF1E022B6AB0700149C0C"
BuildableName = "sequoia.framework"
BlueprintName = "sequoia"
ReferencedContainer = "container:../../Sequoia4iOS/Sequoia4iOS.xcodeproj">
</BuildableReference>
</BuildActionEntry>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"

@ -0,0 +1,67 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1220"
version = "1.3">
<BuildAction
parallelizeBuildables = "NO"
buildImplicitDependencies = "NO">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "1552DB102577D4F100A92F71"
BuildableName = "libpEpEngine_macOS.a"
BlueprintName = "pEpEngine_macOS"
ReferencedContainer = "container:pEpEngine.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "1552DB102577D4F100A92F71"
BuildableName = "libpEpEngine_macOS.a"
BlueprintName = "pEpEngine_macOS"
ReferencedContainer = "container:pEpEngine.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

@ -0,0 +1,13 @@
//
// pEpEngine_macOS.h
// pEpEngine_macOS
//
// Created by Andreas Buff on 02.12.20.
// Copyright © 2020 p≡p Security S.A. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface pEpEngine_macOS : NSObject
@end

@ -0,0 +1,13 @@
//
// pEpEngine_macOS.m
// pEpEngine_macOS
//
// Created by Andreas Buff on 02.12.20.
// Copyright © 2020 pp Security S.A. All rights reserved.
//
#import "pEpEngine_macOS.h"
@implementation pEpEngine_macOS
@end

@ -20,6 +20,7 @@ MOVE system.db "%ProgramData%\pEp\system.db"
CD ..\sync
:: Make sure YML2 is installed
PY -m pip install --upgrade pip
PY -m pip install wheel
PY -m pip install yml2
@ -72,10 +73,10 @@ IF %ERRORLEVEL% NEQ 0 GOTO end
DEL *-sample.c
CD %engine_directory%\..
RD /S/Q pEp
MKDIR pEp
XCOPY pEpEngine\src\*.h pEp\ /Y/F/I
XCOPY libpEpAdapter\*.hh pEp\ /Y/F/I
XCOPY libpEpAdapter\*.hxx pEp\ /Y/F/I
:end

@ -61,7 +61,7 @@
<SubSystem>Windows</SubSystem>
</Link>
<PreBuildEvent>
<Command>IF EXIST ".\Debug\libpEpasn1.tlog\unsuccessfulbuild" CALL ..\generate_code.cmd</Command>
<Command>IF NOT EXIST "..\..\..\pEp" CALL ..\generate_code.cmd</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
@ -81,7 +81,7 @@
<OptimizeReferences>true</OptimizeReferences>
</Link>
<PreBuildEvent>
<Command>IF EXIST ".\Release\libpEpasn1.tlog\unsuccessfulbuild" CALL ..\generate_code.cmd</Command>
<Command>IF NOT EXIST "..\..\..\pEp" CALL ..\generate_code.cmd</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
@ -98,4 +98,7 @@
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets" />
<Target Name="CustomClean" BeforeTargets="Clean">
<RemoveDir Directories="..\..\..\pEp" />
</Target>
</Project>

@ -86,10 +86,11 @@
<SuppressStartupBanner>false</SuppressStartupBanner>
</Link>
<PreBuildEvent>
<Command>cargo build --manifest-path="$(SolutionDir)sequoia\Cargo.toml" -p sequoia-openpgp-ffi</Command>
<Command>cargo build --manifest-path="$(SolutionDir)sequoia\Cargo.toml"</Command>
</PreBuildEvent>
<PostBuildEvent>
<Command>xcopy "$(SolutionDir)sequoia\target\debug\sequoia_openpgp_ffi.dll" "$(TargetDir)" /Y</Command>
<Command>xcopy "$(SolutionDir)sequoia\target\debug\sq.exe" "$(TargetDir)" /Y</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
@ -118,13 +119,15 @@
<AdditionalLibraryDirectories>$(SolutionDir)sequoia\target\release;C:\msys64\mingw32\lib</AdditionalLibraryDirectories>
</Link>
<PreBuildEvent>
<Command>cargo build --manifest-path="$(SolutionDir)sequoia\Cargo.toml" --release -p sequoia-openpgp-ffi</Command>
<Command>cargo build --manifest-path="$(SolutionDir)sequoia\Cargo.toml" --release</Command>
</PreBuildEvent>
<PostBuildEvent>
<Command>xcopy "$(SolutionDir)sequoia\target\release\sequoia_openpgp_ffi.dll" "$(TargetDir)" /Y</Command>
<Command>xcopy "$(SolutionDir)sequoia\target\release\sq.exe" "$(TargetDir)" /Y</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\src\aux_mime_msg.c" />
<ClCompile Include="..\src\base64.c" />
<ClCompile Include="..\src\baseprotocol.c" />
<ClCompile Include="..\src\blacklist.c" />
@ -151,6 +154,7 @@
<ClCompile Include="..\src\pgp_sequoia.c" />
<ClCompile Include="..\src\platform_windows.cpp" />
<ClCompile Include="..\src\resource_id.c" />
<ClCompile Include="..\src\security_checks.c" />
<ClCompile Include="..\src\sqlite3.c" />
<ClCompile Include="..\src\stringlist.c" />
<ClCompile Include="..\src\stringpair.c" />
@ -166,11 +170,13 @@
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\src\asn1_helper.h" />
<ClInclude Include="..\src\aux_mime_msg.h" />
<ClInclude Include="..\src\base64.h" />
<ClInclude Include="..\src\baseprotocol.h" />
<ClInclude Include="..\src\blacklist.h" />
<ClInclude Include="..\src\bloblist.h" />
<ClInclude Include="..\src\cryptotech.h" />
<ClInclude Include="..\src\distribution_codec.h" />
<ClInclude Include="..\src\dynamic_api.h" />
<ClInclude Include="..\src\email.h" />
<ClInclude Include="..\src\etpan_mime.h" />
@ -179,6 +185,7 @@
<ClInclude Include="..\src\identity_list.h" />
<ClInclude Include="..\src\internal_format.h" />
<ClInclude Include="..\src\keymanagement.h" />
<ClInclude Include="..\src\keyreset_command.h" />
<ClInclude Include="..\src\KeySync_fsm.h" />
<ClInclude Include="..\src\key_reset.h" />
<ClInclude Include="..\src\labeled_int_list.h" />
@ -196,7 +203,9 @@
<ClInclude Include="..\src\platform_windows.h" />
<ClInclude Include="..\src\resource.h" />
<ClInclude Include="..\src\resource_id.h" />
<ClInclude Include="..\src\security_checks.h" />
<ClInclude Include="..\src\sqlite3.h" />
<ClInclude Include="..\src\status_to_string.h" />
<ClInclude Include="..\src\stringlist.h" />
<ClInclude Include="..\src\stringpair.h" />
<ClInclude Include="..\src\sync_api.h" />

@ -129,6 +129,12 @@
<ClCompile Include="..\src\internal_format.c">
<Filter>Quelldateien</Filter>
</ClCompile>
<ClCompile Include="..\src\aux_mime_msg.c">
<Filter>Quelldateien</Filter>
</ClCompile>
<ClCompile Include="..\src\security_checks.c">
<Filter>Quelldateien</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\src\keymanagement.h">
@ -272,13 +278,26 @@
<ClInclude Include="..\src\internal_format.h">
<Filter>Headerdateien</Filter>
</ClInclude>
<ClInclude Include="..\src\aux_mime_msg.h">
<Filter>Headerdateien</Filter>
</ClInclude>
<ClInclude Include="..\src\distribution_codec.h">
<Filter>Headerdateien</Filter>
</ClInclude>
<ClInclude Include="..\src\keyreset_command.h">
<Filter>Headerdateien</Filter>
</ClInclude>
<ClInclude Include="..\src\security_checks.h">
<Filter>Headerdateien</Filter>
</ClInclude>
<ClInclude Include="..\src\status_to_string.h">
<Filter>Headerdateien</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<Text Include="..\LICENSE.txt" />
</ItemGroup>
<ItemGroup>
<None Include="generate_code.cmd">
<Filter>Quelldateien</Filter>
</None>
<None Include="generate_code.cmd" />
</ItemGroup>
</Project>

@ -0,0 +1,48 @@
# This file is under GNU General Public License 3.0
# see LICENSE.txt
include ../Makefile.conf
.PHONY: all clean
all: .copy
generated:
mkdir -p $@
statemachines := $(patsubst %.fsm,%.fsm.gen,$(wildcard *.fsm))
actions := $(patsubst %.act,%.act.gen,$(wildcard *.act))
dot := $(patsubst %.fsm,%.dot,$(wildcard *.fsm))
%.fsm.gen: %.fsm gen_statemachine.ysl2 fsm.yml2 functions.ysl2 | generated
$(YML2_PROC) -y gen_statemachine.ysl2 $< > /dev/null
$(YML2_PROC) -y gen_codec.ysl2 $< > /dev/null
$(YML2_PROC) -y gen_messages.ysl2 $< > /dev/null
$(YML2_PROC) -y gen_message_func.ysl2 $< -o $@
%.act.gen: %.act %.fsm gen_actions.ysl2 fsm.yml2 functions.ysl2 | generated
echo 'define actfile = "./$<";' | $(YML2_PROC) - gen_actions.ysl2 | \
$(YML2_PROC) -X - $(subst .act,.fsm,$<) -o $@
clean:
rm -rf generated *.gen
rm -f *.xml *.xsl .copy *.dot *.svg
.copy: $(actions) $(statemachines) $(dot)
cp -f generated/*.c generated/*.h ../src
cp -f generated/*.asn1 ../asn.1
touch .copy
%.xml: %.fsm
$(YML2_PROC) $< -o $@
svg: $(patsubst %.dot,%.svg,$(wildcard *.dot))
%.dot: %.fsm gen_dot.ysl2
$(YML2_PROC) -y gen_dot.ysl2 $< -o $@
%.svg: %.dot
dot -Tsvg -o $@ $<