# changelog

author: Dave Dykstra <dwd@fnal.gov> 2.7.STABLE9-13.5
changelog:
  - Change /var/cache/squid and /var/log/squid to be %ghost and created in
    the post install step in case someone had relocated them with a symlink.
    A symlink in one of those places with the previous version caused the
    target of the symlink to get changed to root ownership.


author: Dave Dykstra <dwd@fnal.gov> 2.7.STABLE9-15.1
changelog:
  - Create the squid user's home directory if it doesn't exist at install
    time, because on RHEL6-derived systems a missing home directory prevents
    cron from running the squid log rotation.
  - Update to frontier-squid-2.7.STABLE9-15 tarball which has the following
    release notes:
    - Put squidcron.log in the same directory as cache.log rather than
      access.log, in case the access_log option is set to "none".  In
      the previous version it would put squidcron.log in the squid
      user's home directory if access_log was "none".
    - Change the init.d startup script to abort with an error message if
      the squid user's home directory does not exist, because on
      RHEL6-derived systems if a user's home directory doesn't exist then
      cron won't run the user's jobs.
    - Run squid without the -S option so it will never run an audit of
      the cache files.  During a normal start the cache is deleted so
      it doesn't matter, and the audit operation can take a very long
      time on a large cache during a restart.  Also an analysis showed
      that the typical types of errors the audit catches (missing files)
      are survivable.
    - Allow multiple background cache cleans to be happening at the same
      time, in case the cache is very large and someone does multiple
      stop/start operations.
    - Add environment variable SQUID_CLEAN_CACHE_ON_START which defaults
      to true and when set to false prevents clearing the cache on start.
      It can be set and exported in the package's /etc/sysconfig file.


author: Dave Dykstra <dwd@fnal.gov> 2.7.STABLE9-16.1
changelog:
  - Fix /etc/init.d/frontier-squid so if an alternate $FRONTIER_USER is
    set in /etc/squid/squidconf, then it will verify the existence of
    that user's home directory rather than the squid user's home directory.
  - Update to frontier-squid-2.7.STABLE9-16 tarball which rearranged the
    /etc/init.d script to be easier to modify at post-install time by
    the rpm, and which changed the delay after starting squid from 3 to
    10 seconds before checking to see if it is running.  That was the
    previous delay before the changes in the last release, and a system
    with 2 squids and slow disk access while cleaning cache in the
    background apparently didn't get started within 3 seconds.


author: Dave Dykstra <dwd@fnal.gov> 2.7.STABLE9-17.1
changelog:
  - Remove the cache when doing a full uninstall
  - When $FRONTIER_USER is not the default value 'squid', automatically
    manage the /etc/cron.d/frontier-squid.cron.rpmnew file that is always
    created
  - Upgrade to frontier-squid-2.7.STABLE9-17 tarball, which has the 
    following release notes:
   - Update the CERN Hungary Data Center's LHCOPN IP address range in
     the HOST_MONITOR access control list from the incorrect
     188.185.0.0/17 to the correct 188.184.128.0/17 and 188.185.128.0/17.
   - Add commented-out acls CMS_FRONTIER, ATLAS_FRONTIER, and MAJOR_CVMFS
     that can be uncommented and used in place of RESTRICT_DEST to
     restrict outgoing connections to the corresponding servers.  This
     allows updating the lists via frontier-squid package upgrades
     rather than requiring individual administrators to know how to keep
     the lists up to date.
   - Include the real time zone in the access.log timestamp instead of
     always +0000, and include milliseconds after the seconds.
   - Add the "cvmfs-info" header to the same double-quoted log entry that
     now has "X-Frontier-Id".  Since no client sends both headers, only
     one will show at a time; frontier entries will end with " -" and
     cvmfs entries will start with "- ".  Cvmfs clients currently only
     send cvmfs-info if configured with CVMFS_SEND_INFO_HEADER=yes so
     if that's not the case their log entries will show "- -".
   - Accept SQUID_MAX_ACCESS_LOG as the variable setting the maximum
     access log file size in place of LARGE_ACCESS_LOG (which is still
     accepted for backward compatibility).  Also if the value ends in
     'M' it indicates megabytes and if it ends in 'G' it indicates
     gigabytes; the default is bytes.
   - Run the "hourly" cron 4 times an hour, to catch faster when a log
     file has gone over the max size limit.
   - Compress log files by default, using logrotate.  If environment
     variable SQUID_COMPRESS_LOGS is exported and set to 'false', fall
     back to the previous method of telling squid to rotate the log
     files without compression.  In either case the logfile_rotate
     configuration parameter is used to define the maximum number of
     rotated files.  If frontier-awstats is also installed, the first
     file is left uncompressed.  When switching either way between
     compressed and uncompressed, removes all log files of the old type.
   - Rotate cache.log even if the access_log configuration parameter is
     "none".
   - Add a new "removecache" option to the init script to simply remove
     all of the cache, for use when removing the package.


author: Dave Dykstra <dwd@fnal.gov> 2.7.STABLE9-18.1
changelog:
  - Upgrade to frontier-squid-2.7.STABLE9-18 tarball, which has the 
    following release notes:
   - Protect rotate operations with a lock, because now that they
     compress files they can take a long time.  This is especially
     important for the one minute between the daily cron and the
     first hourly cron.
   - Fix bug introduced in last release where if access_log is set to
     "none", the cache log is rotated every 15 minutes.


author: Dave Dykstra <dwd@fnal.gov> 2.7.STABLE9-19.1
changelog:
  - Upgrade to frontier-squid-2.7.STABLE9-19 tarball, which has the 
    following release notes:
   - Make the default SQUID_MAX_ACCESS_LOG be 5G instead of 1G unless
     log compression is disabled.  This should take about the same 
     maximum space (~11Gbytes) as uncompressed log files did with a
     max size of 1G.
   - Add the TRIUMF CVMFS stratum 1 to the list in MAJOR_CVMFS.


author: Dave Dykstra <dwd@fnal.gov> 2.7.STABLE9-20.1
changelog:
  - Upgrade to frontier-squid-2.7.STABLE9-20 tarball which has the
    following release notes:
   - Increase the maximum number of squids that may be started from 4
     to 16
   - When running N > 1 squids, limit each squid to the hard limit on
     file descriptors divided by N.  This limiting greatly reduces or
     eliminates the number of failed accesses to cache files indicated
     by TCP_SWAPFAIL_MISS entries in access.log.  Require a minimum of
     4096 file descriptors for each squid, unless customize.sh sets a
     value below the calculated limit.  
   - Support use of SQUID_SUFFIX to add a suffix to all the files.
     This is not supported for use in the standalone tarball, just
     for use within an rpm.
  - Add logrotate as a dependency


author: Dave Dykstra <dwd@fnal.gov> 2.7.STABLE9-21.1
changelog:
  - Upgrade to frontier-squid-2.7.STABLE9-21 tarball which has the
    following release notes:
   - Fix redirection of stderr in the hourly and daily crons so error
     messages properly go to squidcron.log.
   - Only require the minimum 4096 file descriptors when doing one
     of the commands that contain "start" (that is, "start", "restart",
     or "condrestart") with multiple squids.
   - Add the script that generates squid.conf to the list of files that
     trigger regenerating squid.conf if they're newer than squid.conf.
   - Only generate the per-squid configuration files used with multiple
     squids when squid.conf is newer than them.


author: Dave Dykstra <dwd@fnal.gov> 2.7.STABLE9-22.1
changelog:
  - Upgrade to frontier-squid-2.7.STABLE9-22 tarball which has the
    following release notes:
   - Apply patch from Debian that was backported from a denial of
      service vulnerability reported for squid3 in CVE-2014-3609,
      having to do with an invalid "Range" header request.
   - Make slight correction to MAJOR_CVMFS acl regular expression.
   - Expand the server names allowed at RAL in the ATLAS_FRONTIER acl.
  - On final un-install, remove the generated configuration files used
    for running multiple squids at /etc/squid/.squid-*.conf


author: Dave Dykstra <dwd@fnal.gov> 2.7.STABLE9-23.1
changelog:
  - Upgrade to frontier-squid-2.7.STABLE9-23 tarball which has the
    following release notes:
   - Back out the dividing up of file descriptors between multiple squids
     that was added in frontier-squid-2.7.STABLE9-20.  It was based on a
     confusion over how the limit worked; the file descriptor limit works
     per process and not per user.
   - Support new configuration option SQUID_MULTI_PEERING=false to not
     insert cache_peer parent settings when there are multiple squids.
     By default when there are multiple squids, any squid other than the
     first one reads from the first one like it always used to.
   - Support using multiple squids for a reverse proxy.  Formerly it
     clobbered the http_port and cache_peer parent settings when using
     multiple squids.  Now it preserves any extra parameters on
     http_port and sets SQUID_MULTI_PEERING=false if a cache_peer parent
     setting already exists.
   - Support awstats with multiple squids: invoke run_awstats.sh if it
     exists (installed by frontier-awstats rpm) for the logs of all of
     the squids and not just the first one.  Requires frontier-awstats
     rpm version 6.9-3.2 or newer to work properly.
   - Don't invoke awstats if SQUID_SUFFIX is set (that is, in the
     frontier-squid2 rpm) so it won't get invoked twice when it
     is installed simultaneously with frontier-squid.
   - Support a "daemon:" prefix on access_log and cache_log, a poorly
     documented squid feature that uses a separate process to handle
     writing to log files so the main squid process doesn't have to
     wait for disk I/O.  This was added because log compression was
     observed on one machine to interfere with squid I/O accesses.
     Make this the default for access_log.
   - Run log rotation with ionice -n7.


author: Dave Dykstra <dwd@fnal.gov> 2.7.STABLE9-13.3
changelog:
  - Change the chkconfig behavior to more precisely match Redhat squid's
    package; an administrator will now have to do "chkconfig frontier-squid on"
    instead of "chkconfig --add frontier-squid"
  - Do a few other internal cleanup things to frontier-squid.spec


author: Dave Dykstra <dwd@fnal.gov> 2.7.STABLE9-13.4
changelog:
  - Add /var/cache/squid, /var/log/squid, and /var/run/squid to the list
    of directories installed; they had been accidentally left out


author: David Front <dfront@gmail.com> 2.7.STABLE9-6.1
changelog:
  - Use new release of frontier-squid tarball.  The most significant
    new feature is that multiple squids can be started on the same
    port.  For details of that feature and other tarball changes, see
      http://frontier.cern.ch/dist/frontier-squid-releasenotes.txt
  - Use more of the tarball directly, especially the proto files
  - Use the full version of the rpm to identify the squid process in
    SNMP monitoring
  - A small technical change at the spec file to support source rpms for
    frontier rpms
  - Use symbolic link to unproto.sh to simplify source tar ball creation


author: David Front <dfront@gmail.com> 2.7.STABLE9-7.1
changelog:
  - Use a fix of Dave Dykstra: fixed a small bug in the frontier-squid tarball
    that prevented the hourly cron from reading /etc/sysconfig/frontier-squid 
    for the setting of the LARGE_ACCESS_LOG variable, so it was impossible for
    the user to be able to control the size of the log files kept.


author: David Front <dfront@gmail.com> 2.7.STABLE9-8.1
changelog:
  - Change the init.d 'rotate' command to first remove the oldest log
    files, rather than asking squid to do it, because it can take a long
    time to delete large access logs and squid stops servicing requests
    during the rotate process.


author: Dave Dykstra <dwd@fnal.gov> 2.7.STABLE9-10.1
changelog:
  - Update to frontier-squid-2.7.STABLE9-10 tarball, which changes
    the default SNMP monitoring addresses accepted to be all of the
    WLCG addresses at the main CERN center and the backup CERN
    Hungary data center, and disables the ICP port by default
  - Remove sl5 from the rpm name, as the rpm works for both sl5 & sl6


author: Dave Dykstra <dwd@fnal.gov> 2.7.STABLE9-11.1
changelog:
  - Update to frontier-squid-2.7.STABLE9-11 tarball, which adds the
    Referer and User-Agent headers to the default logformat, and 
    includes the upstream squid source so it self-contained.
  - Fix a rpm spec bug that kept rpmbuild -ba from working


author: Dave Dykstra <dwd@fnal.gov> 2.7.STABLE9-12.1
changelog:
  - Update to frontier-squid-2.7.STABLE9-12 tarball which only
    changes a comment in customize.sh so it can make more sense for
    the rpm
  - Change initial install to not start squid or do chkconfig -add
    to match what the standard Redhat squid rpm does
  - Change upgrades so squid will only be restarted if it was
    running at the time of the upgrade
  - Fix bug that prevented stopping squid when removing the rpm
    while squid is running


author: Dave Dykstra <dwd@fnal.gov> 2.7.STABLE9-13.1
changelog:
  - Update to frontier-squid-2.7.STABLE9-13 tarball which moves the
    output of cron jobs from daily.log in the directory the cron scripts
    are in (/etc/squid/cron) to the directory of the other squid
    logs (default /var/log/squid).
  - Remove the ability to use --prefix at rpm install time to
    relocate, because this greatly simplifies the rpm code including
    no longer needing to install .proto files with the package.
  - Change the cron jobs from being run from the squid user's
    /var/spool/cron (crontab) file to instead being run from 
    /etc/cron.d/frontier-squid.cron.
  - When a user id (default "squid") needs to be created, create it
    as a system account (that is, with a UID lower than the value of
    UID_MIN in /etc/login.defs).
  - If the requested group (default "squid") is missing, create it
    just like a missing user id.
  - Set the ownership of all files under /etc/squid to be the squid
    user instead of leaving some as root.
  - Remove execute permission from files in /etc/squid that don't
    need it.
  - Remove bogus squid doc files from /usr/share/doc.
  - Move the restart of a running process from the post-uninstall to the
    post-install actions.  Note: this has a side effect of causing it to
    restart twice the first time a package is upgraded from the previous
    style to this style.
  - Move the release notes to the rpm changelog.


author: Dave Dykstra <dwd@fnal.gov> 2.7.STABLE9-13.2
changelog:
  - Make /etc/squid/squid.conf a %ghost file so if someone is upgrading
    from a non-frontier squid it won't be overwritten


author: Dave Dykstra <dwd@fnal.gov> 2.7.STABLE9-24.1
changelog:
  - Upgrade to frontier-squid-2.7.STABLE9-24 tarball which has the
    following release note:
   - Fix the disabling of log compression with the SQUID_COMPRESS_LOGS=false
     setting.  The variable was not being honored in the nightly log rotate
     cron, so log compression still happened at night.  It was being 
     honored in the every 15 minute check, so if the maximum log size
     was reached during the day it removed all the compressed files
     that were rotated overnight, losing log history.


author: Dave Dykstra <dwd@fnal.gov> 2.7.STABLE9-24.2
changelog:
  - Add creation of config file in /usr/lib/tmpfiles.d to create /run/squid
    directory on reboot of EL7-based systems.


author: David Front <dfront@gmail.com> 2.7.STABLE9-5.23
changelog:
  - Change the default NET_LOCAL at /etc/squid/customize.sh to be
    10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 rather than 0.0.0.0/32

    Related: At release notes for frontier-squid-2.7.STABLE9-5:
    at http://frontier.cern.ch/dist/frontier-squid-releasenotes.txt:
    Remove the hidden default of always allowing incoming access to
    private network addresses 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16.
    Instead, make that default explicit in the first customize.sh that
    is generated so if the administrator doesn't want that it can be
    easily changed.


author: David Front <dfront@gmail.com> 2.7.STABLE9-5.24
changelog:
  - Following the recommendation of Dave Dykstra, change /etc/squid/squid.conf
    to be %ghost at the spec file, and hence not installed by the rpm
    but yes removed at rpm uninstall.  As a result, the one line place
    holder of this file is no more needed, and also no need to check for
    small file when testing if this config file should be regenerated,
    at fn-local-squid.sh.proto.


author: David Front <dfront@gmail.com> 2.7.STABLE9-5.22
changelog:
  - Change $AWSTATS_SCRIPT at fn-local-squid.sh.proto 
    from /etc/awstats/squid_rotate_run_awstats.sh
    to /etc/awstats/run_awstats.sh


author: David Front <dfront@gmail.com> 6.0-14
changelog:
  - Complete support of rpm verify, command:'rpm -V':
    Do not remove *.unproto files (after usage), in order to cause "rpm
    -V" to pass.


author: David Front <dfront@gmail.com> 6.0-15
changelog:
  - Apply fix at src/usr/share/awstats/squid_rotate_run_awstats.sh.proto
    by Dave Dykstra to support non aliased DNS names. 
  - Remove ${RPM_INSTALL_PREFIX}/usr/share/awstats/squid_rotate.sh 
    This script is installed by cms awstats tar, but is not used by the rpm.
  - Now, squid calls the awstats script, if it exists,
    to prevent related bugs and simplify the code.


author: David Front <dfront@gmail.com> 6.0-16
changelog:
  - At upgrade, remove no-more-needed directory/file/lines:
    -- logs dir: ${RPM_INSTALL_PREFIX}/var/log/fontier-awstats
    -- file: ${RPM_INSTALL_PREFIX}/usr/share/awstats/squid_rotate_run_awstats.sh
    -- awstats crontab entries
  - Rename /etc/awstats/squid_rotate_run_awstats.sh to /etc/awstats/run_awstats.sh
  - Simplify run_awstats.sh: No need to set LogFile at awstats configuration
    file, because this is over ridden by an argument to awstats.pl
  - Cause run_awstats.sh to be more robust:
    If configuration creation fails, exit, and do not overwrite previous
    configuration.


author: David Front <dfront@gmail.com> 6.0-17
changelog:
  - A small technical change at the spec file to support source rpms for
    frontier rpms 
  - Use symbolic link to unproto.sh to simplify source tar ball creation


author: Dave Dykstra <dwd@fnal.gov> 6.9-1.1
changelog:
  - Change release numbers to be based on the underlying awstats
    package release number from the internet.
  - Add chkthread data collection to be able to plot frontier
    servlet threads, response time, and database response times, if
    the frontier tomcat log exists.  This has little to do with
    awstats except that it is needed on the same machines (frontier
    launchpads) and uses the same mechanism for uploading data
    (rsync to frontier.cern.ch).  This data is collected every 5
    minutes instead of the once an hour collection of awstats.
  - Keep track of previously downloaded node name alias and 
    site+project name, in /etc/awstats/awstatsconf.  Then if the
    download (from frontier.cern.ch) fails, re-use the previous
    values.  The chkthread data collection then uses the same file
    so it doesn't need to know how to do the download.
  - Keep the awstats config template in /etc/awstats/awstats.model.conf
    instead of /etc/awstats/awstats.conf so people don't think it is
    an actively used configuration.
  - Keep the first two components of URLs from the squid log instead
    of just the first one; that causes no harm for Frontier (the second
    URL component is always "Frontier") and is helpful for CVMFS.
  - Change directory of support files from /usr/share/awstats to
    /usr/share/frontier-awstats.
  - Remove support for /etc/awstats/customize.sh


author: Dave Dykstra <dwd@fnal.gov> 6.9-1.2
changelog:
  - Remove requirement that /etc/awstats/password-file exists before
    rpm installation.  Create it at install time as an empty file if
    it doesn't exist.
  - Do not install the chkthread cron entries if frontier-tomcat is
    not installed.


author: Dave Dykstra <dwd@fnal.gov> 6.9-3.1
changelog:
  - Update to 6.9-3 tarball which only removes a couple of unused files
  - Remove chkthread monitor generation from this rpm (it is moved to
    frontier-maxthreads rpm)
  - Change awstats monitoring host to be wlcg-squid-monitor.cern.ch
    instead of frontier.cern.ch
  - Remove generation of squidmodifiedqueries, which was a squid log subset
  - Remove relocatability of rpm to simplify it
  - Fully clean up files in /var/lib/frontier-awstats on final uninstall
  - Move release notes into %changelog instead of separate file


author: Dave Dykstra <dwd@fnal.gov> 6.9-3.2
changelog:
  - Keep separate configuration and data directories when frontier-squid is
    configured to run multiple squids, to separately keep statistics on
    each of the squids.


author: Dave Dykstra <dwd@fnal.gov> 6.9-3.3
changelog:
  - Move a temporary file from /tmp to the same directory as the input log
    in case /tmp is too small.


author: David Front <dfront@gmail.com> 6.0-11
changelog:
  - Kludge to artificially avoid huge awstats logs:
    At src/usr/share/awstats/squid_rotate_run_awstats.sh.proto:
    If /etc/awstats/customize.sh has a record like
       export RM_BEGIN_SIDER=1
    then remove all records of awstats files between BEGIN_SIDER and END_SIDER.


author: David Front <dfront@gmail.com> 6.0-12
changelog:
  - Remove the recent kludges to clean BEGIN_SIDER and to handle IP
  - Add test that password-file exists as prerequisite to install
  - Rotate of modifiedqueries.log moved from frontier-tomcat to frontier-awstats
    rpm, to avoid dependency between user of frontier-tomcat and frontier-squid
    rpms'
  - support default squid user being squid (if the file /etc/squid/squidconf is
    missing).


author: David Front <dfront@gmail.com> 6.0-13
changelog:
  - Supporting rpm verify, command:'rpm -V':
    -- Add the prefix '%verify(not user group)' to each %files entry, 
       in order to prevent complaints from 'rpm -V', like:
  	.....UG.    <fileName>
    -- Note, however, that 'rpm -V' may still create misleading complaints like:
  	missing   ... <fileName>.proto


author: Dave Dykstra <dwd@fnal.gov> 2.7.STABLE9-25.1
changelog:
  - Upgrade to frontier-squid-2.7.STABLE9-25 tarball which has the
    following release notes:
   - Apply fix for reported security vulnerability CVE-2016-4554.  It
     is only for transparent proxies which is not the way frontier-squid
     is normally used, but the patch is applied just in case.  Also
     discussed in http://bugs.squid-cache.org/show_bug.cgi?id=4501
     and http://bugs.squid-cache.org/show_bug.cgi?id=4515.
   - Add hepvm.cern.ch to the MAJOR_CVMFS acl.


author: Dave Dykstra <dwd@fnal.gov> 2.7.STABLE9-26.1
changelog:
  - Upgrade to frontier-squid-2.7.STABLE9-26 tarball which has the
    following release note:
   - Change default minimum_expiry_time to 0 seconds.  Without this
     change, squid will not cache any objects that are loaded for the
     first time during the last minute of their lifetime; instead, all
     requests for that object during that minute are sent upstream.  It
     only affects squids that are fed by other squids.


author: Dave Dykstra <dwd@fnal.gov> 2.7.STABLE9-27.1
changelog:
  - Upgrade to frontier-squid-2.7.STABLE9-27 tarball which has the
    following release notes:
   - When using compressed logs and SQUID_CLEAN_CACHE_ON_START is true
     (both of which are default), then truncate the swap.state file
     in ufs cache directories each time logs are rotated.  Otherwise the
     file grows without bounds.
   - When using the 'restart' function, clean ufs cache directories the
     same way as when doing 'start'.
   - Change the default cache_dir size in squid.conf.proto to 10000 MB in
     case someone deletes the default 10000 MB line in customize.sh.


author: Dave Dykstra <dwd@fnal.gov> 1-3
changelog:
  - install the correct file for logrotate.d; it was accidentally installing
    a copy of the cron.d file into logrotate.d


author: Dave Dykstra <dwd@fnal.gov> 2-1
changelog:
  - Change to be exact match on instance name rather than exact only at the
    end.  In particular, 'atlr' was matching on 't0atlr' log entries.


author: Dave Dykstra <dwd@fnal.gov> - 0.2-1
changelog:
  - Add initial implementation of wlcg-wpad.cern.ch
  - Copy config files from wlcg-squid-monitor.cern.ch
  - Rename apache config to 10-wlcg-wpad.conf to give it order priority


author: Dave Dykstra <dwd@fnal.gov> - 0.4-1
changelog:
  - Disable the entries that are marked "disabled"
  - When there's a match, print "// For sitename, ..." as a leading comment


author: Dave Dykstra <dwd@fnal.gov> - 0.5-1
changelog:
  - Add support for client load balancing of proxies
  - If "cmsnames" is present in the data, add those to the first line comment
    in the form "; CMS: sitename,..."


author: Dave Dykstra <dwd@fnal.gov> - 0.6-1
changelog:
  - Return specific error messages from wlcg_wpad module to the user
    rather than a generic "No proxy found"


author: Dave Dykstra <dwd@fnal.gov> - 0.7-1
changelog:
  - Change config file name from geosort.conf to wlcgwpad.conf
  - Add support for destshexps config variable, which are shortcuts to shell
    expressions that choose different proxy services
  - Add support for ipranges keyword in input file, to limit a proxy service
    to a subrange of source addresses
  - Use ip address passed in from input file instead of looking names up
    in the DNS


author: Dave Dykstra <dwd@fnal.gov> 1.6-1
changelog:
  - add a "continue" option to add-repository to do just the snapshot
    part, in case the initial snapshot fails


author: Dave Dykstra <dwd@fnal.gov> 1.7-1
changelog:
  - Always have the /var/spool/cvmfs/<repo>/tmp symlink point to $STORAGE
    so it's one less thing to do when moving a repo from one $SRV to another.


author: Dave Dykstra <dwd@fnal.gov> 2.0-1
changelog:
  - Remove Requires: heartbeat so package can also work without heartbeat
  - For convenience of non-heartbeat system, add a symlink pointing to
      /etc/ha.d/resource.d/cvmfs-push-abort
    at
      /usr/share/cvmfs-hastratum1/push-abort
  - Add /usr/bin/cvmfsha-is-master and cvmfsha-is-backup which return an
    exit code of 0 only on the master machine or backup machine
    respectively (it is possible to be neither).  If the hastratum1.conf
    configuration variable IS_HA_MASTER_CMD or IS_HA_BACKUP_CMD
    respectively are set, the command listed will be eval'ed to
    determine this; if the variables are not set, the corresponding
    heartbeat commands are used.
  - Add "cvmfsha-" prefix symlinks for each of the /usr/sbin tools
  - Add OSG support tools in /usr/share/cvmfs-hastratum1: print-osg-repos
    and generate-osg-replicas
  - Add general tool /usr/bin/watch-network-q for watching queued network
    requests


author: Dave Dykstra <dwd@fnal.gov> 2.2-1
changelog:
  - Change add-repository to allow a domain public key to be missing if
    $EXTRAKEYS is set.  This is to support repositories from any domain
    being signed by the OSG public key.
  - Add -h option to add-repository to add on only current half of ha pair
    of machines.  This is for use when re-installing a machine.
  - Change add-repository to ignore differences in file modification times
    of the data between the master and backup machines.
  - Change pull_and_push to not do push if remote side hasn't finished
    initial snapshot, because the initial snapshot can take a long time
    when re-installing a machine from scratch including the data.
  - Change pull_and_push ABORT to kill with -15 instead of -9, so that
    cvmfs_server can clean up any locks before exiting.


author: Dave Dykstra <dwd@fnal.gov> 2.3-1
changelog:
  - Allow pull_and_push to take over if both sides of a repository are
    made with add-repository -h.
  - Hide error message in pull_and_push ABORT command coming from second
    kill attempt if the first attempt succeeded.
  - Add support for cvmfs-server-2.2.X's info directory
  - Allow parallel pull_and_push commands, up to $MAXPARALLELPULL which
    defaults to 4.


author: Dave Dykstra <dwd@fnal.gov> 2.5-1
changelog:
  - Add -H option to add-repository that's just like -h except will only
    add if some old data is present.
  - Add -h option to remove-repository to remove only the current HA half
    and leave data behind.
  - Add -t option to generate_replicas to only generate a short list of
    test replicas rather than the whole list.


author: Dave Dykstra <dwd@fnal.gov> 2.6-1
changelog:
  - Change add-repository to always use cvmfs_server add-replica -z to enable
    garbage collection when it is available in the upstream repository.


author: Dave Dykstra <dwd@fnal.gov> 1.1-1
changelog:
  - fix a couple of kerberos-related things: set missing $THISHOST in
      remove-repository, and set a PATH in pull_and_push to find kinit
      (since cron doesn't set the PATH).


author: Dave Dykstra <dwd@fnal.gov> 1.3-1
changelog:
  - also set a PATH in remove-repository and add-repository to find kinit,
      in case they are run from cron


author: Dave Dykstra <dwd@fnal.gov> 1.4-1
changelog:
  - have add-repository and pull_and_push edit the new $CVMFS_STRATUM1 URL
    put in server.conf by cvmfs-server 2.1.20, to point to the stage
    subdirectory
  - change pull_and_push to accept single repository name to update instead
    of all repositories
  - change add-repository to support keys directly in /etc/cvmfs/keys or
    in /etc/cvmfs/keys/<domain> directories
  - change add-repository to add optional $EXTRAKEYS to added repository
    if they're not already in the default


author: Dave Dykstra <dwd@fnal.gov> 2.7-1
changelog:
  - Back out the change from 2.6-1 and instead add script cvmfsha-gc-all
    that runs garbage collection on all repositories that have garbage
    collection enabled on the stratum 0.  Call it from cron on both
    master and backup machines, and redirect output to a log file.


