Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 632454

Summary: dev-ruby/httpclient-2.8.3 fails test test_verification_without_httpclient(TestSSL)
Product: Gentoo Linux Reporter: Jonathan Lovelace <kingjon3377>
Component: Current packagesAssignee: Gentoo Ruby Team <ruby>
Status: RESOLVED FIXED    
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: build log showing failing test

Description Jonathan Lovelace 2017-09-29 23:13:03 UTC
Created attachment 497134 [details]
build log showing failing test

dev-ruby/httpclient, both versions 2.8.2.4 and version 2.8.3, fail one test in their test phase. After untangling the stack trace from the rest of the test-phase output, it looks like it is as follows:

TODO: it does not pass with Java 7 or old openssl  [test_use_higher_TLS(TestSSL)]
/var/tmp/portage/dev-ruby/httpclient-2.8.3/work/ruby22/httpclient-2.8.3/test/test_ssl.rb:267:in `test_use_higher_TLS'
Failure: <false> is not true.
test_verification_without_httpclient(TestSSL)
/var/tmp/portage/dev-ruby/httpclient-2.8.3/work/ruby22/httpclient-2.8.3/test/test_ssl.rb:90:in `test_verification_without_httpclient'
     87:     cert = ::OpenSSL::X509::Certificate.new(raw_cert)
     88:     store = ::OpenSSL::X509::Store.new
     89:     store.add_cert(ca_cert)
  => 90:     assert(store.verify(cert))
     91:   end
     92:
     93:   def test_verification

Version 2.8.2.4 passed its tests and installed successfully as recently as May 27, but now fails as Portage wants to rebuild it due to the removal of the ruby21 USE flag. I noted that dev-libs/openssl had been upgraded since then, but I tried downgrading it to version 1.0.2k, which was the version installed at the time I last successfully built dev-ruby/httpclient, and reran the httpclient build, and the test still failed.

emerge --info:
Portage 2.3.8 (python 3.4.5-final-0, hardened/linux/amd64, gcc-5.4.0, glibc-2.23-r4, 4.8.17-hardened-r2 x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-4.8.17-hardened-r2-x86_64-Intel-R-_Core-TM-_i5-2400_CPU_@_3.10GHz-with-gentoo-2.3
KiB Mem:     8067228 total,   1503216 free
KiB Swap:   13029364 total,  13029148 free
Timestamp of repository gentoo: Fri, 29 Sep 2017 00:45:01 +0000
Head commit of repository gentoo: b1c49613948ec9cf4af186bdf16630945ce7c5af
Head commit of repository eclipse: 80b6b0802f9f65864a7064d7e0812154720423f4

sh bash 4.3_p48-r1
ld GNU ld (Gentoo 2.28.1 p1.0) 2.28.1
distcc 3.2rc1 x86_64-pc-linux-gnu [disabled]
app-shells/bash:          4.3_p48-r1::gentoo
dev-java/java-config:     2.2.0-r3::gentoo
dev-lang/perl:            5.24.1-r2::gentoo
dev-lang/python:          2.7.12::gentoo, 3.4.5::gentoo
dev-util/cmake:           3.7.2::gentoo
dev-util/pkgconfig:       0.28-r2::gentoo
sys-apps/baselayout:      2.3::gentoo
sys-apps/openrc:          0.28::gentoo
sys-apps/sandbox:         2.10-r3::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69::gentoo
sys-devel/automake:       1.11.6-r2::gentoo, 1.15-r1::gentoo
sys-devel/binutils:       2.28.1::gentoo
sys-devel/gcc:            5.4.0-r3::gentoo
sys-devel/gcc-config:     1.7.3::gentoo
sys-devel/libtool:        2.4.6-r3::gentoo
sys-devel/make:           4.2.1::gentoo
sys-kernel/linux-headers: 4.4::gentoo (virtual/os-headers)
sys-libs/glibc:           2.23-r4::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://myrriddium.local/gentoo-portage
    priority: -1000

eclipse
    location: /var/lib/layman/eclipse-overlay
    sync-type: git
    sync-uri: git://github.com/gentoo/eclipse-overlay.git
    masters: gentoo

localoverlay
    location: /usr/local/portage
    masters: gentoo lovelace eclipse
    priority: 0

dlang
    location: /var/lib/layman/dlang
    sync-type: laymansync
    sync-uri: git://github.com/gentoo/dlang.git
    masters: gentoo
    priority: 50

lovelace
    location: /var/lib/layman/lovelace
    sync-type: laymansync
    sync-uri: git://github.com/kingjon3377/lovelace-overlay.git
    masters: gentoo
    priority: 50

octopus
    location: /var/lib/layman/octopus
    sync-type: laymansync
    sync-uri: git://github.com/Bfgeshka/octopus.git
    masters: gentoo
    priority: 50

science
    location: /var/lib/layman/science
    sync-type: laymansync
    sync-uri: git://anongit.gentoo.org/proj/sci.git
    masters: gentoo
    priority: 50

steam-overlay
    location: /var/lib/layman/steam-overlay
    sync-type: laymansync
    sync-uri: git://github.com/anyc/steam-overlay.git
    masters: gentoo
    priority: 50

Installed sets: @archivers, @backup-options, @classes, @devel, @dicts, @doc-conv, @docs, @emulation, @fonts, @kernels, @looked-interesting, @maintenance, @ocr, @office, @sp-devel
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=core2 -mtune=generic -fno-unwind-tables -fno-asynchronous-unwind-tables -fomit-frame-pointer"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/maven-bin-3.1/conf /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -pipe -march=core2 -mtune=generic -fno-unwind-tables -fno-asynchronous-unwind-tables -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--with-bdeps y --autounmask-keep-masks --verbose-conflicts"
FCFLAGS="-O2 -pipe -march=core2 -mtune=generic -fno-unwind-tables -fno-asynchronous-unwind-tables -fomit-frame-pointer"
FEATURES="assume-digests binpkg-logs candy collision-protect config-protect-if-modified distlocks ebuild-locks fakeroot fixlafiles merge-sync multilib-strict news parallel-fetch parallel-install preserve-libs protect-owned sandbox sfperms strict test unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync webrsync-gpg xattr"
FFLAGS="-O2 -pipe -march=core2 -mtune=generic -fno-unwind-tables -fno-asynchronous-unwind-tables -fomit-frame-pointer"
GENTOO_MIRRORS="http://lug.mtu.edu/gentoo/ http://gentoo.osuosl.org/ http://gentoo.cites.uiuc.edu/pub/gentoo/ http://distfiles.gentoo.org"
LANG="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j3 -l5"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="acpi alsa amd64 bash-completion berkdb bzip2 cddb cli cracklib crypt cxx dri gdbm gnat_2017 hardened iconv ipv6 java java5 java6 jpeg justify libnotify libsecret lm_sensors mmx mmxext modules multilib ncurses nls nptl ogg openmp pam pax_kernel pcre pic pie png readline seccomp session sse sse2 sse3 sse4_1 sse4_2 ssl ssp ssse3 startup-notification tcpd theora truetype unicode urandom vorbis xattr xcomposite xdg xft xtpax xvmc zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="sheets words plan kexi braindump flow" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="evdev libinput" KERNEL="linux" L10N="en en_US en-US" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="pdfimport" LINGUAS="en en_US" NETBEANS_MODULES="harness ide java nb javafx profile" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6" POSTGRES_TARGETS="postgres9_5" PYTHON_SINGLE_TARGET="python3_4" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby22" USERLAND="GNU" VIDEO_CARDS="intel fbdev i915" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

=================================================================
                        Package Settings
=================================================================

dev-ruby/httpclient-2.8.2.4::gentoo was built with the following:
USE="test -doc" ABI_X86="(64)" RUBY_TARGETS="ruby21 ruby22 (-ruby23)"


dev-libs/openssl-1.0.2l::gentoo was built with the following:
USE="asm sslv3 test tls-heartbeat zlib -bindist -gmp -kerberos -rfc3779 -sctp -sslv2 -static-libs -vanilla" ABI_X86="(64) -32 (-x32)" CPU_FLAGS_X86="(sse2)"
CFLAGS="-O2 -pipe -march=core2 -mtune=generic -fno-unwind-tables -fno-asynchronous-unwind-tables -fomit-frame-pointer -fno-strict-aliasing -Wa,--noexecstack"
CXXFLAGS="-O2 -pipe -march=core2 -mtune=generic -fno-unwind-tables -fno-asynchronous-unwind-tables -fomit-frame-pointer -fno-strict-aliasing -Wa,--noexecstack"
Comment 1 Hans de Graaff gentoo-dev Security 2017-10-01 06:36:17 UTC
Confirmed. It has a hardcoded certificate in the source code that is expired:

    Signature Algorithm: sha256WithRSAEncryption
        Issuer: DC=org, DC=ruby-lang, CN=Ruby CA
        Validity
            Not Before: Aug 10 17:21:34 2016 GMT
            Not After : Aug 10 17:21:34 2017 GMT

The test is now skipped. Thanks for the report.