aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Alex Chernyakhovsky <alex@achernya.com>2022-06-27 19:06:55 -0400
committerGravatar Alex Chernyakhovsky <achernya@mit.edu>2022-06-27 13:46:18 -1000
commite5e62b4c76d6a0c8fae0cc733d18bb58c32b95c2 (patch)
tree907122568eaafcca851bbe771dd77dbc34c73d3d
parent13d73a614473b41e838bf8524c548e6f605c865b (diff)
Add nettle to the CI matrix
-rw-r--r--.github/workflows/ci.yml11
-rw-r--r--src/crypto/ocb_internal.cc5
2 files changed, 13 insertions, 3 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 579b3bd..5e52ec6 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -9,13 +9,18 @@ jobs:
strategy:
matrix:
os: [macos-latest, ubuntu-18.04, ubuntu-20.04]
+ crypto: [auto]
+ include:
+ - crypto: nettle
+ os: ubuntu-20.04
+
steps:
- uses: actions/checkout@v2
- name: "setup linux build environment"
if: ${{ startsWith(matrix.os, 'ubuntu') }}
- run: sudo apt install -y protobuf-compiler libprotobuf-dev libutempter-dev autoconf automake
+ run: sudo apt install -y protobuf-compiler libprotobuf-dev libutempter-dev autoconf automake nettle-dev
- name: "setup macos build environment"
if: ${{ startsWith(matrix.os, 'macos') }}
@@ -24,8 +29,8 @@ jobs:
- name: "generate build scripts"
run: ./autogen.sh
- - name: "configure"
- run: ./configure --enable-compile-warnings=error --enable-examples
+ - name: ${{ format('configure (crypto {0})', matrix.crypto) }}
+ run: ./configure --enable-compile-warnings=error --enable-examples ${{ (matrix.crypto != 'auto' && format('--with-crypto-library={0}', matrix.crypto)) || '' }}
- name: "build"
run: make V=1
diff --git a/src/crypto/ocb_internal.cc b/src/crypto/ocb_internal.cc
index 2e04c29..059f760 100644
--- a/src/crypto/ocb_internal.cc
+++ b/src/crypto/ocb_internal.cc
@@ -467,6 +467,9 @@ static inline void AES_ecb_decrypt_blks(block *blks, unsigned nblks, AES_KEY *ke
#elif USE_NETTLE_AES
/*-------------------*/
+// TODO(Issue 1202): Stop using deprecated nettle APIs
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#include <nettle/aes.h>
typedef struct aes_ctx AES_KEY;
@@ -502,6 +505,8 @@ static inline void AES_ecb_decrypt_blks(block *blks, unsigned nblks, AES_KEY *ke
#define BPI 4 /* Number of blocks in buffer per ECB call */
+#pragma GCC diagnostic pop
+
#else
#error "No AES implementation selected."
#endif