s3cmd suddenly stopped working, giving warnings like WARNING: Retrying failed request: /?delimiter=/ (hostname '<bucketname>.s3.amazonaws.com' doesn't match either of '*.s3.amazonaws.com', 's3.amazonaws.com') WARNING: Waiting 3 sec... which invariably results in Problem: S3RequestError: Request failed for: /?delimiter=/ S3cmd: 1.0.1 Traceback (most recent call last): File "/usr/bin/s3cmd", line 2006, in <module> main() File "/usr/bin/s3cmd", line 1950, in main cmd_func(args) File "/usr/bin/s3cmd", line 125, in cmd_ls subcmd_bucket_list(s3, uri) File "/usr/bin/s3cmd", line 155, in subcmd_bucket_list response = s3.bucket_list(bucket, prefix = prefix) File "/usr/lib64/python2.7/site-packages/S3/S3.py", line 186, in bucket_list response = self.bucket_list_noparse(bucket, prefix, recursive, uri_params) File "/usr/lib64/python2.7/site-packages/S3/S3.py", line 210, in bucket_list_noparse response = self.send_request(request) File "/usr/lib64/python2.7/site-packages/S3/S3.py", line 487, in send_request return self.send_request(request, body, retries - 1) File "/usr/lib64/python2.7/site-packages/S3/S3.py", line 487, in send_request return self.send_request(request, body, retries - 1) File "/usr/lib64/python2.7/site-packages/S3/S3.py", line 487, in send_request return self.send_request(request, body, retries - 1) File "/usr/lib64/python2.7/site-packages/S3/S3.py", line 487, in send_request return self.send_request(request, body, retries - 1) File "/usr/lib64/python2.7/site-packages/S3/S3.py", line 487, in send_request return self.send_request(request, body, retries - 1) File "/usr/lib64/python2.7/site-packages/S3/S3.py", line 489, in send_request raise S3RequestError("Request failed for: %s" % resource['uri']) S3RequestError: Request failed for: /?delimiter=/ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! An unexpected error has occurred. Please report the above lines to: s3tools-bugs@lists.sourceforge.net !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! i *think* this was triggered by upgrading dev-lang/python-2.7.7 to dev-lang/python-2.7.9-r1, which i did the night before. unfortunately, can'd downgrade to test this theory because 2.7.7 is not any longer in portage.
$ emerge --info Portage 2.2.14 (python 3.3.5-final-0, hardened/linux/amd64/no-multilib, gcc-4.8.3, glibc-2.19-r1, 3.14.27-hardened-r1-ns x86_64) ================================================================= System uname: Linux-3.14.27-hardened-r1-ns-x86_64-Intel-R-_Core-TM-_i7_CPU_920_@_2.67GHz-with-gentoo-2.2 KiB Mem: 12298392 total, 2894004 free KiB Swap: 6289400 total, 6277256 free Timestamp of tree: Thu, 12 Feb 2015 04:15:01 +0000 ld GNU ld (Gentoo 2.24 p1.4) 2.24 app-shells/bash: 4.2_p53 dev-lang/perl: 5.20.1-r4 dev-lang/python: 2.7.9-r1, 3.3.5-r1, 3.4.1 dev-util/cmake: 2.8.12.2-r1 dev-util/pkgconfig: 0.28-r1 sys-apps/baselayout: 2.2 sys-apps/openrc: 0.13.9 sys-apps/sandbox: 2.6-r1 sys-devel/autoconf: 2.69 sys-devel/automake: 1.12.6, 1.13.4 sys-devel/binutils: 2.24-r3 sys-devel/gcc: 4.7.3-r1, 4.8.3 sys-devel/gcc-config: 1.7.3 sys-devel/libtool: 2.4.4 sys-devel/make: 4.0-r1 sys-kernel/linux-headers: 3.13 (virtual/os-headers) sys-libs/glibc: 2.19-r1 Repositories: gentoo ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="*" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=native -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt /var/bind" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-march=native -O2 -pipe" DISTDIR="/usr/portage/distfiles" EMERGE_DEFAULT_OPTS="--jobs 4 --load-average 8 --keep-going --ask-enter-invalid" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs clean-logs collision-protect config-protect-if-modified distlocks downgrade-backup ebuild-locks fail-clean fixlafiles merge-sync news parallel-fetch parallel-install preserve-libs protect-owned sandbox sfperms split-elog split-log strict suidctl unknown-features-warn unmerge-backup unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://gentoo.mneisen.org/ http://mirror.opteamax.de/gentoo/ http://ftp-stud.hs-esslingen.de/pub/Mirrors/gentoo/" LANG="en_US.utf8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j 5 -l 6" 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" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.de.gentoo.org/gentoo-portage" USE="acl amd64 bash-completion berkdb bzip2 cli cracklib crypt cxx gdbm hardened iconv justify libav mmx modules ncurses nls nptl openmp pam pax_kernel pcre readline session sse sse2 sse3 sse4 sse4_1 ssl tty-helpers unicode urandom vim-syntax xattr xtpax 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" APACHE2_MPMS="event" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="pc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-3" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3" RUBY_TARGETS="ruby19 ruby20" USERLAND="GNU" VIDEO_CARDS="fbdev glint intel mach64 mga nouveau nv r128 radeon savage sis tdfx trident vesa via vmware dummy v4l" 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: CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
i've contacted upstream and they confirmed that this bug is triggered by python 2.7.9: ============================================================================ Python 2.7.9 added SSL certificate validation finally. This breaks all apps that historically didn't want SSL certificate validation. AWS S3 uses wildcard certs, which explicitly don't work with SSL validation ( bucket.example.com.s3.amazonaws.com doesn't match *.s3.amazonaws.com wildcard cert, per RFCs). So it's not a bug in Python (except that it adds a feature that apps weren't ready for). Hence s3cmd 1.5.2 that correctly handles this case, allowing the *.s3.amazonaws.com wildcard cert to be accepted. ============================================================================ my bucket does indeed contain a dot in its name. i can also confirm that net-misc/s3cmd-1.5.2-r1 works fine. perhaps it's time to stabilize it?
(In reply to Nick Soveiko from comment #2) > my bucket does indeed contain a dot in its name. i can also confirm that > net-misc/s3cmd-1.5.2-r1 works fine. perhaps it's time to stabilize it? See https://bugs.gentoo.org/show_bug.cgi?id=543266#c5 On a different note this package needs a new maintainer. Would Nick Soveiko like to proxy maintain it? *s3cmd-1.5.2-r1 (31 Mar 2015) just over a week. ping me when the 30 days is up. You can make a stable request now in preparation and I can just CC arches. The this version can be purged and this bug closed.
Version 1.6.1 is now stable in the tree. See bug 576828 This is now resolved.