Search
j0ke.net Open Build Service
>
Projects
>
Apache
:
Modules
>
apache2-mod_mirrorbrain
> mirrorbrain.changes
Sign Up
|
Log In
Username
Password
Cancel
Overview
Repositories
Revisions
Requests
Users
Advanced
Attributes
Meta
File mirrorbrain.changes of Package apache2-mod_mirrorbrain (Revision 24)
Currently displaying revision
24
,
show latest
------------------------------------------------------------------- Sun Sep 26 01:35:24 UTC 2010 - poeml@cmdline.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 16:25:18 UTC 2010 - poeml@cmdline.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 18:23:11 UTC 2010 - poeml@cmdline.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 02:02:02 UTC 2010 - poeml@cmdline.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 00:00:47 UTC 2010 - poeml@cmdline.net - expanding on the Ubuntu fix for issue 6. See comment http://mirrorbrain.org/issues/msg236 ------------------------------------------------------------------- Tue Sep 7 21:27:59 UTC 2010 - poeml@cmdline.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 16:26:47 UTC 2010 - poeml@cmdline.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 17:12:13 UTC 2010 - poeml@cmdline.net - update to (probably final) r8123 - rsyncinfo.py renamed to rsyncinfo - install the bdecode tool ------------------------------------------------------------------- Mon Sep 6 14:43:58 UTC 2010 - poeml@cmdline.net - update to r8115 - The module now works also when the path in the <Directory> contains symlinks, fixing issue #17 - Further documentation updates ------------------------------------------------------------------- Sun Sep 5 22:45:23 UTC 2010 - poeml@cmdline.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 19:17:36 UTC 2010 - poeml@cmdline.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:38:01 UTC 2010 - poeml@cmdline.net - bug fixes for Debian Lenny / old APR (1.2) ------------------------------------------------------------------- Thu Sep 2 13:24:49 UTC 2010 - poeml@cmdline.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:46:45 UTC 2010 - poeml@cmdline.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 11:30:15 UTC 2010 - poeml@cmdline.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 12:21:36 CEST 2010 - mls@suse.de - work around mirrorbrain bug that caused metalink files with no mirrors ------------------------------------------------------------------- Sun Feb 21 15:47:23 UTC 2010 - poeml@cmdline.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 22:43:14 UTC 2010 - poeml@cmdline.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 01:37:49 UTC 2009 - poeml@cmdline.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 16:45:34 UTC 2009 - poeml@cmdline.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 15:52:30 UTC 2009 - poeml@cmdline.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 20:45:20 UTC 2009 - poeml@cmdline.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 11:48:17 UTC 2009 - poeml@cmdline.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 03:23:44 UTC 2009 - poeml@cmdline.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 23:57:59 UTC 2009 - poeml@cmdline.net - Debian/Ubuntu: add postinstall/postrm script that load/unloads mod_mirrorbrain ------------------------------------------------------------------- Fri Nov 27 23:58:55 UTC 2009 - poeml@cmdline.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 16:37:50 UTC 2009 - poeml@cmdline.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 15:59:25 CEST 2009 - poeml@suse.de - split off a python-mb package, so the package layout is simimar to the Debian/Ubuntu package ------------------------------------------------------------------- Tue Sep 29 22:00:37 CEST 2009 - poeml@suse.de - split off a apache2-mod_autoindex_mb package, so the package layout is similar to the Debian/Ubuntu package ------------------------------------------------------------------- Tue Sep 29 19:40:35 CEST 2009 - poeml@suse.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 04:27:20 CEST 2009 - poeml@suse.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 11:41:36 CEST 2009 - poeml@suse.de - add fix from r7792, which makes the metalink-hasher suppress the messages about ignored files - restoring the previous behaviour. ------------------------------------------------------------------- Fri Sep 4 18:40:44 CEST 2009 - poeml@suse.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 23:08:52 CEST 2009 - poeml@suse.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 03:02:46 CEST 2009 - poeml@suse.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 05:31:35 CEST 2009 - poeml@suse.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 20:20:42 CEST 2009 - poeml@suse.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 ------------------------------------------------------------------- Tue Jul 28 00:12:04 CEST 2009 - poeml@suse.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 02:53:41 CEST 2009 - poeml@suse.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 23:33:37 CEST 2009 - poeml@suse.de - adjust svn URL in spec file ------------------------------------------------------------------- Wed Jul 8 22:15:37 CEST 2009 - poeml@suse.de - add libapr-util1-dbd-pgsql to Requires ------------------------------------------------------------------- Fri Jul 3 14:20:50 CEST 2009 - poeml@suse.de - add metalink package to Requires ------------------------------------------------------------------- Fri Jul 3 14:07:38 CEST 2009 - poeml@suse.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 12:01:12 CEST 2009 - poeml@suse.de - create mirrorbrain users' home dir (/home/mirrorbrain) when adding the user ------------------------------------------------------------------- Mon Jun 29 14:05:24 CEST 2009 - poeml@suse.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 11:23:38 CEST 2009 - poeml@novell.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:43:25 CEST 2009 - poeml@suse.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 17:43:42 CEST 2009 - poeml@suse.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 22:11:09 CEST 2009 - poeml@suse.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 17:37:31 CEST 2009 - poeml@suse.de - add fix from SVN r7506, which makes rsync authentication work. Credentials given via rsync URLs in the form of rsync://<username>:<password>@<host>/<module> work now. Patch from Lars Vogdt. ------------------------------------------------------------------- Fri Jun 5 14:22:32 CEST 2009 - poeml@suse.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 12:56:20 CEST 2009 - poeml@suse.de - simplify buildrequires a bit ------------------------------------------------------------------- Sat Apr 4 17:38:25 CEST 2009 - poeml@suse.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 16:52:53 CEST 2009 - poeml@suse.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 02:21:41 CEST 2009 - poeml@suse.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 02:27:40 CEST 2009 - poeml@suse.de - package renamed from apache2-mod_zrkadlo (the old name) to apache2-mod_mirrorbrain. ------------------------------------------------------------------- Mon Mar 30 02:17:12 CEST 2009 - poeml@suse.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 15:53:35 CET 2009 - poeml@suse.de - require Apache >= 2.2.6 and libapr-util1 >= 1.3.0 ------------------------------------------------------------------- Mon Mar 9 22:33:59 CET 2009 - poeml@suse.de - update to r6772: * mod_mirrorbrain: - documentation updates (mod_mirrorbrain.conf, the example) ------------------------------------------------------------------- Mon Mar 9 10:17:33 CET 2009 - poeml@suse.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 18:39:08 CET 2009 - poeml@suse.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 14:57:58 CET 2009 - poeml@suse.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 23:02:17 CET 2009 - poeml@suse.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 12:46:54 CET 2009 - poeml@suse.de - update to r6649: - add directions for upgrading from MB 2.6 to 2.7 ------------------------------------------------------------------- Mon Mar 2 02:15:56 CET 2009 - poeml@suse.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 15:45:28 CET 2009 - poeml@suse.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 03:20:07 CET 2009 - poeml@suse.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 16:18:42 CET 2009 - poeml@suse.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 03:42:50 CET 2009 - poeml@suse.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 20:18:08 CET 2009 - poeml@suse.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 17:38:53 CET 2009 - poeml@suse.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 16:31:45 CET 2009 - poeml@suse.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 20:35:59 CET 2009 - poeml@suse.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 08:19:25 CET 2009 - poeml@suse.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 18:49:04 CET 2009 - poeml@suse.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 02:09:43 CET 2009 - poeml@suse.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 01:02:55 CET 2009 - poeml@suse.de - update to r6440: - scanner: * fix missing initialization of a variable used for logging the server identifier - useful for debugging ------------------------------------------------------------------- Wed Feb 11 23:35:13 CET 2009 - poeml@suse.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 21:25:51 CET 2009 - poeml@suse.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 17:30:50 CET 2009 - poeml@suse.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 23:22:36 CET 2009 - poeml@suse.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 21:10:10 CET 2009 - poeml@suse.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 10:49:06 CET 2009 - poeml@suse.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 23:05:39 CET 2009 - poeml@suse.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 15:39:17 CET 2009 - poeml@suse.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 20:33:09 CET 2009 - poeml@suse.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 01:17:10 CET 2009 - poeml@suse.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 23:35:48 CET 2008 - poeml@suse.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 <col id="..."/> 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 14:54:16 CET 2008 - poeml@suse.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 05:05:49 CET 2008 - poeml@suse.de - update to r5802: * mb tool: add editable public_notes field ------------------------------------------------------------------- Tue Dec 2 03:34:41 CET 2008 - poeml@suse.de - update to r5778: * mb tool: work on generated mirrorlists. ------------------------------------------------------------------- Tue Nov 25 13:46:35 CET 2008 - poeml@suse.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 10:59:43 CET 2008 - poeml@suse.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 ------------------------------------------------------------------- Tue Nov 18 00:25:28 CET 2008 - poeml@suse.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 15:24:42 CET 2008 - poeml@suse.de - added shortcut 'mb' for the longish 'mirrordoctor' command ------------------------------------------------------------------- Sun Nov 9 19:24:09 CET 2008 - poeml@suse.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 18:03:01 CET 2008 - poeml@suse.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 17:47:08 CET 2008 - poeml@suse.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 12:43:42 CET 2008 - poeml@suse.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 16:24:03 CET 2008 - poeml@suse.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 23:27:20 CET 2008 - poeml@suse.de - update to r5465: * new subcommand 'mirrordoctor vacuum' for database pruning. Incorporates the functionality of previous /usr/bin/vacuum. ------------------------------------------------------------------- Mon Oct 27 12:47:27 CET 2008 - poeml@suse.de - update to r5445: * add geoip-lite-update, a script to automate updates of the GeoIP database ------------------------------------------------------------------- Mon Oct 27 10:22:49 CET 2008 - poeml@suse.de - update to r5442: * fix link to bittorrent resources. ------------------------------------------------------------------- Mon Oct 27 03:46:23 CET 2008 - poeml@suse.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 23:14:38 CEST 2008 - poeml@suse.de - update to r5427: * metalink-hasher: add PGP signatures into <verification> block ------------------------------------------------------------------- Wed Sep 24 01:33:13 CEST 2008 - poeml@suse.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 21:10:38 CEST 2008 - poeml@suse.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 15:48:37 CEST 2008 - poeml@suse.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 22:36:23 CEST 2008 - poeml@suse.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 15:44:24 CEST 2008 - poeml@suse.de - update to r4800: * metalink-hasher: - don't drop the <pieces> 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 12:47:13 CEST 2008 - poeml@suse.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:58:40 CEST 2008 - poeml@suse.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 ------------------------------------------------------------------- Sat Aug 23 01:01:03 CEST 2008 - poeml@suse.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 19:24:59 CEST 2008 - poeml@suse.de - update to r4753: mirrorprobe: include the instance name into the log messages ------------------------------------------------------------------- Fri Aug 22 18:18:02 CEST 2008 - poeml@suse.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 20:10:36 CEST 2008 - poeml@suse.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 16:03:55 CEST 2008 - poeml@suse.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 18:06:22 CEST 2008 - poeml@suse.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 ------------------------------------------------------------------- Mon Jun 16 00:48:25 CEST 2008 - poeml@suse.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 10:33:51 CEST 2008 - poeml@suse.de - build service supports the debuginfo flag in metadata now; remove debug_package macro from the specfile therefore. ------------------------------------------------------------------- Mon Jun 9 14:57:13 CEST 2008 - poeml@suse.de - update to r4133: - rsyncinfo: add option -S to hide rsync's stderr output ------------------------------------------------------------------- Mon Jun 2 17:35:22 CEST 2008 - poeml@suse.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 10:56:57 CEST 2008 - poeml@suse.de - update to r4011: - rsyncinfo: fix parsing of rsync module list, when no banner is prefixed. ------------------------------------------------------------------- Tue May 20 14:54:19 CEST 2008 - poeml@suse.de - update to r4002: - rsyncinfo: tabulate the output ------------------------------------------------------------------- Thu May 15 00:58:43 CEST 2008 - poeml@suse.de - don't package build intermediaries from mod_autoindex ------------------------------------------------------------------- Fri May 2 18:49:52 CEST 2008 - poeml@suse.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 19:33:06 CEST 2008 - poeml@suse.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:49:28 CEST 2008 - poeml@suse.de - update to r3871: - fix issue with requesting metalinks by appending ".metalink": the <size> element in metalinks was not filled in correctly anymore. ------------------------------------------------------------------- Sun Apr 27 23:12:35 CEST 2008 - poeml@suse.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 12:10:39 CEST 2008 - poeml@suse.de - update to r3840: - also return metalinks to clients which send application/metalink+xml in the Accept request header. ------------------------------------------------------------------- Mon Apr 21 18:17:24 CEST 2008 - poeml@suse.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 16:52:40 CEST 2008 - poeml@suse.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 19:59:38 CEST 2008 - poeml@suse.de - update to r3749: - bypass the redirection exceptions for metalinks, just as for mirrorlists ------------------------------------------------------------------- Thu Apr 17 18:17:29 CEST 2008 - poeml@suse.de - update to r3738: - make the scanner cope with servers that don't support range requests - small documentation updates ------------------------------------------------------------------- Mon Apr 7 23:46:19 CEST 2008 - poeml@suse.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 18:08:35 CEST 2008 - poeml@suse.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 17:31:56 CET 2008 - poeml@suse.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 <n>, 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 19:23:00 CET 2008 - poeml@suse.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 18:25:54 CET 2008 - poeml@suse.de - add perl-Config-IniFiles to requires ------------------------------------------------------------------- Thu Feb 28 13:57:53 CET 2008 - poeml@suse.de - add package requires for mod_form, GeoIP, python-mysql, python-sqlobject ------------------------------------------------------------------- Thu Feb 28 08:20:36 CET 2008 - poeml@suse.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 19:33:24 CET 2008 - poeml@suse.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 16:28:58 CET 2008 - poeml@suse.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 20:40:43 CET 2008 - poeml@suse.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 15:51:31 CEST 2007 - poeml@suse.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 23:55:17 CEST 2007 - poeml@suse.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 20:57:55 CEST 2007 - poeml@suse.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 04:17:19 CEST 2007 - poeml@suse.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 20:29:42 CEST 2007 - poeml@suse.de - update to r2012 - add new fields in statistic of memcached 1.2.x ------------------------------------------------------------------- Tue Mar 13 13:00:03 CET 2007 - poeml@suse.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 07:35:14 CET 2007 - poeml@suse.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 14:08:32 CET 2007 - poeml@suse.de - update to r1348 - make memcached connection pool size configurable - make memcached object lifetime configurable ------------------------------------------------------------------- Wed Feb 21 02:26:05 CET 2007 - poeml@suse.de - add geoiplookup_continent ------------------------------------------------------------------- Tue Feb 20 16:53:49 CET 2007 - poeml@suse.de - package created