-
Notifications
You must be signed in to change notification settings - Fork 117
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Change keyring unlock functionalities * Add keyring#Lock, keyring#CheckIntegrity, tests * Update helpers, fix bugs * Update go.mod with ProtonMail/crypto commit * Change key management system * Clear keys from memory + tests * Create SessionKey with direct encryption for datapackets. Move symmetrickey to password. * Fix upstream dependencies * Update module to V2, documentation * Add linter * Add v2 folder to .gitignore * Minor changes to KeyID getters * Remove old changelog * Improve docs, remove compilation script
- Loading branch information
Showing
46 changed files
with
2,553 additions
and
1,735 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,3 +7,4 @@ vendor | |
*.html | ||
reports | ||
.idea | ||
v2 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
linters-settings: | ||
godox: | ||
keywords: # default keywords are TODO, BUG, and FIXME, but we override this by ignoring TODO | ||
- BUG | ||
- FIXME | ||
funlen: | ||
lines: 100 | ||
statements: 80 | ||
|
||
issues: | ||
exclude-use-default: false | ||
exclude: | ||
- Using the variable on range scope `tt` in function literal | ||
|
||
linters: | ||
enable: | ||
- deadcode # Finds unused code [fast: true, auto-fix: false] | ||
- errcheck # Errcheck is a program for checking for unchecked errors in go programs. These unchecked errors can be critical bugs in some cases [fast: true, auto-fix: false] | ||
- gosimple # Linter for Go source code that specializes in simplifying a code [fast: true, auto-fix: false] | ||
- govet # Vet examines Go source code and reports suspicious constructs, such as Printf calls whose arguments do not align with the format string [fast: true, auto-fix: false] | ||
- ineffassign # Detects when assignments to existing variables are not used [fast: true, auto-fix: false] | ||
- staticcheck # Staticcheck is a go vet on steroids, applying a ton of static analysis checks [fast: true, auto-fix: false] | ||
- structcheck # Finds unused struct fields [fast: true, auto-fix: false] | ||
- typecheck # Like the front-end of a Go compiler, parses and type-checks Go code [fast: true, auto-fix: false] | ||
- unused # Checks Go code for unused constants, variables, functions and types [fast: false, auto-fix: false] | ||
- varcheck # Finds unused global variables and constants [fast: true, auto-fix: false] | ||
- depguard # Go linter that checks if package imports are in a list of acceptable packages [fast: true, auto-fix: false] | ||
- dogsled # Checks assignments with too many blank identifiers (e.g. x, _, _, _, := f()) [fast: true, auto-fix: false] | ||
# - dupl # Tool for code clone detection [fast: true, auto-fix: false] | ||
- funlen # Tool for detection of long functions [fast: true, auto-fix: false] | ||
# - gochecknoglobals # Checks that no globals are present in Go code [fast: true, auto-fix: false] | ||
# - gochecknoinits # Checks that no init functions are present in Go code [fast: true, auto-fix: false] | ||
- goconst # Finds repeated strings that could be replaced by a constant [fast: true, auto-fix: false] | ||
- gocritic # The most opinionated Go source code linter [fast: true, auto-fix: false] | ||
- gocyclo # Computes and checks the cyclomatic complexity of functions [fast: true, auto-fix: false] | ||
- godox # Tool for detection of FIXME, TODO and other comment keywords [fast: true, auto-fix: false] | ||
- gofmt # Gofmt checks whether code was gofmt-ed. By default this tool runs with -s option to check for code simplification [fast: true, auto-fix: true] | ||
- goimports # Goimports does everything that gofmt does. Additionally it checks unused imports [fast: true, auto-fix: true] | ||
# - golint # Golint differs from gofmt. Gofmt reformats Go source code, whereas golint prints out style mistakes [fast: true, auto-fix: false] | ||
- gosec # Inspects source code for security problems [fast: true, auto-fix: false] | ||
- interfacer # Linter that suggests narrower interface types [fast: true, auto-fix: false] | ||
- maligned # Tool to detect Go structs that would take less memory if their fields were sorted [fast: true, auto-fix: false] | ||
- misspell # Finds commonly misspelled English words in comments [fast: true, auto-fix: true] | ||
- nakedret # Finds naked returns in functions greater than a specified function length [fast: true, auto-fix: false] | ||
- prealloc # Finds slice declarations that could potentially be preallocated [fast: true, auto-fix: false] | ||
- scopelint # Scopelint checks for unpinned variables in go programs [fast: true, auto-fix: false] | ||
# - stylecheck # Stylecheck is a replacement for golint [fast: true, auto-fix: false] | ||
- unconvert # Remove unnecessary type conversions [fast: true, auto-fix: false] | ||
- unparam # Reports unused function parameters [fast: true, auto-fix: false] | ||
- whitespace # Tool for detection of leading and trailing whitespace [fast: true, auto-fix: true] | ||
|
||
disable: | ||
- wsl # Whitespace Linter - Forces you to use empty lines! [fast: true, auto-fix: false] | ||
- lll # Reports long lines [fast: true, auto-fix: false]\ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,42 @@ | ||
# use the latest ubuntu environment (18.04) available on travis | ||
dist: bionic | ||
|
||
language: go | ||
|
||
# Force-enable Go modules. Also force go to use the code in vendor/ | ||
# These will both be unnecessary when Go 1.14 lands. | ||
env: GO111MODULE=on | ||
|
||
go: | ||
- 1.11.x | ||
- 1.12.x | ||
env: | ||
- GO111MODULE=on GOFLAGS=-mod=readonly | ||
- 1.13.x | ||
|
||
# Only clone the most recent commit. | ||
git: | ||
depth: 1 | ||
|
||
# Skip the install step. Don't `go get` dependencies. Only build with the code | ||
# in vendor/ | ||
install: true | ||
|
||
# Don't email me the results of the test runs. | ||
notifications: | ||
email: false | ||
|
||
# Anything in before_script that returns a nonzero exit code will flunk the | ||
# build and immediately stop. It's sorta like having set -e enabled in bash. | ||
# Make sure you've pinned the version of golangci-lint by running this command | ||
# in your project directory: | ||
# GO111MODULE=on go get github.com/golangci/[email protected] | ||
# You should see this line in your go.mod file: | ||
# github.com/golangci/golangci-lint v1.21.0 | ||
before_script: | ||
- go install github.com/golangci/golangci-lint/cmd/golangci-lint | ||
|
||
# script always runs to completion (set +e). If we have linter issues AND a | ||
# failing test, we want to see both. Configure golangci-lint with a | ||
# .golangci.yml file at the top level of your repo. | ||
script: | ||
- golangci-lint run # run a bunch of code checkers/linters in parallel | ||
- go test -v -race ./... # Run all the tests with the race detector enabled |
Oops, something went wrong.