SEARCH
NEW RPMS
DIRECTORIES
ABOUT
FAQ
VARIOUS
BLOG

 
 
column ids
- add title attributes into each td element for accessibility
(not sure whether the column ids/headers are enough)

* tools/create_timestamp: add an explanatory text to the timestamp files

* change \"Taiwan, Province of China\" to the more neutral \"Taiwan\"

Sat Dec 13 13:00:00 2008 poemlAATTsuse.de
- update to r5892:

* mb probefile:
- add support for checking not only HTTP, but also FTP and
rsync URLs.
- bypass intermediate caching proxies.
- use a rigorous timeout of 20 seconds for every network
operation.
- add option to also test mirrors which are currently
disabled, or whose HTTP server is unreachable.

* mirrorprobe:
- handle refused connections on FTP URLs
- use GET requests rather than HEAD requests. It is safer; I
just saw a crashed mirror hanging indefinitely only on GET
requests.

* rsyncusers tool:
- make it compatible with oldish Python (2.3)

* create_timestamp:
- a new tool added. Can serve as example.

Thu Dec 4 13:00:00 2008 poemlAATTsuse.de
- update to r5802:

* mb tool: add editable public_notes field

Tue Dec 2 13:00:00 2008 poemlAATTsuse.de
- update to r5778:

* mb tool: work on generated mirrorlists.

Tue Nov 25 13:00:00 2008 poemlAATTsuse.de
- update to r5701:

* mod_zrkadlo: improve the wording in mirror lists, so it doesn\'t
claim that fallback mirrors are in the same country

Sat Nov 22 13:00:00 2008 poemlAATTsuse.de
- update to r5679:

* scanner: make the usage of md5 hashes optional, and disable it
by default

* mb tool (mirrordoctor): rework file subcommand

* remove md5 support from mod_zrkadlo

Mon Nov 17 13:00:00 2008 poemlAATTsuse.de
- update to r5623:
add interim support for queries that don\'t use the extra hashes
to look up files in the database, but access them directly by
filename. This could eventually serve to get rit of the extra
hash column, and let a database index do the job.

Sun Nov 16 13:00:00 2008 poemlAATTsuse.de
- added shortcut \'mb\' for the longish \'mirrordoctor\' command

Sun Nov 9 13:00:00 2008 poemlAATTsuse.de
- update to r5573

* mod_zrkadlo: avoid false compile warning about comparison with
string literal
- compile geoiplookup_continent tool with RPM_OPT_FLAGS

Sun Nov 9 13:00:00 2008 poemlAATTsuse.de
- update to r5570:
mod_zrkadlo release 2.1:

* simplified the Apache configuration: It is no longer needed to
configure a database query. At the same time it\'s less
error-prone and avoids trouble if one forgets to update the
query, when the database schema changes.

* specific mirrors can be now configured to get only requests
for files < n bytes

Mon Nov 3 13:00:00 2008 poemlAATTsuse.de
- update to r5506:
smallish mirrordoctor updates:

* when listing files matching a pattern, show actual filename,
not the pattern

* add support for editing of the new other_countries database
field

* add first stub for mirror tests (\'test\' subcommand)

Mon Nov 3 13:00:00 2008 poemlAATTsuse.de
- update to r5498:
mod_zrkadlo release 2.0:

* implement better fallback mirror selection. Fallback mirrors
are now defined in the database (server.other_countries column)
and used only when no local mirror could be found (fallback).
The obsolete ZrkadloTreatCountryAs directive has been removed.

* double-check for empty base URLs of mirrors

Wed Oct 29 13:00:00 2008 poemlAATTsuse.de
- update to r5469:

* new subcommand \'mirrordoctor file\' for file operations on the
mirror database. It can list files add add/remove them.

Tue Oct 28 13:00:00 2008 poemlAATTsuse.de
- update to r5465:

* new subcommand \'mirrordoctor vacuum\' for database pruning.
Incorporates the functionality of previous /usr/bin/vacuum.

Mon Oct 27 13:00:00 2008 poemlAATTsuse.de
- update to r5445:

* add geoip-lite-update, a script to automate updates of the
GeoIP database

Mon Oct 27 13:00:00 2008 poemlAATTsuse.de
- update to r5442:

* fix link to bittorrent resources.

Mon Oct 27 13:00:00 2008 poemlAATTsuse.de
- update to r5441:
mod_zrkadlo version 1.9:

* Check for files ending in .torrent, and if one exists, add a link
to it into generated metalinks. New directive
ZrkadloMetalinkTorrentAddMask, which can used to limit this
additional check to specific files or directories.

* rewrote HTML mirror list

* add configurable CSS stylesheet to mirror lists
(ZrkadloMirrorlistStyleSheet directive)

Fri Oct 24 14:00:00 2008 poemlAATTsuse.de
- update to r5427:

* metalink-hasher: add PGP signatures into block

Tue Sep 23 14:00:00 2008 poemlAATTsuse.de
- update to r5127:

* mirrorprobe:
- make sure that we don\'t try to access non-existing attribute
named code when it doesn\'t exist (like for FTP urls)

Fri Sep 19 14:00:00 2008 poemlAATTsuse.de
- update to r5090:

* rsyncusers:
- new, performant, implementation in Python. Uses Python
generators, which means it allocates only few memory and
works similar a Unix pipe. The tool will now transparently
open uncompressed, gzip or bzip2 compressed files.

Tue Sep 2 14:00:00 2008 poemlAATTsuse.de
- update to r4855:

* mod_zrkadlo:
- implement the redirection exceptions (file too small, mime
type not allowed to be redirected etc) for transparently
negotiated metalinks.
- add Vary header on all transparently negotiated resources.
- remove depracated negotiation on Accept-Features.

Fri Aug 29 14:00:00 2008 poemlAATTsuse.de
- update to r4830:

* scanner:
- more fixes to deal with more variants of the HTML autoindex breed.
- append ?F=1 to HTTP requests (autoindex modifier)

* mirrorprobe:
- add the name of the mirrorbrain instance to warning mails

* mod_autoindex_mb: if metalink or mirrorlists are active, add
our signature

* update INSTALL for creating new mirrors

Thu Aug 28 14:00:00 2008 poemlAATTsuse.de
- update to r4800:

* metalink-hasher:
- don\'t drop the elements. Our metalinks were lacking
the length of hash pieces due to this bug. Clients were
probably ignoring the partial hashes.

* mirrordoctor list:
- add --disabled option to show only disable mirrors

* mirrordoctor scan:
- leave a comment after successful scanning and enabling
- add -a|--all option to pass to the scanner
- remove -f option which is redundant somehow

* mirrordoctor new:
- improve usage. The -i option is no longer needed, the
identifier is simply given as argument to the command. This
is more in line with the other subcommands.
- don\'t print SQL when not in debug mode.

Wed Aug 27 14:00:00 2008 poemlAATTsuse.de
- update to r4788:

* mirrordoctor rename: fix the call which looks up mirrors.
mirrordoctor new: set default values for \'enabled\' and
\'status_baseurl\', for tables that don\'t do it

* mirrorprobe: add newlines before appending stuff to comments;
don\'t try to remove stuff from comments, since multiline
comments are now commonly used.

Mon Aug 25 14:00:00 2008 poemlAATTsuse.de
- update to r4765:

* mirrorprobe: fix for another irregularity caused by Nginx web servers

* scanner: fix forking with multiple instances

* metalink-hasher: add missing quoting

Fri Aug 22 14:00:00 2008 poemlAATTsuse.de
- update to r4758:
scanner improvements:
- enable to parse HTML table autoindexes.
- be more robust when detecting autoindexes.
mirrordoctor fixes:
- add option to specify path to scanner program
- fix calling the scanner when no instance has been specified
- add python-cmdln to Requires

Fri Aug 22 14:00:00 2008 poemlAATTsuse.de
- update to r4753:
mirrorprobe: include the instance name into the log messages

Fri Aug 22 14:00:00 2008 poemlAATTsuse.de
- update to r4752:
- pingd was renamed to \"mirrorprobe\".
And it also deals with multi mirrorbrain instances now.
In addition, it ignores proxy settings now.
- simplified interface of the mirrorbrain python module (mb)
- updated INSTALL docs

Thu Aug 21 14:00:00 2008 poemlAATTsuse.de
- update to r4731:

* mod_zrkadlo:
- add ZrkadloInstance directive that can be set per mirrorbrain
instance. To be set in server context, thus each instance needs
a virtual host.
- include the instance name into memcache keys
- add new reconnect=0 parameter (that comes with apr-util-1.3.3)
to mysql driver example configuration (prepared statements are
gone after reconnection so that it does not make sense to
reanimate dead connections. See
https://issues.apache.org/bugzilla/show_bug.cgi?id=45407)

* scanner:
- make scanner work with multiple mirrorbrain instances (-b
option)
- fixed bnc394470: added 302, 303 and 307 codes to the check

* mirrordoctor:
- make it work with multiple mirrorbrain instances
- list: hide disabled mirrors by default
- add a rename subcommand
- when disabling a mirror, set statusBaseurl to zero, so when
re-enabling the mirror it doesnt\' matter if it is not actually
online.

* pingd:
- make sure that the mirror objects always have the response and
response_code attributes set

* SQL schema changes:
- ensure that the identifier column of the mirror table doesn\'t
allow duplicates
- set a default value for the \'enabled\' and \'status_baseurl\'
columns in the mirrors table

Fri Jun 20 14:00:00 2008 poemlAATTsuse.de
- update to r4228:

* mirrordoctor update:
- make the commandline simpler -- now it is possible to just
give a substring of the mirror identifier, instead of the
full name (or -m)
- add more options to the \'scan\' command
- add \'score\' command
- add setup.py file to make the the module installable

Wed Jun 18 14:00:00 2008 poemlAATTsuse.de
- update to r4210:

* mirror probe (ping script): fix crash when encountering a server
which replies with broken chunked transfer encoding.
nginx/0.6.29 does that. See http://bugs.python.org/issue1205

Sun Jun 15 14:00:00 2008 poemlAATTsuse.de
- update to r4178:

* added mirrordoctor, a new commandline tool to maintain mirror
entries in the redirector database.

* build with aprutil 1.3, which ships apr_memcache. Thus, the
latter is not separately available (and required) anymore.
- Change the code which fetches rows from the query result set to
do this in random access mode. Although we actually just want
to access them sequentially, we need to do it this way because
(at least at with the mysql driver) apr_dbd_get_row() doesn\'t
return anything useful anymore if apr_dbd_num_tuples() has been
called before. With apr-util 1.2.x, it worked nevertheless, but
it doesn\'t with 1.3.

* For wildcard mirrors (Content Delivery Networks), set their
country and region to that of the client, so it turns up as
useful data which the client understands in mirrorlists or
metalinks.
- enhance the metalink-hasher tool in two ways:
- make it possible to run it on a subdirectory only
- make it possible to work with different base directories --
which is useful if content is living in a stage area, but you
want to create the hash pieces already.
- rsyncusers tool: fix invalid shell code (spaces around \'=\')
- add example configuration snippet for mod_memcache

Tue Jun 10 14:00:00 2008 poemlAATTsuse.de
- build service supports the debuginfo flag in metadata now; remove
debug_package macro from the specfile therefore.

Mon Jun 9 14:00:00 2008 poemlAATTsuse.de
- update to r4133:
- rsyncinfo: add option -S to hide rsync\'s stderr output

Mon Jun 2 14:00:00 2008 poemlAATTsuse.de
- update to r4074 (version 0.8):
- use mod_memcache for the configuration and initialization of
memcache
- metalink-hasher script added, to prepare hashes for injection
into metalink files
- rsyncusers analysis tool added
- scanner bugfixes regarding following of redirects

Wed May 21 14:00:00 2008 poemlAATTsuse.de
- update to r4011:
- rsyncinfo: fix parsing of rsync module list, when no
banner is prefixed.

Tue May 20 14:00:00 2008 poemlAATTsuse.de
- update to r4002:
- rsyncinfo: tabulate the output

Wed May 14 14:00:00 2008 poemlAATTsuse.de
- don\'t package build intermediaries from mod_autoindex

Fri May 2 14:00:00 2008 poemlAATTsuse.de
- update to r3877:
- implement a testbed for testing failover with clients using
text mirror lists; the server will inject broken mirrors at the
top of the list if the user-agent is
\'getPrimaryFailover-agent/0.1\'
- add rsyncinfo, script to get info on modules of rsync servers

Wed Apr 30 14:00:00 2008 poemlAATTsuse.de
- update to r3874:
- It was agreed that the new Metalink spec (3.0) will probably use
RFC 3339 date and time format, but continue to use plain old
RFC822 format.
- add ZrkadloMetalinkPublisher directive to make name and url in
publisher data configurable

Wed Apr 30 14:00:00 2008 poemlAATTsuse.de
- update to r3871:
- fix issue with requesting metalinks by appending \".metalink\":
the element in metalinks was not filled in correctly
anymore.

Sun Apr 27 14:00:00 2008 poemlAATTsuse.de
- update to r3844:
- now there is another, more natural, way to request a metalink:
by appending \".metalink\" to the filename
- mod_autoindex_mb now creates links with .metalink appended,
instead of ?metalink

Sun Apr 27 14:00:00 2008 poemlAATTsuse.de
- update to r3840:
- also return metalinks to clients which send
application/metalink+xml in the Accept request header.

Mon Apr 21 14:00:00 2008 poemlAATTsuse.de
- update to r3766:
- mod_zrkadlo 1.7
- implement a terse text mirrorlist (suitable for e.g.
http://en.opensuse.org/Libzypp/Failover)
- allow clients to use RFC2295 Accept-Features header to select
variants (metalink or mirrorlist-txt)
- implement ZrkadloMetalinkHashesPathPrefix directive, for
out-of-tree placement of prepared metalink hashes
- work on unifying configuration handling of the tools, and make
them all use /etc/mirrorbrain.conf

Sat Apr 19 14:00:00 2008 poemlAATTsuse.de
- update to r3752:
- metalinks:
- add RFC 2183 header with filename + \".metalink\"
- avoid putting -- (from failed GeoIP lookup) into XML comments,
since they will be seen as comment terminators
- add mod_autoindex_mb.c which adds metalinks and mirrorlists to
generated indexes

Fri Apr 18 14:00:00 2008 poemlAATTsuse.de
- update to r3749:
- bypass the redirection exceptions for metalinks, just as for
mirrorlists

Thu Apr 17 14:00:00 2008 poemlAATTsuse.de
- update to r3738:
- make the scanner cope with servers that don\'t support range
requests
- small documentation updates

Mon Apr 7 14:00:00 2008 poemlAATTsuse.de
- update to r3664:
- updated THANKS file
- some documentation updates in ABOUT file
- remove useless header from mod_zrkadlo response
- don\'t include the server_admin email address into the metalink
- update metalink generator name
- actually install the new THANKS file

Fri Apr 4 14:00:00 2008 poemlAATTsuse.de
- update to r3634:
- version 1.6
- implement metalink support (http://www.metalinker.org)
- move the block where the single mirror is selected for
redirection to after the mirrorlist/metalink if branch. It is not
needed to do that work when metalink or mirrorlist is generated.
- fix a bug I just discovered, but which has been existing since
ever. I didn\'t allocate memory for mirror_entry\'s country_code
member.
- seed the RNG with getpid() instead of time(), because if the
server is started several processes are forked off and get the
same seed. Even though it doesn\'t play a real role in production,
it is confusing when working in a debug setting (with many fresh
starts).
- THANKS file added

Fri Mar 28 13:00:00 2008 poemlAATTsuse.de
- update to r3592:
- updated install documentation
- scanner bugfixes, and HTTP large file capability check
- fixed http_readdir: passes correct urls to largefile_check
- scan tests with -j , single servers, -a with mem verification
- - some aborts in single jpobs occured due to rsync errors
- - no infinite hangs
- bugfix: wrong/broken urls were passed to the largefile sanity
check thus creating false positives
- http redirects 301 to ftp urls are treated as valid

Thu Mar 6 13:00:00 2008 poemlAATTsuse.de
- update to r3441:
- scanner: get rid of hardcoded database credentials
- integration of sanity checks for large files: large files
visible on rsync/ftp which can\'t be downloaded via http are not
put to the database anymore. Thanks, Jan!
- set_mirror_score: also use the central conf file

Thu Mar 6 13:00:00 2008 poemlAATTsuse.de
- add perl-Config-IniFiles to requires

Thu Feb 28 13:00:00 2008 poemlAATTsuse.de
- add package requires for mod_form, GeoIP, python-mysql,
python-sqlobject

Thu Feb 28 13:00:00 2008 poemlAATTsuse.de
- update to r3189:
- the last change (version bump) wasn\'t actually probagated,
because I forgot to re-spin the tarball. Here it is.
- install the tools

Wed Feb 27 13:00:00 2008 poemlAATTsuse.de
- update to r3188:
- version 1.5
- updated documentation
- mirrorlist fixes:
- ensure that any \"clientip\" parameter from query string
represents a valid IP address, in order to keep generated
HTML clean, so not to allow XSS attacks
- set character set for HTML output generated to ISO-8859-1
- fix mirrorlist for the case where no mirror is found. Now an
empty list is created, instead of sending the file in
question.
- when user asks for mirror list, don\'t DECLINE if the file
would normally being excluded from redirection by one of the
various criteria (size, user agent, ...)
- use GeoIP_id_by_addr() instead of the deprecated (acc. to
GeoIP.h) GeoIP_country_id_by_addr()

Wed Feb 13 13:00:00 2008 poemlAATTsuse.de
- update to r3124:
- add details about the request to the subprocess_env table, so
then can be logged via a CustomLog:
- ZRKADLO_FILESIZE, the size of the file which was requested
- ZRKADLO_COUNTRY_CODE and ZRKADLO_CONTINENT_CODE
- if a mirror\'s baseurl doesn\'t end in \'/\', append it. Otherwise a
non-working redirect URL could result.

Thu Jan 24 13:00:00 2008 poemlAATTsuse.de
- update to r3056:
- version 1.4
- refined mirror selection by observing two additional server
attributes in the database: country_only and region_only.
- country_only=1 means that a mirror is not willing to receive requests from
countries other than its own.
- region_only=1 means that a mirror is not taking redirects from other
continents, likewise.
This is good for countries with poor internet connectivity.

Tue Oct 2 14:00:00 2007 poemlAATTsuse.de
- update to r2298:
- version 1.3
- implement ZrkadloExcludeNetwork directive, which allows for
excluding client IPs from being redirected (simple string
prefix comparison)
- implement ZrkadloExcludeIP directive, which matches on IP
address
- replace apr_strnatcmp/apr_strnatcasecmp with their simpler
glibc counterparts

Mon Oct 1 14:00:00 2007 poemlAATTsuse.de
- update to r2289:
- implement wildcard country support, useful for content delivery
networks which should act as a mirror local to all countries

Thu Sep 20 14:00:00 2007 poemlAATTsuse.de
- update to r2244:
- version 1.2
- shorten the SQL query by looking up the base64 encoded md5sum
of the filename in file_server.path_md5, avoiding an additional
join on file.name. Needs an adjusted SQL query string, as shown
in the example mod_zrkadlo.conf.

Fri Sep 14 14:00:00 2007 poemlAATTsuse.de
- update to r2165
- version 1.1
- set ZRKADLO_REDIRECTED and ZRKADLO_NOMIRROR in
r->subprocess_env, which can be used by a CustomLog
- the \"no mirrors found for %s\" error log message is downgraded
to APLOG_INFO
- mod_zrkadlo.conf: give example for logging redirects, and files
without any mirror
- updated docs

Mon Aug 20 14:00:00 2007 poemlAATTsuse.de
- update to r2012
- add new fields in statistic of memcached 1.2.x

Tue Mar 13 13:00:00 2007 poemlAATTsuse.de
- update to r1432
- bump version (1.0)
- license under Apache License 2.0
- canonicalize the filename (resolve symlinks in the path) before
looking it up in the database
- small fixes in the mirrorlist output
- remove debug messages about database connection acquisition

Tue Mar 6 13:00:00 2007 poemlAATTsuse.de
- update to r1387
- implement mirrorlist query string command to obtain a HTML list
of all available mirrors
- add ZrkadloMemcached directive to enable/disable memcache usage
- add ZrkadloExcludeFileMask
- unify logging

Sun Feb 25 13:00:00 2007 poemlAATTsuse.de
- update to r1348
- make memcached connection pool size configurable
- make memcached object lifetime configurable

Wed Feb 21 13:00:00 2007 poemlAATTsuse.de
- add geoiplookup_continent

Tue Feb 20 13:00:00 2007 poemlAATTsuse.de
- package created


Changelog for mirrorbrain-tools-2.18.1-7.2.i586.rpm :
Tue May 6 14:00:00 2014 larsAATTlinux-schulserver.de
- python-mb should require python-FormEncode on newer openSUSE
- run spec-cleaner
- add specfile license header
- License follows http://spdx.org/licenses/
- warn user if /home/mirrorbrain already exists

Tue Feb 4 13:00:00 2014 poemlAATTcmdline.net
- update to 2.18.1 (r8379):

* geoip-lite-update: The tool reloads Apache, but the
systemctl call added in 2.18.0 for operating systems with systemd was
incorrect. This has been fixed and was the reason for this release.

* mod_mirrorbrain: Some obsolete configuration directives
have been removed (MirrorBrainGeoIPFile,
MirrorBrainHandleDirectoryIndexLocally,
MirrorBrainMetalinkHashesPathPrefix). MirrorBrainGeoIPFile was also
still present in the example configuration file.

* mb scan: an obsolete reference to a -f switch was removed that exists only in
the behind-the-scene scanner perl script, but not in mb scan.

* In the documentation about system tuning, a reference to the PostgreSQL
docs has been added.

Fri Jan 31 13:00:00 2014 poemlAATTcmdline.net
- update to 2.18.0 (r8357):
New features:

* mod_mirrorbrain: improved HTML output for the details pages that
MirrorBrain generates
http://svn.mirrorbrain.org/viewvc/mirrorbrain?view=revision&revision=8334

* mod_mirrorbrain: If multiple instances of MirrorBrain run in Apache, warn
if DBD connect strings are not unique (which confuses Apache). Log a
helpful hint.

* The installation documentation was updated in many places.

* mb: new command line option for configuration file path.

* mb update: The geoiplookup and geoiplookup_city binaries are now also
looked for in /usr/share/mirrorbrain.

* geoip-lite-update: It is now possible to run this script without reloading
Apache. On the other hand, it can now reload Apache on openSUSE, Ubuntu,
Debian, Fedora, and via systemd.

* The create_timestamp script no longer contains openSUSE specifics. Usage:
create_timestamp [username:groupname] timestampfile1 [timestampfile2...]

* geoiplookup_city and geoiplookup_continent tools: The path to the GeoIP
database files is now configurable at compile time.

* mirrorprobe: in the --help output, display the default value for the
network timeout (20 seconds)
Bug fixes:
- properly create the new \"version\" table (and update the broken one from 2.17.0)
- SQL scheme for new installations now contains the missing new column ipv6_only.
- The SQL schema was updated to remove obsolete quotes around language names
on function declarations: \'plpgsql\' -> plpgsql; \'SQL\' -> SQL. PostgreSQL
9.2 and newer no longer ignore these wrong quotes.
- mod_mirrorbrain: Compiler warnings about using %d for size_t were silenced,
by now using APR_SIZE_T_FMT where appropriate.
- mb / mirrorbrain.conf: ignore trailing(!) spaces in passwords
- mb now gives sane error messages for misspelled/missing mirrorbrain.conf statements
- mb: when mod_asn is not installed, an additional ProgrammingError exception
from the sqlobject.dberrors can occur. This is now also caught.
- mb makehashes: “permission denied” errors are now handled gracefully
- mb iplookup: On the Solaris/OpenCSW platform, using socket.getaddrinfo() in
Python for DNS lookups doesn’t work with port 0. Using None instead seems
to be more correct and hopefully work on all platforms.
- mb edit: A mistyped dash in the commands help output was fixed.
- mb update: now handles errors that lead to Null as prefix or Null as AS
number, so the command doesn’t crash anymore under these conditions.
- mb dirs: When using the -d or --missing option, show only enabled mirrors
- tools/geoiplookup_
*: They no longer segfault when opening a GeoIP database fails
- mb scan: bug fixes for logging, and for configured broken FTP URLs (dir not found)
- removed obsolete files mirrordoctor.py and metalink-hasher.py
- The file mb/countries.py was never used; removed now.
- The build on openSUSE 13.1 was fixed.
- The build on RHEL6 was fixed.

Tue Jan 7 13:00:00 2014 poemlAATTcmdline.net
- Adjust spec file so it can be built on RHEL, with patch courtesy of jcpunk.
http://mirrorbrain.org/issues/issue125

Sat Apr 21 14:00:00 2012 poemlAATTcmdline.net
- update to 2.17.0 (r8289):
New features:
- IPv6 geolocation for IPv6 clients is now enabled. Requires GeoIP 1.4.8 and
mod_geoip 1.2.7.
- support for RFC 5988 Web Linking
- support for RFC 3230 HTTP Instance Digests (including updates from RFC 5843)
- support for RFC 6249 Metalink/HTTP: Mirrors and Hashes
Bug fixes:
- mb makehashes: fixed problem with filenames containing certain characters
- mb edit: respect VISUAL variable
- mirrorprobe: handle incomplete responses better
- mb vacuum: new option -q|--quiet
Database versioning and migration was implemented.
- Ubuntu 11.10 packages are now built and tested.
- Debian 6.0 packages have been tested.

Sat Mar 31 14:00:00 2012 poemlAATTcmdline.net
- fix build problem on Ubuntu 11.10, where the gcc requires a certain
order of arguments when linking (build of geoiplookup_continent.c failed)

Sun Mar 25 14:00:00 2012 poemlAATTcmdline.net
- update to 2.16.1 (r8263):
Bug fixes:
- mb makehashes: ignore PGP signature files that were not detached signatures (issue 102).
- mb makehashes: no longer write metalink data / cryptohashes into files.
(Was kept for backward compatibility).
- mod_mirrorbrain: Reworked error handling regarding the acquisition of
database connections, including more detailed logging of errors. This fixes
a crash that affected only setups with MirrorBrainFallback configuration.
The crash could occur when no database connection was available – because the
logging code wrongly tried to log details about the (unavailable) connection.
New features:
- mb mirrorlist: Path names can now contain wildcards.
- tools/push2mirrors, a script to run rsync processes in parallel to push
content to mirrors.

Tue Feb 21 13:00:00 2012 poemlAATTcmdline.net
- update to 2.16.0 (r8252):
http://mirrorbrain.org/docs/changes/#release-2-16-0-r8251-feb-21-2012
- URL signing is no longer experimental. See
http://mirrorbrain.org/docs/configuration/#configuring-url-signatures
- mb dirs: new option --missing to list all mirrors without a certain directory
- mod_mirrorbrain: The server could crash if there was configuration for
fallback mirrors in place and acquisition of a database connection failed.
(issue #84)
- mb scan:
- If some directories on a mirror return 404, the scanner crashed. This
is fixed with a patch kindly contributed by Thorsten Behrens.
- logging messages in the large file check have been silenced (and their
formatting improved)
- a compatibility issue with Python has been fixed, by updating the way how
exceptions are raised. Thanks to Christian Lohmaier
- mb makehashes: Handling of non-availability of SHA256 cipher was
fixed for old Python versions (issue #85)
- build problem documented: need to link math library on some newer platforms

Sun Nov 14 13:00:00 2010 poemlAATTcmdline.net
- update to 2.15.0 (r8232):
http://mirrorbrain.org/docs/changes/#release-2-15-0-r8232-nov-13-2010
- support for generating Yum-style mirror lists
- scanning Nginx directory listings
- bugfixes and improvements in the scanner
- extensive directions on tuning PostgreSQL for MirrorBrain

Fri Nov 12 13:00:00 2010 poemlAATTcmdline.net
- enable building on Fedora

Sat Nov 6 13:00:00 2010 poemlAATTcmdline.net
- update to 2.14.0 (r8210):
http://mirrorbrain.org/docs/changes/#release-2-14-0-r8210-nov-6-2010
- If the “GeoLite City” GeoIP database is used, MirrorBrain now uses
geographical distance as additional criterion to improve mirror selection
in difficult cases (issue #34).
- Per-file mirror lists are more readable and embed a link to a Google map
with mirrors.
- When running behind a load balancer or other reverse proxy, prefix
detection (for containment in network prefixes of mirrors) did not work.
- Experimental support for restricted downloads. See release notes.
- Running behind authentication (e.g. Basic) is now supported.
- zsync 0.6.2 compatibility has been tested.
- Small code optimizations and cleanups.
Upgrade notes: http://mirrorbrain.org/docs/upgrading/#to-2-14-0

Tue Oct 19 14:00:00 2010 poemlAATTcmdline.net
- update to 2.13.4 (r8188):
See http://mirrorbrain.org/docs/changes/#release-2-13-4-r8188-oct-19-2010
mb scan:
- The output of the scanner has been improved, by introducing a -q|--quiet
option. Used once, only a summary line per scanned mirror will be shown. Used
twice, no output will be produced except errors.
- When a scan via rsync ran into a timeout, the name of the affected mirror was
not reported. The error message was only “rsync timeout”, and while there
normally were other messages giving a hint, output is now improved to include
the mirror identifier.
- When enabling a mirror after successful scanning, the scanner now makes sure
that the mirror is not only marked “enabled” but also marked being “online”.
Mirrors are normally marked online by the mirrorprobe (which is typically run
once per minute), but it is much more logical when a mirror is really
directly available after scanning with --enable.
mb scan & mirrorprobe:
- There was a case of a quirky web server software that ignores requests
without Accept header. The mirrorprobe and the scanner now send an Accept
header with value ‘/‘, because sending this header in general should not
harm.
geoip-lite-update:
- This script now works on Ubuntu. It no longer relies on a command named ftp
being capable of doing HTTP downloads, and prefers curl or wget if available.
- The script is quiet now, producing no output if no error is encountered.
Documentation was extended and enhanced.

Sun Sep 26 14:00:00 2010 poemlAATTcmdline.net
- update to 2.13.3 (r8166):
See http://mirrorbrain.org/docs/changes/#release-2-13-3-r8166-sep-26-2010
- The Magnet links embedded in Metalinks could cause the Metalink client
aria2c to wait a long time on P2P connections, and not try the listed
mirrors anymore (issue #73). These links are no longer included at the
moment, unless MirrorBrainMetalinkMagnetLinks On is set in the Apache
configuration.
- Under certain conditions (transparent negotiation of metalinks),
mod_mirrorbrain could deliver a file \'foo\' when \'foo.bar\' was requested but
didnt exist. Found and fixed by Michael Schröder and closing issue #75.
- When generating Torrents, the order of keys was not obeyed, which should be
lexicographical. This is now the case, so the Torrents should be valid also
for clients that insist on correct ordering. This should improve the
compatibility to some clients, notably rtorrent. Tracked in issue 74 and
issue 78.
- The MD5 sum in Torrent info hashes was wrongly sent in binary form, instead
of being hex-encoded. In addition, the key was wrongly named md5 while
md5sum is the correct name. Fixing issue 77.
- Not a bugfix, but a hopefully useful addition is that Torrents now contain
a “created by” key, indicating the generator of the torrent, and the
version number (e.g. MirrorBrain/2.13.3). Suggested in issue 65.
- nomagnets.patch added recently is obsolete now and has been removed.

Thu Sep 23 14:00:00 2010 poemlAATTcmdline.net
- add nomagnets.patch to disable magnet links in Metalinks, which cause aria2c
to hang when downloading RPM packages. The magnet links have the same
priority as the highest mirror, but aria2c doesn\'t use the mirrors in that
case. (issue #73)

Sun Sep 19 14:00:00 2010 poemlAATTcmdline.net
- update to 2.13.2 (r8153):
See http://mirrorbrain.org/docs/changes/#release-2-13-1-r8136-sep-18-2010
mod_mirrorbrain:
- The content of the mirror lists (details pages) are now wrapped into a
XHTML/HTML DIV container with id=\"mirrorbrain-details\". This improves the
possibilities for styling in conjunction with a stylesheet linked in via
the MirrorBrainMirrorlistStyleSheet directive (issue #63).
- Further individual design can now be achieved by specifying the XHTML/HTML
header and footer which are placed around the page body instead of the
built-in XHTML (issue #63). This is configured with two new Apache
configuration directives.
- Hashes can now be requested without a filename being included in the
response, to simplify parsing (issue #68). This is done by sending the
query string only_hash. This works with different ways to request a hash:
http://host.example.com/foo.md5?only_hash
http://host.example.com/foo?md5&only_hash
- The filename in hashes can also be suppressed site-wide (and therewith, on
the server side) with a new Apache config directive
MirrorBrainHashesSuppressFilenames On. It goes into virtualhost context.
- When sending out a hash to a client (as requested by appending e.g. .md5),
there is now a double space between hash and filename – just like as the
familiar tools like md5sum and sha1sum do it. This should avoid confusion
and extra effort in parsing.
- The mirror list’s content type header now comes with UTF-8 as character set,
instead of ISO-8859-1, which should make more sense.
mb export –format=mirmon:
- update format (and documentation) for the current mirmon-2.3. (issue #62)

Sat Sep 18 14:00:00 2010 poemlAATTcmdline.net
- update to 2.13.1 (r8136)
mb edit:
- Fix a regression in 2.13.0, which made it impossible to remove an URL by
setting it to an empty string. r8044 (fix for issue #30) was the culprit.
mb scan:
- Scanning lighttpd web servers is now supported. Thanks to patch contributed
by Phillip Smith. This fixes issue #60.
mb list/edit/show/...:
- In some situations, the fuzzy-matching on mirror identifiers made it impossible
to select certain mirrors. Phillip Smith not only reported this issue but
submitted a clever patch at the same time, which keeps the convenient behaviour
but also allows for selection mirrors by their full name. Fixing issue #61.

Wed Sep 8 14:00:00 2010 poemlAATTcmdline.net
- expanding on the Ubuntu fix for issue 6. See comment
http://mirrorbrain.org/issues/msg236

Tue Sep 7 14:00:00 2010 poemlAATTcmdline.net
- Try to fix the little breakage that occured after moving /usr/bin/mb from
mirrorbrain-tools to python-mb on Debian/Ubuntu:
- mirrorbrain-tools:
Depends:python-mb (>=2.13.0)
- python-mb:
Breaks: mirrorbrain-tools (<<2.13.0)
Replaces: mirrorbrain-tools (<<2.13.0)
- The move of /usr/bin/mb from mirrorbrain-tools to python-mb wasn\'t done in
the RPMs yet

Tue Sep 7 14:00:00 2010 poemlAATTcmdline.net
- Debian/Ubuntu packaging (issue #4):
- user and group are now created automatically on installation
- /var/log/mirrorbrain is included in the package now

Mon Sep 6 14:00:00 2010 poemlAATTcmdline.net
- update to (probably final) r8123
- rsyncinfo.py renamed to rsyncinfo
- install the bdecode tool

Mon Sep 6 14:00:00 2010 poemlAATTcmdline.net
- update to r8115
- The module now works also when the path in the contains
symlinks, fixing issue #17
- Further documentation updates

Sun Sep 5 14:00:00 2010 poemlAATTcmdline.net
- update to r8112
- documentation updates
- remove the compile time check for the APR/APR-Util version and make it a
runtime check. This means that the correct database access semantics are used
even when mod_mirrorbrain is used with a different library version than it was
compiled with. Improving the fix for issue #7. N.B. A similar compile time
check to pick an appropriate format string in the SQL query is still there.

Thu Sep 2 14:00:00 2010 poemlAATTcmdline.net
- fix postinstall script on all platforms to really run the database migration.
mb --version wasn\'t enough; it doesn\'t connect to the database.
- make the postinstall script a little bit more verbose

Thu Sep 2 14:00:00 2010 poemlAATTcmdline.net
- bug fixes for Debian Lenny / old APR (1.2)

Thu Sep 2 14:00:00 2010 poemlAATTcmdline.net
- remove /var/run/mirrorbrain from the package, as /var/run might be created as
tmpfs during boot. It wasn\'t used anyway, yet. Fixing build on oS 11.3.

Wed Sep 1 14:00:00 2010 poemlAATTcmdline.net
- update to 2.13.0.
(Release notes http://mirrorbrain.org/docs/changes/ w.i.p.)
- remove requirement on the metalink package. Hashing is now done with
Python/OpenSSL.
- drop obsolete patches mirrorbrain-2.12.0-issue52.patch and
mirrorbrain.diff (https://bugzilla.novell.com/show_bug.cgi?id=602434)

Mon Aug 30 14:00:00 2010 poemlAATTcmdline.net
- add patch mirrorbrain-2.12.0-issue52.patch for
http://mirrorbrain.org/issues/issue52 (the match for client prefix/mirror
prefix should check for containment, not string match)

Wed May 5 14:00:00 2010 mlsAATTsuse.de
- work around mirrorbrain bug that caused metalink files with no mirrors

Sun Feb 21 13:00:00 2010 poemlAATTcmdline.net
- on Debian & Ubuntu, let the mirrorbrain-scanner package depend on the
libtimedate-perl package. Thanks Christophe Vandeplas from fosdem.org for
this fix.

Wed Feb 10 13:00:00 2010 poemlAATTcmdline.net
- update to 2.12.0 (r7957)
This release contains several important bug fixes, a new feature, and
documentation fixes.
Details: http://mirrorbrain.org/docs/changes/#release-2-12-0-r7957-feb-10-2010
- store geographical coordinates in the mirror database records
- fix wrong hash filenames constructed by mod_mirrorbrain on Debian (issue 35)
- fix wrong URL type within Metalinks for FTP URLs (issue 23)
- fix wrong URLs printed by \'mb file ls -u\' (issue 36)
- removed code for backwards compatibility for obsolete hash cache filename schemes (pre-2.10)
- try harder to catch rsync timeouts (also during connect time) (issue 12)
- fix FTP auth scanning
- fix mb db shell
- documentation enhancements

Fri Dec 18 13:00:00 2009 poemlAATTcmdline.net
- the metalink package can\'t be compiled on CentOS5, because of missing
glib2-mm. Thus, don\'t require it on that platform so it doesn\'t prevent
installation.

Wed Dec 16 13:00:00 2009 poemlAATTcmdline.net
- fix compile failure on openSUSE 11.2, where the gcc arguments order matters,
due to well-hidden SUSE_ASNEEDED=1 in the environment

Wed Dec 16 13:00:00 2009 poemlAATTcmdline.net
- update to 2.11.3 (r7933):

* null-rsync:
- IO errors returned by rsync are handled now
- remote errors from rsync are ignored now

* mb db sizes:
- show sizes of tables from mod_stats

* mb db shell:
- fix resuming after command suspension

* mb list:
- new options -H, -F, -R to display HTTP/FTP/rsync base URLs

* mb mirrorlist:
- try harder to not leave temp files
- add a link to our project in the footer
Documentation changes:
- MirrorBrainFallback now documented in the example mod_mirrorbrain.conf
- -t 20 option removed from the mirrorprobe call, since it\'s the default now
- hint about ulimits has been removed, which turned out to be a band-aid
for a purely local problem.
- hint about loading a database dump with mb db shell added
Details: http://mirrorbrain.org/docs/changes/#release-2-11-3-r7933-dec-16-2009

Sat Dec 5 13:00:00 2009 poemlAATTcmdline.net
- update to 2.11.2 (r7917):

* mb scan:
- Improvements in scanning over FTP (missed mirrors in subdirectory scans;
files with whitespace)

* mb db (new command for database maintenance tasks):
- mb db sizes - shows sizes of all relations
- mb db shell - conveniently open a shell for the database
- mb db vacuum - cleans up dead references (previously:
The previous command, \"mb vacuum\", continues to work for the reason of
backwards compatibility.

* mirrorprobe:
- default timeout lowered from 60s to 20s
Details: http://mirrorbrain.org/docs/changes/#release-2-11-2-r7917-dec-5-2009

Thu Dec 3 13:00:00 2009 poemlAATTcmdline.net
- update to 2.11.1 (r7899):

* mod_mirrorbrain:
- the compile time detection for APR < 1.3 was fixed. This affected Debian
and Ubuntu. Fixing issue #29.

Wed Dec 2 13:00:00 2009 poemlAATTcmdline.net
- update to 2.11.0 (r7896):

* mod_mirrorbrain:
- New feature: configure fallback mirrors via MirrorBrainFallback (see
release notes: http://mirrorbrain.org/docs/changes/#release-2-11-0-r7891-dec-2-2009
- use correct APR DBD API version semantics for row retrieval (issue #7)
- the obsolete MirrorBrainHandleDirectoryIndexLocally directive has been removed
(a warning issued where it is still found in the config)
- The default of MirrorBrainHandleHEADRequestLocally has been changed to \"off\".
This means in most cases, that the directive can be removed.

* The documentation for installation on Debian Lenny was tested and corrected
where needed. Credits to TheUni!

* mb:
- Parse errors in the configuration file are not caught and and reported
nicely.
- Special characters occurring in the configured password are escaped
before passing them to SQLObject/psycopg2, thus fixing issue #27. A
remaining issue is that double quotes can\'t be used... a warning is
issued if it\'s attempted.

* mb scan:
- A warning that appeared since the last release has been removed. It was
caused by the removal of obsolete code, and purely cosmetic.

* null-rsync:
- An --exclude commandline option has been implemented, to be passed
through to rsync.
- Control over the program output can now be exerted by the two new options
- -quiet and --verbose.
- Usage info is implemented (--help etc.).
- Interruptions by Ctrl-C and similar signals are intercepted now.

* metalink-hasher
- When comparing the modification time of a saved metalink hash with that
of a source file, the sub(sub-)second portion of the value could be
different from the value that has just been set by os.ulimit(). (Quite
surprisingly.) So now, we compare only the int() portion of the value.
This fixed issue #24.

Tue Dec 1 13:00:00 2009 poemlAATTcmdline.net
- Debian/Ubuntu: add postinstall/postrm script that load/unloads
mod_mirrorbrain

Fri Nov 27 13:00:00 2009 poemlAATTcmdline.net
- update to 2.10.3 (r7871):

* null-rsync:
- new script: special rsync wrapper which creates a local file tree from a
mirror, where all files contain only zeroes instead of real data. All
files are sparse, modification times and sizes are fully copied,
so that even (native) rsync thinks that the file tree is identical.

* mb new:
- when creating a new mirror, and detecting that the hostname resolved to
multiple addresses (round-robin DNS), a warning about this fact was issued.
Now, (short of documentaion in the manual) a reference to
http://mirrorbrain.org/archive/mirrorbrain/0042.html is added, where the
issue has been discussed in depth.
- A proper error message is now shown if an identifier is chosen that already
exists.

* mb mirrorlist / mb marker:
- The order in which mirrorlist columns are presented is now kept unchanged,
so it appears as it was entered into the database.
- The sort order of mirrorlist entries has been improved. Instead of the
priority, the mirror operator name is now given precendence in order, which
results in a mirror list that actually
*looks
* sorted.

Wed Nov 4 13:00:00 2009 poemlAATTcmdline.net
- update to 2.10.2 (r7853):
Bug fixes:

* When scanning a subdirectory, the mirror scanner (mb scan) could
accidentally delete files from the database outside of that directory. This
was caused by lack of terminatation (with a slash) of the path expression
that is used to grab the list of known files before the scan. Herewith
fixing issue #19.

* The mirrorprobe could crash when the sender domain of a configured mail log
handler wasn’t resolvable (issue #9). This has been fixed.

* A misleading error message in the mb tool was improved, which was issued
when encountering config file with missing sections.
The documentation was updated in various places. Debian/Ubuntu installation
instructions were added.

Wed Sep 30 14:00:00 2009 poemlAATTsuse.de
- split off a python-mb package, so the package layout is simimar
to the Debian/Ubuntu package

Tue Sep 29 14:00:00 2009 poemlAATTsuse.de
- split off a apache2-mod_autoindex_mb package, so the package
layout is similar to the Debian/Ubuntu package

Tue Sep 29 14:00:00 2009 poemlAATTsuse.de
- debianize the package (there are things missing: example config
files are not packaged, and user/group isn\'t created yet;
dependencies are untested)
- removed obsolete patch
mirrorbrain-2.10.0-metalink-hasher-suppress-ignore-message.patch
- improve package descriptions

Wed Sep 9 14:00:00 2009 poemlAATTsuse.de
- update to 2.10.1 (r7798):

* mod_mirrorbrain:
- implement another scheme for cached hash files, looking for filenames with
their size appended.
- for the new scheme, require that the mtime must match, and not only be newer.

* metalink-hasher:
- \"copy\" the modification time to the hash file, in preparation to make Apache
check if it\'s identical (until now, it checked only if it\'s newer)
- revert the recent change looking at the inode to judge whether files have
changed, and instead use the file size (in combination with the mtime, just
as rsync does). Migrate existing hashes, so that the files don\'t need to be
hashed again (which could be very time-consuming).
- ignore if a file that is supposed to be unlinked doesn\'t exist, which occurs
for instance in the above mentioned scenario, where the hash files are
renamed to a different name.
- implement per-directory locking. Directories where already a job is running
will be skipped. This allows for hassle-free parallel runs of more than one
jobs. Note that simultaneous spawning of the script still needs to be
controlled, because the I/O bandwidth consumed could become more than good
for a machine.
- catch keyboard Ctrl-C and common interrupting signals

Mon Sep 7 14:00:00 2009 poemlAATTsuse.de
- add fix from r7792, which makes the metalink-hasher suppress the
messages about ignored files - restoring the previous behaviour.

Fri Sep 4 14:00:00 2009 poemlAATTsuse.de
- update to 2.10.0 (r7789):

* metalink-hasher:
- the metalink hash cache was re-implemented. In addition to the
modification time, the file inode number is now used as criterion to
invalidate cached metalink hashes. (See https://bugzilla.novell.com/536495)
- a proper error message is now reported when the directory given
on the commandline (for which to create metalinks for) does
not exist
- a little bug (wrongly used variable) for another error message
was fixed

* mod_mirrorbrain:
- the new inode-wise metalink hashes is used, but the previous
scheme is used as fallback, so that the transition should be
seamless.
- bump version to 2.10.0.

* mb new:
- when adding new mirrors, the hostname part in the HTTP base URL might contain
a port number. This is now recognized correctly, so the DNS lookup, GeoIP
lookup and ASN lookup for the hostname string can work.
- commandline options --region-only, --country-only, --as-only,
- -prefix-only were added, which set the respective flags
- commandline options --operator-name and --operator-url were added
- depreciate the --score option, and rename it to --prio

* mirrorprobe:
- the mirrorprobe no longer logs to the console (stderr); this
allows for running the script without redirection its output to
/dev/null, which could mean swallowing important errors in the
end.
- a scenario was documented where the mirrorprobe could fail on
machines with little memories and many mirrors to check. The
fix is to properly set ulimit to allow a large enough stack
size.
- error handling was cleaned up
- more errors are handled (e.g. socket timeouts during response
reading) and logged properly
- for exceptions yet unhandled, info about the mirror that caused
them is printed

* mb scan:
- passing of arguments to the scanner script was fixed in the case where the -j
(--jobs) option was used together with mirror identifier specified on the
commandline.

* mb list:
- command line options to display the boolean flags --region-only,
- -country-only, --as-only and --prefix-only were added

* mb scan/mb file ls --probe:
- the lookup whether the \"multiprocessing\" or \"processing\" module
exist was fixed: it could print a false warning that none of
them was installed.

Fri Aug 21 14:00:00 2009 poemlAATTsuse.de
- update to r7771, nearing 2.9.2 release

* mb export:
- can now generate a mirmon mirror list. Thus, it is easy to
deploy mirmon, automatically scanning the mirrors that are in
the database.
- add a sanity check: when exporting into a subversion working
directory, make sure that a directory named \'.svn\' exists,
preventing accidental deletion of files.

* scanner:
- ignore rsync temp directories (.~tmp~) also when they occur
at the top level of the tree.

* documentation updates

* removed some obsolete text files, which only pointed to the
documentation in docs/
*, but cluttered the top-level directory:
BUGS, INSTALL, NEWS, THANKS

Wed Aug 12 14:00:00 2009 poemlAATTsuse.de
- update to 2.9.2 (r7756):

* large documentation updates

* mod_autoindex_mb:
- implement \"Mirrors\" and \"Metalink\" links for configurations with Apache\'s
IndexOptions HTMLTable configured.
- add missing slash to terminate XHTML br element in the
footer.
- find and report a small bug in mod_autoindex upstream. Locally fixed.
https://issues.apache.org/bugzilla/show_bug.cgi?id=47682

Thu Jul 30 14:00:00 2009 poemlAATTsuse.de
- update to 2.9.1 (r7725):

* mb new:
- Now an understandable error message is printed when the
geoiplookup_continent couldn’t be executed. Thanks to Daniel
Dawidow for providing helpful information to track this down.

* mod_mirrorbrain:
- Under unusual circumstances it may happen that
mod_mirrorbrain can’t retrieve a prepared SQL statement. This
occurs when an identical database connection string is being
used in different virtual hosts. To ease tracking down this
special case, the module now logs additional information that
could be useful for debugging. Also, it logs a hint noting
that connection strings defined with DBDParams must be
unique, and identical strings cannot be used in two virtual
hosts.

* The mod_mirrorbrain example configuration files were updated to
reflect several recent (or not so recent) changes.

Tue Jul 28 14:00:00 2009 poemlAATTsuse.de
- update to 2.9.0 release (r7715). The main change which wasn\'t in
this package is:

* A very hindering restriction in the mb tool which made it
require mod_asn to be installed alongside MirrorBrain has been
removed. MirrorBrain can now be installed without installing
mod_asn.
See http://mirrorbrain.org/docs/changes/#release-2-9-0-jul-28-2009
for the complete 2.9.0 changelog.
- install the new docs subdirectory
- don\'t install THANKS and NEWS any longer, whose content is to be
found on the web page / in the docs directory meanwhile

Mon Jul 27 14:00:00 2009 poemlAATTsuse.de
- add perl-TimeDate to the Requires of the mirrorbrain-scanner
subpackage (for Date::Parse). The package seems to be drawn in
with Apparmor, which is on most openSUSE systems, but let\'s
better be explicit.

Fri Jul 17 14:00:00 2009 poemlAATTsuse.de
- update to r7702:

* geoiplookup_city and geoiplookup_continent tools:
- open database file in /var/lib/GeoIP/, which is the FHS
correct location and the place where the database was moved
recently on openSUSE

* mb list:
- add --other-countries option to allow displaying the
countries that a mirror is configured to handle in addition
to its own country

* documentation updates

Mon Jul 13 14:00:00 2009 poemlAATTsuse.de
- adjust svn URL in spec file

Wed Jul 8 14:00:00 2009 poemlAATTsuse.de
- add libapr-util1-dbd-pgsql to Requires

Fri Jul 3 14:00:00 2009 poemlAATTsuse.de
- add metalink package to Requires

Fri Jul 3 14:00:00 2009 poemlAATTsuse.de
- add updates from svn trunk (r7675):

* mb new:
- try different geoip database locations (GeoIP database was
moved around...). prefer the larger city lite database, if
available, and prefer updated copies that were fetched with the
geoip-lite-update tool.

* mb probefile:
- report the mirror identifier for FTP socket timeouts

* mod_mirrorbrain:
- in the \"generator\" of metalinks, include our version string

* metalink-hasher:
- correct indentation of verification containers

* INSTALL:
take note that the mirrorbrain user is created upon package
installation now

Fri Jul 3 14:00:00 2009 poemlAATTsuse.de
- create mirrorbrain users\' home dir (/home/mirrorbrain) when
adding the user

Mon Jun 29 14:00:00 2009 poemlAATTsuse.de
- add updates from svn trunk (r7644):

* mirrorprobe: mirrorprobe and logrotate snippet adjusted to
new location in /var/log/mirrorbrain
- move mirrorprobe logfile to /var/log/mirrorbrain/ directory upon
update, create symlink for compatibility.
- create mirrorbrain group and user in %pre
- package a runtime directory (/var/run/mirrorbrain), which is
deleted at boot time by FHS standard
- package a log directory (/var/log/mirrorbrain)

Mon Jun 29 14:00:00 2009 poemlAATTnovell.com
- add updates from svn trunk (r7643):

* mirrorprobe:
- logrotate snippet added.

* mb file ls:
- don\'t show stale files, which are no longer on any mirror.
(Regression from around r7592)

* metalink-hasher:
- bump version (1.2)
- reverse the order in which we work through the todo list of directories
to be alphabetical.
- using a \"set\" builtin type instead of a list can speed up finding
obsolete files in the destination directory by 10 times, for huge
directories.
- small improvements in output and program help
- print a summary of deletions.
- catch (and ignore) various errors, as vanishing directories and
exceptions encountered when recursively removing ignored directories.
- install logrotate snippet for mirrorprobe

Fri Jun 26 14:00:00 2009 poemlAATTsuse.de
- add updates from svn trunk r7642:

* metalink-hasher:
- Automatic removal of old hashes, which don\'t have a pendant in
the file tree anymore, was implemented.
- A number of things were optimized to run more efficiently on
huge trees, mainly by eliminating all redundant stat() calls.
- sha256 was added to the list of digests to generated.
- The need to specify the -b (--base-dir) option was eliminated,
so the command is easier to use.

* mb probefile:
- The size of the process pool isn\'t configurable yet (to be
added later). For now, don\'t start more processes than needed
for the jobs. (Apparently the multiprocessing process pool has
a habit to always fork the given number of children processes,
more than needed.)

* geoip-lite-update:
- the tool to fetch GeoIP databases has been updated to use the
path that\'s used in the openSUSE package since recently
(/var/lib/GeoIP). It still tries the old location
(/usr/share/GeoIP) as well, so to continue to work in a
previous setup.

Wed Jun 24 14:00:00 2009 poemlAATTsuse.de
- add updates from svn trun r7604:
mb probefile:
- catch errors that are triggered by unhandled redirects.
TODO: handle redirects.
- use rsync with --list-only when probing for files, and not intending to
actually download them.
- fix displaying the probed URLs (the filename was appended twice)
- improve usage example added in last commit
- add usage examples to the \"osc help probefile\" output
INSTALL:
- link to the documentation Lars created in the wiki

Tue Jun 23 14:00:00 2009 poemlAATTsuse.de
- add updates from SVN trunk r7592:
User visible changes:
- Parallelized mirror probing.
Note: for this new feature, the Python module \"processing\" or
\"multiprocessing\" needs to be installed. If none of them is
found, the fallback behaviour is to probe serially, as before.
This doesn\'t affeect the mirrorprobe, which runs threaded, but
the mb probefile and file commands. It also affects the scanner
to speed up the checks done when only a subdirectory is scanned.
- mb probefile:
- Implemented downloading (and displaying) of content.
- An --urls switch was added, to select the kind of URLs to be probed.
- -urls=scan probes the URLs that would be used in scanning.
- -urls=http probes the (HTTP) base URLs used in redirection.
- -urls=all probes all registered URLs.
- Proxy envvars are unset before probing.
- mb scan:
- Considerably improved logging output, avoiding lots of ugly
messages which look like real errors (and tend to cover real ones)
- Now showing how long scanning took.
Internal changes:
- mb.util:
- A class named Sample was added which can be used to schedule
URLs to probe, as well as collect the results. This should be
a easy-to-use and extensible basis to implement further
probing and mirror sanity checks.
- Implemented rsync probing for directories

Fri Jun 5 14:00:00 2009 poemlAATTsuse.de
- add fix from SVN r7506, which makes rsync authentication work.
Credentials given via rsync URLs in the form of
rsync://:AATT/ work now. Patch
from Lars Vogdt.

Fri Jun 5 14:00:00 2009 poemlAATTsuse.de
- MirrorBrain 2.8.1 (r7504)
- Python 2.6 compatibility fixes:
- mb file ls --md5: use hashlib module, if available (this fixes a
DepracationWarning given by Python 2.6 when importing the md5 module)
- mb list: the --as option had to be renamed to --asn, because \"as\" is a
reserved keyword in Python, and Python 2.6 is more strict about noticing
this also in cases where just used as an attribute.
- remove the b64_md5 function, which is no longer used since a while
- mb file ls:
- make the --md5 imply the --probe option
- mb export:
- when exporting metadata for import into a VCS, handle additions and deletions
- update docs to point to new RPM packages in the openSUSE build service (in
a repository named Apache:MirrorBrain). The formerly monolithic package has
been split up into subpackages.
- perl-Config-IniFiles added to the list of perl packages required by the
scanner

Thu Jun 4 14:00:00 2009 poemlAATTsuse.de
- simplify buildrequires a bit

Sat Apr 4 14:00:00 2009 poemlAATTsuse.de
- add buildrequires for CentOS. A new enough Apache is missing
there, but they can be used for Fedora in a similar way

Sat Apr 4 14:00:00 2009 poemlAATTsuse.de
- rename package to mirrorbrain and split off some subpackages, so
that dependencies are a little more precisely located where
they\'re needed: - mirrorbrain-tools
- mirrorbrain-scanner
- apache2-mod_mirrorbrain

Tue Mar 31 14:00:00 2009 poemlAATTsuse.de
- update to r6964:

* mb export: implement a new output format, named \"vcs\". Can be
used to commit changes to a subversion repository and get
change notifications from it. See \"mb help export\" and0
http://mirrorbrain.org/archive/mirrorbrain-commits/0152.html

Mon Mar 30 14:00:00 2009 poemlAATTsuse.de
- package renamed from apache2-mod_zrkadlo (the old name) to
apache2-mod_mirrorbrain.

Mon Mar 30 14:00:00 2009 poemlAATTsuse.de
- update to MirrorBrain 2.8 (r6949):

* scanner:
- Larger improvements, mainly with regard to the definition of
patterns for files (and directories) that are to be included from scanning.
Old, hardcoded stuff from the scanner has been removed. Now, excludes can be
defined in /etc/mirrorbrain.conf by scan_exclude and scan_exclude_rsync
directives.
The former takes regular expressions and is effective for FTP and HTTP scans,
while the latter takes rsync patterns, which are passed directly to the
remote rsync daemon.
See http://mirrorbrain.org/archive/mirrorbrain-commits/0140.html for details.
This can decrease the size of the database (>20% for openSUSE), and for many
mirrors it considerably shortens the scan time.
- Fixed a bug where the scanner aborted when encountering filenames in (valid
or invalid) UTF-8 encoding. See https://bugzilla.novell.com/show_bug.cgi?id=490009
- Improved the implementation of exclusions as well as the top-level-inclusion
pattern, which were not correctly implemented to work in subdir scans.
- The source file was incorporated into the tools subdirectory.

* mb dirs:
- New subcommand for showing directories that the database
contains, useful to tune scan exclude patterns.

* The documentation was enhanced in some places, including the
installation docs..

* mod_autoindex_mb:
- This module (which is based on mod_autoindex) was rebased on
httpd-2.2.11.

Fri Mar 27 13:00:00 2009 poemlAATTsuse.de
- require Apache >= 2.2.6 and libapr-util1 >= 1.3.0

Mon Mar 9 13:00:00 2009 poemlAATTsuse.de
- update to r6772:

* mod_mirrorbrain:
- documentation updates (mod_mirrorbrain.conf, the example)

Mon Mar 9 13:00:00 2009 poemlAATTsuse.de
- update to r6748:

* scanner:
- implemented deletion of files from the mirror database for
subdirectory scans. Before, this was only possible with a
full scan. The new database scheme made this possible.
- fixed the implementation of the whitelist for top-level
directories in combination with subdir scans.
- increased the commit frequency for rsync scans, to hold
transactions open less long.
- fixed the \"enable after scan\" option for parallel scans

* mb list:
- add new options to display further selected info about
mirrors: --country --region --prefix --as --prio
The --country conflicts a little with the previous
- c|--country option to select mirrors; the latter is -c now,
which is a little dumb.

Wed Mar 4 13:00:00 2009 poemlAATTsuse.de
- update to r6694:

* mb file:
- files looked up in the database can now be probed for, and
the response displayed, optionally md5 hash of the downloaded
content. This can be used to check functionality of the
mirrors.

* mb new:
- when a new mirror is created, automatically fill in AS
number and prefix, as well as a little comment with
timestamp

* NEWS updated, and COPYING file added

Tue Mar 3 13:00:00 2009 poemlAATTsuse.de
- update to r6671:

* mod_mirrorbrain:
- make insertion of broken mirrors into metalinks more
practical, by making it configurable with
MirrorBrainMetalinkBrokenTestMirrors a directive which
specifies a file containing an XML fragment to be inserted.
- document the recently added \"as=...\" query parameter, which
causes a request to be treated as if it was coming from the
autonomous system with the given number

* metalink-hasher:
- make --ignore-mask work for directories, too

* mb tool:
- fix a namespace problem (?) with module importing
- small fix for \"mb delete\"

Mon Mar 2 13:00:00 2009 poemlAATTsuse.de
- update to r6661:

* mod_mirrorbrain:
- add broken URLs to the top of metalinks for testing purposes.
Clients can trigger this with additional HTTP request header
\"X-Broken-Mirrors: true\"
- remove the variables (in Apache\'s subprocess env) with overly
long names that have been replaced with shorter versions a
while ago

Mon Mar 2 13:00:00 2009 poemlAATTsuse.de
- update to r6649:
- add directions for upgrading from MB 2.6 to 2.7

Mon Mar 2 13:00:00 2009 poemlAATTsuse.de
- update to r6648:

* mod_mirrorbrain 2.7:
- New database scheme for PostgreSQL. Instead of a potentially
huge relational table including timestamps (48 bytes per
row), files and associations are now in a single table, using
smallint arrays for the mirror ids. This makes the table 5x
faster and 1/3 the size. In addition, we need only a single
index on the path, which is a small and very fast b-tree.
This also gives us a good search, and the chance to do
partial deletions (e.g. for a subtree).

* mb tool:
- adjust \"mb file [ls|add|rm]\" and \"mb delete\" to the
array-based database scheme
- adjust \"mb vacuum\" as well. It\'s much easier and also very
fast now.
- mb mirrorlist: fix the mb.files.check_for_marker_files()
function to work with the new mirr_hasfile_byname function

* scanner (v0.30):
- more work on the new database scheme; now fully implemented
- group database writes and commit them in chunks of useful size
- fix criminal indentation
- pass down -I to spawned scanners
- added a few more hardcoded directories to ignore in the
openSUSE tree. Of course, this needs to be made cleanly
configurable.
- handle concurrent insertion of a new file by another scanner.
When scanning for the first time (starting with an empty
database) there is a certain likelyhood that this may occur.
r6616 | poeml | 2009-03-01 21:42:43 +0100 (Sun, 01 Mar 2009) | 4 lines
metalink-hasher:
- add --ignoremask option that specifies a regexp for files that the hashes
should not be done for0

Thu Feb 26 13:00:00 2009 poemlAATTsuse.de
- update to r6597:

* scanner:
- improve FTP reconnection handling. Attempt to reconnect only
when more than 60 seconds have passed since the last activity
in the connection, thus dealing with a true timeout that
happened in the FTP server.

Thu Feb 26 13:00:00 2009 poemlAATTsuse.de
- update to r6594:

* scanner:
- implement for FTP, what was done for HTTP and rsync
yesterday: allow the definition of top-level directories that
are scanned and ignore all others. Saves on database size,
and makes scans a lot faster in many cases.
- in addition, the configuration to ignore certain paths has
never worked for FTP; should be fixed now as well, however I
didn\'t test it.

Wed Feb 25 13:00:00 2009 poemlAATTsuse.de
- update to r6588:

* scanner:
- fix a two-fold bug in FTP scanning:
First, ignore bogus return values from Perls Net::FTP, which
claim a 550 status code when in fact a timeout happend (421).
FTP servers may close connections when they are idle, and
when the scanner (or database) takes to long to chew on a
filelist, this may happen.
Fix both issues by ignoring the reported 550, and attempting
to reconnect.

Wed Feb 25 13:00:00 2009 poemlAATTsuse.de
- update to r6572:

* scanner:
- another measure to save on database size: allow the
definition of top-level directories that are scanned, and all
others ignored. Implemented for HTTP and rsync scanning so
far; FTP missing.
- add stub for using a different database scheme (experimental,
disabled)

* mb scan:
- pick up a new option named scan_top_include from
/etc/mirrorbrain.conf and pass it to the scanner

* mb vacuum:
- fix mb vacuum, the database cleanup tool, to work with
PostgreSQL MySQL idiosyncrasies removed, (although I didn\'t
test it with MySQL to see whether it still works with that
database)

Tue Feb 24 13:00:00 2009 poemlAATTsuse.de
- update to r6564:

* mod_mirrorbrain:
- for logging purposes, distinguish mirrors that are in the
same country from mirrors that act as fallback mirrors for
the country

* mb mirrorlist:
- take care that the new private mirror type doesn\'t end up on
the generated public mirror list

Tue Feb 24 13:00:00 2009 poemlAATTsuse.de
- update to r6561:

* mod_mirrorbrain:
- fix bug that occured with version 2.5 and affects PostgreSQL
installs: make the region_only, country_only, as_only,
prefix_only flags work again
- allow to override the client IP\'s autonomous system by HTTP
query parameter (?as=[0-9]
*)
- implement the missing redirection exceptions mirrors marked
AS-only or prefix-only.
- fix selection of mirrors into the metalinks, which didn\'t
respect the
*_only flags so far.
- avoid rendering invalid XML for metalinks, when autonomous
system or network prefix are unknown, and set to \"--\". Show
\"unknown\" instead.

Sun Feb 22 13:00:00 2009 poemlAATTsuse.de
- update to r6537:

* mb tool:
- handle DNS errors when updating mirrors with network data

* scanner:
- better output, showing more exactly where time is spent.
- when scanning all mirrors, start with those that have been
scanned longest ago
- cleanup of dead code

Sat Feb 21 13:00:00 2009 poemlAATTsuse.de
- update to r6531:
- MirrorBrain SQL schema:

* remove timestamp_file column

* timestamp_scanner is a UNIX epoch now, which is a little
smaller than an SQL timestamp.

* better indexes
- mod_mirrorbrain:

* shorten the SQL query
- scanner:

* adjusted for the new SQL scheme

* fix printing of database error strings
- mb tool:

* work around the requirement of SQLObject to have a primary
key in each table, by simulating one for it (with a table
view)

* mb iplookup: add --all-prefixes option

Fri Feb 13 13:00:00 2009 poemlAATTsuse.de
- update to r6452:
- mod_mirrorbrain 2.6

* additional mirror selection criteria are autonomous system
and network prefix, as looked up by mod_asn and provided by
the mirror database

* shorten the names of variables set in the subprocess
environment - the long ones are still there but can be
obsoleted soon, once the change is deployed.

* set MB_REALM to be available for logging.
- Two new mirrordoctor tools added:

* \"mb iplookup\" looks up network prefix and AS

* \"mb update\" can set/update this data across the database (all
mirrors)

Thu Feb 12 13:00:00 2009 poemlAATTsuse.de
- update to r6444:
- mb tool:

* allow to set the mirrorbrain instance via MB env var (command
option still exists, and overrides it)

Thu Feb 12 13:00:00 2009 poemlAATTsuse.de
- update to r6441:
- metalink-hasher:

* make sure that the file and directory permissions are not
copied, because for staged content this means that they might
be unreadable. Since the hashes don\'t contain any reversible
information, there is no reason to treat them as confidential
(and Apache would not deliver them anyway, since they are not
in the Docroot at all). Add an option that allows permission
copying.\" tools/metalink-hasher.py

Thu Feb 12 13:00:00 2009 poemlAATTsuse.de
- update to r6440:
- scanner:

* fix missing initialization of a variable used for logging the
server identifier - useful for debugging

Wed Feb 11 13:00:00 2009 poemlAATTsuse.de
- update to r6439:
- Interim release with further work on PostgreSQL support -
- updates to INSTALL docs
- MirrorBrain SQL schema:

* add country and region data for importing into newly created databases

* add asn and prefix field, and flags to limit mirror selection
by these, and remove obsolete netblock field
- mb probefile:

* add --md5 option; when doing probe requests, it\'ll do actual
downloads and show md5 sums of the responses
- mb export:

* add postgresql (insert statements) as export format

Wed Feb 4 13:00:00 2009 poemlAATTsuse.de
- update to r6377:
- scanner:

* be less verbose, don\'t print out each directory visited.
Rather show progress in a way that makes sense and stays
readable when mirrors are scanned in parallel. Prefix output
with mirror names

Wed Feb 4 13:00:00 2009 poemlAATTsuse.de
- update to r6373:
- mod_mirrorbrain:

* for reasons of consistency, remove the MirrorBrainInstance
directive when the module is compiled without memcache
support, because it was used only to give memcache keys a
unique name.
- mirrorprobe:

* be less verbose: don\'t send mail, and don\'t add a note to the
comment field each time a mirror is not reachable

* make it work with PostgreSQL

Tue Feb 3 13:00:00 2009 poemlAATTsuse.de
- update to r6360:
- scanner:
- fix enabling servers after scan. Make it work with both
PostgreSQL boolean type as well asn MySQL\'s tinyint.
- mirrorbrain tool (mb delete):
- when deleting a mirror, cascade delete all references first
- further work on the INSTALL document

Tue Feb 3 13:00:00 2009 poemlAATTsuse.de
- update to r6357:
- scanner: 0.22
- more efficient SQL statement handling
- added SQL logging option for debugging
- mb (mirrorbrain tool):
- bugfix in the file command: make patterns work which have a
wildcard as first character.
- extend \"mb scan\" to accept -v and --sql-debug and pass it
to the scanner

Tue Feb 3 13:00:00 2009 poemlAATTsuse.de
- update to r6332:
version 2.5

* intermediate release - working on the database schema, and on
the tools, to allow PostgreSQL as backend database.

* working on the installation howto

Fri Jan 23 13:00:00 2009 poemlAATTsuse.de
- update to r6154:
version 2.4

* mod_zrkadlo was renamed to mod_mirrorbrain

* memcache support is now optional at compile time

* update installation instructions

Fri Jan 23 13:00:00 2009 poemlAATTsuse.de
- update to r6128:

* mod_zrkadlo:
- accept digits in two-letter country codes, so that satellite
\"country\" A2 is accepted in queries

Wed Jan 21 13:00:00 2009 poemlAATTsuse.de
- update to r6075:

* mod_zrkadlo version 2.3:
- rely on mod_geoip to do GeoIP lookups. Deployment obviously
equires configured mod_geoip.
- deprecate \"clientip\" query parameter, which can no longer work
once we use mod_geoip.
- implement \'country\" parameter that can be used instead.

Wed Jan 21 13:00:00 2009 poemlAATTsuse.de
- update to r6065:

* mod_zrkadlo:
- don\'t do memory-intensive caching of the GeoIP database.

* geoiplookup_continent:
- make continent lookups work with GeoIPCity databases

* geoip-lite-update tool:
- adjust for the new URL of GeoLiteCountry database
- download also updates of the city database

* geoiplookup_city:
- new tool to show details from the GeoIP city databases

Mon Dec 29 13:00:00 2008 poemlAATTsuse.de
- update to r5980:

* mirrorprobe:
- auto-reenable mirrors.
- include details in the mail subject, not only in the body

* mb markers:
- new commandline tool to edit marker files in $EDITOR

* mb probefile:
- add option to probe on a single mirror

* mb mirrorlist:
- allow configurable html footer & header to be added in
- override caption and title by commandline arguments.
- remove openSUSE specific stuff that was hardcoded
- add timestamp to header template
- get regions from the database
- improve table - odd row class, cgi-escape html entities, ...
- every 20 rows, add another table header line
- exclude wildcard mirrors from the mirror lists.
- use stars instead of the raw priority values
- allow to add the creation time into the templates
- assign
 
ICM