annotate .travis.yml @ 1659:d32bcb5c557d

Add Ed25519 support (#91) * Add support for Ed25519 as a public key type Ed25519 is a elliptic curve signature scheme that offers better security than ECDSA and DSA and good performance. It may be used for both user and host keys. OpenSSH key import and fuzzer are not supported yet. Initially inspired by Peter Szabo. * Add curve25519 and ed25519 fuzzers * Add import and export of Ed25519 keys
author Vladislav Grishenko <themiron@users.noreply.github.com>
date Wed, 11 Mar 2020 21:09:45 +0500
parents d17a6bab2179
children 5e763ad6e2e0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
912
e630c7aecff7 Add Travis CI autobuilder config
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
1 language: c
1240
87a43bf49e37 TravisCI: modify to run builds in container
Chocobo1 <Chocobo1@users.noreply.github.com>
parents: 1142
diff changeset
2
1485
3a916b945185 Use an explicit matrix instead, avoid bad clang combinations etc
Matt Johnston <matt@ucc.asn.au>
parents: 1481
diff changeset
3 git:
3a916b945185 Use an explicit matrix instead, avoid bad clang combinations etc
Matt Johnston <matt@ucc.asn.au>
parents: 1481
diff changeset
4 depth: 3
1243
2e3d083483de TravisCI: enable osx builds
Chocobo1 <Chocobo1@users.noreply.github.com>
parents: 1242
diff changeset
5
2e3d083483de TravisCI: enable osx builds
Chocobo1 <Chocobo1@users.noreply.github.com>
parents: 1242
diff changeset
6 matrix:
1485
3a916b945185 Use an explicit matrix instead, avoid bad clang combinations etc
Matt Johnston <matt@ucc.asn.au>
parents: 1481
diff changeset
7 include:
3a916b945185 Use an explicit matrix instead, avoid bad clang combinations etc
Matt Johnston <matt@ucc.asn.au>
parents: 1481
diff changeset
8 # subsequent matrix options use these first settings
3a916b945185 Use an explicit matrix instead, avoid bad clang combinations etc
Matt Johnston <matt@ucc.asn.au>
parents: 1481
diff changeset
9 - os: linux
3a916b945185 Use an explicit matrix instead, avoid bad clang combinations etc
Matt Johnston <matt@ucc.asn.au>
parents: 1481
diff changeset
10 compiler: gcc
3a916b945185 Use an explicit matrix instead, avoid bad clang combinations etc
Matt Johnston <matt@ucc.asn.au>
parents: 1481
diff changeset
11 env: WEXTRAFLAGS=-Werror
1581
950913ea9976 try fix travis sanitizer
Matt Johnston <matt@ucc.asn.au>
parents: 1579
diff changeset
12 sudo: false
1485
3a916b945185 Use an explicit matrix instead, avoid bad clang combinations etc
Matt Johnston <matt@ucc.asn.au>
parents: 1481
diff changeset
13 - env: MULTI=1 WEXTRAFLAGS=-Werror
3a916b945185 Use an explicit matrix instead, avoid bad clang combinations etc
Matt Johnston <matt@ucc.asn.au>
parents: 1481
diff changeset
14 # libtom has some warnings, so no WEXTRAFLAGS
1566
3fc0e9a0978b add fuzzers to travis
Matt Johnston <matt@ucc.asn.au>
parents: 1486
diff changeset
15 - env: CONFIGURE_FLAGS=--enable-bundled-libtom WEXTRAFLAGS=""
1485
3a916b945185 Use an explicit matrix instead, avoid bad clang combinations etc
Matt Johnston <matt@ucc.asn.au>
parents: 1481
diff changeset
16 - env: NOWRITEV=1 WEXTRAFLAGS=-Werror
3a916b945185 Use an explicit matrix instead, avoid bad clang combinations etc
Matt Johnston <matt@ucc.asn.au>
parents: 1481
diff changeset
17 # libtomcrypt 1.18.1 fixes clang problems, distro doesn't have that yet
3a916b945185 Use an explicit matrix instead, avoid bad clang combinations etc
Matt Johnston <matt@ucc.asn.au>
parents: 1481
diff changeset
18 - os: linux
3a916b945185 Use an explicit matrix instead, avoid bad clang combinations etc
Matt Johnston <matt@ucc.asn.au>
parents: 1481
diff changeset
19 compiler: clang
1566
3fc0e9a0978b add fuzzers to travis
Matt Johnston <matt@ucc.asn.au>
parents: 1486
diff changeset
20 env: CONFIGURE_FLAGS=--enable-bundled-libtom WEXTRAFLAGS=""
1485
3a916b945185 Use an explicit matrix instead, avoid bad clang combinations etc
Matt Johnston <matt@ucc.asn.au>
parents: 1481
diff changeset
21 - os: osx
3a916b945185 Use an explicit matrix instead, avoid bad clang combinations etc
Matt Johnston <matt@ucc.asn.au>
parents: 1481
diff changeset
22 compiler: clang
3a916b945185 Use an explicit matrix instead, avoid bad clang combinations etc
Matt Johnston <matt@ucc.asn.au>
parents: 1481
diff changeset
23 env: WEXTRAFLAGS=""
1570
67cb1983500b avoid fsanitize=address for fuzzing
Matt Johnston <matt@ucc.asn.au>
parents: 1567
diff changeset
24
1581
950913ea9976 try fix travis sanitizer
Matt Johnston <matt@ucc.asn.au>
parents: 1579
diff changeset
25 # Note: the fuzzing malloc wrapper doesn't replace free() in system libtomcrypt, so need bundled.
1583
d17a6bab2179 travis fuzz build clang++
Matt Johnston <matt@ucc.asn.au>
parents: 1581
diff changeset
26 - env: DO_FUZZ=1 CONFIGURE_FLAGS="--enable-fuzz --disable-harden --enable-bundled-libtom" WEXTRAFLAGS="" LDFLAGS=-fsanitize=address EXTRACFLAGS=-fsanitize=address CXX=clang++
1567
2799a1d55b59 don't try clang-5.0
Matt Johnston <matt@ucc.asn.au>
parents: 1566
diff changeset
27 compiler: clang
1581
950913ea9976 try fix travis sanitizer
Matt Johnston <matt@ucc.asn.au>
parents: 1579
diff changeset
28 # sanitizers need ptrace which is privileged https://github.com/travis-ci/travis-ci/issues/9033
950913ea9976 try fix travis sanitizer
Matt Johnston <matt@ucc.asn.au>
parents: 1579
diff changeset
29 sudo: required
1242
53111b3413dc TravisCI: enable build with clang
Chocobo1 <Chocobo1@users.noreply.github.com>
parents: 1241
diff changeset
30
1240
87a43bf49e37 TravisCI: modify to run builds in container
Chocobo1 <Chocobo1@users.noreply.github.com>
parents: 1142
diff changeset
31 # container-based builds
87a43bf49e37 TravisCI: modify to run builds in container
Chocobo1 <Chocobo1@users.noreply.github.com>
parents: 1142
diff changeset
32 addons:
87a43bf49e37 TravisCI: modify to run builds in container
Chocobo1 <Chocobo1@users.noreply.github.com>
parents: 1142
diff changeset
33 apt:
87a43bf49e37 TravisCI: modify to run builds in container
Chocobo1 <Chocobo1@users.noreply.github.com>
parents: 1142
diff changeset
34 packages:
87a43bf49e37 TravisCI: modify to run builds in container
Chocobo1 <Chocobo1@users.noreply.github.com>
parents: 1142
diff changeset
35 # packages list: https://github.com/travis-ci/apt-package-whitelist/blob/master/ubuntu-precise
87a43bf49e37 TravisCI: modify to run builds in container
Chocobo1 <Chocobo1@users.noreply.github.com>
parents: 1142
diff changeset
36 - zlib1g-dev
87a43bf49e37 TravisCI: modify to run builds in container
Chocobo1 <Chocobo1@users.noreply.github.com>
parents: 1142
diff changeset
37 - libtomcrypt-dev
87a43bf49e37 TravisCI: modify to run builds in container
Chocobo1 <Chocobo1@users.noreply.github.com>
parents: 1142
diff changeset
38 - libtommath-dev
1566
3fc0e9a0978b add fuzzers to travis
Matt Johnston <matt@ucc.asn.au>
parents: 1486
diff changeset
39 - mercurial
1243
2e3d083483de TravisCI: enable osx builds
Chocobo1 <Chocobo1@users.noreply.github.com>
parents: 1242
diff changeset
40
1245
cb0806413220 TravisCI: fix linux + clang compile
Chocobo1 <Chocobo1@users.noreply.github.com>
parents: 1244
diff changeset
41 before_install:
cb0806413220 TravisCI: fix linux + clang compile
Chocobo1 <Chocobo1@users.noreply.github.com>
parents: 1244
diff changeset
42 - if [ "$CC" = "clang" ]; then WEXTRAFLAGS="$WEXTRAFLAGS -Wno-error=incompatible-library-redeclaration" ; fi # workaround
cb0806413220 TravisCI: fix linux + clang compile
Chocobo1 <Chocobo1@users.noreply.github.com>
parents: 1244
diff changeset
43
1566
3fc0e9a0978b add fuzzers to travis
Matt Johnston <matt@ucc.asn.au>
parents: 1486
diff changeset
44 install:
1578
fdadac70ee67 add -fsanitize=address for fuzz test again
Matt Johnston <matt@ucc.asn.au>
parents: 1572
diff changeset
45 - autoconf
fdadac70ee67 add -fsanitize=address for fuzz test again
Matt Johnston <matt@ucc.asn.au>
parents: 1572
diff changeset
46 - autoheader
1579
8c1f762c6e9d print config.log on failure
Matt Johnston <matt@ucc.asn.au>
parents: 1578
diff changeset
47 - ./configure $CONFIGURE_FLAGS CFLAGS="-O2 -Wall -Wno-pointer-sign $WEXTRAFLAGS $EXTRACFLAGS" --prefix="$HOME/inst" || (cat config.log; exit 1)
1262
71698088bdac TravisCI: re-enable MULTI=1 & NOWRITEV=1 builds on OSX, fixes d416a9b
Chocobo1 <Chocobo1@users.noreply.github.com>
parents: 1245
diff changeset
48 - if [ "$NOWRITEV" = "1" ]; then sed -i -e s/HAVE_WRITEV/DONT_HAVE_WRITEV/ config.h ; fi
1291
4a4e5d823cf6 Avoid osx "install" race
Matt Johnston <matt@ucc.asn.au>
parents: 1262
diff changeset
49 - make -j3
1578
fdadac70ee67 add -fsanitize=address for fuzz test again
Matt Johnston <matt@ucc.asn.au>
parents: 1572
diff changeset
50 - test -z $DO_FUZZ || make fuzzstandalone
1291
4a4e5d823cf6 Avoid osx "install" race
Matt Johnston <matt@ucc.asn.au>
parents: 1262
diff changeset
51 # avoid concurrent install, osx/freebsd is racey (https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=208093)
4a4e5d823cf6 Avoid osx "install" race
Matt Johnston <matt@ucc.asn.au>
parents: 1262
diff changeset
52 - make install
1240
87a43bf49e37 TravisCI: modify to run builds in container
Chocobo1 <Chocobo1@users.noreply.github.com>
parents: 1142
diff changeset
53
1566
3fc0e9a0978b add fuzzers to travis
Matt Johnston <matt@ucc.asn.au>
parents: 1486
diff changeset
54 script:
915
ca46fb43679d Add some tests for multi
Matt Johnston <matt@ucc.asn.au>
parents: 914
diff changeset
55 - ~/inst/bin/dropbearkey -t rsa -f testrsa
ca46fb43679d Add some tests for multi
Matt Johnston <matt@ucc.asn.au>
parents: 914
diff changeset
56 - ~/inst/bin/dropbearkey -t dss -f testdss
ca46fb43679d Add some tests for multi
Matt Johnston <matt@ucc.asn.au>
parents: 914
diff changeset
57 - ~/inst/bin/dropbearkey -t ecdsa -f testec256 -s 256
ca46fb43679d Add some tests for multi
Matt Johnston <matt@ucc.asn.au>
parents: 914
diff changeset
58 - ~/inst/bin/dropbearkey -t ecdsa -f testec384 -s 384
ca46fb43679d Add some tests for multi
Matt Johnston <matt@ucc.asn.au>
parents: 914
diff changeset
59 - ~/inst/bin/dropbearkey -t ecdsa -f testec521 -s 521
1659
d32bcb5c557d Add Ed25519 support (#91)
Vladislav Grishenko <themiron@users.noreply.github.com>
parents: 1583
diff changeset
60 - ~/inst/bin/dropbearkey -t ed25519 -f tested25519
1566
3fc0e9a0978b add fuzzers to travis
Matt Johnston <matt@ucc.asn.au>
parents: 1486
diff changeset
61 - test -z $DO_FUZZ || ./fuzzers_test.sh
1486
cf43bbb6b8ff limit travis branches
Matt Johnston <matt@ucc.asn.au>
parents: 1485
diff changeset
62
cf43bbb6b8ff limit travis branches
Matt Johnston <matt@ucc.asn.au>
parents: 1485
diff changeset
63 branches:
cf43bbb6b8ff limit travis branches
Matt Johnston <matt@ucc.asn.au>
parents: 1485
diff changeset
64 only:
cf43bbb6b8ff limit travis branches
Matt Johnston <matt@ucc.asn.au>
parents: 1485
diff changeset
65 - master
cf43bbb6b8ff limit travis branches
Matt Johnston <matt@ucc.asn.au>
parents: 1485
diff changeset
66 - coverity
cf43bbb6b8ff limit travis branches
Matt Johnston <matt@ucc.asn.au>
parents: 1485
diff changeset
67