diff -Nru apt-cacher-ng-0.8.9/ChangeLog apt-cacher-ng-0.9.1/ChangeLog --- apt-cacher-ng-0.8.9/ChangeLog 2016-01-21 14:31:34.000000000 -0500 +++ apt-cacher-ng-0.9.1/ChangeLog 2016-02-28 11:19:20.000000000 -0500 @@ -1,3 +1,27 @@ +apt-cacher-ng (0.9.1) THE-DARK-NIGHT; urgency=low + + * FIX: correct human error message printing with recent glibc + * FIX: corrected linking on systems that need additional libraries to be + linked manually for socket IO while libwrap was not available + * More file pattern changes for Ubuntu's do-release-upgrade tool + * Better processing of filename sets in the "deletion" wizard (compressed + parameter exchange for longer lists) + * Database update + + -- Eduard Bloch Sun, 28 Feb 2016 17:17:43 +0100 + +apt-cacher-ng (0.9.0) MAXIMUM-OVERDRIVE; urgency=low + + * FIX: Ubuntu Installer's ReleaseNotes fetching was interpreted incorrectly + forced redirection of ISP to its auth page. Now keeping the target page + in doubt, just making sure it's reloaded next time. + * More volatile regexp's to cover requests from Ubuntu Installer, including + the link that it uses to examine state of the network connection + * FIX: Replaced "unofficial" uint type with unsigned (should resolve build + problems under FreeBSDs) + + -- Eduard Bloch Mon, 01 Feb 2016 19:48:10 +0100 + apt-cacher-ng (0.8.9) VOID-WHICH-BINDS; urgency=high * FIX: acngtool shall not use proxy in the maint job diff -Nru apt-cacher-ng-0.8.9/CMakeLists.txt apt-cacher-ng-0.9.1/CMakeLists.txt --- apt-cacher-ng-0.8.9/CMakeLists.txt 2016-01-21 14:31:34.000000000 -0500 +++ apt-cacher-ng-0.9.1/CMakeLists.txt 2016-02-28 11:19:20.000000000 -0500 @@ -167,7 +167,7 @@ FILE(READ test/build/HAVE_LIBWRAP.cc TESTSRC) CHECK_CXX_SOURCE_COMPILES("${TESTSRC}" HAVE_LIBWRAP) IF(HAVE_LIBWRAP) - set(ServerLibs ${CMAKE_REQUIRED_LIBRARIES}) + LIST(APPEND ServerLibs wrap) ELSE(HAVE_LIBWRAP) MESSAGE("!! libwrap development files not usable, disabling support") SET(HAVE_LIBWRAP) @@ -298,7 +298,7 @@ if(tomcrypt_FOUND) set(HAVE_TOMCRYPT on) # with workaround, http://clang.debian.net/logs/2015-03-25/libtomcrypt_1.17-6_unstable_clang.log - string(REPLACE ";" " " ACNG_CXXFLAGS_COMMON "${ACNG_CXXFLAGS_COMMON} ${tomcrypt_CFLAGS} -DLTC_NO_ROLC") + string(REPLACE ";" " " ACNG_CXXFLAGS_COMMON "${ACNG_CXXFLAGS_COMMON} ${tomcrypt_CFLAGS} -DLTC_NO_ROLC -DLTC_BASE64") string(REPLACE ";" " " SSL_LIB_LIST "${tomcrypt_LDFLAGS}") else() set(HAVE_TOMCRYPT off) Binary files /tmp/cOyT725bFR/apt-cacher-ng-0.8.9/conf/deb_mirrors.gz and /tmp/5_RHlkMPcg/apt-cacher-ng-0.9.1/conf/deb_mirrors.gz differ diff -Nru apt-cacher-ng-0.8.9/conf/delconfirm.html apt-cacher-ng-0.9.1/conf/delconfirm.html --- apt-cacher-ng-0.8.9/conf/delconfirm.html 2016-01-21 14:31:34.000000000 -0500 +++ apt-cacher-ng-0.9.1/conf/delconfirm.html 2016-02-28 11:19:20.000000000 -0500 @@ -10,22 +10,23 @@ - +
Cache file removal${vmode}ing cached files
-
+
+

File overview:

${stuff}
- Do you really wish to remove ${count} file(s) from your cache?

- + Do you really wish to proceed on ${count} file${countNZs} and related metadata? +

+

- Deleted ${count} files.

diff -Nru apt-cacher-ng-0.8.9/conf/epel_mirrors apt-cacher-ng-0.9.1/conf/epel_mirrors --- apt-cacher-ng-0.8.9/conf/epel_mirrors 2016-01-21 14:31:34.000000000 -0500 +++ apt-cacher-ng-0.9.1/conf/epel_mirrors 2016-02-28 11:19:20.000000000 -0500 @@ -1,14 +1,16 @@ http://anorien.csc.warwick.ac.uk/mirrors/epel/ -http://archive.linux.duke.edu/pub/epel/ http://buaya.klas.or.id/epel/ http://epel.mirror.net.in/epel/ http://epel.mirrors.ovh.net/epel/ +http://epel.vpsnet.lt/epel/ +http://fedora-epel.mirrors.tds.net/fedora-epel/ http://fedora-mirror01.rbc.ru/pub/epel/ http://fedora.aau.at/epel/ http://fedora.cu.be/epel/ http://fedora.ip-connect.vn.ua/fedora-epel/ http://fedora.is.co.za/epel/ http://fedora.mirror.serversaustralia.com.au/epel/ +http://fedora.mirrors.pair.com/epel/ http://fedora.mirrors.telekom.ro/pub/epel/ http://fedora.skyggnir.is/epel/ http://fedora.uberglobalmirror.com/epel/ @@ -17,45 +19,37 @@ http://fr2.rpmfind.net/linux/epel/ http://ftp-stud.hs-esslingen.de/pub/epel/ http://ftp.acc.umu.se/mirror/fedora/epel/ -http://ftp.cc.uoc.gr/pub/epel/ http://ftp.cica.es/epel/ http://ftp.colocall.net/pub/epel/ http://ftp.crc.dk/fedora-epel/ http://ftp.cuhk.edu.hk/pub/linux/fedora-epel/ http://ftp.fau.de/epel/ -http://ftp.fi.muni.cz/pub/linux/fedora/epel/ http://ftp.icm.edu.pl/pub/Linux/fedora/linux/epel/ http://ftp.iij.ad.jp/pub/linux/fedora/epel/ http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/ http://ftp.kddilabs.jp/Linux/packages/fedora/epel/ -http://ftp.linux.cz/pub/linux/fedora/epel/ http://ftp.linux.ncsu.edu/pub/epel/ http://ftp.linux.org.tr/epel/ http://ftp.lysator.liu.se/pub/epel/ http://ftp.nluug.nl/pub/os/Linux/distr/fedora-epel/ http://ftp.osuosl.org/pub/fedora-epel/ -http://ftp.pbone.net/pub/fedora/epel/ http://ftp.rediris.es/mirror/fedora-epel/ http://ftp.riken.jp/Linux/fedora/epel/ -http://ftp.tsukuba.wide.ad.jp/Linux/fedora/epel/ http://ftp.uni-bayreuth.de/linux/fedora-epel/ http://ftp.uni-stuttgart.de/epel/ http://ftp.uninett.no/linux/epel/ http://ftp.up.pt/fedora-epel/ http://ftp.upjs.sk/pub/mirrors/epel/ http://ftp.wrz.de/pub/fedora-epel/ -http://ftp.yzu.edu.tw/Linux/Fedora-EPEL/ http://kartolo.sby.datautama.net.id/EPEL/ http://kdeforge2.unl.edu/mirrors/epel/ http://linux.mirrors.es.net/fedora-epel/ http://lug.mtu.edu/epel/ +http://mir01.syntis.net/epel/ http://mirror.23media.de/epel/ -http://mirror.ancl.hawaii.edu/linux/epel/ -http://mirror.as24220.net/pub/epel/ http://mirror.awanti.com/epel/ http://mirror.bjtu.edu.cn/fedora-epel/ http://mirror.bytemark.co.uk/fedora/epel/ -http://mirror.cedia.org.ec/fedora-epel/ http://mirror.chpc.utah.edu/pub/epel/ http://mirror.ci.ifes.edu.br/epel/ http://mirror.clarkson.edu/epel/ @@ -70,8 +64,8 @@ http://mirror.duomenucentras.lt/epel/ http://mirror.espoch.edu.ec/fedora-epel/ http://mirror.euserv.net/linux/fedora-epel/ +http://mirror.fraunhofer.de/dl.fedoraproject.org/epel/ http://mirror.globo.com/epel/ -http://mirror.hmc.edu/epel/ http://mirror.hosting90.cz/epel/ http://mirror.i3d.net/pub/fedora-epel/ http://mirror.ibcp.fr/pub/epel/ @@ -80,7 +74,9 @@ http://mirror.karneval.cz/pub/linux/fedora/epel/ http://mirror.kinamo.be/epel/ http://mirror.lagoon.nc/pub/epel/ +http://mirror.liquidtelecom.com/fedora/epel/ http://mirror.logol.ru/epel/ +http://mirror.metrocast.net/fedora/epel/ http://mirror.nexcess.net/epel/ http://mirror.nl.leaseweb.net/epel/ http://mirror.nonstop.co.il/epel/ @@ -90,7 +86,6 @@ http://mirror.oss.ou.edu/epel/ http://mirror.overthewire.com.au/pub/epel/ http://mirror.pmf.kg.ac.rs/fedora/epel/ -http://mirror.pregi.net/pub/Linux/Fedora/epel/ http://mirror.premi.st/epel/ http://mirror.proserve.nl/fedora-epel/ http://mirror.rise.ph/fedora-epel/ @@ -104,16 +99,13 @@ http://mirror.umd.edu/fedora/epel/ http://mirror.unl.edu/epel/ http://mirror.us.leaseweb.net/epel/ -http://mirror.uta.edu.ec/fedora-epel/ http://mirror.utexas.edu/epel/ http://mirror.uv.es/mirror/fedora-epel/ http://mirror.vit.com.tr/mirror/Epel/ http://mirror.vutbr.cz/epel/ http://mirror.wanxp.id/epel/ http://mirror.wbs.co.za/fedora-epel/ -http://mirror.xnet.co.nz/pub/epel/ http://mirror.yandex.ru/epel/ -http://mirror.zol.co.zw/epel/ http://mirror0.babylon.network/epel/ http://mirror01.idc.hinet.net/EPEL/ http://mirror1.babylon.network/epel/ @@ -133,18 +125,15 @@ http://mirrors.nic.cz/epel/ http://mirrors.opencas.cn/epel/ http://mirrors.rit.edu/fedora/epel/ -http://mirrors.sohu.com/fedora-epel/ http://mirrors.syringanetworks.net/fedora-epel/ http://mirrors.telianet.dk/epel/ http://mirrors.thzhost.com/epel/ http://mirrors.tummy.com/pub/fedora.redhat.com/epel/ http://mirrors.ukfast.co.uk/sites/dl.fedoraproject.org/pub/epel/ http://mirrors.uni-ruse.bg/epel/ -http://mirrors.ustc.edu.cn/fedora/epel/ http://mirrors.yun-idc.com/epel/ http://reflector.westga.edu/repos/Fedora-EPEL/ http://repo.boun.edu.tr/epel/ -http://repo.fedora.md/mirrors/epel/ http://vesta.informatik.rwth-aachen.de/ftp/pub/Linux/fedora-epel/ http://www.fedora.is/fedora/epel/ http://www.mirrorservice.org/sites/dl.fedoraproject.org/pub/epel/ diff -Nru apt-cacher-ng-0.8.9/conf/fedora_mirrors apt-cacher-ng-0.9.1/conf/fedora_mirrors --- apt-cacher-ng-0.8.9/conf/fedora_mirrors 2016-01-21 14:31:34.000000000 -0500 +++ apt-cacher-ng-0.9.1/conf/fedora_mirrors 2016-02-28 11:19:20.000000000 -0500 @@ -13,14 +13,12 @@ http://fedora.is.co.za/linux/ http://fedora.linux.ee/pub/fedora/linux/ http://fedora.linuxman.biz/linux/ -http://fedora.mirror.ac.za/linux/ http://fedora.mirror.constant.com/linux/ http://fedora.mirror.digitalpacific.com.au/linux/ http://fedora.mirror.garr.it/mirrors/fedora/linux/ http://fedora.mirror.root.lu/ http://fedora.mirrors.ovh.net/linux/ http://fedora.mirrors.pair.com/linux/ -http://fedora.mirrors.tds.net/pub/fedora/ http://fedora.mirrors.telekom.ro/pub/fedora/linux/ http://fedora.osuosl.org/linux/ http://fedora.tu-chemnitz.de/pub/linux/fedora/linux/ @@ -85,9 +83,9 @@ http://mirror.as24220.net/pub/fedora/linux/ http://mirror.bytemark.co.uk/fedora/epel/ http://mirror.bytemark.co.uk/fedora/linux/ -http://mirror.bytemark.co.uk/fedora/linux/development/23/armhfp/os/ -http://mirror.bytemark.co.uk/fedora/linux/development/23/i386/os/ -http://mirror.bytemark.co.uk/fedora/linux/development/23/x86_64/os/ +http://mirror.bytemark.co.uk/fedora/linux/development/24/Everything/armhfp/os/ +http://mirror.bytemark.co.uk/fedora/linux/development/24/Everything/i386/os/ +http://mirror.bytemark.co.uk/fedora/linux/development/24/Everything/x86_64/os/ http://mirror.cc.vt.edu/pub/fedora/linux/ http://mirror.cedia.org.ec/fedora/ http://mirror.chpc.utah.edu/pub/fedora/linux/ @@ -133,9 +131,9 @@ http://mirror.squ.edu.om/fedora/linux/ http://mirror.steadfast.net/epel/ http://mirror.steadfast.net/fedora/ -http://mirror.steadfast.net/fedora/development/23/armhfp/os/ -http://mirror.steadfast.net/fedora/development/23/i386/os/ -http://mirror.steadfast.net/fedora/development/23/x86_64/os/ +http://mirror.steadfast.net/fedora/development/24/Everything/armhfp/os/ +http://mirror.steadfast.net/fedora/development/24/Everything/i386/os/ +http://mirror.steadfast.net/fedora/development/24/Everything/x86_64/os/ http://mirror.switch.ch/ftp/mirror/fedora/linux/ http://mirror.symnds.com/distributions/fedora/ http://mirror.t-home.mk/fedora/linux/ @@ -143,7 +141,6 @@ http://mirror.unl.edu/fedora/linux/ http://mirror.uoregon.edu/fedora/linux/ http://mirror.us.leaseweb.net/fedora/linux/ -http://mirror.uta.edu.ec/fedora/ http://mirror.utexas.edu/fedora/linux/ http://mirror.uv.es/mirror/fedora/linux/ http://mirror.vorboss.net/fedora/linux/ @@ -162,18 +159,15 @@ http://mirrors.nic.cz/fedora/linux/ http://mirrors.ptd.net/fedora/linux/ http://mirrors.rit.edu/fedora/fedora/linux/ -http://mirrors.syringanetworks.net/fedora/ http://mirrors.tummy.com/pub/fedora.redhat.com/fedora/linux/ http://mirrors.uni-ruse.bg/fedora/linux/ http://mirrors.ustc.edu.cn/fedora/linux/ http://mirrors.xmission.com/fedora/linux/ http://opensource.nchc.org.tw/fedora/linux/ http://repo.atlantic.net/fedora/linux/ -http://repo.fedora.md/fedora/linux/ http://ucmirror.canterbury.ac.nz/linux/fedora/linux/ http://vesta.informatik.rwth-aachen.de/ftp/pub/Linux/fedora/linux/ http://www.ftp.saix.net/linux/distributions/fedora/linux/ -http://www.gtlib.gatech.edu/pub/fedora.redhat/linux/ http://www.las.ic.unicamp.br/pub/fedora/linux/ http://www.mirrorservice.org/sites/dl.fedoraproject.org/pub/fedora/linux/ http://www.muug.mb.ca/pub/fedora/linux/ Binary files /tmp/cOyT725bFR/apt-cacher-ng-0.8.9/conf/gentoo_mirrors.gz and /tmp/5_RHlkMPcg/apt-cacher-ng-0.9.1/conf/gentoo_mirrors.gz differ diff -Nru apt-cacher-ng-0.8.9/conf/sl_mirrors apt-cacher-ng-0.9.1/conf/sl_mirrors --- apt-cacher-ng-0.8.9/conf/sl_mirrors 2016-01-21 14:31:34.000000000 -0500 +++ apt-cacher-ng-0.9.1/conf/sl_mirrors 2016-02-28 11:19:20.000000000 -0500 @@ -28,6 +28,7 @@ http://mirror.aarnet.edu.au/pub/scientific/ http://mirror.ancl.hawaii.edu/linux/scientific/ http://mirror.cedia.org.ec/scientific/ +http://mirror.crazynetwork.it/scientificlinux/ http://mirror.digmia.com/scientific/ http://mirror.imbg.org.ua/pub/linux/scientific/ http://mirror.karneval.cz/pub/linux/scientific/ @@ -40,6 +41,5 @@ http://mirrors.ircam.fr/pub/scientificlinux/scientific/ http://scientificlinux.physik.uni-muenchen.de/mirror/scientific/ http://wftp.tu-chemnitz.de/pub/linux/scientific/ -http://www.gtlib.gatech.edu/pub/scientific/ http://www.mirrorservice.org/sites/ftp.scientificlinux.org/linux/scientific/ http://www.nic.funet.fi/pub/Linux/INSTALL/scientific/ diff -Nru apt-cacher-ng-0.8.9/conf/ubuntu_mirrors apt-cacher-ng-0.9.1/conf/ubuntu_mirrors --- apt-cacher-ng-0.8.9/conf/ubuntu_mirrors 2016-01-21 14:31:34.000000000 -0500 +++ apt-cacher-ng-0.9.1/conf/ubuntu_mirrors 2016-02-28 11:19:20.000000000 -0500 @@ -102,7 +102,6 @@ http://ftp.arnes.si/pub/mirrors/ubuntu/ http://ftp.astral.ro/mirrors/ubuntu.com/ubuntu/ http://ftp.availo.se/ubuntu/ -http://ftp.belnet.be/ubuntu.com/ubuntu/ http://ftp.byfly.by/ubuntu/ http://ftp.caliu.cat/pub/distribucions/ubuntu/archive/ http://ftp.cc.uoc.gr/mirrors/linux/ubuntu/packages/ @@ -119,7 +118,6 @@ http://ftp.heanet.ie/pub/ubuntu/ http://ftp.hosteurope.de/mirror/archive.ubuntu.com/ http://ftp.icm.edu.pl/pub/Linux/ubuntu/ -http://ftp.iinet.net.au/pub/ubuntu/ http://ftp.iitm.ac.in/ubuntu/ http://ftp.info.uvt.ro/ubuntu/ http://ftp.jaist.ac.jp/pub/Linux/ubuntu/ @@ -134,9 +132,9 @@ http://ftp.nluug.nl/os/Linux/distr/ubuntu/ http://ftp.nsysu.edu.tw/Ubuntu/ubuntu/ http://ftp.ntou.edu.tw/ubuntu/ +http://ftp.ntua.gr/ubuntu/ http://ftp.oleane.net/ubuntu/ http://ftp.riken.jp/Linux/ubuntu/ -http://ftp.roedu.net/mirrors/ubuntulinux.org/ubuntu/ http://ftp.rrzn.uni-hannover.de/pub/mirror/linux/ubuntu/ http://ftp.rz.tu-bs.de/pub/mirror/ubuntu-packages/ http://ftp.sjtu.edu.cn/ubuntu/ @@ -158,7 +156,6 @@ http://ftp.uni-kl.de/pub/linux/ubuntu/ http://ftp.uni-mainz.de/ubuntu/ http://ftp.uni-stuttgart.de/ubuntu/ -http://ftp.unina.it/pub/linux/distributions/ubuntu/ http://ftp.uninett.no/ubuntu/ http://ftp.usf.edu/pub/ubuntu/ http://ftp.ussg.iu.edu/linux/ubuntu/ @@ -204,11 +201,11 @@ http://ir.archive.ubuntu.com/ubuntu/ http://is.archive.ubuntu.com/ubuntu/ http://it.archive.ubuntu.com/ubuntu/ -http://jaran.undip.ac.id/ubuntu/ http://je.archive.ubuntu.com/ubuntu/ http://jm.archive.ubuntu.com/ubuntu/ http://jo.archive.ubuntu.com/ubuntu/ http://jp.archive.ubuntu.com/ubuntu/ +http://kadignaz.de/ubuntu/ http://kambing.ui.ac.id/ubuntu/ http://kartolo.sby.datautama.net.id/ubuntu/ http://ke.archive.ubuntu.com/ubuntu/ @@ -248,6 +245,7 @@ http://mirror.1000mbps.com/ubuntu/ http://mirror.23media.de/ubuntu/ http://mirror.aarnet.edu.au/pub/ubuntu/archive/ +http://mirror.adminbannok.com/ubuntu/ http://mirror.amsiohosting.net/archive.ubuntu.com/ http://mirror.ancl.hawaii.edu/linux/ubuntu/ http://mirror.aptus.co.tz/pub/ubuntuarchive/ @@ -256,7 +254,6 @@ http://mirror.as29550.net/archive.ubuntu.com/ http://mirror.as43289.net/ubuntu/ http://mirror.atlantic.net/ubuntu/ -http://mirror.bauhuette.fh-aachen.de/ubuntu/ http://mirror.blizoo.mk/ubuntu/ http://mirror.bytemark.co.uk/ubuntu/ http://mirror.cc.columbia.edu/pub/linux/ubuntu/archive/ @@ -264,9 +261,9 @@ http://mirror.cedia.org.ec/ubuntu/ http://mirror.clarkson.edu/ubuntu/ http://mirror.clibre.uqam.ca/ubuntu/ -http://mirror.cloud.id/ubuntu/ http://mirror.cogentco.com/pub/linux/ubuntu/ http://mirror.corbina.net/ubuntu/ +http://mirror.crazynetwork.it/ubuntu/archive/ http://mirror.cs.pitt.edu/ubuntu/archive/ http://mirror.csclub.uwaterloo.ca/ubuntu/ http://mirror.cse.iitk.ac.in/ubuntu/ @@ -275,9 +272,10 @@ http://mirror.de.leaseweb.net/ubuntu/ http://mirror.dhakacom.com/ubuntu-archive/ http://mirror.dhakacom.com/ubuntu/ +http://mirror.digistar.vn/ubuntu/ +http://mirror.earthlink.iq/ubuntu/ http://mirror.easyspeedy.com/ubuntu/ http://mirror.edatel.net.co/ubuntu/ -http://mirror.elcld.com/ubuntu/ http://mirror.espol.edu.ec/ubuntu/ http://mirror.fairway.ne.jp/ubuntu/ http://mirror.globo.com/ubuntu/archive/ @@ -285,6 +283,7 @@ http://mirror.hmc.edu/ubuntu/ http://mirror.htnshost.com/ubuntu/ http://mirror.i3d.net/pub/ubuntu/ +http://mirror.idealhosting.net.tr/ubuntu/ http://mirror.internode.on.net/pub/ubuntu/ubuntu/ http://mirror.iranserver.com/ubuntu/ http://mirror.isoc.org.il/pub/ubuntu/ @@ -301,13 +300,13 @@ http://mirror.mythic-beasts.com/ubuntu/ http://mirror.neolabs.kz/ubuntu/ http://mirror.netcologne.de/ubuntu/ +http://mirror.network32.net/ubuntu/ http://mirror.neu.edu.cn/ubuntu/ http://mirror.nexcess.net/ubuntu/ http://mirror.nforce.com/pub/linux/ubuntu/ http://mirror.ni.net.tr/ubuntu/ http://mirror.nl.leaseweb.net/ubuntu/ http://mirror.nus.edu.sg/ubuntu/ -http://mirror.omadata.com/ubuntu/ http://mirror.one.com/ubuntu/ http://mirror.onet.pl/pub/mirrors/ubuntu/ http://mirror.optus.net/ubuntu/ @@ -322,11 +321,12 @@ http://mirror.premi.st/ubuntu/ http://mirror.rise.ph/ubuntu/ http://mirror.rol.ru/ubuntu/ +http://mirror.scalabledns.com/ubuntu/ http://mirror.soften.ktu.lt/ubuntu/ http://mirror.sov.uk.goscomb.net/ubuntu/ http://mirror.squ.edu.om/ubuntuarchive/ http://mirror.steadfast.net/ubuntu/ -http://mirror.stjschools.org/public/ubuntu-archive/ +http://mirror.stw-aachen.de/ubuntu/ http://mirror.switch.ch/ftp/mirror/ubuntu/ http://mirror.symnds.com/ubuntu/ http://mirror.t-home.mk/ubuntu/ @@ -346,7 +346,6 @@ http://mirror.vorboss.net/ubuntu-archive/ http://mirror.vutbr.cz/ubuntu/archive/ http://mirror.waia.asn.au/ubuntu/ -http://mirror.xnet.co.nz/pub/ubuntu/ http://mirror.yandex.ru/ubuntu/ http://mirror.zetup.net/ubuntu/ http://mirror.zol.co.zw/ubuntu/ @@ -355,7 +354,6 @@ http://mirror2.tuxinator.org/ubuntu/ http://mirrordenver.fdcservers.net/ubuntu/ http://mirrors.accretive-networks.net/ubuntu/ -http://mirrors.acm.jhu.edu/ubuntu/ http://mirrors.advancedhosters.com/ubuntu/ http://mirrors.aliyun.com/ubuntu/ http://mirrors.arpnetworks.com/Ubuntu/ @@ -367,24 +365,25 @@ http://mirrors.cqu.edu.cn/ubuntu/ http://mirrors.dotsrc.org/ubuntu/ http://mirrors.eastera.tj/ubuntu/ +http://mirrors.easynews.com/linux/ubuntu/ http://mirrors.fe.up.pt/ubuntu/ http://mirrors.gigenet.com/ubuntuarchive/ http://mirrors.ircam.fr/pub/ubuntu/archive/ http://mirrors.maine.edu/ubuntu/ http://mirrors.melbourne.co.uk/ubuntu/ http://mirrors.mit.edu/ubuntu/ -http://mirrors.muzzy.it/ubuntu/ http://mirrors.namecheap.com/ubuntu/ http://mirrors.nayatel.com/ubuntu/ -http://mirrors.neterra.net/ubuntu/ http://mirrors.nhanhoa.com/ubuntu/ http://mirrors.nic.funet.fi/ubuntu/ http://mirrors.nl.eu.kernel.org/ubuntu/ +http://mirrors.noction.com/ubuntu/archive/ http://mirrors.ocf.berkeley.edu/ubuntu/ http://mirrors.pidginhost.com/ubuntu/ +http://mirrors.psu.ac.th/ubuntu/ http://mirrors.rit.edu/ubuntu/ http://mirrors.se.eu.kernel.org/ubuntu/ -http://mirrors.sohu.com/ubuntu/ +http://mirrors.skyshe.cn/ubuntu/ http://mirrors.sonic.net/ubuntu/ http://mirrors.syringanetworks.net/ubuntu-archive/ http://mirrors.telianet.dk/ubuntu/ @@ -394,7 +393,6 @@ http://mirrors.usinternet.com/ubuntu/archive/ http://mirrors.ustc.edu.cn/ubuntu/ http://mirrors.xmission.com/ubuntu/ -http://mirrors.yun-idc.com/ubuntu/ http://mk.archive.ubuntu.com/ubuntu/ http://ml.archive.ubuntu.com/ubuntu/ http://mm.archive.ubuntu.com/ubuntu/ @@ -433,6 +431,7 @@ http://ph.archive.ubuntu.com/ubuntu/ http://piotrkosoft.net/pub/mirrors/ubuntu/ http://pk.archive.ubuntu.com/ubuntu/ +http://pkg.adfinis-sygroup.ch/ubuntu/ http://pl.archive.ubuntu.com/ubuntu/ http://pm.archive.ubuntu.com/ubuntu/ http://pn.archive.ubuntu.com/ubuntu/ @@ -483,6 +482,7 @@ http://td.archive.ubuntu.com/ubuntu/ http://tf.archive.ubuntu.com/ubuntu/ http://tg.archive.ubuntu.com/ubuntu/ +http://th.archive.ubuntu.com/ubuntu/ http://tj.archive.ubuntu.com/ubuntu/ http://tk.archive.ubuntu.com/ubuntu/ http://tl.archive.ubuntu.com/ubuntu/ @@ -497,6 +497,7 @@ http://tw.archive.ubuntu.com/ubuntu/ http://tz.archive.ubuntu.com/ubuntu/ http://ua.archive.ubuntu.com/ubuntu/ +http://ubnt-archive.xfree.com.ar/ubuntu/ http://ubuntu-arch.linux.edu.lv/ubuntu/ http://ubuntu-archive.locaweb.com.br/ubuntu/ http://ubuntu-archive.mirror.liquidtelecom.com/ubuntu/ @@ -511,7 +512,6 @@ http://ubuntu.bhs.mirrors.ovh.net/ftp.ubuntu.com/ubuntu/ http://ubuntu.c3sl.ufpr.br/ubuntu/ http://ubuntu.cica.es/ubuntu/ -http://ubuntu.cn99.com/ubuntu/ http://ubuntu.cs.nctu.edu.tw/ubuntu/ http://ubuntu.cs.utah.edu/ubuntu/ http://ubuntu.cybercomhosting.com/ubuntu/ @@ -530,6 +530,7 @@ http://ubuntu.lagis.at/ubuntu/ http://ubuntu.lagoon.nc/ubuntu/ http://ubuntu.laps.ufpa.br/ubuntu/ +http://ubuntu.lionlike.com/ubuntu/ http://ubuntu.localmsp.org/ubuntu/ http://ubuntu.mirror.ac.ke/ubuntu/ http://ubuntu.mirror.cambrium.nl/ubuntu/ @@ -607,8 +608,6 @@ http://www.club.cc.cmu.edu/pub/ubuntu/ http://www.ftp.ne.jp/Linux/packages/ubuntu/archive/ http://www.gtlib.gatech.edu/pub/ubuntu/ -http://www.las.ic.unicamp.br/pub/ubuntu/ -http://www.lug.bu.edu/mirror/ubuntu/ http://www.mirrorservice.org/sites/archive.ubuntu.com/ubuntu/ http://www.nic.funet.fi/pub/mirrors/archive.ubuntu.com/ http://wwwftp.ciril.fr/pub/linux/ubuntu/archives/ diff -Nru apt-cacher-ng-0.8.9/dbgen/sig-debian apt-cacher-ng-0.9.1/dbgen/sig-debian --- apt-cacher-ng-0.8.9/dbgen/sig-debian 2016-01-21 14:31:34.000000000 -0500 +++ apt-cacher-ng-0.9.1/dbgen/sig-debian 2016-02-28 11:19:20.000000000 -0500 @@ -1 +1 @@ -c4184f35105323c9f6106b3cdcb668cb tmp/dsnap +4e381296068164faf08daa995fb0579a tmp/dsnap diff -Nru apt-cacher-ng-0.8.9/dbgen/sig-fsnap apt-cacher-ng-0.9.1/dbgen/sig-fsnap --- apt-cacher-ng-0.8.9/dbgen/sig-fsnap 2016-01-21 14:31:34.000000000 -0500 +++ apt-cacher-ng-0.9.1/dbgen/sig-fsnap 2016-02-28 11:19:20.000000000 -0500 @@ -1 +1 @@ -30dc92142c7192a1025017deb39d59c1 tmp/fsnap +0ddeda810c2f8453fd5c214f85ff6ff4 tmp/fsnap diff -Nru apt-cacher-ng-0.8.9/dbgen/sig-slsnap apt-cacher-ng-0.9.1/dbgen/sig-slsnap --- apt-cacher-ng-0.8.9/dbgen/sig-slsnap 2016-01-21 14:31:34.000000000 -0500 +++ apt-cacher-ng-0.9.1/dbgen/sig-slsnap 2016-02-28 11:19:20.000000000 -0500 @@ -1 +1 @@ -1aadf350a8eb24f580986ac9061b2fc1 tmp/slsnap +6ae76ee2f73bc6271a2f95a9a60967c1 tmp/slsnap diff -Nru apt-cacher-ng-0.8.9/dbgen/sig-ubuntu apt-cacher-ng-0.9.1/dbgen/sig-ubuntu --- apt-cacher-ng-0.8.9/dbgen/sig-ubuntu 2016-01-21 14:31:34.000000000 -0500 +++ apt-cacher-ng-0.9.1/dbgen/sig-ubuntu 2016-02-28 11:19:20.000000000 -0500 @@ -1 +1 @@ -75df2d864da82c49a09f55ef3f2bff8a tmp/usnap +912e6e5c82a0fe4331c83dcc1aaedd48 tmp/usnap diff -Nru apt-cacher-ng-0.8.9/debian/changelog apt-cacher-ng-0.9.1/debian/changelog --- apt-cacher-ng-0.8.9/debian/changelog 2016-04-05 09:52:21.000000000 -0400 +++ apt-cacher-ng-0.9.1/debian/changelog 2016-04-19 15:02:17.000000000 -0400 @@ -1,3 +1,22 @@ +apt-cacher-ng (0.9.1-1ubuntu1) xenial; urgency=medium + + * Merge from Debian unstable (LP: #1561829), remaining changes: + - Consider by-hash files as static data (closes: #819852). + + -- Unit 193 Tue, 19 Apr 2016 15:02:01 -0400 + +apt-cacher-ng (0.9.1-1) unstable; urgency=low + + * New upstream version + + -- Eduard Bloch Sun, 28 Feb 2016 17:20:41 +0100 + +apt-cacher-ng (0.9.0-1) experimental; urgency=low + + * New upstream version + + -- Eduard Bloch Mon, 01 Feb 2016 19:50:49 +0100 + apt-cacher-ng (0.8.9-1ubuntu1) xenial; urgency=medium * Consider by-hash files as static data (closes: #819852). diff -Nru apt-cacher-ng-0.8.9/debian/control apt-cacher-ng-0.9.1/debian/control --- apt-cacher-ng-0.8.9/debian/control 2016-04-05 09:52:20.000000000 -0400 +++ apt-cacher-ng-0.9.1/debian/control 2016-04-19 15:00:25.000000000 -0400 @@ -6,6 +6,8 @@ Build-Depends: debhelper (>= 9), cmake (>= 2.6.2), libbz2-dev, zlib1g-dev, liblzma-dev, libfuse-dev [!hurd-i386], pkg-config, libwrap0-dev, lsb-base (>> 3.0-6), dh-systemd (>= 1.5), po-debconf, libssl-dev, libsystemd-dev (>= 210) [linux-any] | libsystemd-daemon-dev [linux-any] Standards-Version: 3.9.6 Homepage: http://www.unix-ag.uni-kl.de/~bloch/acng/ +Vcs-Git: https://alioth.debian.org/anonscm/git/apt-cacher-ng/apt-cacher-ng.git +Vcs-Browser: https://alioth.debian.org/scm/browser.php?group_id=100566 Package: apt-cacher-ng Architecture: any diff -Nru apt-cacher-ng-0.8.9/include/acbuf.h apt-cacher-ng-0.9.1/include/acbuf.h --- apt-cacher-ng-0.8.9/include/acbuf.h 2016-01-21 14:31:34.000000000 -0500 +++ apt-cacher-ng-0.9.1/include/acbuf.h 2016-02-28 11:19:20.000000000 -0500 @@ -106,28 +106,33 @@ inline tSS() : m_fmtmode(dec){} inline tSS(size_t sz) : m_fmtmode(dec) { setsize(sz); } inline tSS(const tSS &src) : acbuf(), m_fmtmode(src.m_fmtmode) { add(src.data(), src.size()); } + // move ctor: steal resources and defuse dtor + inline tSS(tSS&& src) : m_fmtmode(src.m_fmtmode) { m_buf = src.m_buf; src.m_buf = 0; + m_nCapacity=src.m_nCapacity; r=src.r; w=src.w; } tSS & addEscaped(const char *fmt); - inline tSS & operator<<(const char c) { reserve(size()+1); *(wptr())=c; got(1); return *this;} + inline tSS & operator<<(const char c) { reserve_atleast(1); *(wptr())=c; got(1); return *this;} inline tSS & clean() { clear(); return *this;} inline tSS & append(const char *data, size_t len) { add(data,len); return *this; } // similar to syswrite but adapted to socket behavior and reports error codes as HTTP status lines bool send(int nConFd, mstring* sErrorStatus=nullptr); bool recv(int nConFd, mstring* sErrorStatus=nullptr); + inline tSS & add(const char *data, size_t len) + { reserve_atleast(len); memcpy(wptr(), data, len); got(len); return *this;} + inline tSS & add(const char *val) + { if(val) return add(val, strlen(val)); else return add("(null)", 6); } + inline tSS & add(cmstring& val) { return add((const char*) val.data(), (size_t) val.size());} + protected: char fmtbuf[22]; fmtflags m_fmtmode; - inline void reserve(size_t minCapa) { minCapa+=(r+1); if(m_nCapacity>=minCapa) return; - char *p=(char*)realloc((void*) m_buf, (unsigned long) std::max(m_nCapacity, minCapa*2)); - if(!p) throw std::bad_alloc(); m_nCapacity=minCapa*2; m_buf=p; } - - inline tSS & add(cmstring& val) { return add((const char*) val.data(), (size_t) val.size());} + inline void reserve_atleast(size_t minWriteCapa) + { + if(w+minWriteCapa+1 < m_nCapacity) return; + auto capaNew=2*(w+minWriteCapa); + if(!setsize(capaNew)) throw std::bad_alloc(); + } inline tSS & appDosNL() { return add("\r\n", 2);} - inline tSS & add(const char *data, size_t len) - { reserve(size()+len); memcpy(wptr(), data, len); got(len); return *this;} - inline tSS & add(const char *val) - { if(val) return add(val, strlen(val)); else return add("(null)", 6); } - }; cmstring& GetFooter(); diff -Nru apt-cacher-ng-0.8.9/include/bgtask.h apt-cacher-ng-0.9.1/include/bgtask.h --- apt-cacher-ng-0.8.9/include/bgtask.h 2016-01-21 14:31:34.000000000 -0500 +++ apt-cacher-ng-0.9.1/include/bgtask.h 2016-02-28 11:19:20.000000000 -0500 @@ -63,8 +63,12 @@ typedef SHARED_PTR tProgTrackPtr; static WEAK_PTR g_pTracker; tProgTrackPtr m_pTracker; + protected: - tStrSet m_delCboxFilter; + // value is an ID number assigned to the string (key) in the moment of adding it + std::map m_delCboxFilter; + // generates a lookup blob as hidden form parameter + mstring BuildCompressedDelFileCatalog(); }; struct tRemoteFileInfo; diff -Nru apt-cacher-ng-0.8.9/include/cacheman.h apt-cacher-ng-0.9.1/include/cacheman.h --- apt-cacher-ng-0.8.9/include/cacheman.h 2016-01-21 14:31:34.000000000 -0500 +++ apt-cacher-ng-0.9.1/include/cacheman.h 2016-02-28 11:19:20.000000000 -0500 @@ -18,7 +18,6 @@ class tDlJobHints; struct foo; -static cmstring FAKEDATEMARK("Sat, 26 Apr 1986 01:23:39 GMT+3"); static cmstring sAbortMsg("Found errors during processing, " "aborting as requested."); @@ -132,7 +131,7 @@ unsigned int m_nProgIdx, m_nProgTell; - void TellCount(uint nCount, off_t nSize); + void TellCount(unsigned nCount, off_t nSize); bool ParseAndProcessMetaFile(ifileprocessor &output_receiver, const mstring &sPath, enumMetaType idxType); @@ -156,8 +155,21 @@ // add certain files to the kill bill, to be removed after the activity is done virtual void MarkObsolete(cmstring&) {}; -private: + // for compressed map of special stuff + inline mstring AddLookupGetKey(cmstring &sFilePathRel, bool& isNew) + { + unsigned id = m_delCboxFilter.size(); + auto it = m_delCboxFilter.find(sFilePathRel); + isNew = it==m_delCboxFilter.end(); + if(isNew) + m_delCboxFilter[sFilePathRel] = id; + else + id = it->second; + char buf[30]; + return mstring(buf, snprintf(buf, sizeof(buf), " name=\"kf\" value=\"%x\"", id)); + } +private: tContId2eqClass m_eqClasses; bool Propagate(cmstring &donorRel, tContId2eqClass::iterator eqClassIter, diff -Nru apt-cacher-ng-0.8.9/include/conn.h apt-cacher-ng-0.9.1/include/conn.h --- apt-cacher-ng-0.8.9/include/conn.h 2016-01-21 14:31:34.000000000 -0500 +++ apt-cacher-ng-0.9.1/include/conn.h 2016-02-28 11:19:20.000000000 -0500 @@ -69,7 +69,7 @@ } logstuff; #ifdef DEBUG - uint m_nProcessedJobs; + unsigned m_nProcessedJobs; #endif }; diff -Nru apt-cacher-ng-0.8.9/include/dlcon.h apt-cacher-ng-0.9.1/include/dlcon.h --- apt-cacher-ng-0.8.9/include/dlcon.h 2016-01-21 14:31:34.000000000 -0500 +++ apt-cacher-ng-0.9.1/include/dlcon.h 2016-02-28 11:19:20.000000000 -0500 @@ -62,13 +62,13 @@ bool m_bStopASAP; - uint m_bManualMode; + unsigned m_bManualMode; /// blacklist for permanently failing hosts, with error message std::map, mstring> m_blacklist; tSS m_sendBuf, m_inBuf; - uint ExchangeData(mstring &sErrorMsg, tDlStreamHandle &con, tDljQueue &qActive); + unsigned ExchangeData(mstring &sErrorMsg, tDlStreamHandle &con, tDljQueue &qActive); // Disable pipelining for the next # requests. Actually used as crude workaround for the // concept limitation (because of automata over a couple of function) and its diff -Nru apt-cacher-ng-0.8.9/include/filereader.h apt-cacher-ng-0.9.1/include/filereader.h --- apt-cacher-ng-0.8.9/include/filereader.h 2016-01-21 14:31:34.000000000 -0500 +++ apt-cacher-ng-0.9.1/include/filereader.h 2016-02-28 11:19:20.000000000 -0500 @@ -27,14 +27,14 @@ * filename w/o suffix or path prefix back into it * @param bCriticalOpen Terminate program on failure */ - bool OpenFile(const mstring & sFilename, bool bNoMagic=false, uint nFakeTrailingNewlines=0); + bool OpenFile(const mstring & sFilename, bool bNoMagic=false, unsigned nFakeTrailingNewlines=0); //////! Filename with all prepended path and compressed suffix stripped //////void GetBaseFileName(mstring & sOut); //! Returns lines when beginning with non-space, otherwise empty string. //! @return False on errors. bool GetOneLine(mstring & sOut, bool bForceUncompress=false); - uint GetCurrentLine() const { return m_nCurLine;} ; + unsigned GetCurrentLine() const { return m_nCurLine;} ; bool CheckGoodState(bool bTerminateOnErrors, cmstring *reportFilePath=nullptr) const; bool GetChecksum(int csType, uint8_t out[], off_t &scannedSize, FILE *pDumpFile=nullptr); @@ -63,7 +63,7 @@ acbuf m_UncompBuf; // uncompressed window // visible position reporting - uint m_nCurLine; + unsigned m_nCurLine; int m_fd; diff -Nru apt-cacher-ng-0.8.9/include/header.h apt-cacher-ng-0.9.1/include/header.h --- apt-cacher-ng-0.8.9/include/header.h 2016-01-21 14:31:34.000000000 -0500 +++ apt-cacher-ng-0.9.1/include/header.h 2016-02-28 11:19:20.000000000 -0500 @@ -60,7 +60,7 @@ * <0: error * >0: length of the processed data */ - int LoadFromBuf(const char *src, uint length); + int LoadFromBuf(const char *src, unsigned length); int LoadFromFile(const mstring & sPath); //! returns byte count or negative errno value @@ -85,7 +85,7 @@ //@param pNotForUs unsorted map, key is header name, value is the rest of the line starting // with colon and ending with \r\n. In case of multiline, extending lines are appended to // the value string as-is - int Load(const char *src, uint length, tLPS *pNotForUs=nullptr); + int Load(const char *src, unsigned length, tLPS *pNotForUs=nullptr); }; inline bool BODYFREECODE(int status) diff -Nru apt-cacher-ng-0.8.9/include/maintenance.h apt-cacher-ng-0.9.1/include/maintenance.h --- apt-cacher-ng-0.8.9/include/maintenance.h 2016-01-21 14:31:34.000000000 -0500 +++ apt-cacher-ng-0.9.1/include/maintenance.h 2016-02-28 11:19:20.000000000 -0500 @@ -45,7 +45,9 @@ workSTYLESHEET, workTraceStart, workTraceEnd, - workJStats + workJStats, + workTRUNCATE, + workTRUNCATECONFIRM }; struct tRunParms { diff -Nru apt-cacher-ng-0.8.9/include/meta.h apt-cacher-ng-0.9.1/include/meta.h --- apt-cacher-ng-0.8.9/include/meta.h 2016-01-21 14:31:34.000000000 -0500 +++ apt-cacher-ng-0.9.1/include/meta.h 2016-02-28 11:19:20.000000000 -0500 @@ -29,6 +29,8 @@ #define EXTREME_MEMORY_SAVING false +class acbuf; + typedef std::string mstring; typedef const std::string cmstring; @@ -46,6 +48,8 @@ #define SZPATHSEPWIN "\\" extern cmstring sPathSep, sPathSepUnix, sDefPortHTTP, sDefPortHTTPS; +extern cmstring FAKEDATEMARK; + #ifdef WINDOWS #define WIN32 #define SZPATHSEP SZPATHSEPWIN @@ -288,6 +292,14 @@ return ret; } mstring DosEscape(cmstring &s); +// just the bare minimum to make sure the string does not break HTML formating +inline mstring html_sanitize(cmstring& in) +{ + mstring ret; + for(auto c:in) + ret += ( strchr("<>'\"&;", (unsigned) c) ? '_' : c); + return ret; +} #define pathTidy(s) { if(startsWithSz(s, "." SZPATHSEP)) s.erase(0, 2); tStrPos n(0); \ for(n=0;stmiss!=n;) { n=s.find(SZPATHSEP SZPATHSEP, n); if(stmiss!=n) s.erase(n, 1);}; \ @@ -319,7 +331,7 @@ inline mstring offttosH(off_t n) { LPCSTR pref[]={"", " KiB", " MiB", " GiB", " TiB", " PiB", " EiB"}; - for(uint i=0;i<_countof(pref)-1; i++) + for(unsigned i=0;i<_countof(pref)-1; i++) { if(n<1024) return ltos(n)+pref[i]; @@ -352,7 +364,7 @@ LPCSTR m_seps; public: - inline tSplitWalk(cmstring *line, LPCSTR separators=SPACECHARS, uint begin=0) + inline tSplitWalk(cmstring *line, LPCSTR separators=SPACECHARS, unsigned begin=0) : s(*line), start(begin), len(stmiss), oob(line->size()), m_seps(separators) {} inline bool Next() { @@ -436,6 +448,8 @@ } std::string BytesToHexString(const uint8_t sum[], unsigned short lengthBin); +//bool HexToString(const char *a, mstring& ret); +bool Hex2buf(const char *a, size_t len, acbuf& ret); // STFU helpers, (void) casts are not effective for certain functions static inline void ignore_value (int i) { (void) i; } @@ -448,7 +462,7 @@ static const time_t END_OF_TIME(MAX_VAL(time_t)-2); -static inline uint FormatTime(char *buf, const time_t cur) +static inline unsigned FormatTime(char *buf, const time_t cur) { struct tm tmp; gmtime_r(&cur, &tmp); @@ -461,7 +475,7 @@ struct tCurrentTime { char buf[30]; - uint len; + unsigned len; inline tCurrentTime() { len=FormatTime(buf, time(nullptr)); } inline operator mstring() { return mstring(buf, len); } }; @@ -484,7 +498,12 @@ }; mstring EncodeBase64Auth(cmstring &sPwdString); -mstring EncodeBase64(LPCSTR data, uint len); +mstring EncodeBase64(LPCSTR data, unsigned len); + +#if defined(HAVE_SSL) || defined(HAVE_TOMCRYPT) +#define HAVE_DECB64 +bool DecodeBase64(LPCSTR pAscii, size_t len, acbuf& binData); +#endif #if __GNUC__ == 4 && __GNUC_MINOR__ < 8 && !defined(__clang__) #define COMPATGCC47 diff -Nru apt-cacher-ng-0.8.9/include/showinfo.h apt-cacher-ng-0.9.1/include/showinfo.h --- apt-cacher-ng-0.8.9/include/showinfo.h 2016-01-21 14:31:34.000000000 -0500 +++ apt-cacher-ng-0.9.1/include/showinfo.h 2016-02-28 11:19:20.000000000 -0500 @@ -38,10 +38,11 @@ class tDeleter : public tMarkupFileSend { - tStrDeq files; + std::set files; tSS sHidParms; + mstring sVisualMode; // Truncat or Delet public: - tDeleter(const tRunParms& parms); + tDeleter(const tRunParms& parms, cmstring& vmode); virtual void SendProp(cmstring &key) override; }; diff -Nru apt-cacher-ng-0.8.9/INSTALL apt-cacher-ng-0.9.1/INSTALL --- apt-cacher-ng-0.8.9/INSTALL 2016-01-21 14:31:34.000000000 -0500 +++ apt-cacher-ng-0.9.1/INSTALL 2016-02-28 11:19:20.000000000 -0500 @@ -4,10 +4,11 @@ - CMake 2.6.2 or newer, probably also GNU make - gcc 4.7 or newer or clang 3.0 or newer and latest libstdc++ or Boost headers - on Linux systems, kernel 2.6.22 or newer and glibc 2.8 or newer + - pkg-config and zlib (and development components) Extra requirements for optional features: - - zlib, libbz2, liblzma (from XZ), OpenSSL and their development components - - LibTomCrypt might work as replacement for some parts of functionality if + - libbz2, liblzma (from XZ), OpenSSL and their development components + - LibTomCrypt can serve as replacement for some parts of functionality if OpenSSL is not available. See LibTomCrypt notes below! - recent FUSE library and its development files for the "virtual mirror" filesystem @@ -25,8 +26,8 @@ - run "make -C builddir install" (maybe with DESTDIR=/tmp/somewhere/else) Troubleshooting and integrator notes: - - on configuration problems or to change most settings afterwards, remove the - builddir directory or only builddir/CMakeCache.txt in easy cases + - on configuration problems or to change cached settings afterwards, remove the + builddir directory or just builddir/CMakeCache.txt in easy cases - the build system makes use of pkg-config to locate required software components. For locally built packages, you might need to adjust its path settings; see manpage for details. diff -Nru apt-cacher-ng-0.8.9/source/acfg.cc apt-cacher-ng-0.9.1/source/acfg.cc --- apt-cacher-ng-0.8.9/source/acfg.cc 2016-01-21 14:31:34.000000000 -0500 +++ apt-cacher-ng-0.9.1/source/acfg.cc 2016-02-28 11:19:20.000000000 -0500 @@ -17,13 +17,6 @@ #include #include -#ifdef HAVE_SSL -#include -#include -#include -#include -#include -#endif using namespace std; @@ -83,8 +76,8 @@ void AddRemapFlag(const string & token, const string &repname); void _AddHooksFile(cmstring& vname); -uint ReadBackendsFile(const string & sFile, const string &sRepName); -uint ReadRewriteFile(const string & sFile, cmstring& sRepName); +unsigned ReadBackendsFile(const string & sFile, const string &sRepName); +unsigned ReadRewriteFile(const string & sFile, cmstring& sRepName); map repoparms; typedef decltype(repoparms)::iterator tPairRepoNameData; @@ -537,8 +530,12 @@ return res; // errrr... done here // merge them tStrSet dupeFil; - for(const auto& s: res) - dupeFil.emplace(GetBaseName(s)); + for(const auto& s: res) +#ifdef COMPATGCC47 + dupeFil.insert(GetBaseName(s)); +#else + dupeFil.emplace(GetBaseName(s)); +#endif for(const auto& s: suppres) if(!ContHas(dupeFil, GetBaseName(s))) res.emplace_back(s); @@ -564,7 +561,7 @@ else { auto func = bAsBackend ? ReadBackendsFile : ReadRewriteFile; - uint count = 0; + unsigned count = 0; for(auto& src : ExpandFileTokens(token)) count += func(src, repname); if(!count) @@ -636,7 +633,7 @@ else if (strcasecmp("DownTimeout", p) == 0) { errno = 0; - uint n = strtoul(val.c_str(), nullptr, 10); + unsigned n = strtoul(val.c_str(), nullptr, 10); if (!errno) hs.downDuration = n; } @@ -716,7 +713,7 @@ if(f.OpenFile(path, true)) { size_t maxLen = std::min(size_t(255), f.GetSize()); - for(uint i=0; i< maxLen; ++i) + for(unsigned i=0; i< maxLen; ++i) { if(!isascii((uint) *(f.GetBuffer()+i))) return os; @@ -848,9 +845,9 @@ return & it->second; } -uint ReadBackendsFile(const string & sFile, const string &sRepName) +unsigned ReadBackendsFile(const string & sFile, const string &sRepName) { - uint nAddCount=0; + unsigned nAddCount=0; string key, val; tHttpUrl entry; @@ -908,9 +905,9 @@ /* This parses also legacy files, i.e. raw RFC-822 formated mirror catalogue from the * Debian archive maintenance repository. */ -uint ReadRewriteFile(const string & sFile, cmstring& sRepName) +unsigned ReadRewriteFile(const string & sFile, cmstring& sRepName) { - uint nAddCount=0; + unsigned nAddCount=0; filereader reader; if(debug>4) cerr << "Reading rewrite file: " << sFile < #include @@ -263,25 +262,30 @@ return ret; } #endif - - } +// let the compiler decide between GNU and XSI version +inline void add_msg(int r, int err, const char* buf, mstring *p) +{ + if(r) + p->append(tSS() << "UNKNOWN ERROR: " << err); + else + p->append(buf); +} +inline void add_msg(const char *msg, int , const char* , mstring *p) +{ + p->append(msg); +} tErrnoFmter::tErrnoFmter(const char *prefix) { - char buf[32]; - buf[0]=buf[31]=0x0; - + int err=errno; + char buf[64]; + buf[0]=buf[sizeof(buf)-1]=0x0; if(prefix) assign(prefix); - - int err=errno; - if(strerror_r(err, buf, sizeof(buf)-1)) - append(tSS() << "UNKNOWN ERROR: " << err); - else - append(buf); + add_msg(strerror_r(err, buf, sizeof(buf)-1), err, buf, this); } #ifdef DEBUG @@ -318,7 +322,7 @@ tSS & t_logger::GetFmter() { m_strm.clear(); - for(uint i=0;i(&salt), 4) >0) break; @@ -641,6 +641,41 @@ } , #endif +#if 0 + { + "bin2hex", + { 1, 1, [](LPCSTR p) + { + filereader f; + if(f.OpenFile(p, true)) + exit(EIO); + std::cout << BytesToHexString(f.GetBuffer(), f.GetSize()) << std::endl; + exit(EXIT_SUCCESS); + } + } + } + , +#endif +#if 0 // def HAVE_DECB64 + { + "decb64", + { 1, 1, [](LPCSTR p) + { +#ifdef DEBUG + cerr << "decoding " << p < #include +#ifdef HAVE_ZLIB +#include +#endif + using namespace std; #define LOG_DECO_START "