diff --git a/.travis.yml b/.travis.yml index ff6d1e492..3f9a42ba4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,39 +17,16 @@ matrix: # # BEGIN GENERATED - - env: TARGET_X=x86_64-apple-darwin FEATURES_X=--features=rsa_signing MODE_X=DEBUG KCOV=0 - rust: stable - os: osx - osx_image: xcode9.3 - - env: TARGET_X=x86_64-apple-darwin FEATURES_X= MODE_X=DEBUG KCOV=0 rust: stable os: osx osx_image: xcode9.3 - - env: TARGET_X=x86_64-apple-darwin FEATURES_X=--features=rsa_signing MODE_X=RELWITHDEBINFO KCOV=0 - rust: stable - os: osx - osx_image: xcode9.3 - - env: TARGET_X=x86_64-apple-darwin FEATURES_X= MODE_X=RELWITHDEBINFO KCOV=0 rust: stable os: osx osx_image: xcode9.3 - - env: TARGET_X=armv7-linux-androideabi CC_X=arm-linux-androideabi-clang FEATURES_X=--features=rsa_signing MODE_X=DEBUG KCOV=0 - rust: stable - os: linux - dist: trusty - sudo: required - addons: - apt: - packages: - - expect - - openjdk-6-jre-headless - sources: - - ubuntu-toolchain-r-test - - env: TARGET_X=armv7-linux-androideabi CC_X=arm-linux-androideabi-clang FEATURES_X= MODE_X=DEBUG KCOV=0 rust: stable os: linux @@ -63,19 +40,6 @@ matrix: sources: - ubuntu-toolchain-r-test - - env: TARGET_X=armv7-linux-androideabi CC_X=arm-linux-androideabi-clang FEATURES_X=--features=rsa_signing MODE_X=RELWITHDEBINFO KCOV=0 - rust: stable - os: linux - dist: trusty - sudo: required - addons: - apt: - packages: - - expect - - openjdk-6-jre-headless - sources: - - ubuntu-toolchain-r-test - - env: TARGET_X=armv7-linux-androideabi CC_X=arm-linux-androideabi-clang FEATURES_X= MODE_X=RELWITHDEBINFO KCOV=0 rust: stable os: linux @@ -89,33 +53,14 @@ matrix: sources: - ubuntu-toolchain-r-test - - env: TARGET_X=x86_64-unknown-linux-gnu FEATURES_X=--features=rsa_signing MODE_X=DEBUG KCOV=0 - rust: stable - os: linux - - env: TARGET_X=x86_64-unknown-linux-gnu FEATURES_X= MODE_X=DEBUG KCOV=0 rust: stable os: linux - - env: TARGET_X=x86_64-unknown-linux-gnu FEATURES_X=--features=rsa_signing MODE_X=RELWITHDEBINFO KCOV=0 - rust: stable - os: linux - - env: TARGET_X=x86_64-unknown-linux-gnu FEATURES_X= MODE_X=RELWITHDEBINFO KCOV=0 rust: stable os: linux - - env: TARGET_X=x86_64-unknown-linux-gnu CC_X=clang-5.0 FEATURES_X=--features=rsa_signing MODE_X=DEBUG KCOV=0 - rust: stable - os: linux - addons: - apt: - packages: - - clang-5.0 - sources: - - llvm-toolchain-trusty-5.0 - - ubuntu-toolchain-r-test - - env: TARGET_X=x86_64-unknown-linux-gnu CC_X=clang-5.0 FEATURES_X= MODE_X=DEBUG KCOV=0 rust: stable os: linux @@ -127,17 +72,6 @@ matrix: - llvm-toolchain-trusty-5.0 - ubuntu-toolchain-r-test - - env: TARGET_X=x86_64-unknown-linux-gnu CC_X=clang-5.0 FEATURES_X=--features=rsa_signing MODE_X=RELWITHDEBINFO KCOV=0 - rust: stable - os: linux - addons: - apt: - packages: - - clang-5.0 - sources: - - llvm-toolchain-trusty-5.0 - - ubuntu-toolchain-r-test - - env: TARGET_X=x86_64-unknown-linux-gnu CC_X=clang-5.0 FEATURES_X= MODE_X=RELWITHDEBINFO KCOV=0 rust: stable os: linux @@ -149,16 +83,6 @@ matrix: - llvm-toolchain-trusty-5.0 - ubuntu-toolchain-r-test - - env: TARGET_X=x86_64-unknown-linux-gnu CC_X=gcc-7 FEATURES_X=--features=rsa_signing MODE_X=DEBUG KCOV=0 - rust: stable - os: linux - addons: - apt: - packages: - - gcc-7 - sources: - - ubuntu-toolchain-r-test - - env: TARGET_X=x86_64-unknown-linux-gnu CC_X=gcc-7 FEATURES_X= MODE_X=DEBUG KCOV=0 rust: stable os: linux @@ -169,16 +93,6 @@ matrix: sources: - ubuntu-toolchain-r-test - - env: TARGET_X=x86_64-unknown-linux-gnu CC_X=gcc-7 FEATURES_X=--features=rsa_signing MODE_X=RELWITHDEBINFO KCOV=0 - rust: stable - os: linux - addons: - apt: - packages: - - gcc-7 - sources: - - ubuntu-toolchain-r-test - - env: TARGET_X=x86_64-unknown-linux-gnu CC_X=gcc-7 FEATURES_X= MODE_X=RELWITHDEBINFO KCOV=0 rust: stable os: linux @@ -189,19 +103,6 @@ matrix: sources: - ubuntu-toolchain-r-test - - env: TARGET_X=aarch64-unknown-linux-gnu CC_X=aarch64-linux-gnu-gcc FEATURES_X=--features=rsa_signing MODE_X=DEBUG KCOV=0 - rust: stable - os: linux - dist: trusty - sudo: required - addons: - apt: - packages: - - gcc-aarch64-linux-gnu - - libc6-dev-arm64-cross - sources: - - ubuntu-toolchain-r-test - - env: TARGET_X=aarch64-unknown-linux-gnu CC_X=aarch64-linux-gnu-gcc FEATURES_X= MODE_X=DEBUG KCOV=0 rust: stable os: linux @@ -215,19 +116,6 @@ matrix: sources: - ubuntu-toolchain-r-test - - env: TARGET_X=aarch64-unknown-linux-gnu CC_X=aarch64-linux-gnu-gcc FEATURES_X=--features=rsa_signing MODE_X=RELWITHDEBINFO KCOV=0 - rust: stable - os: linux - dist: trusty - sudo: required - addons: - apt: - packages: - - gcc-aarch64-linux-gnu - - libc6-dev-arm64-cross - sources: - - ubuntu-toolchain-r-test - - env: TARGET_X=aarch64-unknown-linux-gnu CC_X=aarch64-linux-gnu-gcc FEATURES_X= MODE_X=RELWITHDEBINFO KCOV=0 rust: stable os: linux @@ -241,17 +129,6 @@ matrix: sources: - ubuntu-toolchain-r-test - - env: TARGET_X=i686-unknown-linux-gnu FEATURES_X=--features=rsa_signing MODE_X=DEBUG KCOV=0 - rust: stable - os: linux - addons: - apt: - packages: - - gcc-multilib - - libc6-dev-i386 - sources: - - ubuntu-toolchain-r-test - - env: TARGET_X=i686-unknown-linux-gnu FEATURES_X= MODE_X=DEBUG KCOV=0 rust: stable os: linux @@ -263,17 +140,6 @@ matrix: sources: - ubuntu-toolchain-r-test - - env: TARGET_X=i686-unknown-linux-gnu FEATURES_X=--features=rsa_signing MODE_X=RELWITHDEBINFO KCOV=0 - rust: stable - os: linux - addons: - apt: - packages: - - gcc-multilib - - libc6-dev-i386 - sources: - - ubuntu-toolchain-r-test - - env: TARGET_X=i686-unknown-linux-gnu FEATURES_X= MODE_X=RELWITHDEBINFO KCOV=0 rust: stable os: linux @@ -285,19 +151,6 @@ matrix: sources: - ubuntu-toolchain-r-test - - env: TARGET_X=i686-unknown-linux-gnu CC_X=clang-5.0 FEATURES_X=--features=rsa_signing MODE_X=DEBUG KCOV=0 - rust: stable - os: linux - addons: - apt: - packages: - - clang-5.0 - - gcc-multilib - - libc6-dev-i386 - sources: - - llvm-toolchain-trusty-5.0 - - ubuntu-toolchain-r-test - - env: TARGET_X=i686-unknown-linux-gnu CC_X=clang-5.0 FEATURES_X= MODE_X=DEBUG KCOV=0 rust: stable os: linux @@ -311,19 +164,6 @@ matrix: - llvm-toolchain-trusty-5.0 - ubuntu-toolchain-r-test - - env: TARGET_X=i686-unknown-linux-gnu CC_X=clang-5.0 FEATURES_X=--features=rsa_signing MODE_X=RELWITHDEBINFO KCOV=0 - rust: stable - os: linux - addons: - apt: - packages: - - clang-5.0 - - gcc-multilib - - libc6-dev-i386 - sources: - - llvm-toolchain-trusty-5.0 - - ubuntu-toolchain-r-test - - env: TARGET_X=i686-unknown-linux-gnu CC_X=clang-5.0 FEATURES_X= MODE_X=RELWITHDEBINFO KCOV=0 rust: stable os: linux @@ -337,18 +177,6 @@ matrix: - llvm-toolchain-trusty-5.0 - ubuntu-toolchain-r-test - - env: TARGET_X=i686-unknown-linux-gnu CC_X=gcc-7 FEATURES_X=--features=rsa_signing MODE_X=DEBUG KCOV=0 - rust: stable - os: linux - addons: - apt: - packages: - - gcc-7 - - gcc-7-multilib - - linux-libc-dev:i386 - sources: - - ubuntu-toolchain-r-test - - env: TARGET_X=i686-unknown-linux-gnu CC_X=gcc-7 FEATURES_X= MODE_X=DEBUG KCOV=0 rust: stable os: linux @@ -361,18 +189,6 @@ matrix: sources: - ubuntu-toolchain-r-test - - env: TARGET_X=i686-unknown-linux-gnu CC_X=gcc-7 FEATURES_X=--features=rsa_signing MODE_X=RELWITHDEBINFO KCOV=0 - rust: stable - os: linux - addons: - apt: - packages: - - gcc-7 - - gcc-7-multilib - - linux-libc-dev:i386 - sources: - - ubuntu-toolchain-r-test - - env: TARGET_X=i686-unknown-linux-gnu CC_X=gcc-7 FEATURES_X= MODE_X=RELWITHDEBINFO KCOV=0 rust: stable os: linux @@ -385,19 +201,6 @@ matrix: sources: - ubuntu-toolchain-r-test - - env: TARGET_X=arm-unknown-linux-gnueabihf CC_X=arm-linux-gnueabihf-gcc FEATURES_X=--features=rsa_signing MODE_X=DEBUG KCOV=0 - rust: stable - os: linux - dist: trusty - sudo: required - addons: - apt: - packages: - - gcc-arm-linux-gnueabihf - - libc6-dev-armhf-cross - sources: - - ubuntu-toolchain-r-test - - env: TARGET_X=arm-unknown-linux-gnueabihf CC_X=arm-linux-gnueabihf-gcc FEATURES_X= MODE_X=DEBUG KCOV=0 rust: stable os: linux @@ -411,19 +214,6 @@ matrix: sources: - ubuntu-toolchain-r-test - - env: TARGET_X=arm-unknown-linux-gnueabihf CC_X=arm-linux-gnueabihf-gcc FEATURES_X=--features=rsa_signing MODE_X=RELWITHDEBINFO KCOV=0 - rust: stable - os: linux - dist: trusty - sudo: required - addons: - apt: - packages: - - gcc-arm-linux-gnueabihf - - libc6-dev-armhf-cross - sources: - - ubuntu-toolchain-r-test - - env: TARGET_X=arm-unknown-linux-gnueabihf CC_X=arm-linux-gnueabihf-gcc FEATURES_X= MODE_X=RELWITHDEBINFO KCOV=0 rust: stable os: linux @@ -437,39 +227,16 @@ matrix: sources: - ubuntu-toolchain-r-test - - env: TARGET_X=x86_64-apple-darwin FEATURES_X=--features=rsa_signing MODE_X=DEBUG KCOV=0 - rust: nightly - os: osx - osx_image: xcode9.3 - - env: TARGET_X=x86_64-apple-darwin FEATURES_X= MODE_X=DEBUG KCOV=0 rust: nightly os: osx osx_image: xcode9.3 - - env: TARGET_X=x86_64-apple-darwin FEATURES_X=--features=rsa_signing MODE_X=RELWITHDEBINFO KCOV=0 - rust: nightly - os: osx - osx_image: xcode9.3 - - env: TARGET_X=x86_64-apple-darwin FEATURES_X= MODE_X=RELWITHDEBINFO KCOV=0 rust: nightly os: osx osx_image: xcode9.3 - - env: TARGET_X=armv7-linux-androideabi CC_X=arm-linux-androideabi-clang FEATURES_X=--features=rsa_signing MODE_X=DEBUG KCOV=0 - rust: nightly - os: linux - dist: trusty - sudo: required - addons: - apt: - packages: - - expect - - openjdk-6-jre-headless - sources: - - ubuntu-toolchain-r-test - - env: TARGET_X=armv7-linux-androideabi CC_X=arm-linux-androideabi-clang FEATURES_X= MODE_X=DEBUG KCOV=0 rust: nightly os: linux @@ -483,19 +250,6 @@ matrix: sources: - ubuntu-toolchain-r-test - - env: TARGET_X=armv7-linux-androideabi CC_X=arm-linux-androideabi-clang FEATURES_X=--features=rsa_signing MODE_X=RELWITHDEBINFO KCOV=0 - rust: nightly - os: linux - dist: trusty - sudo: required - addons: - apt: - packages: - - expect - - openjdk-6-jre-headless - sources: - - ubuntu-toolchain-r-test - - env: TARGET_X=armv7-linux-androideabi CC_X=arm-linux-androideabi-clang FEATURES_X= MODE_X=RELWITHDEBINFO KCOV=0 rust: nightly os: linux @@ -509,33 +263,14 @@ matrix: sources: - ubuntu-toolchain-r-test - - env: TARGET_X=x86_64-unknown-linux-gnu FEATURES_X=--features=rsa_signing MODE_X=DEBUG KCOV=0 - rust: nightly - os: linux - - env: TARGET_X=x86_64-unknown-linux-gnu FEATURES_X= MODE_X=DEBUG KCOV=0 rust: nightly os: linux - - env: TARGET_X=x86_64-unknown-linux-gnu FEATURES_X=--features=rsa_signing MODE_X=RELWITHDEBINFO KCOV=0 - rust: nightly - os: linux - - env: TARGET_X=x86_64-unknown-linux-gnu FEATURES_X= MODE_X=RELWITHDEBINFO KCOV=0 rust: nightly os: linux - - env: TARGET_X=x86_64-unknown-linux-gnu CC_X=clang-5.0 FEATURES_X=--features=rsa_signing MODE_X=DEBUG KCOV=0 - rust: nightly - os: linux - addons: - apt: - packages: - - clang-5.0 - sources: - - llvm-toolchain-trusty-5.0 - - ubuntu-toolchain-r-test - - env: TARGET_X=x86_64-unknown-linux-gnu CC_X=clang-5.0 FEATURES_X= MODE_X=DEBUG KCOV=0 rust: nightly os: linux @@ -547,17 +282,6 @@ matrix: - llvm-toolchain-trusty-5.0 - ubuntu-toolchain-r-test - - env: TARGET_X=x86_64-unknown-linux-gnu CC_X=clang-5.0 FEATURES_X=--features=rsa_signing MODE_X=RELWITHDEBINFO KCOV=0 - rust: nightly - os: linux - addons: - apt: - packages: - - clang-5.0 - sources: - - llvm-toolchain-trusty-5.0 - - ubuntu-toolchain-r-test - - env: TARGET_X=x86_64-unknown-linux-gnu CC_X=clang-5.0 FEATURES_X= MODE_X=RELWITHDEBINFO KCOV=0 rust: nightly os: linux @@ -569,16 +293,6 @@ matrix: - llvm-toolchain-trusty-5.0 - ubuntu-toolchain-r-test - - env: TARGET_X=x86_64-unknown-linux-gnu CC_X=gcc-7 FEATURES_X=--features=rsa_signing MODE_X=DEBUG KCOV=0 - rust: nightly - os: linux - addons: - apt: - packages: - - gcc-7 - sources: - - ubuntu-toolchain-r-test - - env: TARGET_X=x86_64-unknown-linux-gnu CC_X=gcc-7 FEATURES_X= MODE_X=DEBUG KCOV=0 rust: nightly os: linux @@ -589,16 +303,6 @@ matrix: sources: - ubuntu-toolchain-r-test - - env: TARGET_X=x86_64-unknown-linux-gnu CC_X=gcc-7 FEATURES_X=--features=rsa_signing MODE_X=RELWITHDEBINFO KCOV=0 - rust: nightly - os: linux - addons: - apt: - packages: - - gcc-7 - sources: - - ubuntu-toolchain-r-test - - env: TARGET_X=x86_64-unknown-linux-gnu CC_X=gcc-7 FEATURES_X= MODE_X=RELWITHDEBINFO KCOV=0 rust: nightly os: linux @@ -609,19 +313,6 @@ matrix: sources: - ubuntu-toolchain-r-test - - env: TARGET_X=aarch64-unknown-linux-gnu CC_X=aarch64-linux-gnu-gcc FEATURES_X=--features=rsa_signing MODE_X=DEBUG KCOV=0 - rust: nightly - os: linux - dist: trusty - sudo: required - addons: - apt: - packages: - - gcc-aarch64-linux-gnu - - libc6-dev-arm64-cross - sources: - - ubuntu-toolchain-r-test - - env: TARGET_X=aarch64-unknown-linux-gnu CC_X=aarch64-linux-gnu-gcc FEATURES_X= MODE_X=DEBUG KCOV=0 rust: nightly os: linux @@ -635,19 +326,6 @@ matrix: sources: - ubuntu-toolchain-r-test - - env: TARGET_X=aarch64-unknown-linux-gnu CC_X=aarch64-linux-gnu-gcc FEATURES_X=--features=rsa_signing MODE_X=RELWITHDEBINFO KCOV=0 - rust: nightly - os: linux - dist: trusty - sudo: required - addons: - apt: - packages: - - gcc-aarch64-linux-gnu - - libc6-dev-arm64-cross - sources: - - ubuntu-toolchain-r-test - - env: TARGET_X=aarch64-unknown-linux-gnu CC_X=aarch64-linux-gnu-gcc FEATURES_X= MODE_X=RELWITHDEBINFO KCOV=0 rust: nightly os: linux @@ -661,17 +339,6 @@ matrix: sources: - ubuntu-toolchain-r-test - - env: TARGET_X=i686-unknown-linux-gnu FEATURES_X=--features=rsa_signing MODE_X=DEBUG KCOV=0 - rust: nightly - os: linux - addons: - apt: - packages: - - gcc-multilib - - libc6-dev-i386 - sources: - - ubuntu-toolchain-r-test - - env: TARGET_X=i686-unknown-linux-gnu FEATURES_X= MODE_X=DEBUG KCOV=0 rust: nightly os: linux @@ -683,17 +350,6 @@ matrix: sources: - ubuntu-toolchain-r-test - - env: TARGET_X=i686-unknown-linux-gnu FEATURES_X=--features=rsa_signing MODE_X=RELWITHDEBINFO KCOV=0 - rust: nightly - os: linux - addons: - apt: - packages: - - gcc-multilib - - libc6-dev-i386 - sources: - - ubuntu-toolchain-r-test - - env: TARGET_X=i686-unknown-linux-gnu FEATURES_X= MODE_X=RELWITHDEBINFO KCOV=0 rust: nightly os: linux @@ -705,19 +361,6 @@ matrix: sources: - ubuntu-toolchain-r-test - - env: TARGET_X=i686-unknown-linux-gnu CC_X=clang-5.0 FEATURES_X=--features=rsa_signing MODE_X=DEBUG KCOV=0 - rust: nightly - os: linux - addons: - apt: - packages: - - clang-5.0 - - gcc-multilib - - libc6-dev-i386 - sources: - - llvm-toolchain-trusty-5.0 - - ubuntu-toolchain-r-test - - env: TARGET_X=i686-unknown-linux-gnu CC_X=clang-5.0 FEATURES_X= MODE_X=DEBUG KCOV=0 rust: nightly os: linux @@ -731,19 +374,6 @@ matrix: - llvm-toolchain-trusty-5.0 - ubuntu-toolchain-r-test - - env: TARGET_X=i686-unknown-linux-gnu CC_X=clang-5.0 FEATURES_X=--features=rsa_signing MODE_X=RELWITHDEBINFO KCOV=0 - rust: nightly - os: linux - addons: - apt: - packages: - - clang-5.0 - - gcc-multilib - - libc6-dev-i386 - sources: - - llvm-toolchain-trusty-5.0 - - ubuntu-toolchain-r-test - - env: TARGET_X=i686-unknown-linux-gnu CC_X=clang-5.0 FEATURES_X= MODE_X=RELWITHDEBINFO KCOV=0 rust: nightly os: linux @@ -757,18 +387,6 @@ matrix: - llvm-toolchain-trusty-5.0 - ubuntu-toolchain-r-test - - env: TARGET_X=i686-unknown-linux-gnu CC_X=gcc-7 FEATURES_X=--features=rsa_signing MODE_X=DEBUG KCOV=0 - rust: nightly - os: linux - addons: - apt: - packages: - - gcc-7 - - gcc-7-multilib - - linux-libc-dev:i386 - sources: - - ubuntu-toolchain-r-test - - env: TARGET_X=i686-unknown-linux-gnu CC_X=gcc-7 FEATURES_X= MODE_X=DEBUG KCOV=0 rust: nightly os: linux @@ -781,18 +399,6 @@ matrix: sources: - ubuntu-toolchain-r-test - - env: TARGET_X=i686-unknown-linux-gnu CC_X=gcc-7 FEATURES_X=--features=rsa_signing MODE_X=RELWITHDEBINFO KCOV=0 - rust: nightly - os: linux - addons: - apt: - packages: - - gcc-7 - - gcc-7-multilib - - linux-libc-dev:i386 - sources: - - ubuntu-toolchain-r-test - - env: TARGET_X=i686-unknown-linux-gnu CC_X=gcc-7 FEATURES_X= MODE_X=RELWITHDEBINFO KCOV=0 rust: nightly os: linux @@ -805,19 +411,6 @@ matrix: sources: - ubuntu-toolchain-r-test - - env: TARGET_X=arm-unknown-linux-gnueabihf CC_X=arm-linux-gnueabihf-gcc FEATURES_X=--features=rsa_signing MODE_X=DEBUG KCOV=0 - rust: nightly - os: linux - dist: trusty - sudo: required - addons: - apt: - packages: - - gcc-arm-linux-gnueabihf - - libc6-dev-armhf-cross - sources: - - ubuntu-toolchain-r-test - - env: TARGET_X=arm-unknown-linux-gnueabihf CC_X=arm-linux-gnueabihf-gcc FEATURES_X= MODE_X=DEBUG KCOV=0 rust: nightly os: linux @@ -831,19 +424,6 @@ matrix: sources: - ubuntu-toolchain-r-test - - env: TARGET_X=arm-unknown-linux-gnueabihf CC_X=arm-linux-gnueabihf-gcc FEATURES_X=--features=rsa_signing MODE_X=RELWITHDEBINFO KCOV=0 - rust: nightly - os: linux - dist: trusty - sudo: required - addons: - apt: - packages: - - gcc-arm-linux-gnueabihf - - libc6-dev-armhf-cross - sources: - - ubuntu-toolchain-r-test - - env: TARGET_X=arm-unknown-linux-gnueabihf CC_X=arm-linux-gnueabihf-gcc FEATURES_X= MODE_X=RELWITHDEBINFO KCOV=0 rust: nightly os: linux @@ -857,39 +437,16 @@ matrix: sources: - ubuntu-toolchain-r-test - - env: TARGET_X=x86_64-apple-darwin FEATURES_X=--features=rsa_signing MODE_X=DEBUG KCOV=0 - rust: beta - os: osx - osx_image: xcode9.3 - - env: TARGET_X=x86_64-apple-darwin FEATURES_X= MODE_X=DEBUG KCOV=0 rust: beta os: osx osx_image: xcode9.3 - - env: TARGET_X=x86_64-apple-darwin FEATURES_X=--features=rsa_signing MODE_X=RELWITHDEBINFO KCOV=0 - rust: beta - os: osx - osx_image: xcode9.3 - - env: TARGET_X=x86_64-apple-darwin FEATURES_X= MODE_X=RELWITHDEBINFO KCOV=0 rust: beta os: osx osx_image: xcode9.3 - - env: TARGET_X=armv7-linux-androideabi CC_X=arm-linux-androideabi-clang FEATURES_X=--features=rsa_signing MODE_X=DEBUG KCOV=0 - rust: beta - os: linux - dist: trusty - sudo: required - addons: - apt: - packages: - - expect - - openjdk-6-jre-headless - sources: - - ubuntu-toolchain-r-test - - env: TARGET_X=armv7-linux-androideabi CC_X=arm-linux-androideabi-clang FEATURES_X= MODE_X=DEBUG KCOV=0 rust: beta os: linux @@ -903,19 +460,6 @@ matrix: sources: - ubuntu-toolchain-r-test - - env: TARGET_X=armv7-linux-androideabi CC_X=arm-linux-androideabi-clang FEATURES_X=--features=rsa_signing MODE_X=RELWITHDEBINFO KCOV=0 - rust: beta - os: linux - dist: trusty - sudo: required - addons: - apt: - packages: - - expect - - openjdk-6-jre-headless - sources: - - ubuntu-toolchain-r-test - - env: TARGET_X=armv7-linux-androideabi CC_X=arm-linux-androideabi-clang FEATURES_X= MODE_X=RELWITHDEBINFO KCOV=0 rust: beta os: linux @@ -929,33 +473,14 @@ matrix: sources: - ubuntu-toolchain-r-test - - env: TARGET_X=x86_64-unknown-linux-gnu FEATURES_X=--features=rsa_signing MODE_X=DEBUG KCOV=0 - rust: beta - os: linux - - env: TARGET_X=x86_64-unknown-linux-gnu FEATURES_X= MODE_X=DEBUG KCOV=0 rust: beta os: linux - - env: TARGET_X=x86_64-unknown-linux-gnu FEATURES_X=--features=rsa_signing MODE_X=RELWITHDEBINFO KCOV=0 - rust: beta - os: linux - - env: TARGET_X=x86_64-unknown-linux-gnu FEATURES_X= MODE_X=RELWITHDEBINFO KCOV=0 rust: beta os: linux - - env: TARGET_X=x86_64-unknown-linux-gnu CC_X=clang-5.0 FEATURES_X=--features=rsa_signing MODE_X=DEBUG KCOV=0 - rust: beta - os: linux - addons: - apt: - packages: - - clang-5.0 - sources: - - llvm-toolchain-trusty-5.0 - - ubuntu-toolchain-r-test - - env: TARGET_X=x86_64-unknown-linux-gnu CC_X=clang-5.0 FEATURES_X= MODE_X=DEBUG KCOV=0 rust: beta os: linux @@ -967,17 +492,6 @@ matrix: - llvm-toolchain-trusty-5.0 - ubuntu-toolchain-r-test - - env: TARGET_X=x86_64-unknown-linux-gnu CC_X=clang-5.0 FEATURES_X=--features=rsa_signing MODE_X=RELWITHDEBINFO KCOV=0 - rust: beta - os: linux - addons: - apt: - packages: - - clang-5.0 - sources: - - llvm-toolchain-trusty-5.0 - - ubuntu-toolchain-r-test - - env: TARGET_X=x86_64-unknown-linux-gnu CC_X=clang-5.0 FEATURES_X= MODE_X=RELWITHDEBINFO KCOV=0 rust: beta os: linux @@ -989,16 +503,6 @@ matrix: - llvm-toolchain-trusty-5.0 - ubuntu-toolchain-r-test - - env: TARGET_X=x86_64-unknown-linux-gnu CC_X=gcc-7 FEATURES_X=--features=rsa_signing MODE_X=DEBUG KCOV=0 - rust: beta - os: linux - addons: - apt: - packages: - - gcc-7 - sources: - - ubuntu-toolchain-r-test - - env: TARGET_X=x86_64-unknown-linux-gnu CC_X=gcc-7 FEATURES_X= MODE_X=DEBUG KCOV=0 rust: beta os: linux @@ -1009,16 +513,6 @@ matrix: sources: - ubuntu-toolchain-r-test - - env: TARGET_X=x86_64-unknown-linux-gnu CC_X=gcc-7 FEATURES_X=--features=rsa_signing MODE_X=RELWITHDEBINFO KCOV=0 - rust: beta - os: linux - addons: - apt: - packages: - - gcc-7 - sources: - - ubuntu-toolchain-r-test - - env: TARGET_X=x86_64-unknown-linux-gnu CC_X=gcc-7 FEATURES_X= MODE_X=RELWITHDEBINFO KCOV=0 rust: beta os: linux @@ -1029,19 +523,6 @@ matrix: sources: - ubuntu-toolchain-r-test - - env: TARGET_X=aarch64-unknown-linux-gnu CC_X=aarch64-linux-gnu-gcc FEATURES_X=--features=rsa_signing MODE_X=DEBUG KCOV=0 - rust: beta - os: linux - dist: trusty - sudo: required - addons: - apt: - packages: - - gcc-aarch64-linux-gnu - - libc6-dev-arm64-cross - sources: - - ubuntu-toolchain-r-test - - env: TARGET_X=aarch64-unknown-linux-gnu CC_X=aarch64-linux-gnu-gcc FEATURES_X= MODE_X=DEBUG KCOV=0 rust: beta os: linux @@ -1055,19 +536,6 @@ matrix: sources: - ubuntu-toolchain-r-test - - env: TARGET_X=aarch64-unknown-linux-gnu CC_X=aarch64-linux-gnu-gcc FEATURES_X=--features=rsa_signing MODE_X=RELWITHDEBINFO KCOV=0 - rust: beta - os: linux - dist: trusty - sudo: required - addons: - apt: - packages: - - gcc-aarch64-linux-gnu - - libc6-dev-arm64-cross - sources: - - ubuntu-toolchain-r-test - - env: TARGET_X=aarch64-unknown-linux-gnu CC_X=aarch64-linux-gnu-gcc FEATURES_X= MODE_X=RELWITHDEBINFO KCOV=0 rust: beta os: linux @@ -1081,17 +549,6 @@ matrix: sources: - ubuntu-toolchain-r-test - - env: TARGET_X=i686-unknown-linux-gnu FEATURES_X=--features=rsa_signing MODE_X=DEBUG KCOV=0 - rust: beta - os: linux - addons: - apt: - packages: - - gcc-multilib - - libc6-dev-i386 - sources: - - ubuntu-toolchain-r-test - - env: TARGET_X=i686-unknown-linux-gnu FEATURES_X= MODE_X=DEBUG KCOV=0 rust: beta os: linux @@ -1103,17 +560,6 @@ matrix: sources: - ubuntu-toolchain-r-test - - env: TARGET_X=i686-unknown-linux-gnu FEATURES_X=--features=rsa_signing MODE_X=RELWITHDEBINFO KCOV=0 - rust: beta - os: linux - addons: - apt: - packages: - - gcc-multilib - - libc6-dev-i386 - sources: - - ubuntu-toolchain-r-test - - env: TARGET_X=i686-unknown-linux-gnu FEATURES_X= MODE_X=RELWITHDEBINFO KCOV=0 rust: beta os: linux @@ -1125,19 +571,6 @@ matrix: sources: - ubuntu-toolchain-r-test - - env: TARGET_X=i686-unknown-linux-gnu CC_X=clang-5.0 FEATURES_X=--features=rsa_signing MODE_X=DEBUG KCOV=0 - rust: beta - os: linux - addons: - apt: - packages: - - clang-5.0 - - gcc-multilib - - libc6-dev-i386 - sources: - - llvm-toolchain-trusty-5.0 - - ubuntu-toolchain-r-test - - env: TARGET_X=i686-unknown-linux-gnu CC_X=clang-5.0 FEATURES_X= MODE_X=DEBUG KCOV=0 rust: beta os: linux @@ -1151,19 +584,6 @@ matrix: - llvm-toolchain-trusty-5.0 - ubuntu-toolchain-r-test - - env: TARGET_X=i686-unknown-linux-gnu CC_X=clang-5.0 FEATURES_X=--features=rsa_signing MODE_X=RELWITHDEBINFO KCOV=0 - rust: beta - os: linux - addons: - apt: - packages: - - clang-5.0 - - gcc-multilib - - libc6-dev-i386 - sources: - - llvm-toolchain-trusty-5.0 - - ubuntu-toolchain-r-test - - env: TARGET_X=i686-unknown-linux-gnu CC_X=clang-5.0 FEATURES_X= MODE_X=RELWITHDEBINFO KCOV=0 rust: beta os: linux @@ -1177,18 +597,6 @@ matrix: - llvm-toolchain-trusty-5.0 - ubuntu-toolchain-r-test - - env: TARGET_X=i686-unknown-linux-gnu CC_X=gcc-7 FEATURES_X=--features=rsa_signing MODE_X=DEBUG KCOV=0 - rust: beta - os: linux - addons: - apt: - packages: - - gcc-7 - - gcc-7-multilib - - linux-libc-dev:i386 - sources: - - ubuntu-toolchain-r-test - - env: TARGET_X=i686-unknown-linux-gnu CC_X=gcc-7 FEATURES_X= MODE_X=DEBUG KCOV=0 rust: beta os: linux @@ -1201,18 +609,6 @@ matrix: sources: - ubuntu-toolchain-r-test - - env: TARGET_X=i686-unknown-linux-gnu CC_X=gcc-7 FEATURES_X=--features=rsa_signing MODE_X=RELWITHDEBINFO KCOV=0 - rust: beta - os: linux - addons: - apt: - packages: - - gcc-7 - - gcc-7-multilib - - linux-libc-dev:i386 - sources: - - ubuntu-toolchain-r-test - - env: TARGET_X=i686-unknown-linux-gnu CC_X=gcc-7 FEATURES_X= MODE_X=RELWITHDEBINFO KCOV=0 rust: beta os: linux @@ -1225,19 +621,6 @@ matrix: sources: - ubuntu-toolchain-r-test - - env: TARGET_X=arm-unknown-linux-gnueabihf CC_X=arm-linux-gnueabihf-gcc FEATURES_X=--features=rsa_signing MODE_X=DEBUG KCOV=0 - rust: beta - os: linux - dist: trusty - sudo: required - addons: - apt: - packages: - - gcc-arm-linux-gnueabihf - - libc6-dev-armhf-cross - sources: - - ubuntu-toolchain-r-test - - env: TARGET_X=arm-unknown-linux-gnueabihf CC_X=arm-linux-gnueabihf-gcc FEATURES_X= MODE_X=DEBUG KCOV=0 rust: beta os: linux @@ -1251,19 +634,6 @@ matrix: sources: - ubuntu-toolchain-r-test - - env: TARGET_X=arm-unknown-linux-gnueabihf CC_X=arm-linux-gnueabihf-gcc FEATURES_X=--features=rsa_signing MODE_X=RELWITHDEBINFO KCOV=0 - rust: beta - os: linux - dist: trusty - sudo: required - addons: - apt: - packages: - - gcc-arm-linux-gnueabihf - - libc6-dev-armhf-cross - sources: - - ubuntu-toolchain-r-test - - env: TARGET_X=arm-unknown-linux-gnueabihf CC_X=arm-linux-gnueabihf-gcc FEATURES_X= MODE_X=RELWITHDEBINFO KCOV=0 rust: beta os: linux diff --git a/Cargo.toml b/Cargo.toml index d192eb236..75fbbb012 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -298,14 +298,10 @@ cc = "1.0.9" default = ["use_heap", "dev_urandom_fallback"] dev_urandom_fallback = [] internal_benches = [] -rsa_signing = ["use_heap"] slow_tests = [] test_logging = [] use_heap = [] -[package.metadata.docs.rs] -features = [ "rsa_signing" ] - # XXX: debug = false because of https://github.com/rust-lang/rust/issues/34122 [profile.bench] diff --git a/README.md b/README.md index c3350fc9c..21ed525b4 100644 --- a/README.md +++ b/README.md @@ -117,7 +117,7 @@ In addition, we're always interested in these kinds of contributions: macOS (e.g. Xcode project files). Before submitting pull requests, make sure that the tests succeed both when -running `cargo test` and `cargo test --features=rsa_signing`. See +running `cargo test` and `cargo test --no-default-features`. See [BUILDING.md](BUILDING.md) for more info about the features flags that are useful for people hacking on *ring*. diff --git a/mk/update-travis-yml.py b/mk/update-travis-yml.py index 3711f0a26..4f15448e7 100755 --- a/mk/update-travis-yml.py +++ b/mk/update-travis-yml.py @@ -53,7 +53,6 @@ compilers = { } feature_sets = [ - "--features=rsa_signing", "", ] diff --git a/src/bits.rs b/src/bits.rs index 6cc1e9ce5..f604a2375 100644 --- a/src/bits.rs +++ b/src/bits.rs @@ -29,7 +29,7 @@ impl BitLength { Ok(BitLength::from_usize_bits(bits)) } - #[cfg(feature = "rsa_signing")] + #[cfg(feature = "use_heap")] #[inline] pub fn half_rounded_up(&self) -> BitLength { let round_up = self.0 & 1; diff --git a/src/error.rs b/src/error.rs index ae7d7824a..30681f49f 100644 --- a/src/error.rs +++ b/src/error.rs @@ -165,7 +165,7 @@ impl KeyRejected { pub(crate) fn wrong_algorithm() -> Self { KeyRejected("WrongAlgorithm") } - #[cfg(feature = "rsa_signing")] + #[cfg(feature = "use_heap")] pub(crate) fn private_modulus_len_not_multiple_of_512_bits() -> Self { KeyRejected("PrivateModulusLenNotMultipleOf512Bits") } diff --git a/src/lib.rs b/src/lib.rs index 1d8d87c83..b91a81cc4 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -30,8 +30,8 @@ //! dev_urandom_fallback feature is disabled, such //! fallbacks will not occur. See the documentation for //! rand::SystemRandom for more details. -//! rsa_signing -//! Enable RSA signing (RSAKeyPair and related things). +//! use_heap (default) +//! Enable features that require use of the heap, RSA in particular. //! #![doc(html_root_url = "https://briansmith.org/rustdoc/")] diff --git a/src/limb.rs b/src/limb.rs index fb040afeb..e89321b8a 100644 --- a/src/limb.rs +++ b/src/limb.rs @@ -24,7 +24,7 @@ use untrusted; #[cfg(any(test, feature = "use_heap"))] use crate::bits; -#[cfg(feature = "rsa_signing")] +#[cfg(feature = "use_heap")] use core::num::Wrapping; // XXX: Not correct for x32 ABIs. @@ -96,7 +96,7 @@ pub fn limbs_are_even_constant_time(limbs: &[Limb]) -> LimbMask { unsafe { LIMBS_are_even(limbs.as_ptr(), limbs.len()) } } -#[cfg(any(test, feature = "rsa_signing"))] +#[cfg(any(test, feature = "use_heap"))] #[inline] pub fn limbs_equal_limb_constant_time(a: &[Limb], b: Limb) -> LimbMask { unsafe { LIMBS_equal_limb(a.as_ptr(), b, a.len()) } @@ -248,7 +248,7 @@ pub fn big_endian_from_limbs(limbs: &[Limb], out: &mut [u8]) { } } -#[cfg(feature = "rsa_signing")] +#[cfg(feature = "use_heap")] pub type Window = Limb; /// Processes `limbs` as a sequence of 5-bit windows, folding the windows from @@ -263,7 +263,7 @@ pub type Window = Limb; /// channels as long as `init` and `fold` are side-channel free. /// /// Panics if `limbs` is empty. -#[cfg(feature = "rsa_signing")] +#[cfg(feature = "use_heap")] pub fn fold_5_bit_windows R, F: Fn(R, Window) -> R>( limbs: &[Limb], init: I, fold: F, ) -> R { @@ -331,7 +331,7 @@ extern "C" { #[cfg(any(test, feature = "use_heap"))] fn LIMBS_are_even(a: *const Limb, num_limbs: c::size_t) -> LimbMask; fn LIMBS_are_zero(a: *const Limb, num_limbs: c::size_t) -> LimbMask; - #[cfg(any(test, feature = "rsa_signing"))] + #[cfg(any(test, feature = "use_heap"))] fn LIMBS_equal_limb(a: *const Limb, b: Limb, num_limbs: c::size_t) -> LimbMask; fn LIMBS_less_than(a: *const Limb, b: *const Limb, num_limbs: c::size_t) -> LimbMask; #[cfg(feature = "use_heap")] @@ -445,7 +445,7 @@ mod tests { } #[test] - #[cfg(feature = "rsa_signing")] + #[cfg(feature = "use_heap")] fn test_limbs_less_than_limb_constant_time() { static LESSER: &[(&[Limb], Limb)] = &[ (&[0], 1), diff --git a/src/rsa.rs b/src/rsa.rs index 97cc325c5..c16284be0 100644 --- a/src/rsa.rs +++ b/src/rsa.rs @@ -24,7 +24,6 @@ use untrusted; mod padding; // `RSA_PKCS1_SHA1` is intentionally not exposed. -#[cfg(feature = "rsa_signing")] pub use self::padding::RSAEncoding; pub use self::padding::{ @@ -36,7 +35,6 @@ pub use self::padding::{ const PUBLIC_KEY_PUBLIC_MODULUS_MAX_LEN: usize = bigint::MODULUS_MAX_LIMBS * limb::LIMB_BYTES; // Keep in sync with the documentation comment for `KeyPair`. -#[cfg(feature = "rsa_signing")] const PRIVATE_KEY_PUBLIC_MODULUS_MAX_BITS: bits::BitLength = bits::BitLength::from_usize_bits(4096); /// Parameters for RSA verification. @@ -76,7 +74,6 @@ pub enum N {} pub mod verification; -#[cfg(feature = "rsa_signing")] pub mod signing; mod bigint; diff --git a/src/rsa/bigint.rs b/src/rsa/bigint.rs index c37e5d94c..24687b582 100644 --- a/src/rsa/bigint.rs +++ b/src/rsa/bigint.rs @@ -42,6 +42,7 @@ use crate::{ arithmetic::montgomery::*, + bssl, bits, c, error, limb::{self, Limb, LimbMask, LIMB_BITS, LIMB_BYTES}, }; @@ -52,9 +53,6 @@ use core::{ }; use untrusted; -#[cfg(feature = "rsa_signing")] -use crate::bssl; - pub unsafe trait Prime {} struct Width { @@ -113,7 +111,6 @@ impl BoxedLimbs { Ok(r) } - #[cfg(feature = "rsa_signing")] fn minimal_width_from_unpadded(limbs: &[Limb]) -> Self { debug_assert_ne!(limbs.last(), Some(&0)); use std::borrow::ToOwned; @@ -232,7 +229,6 @@ impl Modulus { Self::from_boxed_limbs(limbs) } - #[cfg(feature = "rsa_signing")] pub fn from_nonnegative_with_bit_length( n: Nonnegative, ) -> Result<(Self, bits::BitLength), error::KeyRejected> { @@ -305,7 +301,6 @@ impl Modulus { #[inline] fn width(&self) -> Width { self.limbs.width() } - #[cfg(feature = "rsa_signing")] fn zero(&self) -> Elem { Elem { limbs: BoxedLimbs::zero(self.width()), @@ -314,7 +309,6 @@ impl Modulus { } // TODO: Get rid of this - #[cfg(feature = "rsa_signing")] fn one(&self) -> Elem { let mut r = self.zero(); r.limbs[0] = 1; @@ -323,7 +317,6 @@ impl Modulus { pub fn oneRR(&self) -> &One { &self.oneRR } - #[cfg(feature = "rsa_signing")] pub fn to_elem(&self, l: &Modulus) -> Elem where M: SmallerModulus, @@ -438,14 +431,12 @@ impl Elem { limb::big_endian_from_limbs(&self.limbs, out) } - #[cfg(feature = "rsa_signing")] pub fn into_modulus(self) -> Result, error::KeyRejected> { let (m, _bits) = Modulus::from_boxed_limbs(BoxedLimbs::minimal_width_from_unpadded(&self.limbs))?; Ok(m) } - #[cfg(feature = "rsa_signing")] fn is_one(&self) -> bool { limb::limbs_equal_limb_constant_time(&self.limbs, 1) == LimbMask::True } @@ -487,7 +478,6 @@ fn elem_mul_by_2(a: &mut Elem, m: &PartialModulus) { } } -#[cfg(feature = "rsa_signing")] pub fn elem_reduced_once>( a: &Elem, m: &Modulus, ) -> Elem { @@ -503,7 +493,6 @@ pub fn elem_reduced_once>( } } -#[cfg(feature = "rsa_signing")] #[inline] pub fn elem_reduced>( a: &Elem, m: &Modulus, @@ -547,7 +536,6 @@ where } } -#[cfg(feature = "rsa_signing")] pub fn elem_widen>( a: Elem, m: &Modulus, ) -> Elem { @@ -557,7 +545,6 @@ pub fn elem_widen>( } // TODO: Document why this works for all Montgomery factors. -#[cfg(feature = "rsa_signing")] pub fn elem_add(mut a: Elem, b: Elem, m: &Modulus) -> Elem { extern "C" { // `r` and `a` may alias. @@ -578,7 +565,6 @@ pub fn elem_add(mut a: Elem, b: Elem, m: &Modulus) -> Elem< } // TODO: Document why this works for all Montgomery factors. -#[cfg(feature = "rsa_signing")] pub fn elem_sub(mut a: Elem, b: &Elem, m: &Modulus) -> Elem { extern "C" { // `r` and `a` may alias. @@ -766,12 +752,10 @@ fn elem_exp_vartime_(base: Elem, exponent: u64, m: &PartialModulus) // `M` represents the prime modulus for which the exponent is in the interval // [1, `m` - 1). -#[cfg(feature = "rsa_signing")] pub struct PrivateExponent { limbs: BoxedLimbs, } -#[cfg(feature = "rsa_signing")] impl PrivateExponent { pub fn from_be_bytes_padded( input: untrusted::Input, p: &Modulus, @@ -794,7 +778,6 @@ impl PrivateExponent { } } -#[cfg(feature = "rsa_signing")] impl PrivateExponent { // Returns `p - 2`. fn for_flt(p: &Modulus) -> Self { @@ -806,7 +789,7 @@ impl PrivateExponent { } } -#[cfg(all(feature = "rsa_signing", not(target_arch = "x86_64")))] +#[cfg(not(target_arch = "x86_64"))] pub fn elem_exp_consttime( base: Elem, exponent: &PrivateExponent, m: &Modulus, ) -> Result, error::Unspecified> { @@ -886,14 +869,13 @@ pub fn elem_exp_consttime( } /// Uses Fermat's Little Theorem to calculate modular inverse in constant time. -#[cfg(feature = "rsa_signing")] pub fn elem_inverse_consttime( a: Elem, m: &Modulus, ) -> Result, error::Unspecified> { elem_exp_consttime(a, &PrivateExponent::for_flt(&m), m) } -#[cfg(all(feature = "rsa_signing", target_arch = "x86_64"))] +#[cfg(target_arch = "x86_64")] pub fn elem_exp_consttime( base: Elem, exponent: &PrivateExponent, m: &Modulus, ) -> Result, error::Unspecified> { @@ -1072,7 +1054,6 @@ pub fn elem_exp_consttime( } /// Verified a == b**-1 (mod m), i.e. a**-1 == b (mod m). -#[cfg(feature = "rsa_signing")] pub fn verify_inverses_consttime( a: &Elem, b: Elem, m: &Modulus, ) -> Result<(), error::Unspecified> { @@ -1083,8 +1064,6 @@ pub fn verify_inverses_consttime( } } -#[allow(dead_code)] -#[cfg(feature = "use_heap")] #[inline] pub fn elem_verify_equal_consttime( a: &Elem, b: &Elem, @@ -1097,12 +1076,10 @@ pub fn elem_verify_equal_consttime( } /// Nonnegative integers. -#[cfg(feature = "rsa_signing")] pub struct Nonnegative { limbs: Vec, } -#[cfg(feature = "rsa_signing")] impl Nonnegative { pub fn from_be_bytes_with_bit_length( input: untrusted::Input, @@ -1150,7 +1127,6 @@ impl Nonnegative { } // Returns a > b. -#[cfg(feature = "rsa_signing")] fn greater_than(a: &Nonnegative, b: &Nonnegative) -> bool { if a.limbs.len() == b.limbs.len() { limb::limbs_less_than_limbs_vartime(&b.limbs, &a.limbs) @@ -1197,7 +1173,7 @@ fn limbs_mont_mul(r: &mut [Limb], a: &[Limb], m: &[Limb], n0: &N0) { } /// r = a * b -#[cfg(all(feature = "rsa_signing", not(target_arch = "x86_64")))] +#[cfg(not(target_arch = "x86_64"))] fn limbs_mont_product(r: &mut [Limb], a: &[Limb], b: &[Limb], m: &[Limb], n0: &N0) { debug_assert_eq!(r.len(), m.len()); debug_assert_eq!(a.len(), m.len()); @@ -1245,7 +1221,6 @@ mod tests { // Type-level representation of an arbitrary modulus. struct M {} - #[cfg(feature = "rsa_signing")] #[test] fn test_elem_exp_consttime() { test::from_file( @@ -1332,7 +1307,6 @@ mod tests { ) } - #[cfg(feature = "rsa_signing")] #[test] fn test_elem_reduced() { test::from_file( @@ -1359,7 +1333,6 @@ mod tests { ) } - #[cfg(feature = "rsa_signing")] #[test] fn test_elem_reduced_once() { test::from_file( @@ -1392,7 +1365,6 @@ mod tests { Elem::from_be_bytes_padded(untrusted::Input::from(&value), m).unwrap() } - #[cfg(feature = "rsa_signing")] fn consume_elem_unchecked( test_case: &mut test::TestCase, name: &str, num_limbs: usize, ) -> Elem { @@ -1420,7 +1392,6 @@ mod tests { PublicExponent::from_be_bytes(untrusted::Input::from(&bytes), 3).unwrap() } - #[cfg(feature = "rsa_signing")] fn consume_nonnegative(test_case: &mut test::TestCase, name: &str) -> Nonnegative { let bytes = test_case.consume_bytes(name); let (r, _r_bits) = diff --git a/src/rsa/padding.rs b/src/rsa/padding.rs index d3d81ebf6..511613ea8 100644 --- a/src/rsa/padding.rs +++ b/src/rsa/padding.rs @@ -16,7 +16,7 @@ use super::PUBLIC_KEY_PUBLIC_MODULUS_MAX_LEN; use crate::{bits, der, digest, error, polyfill}; use untrusted; -#[cfg(feature = "rsa_signing")] +#[cfg(feature = "use_heap")] use crate::rand; /// Common features of both RSA padding encoding and RSA padding verification. @@ -29,7 +29,7 @@ pub trait RSAPadding: 'static + Sync + crate::private::Sealed { /// An RSA signature encoding as described in [RFC 3447 Section 8]. /// /// [RFC 3447 Section 8]: https://tools.ietf.org/html/rfc3447#section-8 -#[cfg(feature = "rsa_signing")] +#[cfg(feature = "use_heap")] pub trait RSAEncoding: RSAPadding { #[doc(hidden)] fn encode( @@ -65,7 +65,7 @@ impl RSAPadding for PKCS1 { fn digest_alg(&self) -> &'static digest::Algorithm { self.digest_alg } } -#[cfg(feature = "rsa_signing")] +#[cfg(feature = "use_heap")] impl RSAEncoding for PKCS1 { fn encode( &self, m_hash: &digest::Digest, m_out: &mut [u8], _mod_bits: bits::BitLength, @@ -121,7 +121,6 @@ macro_rules! rsa_pkcs1_padding { ( $PADDING_ALGORITHM:ident, $digest_alg:expr, $digestinfo_prefix:expr, $doc_str:expr ) => { #[doc=$doc_str] - /// Feature: `rsa_signing`. pub static $PADDING_ALGORITHM: PKCS1 = PKCS1 { digest_alg: $digest_alg, digestinfo_prefix: $digestinfo_prefix, @@ -207,7 +206,6 @@ pub struct PSS { impl crate::private::Sealed for PSS {} -#[cfg(feature = "rsa_signing")] // Maximum supported length of the salt in bytes. // In practice, this is constrained by the maximum digest length. const MAX_SALT_LEN: usize = digest::MAX_OUTPUT_LEN; @@ -216,7 +214,6 @@ impl RSAPadding for PSS { fn digest_alg(&self) -> &'static digest::Algorithm { self.digest_alg } } -#[cfg(feature = "rsa_signing")] impl RSAEncoding for PSS { // Implement padding procedure per EMSA-PSS, // https://tools.ietf.org/html/rfc3447#section-9.1. @@ -377,7 +374,7 @@ impl RSAVerification for PSS { } struct PSSMetrics { - #[cfg_attr(not(feature = "rsa_signing"), allow(dead_code))] + #[cfg_attr(not(feature = "use_heap"), allow(dead_code))] em_len: usize, db_len: usize, ps_len: usize, @@ -463,7 +460,6 @@ fn pss_digest( macro_rules! rsa_pss_padding { ( $PADDING_ALGORITHM:ident, $digest_alg:expr, $doc_str:expr ) => { #[doc=$doc_str] - /// Feature: `rsa_signing`. pub static $PADDING_ALGORITHM: PSS = PSS { digest_alg: $digest_alg, }; @@ -533,7 +529,7 @@ mod test { } // Tests PSS encoding for various public modulus lengths. - #[cfg(feature = "rsa_signing")] + #[cfg(feature = "use_heap")] #[test] fn test_pss_padding_encode() { test::from_file("src/rsa/rsa_pss_padding_tests.txt", |section, test_case| { diff --git a/src/rsa/signing.rs b/src/rsa/signing.rs index 6238a19b8..447d9b2ae 100644 --- a/src/rsa/signing.rs +++ b/src/rsa/signing.rs @@ -26,7 +26,7 @@ use crate::{ use std; use untrusted; -/// An RSA key pair, used for signing. Feature: `rsa_signing`. +/// An RSA key pair, used for signing. /// /// After constructing an `RSAKeyPair`, construct one or more /// `RSASigningState`s that reference the `RSAKeyPair` and use @@ -458,7 +458,7 @@ unsafe impl bigint::SlightlySmallerModulus

for Q {} unsafe impl bigint::SmallerModulus for Q {} unsafe impl bigint::NotMuchSmallerModulus for Q {} -/// State used for RSA Signing. Feature: `rsa_signing`. +/// State used for RSA Signing. // // TODO: Remove this; it's not needed if we don't have RSA blinding. pub struct SigningState { diff --git a/src/rsa/verification.rs b/src/rsa/verification.rs index a3790e2fe..81dc68b1f 100644 --- a/src/rsa/verification.rs +++ b/src/rsa/verification.rs @@ -78,7 +78,7 @@ impl Key { /// Returns the length in bytes of the modulus. /// /// A signature has the same length as the public modulus. - #[cfg(feature = "rsa_signing")] + #[cfg(feature = "use_heap")] pub fn modulus_len(&self) -> usize { self.n_bits.as_usize_bytes_rounded_up() } } diff --git a/src/signature.rs b/src/signature.rs index f69f9e8dc..9c7d1dacb 100644 --- a/src/signature.rs +++ b/src/signature.rs @@ -166,9 +166,6 @@ //! //! ## Signing and verifying with RSA (PKCS#1 1.5 padding) //! -//! RSA signing (but not verification) requires the `rsa_signing` feature to -//! be enabled. -//! //! By default OpenSSL writes RSA public keys in SubjectPublicKeyInfo format, //! not RSAPublicKey format, and Base64-encodes them (“PEM” format). //! @@ -198,7 +195,7 @@ //! ``` //! use ring::{rand, signature}; //! -//! # #[cfg(all(feature = "rsa_signing", feature = "use_heap"))] +//! # #[cfg(feature = "use_heap")] //! fn sign_and_verify_rsa(private_key_path: &std::path::Path, //! public_key_path: &std::path::Path) //! -> Result<(), MyError> { @@ -237,14 +234,14 @@ //! //! #[derive(Debug)] //! enum MyError { -//! # #[cfg(all(feature = "rsa_signing", feature = "use_heap"))] +//! # #[cfg(feature = "use_heap")] //! IO(std::io::Error), //! BadPrivateKey, //! OOM, //! BadSignature, //! } //! -//! # #[cfg(all(feature = "rsa_signing", feature = "use_heap"))] +//! # #[cfg(feature = "use_heap")] //! fn read_file(path: &std::path::Path) -> Result, MyError> { //! use std::io::Read; //! @@ -254,7 +251,7 @@ //! Ok(contents) //! } //! # -//! # #[cfg(not(all(feature = "rsa_signing", feature = "use_heap")))] +//! # #[cfg(not(feature = "use_heap"))] //! # fn sign_and_verify_rsa(_private_key_path: &std::path::Path, //! # _public_key_path: &std::path::Path) //! # -> Result<(), ()> { @@ -299,10 +296,10 @@ pub use crate::ec::curve25519::ed25519::signing::{ KeyPair as Ed25519KeyPair, PKCS8_V2_LEN as ED25519_PKCS8_V2_LEN, }; -#[cfg(all(feature = "rsa_signing", feature = "use_heap"))] +#[cfg(feature = "use_heap")] pub use crate::rsa::signing::{KeyPair as RSAKeyPair, SigningState as RSASigningState}; -#[cfg(all(feature = "rsa_signing", feature = "use_heap"))] +#[cfg(feature = "use_heap")] pub use crate::rsa::{ RSAEncoding, diff --git a/tests/rsa_tests.rs b/tests/rsa_tests.rs index 66a9d5f3b..b3df2e8f5 100644 --- a/tests/rsa_tests.rs +++ b/tests/rsa_tests.rs @@ -32,12 +32,9 @@ )] #[cfg(feature = "use_heap")] -use ring::{der, error, signature, test}; +use ring::{der, error, rand, signature, test}; -#[cfg(feature = "rsa_signing")] -use ring::rand; - -#[cfg(feature = "rsa_signing")] +#[cfg(feature = "use_heap")] #[test] fn rsa_from_pkcs8_test() { test::from_file("tests/rsa_from_pkcs8_tests.txt", |section, test_case| { @@ -61,7 +58,7 @@ fn rsa_from_pkcs8_test() { }); } -#[cfg(feature = "rsa_signing")] +#[cfg(feature = "use_heap")] #[test] fn test_signature_rsa_pkcs1_sign() { let rng = rand::SystemRandom::new(); @@ -102,7 +99,7 @@ fn test_signature_rsa_pkcs1_sign() { }); } -#[cfg(feature = "rsa_signing")] +#[cfg(feature = "use_heap")] #[test] fn test_signature_rsa_pss_sign() { test::from_file("tests/rsa_pss_sign_tests.txt", |section, test_case| { @@ -139,7 +136,7 @@ fn test_signature_rsa_pss_sign() { }); } -#[cfg(feature = "rsa_signing")] +#[cfg(feature = "use_heap")] #[test] fn test_rsa_key_pair_traits() { test::compile_time_assert_send::();