Add fix from anarcat for ${configdirectory} in ninjahelper, also add -L to find to...
[matthijs/upstream/backupninja.git] / ChangeLog
1 version 0.9.4 -- unreleased
2     backupninja changes
3          . Fixed bug in toint(), and thus isnow(), which caused it
4            to not work when run from cron.
5          . Recursively ignore subdirs in /etc/backup.d (Closes: #361102)
6          . Add admingroup option to configuration to allow a group that can
7            read/write configurations (instead of only allowing root). Checks
8            and complains about group-readable files only when the group differs
9            from the one in the configuration file (default is root as before). 
10            Thanks to Martin Krafft for the patch (Closes: #370396).
11          . When determining which backup actions to make, find now follows
12            symlinks for $configdirectory
13     handler changes
14         Added tar handler
15         mysql:
16          . Fixed improper use of $vuserhome (Closes: #351083)
17          . Fixed erroneous removal of tmpfile when it didn't exit
18          . Fixed inversed vsname emptiness check
19          . Fixed su quote usage to be more posixy
20          . Compress for sqldumps now happens in-line to save some disk space (Closes: #370778)
21         pgsql:
22          . Fixed inversed vsname emptiness check
23          . Fixed su quote usage to be more posixy
24          . Fixed shell expansion, thanks Thomas Kotzian (Closes: #363297)
25          . postgres user UID is now the one from inside the vserver if necessary
26          . Compress now happens in-line to save some disk space (Closes: #370778)
27         svn:
28          . Fixed inversed vsname emptiness check
29         rdiff:
30          . Symlink and globbing support enhancement and clarification: for
31            a given include/exclude/vsinclude statement, rdiff handler now
32            support EITHER globbing with '*' OR symlinks in the path.
33          . Fixed improper include/exclude symlink dereference
34          . Removed overzealous vsnames check
35          . Now works if testconnect=no and if $test is not defined.
36         dup:
37          . Symlink and globbing support enhancement and clarification: for
38            a given include/exclude/vsinclude statement, dup handler now
39            support EITHER globbing with '*' OR symlinks in the path.
40          . Removed over zealous vsnames check
41          . Does not pretend anymore that duplicity can work without
42            any passphrase
43          . Support duplicity 0.4.2 (with Debian patches applied; upstream's
44            0.4.3 will integrate them)
45          . Now forbid to (try to) include /.
46         sys:
47          . Many more system checks were added, thanks to Petr Klíma
48         ldap:
49          . Compress now happens in-line to save some disk space (Closes: #370778)
50     lib changes
51         vserver:
52          . init_vservers: fixed Debian bug #351083 (improper readlink syntax)
53          . found_vservers: escaped special grep repetition character +
54     ninjahelper changes
55          . Recursively ignore subdirs in /etc/backup.d (Closes: #361102)
56          . Fix configdirectory error that forced you to use /etc/backup.d, thanks anarcat
57          . When determining which backup actions to list, find now follows
58            symlinks for $configdirectory
59     changed cron permissions to 644
60     minor documentation fixes
61
62 version 0.9.3 -- February 1st, 2006
63     autotools fixes
64     backupninja changes
65         backupninja.conf
66          . added (commented out) the various default paths to
67            programs such as PGSQLDUMP, so that users can figure
68            out more easily they can customize them
69         code refactor:
70          . now uses vservers lib to initialize vservers support
71     handler changes
72         duplicity, mysql, pgsql, rdiff, svn, sys: start to use (at different
73            degrees) new lib/vserver functionality
74         mysql:
75          . fixed no user defaults file processing
76         duplicity:
77          . fixed (again...) globbing in include and exclude options (Debian bug
78            #348022, follow-up to #338796)
79          . warn if vsnames or vsinclude is enabled while vservers support is
80            disabled in backupninja.conf
81          . now works when multiple vservers names are given (separated by space)
82            in vsnames config variable
83         rdiff
84          . fixed globbing bug in include, exclude and vsinclude options
85          . it's now possible to choose exactly which vservers should be
86            backed-up, as it already was with duplicity handler, with the
87            "vsnames" configuration setting
88     ninjahelper changes
89         rdiff.helper:
90          . fixed errors in create remote dir
91          . code formatting cleanup (three spaces indent)
92          . fixed bug which caused only first include/exclude dir to
93            have "include = "
94          . fixed globbing bug with exclude
95         ninjahelper:
96          . now reports error if the helper script has a syntax error or bombs out.
97          . code formatting cleanup (three spaces indent)
98     lib changes
99         vserver:
100          . init_vservers: improved VROOTDIR detection
101          . init_vservers: test in a stricter way the real vservers availability
102          . init_vservers: canonicalize VROOTDIR (since duplicity et al.
103            don't follow symlinks)
104          . init_vservers: warn if vservers are enabled but no vserver is found
105          . new function: vservers_exist
106     known bugs:
107         easydialog: 
108          . formDisplay does not return exit status.
109
110 version 0.9.2 -- December 29, 2005
111     backupninja changes
112         fixed broken toint() which caused when "everyday" problems
113         backupninja.conf.5 updated to include "when" and "vservers"
114         code refactor:
115             . moved to lib/ some code that has to be shared between
116               backupninja and ninjahelper
117     handler changes
118         trac:
119             . mkdir subdirectory problem fixed
120         duplicity:
121             . globbing support fixed in include and exclude options 
122             . different signing and encrypting key support added
123             . fixed erroneous comments in example.dup about the way
124               GnuPG-related options are used
125         mysql:
126             . handler vserver bugs fixed and debug output enhanced
127     ninjahelper(s) changes
128         vserver-related functions added to lib/vservers.in
129         added man/ninjahelper.1 man page
130         makecd:
131             . was missing in Makefile.am/.in
132         rdiff-backup:
133             . used to expand '*' in default source directories
134             . the "Cancel" buttons used to have a weird behaviour
135             . updated to include Vserver selection 
136         pgsql:
137             . forbid the user to choose an empty database set 
138             . "Cancel" button now does what it is meant to do
139         mysql:
140             . enhanced for vserver support 
141             . now able to select databases and dump directory
142         duplicity:
143             . new handler added (with Vserver support)
144
145 version 0.9.1 -- November 05 2005
146     rearranged source so that it is relocatable with autotools
147         (thanks to Petr Klíma petr.klima@madeta-group.cz)
148     fixed many bugs in rdiff helper
149     rdiff handler does not require 'label' (for real this time?)
150     added makecd ninjahelper
151         (thanks to Stefani stefani@riseup.net)
152     made ninjahelper create files with mode 600 rather than 000
153     changed subversion handler to use svnadmin hotcopy instead of
154             the unsupported hot-copy.py script, which was moved in Debian
155     update rdiff ninjahelper
156             now detects and auto-install rdiff-backup on the remote 
157             machine if possible, also tests the remote backup directory
158             and offers to create it if it doesn't exist
159
160 version 0.9 -- October 19 2005
161     *** IMPORTANT CHANGE, UPGRADE AT ONCE ***
162      fixed insecure temporary file creation 
163     *****************************************
164     removed erroneous magic file marker in pgsql handler
165     fixed incorrect find positional
166     changed direct grep of /etc/passwd to getent passwd.
167     rdiff helper has much better information on failed ssh attempt
168         (patch from cmccallum@thecsl.org).
169     rdiff handler now supports remote source and local dest. 
170         (patch from cmccallum@thecsl.org).
171     man pages are greatly improved.
172
173 version 0.8 -- September 15 2005
174     added pgsql (PostgreSQL) handler, with vservers support.
175     added vservers support to duplicity handler
176         Note: the configuration is a bit different than the rdiff
177         handler's one, but the default behavior is the same:
178         have a look at example.dup.
179     improved README
180     documented .disabled method.
181     corrected VROOTDIR default value.
182     added ninjahelper to the install instructions.
183     improved rdiff, dup and sys handlers' vservers support
184         prevent vserver-debiantools' $VROOTDIR/ARCHIVES directory
185         to be seen as a vserver
186     changes to sys handler
187         make use of configurable $VSERVERINFO instead of hard-coded vserver-info.
188         fixed dpkg existence test inside vserver.
189         fixed $nodpkg use.
190     changes to pgsql handler
191         now checks if the specified vserver is running.
192         now checks if $PGSQLDUMP/$PGSQLDUMPALL are available where needed.
193         now checks if "postgres" user exists on the host/vserver.
194     changes to ninjahelper
195         check_perms() does not die anymore on group/world readable
196         helper scripts (now consistent with the "helper scripts
197         must not be group or world writable!" error msg).
198     xedit action now tries $EDITOR, then /etc/alternatives/editor,
199         then nano, vim and vi, and aborts if none of these exists.
200     added helper for pgsql handler.
201     rdiff handler now does not require 'label'
202     changes to mysql and svn handlers' vservers support
203         these handlers now check if the source vserver is running
204     added 'ignores' for mysql handler. (thanks Daniel.Bonniot@inria.fr)
205
206 version 0.7 -- July 26 2005
207     added ninjahelper: a dialog based wizard for creating backupninja configs.
208     considerably improved and changed the log file output.
209     you can now disable actions with .disabled (this is new preferred method).
210     added makecd handler and example.makecd for backing up to cd/dvd (thanks stef).
211     fixed bug when specifying multiple 'when' options.
212
213 version 0.6 -- June 16 2005
214     ldap handler has new options: backup method to use (ldapsearch or
215         slapcat), restart, passwordfile and binddn. Default backup method
216         is set to ldapsearch as this is safer
217     ******************************************************************
218     NOTE: to get the previous default behavior with the ldap handler, 
219     you must set "method = slapcat". The new default is ldapsearch.
220     ******************************************************************
221     implemented fix so that the main script will echo fatal errors rather
222         than being silent about them, this means an error message every hour
223         if there is a major configuration problem (not a handler problem)
224     added vserver support to main script and to the handlers: mysql, svn, sys, rdiff
225     changes to duplicity handler (thanks intrigeri!):
226         "keep = yes" now disables file cleaning on desthost
227         added "sign" option for backups signing
228         added "encryptkey" option to specify the gpg key to use
229         split config into [source], [gpg] and [dest] sections
230         added "nicelevel" option
231         added "testconnect" option
232         added "sshoptions" option (will be passed to ssh/scp)
233         added "bandwidthlimit" option
234     example.dup example config file for duplicity handler 
235     added trac (http://trac.edgewall.com/) environment handler (thanks Charles Lepple!)
236     added configfile option to mysql handler
237         the default is /etc/mysql/debian.cnf. with this, 
238         sqldump doesn't need dbusername. (hotcopy still does).
239     fixed bug in mysql handler which caused some passwords to not work.
240         (.my.cnf files now have double quotes around password)
241     can now pass options to hwinfo and sfdisk in sys handler.
242
243 version 0.5 -- April 12 2005
244     rdiff handler works when remote sshd has a banner
245     rdiff handler supports local dest 
246     logfile is created if it doesn't exist
247     added "when = hourly" 
248     added optional 'nicelevel' to rdiff handler
249     fixed bug where actions were not run in numeric order.
250     improved 'when' parsing.
251
252 version 0.4.4 -- March 18 2005
253     results of handlers are now read line by line. 
254     changes to rdiff handler: added "options", and "keep" is
255         not necessarily days now (ie, it will pass straight through to
256         rdiff-backup if the keep has a unit on it, otherwise it adds the 'D').
257     added dup handler (still pretty beta)
258     added maildir handler (very specialized handler)
259     added --run option (runs the specified action file)
260     improved sys handler, now uses hwinfo
261     added subversion hotbackup handler, svn. 
262     added PATH to cron.d file, which fixes file not found errors.
263
264 version 0.4.2 -- Jan 6 2005
265     fixed bug which caused a report email to be sent even if no actions were run.
266     fixed bug where multiple handler status messages were ignored
267     added status in the subject line of report emails
268
269 version 0.4.1 -- Jan 3 2005
270     added $usecolors and now more conservative about when colors are echoed.
271     fixed major bug, 'when' actually works now.
272     replaced debug function with debug, info, warning, error, fatal.
273     added --now option to force all actions to be performed now.
274     
275 version 0.4 -- Dec 26 2004
276     added "when" option, so that all configs can specify when
277         they are to be run.
278     added reportsuccess and reportwarning config options
279     added .sys handler (hardware, packages, partitions).
280
281 version 0.3.4 -- Dec 8 2004
282     fixed numerical variable quoting compatibility with older wc    
283     fixed stderr redirect bug
284     some comments in example.rdiff
285
286 version 0.3.3 -- Nov 10 2004
287     '*' (asterisk) works now in rdiff config files
288     works now with gawk as well as mawk
289     many bug fixes to ldap handler
290     paths to helper scripts can be configured in global config
291     does not require /usr/bin/stat
292
293 version 0.3.2 -- Sept 29 2004
294     handler scripts are no longer executable (to comply with debian policy)
295     handler error and warning messages are sent with the notify email
296
297 version 0.3.1 -- Sept 5 2004
298     added ldap handler
299     moved sh support to a handler script
300     add test mode, where no action is taken.
301     added --help
302     force only root can read /etc/backup.d/*
303     fixed missing equals symbols in example.rdiff
304     changed backupninja executable to be /usr/sbin rather than /usr/bin
305     
306 version 0.3 -- Oct 20 2004
307     ** IMPORTANT ** all config files are now ini style, not apache style
308     rewrote all scripts in bash for portability
309     added drop-in backupninja lib directory (/usr/share/backupninja)
310     all scripts are now run as root
311
312 version 0.2 -- Oct 14 2004
313     move distribution folder ./cron.d to ./etc/cron.d
314     fixed bug: removed printr of excludes (!)
315     added support for changing the user/group in rdiff sources.
316     added support for .mysql config files.
317     
318 version 0.1 -- Oct 8 2004
319     initial release 
320