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