Refactor setup

This commit is contained in:
Kay Lukas 2018-10-24 17:56:52 +02:00
parent 94b317f135
commit 0456595f68
25 changed files with 37 additions and 33 deletions

1
.gitignore vendored
View file

@ -1,4 +1,5 @@
.DS_Store .DS_Store
bin bin
pkg
vendor vendor
.vscode .vscode

View file

@ -7,18 +7,23 @@ ANDROID_OUT=${OUTPUT_PATH}/"Android"
IOS_OUT=${OUTPUT_PATH}/"iOS" IOS_OUT=${OUTPUT_PATH}/"iOS"
mkdir -p $ANDROID_OUT mkdir -p $ANDROID_OUT
mkdir -p $IOS_OUT mkdir -p $IOS_OUT
ln -s . vendor/src
# CHECK="${1-0}" # CHECK="${1-0}"
# if [ ${CHECK} -eq "1" ]; then # if [ ${CHECK} -eq "1" ]; then
printf "\e[0;32mStart Building iOS framework .. Location: ${IOS_OUT} \033[0m\n\n" printf "\e[0;32mStart Building iOS framework .. Location: ${IOS_OUT} \033[0m\n\n"
gomobile bind -target ios -o ${IOS_OUT}/pmcrypto.framework proton/pmcrypto/crypto proton/pmcrypto/armor proton/pmcrypto/constants proton/pmcrypto/key proton/pmcrypto/models GOPATH="$SCRIPT_LOCATION:$SCRIPT_LOCATION/vendor:$GOPATH" gomobile bind -target ios -o ${IOS_OUT}/pmcrypto.framework gitlab.com/ProtonMail/go-pm-crypto/crypto gitlab.com/ProtonMail/go-pm-crypto/armor gitlab.com/ProtonMail/go-pm-crypto/constants gitlab.com/ProtonMail/go-pm-crypto/key gitlab.com/ProtonMail/go-pm-crypto/models
printf "\e[0;32mStart Building Android lib .. Location: ${ANDROID_OUT} \033[0m\n\n" printf "\e[0;32mStart Building Android lib .. Location: ${ANDROID_OUT} \033[0m\n\n"
gomobile bind -target android -javapkg com.proton.pmcrypto -o ${ANDROID_OUT}/pmcrypto.aar proton/pmcrypto/crypto proton/pmcrypto/armor proton/pmcrypto/constants proton/pmcrypto/key proton/pmcrypto/models GOPATH="$SCRIPT_LOCATION:$SCRIPT_LOCATION/vendor:$GOPATH" gomobile bind -target android -javapkg com.proton.pmcrypto -o ${ANDROID_OUT}/pmcrypto.aar gitlab.com/ProtonMail/go-pm-crypto/crypto gitlab.com/ProtonMail/go-pm-crypto/armor gitlab.com/ProtonMail/go-pm-crypto/constants gitlab.com/ProtonMail/go-pm-crypto/key gitlab.com/ProtonMail/go-pm-crypto/models
printf "\e[0;32mInstalling frameworks. \033[0m\n\n" printf "\e[0;32mInstalling frameworks. \033[0m\n\n"
unlink vendor/src
printf "\e[0;32mAll Done. \033[0m\n\n" printf "\e[0;32mAll Done. \033[0m\n\n"

Binary file not shown.

Binary file not shown.

14
glide.lock generated
View file

@ -1,8 +1,10 @@
hash: 0e0069ce69a4e3bde6233726f21a880347400808a97c2e6f7a173e4d7daea51c hash: 7169f4883725d9716bbd62ecee1f32d73e8529b4bb0989173826e986395afe6b
updated: 2018-09-07T10:20:50.211694+02:00 updated: 2018-10-24T18:02:15.233807+02:00
imports: imports:
- name: github.com/konsorten/go-windows-terminal-sequences
version: 5c8c8bd35d3832f5d134ae1e1e375b69a4d25242
- name: github.com/Sirupsen/logrus - name: github.com/Sirupsen/logrus
version: 3791101e143bf0f32515ac23e831475684f61229 version: 4fabf2fffcecfd47f802869b7b92d75e43c5a095
- name: golang.org/x/crypto - name: golang.org/x/crypto
version: 9e4251120d8c43f10024d798bc6dde21d40704a0 version: 9e4251120d8c43f10024d798bc6dde21d40704a0
repo: https://github.com/ProtonMail/crypto.git repo: https://github.com/ProtonMail/crypto.git
@ -31,12 +33,12 @@ imports:
- rsa - rsa
- ssh/terminal - ssh/terminal
- name: golang.org/x/sys - name: golang.org/x/sys
version: 8cf3aee429924738c56c34bb819c4ea8273fc434 version: 5cd93ef61a7c8f0f858690154eb6de2e69415fa1
subpackages: subpackages:
- unix - unix
- windows - windows
- name: golang.org/x/text - name: golang.org/x/text
version: 4ae1256249243a4eb350a9a372e126557f2aa346 version: 4d1c5fb19474adfe9562c9847ba425e7da817e81
subpackages: subpackages:
- encoding - encoding
- encoding/charmap - encoding/charmap
@ -44,6 +46,6 @@ imports:
- encoding/internal/identifier - encoding/internal/identifier
- transform - transform
- name: proton/pmmime - name: proton/pmmime
version: 347d69204aa62d6958bcb3b9bbacccb24a36372b version: 72b7b1bf2d1b491e1d003632a0fda41410b0bb59
repo: git@gitlab.protontech.ch:ProtonMail/go-pm-mime.git repo: git@gitlab.protontech.ch:ProtonMail/go-pm-mime.git
testImports: [] testImports: []

View file

@ -1,4 +1,4 @@
package: proton/pmcrypto package: gitlab.com/ProtonMail/go-pm-crypto
import: import:
- package: golang.org/x/crypto - package: golang.org/x/crypto
version: v1.0.0 version: v1.0.0

3
init.sh Executable file
View file

@ -0,0 +1,3 @@
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
GOPATH="$DIR" glide up
GOPATH="$DIR:$DIR/vendor:$GOPATH" gomobile init -ndk $ANDROID_NDK

View file

@ -8,9 +8,9 @@ import (
"golang.org/x/crypto/openpgp" "golang.org/x/crypto/openpgp"
"golang.org/x/crypto/openpgp/armor" "golang.org/x/crypto/openpgp/armor"
"golang.org/x/crypto/openpgp/packet" "golang.org/x/crypto/openpgp/packet"
armorUtils "proton/pmcrypto/armor" armorUtils "gitlab.com/ProtonMail/go-pm-crypto/armor"
"proton/pmcrypto/internal" "gitlab.com/ProtonMail/go-pm-crypto/internal"
"proton/pmcrypto/models" "gitlab.com/ProtonMail/go-pm-crypto/models"
) )
//EncryptAttachmentBinKey ... //EncryptAttachmentBinKey ...

View file

@ -11,7 +11,7 @@ import (
"golang.org/x/crypto/openpgp" "golang.org/x/crypto/openpgp"
"golang.org/x/crypto/openpgp/packet" "golang.org/x/crypto/openpgp/packet"
"math/big" "math/big"
"proton/pmcrypto/armor" "gitlab.com/ProtonMail/go-pm-crypto/armor"
) )
const ( const (

View file

@ -13,9 +13,9 @@ import (
errors2 "golang.org/x/crypto/openpgp/errors" errors2 "golang.org/x/crypto/openpgp/errors"
"golang.org/x/crypto/openpgp/packet" "golang.org/x/crypto/openpgp/packet"
"math" "math"
armorUtils "proton/pmcrypto/armor" armorUtils "gitlab.com/ProtonMail/go-pm-crypto/armor"
"proton/pmcrypto/internal" "gitlab.com/ProtonMail/go-pm-crypto/internal"
"proton/pmcrypto/models" "gitlab.com/ProtonMail/go-pm-crypto/models"
) )
// DecryptMessage decrypt encrypted message use private key (string ) // DecryptMessage decrypt encrypted message use private key (string )

View file

@ -9,7 +9,6 @@ import (
"io/ioutil" "io/ioutil"
"bytes" "bytes"
"golang.org/x/crypto/openpgp" "golang.org/x/crypto/openpgp"
"proton/pmcrypto/armor"
) )
// ======================== Attachments Collector ============== // ======================== Attachments Collector ==============
@ -34,7 +33,6 @@ func (pm PmCrypto) parseMIME(mimeBody string, verifierKey []byte) (*pmmime.BodyC
bodyCollector := pmmime.NewBodyCollector(printAccepter) bodyCollector := pmmime.NewBodyCollector(printAccepter)
attachmentsCollector := pmmime.NewAttachmentsCollector(bodyCollector) attachmentsCollector := pmmime.NewAttachmentsCollector(bodyCollector)
mimeVisitor := pmmime.NewMimeVisitor(attachmentsCollector) mimeVisitor := pmmime.NewMimeVisitor(attachmentsCollector)
str, err := armor.ArmorKey(verifierKey)
signatureCollector := newSignatureCollector(mimeVisitor, pubKeyEntries, config) signatureCollector := newSignatureCollector(mimeVisitor, pubKeyEntries, config)
err = pmmime.VisitAll(bytes.NewReader(mmBodyData), h, signatureCollector) err = pmmime.VisitAll(bytes.NewReader(mmBodyData), h, signatureCollector)

View file

@ -3,7 +3,7 @@ package crypto
import ( import (
"fmt" "fmt"
"io/ioutil" "io/ioutil"
"proton/pmcrypto/internal" "gitlab.com/ProtonMail/go-pm-crypto/internal"
"testing" "testing"
) )

View file

@ -9,8 +9,8 @@ import (
"golang.org/x/crypto/openpgp" "golang.org/x/crypto/openpgp"
"golang.org/x/crypto/openpgp/packet" "golang.org/x/crypto/openpgp/packet"
"proton/pmcrypto/armor" "gitlab.com/ProtonMail/go-pm-crypto/armor"
"proton/pmcrypto/models" "gitlab.com/ProtonMail/go-pm-crypto/models"
) )
//RandomToken ... //RandomToken ...

View file

@ -10,7 +10,7 @@ import (
"golang.org/x/crypto/openpgp/packet" "golang.org/x/crypto/openpgp/packet"
errors2 "golang.org/x/crypto/openpgp/errors" errors2 "golang.org/x/crypto/openpgp/errors"
"io" "io"
"proton/pmcrypto/internal" "gitlab.com/ProtonMail/go-pm-crypto/internal"
) )
// SignTextDetached sign detached text type // SignTextDetached sign detached text type

View file

@ -1,14 +1,12 @@
package crypto package crypto
import ( import (
"bufio"
"bytes" "bytes"
"golang.org/x/crypto/openpgp" "golang.org/x/crypto/openpgp"
"golang.org/x/crypto/openpgp/packet" "golang.org/x/crypto/openpgp/packet"
"io" "io"
"io/ioutil" "io/ioutil"
"mime" "mime"
"mime/multipart"
"net/textproto" "net/textproto"
"proton/pmmime" "proton/pmmime"
) )

View file

@ -7,7 +7,6 @@ import (
// UpdateTime update cached time // UpdateTime update cached time
func (pm *PmCrypto) UpdateTime(newTime int64) { func (pm *PmCrypto) UpdateTime(newTime int64) {
pm.latestServerTime = newTime pm.latestServerTime = newTime
pm.latestClientTime = time.Now()
} }
//GetTime get latest cached time //GetTime get latest cached time
@ -16,10 +15,8 @@ func (pm *PmCrypto) GetTime() int64 {
} }
func (pm *PmCrypto) getNow() time.Time { func (pm *PmCrypto) getNow() time.Time {
if pm.latestServerTime > 0 && !pm.latestClientTime.IsZero() { if pm.latestServerTime > 0 {
// Sub is monotome, it uses a monotime time clock in this case instead of the wall clock return time.Unix(pm.latestServerTime, 0)
extrapolate := int64(pm.latestClientTime.Sub(time.Now()).Seconds())
return time.Unix(pm.latestServerTime + extrapolate, 0)
} }
return time.Now() return time.Now()

View file

@ -6,7 +6,7 @@ import (
"errors" "errors"
"golang.org/x/crypto/openpgp" "golang.org/x/crypto/openpgp"
"proton/pmcrypto/armor" "gitlab.com/ProtonMail/go-pm-crypto/armor"
) )
// GetFingerprint get a armored public key fingerprint // GetFingerprint get a armored public key fingerprint

View file

@ -6,7 +6,7 @@ import (
"fmt" "fmt"
"golang.org/x/crypto/openpgp/packet" "golang.org/x/crypto/openpgp/packet"
"bytes" "bytes"
"proton/pmcrypto/armor" "gitlab.com/ProtonMail/go-pm-crypto/armor"
) )
//CheckPassphrase check is private key passphrase ok //CheckPassphrase check is private key passphrase ok