"Fossies" - the Fresh Open Source Software Archive 
Member "BackupPC-4.4.0/ChangeLog" (20 Jun 2020, 104264 Bytes) of package /linux/privat/BackupPC-4.4.0.tar.gz:
As a special service "Fossies" has tried to format the requested text file into HTML format (style:
standard) with prefixed line numbers.
Alternatively you can here
view or
download the uninterpreted source code file.
See also the latest
Fossies "Diffs" side-by-side code changes report for "ChangeLog":
4.3.2_vs_4.4.0.
1 #========================================================================
2 #
3 # ChangeLog - change log for BackupPC.
4 #
5 # DESCRIPTION
6 # Revision history for BackupPC, detailing significant changes between
7 # versions, most recent first.
8 #
9 # AUTHOR
10 # Craig Barratt <cbarratt@users.sourceforge.net>
11 #
12 #========================================================================
13 #
14 # Version 4.4.0, released 20 Jun 2020.
15 #
16 # See http://backuppc.sourceforge.net.
17 #
18 #========================================================================
19
20 #------------------------------------------------------------------------
21 # Version 4.4.0, 20 Jun 2020
22 #------------------------------------------------------------------------
23
24 Merged pull requests #325, #326, #329, #330, #334, #336, #337, #338, #342,
25 #343, #344, #345, #347, #348, #349
26
27 * Filled/Full backups can now be marked as "keep", which excludes them
28 from any expiry/deletion. Also, a backup-specific comment can be added
29 to any backup to capture any important information about that backup
30 (eg, "pre-upgrade of xyz").
31
32 * Added metrics CGI, which adds Prometheus support and replaces RSS,
33 by @joola (#344, #347)
34
35 * Tar XferMethod now supports xattrs and acls; xattrs sbould be
36 compatible with rsync XferMethod, but acls are not
37
38 * Sort open directories to top when browsing backup tree
39
40 * Format code using perltidy, and included in pre-commit flow, by @joola
41 (#334, #337, #342, #343, #345). Thanks to @joola and @shancock9
42 (perltidy author) for significant effort and support, plus improvements
43 in perltidy, to make this happen.
44
45 * Added $Conf{PoolNightlyDigestCheckPercent}, which checks the md5
46 digest of this fraction of the pool files each night.
47
48 * $Conf{ClientShareName2Path} is saved in backups file and the share
49 to client path mapping is now displayed when you browse a backup so
50 you know the actual client backup path for each share, if different
51 from the share name
52
53 * configure.pl now checks the per-host config.pl in a V3 upgrade to
54 warn the user if $Conf{RsyncClientCmd} or $Conf{RsyncClientRestoreCmd}
55 are used for that host, so that the new settings $Conf{RsyncSshArgs}
56 and $Conf{RsyncClientPath} can be manually updated.
57
58 * Fixed host mutex handling for dhcp hosts; shifted initial mutex requests
59 to client programs
60
61 * Updated webui icon, logo and favicon, by @moisseev (#325,
62 #326, #329, #330)
63
64 * Added $Conf{RsyncRestoreArgsExtra} for host-specific restore
65 settings
66
67 * Language files are now all use utf8 charsets
68
69 * Bumped required version of BackupPC::XS to 0.62 and rsync-bpc
70 to 3.0.9.15.
71
72 * Ping failure message only written to stdout only if verbose
73
74 * BackupPC_backupDelete removes partial v3 backup in HOST/new;
75 fixes #324 reported by @thalueng
76
77 * BackupPC_backupDelete adds -f option to over keep, if set
78
79 * BackupPC_nightly: change -f to -F when running BackupPC_refCountUpdate
80 during fsck
81
82 * Better formatting of eval cmd result in cmdSystemOrEvalLong()
83
84 * Remove zero count entries in per-backup and per-host poolCnt
85 files
86
87 * Add a fake version parameter to the CSS URL to overcome caching
88
89 * Fixed ALRM typo in BackupPC_dump, by @rhansen (#348)
90
91 * Fixed command name in error message in BackupPC_archive,
92 by @rhansen (#349)
93
94 * lib/BackupPC/Xfer/Rsync.pm skips adding --iconv option when
95 $conf->{ClientCharset} is utf8 or empty, to avoid a long-standing
96 rsync bug
97
98 * lib/BackupPC/Xfer/Rsync.pm provides a more informative warning
99 when the client rsync exits with an IO error, and also includes
100 the IO error in the xferErr count
101
102 * lib/BackupPC/Xfer/Smb.pm recognizes NT_STATUS_LOGON_FAILURE error
103
104 * Increase text length in config editor fields, by @moisseev (#336)
105
106 * Typo fix in config.pl, by @cure (#338)
107
108 * Minor documentation updates, removing old SourceForge links
109
110 #------------------------------------------------------------------------
111 # Version 4.3.2, 17 Feb 2020
112 #------------------------------------------------------------------------
113
114 Merged pull requests #278, #281, #289, #295, #297, #307, #308, #311,
115 #312, #313, #314.
116
117 * Added per-host read/write exclusivity to worker programs, so
118 command-line programs don't collide with backups or other
119 operations; reported by @hamster65 (issue #299)
120
121 * Added $Conf{RsyncIncrArgsExtra} (issue #284)
122
123 * Added $Conf{ClientShareName2Path}, which allows mapping of share
124 names/path to real paths on the client (eg, to backup a snapshot
125 that's in a different directory to the share name path)
126
127 * Fixed v3 digest calculation in bin/BackupPC_backupDuplicate and
128 bin/BackupPC_migrateV3toV4; reported by @palmtop (issue #291)
129
130 * Improved handling of BackupPC_nightly running for more than 24 hours:
131 drop next queued run, and provide better log messages; reported
132 by @guestisp (issue #303)
133
134 * Improved error checking on $Conf{BackupPCNightlyPeriod}, and update
135 $Info->{NightlyPhase} if it's larger than $Conf{BackupPCNightlyPeriod};
136 reported by @guestisp (issue #304)
137
138 * Fixed warnings in bin/BackupPC, submitted by @moisseev (#278)
139
140 * Avoid rrd updates using the same time stamp, submitted by @moisseev
141 (#311, issue #305)
142
143 * Removed unused counting of renamed files, submitted by @moisseev (#281)
144
145 * Make tar xfer output parsing compatible with FreeBSD tar, submitted
146 by @haarp (#289)
147
148 * Fix daemon stdin open to read mode, submitted by @moisseev (#308)
149
150 * Hosts config editor table layout CGI fix, submitted by @steven-de-wit
151 (#297)
152
153 * Fixes to French translation, submitted by @pjoubert- (#295)
154
155 * Fixes to Italian translation, submitted by @guestisp (#314)
156
157 * Updated comments for Apache 2.4 config in httpd/src/BackupPC.conf,
158 submitted by @NotAProfessionalDeveloper (#307)
159
160 * Documentation update for SCGI prerequisite, submitted by @guestisp (#312)
161
162 * Documentation update for nginx config, submitted by @guestisp (#313)
163
164 #------------------------------------------------------------------------
165 # Version 4.3.1, 14 Jul 2019
166 #------------------------------------------------------------------------
167
168 Merged pull request #240.
169
170 * Fixed CGI host summary columns for new Comment value; reported by
171 @karlis-irmejs (#245).
172
173 * Added support to BackupPC_tarCreate for PAX headers to allow large
174 metadata values to be correctly encoded; reported by @seblu (#254).
175
176 * Fixed regexp in BackupPC so that versions like rsync-bpc 3.1.2beta0
177 are matched. PR submitted by Adrien Ferrand (#240).
178
179 * Added more details to error messages when failing to connect to
180 BackupPC server; reported by @dmak (#261).
181
182 * bin/BackupPC Main_Initialize() checks if a BackupPC server is running
183 by trying to connect to it, in addition to existing check that PID
184 exists; reported by @toggoboge (#264).
185
186 * Fixed utf8 encoded share names in deletion of orphan RsyncShareNames,
187 reported by @Yann79 (#266).
188
189 * Fixed %Conf passing to perl code version of $bpc->cmdSystemOrEval;
190 reported by Jeff Kosowsky.
191
192 * BackupPC_backupDelete removes files with BPC_FTYPE_DELETED from filled
193 merged backup; reported by Jeff Kosowsky.
194
195 * added Data::Dumper SortKeys(1) to lib/BackupPC/Storage/Text.pm so that
196 config hash writes have repeatable order; suggested by @kr4ut (#275).
197
198 * bin/BackupPC_archive: use $bpc->openPCLogFile() instead of manual LOG
199 file rotation
200
201 * lib/BackupPC/CGI/Archive.pm: create client directory if it doesn't
202 exist
203
204 #------------------------------------------------------------------------
205 # Version 4.3.0, 25 Nov 2018
206 #------------------------------------------------------------------------
207
208 Merged pull requests #200, #208, #216, #217, #229, #230, #231, #232,
209 #233, #235.
210
211 * Added checking of file system inode usage, with new configuration
212 settings $Conf{DfInodeUsageCmd} and $Conf{DfMaxInodeUsagePct}.
213
214 * bin/BackupPC_tarExtract: fixes to hardlink handling on incrementals,
215 plus cleanup
216
217 * bin/BackupPC_backupDuplicate: fixed directory creation for copying v3
218 backups.
219
220 * bin/BackupPC_backupDelete: couple of inode-related bug fixes; also do
221 fsck if $Conf{RefCntFsck} != 0.
222
223 * bin/BackupPC: fixed handling of dhcp hosts, reported by Jean-Marc.
224
225 * bin/BackupPC: improved version check of rsync_bpc to allow period
226 before "beta", reported by @ktenney in issue #214.
227
228 * Added $Conf{EMailAdminSubject} to allow the admin email subject to
229 be set.
230
231 * Changed default $Conf{CgiDateFormatMMDD} to 2 (YYYY-MM-DD), submitted
232 by @moisseev (#231).
233
234 * Allow multiple groups in $Conf{CgiAdminUserGroup}, submitted by
235 @moisseev (#235).
236
237 * Improvements to html table sorting, and made more tables sortable,
238 submitted by @brenard and @moisseev (issue #199, PRs #200, #229, #230,
239 #232).
240
241 * Add action type column to queue status page (#208), submitted by
242 @brenard.
243
244 * lib/BackupPC/CGI/Summary.pm: host summary only reports age of completed
245 backups (not partial or active), suggested by Michael Selway.
246
247 * lib/BackupPC/CGI/HostInfo.pm: show active backup as partial if there
248 is no job running (to handle case of abnormal exit of BackupPC),
249 reported by @8666 in issue #220.
250
251 * systemd/src/backuppc.service: added ExecReload, submitted by
252 @opoplawski (#233).
253
254 * lib/BackupPC/Xfer/Rsync.pm: empty $Conf{RsyncdPasswd} is no longer fatal;
255 removed remaining mentions of RsyncdAuthRequired from conf/config.pl
256 and lib/BackupPC/Config/Meta.pm; reported by @jooola in issue #224.
257
258 * bin/BackupPC_dump: moved alarm($Conf{ClientTimeout}) to after all the
259 pre-backup code (including expiry, duplication etc of backups, which
260 could be slow) reprted by Michael Selway.
261
262 * bin/BackupPC_refCntUpdate: added a couple of __bpc_progress_state__ prints
263 to improve status reporting during nightly (-m), reprted by Michael Selway.
264
265 * lib/BackupPC/CGI/RSS.pm: added Disabled value to host info (copied from
266 $Conf{BackupsDisable}); suggested by @danielmotaleite (issue #222).
267
268 * lib/BackupPC/Xfer/Rsync.pm: added checks for a couple of common rsync
269 file error and error exit messages that now increment the xferErrs count.
270
271 * bin/BackupPC_tarExtract: errors related to a particular file are counted
272 as Xfer errors, rather than considered fatal.
273
274 * bin/BackupPC_dump: added check that $LogFd is defined before using it.
275
276 * lib/BackupPC/Lib.pm: replaced exit() with POSIX::_exit() so that object
277 destruction is skipped in the child process. This fixes corruption of
278 the compressed XferLOG file if the exec of $Conf{DumpPostUserCmd} fails.
279
280 * conf/config.pl: updated project home page to https://backuppc.github.io/backuppc
281 in email message footers.
282
283 #------------------------------------------------------------------------
284 # Version 4.2.1, 7 May 2018
285 #------------------------------------------------------------------------
286
287 Merged pull request #195.
288
289 * Added new config variable $Conf{CgiUserDeleteBackupEnable} that
290 sets whether users and admins can delete backups via the CGI
291 interface. The default value is 0, which means it's disabled
292 for regular users but available for admins.
293
294 * Fixed delete backup bug in bin/BackupPC_Admin_SCGI reported by
295 Julian Zielke in issue #193.
296
297 * Added check to dirCacheFlush() in bin/BackupPC_tarExtract to skip files
298 that don't have attributes; reported by Tarak Patel.
299
300 * Removed extraneous duplicate variable assignment in lib/BackupPC/CGI/GeneralInfo.pm,
301 from @moisseev (#195).
302
303 #------------------------------------------------------------------------
304 # Version 4.2.0, 8 Apr 2018
305 #------------------------------------------------------------------------
306
307 Merged pull requests #160, #190.
308
309 * Backups can now be deleted via the CGI interface, written by @moisseev
310 (#160).
311
312 * bin/BackupPC_backupDelete: added -L option that puts output into client
313 LOG file, to support CGI backup deletion.
314
315 * Added support for a user-editable comment per host, via a new ClientComment
316 config parameter, requested by @andrewmaksymowsky.
317
318 * bin/BackupPC_tarExtract: Added support for pax headers, which smbclient
319 uses for long file names
320
321 * bin/BackupPC_backupDelete: make sure directory exists when renaming tree
322 from deleted backup.
323
324 * lib/BackupPC/Xfer/Smb.pm: ignore empty output lines from smbclient;
325 fixes issue #159.
326
327 * bin/BackupPC: improved several of the exit error messages.
328
329 * lib/BackupPC/Xfer/Rsync.pm: added shareName to RsyncArgs* argument
330 substitutions; suggested by Alex Kobel.
331
332 * conf/BackupPC_stnd.css: removed import url('https://fonts.googleapis.com/css....'
333 suggested by @MartijnRas in issue #174.
334
335 #------------------------------------------------------------------------
336 # Version 4.1.5, 3 Dec 2017
337 #------------------------------------------------------------------------
338
339 * Changed required BackupPC::XS version from 0.56 to 0.57.
340
341 * bin/BackupPC_dump now updates inodeLast for share being backed up.
342
343 * bin/BackupPC_refCountUpdate: inodeLast is checked and updated during fsck;
344 needs BackupPC::XS 0.57.
345
346 #------------------------------------------------------------------------
347 # Version 4.1.4, 25 Nov 2017
348 #------------------------------------------------------------------------
349
350 Merged pull requests #99, #121, #125, #131, #133, #134, #137, #148, #149, #150
351 #151, #152, #153, #155, #157, #167
352
353 * lib/BackupPC/Xfer/Smb.pm: made pipeSMB non-blocking to avoid a
354 reported deadlock when BackupPC's select() returns ok for reading,
355 but there are no bytes to read from the client tar's log/stdout
356 output. Parallel change to lib/BackupPC/Xfer/Tar.pm in 4.1.3.
357
358 * bin/BackupPC_tarCreate and bin/BackupPC_zipCreate: untaint the host name
359 so they work with setuid under CGI; fixes empty tar or zip files
360 downloaded via CGI interface (fixes issue #156)
361
362 * bin/BackupPC: fixed BackupPC::XS min version checking and error message,
363 from @moisseev (#152)
364
365 * bin/BackupPC: added more detailed startup information (perl and BackupPC
366 version) to log, from @moisseev (#157)
367
368 * bin/BackupPC_rrdUpdate: fixed empty pools hiding from @moisseev (#167)
369
370 * lib/BackupPC/Xfer/Smb.pm: now ignores additional debug messages from
371 smbclient, and flags lines in the XferLOG it doesn't recognize.
372
373 * lib/BackupPC/CGI/Browse.pm: default display now has the last, rather
374 than first, share opened.
375
376 * Replaced submit with button so that Enter doesn't activate the Delete
377 button. Fixes issue #161, reported by Philippe-M.
378
379 * removed commented-out settings for some ftp args (eg, port#) in
380 lib/BackupPC/Xfer/Ftp.pm; reported by Adam W.
381
382 * bin/BackupPC_backupDelete: only print delta counts if LogLevel is >= 5
383
384 * bin/BackupPC_tarExtract: fix existing file size count and size
385
386 * lib/BackupPC/CGI/EditConfig.pm: fixed masking of subheadings in
387 config editor.
388
389 * config/config.pl: added -mSMB3 to $Conf{SmbClientIncrCmd} and
390 $Conf{SmbClientRestoreCmd}, from @SvenBunge (#99)
391
392 * lib/BackupPC/Xfer/Rsync.pm: improved cleanup of orphan rsyncTmp files
393
394 * In bin/BackupPC_dump, added "share" to __bpc_progress_state__ message so
395 it is 'backup share "$shareName"'. Patch #150 by @guestisp (issue #143)
396
397 * added share name to log message in lib/BackupPC/CGI/Restore.pm for tar
398 and zip restore.
399
400 * makeDist: fixed exit code from @moisseev (#153)
401
402 * Added Travis CI configuration from @moisseev (#155) and enabled travis
403
404 * Replaced "Homepage" with "Github" in config.pl and configure.pl from
405 @moisseev (#121)
406
407 * Spelling fixes, mainly in comments from @ka7 (#125).
408
409 * Fixed comment in config.pl (zh_CH -> zh_CN) from @patch (#131)
410
411 * Fixed German translations from @mainboarder (#133, #134)
412
413 * Fixed minor comment typo in config.pl from @pbe-axelor (#137)
414
415 * Fixed comments in systemd/README from @schuetzm (#138)
416
417 * Fixed Italian translations from @guestisp (#148, #149; issue #142)
418
419 * Fixed incorrect hash key in German translations from @moisseev (#151)
420
421 #------------------------------------------------------------------------
422 # Version Version 4.1.3, 3 Jun 2017
423 #------------------------------------------------------------------------
424
425 Merged pull requests: #109, #114
426
427 * Fixed editing of compound menu variables (eg: BackupFilesOnly).
428
429 * Made tarPipe in lib/BackupPC/Xfer/Tar.pm non-blocking to avoid a
430 reported deadlock when BackupPC's select() returns ok for reading,
431 but there are no bytes to read from the client tar's log/stdout
432 output. Thanks to Matt Bedynek for running various tests and
433 providing debugging insights to track this down.
434
435 * Better error checking when using $f->read() on pool files.
436 Thanks to Cody Jackson for tracking down this issue, related to
437 reading corrupted compressed pool files. There's also an
438 additional fix in backuppc-xs (version 0.54).
439
440 * Cleans up any orphan temporary pool writing files.
441
442 * Fixed utf-8 output in SCGI.
443
444 * Fixed a reference counting bug in BackupPC_tarExtract.
445
446 * Fixed rsync restore transfer byte total, reported by Alexander
447 Moisseev
448
449 * Replaced logo href with https://backuppc.github.io/backuppc.
450
451 * On a v3->v4 upgrade, remove the new --one-file-system flag from the new
452 RsyncArgs if it wasn't there before.
453
454 * Added /usr/local/bin to search path in configure.pl from Alexander
455 Moisseev (#109).
456
457 * Avoid missing or extra quotes when replacing misused undef or
458 empty string values in configure.pl from Alexander Moisseev
459 (#114).
460
461 * Chasing down a still unsolved bug with help from Lano and Dieter Fauth
462 where newly added pool files in uncompressed backups get removed
463 by BackupPC_refCountUpdate during a long-running backup, or if
464 BackupPC_migrateV3toV4 is running. Two workarounds added in this
465 release: BackupPC_migrateV3toV4 will now exit if BackupPC is running,
466 and BackupPC_refCountUpdate only removes pool files that are more than
467 a week old.
468
469 #------------------------------------------------------------------------
470 # Version 4.1.2, 30 Apr 2017
471 #------------------------------------------------------------------------
472
473 Merged pull requests: #93, #94, #97, #102
474
475 * Fixed NetBios lookup of hosts, reported by Doug Lytle.
476
477 * Fixed bin/BackupPC_tarExtract and lib/BackupPC/Xfer/Ftp.pm in case where
478 a directory tree is no longer present in a new backup. Reported by
479 Jens Potthast and Matt Bedynek, who helped debug it.
480
481 * Fixed SCGI when BackupPC is run in non-daemon mode (which is the systemd
482 default starting in 4.1.1).
483
484 * $Conf{ClientNameAlias} can now be an array of hostnames; the first one
485 that succeeds ping is used for the backup or restore. From martintamare
486 (#94).
487
488 * Fixed status link in SCGI server, improved the navigation tab (now
489 it doesn't scroll) and some css/html cleanup; from Nicholas Hall (#97).
490
491 * Fixed logic in bin/BackupPC_dump for $Conf{FixedIPNetBiosNameCheck} to
492 prevent netbios name check; from Nicholas Hall (#102).
493
494 * Fixed config editor bug in sub-entries of hash config variables, related
495 to SCGI.
496
497 * Fixed rsync restore of a top-level directory when the share is "/",
498 reported by Ray Frush.
499
500 * Increased $Conf{FullKeepCnt}[0] by 1 in expiry calculations, so the most
501 recent filled backup effectively isn't counted for expiry. This improves
502 the behavior, particularly when $Conf{FullKeepCnt} = 1.
503
504 * Rsync transfers now use --timeout=$Conf{ClientTimeout} instead of
505 using an alarm based on rsync log output, suggested by ACR.
506
507 * added --delete-excluded and --one-file-system to $Conf{RsyncArgs}.
508
509 * Removed extra quotes from $Conf{CgiURL} in configure.pl from Alexander
510 Moisseev (#93). Also added $DestDir to some print messages in configure.pl.
511
512 * BackupPC_dump and BackupPC_restore now support the -p option to turn off
513 progress reports. The old -p (inplace) option to BackupPC_tarExtract
514 is now -P.
515
516 * Backup directory mtime is now set to the backup endTime.
517
518 * Updated FSF address in cgi-bin/BackupPC_Admin, reported by TomCat42 (#91).
519
520 #------------------------------------------------------------------------
521 # Version 4.1.1, 29 Mar 2017
522 #------------------------------------------------------------------------
523
524 * Merged pull requests: #77, #78, #79, #82
525
526 * Added missing BackupPC_migrateV3toV4 to makeDist (issue #75) reported
527 by spikebike.
528
529 * Fixed divide-by-zero in progress % report in BackupPC_migrateV3toV4
530 (issue #75) reported by spikebike.
531
532 * In lib/BackupPC/Lib.pm, if Socket::getaddrinfo() doesn't exist (ie,
533 an old version of Socket.pm), then default to ipv4 ping.
534
535 * Updates to configure.pl to make config-path default be based on
536 config-dir (#79), prepended config-path with dest-dir, fixing a
537 config.pl merge bug affecting $Conf{PingPath} reported by Richard Shaw,
538 and a few other fixes.
539
540 * Updated required version of BackupPC::XS to 0.53 and rsync_bpc to
541 3.0.9.6.
542
543 * Minor changes to systemd/src/init.d/gentoo-backuppc from sigmoidal (#82).
544
545 * Added RuntimeDirectory to systemd/src/backuppc.service.
546
547 * Use the scalar form of getpwnam() in lib/BackupPC/CGI/Lib.pm and
548 lib/BackupPC/Lib.pm
549
550 #------------------------------------------------------------------------
551 # Version 4.1.0, 23 Mar 2017
552 #------------------------------------------------------------------------
553
554 * Merged pull requests: #17, #44, #59, #60, #61, #62,#68, #69, #73, #74
555
556 * Fixed certain rsync restores, based on patch from Stephen Joyce.
557
558 * Improvements to Gentoo init.d script (#69) from sigmoidal.
559
560 * Fixed exponential backup expiry algorithm, submitted by Alexander
561 Moisseev (#17).
562
563 * Added --config-only option to configure.pl, from Alexander Moisseev (#62).
564
565 * Ensure $? is 0 in bin/BackupPC_dump UserCommandRun() if no command is run,
566 reported and proposed fix by stirab (issue #67).
567
568 * configure.pl replaces SourceForge links in $Conf{CgiNavBarLinks} with
569 new Github links.
570
571 * Added BackupPC_migrateV3toV4 that migrates old V3 backup storage to
572 V4, eliminating hardlinks. The forward merging of V3 incrementals is
573 not changed; just the backup tree is updated to use V4 attrib files, and
574 the linked V3 files are removed. Thanks to Michael Huntley for testing.
575
576 * Renamed init.d to systemd, added systemd/src/backuppc.service template
577
578 * Replaced CSS file with new BackupPC_stnd.css from Ernesto Carrea (#59,#73).
579 Renamed old ones to conf/BackupPC_retro_v2.css and conf/BackupPC_retro_v3.css.
580
581 * Updated lib/BackupPC/DirOps.pm with more robust checking that IO::Dirent
582 works. Matches similar changes to 3.x that didn't make it into 4.x.
583 Fixes issue #56.
584
585 * BackupPC_refCountUpdate handles case of empty backups better. It creates
586 a noPoolCntOk file if there are legitimately no poolCnt files after
587 running. Reported by Alexander Kobel.
588
589 * Fixed umask() in child processes (issue #58) reported by Alexander
590 Moisseev.
591
592 #------------------------------------------------------------------------
593 # Version 4.0.0, 3 Mar 2017
594 #------------------------------------------------------------------------
595
596 * Closed pull requests include: #6, #7, #9, #11, #13, #22, #23, #29, #30,
597 #34, #36, #37, #50, #53
598
599 * Remove orphan share names if they are removed from the host's
600 configuration.
601
602 * Improvements to various utilities.
603
604 * Reference counting is now per-backup.
605
606 * Attribute files are now zero-length with the md5 digest encoded in the
607 file name.
608
609 * Various fixes for zero-length file digest, recovering from missing pool
610 files or inodes.
611
612 * README now in markdown format, from ehannes (#53)
613
614 * Fix result for restore using Samba4 from Alexander Moisseev (#50)
615
616 * Initial rewrite of lib/BackupPC/Xfer/Ftp.pm for 4.x, but not yet working.
617
618 * Sort hash of config editor tabs in lib/BackupPC/CGI/EditConfig.pm from
619 polo (#23)
620
621 * Updates to bin/BackupPC_dump and lib/BackupPC/Xfer/Smb.pm from maksyms to fix
622 incompatabilities with Samba 4.3 (#22)
623
624 * Applied IPv6 support (ping6) from felfert (#29).
625
626 * Fixes to bin/BackupPC_sendEmail to avoid per-host overwrite of EMailAdminUserName
627 from Derrick Dominic (#30)
628
629 * Remove full fsck at the end of every backup, from ngharo (#34)
630
631 * Added more helpful text (instead of "New Key") for BackupFilesOnly and
632 BackupFilesExclude in the CGI editor.
633
634 * Added =encoding ISO8859-1 to top of BackupPC.pod; from Alexander Moisseev
635
636 * Fixed minor typos in several language files; from Alexander Moisseev
637
638 * Applied a couple of patches to bin/BackupPC_rrdUpdate from Alexander
639 Moisseev (#13)
640
641 * Updated Spanish language file lib/BackupPC/Lang/es.pm from Luis Bustamante.
642
643 * Updated deprecated syntax (defined(@array) and "{" in regexps) from
644 Alexander Moisseev (#36)
645
646 * Documentation updates from Alexander Moisseev (#37)
647
648 #------------------------------------------------------------------------
649 # Version 4.0.0alpha3, 1 Dec 2013
650 #------------------------------------------------------------------------
651
652 * Added rrdtool support, based on code from Alexander Moisseev.
653
654 * Fixed BackupPC_attribPrint to auto-detect the compression status of the
655 attrib file. Reported by Chris Adamson.
656
657 * Fixed bin/BackupPC_tarExtract for case where no subdirectories are in
658 the archive, which caused the top-level attrib file to not be written.
659 Reported by Alexander Moisseev.
660
661 * Added recovery/cleanup to bin/BackupPC_dump in case last V4 backup is
662 not filled.
663
664 * Tweaked RmTreeQuietInner() in lib/BackupPC/DirOps.pm to improve error
665 messages, and continue on error.
666
667 * When FHS is enabled, moved BackupPC.pid and BackupPC.sock files to
668 /var/run/BackupPC (or $Conf{RunDir}), and the documentation to
669 $InstallDir/share/doc/BackupPC.
670
671 #------------------------------------------------------------------------
672 # Version 4.0.0alpha2, 15 Sep 2013
673 #------------------------------------------------------------------------
674
675 * Added SCGI support, allowing the Apache to run as any user, with requests
676 handled by BackupPC_Admin_SCGI, which is run by the BackupPC server. This
677 provides an alternative to running Apache as the BackupPC user, or needing
678 to use a setuid BackupPC_Admin script.
679
680 * Parallelized bin/BackupPC_refCountUpdate, so that $Conf{MaxBackupPCNightlyJobs}
681 instances run.
682
683 * Fixed pool size counting.
684
685 #------------------------------------------------------------------------
686 # Version 4.0.0alpha1, 30 Jun 2013
687 #------------------------------------------------------------------------
688
689 * A few minor bug fixes.
690
691 * Some improvements to bin/BackupPC_fsck
692
693 #------------------------------------------------------------------------
694 # Version 4.0.0alpha0, 23 Jun 2013
695 #------------------------------------------------------------------------
696
697 * Major changes.
698
699 * Updated init.d/debian-backuppc from Eduardo Díaz Rodríguez.
700
701 #------------------------------------------------------------------------
702 # Version 3.3.0, 14 Apr 2013
703 #------------------------------------------------------------------------
704
705 * Changed restore file name from restore.{zip|tar} to restore_$host_YYYY-MM-DD.{zip|tar},
706 where the date is the start date of the backup. Originally suggested by Brad Alexander,
707 with a healthy debate among Les, Holger, Jeffrey, Adam, Carl and others.
708
709 * Changed the timeStamp2 function in lib/BackupPC/CGI/Lib.pm so that times more than 330
710 days ago also include the year. More recent times continue to use just the day of month
711 and month.
712
713 * Made the directory path display (when browsing backups or history) a sequence of links,
714 allowing any parent directory to be quickly selected.
715
716 * Added Japanese language file lib/BackupPC/Lang/ja.pm submitted by Rikiya
717 Yamamoto.
718
719 * Added Ukrainian language file lib/BackupPC/Lang/uk.pm submitted by Serhiy Yakimchuck.
720
721 * Added Russian language file lib/BackupPC/Lang/ru.pm submitted by Sergei Butakov.
722
723 * Patch from Alexander Moisseev that fixed file name encodings in zip files.
724 The default charset is now utf8. Added a menu option to override the codepage.
725
726 * Removed -N option from smbclient command in conf/config.pl to remain compatible
727 with more recent versions (3.2.3 and later) of smbclient. Reported and discussed
728 by various people on the mail list, most recently by Jeff Boyce, Les Mikesell and
729 Holger Parplies. Alexander Moisseev also submitted a patch.
730
731 Using smbclient >= 3.2.3 with the -N option will give a "tree connect failed:
732 NT_STATUS_ACCESS_DENIED" error.
733
734 * Reapplied a patch from Tyler Wagner for lib/BackupPC/CGI/HostInfo.pl so that
735 empty email status info doesn't appear. Somehow this missed 3.2.1.
736
737 * Fixed check on $parfile in bin/BackupPC_archiveHost since it is numeric.
738 Fix submitted by Tim Massey.
739
740 * Ensure $num is numeric in lib/BackupPC/CGI/View.pm error message
741 to avoid XSS attack. Report and patch by Jamie Strandboge.
742
743 * Ensure $num and $share in lib/BackupPC/CGI/RestoreFile.pm error messages
744 are escaped, to avoid XSS vulnerability. Report and patch by Jamie Strandboge.
745 Also added some additional error checking and tweaked the handling of the
746 invalid number error message.
747
748 * Fixed qw(...) deprecated syntax warnings in lib/BackupPC/Storage/Text.pm
749 and lib/BackupPC/Lib.pm. Patch supplied by Juergen Harms. Also got a
750 patch from Alexander Moisseev and report from Richard Shaw.
751
752 * Fixed error in bin/BackupPC_sendEmail that caused accumulation of
753 per-host errors in the admin email to be skipped if a host's user
754 is not defined. Reported by Marco Dalla Via.
755
756 * Fixed lib/BackupPC/CGI/RSS.pm so that the base_url is correct for https.
757 Report and fix by Samuel Monsarrat.
758
759 * Added more careful checking that IO::Dirent returns valid inodes and file types.
760 Suggested by Daniel Harvey.
761
762 * Removed redundant setting of $Lang{CfgEdit_Title_Other} from all the Lang files.
763
764 * Applied couple of fixes to Lib.pm suggested by Jeffrey Kosowsky for special case of where
765 configuration commands are fragments of perl code.
766
767 #------------------------------------------------------------------------
768 # Version 3.2.1, 24 Apr 2011
769 #------------------------------------------------------------------------
770
771 * Ensure $num is numeric in lib/BackupPC/CGI/Browse.pm to avoid XSS
772 attack. Report and patch by Adam E.
773
774 * Fixed application of "*" in $Conf{BackupFilesOnly} and
775 $Conf{BackupFilesExclud} for 2nd and later shares. Reported
776 by Alessandro and Alexander Maringer.
777
778 * Fixed email status check in lib/BackupPC/CGI/HostInfo.pl so that
779 empty email info doesn't appear; reported by Wayne Trevena,
780 and based on patch from Tyler Wagner.
781
782 * Several fixes to FTP xfer mode related to file excludes, from
783 Dave Pearce.
784
785 * Wrapped eval() around unpack() in lib/BackupPC/Attrib.pm to avoid
786 failures on corrupted attrib files; patch from Tim Connors.
787
788 * Applied documention patch from Alexander Moisseev.
789
790 #------------------------------------------------------------------------
791 # Version 3.2.0, 31 Jul 2010
792 #------------------------------------------------------------------------
793
794 * Fixed code that detects duplicate shares in bin/BackupPC_dump
795
796 * Added fix to lib/BackupPC/Zip/FileMember.pm to avoid bug in
797 Archive::Zip 1.30 when creating compressed archives.
798
799 * Added Czech translation from Petr Pokorny.
800
801 #------------------------------------------------------------------------
802 # Version 3.2.0beta1, 24 Jan 2010
803 #------------------------------------------------------------------------
804
805 * Fixed FTP xfer method, with help from Holger Parplies and
806 Mirco Piccin. FTP restores are still not supported.
807
808 * Fixed bug in BackupPC_sendEmail where a user only receives
809 email about one host.
810
811 * Fixed bug where top-level attrib file was linked into the pool with
812 the wrong digest, caused by it being updated multiple times with
813 multiple shares. Reported by Jeff Kosowsky who also supplied a
814 patch.
815
816 * Fixed bug in blackout calculation when multiple periods span midnight.
817 Report and patch from Joachim Falk.
818
819 * Wrapped eval {} around attribute unpacking to make it more robust
820 to data corruption. Path submitted by Tim Connors.
821
822 * Ignore fileType 8 and 9 in BackupPC_tarCreate rather than consider then
823 errors. These are sockets and unknown (eg: solaris door) files that
824 are created dynamicaly by applications - there is no meaningful restore
825 for these file types.
826
827 * Changed lib/BackupPC/Lib.pm and lib/BackupPC/Storage/Text.pm based on
828 patches from Davide Brini and Holger Parplies so that main config
829 %Conf values are available in the host config file, allowing more
830 flexibility in perl expressions in the config files. Users beware,
831 since the CGI editor won't work correctly if the config file have
832 perl expressions.
833
834 * Obscure password values in LOG file when CGI editor is used to change
835 values. Proposed by Steve Ling.
836
837 * Added favicon.ico from Axel Beckert. Thanks to Tyler Wagner for submitting
838 another version and reminding me about the first.
839
840 * Replace "sort(HostSortCompare keys(%$Hosts))" with "sort HostSortCompare keys(%$Hosts)"
841 in bin/BackupPC to avoid an error with certain versions of perl.
842
843 * Fixed $Conf{XX} links in the BackupPC.html and the CGI editor so they
844 correctly reference the definition.
845
846 * Support ${VAR} style variable substitution in commands, in addition to
847 existing $VAR style. Suggested by Jeffrey Kosowsky.
848
849 * Clarified usage of -b and -w options to BackupPC_tarCreate. Submitted by
850 Michael Selway.
851
852 * Repaired Unable_to_connect_to_BackupPC_server Lang string and added new
853 string Unable_to_connect_to_BackupPC_server_error_message. Proposed and
854 explained by Holger Parplies.
855
856 * Added 'use utf8' to lib/BackupPC/Lang/pl.pm. Reported by Michal Sawicz.
857
858 * Minor updates to lib/BackupPC/Lang/fr.pm from Hubert Tournier.
859
860 * Minor update to lib/BackupPC/Lang/en.pm from David Relson.
861
862 #------------------------------------------------------------------------
863 # Version 3.2.0beta0, 5 April 2009
864 #------------------------------------------------------------------------
865
866 * Added BackupPC::Xfer::Protocol as a common class for each Xfer
867 method. This simplifies some of the xfer specific code.
868 Implemented by Paul Mantz.
869
870 * Added FTP xfer method, implemented by Paul Mantz.
871
872 * Added BackupPC::Xfer module to provide a common interface to the
873 different xfer methods. Implemented by Paul Mantz.
874
875 * Moved setting of $bpc->{PoolDir} and $bpc->{CPoolDir} after the
876 config file is read in BackupPC::Lib. Fix proposed by Tim Taylor
877 and Joe Krahn, and rediscovered by several others including
878 Holger Parplies.
879
880 * Create $TopDir and related data directories in BackupPC_dump
881 prior to hardlink test. Requested by Les Stott.
882
883 * Fixed encoding of email subject header in bin/BackupPC_sendEmail as
884 suggested by Jean-Claude Repetto. Also changed $Conf{EMailHeaders}
885 charset to utf-8. Also changed bin/BackupPC_sendEmail to not send
886 any per-client email if $Conf{BackupsDisable} is set.
887
888 * Modified bin/BackupPC_dump to fix the case of a single partial
889 backup followed by a successful incremental resulting in a full
890 backup of level 1, rather than level 0. Reported by Jeff
891 Kosowsky.
892
893 * Fixed BackupPC::PoolWrite to always create the parent directory.
894 This fixed a case with rsync/rsyncd where a file like "-i" in the
895 top-level directory sorts before ".", which meant the directory
896 creation is after the file creation. Also PoolWrite errors now
897 increment xferError count. Reported by Jeff Kosowsky.
898
899 * BackupPC now gives a more useful error message if BackupPC_nightly
900 takes more than 24 hours (ie: when the next one is meant to
901 start). Reported by Tony Schreiner.
902
903 * Fixed IO::Dirent run-time check. Reported by Bernhard Ott and Tino Schwarze
904 debugged it.
905
906 * Added more options to server backup command: rather than just forcing
907 an incremental or full backup, a regular (auto) backup can be queued
908 (ie: do nothing/incr/full based on schedule), as well as doing just
909 an incremental or full or nothing based on the client schedule.
910 Based on patches submitted by Joe Digilio.
911
912 * Modified lib/BackupPC/CGI/RSS.pm to replace \n with \r\n in the RSS
913 http response headers. Patch submitted by Thomas Eckhardt.
914
915 * Modified bin/BackupPC_archive to allow the archive request file
916 name to contain spaces and dashes, requested by Tim Massey.
917
918 * Fix to configure.pl for --no-fhs case to initialize ConfigDir
919 from Dan Pritts. Also changed perl path to #!/usr/bin/env perl.
920
921 * Modified bin/BackupPC_archiveHost to shell escape the output file
922 name. That allows it to contain spaces and other special characters.
923 Requested by Toni Van Remortel. Also updated bin/BackupPC_archiveHost
924 to shell escape and check other arguments.
925
926 * Added $Conf{CmdQueueNice} to specify nice level for command queue
927 commands (eg: BackupPC_link and BackupPC_nightly). Suggested by
928 Carl Soderstrom.
929
930 * Added --config-override to configure.pl, allow config settings to be
931 set on the command line. Proposed by Les Stott and Holger Parplies.
932
933 * Moved call to NmbLookupFindHostCmd in BackupPC_dump to after the
934 check of whether a backup needs to be done. This makes wakeonlan
935 work correctly, rather than waking up the client every WakeupSchedule.
936 Reported by David Lasker.
937
938 * Improved settings for compression and compext in BackupPC_archiveStart
939 based on compression type, as proposed by Paul Dugas. compext is now
940 empty, .gz or .bz2 based on ArchiveComp.
941
942 * Changed bin/BackupPC_dump to not ping or lookup the host if
943 $Conf{BackupsDisable} is set. Requested by John Rouillard.
944
945 * Changed BackupPC_tarCreate to disable output of final nulls in
946 tar archive when -l or -L option is used. Reported by John
947 Rouillard.
948
949 * Added error check in BackupPC::Xfer::RsyncFileIO after call to
950 BackupPC::Xfer::RsyncDigest->digestStart(), reported by Jeff
951 Kosowsky.
952
953 * Added variable substitution for host, confDir, client in
954 RsyncArgs, and also added option RsyncArgsExtra to allow
955 more easy customization of RsyncArgs on a per-client basis.
956 Proposed (with patch) by Raman Gupta.
957
958 * Added Xfer error column to the host summary table in the CGI
959 interface. Based on patch submitted by Jan Kratochvíl.
960
961 * Minor fix to sprintf arguments in BackupPC::Attrib, reported by
962 Jonathan Kamens.
963
964 * Fixed sort compareLOGName syntax in bin/BackupPC for perl 5.10.x,
965 reported by Jeff Kosowsky and Holger Parplies.
966
967 * Fixed bin/BackupPC_archiveStart to set compression correctly,
968 and also set the file extension to .gz when compression is on.
969 Reported by Stephen Vaughan.
970
971 * Fixed netbios name comparison in bin/BackupPC_dump and
972 bin/BackupPC_restore to just use the first 15 characters
973 of the host name. Patch from Dan MacNeil.
974
975 * Fixed nmblookup parsing in BackupPC::Lib::NetBiosInfoGet to ignore
976 entries with the <GROUP> tag. Based on patch from Dan MacNeil.
977
978 * Fixed BackupPC_dump so that the XferLOG file is saved when
979 DumpPreUserCmd fails. Reported by John Rouillard.
980
981 * Updated BackupPC.pod for $Conf{BackupsDisable}, reported by
982 Nils Breunese.
983
984 * Added alternate freebsd-backuppc2 init.d script that is
985 more compact. Submitted by Dan Niles.
986
987 * Minor updates to lib/BackupPC/Lang/fr.pm from Nicolas STRANSKY
988 applied by GFK, and also from Vincent Fleuranceau.
989
990 * Minor updates to lib/BackupPC/Lang/de.pm from Klaus Weidenbach.
991
992 * Updates to makeDist for command-line setting of version and
993 release date from Paul Mantz.
994
995 * Add output from Pre/Post commands to per-client LOG file, in addition
996 to existing output in the XferLOG file. Patch from Stuart Teasdale.
997
998 * lib/BackupPC/Xfer/Smb.pm now increments xferErrCnt on
999 NT_STATUS_ACCESS_DENIED and ERRnoaccess errors from smbclient.
1000 Reported by Jesús Martel.
1001
1002 * Removed BackupPC_compressPool and BackupPC::Xfer::BackupPCd.
1003
1004 #------------------------------------------------------------------------
1005 # Version 3.1.0, 25 Nov 2007
1006 #------------------------------------------------------------------------
1007
1008 * Fixed config editor bug for case where override is unchecked on
1009 an array where the current array is shorter than the main config's
1010 array.
1011
1012 * Fixed missing close quote in BackupPC_archiveHost reported by Franky
1013 Van Liedekerke.
1014
1015 * Replaced "$BinDir/.." with $bpc->InstallDir() for path to BackupPC
1016 docs, mentioned by Kenneth Porter.
1017
1018 * Moved default of $Conf{IncrLevels} from lib/BackupPC/Storage/Text.pm
1019 to lib/BackupPC/Lib.pm (after the merge of the config files). This
1020 fixes a bug that caused $Conf{IncrLevels} to get over-ridden if it
1021 was only defined in the main config file. Reported by John Rouillard.
1022
1023 * Fixed the completion status message in BackupPC_dump so that missing
1024 error counts appear as 0, rather than empty. Reported by Bill.
1025
1026 * Changed lib/BackupPC/Xfer/RsyncFileIO.pm to only increment the error
1027 count when the md4 checksum fails on the second phase, not the first.
1028 Reported by Adrian Bridgett.
1029
1030 * Updated a comment in config.pl about BackupPC_nightly, reported by
1031 Dan Pritts.
1032
1033 * Modified lib/BackupPC/CGI/Restore.pm to ensure that the list of hosts
1034 presented for direct restore do have direct restore enabled. Reported
1035 by Stephen Joyce.
1036
1037 * Modified lib/BackupPC/CGI/RestoreFile.pm to replace \n with \r\n in
1038 the restore http response headers. Patch submitted by Thomas Eckhardt.
1039
1040 #------------------------------------------------------------------------
1041 # Version 3.1.0beta1, 21 Oct 2007
1042 #------------------------------------------------------------------------
1043
1044 * When there is an existing partial, a new partials is only saved
1045 if it has more files than the existing partial. Requested by
1046 Carl Soderstrom.
1047
1048 * Fixed handling of $Conf{BackupFilesExclude} for tar XferMethod.
1049 Patch supplied by Frans Pop.
1050
1051 * Fixed numeric column sorting in host summary table, reported by
1052 Michael Pellegrino.
1053
1054 * Fixed host CGI editor so it creates the new host's config.pl file
1055 using the lower-case host name, since host names are mapped to
1056 lower case when they are read from the hosts file. Reported by
1057 Alexander Onic.
1058
1059 * Applied documentation patches from Frans Pop. Also updated
1060 Pod::Html to improve documentation formatting.
1061
1062 * Added Polish translation from Semper.
1063
1064 * Fixed BackupPC_nightly reporting of repeated pool file hashes.
1065
1066 * Add run-time check that IO::Dirent is functioning correctly,
1067 reported by Doug Lytle.
1068
1069 * Added comment to Cmd settings in conf/config.pl that they are
1070 not executed by a shell, as suggested by Erik van Linstee.
1071
1072 * Added undefIfEmpty => 1 to lib/BackupPC/Config/Meta.pm for
1073 RsyncRestoreArgs, TarClientRestoreCmd and SmbClientRestoreCmd
1074 so that restores can be disabled by clear these fields in the
1075 CGI editor. Patch supplied by Stephen Joyce
1076
1077 * Replaced the FAQ link with Wiki in the navigation bar and added
1078 mention of the Wiki to the documentation. Since these navigation
1079 bar links are specified in the config file, upgrades will keep
1080 the old FAQ link. The FAQ opening page will have a prominent
1081 link to the Wiki.
1082
1083 #------------------------------------------------------------------------
1084 # Version 3.1.0beta0, 3 Sep 2007
1085 #------------------------------------------------------------------------
1086
1087 * Added new script BackupPC_archiveStart that allows command-line
1088 starting of archives. Based on script written by Sergey Kovzik,
1089 which in turn was based on an earlier version by Holger Parplies.
1090
1091 * Added Simplified Chinese CGI translation from Youlin Feng,
1092 plus fixed a couple of cases where utf8 share names were
1093 not displayed correctly.
1094
1095 * Added sorting by column feature to host summary table in CGI
1096 interface. Implemented by Jeremy Tietsort.
1097
1098 * Added optional support for IO::Dirent which allows inode information
1099 to be extracted from the dirent directory structure. This allows
1100 BackupPC to order some directory operations by inode, which on
1101 some file systems (eg: ext3) can results in a 20-30% performance
1102 gain. On other file systems there is no real improvement. This
1103 optimization is turned on automatically if IO::Dirent is installed.
1104
1105 * Added some performance improvements to BackupPC::Xfer::RsyncFileIO
1106 for the case of small files with cached checksums.
1107
1108 * Added check to BackupPC at startup that $TopDir can support
1109 hardlinks. Also added check to BackupPC_dump that a hardlink
1110 below $TopDir/pc/HOST can be made to below $TopDir/cpool.
1111 Also added the need for a hard-link capable file system to
1112 the documentation. Suggested by Nils Breunese.
1113
1114 * Added FreeBSD init.d file provided by Gabriel Rossetti.
1115
1116 * Added -l and -L options to BackupPC_tarCreate so that
1117 provide a file list (without creating the archive).
1118 Requested by Dirk.
1119
1120 * Made the default charset for BackupPC_zipCreate cp1252, which
1121 appears to work correctly with WinZip. Unfortunately there is
1122 no clear standard for charset encoding in zip files.
1123
1124 * Added support so that pre-3.0 backups with non-utf8 charsets
1125 can be viewed and restored correctly. A new config variable
1126 $Conf{ClientCharsetLegacy} specifies the charset used to
1127 encode file names in legacy backups. This is only relevant
1128 if you are trying to view or restore a backup made with
1129 BackupPC 2.x and some of the file names have non-ascii
1130 characters.
1131
1132 * Added setting of the environment variable BPC_REQUSER to
1133 the requesting user name in BackupPC prior to fork(), so
1134 each child process inherits the value. Submitted by
1135 Holger Parplies.
1136
1137 * Fixed bug in rsync incrementals that happens on particular
1138 file names when a file being backed up fails in both rsync
1139 phases. Reported by Dan Smisko.
1140
1141 * Fixed single-restore file name charsets for IE, reported by
1142 Francis Lessard.
1143
1144 * Fixed makeDist so that the --config-dir option to configure.pl
1145 works correctly. Reported by Randy Barlow, Tony Shadwick and others.
1146
1147 * Removed ConfDir from config editor (since it is hardcoded in
1148 lib/BackupPC/Lib.pm). Also made TopDir and LogDir only visible
1149 if useFHS (for non-FHS they are hardcoded in lib/BackupPC/Lib.pm).
1150
1151 * Applied patch from Holger Parplies that fixes cleanup of early abort
1152 in BackupPC_dump.
1153
1154 * Applied small patch from Sergey to lib/BackupPC/Xfer/Tar.pm that makes
1155 it ignore "socket ignored" error on incrementals.
1156
1157 * Applied small patch from Sergey to bin/BackupPC_archiveHost.
1158
1159 * Changed BackupPC_sendEmail so that summary admin email doesn't
1160 include errors from hosts that have $Conf{BackupsDisable} set.
1161 Reported by James Kyle. Also, per-user email is now disabled
1162 when $Conf{BackupsDisable} is set.
1163
1164 * Added RsyncdUserName to the config editor. Reported by Vicent Roca Daniel.
1165
1166 * $Conf{IncrLevels} is now defaulted if it is not defined.
1167
1168 * configure.pl clears $Conf{ParPath} if it doesn't point to a valid
1169 executable.
1170
1171 * Added documentation for BackupPC_tarPCCopy, including use of -P option
1172 to tar suggested by Daniel Berteaud.
1173
1174 * Config editor now removes white space at start of exec path.
1175 Reported by Christoph Iwasjuta.
1176
1177 * CgiDateFormatMMDD == 2 gives a YYYY-MM-DD format for CGI dates,
1178 suggested by Imre.
1179
1180 #------------------------------------------------------------------------
1181 # Version 3.0.0, 28 Jan 2007
1182 #------------------------------------------------------------------------
1183
1184 * BackupPC_sendEmail now correctly sends admin email if backups
1185 were skipped because the disk was too full, reported by Dan
1186 Pritts.
1187
1188 * BackupPC_Admin now uses $Conf{UmaskMode}, so config.pl files
1189 written by the editor have more restrictive permissions.
1190 Reported by Tim Massey.
1191
1192 * Host summary now shows active backups on disabled hosts,
1193 from Jono Woodhouse.
1194
1195 * Fixed host LOG link and LOG list order, reported by Tim Massey.
1196
1197 * Moved Encode.pm version check to start of configure.pl so it
1198 produces a useful error message if Encode.pm is too old.
1199
1200 * Fixed hrefs to configuration documentation to handle changes
1201 in the way perl generates the anchors. Reported by Philip
1202 Gleghorn.
1203
1204 * Host name links in LOG files now allow "." in the host name.
1205 Reported by Jean-Michel Beuken.
1206
1207 * Fixes to lib/BackupPC/Xfer/Tar.pm for tar 1.16: allow 1
1208 (ie: 256) as a successful exit status and match "Total
1209 bytes read" message for restores. First reported by
1210 Torsten Sadowski and debugged by Ralf Gross and Holger
1211 Parplies.
1212
1213 #------------------------------------------------------------------------
1214 # Version 3.0.0beta3, 3 Dec 2006
1215 #------------------------------------------------------------------------
1216
1217 * Removed default paths from conf/config.pl so configure.pl will
1218 determine the correct ones at install time. Avoids problem of
1219 the config editor complaining about bad executable paths the
1220 first time you use it.
1221
1222 * Changed first byte of compressed files with rsync checksums appended
1223 to 0xd7 to allow correct protocol_version >= 27 md4 checksums to be
1224 written. Old cached checksum files have a first byte 0xd6 and are
1225 now considered to be uncached. They will be automatically updated
1226 as needed. This avoids the cached checksum warnings in beta2.
1227
1228 * BackupPC_tarPCCopy now handles all file types correctly. Reported
1229 by George Avrunin.
1230
1231 * Fixed BackupPC_nightly to finish pending deletes before renaming
1232 pool chains.
1233
1234 * Fixes for rsync restore where hardlink is to file outside of the
1235 top-level restore directory. Reported by George Avrunin, who helped
1236 with debugging.
1237
1238 * Fixes for checksum mismatch on restore for certain file sizes.
1239 Reported by George Avrunin and others.
1240
1241 * Fix for config.pl writing code to handle multi-line expressions.
1242 Reported by David Relson and others.
1243
1244 * Fix for CGI editor when deleting hash entries whose keys are
1245 non alphanumeric. Report by David Relson and Aaron Ciarlotta.
1246
1247 * Two fixes to configure.pl from Andreas Vögele.
1248
1249 #------------------------------------------------------------------------
1250 # Version 3.0.0beta2, 18 Nov 2006
1251 #------------------------------------------------------------------------
1252
1253 * Fix for final md4 digest check on rsync transfers >= 512MB when protocol
1254 version >= 27 and checksums are not cached. Reported by Garith Dugmore
1255 and Dale Renton.
1256
1257 * Config Editor "Save" button is now always visible, but greyed out
1258 until there are changes to save.
1259
1260 * Config editor allows other tabs to be selected when there is an
1261 error, which allows you to fix an error (eg: missing binary) in
1262 an exiting config file. Errors are now displayed at the top of
1263 the page in addition to next to the erroneous setting.
1264
1265 * configure.pl checks version of Encode.pm. Reported by Chris Stone.
1266
1267 * Several fixes to bin/BackupPC_fixupBackupSummary from Stian Jordet.
1268
1269 * Fixed config.pl editor writing to solve bug with multi-line text
1270 strings ending in newline. Reported and root caused by Les Stott
1271 and Jerry Groendyke.
1272
1273 * Fixed error recovery case in BackupPC::PoolWrite, reported by
1274 Samuel Bancal.
1275
1276 * Fixed table width in backup browsing to avoid Firefox layout anomoly,
1277 provided by Jono Woodhouse.
1278
1279 * CSS file updates from Jono Woodhouse. Prior (v2) version is included
1280 as BackupPC_stnd_orig.css in case people prefer the old skin.
1281
1282 * More compact host summary, including disabled host indication,
1283 from Jono Woodhouse.
1284
1285 * New directory/file/hardlink and symlink image icons from Sean Cameron
1286 and Jono Woodhouse, making directory browse more compact.
1287
1288 * BackupPC.pid is now world readable, suggested by Casper Thomsen.
1289
1290 * Reordered the Server navigation bar links, suggested by David Relson.
1291
1292 * Fixed typos in init.d/src/gentoo-backuppc, configure.pl and config.pl
1293 reported by David Relson.
1294
1295 #------------------------------------------------------------------------
1296 # Version 3.0.0beta1, 30 Jul 2006
1297 #------------------------------------------------------------------------
1298
1299 * Fixed several Xfer charset conversions.
1300
1301 * Added some CGI utf8 conversions from Rodrigo Real and Vincent
1302 Fleuranceau.
1303
1304 * Rsync transfers now correctly handle file names with \n or \r.
1305
1306 * Host name is forced to lower case, to match 2.x.
1307
1308 * Fixed LOG file naming in BackupPC_restore and BackupPC_archive.
1309
1310 * GFK applied fr.pm corrections from Nicolas Stransky.
1311
1312 * Updated init.d/src scripts for FHS (ie: replaced __TOPDIR__/log
1313 with __LOGDIR__ and __TOPDIR__/conf with __CONFDIR__). Patch
1314 provided by Rodrigo Real.
1315
1316 * Added --log-dir and --conf-dir options to configure.pl.
1317 Reported by Vincent Fleuranceau.
1318
1319 * Updated File::RsyncP version check in configure.pl, reported
1320 by Vincent Fleuranceau. Changed File::RsyncP version to 0.64.
1321
1322 #------------------------------------------------------------------------
1323 # Version 3.0.0beta0, 11 Jul 2006
1324 #------------------------------------------------------------------------
1325
1326 * Added configuration and host CGI editor.
1327
1328 * Added rsync hardlink support. Requires latest version of
1329 File::RsyncP (0.62).
1330
1331 * Decoupled BackupPC_dump from BackupPC_nightly by making
1332 asynchronous file linking/delete robust to race conditions.
1333 Now only BackupPC_nightly and BackupPC_link are mutually
1334 exclusive so only one runs at a time, and BackupPC_dump and
1335 BackupPC_restore can run anytime.
1336
1337 * Added support for multi-level incrementals. In the style of dump(1),
1338 the level of each incremental can be specified. Each incremental
1339 backups up everything since the most recent backup of a lower level
1340 (fulls are always level 0). Previous behavior was all incrementals
1341 were level 1, meaning they backed up everything since the last full
1342 (level 0). Default configuration is all incrementals are level 1.
1343
1344 * Server file names are now in utf8 and optional conversion
1345 to/from client name charsets can be configured. All CGI pages
1346 now use the utf8 charset.
1347
1348 * Backup metadata is now additionally saved to pc/HOST/nnn/backupInfo,
1349 in addition to pc/HOST/backups. In case pc/HOST/backups gets trashed,
1350 then a new script BackupPC_fixupBackupSummary can read the per-backup
1351 metadata from pc/HOST/nnn/backupInfo and reconstruct the backups file.
1352 Roberto Moreno also pointed out an early error in the CVS version.
1353
1354 * Added Storage module and Storage::Text which localizes all the
1355 text data file reading/writing (eg: backups, restores, archives
1356 and config.pl files). Added read verify after all write
1357 operations for robustness. Additional backends (eg: SQL)
1358 can be added in the future as new subclasses of the Storage
1359 module.
1360
1361 * Added Config module, and Config::Meta that contains meta data
1362 about configuration parameters.
1363
1364 * Added RSS support from Rich Duzenbury.
1365
1366 * Translations of new 3.0 language strings from Guillaume Filion,
1367 Reginaldo Ferreira, Ralph Passgang, Lieven Bridts, Guus Houtzager,
1368 Rodrigo Real.
1369
1370 * Added optional checking of exit status of Dump/Restore/Archive Pre/Post
1371 UserCmd, requested by Kiko Jover, Matthias Bertschy and others.
1372
1373 * For new installations configure.pl tries to comply with the file
1374 system hierarchy standard, which means all the configuration files
1375 below /etc/BackupPC and log files go below /var/log/BackupPC.
1376
1377 * Added Slackware init.d script from Tony Nelson.
1378
1379 * Fixed error reporting when restore/archive fail to write the
1380 request file to the client directory.
1381
1382 * Applied patch from Marc Prewitt for DumpPreShareCmd and DumpPostShareCmd.
1383
1384 * Apply patch from Pete Wenzel to add smbClientPath => $Conf{SmbClientPath}
1385 to DumpPreUserCmd etc.
1386
1387 * Added Portuguese Brazillian pt_br.pm from Reginaldo Ferreira.
1388
1389 * Jean-Michel Beuken reported several bugs in configure.pl in CVS 3.0.0.
1390
1391 * Old backup email warnings now ignore partials requested by Samuel Bancal
1392
1393 * Applied patch to bin/BackupPC_sendEmail from Marc Prewitt that
1394 ignores any file starting with "." in the pc directory when
1395 it is generating warnings about old/unused files/directories.
1396
1397 * Applied patch from Marc Prewitt to fix host queue order.
1398
1399 * Applied Lorenzo Cappelletti's it.pm patch.
1400
1401 * Applied Wander Winkelhorst's nl.pm patch.
1402
1403 * Applied Alberto Marconi's it.pm patch.
1404
1405 * Add NT_STATUS_FILE_LOCK_CONFLICT to pst read error check in
1406 BackupPC_sendEmail to fix bug reported by Dale Renton.
1407
1408 * Added fixup of $ENV{REMOTE_USER} to lib/BackupPC/CGI/Lib.pm in the
1409 case of using mod_authz_ldap; patch submitted by Alain Perrier.
1410
1411 * Added env LC_ALL=C to $Conf{TarClientCmd} and $Conf{TarClientRestoreCmd}
1412 to avoid locale problems, suggested by Ludovic Drolez.
1413
1414 * Changed ping output parsing to pick out average rtt time, based
1415 on patch from Ron Bickers.
1416
1417 * Removed leading "./" and top-level "./" directory from
1418 zip archives generated by BackupPC_zipCreate. Reported
1419 by Josh (hecktarzuli).
1420
1421 * BackupPC_tarCreate and BackupPC_zipCreate now allow "@"
1422 in share names. Reported by Robert Waldner.
1423
1424 * NT_STATUS_INSUFF_SERVER_RESOURCES is now a fatal error for
1425 smbclient transfers, suggested by Brian Shand.
1426
1427 * Changed bin/BackupPC_archiveHost to use /bin/csh instead of
1428 /bin/sh. That way any errors in the pipeline are reported
1429 via the exit status, instead of just the last.
1430
1431 * Added $Conf{EMailHeaders} for additional email headers, requested
1432 by Ludovic Gasc. If the Content-Type charset is set to utf8 then
1433 the body of the email is sent in utf8 coding.
1434
1435 * Made shareName argument regexp checking more general to allow parens.
1436
1437 * Added some debian init.d instructions to init.d/README from
1438 Bob de Wildt.
1439
1440 * Documentation updates from Richard Ames, JP Vossen, Torsten Finke.
1441
1442 #------------------------------------------------------------------------
1443 # Version 2.1.2pl2, 18 Jun 2006
1444 #------------------------------------------------------------------------
1445
1446 * In conf/config.pl, changed --devices to -D in $Conf{RsyncArgs}
1447 and $Conf{RsyncRestoreArgs} to fix "fileListReceive failed" and
1448 "Can't open .../f%2f for empty output" errors with rsync 2.6.7+.
1449 Fix proposed by Justin Pessa and Vincent Ho, and confirmed by
1450 Dan Niles.
1451
1452 * Added patch from Michael (mna.news) to ignore "file is unchanged"
1453 message from tar 1.15.x during incremental backups.
1454
1455 * Fixed creation of .rsrc directories in bin/BackupPC_tarExtract
1456 when used with xtar on MacOS. Reported by Samuel Bancal and
1457 Matthew Radey, who helped with debugging.
1458
1459 * Fixed bug in BackupPC_tarExtract for files >8GB in size whose
1460 lengths are multiples of 256. Reported by Jamie Myers and
1461 Marko Tukiainen, who both helped debugging the problem.
1462
1463 * Fixed bug in lib/BackupPC/Xfer/RsyncFileIO.pm that caused
1464 incorrectly deleted attributes to be set in directories
1465 where one of the files had an rsync phase 1 retry during
1466 an incremental. Reported by Tony Nelson.
1467
1468 #------------------------------------------------------------------------
1469 # Version 2.1.2, 5 Sep 2005
1470 #------------------------------------------------------------------------
1471
1472 * Fixed simple but serious bug in bin/BackupPC_tarCreate that prevented
1473 hardlinks being saved correctly. Debugged by Michael (mna.news)
1474 with several other people.
1475
1476 * Fixed serious bug in bin/BackupPC_dump reported/debugged by Dan Niles
1477 that can happen when multiple full backups are deleted after
1478 $Conf{FullKeepCnt} is changed.
1479
1480 * Changed lib/BackupPC/CGI/Lib.pm so that link to "$TopDir/conf/$host.pl"
1481 is displayed if it exists. Patch from Andreas Vögele.
1482
1483 * Applied daemonize patch to bin/BackupPC from:
1484 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=301057
1485
1486 * It's now a fatal error if $Conf{CompressLevel} is set, but
1487 Compress::Zlib is not found. Before $Conf{CompressLevel} was
1488 silently set to 0, which made all the backups uncompressed.
1489 That meant the user never knew if they forget to install
1490 Compress::Zlib but were expecting compression to be on.
1491
1492 * Finally increased $Conf{ClientTimeout} to 72000 (20 hours).
1493
1494 * Added sleep 1 in restart() function in init.d/src/gentoo-backuppc,
1495 suggested by Jon Hood.
1496
1497 * Added $DestDir to the path of the CGI image directory in configure.pl.
1498 Patch submitted by Andreas Vögele.
1499
1500 * Applied extensive patch to French translation from Frederic Lehobey.
1501
1502 * Minor change to Dutch language $Lang{Pool_Stat} from Wander Winkelhorst.
1503
1504 * Minor change to French language $Lang{EMailOutlookBackupMesg} and
1505 $Lang{EMailOutlookBackupSubj} from Ludovic Gasc.
1506
1507 #------------------------------------------------------------------------
1508 # Version 2.1.1, 13 Mar 2005
1509 #------------------------------------------------------------------------
1510
1511 * Fixed bug in top-level restore using rsync XferMethod.
1512 BackupPC::View was leaving an extra leading "/" at the start
1513 of top-level directories, messing up the FileList sort order.
1514 Reported and debugged by Gail Edwards.
1515
1516 * Added pathCreate() to BackupPC_tarExtract so that new directories
1517 are created. Required for xtar on MacOSX since the virtual resource
1518 fork directories (.rsrc) are not explicitly included in the tar
1519 archive - just the files below .rsrc are.
1520
1521 * Changed $host.$bkupNum.tar$fileExt.* to $host.$bkupNum.tar$fileExt*
1522 in $parCmd in bin/BackupPC_archiveHost.
1523
1524 * Fixed HostSortCompare() in BackupPC to correctly sort hosts so
1525 those with the oldest backups get queued first.
1526
1527 * Changed test in BackupPC_sendEmail so that directories/files
1528 starting with "." in $TopDir/pc are ignored, rather than
1529 just "." and "..".
1530
1531 * Changed BackupPC_sendEmail to include NT_STATUS_FILE_LOCK_CONFLICT
1532 in check for bad outlook files.
1533
1534 * Ensure that %Status and %StatusHost are empty if requesting
1535 status on hosts in lib/BackupPC/CGI/Lib.pm GetStatusInfo().
1536 Fixes problem with new hosts under mod_perl.
1537
1538 * Added images/icon-hardlink.gif so that hardlinks show file type icon.
1539
1540 #------------------------------------------------------------------------
1541 # Version 2.1.0pl1, 15 Aug 2004
1542 #------------------------------------------------------------------------
1543
1544 * Added fix to nl.pm from Lieven Bridts.
1545
1546 * Added patch from Tony Nelson to remove $Info{pid} before BackupPC
1547 writes the status and shuts down.
1548
1549 * Changed BackupPC_nightly so that it doesn't call find() if the
1550 directory doesn't exist. This avoids errors in certain versions
1551 of perl. Reported by Bernd Rilling.
1552
1553 * Fixed BackupPC::CGI::Lib to correctly re-load config.pl for mod_perl.
1554 Reported by Tony Nelson and Jimmy Liang.
1555
1556 * Explicitly untaint $In{host} in BackupPC::CGI::Lib to fix problem
1557 reported by Thomas Tempé.
1558
1559 * Added newline to "...skipping because of user requested delay..."
1560 log message in BackupPC_dump. Reported by Wayne Scott.
1561
1562 * Added read file size error checking to BackupPC_tarCreate.
1563 Reported by Brandon Evans.
1564
1565 * Added check in BackupPC::Xfer::RsyncFileIO to ensure that when
1566 compression is toggled on/off, a compressed backup doesn't link
1567 to an uncompressed pool file (and an uncompressed backup doesn't
1568 link to a compressed pool file). Reported by Brandon Evans.
1569
1570 * Updated documentation with new dirvish URL and a typo from
1571 Todd Curry.
1572
1573 * Fix to BackupPC_sendEmail so that it correctly sends admin emails
1574 for hosts that have failed backups. Reported by Simon Kuhn.
1575
1576 #------------------------------------------------------------------------
1577 # Version 2.1.0, 20 Jun 2004
1578 #------------------------------------------------------------------------
1579
1580 * Added Dutch translation from Lieven Bridts, with tweaks from
1581 Guus Houtzager.
1582
1583 * Added PC-specific config file read in CGI/Archive.pm. Patch
1584 from Pete Wenzel.
1585
1586 * Added non-zero exit code to BackupPC_zcat when uncompress fails.
1587 Patch from Pete Wenzel.
1588
1589 * Cosmetic changes to PC Summary and Log file language strings from
1590 Pete Wenzel.
1591
1592 * BackupPC::Lib tries to be more careful when renaming the backups
1593 file to backups.old. There have been reports of backups being
1594 empty, perhaps when the BackupPC data file system fills up.
1595 Now backups is not renamed to backups.old if backups is empty.
1596
1597 * BackupPC now closes stderr and stdout before renaming and
1598 re-opening the log file.
1599
1600 * Pre/post backup/restore/archive commands now correctly set
1601 "type" to either incr/full/restore/archive, and now cmdType
1602 is the type of Pre/post backup/restore/archive command.
1603
1604 * BackupPC_archive correctly terminates archive processes on
1605 alarm or cancel.
1606
1607 * Updates to BackupPC_stnd.css with absolute font sizes instead
1608 of relative.
1609
1610 * BackupPC_dump now makes sure that the $Conf{FullAgeMax} check
1611 also ensures the full backup is older than the maximum age
1612 expected from $Conf{FullPeriod}.
1613
1614 #------------------------------------------------------------------------
1615 # Version 2.1.0beta2pl1, 30 May 2004
1616 #------------------------------------------------------------------------
1617
1618 * Fixed bug in rsync checksum caching code in BackupPC::Xfer::RsyncDigest.
1619
1620 * BackupPC_zipCreate now ensures the earliest mtime is 1/1/1980,
1621 since zip file formats don't support earlier dates. Reported
1622 by Dan Niles.
1623
1624 * CGI restore via zip and tar now makes sure stderr is ignored
1625 when BackupPC_tarCreate and BackupPC_zipCreate are run.
1626 Previously any stderr output would get mixed in the archive,
1627 corrupting it. Reported by Dan Niles.
1628
1629 #------------------------------------------------------------------------
1630 # Version 2.1.0beta2, 23 May 2004
1631 #------------------------------------------------------------------------
1632
1633 * $Conf{BackupFilesOnly} and $Conf{BackupFilesExclude} now apply
1634 to every share, rather than just the first, in the case where
1635 they are arrays and there are multiple shares. Suggested
1636 by Andy Evans.
1637
1638 * On the phase 2 retry pass with rsync, verify the cached checksums
1639 if checksum caching is turned on. This will catch the case of
1640 cached checksums being incorrectly appended to the compressed
1641 pool file. Added new config parameter $Conf{RsyncCsumCacheVerifyProb}
1642 so that cached checksums are verified with a selectable probability.
1643 Also, increased File::RsyncP version number to 0.51.
1644
1645 * configure.pl now supports an optional batch mode. Command-line
1646 options are used to specify all the information that configure.pl
1647 needs. This is useful for building auto-install packages.
1648 Also, configure.pl now includes pod documentation, so you can do
1649 "perldoc configure.pl" to see all the command-line options.
1650 Suggested, tested and tweaked by Stuart Herbert for possible
1651 Gentoo inclusion.
1652
1653 * At each wakeup, clients are now queued based on how old the most
1654 recent backup is. Clients with errors are queued first, with
1655 the oldest error times going first. The rest of the clients are
1656 queued next, with the clients with the oldest backup going first.
1657 Previously the clients were simply queued in alphabetic order.
1658 Suggested by Mike Trisko and Tony Nelson.
1659
1660 * Added config parameter $Conf{PartialAgeMax} that controls whether
1661 partials are saved at all, and if so, whether the partial will be
1662 ignored at the next full backup if it is too old.
1663
1664 * BackupPC_tarExtract now allows empty archives without reporting
1665 an error. Reported by Don Silvia.
1666
1667 * Removed Browse Backups link from Nav Bar in Archive Info display.
1668 Reported by Ralph Paßgang.
1669
1670 * Fixed documentation display for regular users. Reported by Ralph Paßgang.
1671
1672 * Status and PC Summary now work for regular users and only show
1673 that user's hosts. Server general status information only appears
1674 for admins. Suggested by Ralph Paßgang.
1675
1676 * Moved the last three navigation-bar links (docs, FAQ and SF) to
1677 a new config parameter $Conf{CgiNavBarLinks}. This allows
1678 these links to be locally configured. Based on a patch
1679 submitted by Ralph Paßgang.
1680
1681 * Allow the navigation bar search box to be disabled by
1682 setting $Conf{CgiSearchBoxEnable} to 0. Based on a patch
1683 submitted by Ralph Paßgang.
1684
1685 * Updates to de.pm from Ralph Paßgang.
1686
1687 * Made the BackupPC icon a link to the SF BackupPC project page.
1688
1689 #------------------------------------------------------------------------
1690 # Version 2.1.0beta1, 4 Apr 2004
1691 #------------------------------------------------------------------------
1692
1693 * The CSS definition has been removed from the config.pl file and
1694 is now a separate file, BackupPC_stnd.css. A new config variable,
1695 $Conf{CgiCSSFile}, gives the name of the CSS file to use.
1696 Suggested by Ender Mathias.
1697
1698 * Fixed the filling of the host name select box for admins.
1699 The default $Conf{CgiNavBarAdminAllHosts} is now 1.
1700 Reported by Doug Lytle.
1701
1702 * Cleaned up warning message for restore using rsync when checksum
1703 caching is on, but when file didn't have cached checksums.
1704
1705 * Fixed BackupPC_archiveHost to support par2 (par2cmdline).
1706 Patch submitted by Jaco Bongers and adapted by Josh Marshall.
1707
1708 * Improved stat() usage in BackupPC_nightly, plus some other cleanup,
1709 giving a significant performance improvement. Patch submitted by
1710 Wayne Scott.
1711
1712 * Allow several BackupPC_nightly processes to run in parallel based
1713 on new $Conf{BackupPCNightlyJobs} setting. This speeds up the
1714 traversal of the pool, reducing the overall run time for
1715 BackupPC_nightly.
1716
1717 * Allow BackupPC_nightly to split the pool traversal across several
1718 nightly runs. This improves the running time per night, at the expense
1719 of a slight increase in disk storage as unused pool files might not
1720 be deleted for a couple of days. Controller by new config setting
1721 $Conf{BackupPCNightlyPeriod}.
1722
1723 #------------------------------------------------------------------------
1724 # Version 2.1.0beta0, 20 Mar 2004
1725 #------------------------------------------------------------------------
1726
1727 * A failed full dump is now saved as a partial (incomplete) dump,
1728 provided it includes some files. This can be used for browsing,
1729 restoring etc, and will also form the basis of resuming full
1730 dumps. Only one partial is kept, and it is removed as soon
1731 as a successful full (or a new partial) is done.
1732
1733 * Added support for resuming a full dump for rsync. The partial
1734 full is kept, and to resume an incremental is done against the
1735 partial, and a full is done for the rest.
1736
1737 * Added support for Rsync checksum caching. Rsync checksum are
1738 appended to the compressed pool files. This means that block
1739 and file checksums do not need to be recomputed on the server
1740 when using rsync. Requires a patch to rsync to support fixed
1741 checksum seeds. This patch is included in the cygwin-rsyncd
1742 release on http://backuppc.sourceforge.net.
1743
1744 * Major addition of Archive feature from Josh Marshall. Special
1745 clients can be configured to be archive targets (eg: tape drives,
1746 CD-R). Any subset of the backup clients can be selected and tar
1747 archives are created, optionally compressed and split and written
1748 to the output device. Logs are maintained and are browsable.
1749
1750 * Major changes from Ryan Kucera to add style sheets to the CGI
1751 interface, allowing easy customization. Added new icons and
1752 BackupPC logo. Numerous navigation improvements.
1753
1754 * Added directory history display to BackupPC_Admin, allowing the
1755 user to quickly see which files changed between backups on a
1756 per-directory basis.
1757
1758 * Added exponential expiry option for full dumps. This allows you
1759 to specify
1760
1761 - how many fulls to keep at intervals of $Conf{FullPeriod}, followed by
1762 - how many fulls to keep at intervals of 2 * $Conf{FullPeriod},
1763 - how many fulls to keep at intervals of 4 * $Conf{FullPeriod},
1764 - how many fulls to keep at intervals of 8 * $Conf{FullPeriod},
1765 - how many fulls to keep at intervals of 16 * $Conf{FullPeriod},
1766
1767 and so on. This allows you, for example, to keep 4 weekly fulls,
1768 followed by 6 fulls every 4 weeks (approx 1 month) and 2 fulls at
1769 16 weeks, for roughly 1 year of history. This works by deleting
1770 every other full as each expiry boundary is crossed. Suggested
1771 by David Cramblett.
1772
1773 * Added Italian language translation it.pm from Lorenzo Cappelletti.
1774
1775 * Major updates to language files for new features and tags changes.
1776 Updated makeDist to do pedantic consistency checking of language
1777 files.
1778
1779 * Addition of administration options from Paul Lukins. Initial
1780 page allows server to be started/stopped/reloaded. This still
1781 needs some i18n work. Currently the server start/stop is
1782 commented out.
1783
1784 * Split BackupPC_Admin into a set of modules, one for each major action.
1785 Each action is now a seperate module in lib/BackupPC/CGI.
1786
1787 * Allow the blackout period begin/end to span midnight. Adapted
1788 from patch submitted by David Smith.
1789
1790 * Allow multiple blackout periods, with new config variable
1791 $Conf{BlackoutPeriods} that replaces the old variables
1792 $Conf{BlackoutHourBegin}, $Conf{BlackoutHourEnd}, and
1793 $Conf{BlackoutWeekDays}. Based on patch submitted by
1794 Lorenzo Cappelletti.
1795
1796 * Disabled alarms after forks to avoid timeouts in children that
1797 do not reset their alarm. Prompted by ideas from James Leu.
1798
1799 * Added options for block size, buffer size and share wild-card to
1800 BackupPC_tarCreate. Also added negative backup number options
1801 that are relative to the last (so -1 is the last), suggested by
1802 William McKee and Carl Soderstrom.
1803
1804 * The "Wrong user" message in BackupPC::Lib now goes to stderr, so that
1805 the user is more likely to see the error with BackupPC_tarCreate.
1806 Reported by Paul Fox.
1807
1808 * Add creation of per-PC directory in BackupPC/CGI/Restore.pm in
1809 case it doesn't already exist.
1810
1811 * Added -q -x to all ssh commands in conf/config.pl. Suggested by
1812 SI Reasoning and Niranjan Ghate.
1813
1814 * Changed restore code so that option #1 (direct restore) can be
1815 disabled if the restore command is undefined. Disabling direct
1816 restore is necessary if the share is read-only. Suggested by
1817 Rich B from SAIC.
1818
1819 * Changed regexp in lib/BackupPC/Smb.pm to allow numbers with both
1820 a decimal point or comma for international versions of Samba.
1821 Patch submitted by Frank Gard.
1822
1823 * Browsing and directory history now sort the files in a
1824 case-insensitive manner.
1825
1826 * Changed exec() syntax to allow executing commands whose path
1827 contains spaces.
1828
1829 * BackupPC_dump no longer removes backups if $Conf{FullKeepCnt}
1830 is zero or undefined. The protects the existing backups in the
1831 case of a bad config.pl file. Suggested by Christian Warden.
1832
1833 * Swapped the Server and Hosts sections on the Nav bar. Moved the
1834 host search text box to the top of the hosts section. This was
1835 done to move the variable-length part of the Nav bar (when all
1836 hosts are displayed) to the bottom.
1837
1838 * Fixed a bug in tar restore related to how the common prefix path is
1839 removed. Now ensure that the common path is at a directory boundary.
1840 Reported by Patrick Neuner.
1841
1842 * Added --chuid ${USER} to init.d/src/gentoo-backuppc. Suggested by
1843 SI Reasoning, Pascal Pochol, Michael Evanoff and others.
1844
1845 * Added Suse notes to init.d/README from Bruno Vernay.
1846
1847 * Added Apache 2 documentation fix from Michael Tuzi.
1848
1849 #------------------------------------------------------------------------
1850 # Version 2.0.2, 6 Oct 2003
1851 #------------------------------------------------------------------------
1852
1853 * Fixed stupid last-minute change in octal size conversion in
1854 Backup_tarExtract.
1855
1856 #-----------------------------------------------------------------------
1857 # Version 2.0.1, 5 Oct 2003
1858 #------------------------------------------------------------------------
1859
1860 * Fixed handling of >= 8GB files in BackupPC_tarExtract and >= 4GB
1861 files in BackupPC_tarCreate.
1862
1863 * Removed smbclient size repair in BackupPC_tarExtract for files
1864 between 2GB and 4GB. This means that BackupPC_tarExtract 2.0.1
1865 doesn't behave the same as 2.0.0 for file sizes between 2GB and 4GB
1866 extacted using smbclient 2.2.x. If you have problems backing up
1867 files whose size is between 2GB and 4GB using smbclient 2.2.x
1868 you should upgrade smbclient to 3.0, since it now generates
1869 correct file sizes.
1870
1871 * Replace PingClientPath with PingPath in configure.pl.
1872
1873 * Removed -T (taint mode) on binaries installed in configure.pl.
1874
1875 * Added support for smbclient from samba version 3.0.0.
1876
1877 * Fixed $Conf{HardLinkMax} limit check in BackupPC::Lib; reported
1878 by Ross Skaliotis.
1879
1880 * In BackupPC_Admin, default REMOTE_USER to $Conf{BackupPCUser}
1881 if it is not defined. This allows the CGI interface to work
1882 when AdminUsers = '*'. Reported by Quentin Arce.
1883
1884 * For SMB, code that detected files with a read-locked region (eg:
1885 outlook .pst files), removed them and then tried to link with an
1886 earlier version was broken. This code missed a step of mangling
1887 the file names. This is now fixed. Reported by Pierre Bourgin.
1888
1889 * A backup of a share that has zero files is now considered
1890 fatal. This is used to catch miscellaneous Xfer errors that
1891 result in no files being backed up. A new config parameter
1892 $Conf{BackupZeroFilesIsFatal} (defaults to 1) and can be set to
1893 zero to turn off this check. Suggested by Guillaume Filion.
1894 Additional change: this check only applies to a full dump.
1895
1896 * SMB: now detect NT_STATUS_ACCESS_DENIED on entire share or BackupFilesOnly
1897 (also ERRDOS - ERRnoaccess (Access denied.) for older versions of
1898 smbclient.) Suggested by Guillaume Filion.
1899
1900 * SMB: now detects "tree connect failed: NT_STATUS_BAD_NETWORK_NAME" and
1901 the dump is considered failed.
1902
1903 * Rsync: Previously BackupFilesOnly = '/' did --include '/' --exclude '/*',
1904 which just included the '/' directory and nothing below. Now it
1905 does just --include '/', which should include everything.
1906 Reported by denon.
1907
1908 * Add hostError to DumpPostUserCmd variable substitutions for both dump
1909 and restore.
1910
1911 * Verbose output in Lib.pm goes to STDERR, not STDOUT. This now
1912 makes BackupPC_dump -v work better.
1913
1914 * Don't allow browsing with ".." in directory in case a user tries
1915 to trick BackupPC_Admin into displaying directories outside where
1916 they are allowed.
1917
1918 * Required File::RsyncP version is now 0.44, since File::RsyncP 0.44
1919 fixes large file (>2GB) bugs. Large file bugs reported by Steve
1920 Waltner.
1921
1922 #------------------------------------------------------------------------
1923 # Version 2.0.0, 14 Jun 2003
1924 #------------------------------------------------------------------------
1925
1926 * Minor tweaks to disable utf8 on utf8-capable machines (eg: RH8+).
1927 Added "no utf8" to all programs, and added binmode() to relevant
1928 file handles.
1929
1930 #------------------------------------------------------------------------
1931 # Version 2.0.0beta3, 1 Jun 2003
1932 #------------------------------------------------------------------------
1933
1934 * Several improvements to restore: cancel now reports the correct
1935 message and cleans up correctly.
1936
1937 * Rsync with whitespace and wildcard excludes fixed by replacing
1938 argList with argList+ in config.pl plus a fix to Lib.pm for
1939 shell escaping array arguments.
1940
1941 * Fixed rsync restore for character and block special devices
1942 (major and minor device numbers weren't correctly restored).
1943
1944 * Fixed typo in bin/BackupPC_restore (XferLOG -> RestoreLOG).
1945
1946 * (Re)-fixed "Bad command" in log file when restore via tar or zip
1947 file download is done.
1948
1949 * Added untaint to exec in Lib.pm to avoid tainted errors.
1950
1951 * Applied additional tweak to hilight patch from Tim Demarest.
1952
1953 * $Conf{CgiAdminUsers} = '*' now allows privileged even with REMOTE_USER
1954 not set.
1955
1956 * Don't display RsyncdPasswd when displaying config.pl files.
1957
1958 * Replace pipe with socketpair in bin/BackupPC_dump and bin/BackupPC_restore,
1959 which increases typical buffering from 4K to 16K-64K. This improves the
1960 performance.
1961
1962 * Add check on $ENV{LANG} setting do configure.pl: if LANG includes utf
1963 then a warning is printed.
1964
1965 #------------------------------------------------------------------------
1966 # Version 2.0.0beta2, 11 May 2003
1967 #------------------------------------------------------------------------
1968
1969 * Added German translation, provided by Manfred Herrmann.
1970
1971 * Fixed large-file problem with rsync, reported by Manfred Herrmann.
1972
1973 * Fixed zip and tar file download from CGI under mod_perl. Reported
1974 by Pierre Bourgin and Paul Lukins.
1975
1976 * Fixed directory browsing and top-level directory browsing in 2.0.0beta0.
1977 Reported by several users.
1978
1979 * Added -v option to BackupPC_dump for verbose output (useful when
1980 you run the command manually). Added messages for all exits.
1981
1982 * If nmblookup returns multiple IP addresses, NetBiosHostIPFind()
1983 now returns the first IP address that matches the subnet mask.
1984 Suggested by Tim Demarest.
1985
1986 * Fixed BackupPC::View so the top-level directory is handled correctly.
1987 This allows the top-level share/directory to be restored via the
1988 CGI interface. Reported by several users.
1989
1990 * Fixed RsyncFileIO failures on certain large files by replacing seek()
1991 with sysseek(). Reported by Manfred Herrmann.
1992
1993 * Added configurable highlighting of PC status in the CGI summary
1994 screen; submitted by Tim Demarest.
1995
1996 * Fixed command queue CGI display; submitted by Tim Demarest.
1997
1998 * BackupPC_trashClean now logs an error if it can't remove all the
1999 trash and then goes back to sleep, rather than continually trying.
2000
2001 * Moved correct user (uid) check into BackupPC::Lib so that all
2002 applications do a user check if $Cong{BackupPCUserVerify} is
2003 set. The avoids the risk of manually running BackupPC_dump as
2004 the wrong user.
2005
2006 * Loss of blackout now applies to "host not found" as well as no ping.
2007 Reported by Dale Renton.
2008
2009 * "Host not found" is now treated in a similar manner to "no ping".
2010
2011 * Added suse-linux init.d script from Leon Letto.
2012
2013 * Added Gentoo linux init.d script from Tim Demarest.
2014
2015 * Applied additional i18n strings from GFK and the translation team.
2016
2017 * Fixed option parsing so that getopts errors are reported and we exit.
2018
2019 * Changed reporting of Xfer PIDs so that rsync cancel works correctly.
2020
2021 #------------------------------------------------------------------------
2022 # Version 2.0.0beta1, 30 Mar 2003
2023 #------------------------------------------------------------------------
2024
2025 * Added Spanish translation es.pm from Javier Gonzalez.
2026
2027 * Fixed CGI browse navigation bug that causes BackupPC_Admin to wedge
2028 when directories were selected in a certain order.
2029
2030 * Fixed BackupPC::PoolWrite so that it can recover when the initial
2031 file size is wrong. This is needed since rsync could write a file
2032 whose size is different from the initial size returned in the
2033 file list when that file is updated while rsync is running.
2034
2035 * Added binmode(STDIN) to BackupPC_tarExtract, suggested by Pat LoPresti
2036 to fix a problem a RedHat8 with perl 5.8.0. It's unclear why this
2037 helps, but it should be benign. See:
2038 http://sourceforge.net/mailarchive/forum.php?thread_id=1853018&forum_id=503
2039
2040 #------------------------------------------------------------------------
2041 # Version 2.0.0beta0, 23 Feb 2003
2042 #------------------------------------------------------------------------
2043
2044 * Support for rsync and rsyncd backup and restore. Changes to
2045 BackupPC_dump, BackupPC_restore, and new modules BackupPC::Xfer::Rsync
2046 and BackupPC::Xfer::RsyncFileIO.
2047
2048 * Added internationalization (i18n) code from Xavier Nicollet,
2049 with additions from Guillaume Filion. Voila! BackupPC_Admin
2050 now supports English and French, and adding more languages is
2051 now easy. New config paramater $Conf{Language} sets the language.
2052
2053 * Added optional user-defined pre/post dump/restore commands, allowing
2054 things like database shutdown/startup for dumps.
2055
2056 * Changed the way hosts are found.
2057
2058 * Added $Conf{ClientNameAlias}, which allows the name of the physical
2059 client machine to be set. This allows several different backup
2060 "hosts" to all refer to the same physical machine, which is
2061 convenient if several different types of data need to be backed
2062 up, or if different parameters are needed for different parts of
2063 the host.
2064
2065 * Replaced $Conf{PingArgs} with $Conf{PingCmd}, added $Conf{DfCmd},
2066 $Conf{NmbLookupCmd} allowing all these commands to be fully
2067 configured. Also, all commands can also now be fragments of
2068 perl code.
2069
2070 * Moved all smbclient commands into the config.pl file so the specific
2071 arguments can be customized. New config parameters are
2072 $Conf{SmbClientFullCmd}, $Conf{SmbClientIncrCmd} and
2073 $Conf{SmbClientRestoreCmd}.
2074
2075 * Added new BackupPC::View module that creates views of backups
2076 (handling merging etc). Updated BackupPC_Admin, BackupPC_zipCreate
2077 and BackupPC_tarCreate to use BackupPC::View. This removes lots
2078 of merging and mangling code from the higher-level code.
2079
2080 * Added code from Toby Johnson that allows additional users to be
2081 specified in the hosts file; these users can also view/start/stop
2082 and restore backups for that host. Also added a new config
2083 setting $Conf{CgiNavBarAdminAllHosts} that allows all hosts to
2084 be listed in the left nav bar for admins.
2085
2086 * Added $Conf{HardLinkMax} (default 31999) which sets the limit on
2087 the maximum number of hardlinks per file in the pool. If a file
2088 ever gets to this number of links a new pool file is created to
2089 handle additional links.
2090
2091 * Added $Conf{PerlModuleLoad}, which allows optional additional perl
2092 modules to be loaded.
2093
2094 * Added $Conf{EMailUserDestDomain} and other EMail config settings to
2095 allow language-specific default messages to be overridden.
2096
2097 * Added BPC_FTYPE_DELETED to lib/BackupPC/Attrib.pm, allowing deleted
2098 files to be represented in the attrib file correctly.
2099
2100 * Added support for environment variable BPC_SMB_PASSWD, which is the
2101 client's smb password. This overrides the old environment variable
2102 PASSWD.
2103
2104 * Added taint cleanup for perl5.8 to lib/BackupPC/Lib.pm.
2105
2106 * Changed $tar_unpack_header format in BackupPC_tarExtract to correctly
2107 handle files with trailing spaces.
2108
2109 * Added catching of SIG_PIPE to BackupPC_dump, and changed catch_signal
2110 to ignore multiple signals of the same type.
2111
2112 * Added reporting of the largest number of hardlinks in the pool to the
2113 log file.
2114
2115 * Adding reporting of syntax errors in the per-PC config.pl file.
2116
2117 * Updated BackupPC_sendEmail to handle language-specific email messages.
2118
2119 * Allow client (host) names to contain spaces. Spaces in host names
2120 need to be escaped via "\" in the hosts file. The user of spaces in
2121 host names is discouraged, but they should work. One feature that
2122 doesn't work with host names that contain spaces is the highlighting
2123 of that name in the log file display in the CGI interface. There are
2124 no plans to fix this.
2125
2126 * Renamed $Conf{SmbClientTimeout} to $Conf{ClientTimeout}.
2127
2128 * Fixed all open() calls to use 3 argument form to fix handling of file
2129 names with trailing whitespace. Also fixed CGI interface so these
2130 file names are displayed correctly.
2131
2132 * Fixed new 2.0.0 CGI navigation bug that causes the top-level directory
2133 to have a URL "&share=//boot&dir=" instead of "&share=/boot&dir=/".
2134 Reported by Pascal Schelcher. Fixed similar problem reported by
2135 Doug Lytle.
2136
2137 * Added "PerlTaintCheck On" to the mod_perl section in the docs,
2138 suggested by Tim Demarest.
2139
2140 #------------------------------------------------------------------------
2141 # Version 1.5.0, 2 Aug 2002
2142 #------------------------------------------------------------------------
2143
2144 * Changed conf/config.pl so that $Conf{TarIncrArgs} uses the --newer
2145 option instead of --newer-mtime. Also removed --atime-preserve from
2146 $Conf{TarClientCmd}. This makes the default settings work better
2147 with tripwire.
2148
2149 * Fixed configure.pl so it correctly detects a running BackupPC <= v1.4.0
2150 so it can correctly warn the user to stop it before upgrading. Reported
2151 by David Holland.
2152
2153 * Added missing ";" to entity escape in EscapeHTML in BackupPC_Admin.
2154 Reported by Guillaume Filion.
2155
2156 * Added LDAP setup to documentation from David Holland.
2157
2158 * Tar.pm now adds a "." to file paths that start with "/", so that all
2159 tar paths are relative. From Ludovic Drolez.
2160
2161 #------------------------------------------------------------------------
2162 # Version 1.5.0beta0, 30 Jun 2002
2163 #------------------------------------------------------------------------
2164
2165 * A full set of restore options is now supported, including direct
2166 restore via smbclient or tar or downloading a zip or tar file.
2167
2168 * Major additions to CGI script to support better directory navigation,
2169 restore features and mod_perl. Also, file downloads from the CGI
2170 interface now correctly preserve the file name and provide the
2171 correct Content-Type for the most common types of files. Improved
2172 directory navigation was contributed by Ryan Kucera.
2173
2174 * New script BackupPC_zipCreate (contributed by Guillaume Filion) is the
2175 zip analog of BackupPC_tarCreate. BackupPC_zipCreate can be used to
2176 create a zip archive of any portion of a backup.
2177
2178 * Substantial additions to BackupPC_tarCreate to support restore,
2179 including modifying path names, handling hardlinks, fixing
2180 support of old backups without attributes (pre-v1.4.0). Plus
2181 BackupPC_tarCreate is now an offical part of the release.
2182 (Lack of support for hardlinks was reported by John Stanley.)
2183
2184 * BackupPC_tarExtract now supports hardlinks and fixed pooling of
2185 attribute files.
2186
2187 * A unix domain socket is now used for communication between the CGI
2188 interface and BackupPC. The original TCP socket is optional. Sockets
2189 are correctly re-initialized if config.pl is updated with new socket
2190 settings.
2191
2192 * For improved security messages over the unix or TCP socket are protected
2193 via an MD5 digest based on a shared secret, a sequence number, a time
2194 stamp and a unique per-connection number.
2195
2196 * Additions to configure.pl to support install of directory navigation
2197 images.
2198
2199 * Fixed case where $Conf{BackupFilesOnly} or $Conf{BackupFilesExclude}
2200 were set to a single string or list (in v1.4.0 only the case of
2201 hash worked correctly). Reported by Phillip Bertolus.
2202
2203 * Fixed case of $Conf{BackoutGoodCnt} == 0. This setting now makes the
2204 client always subject to blackout, matching the comments in config.pl.
2205 Also fixed handling of $Conf{BackoutGoodCnt} < 0 in the CGI script
2206 reported by Pascal Schelcher.
2207
2208 * Fixed byte and file totals for tar backups, reported by several users.
2209
2210 * Fixed --newer-mtime date/timestamp format to make it ISO 8601 compliant,
2211 suggested by Erminio Baranzini.
2212
2213 * Fixed handling of $Conf{BackupFilesOnly} in BackupPC::Xfer::Tar.pm, as
2214 well as shell escaping of tar arguments.
2215
2216 * Fixed entity encoding of 8-bit characters in the CGI interface.
2217
2218 * Added optional CGI headers in $Conf{CgiHeaders} that by default
2219 is set to a no-cache pragma. Suggested by Benno Zuure.
2220
2221 #------------------------------------------------------------------------
2222 # Version 1.4.0, 16 Mar 2002
2223 #------------------------------------------------------------------------
2224
2225 * BackupPC now supports tar (in addition to smb) for extracting host
2226 data. This is the most convenient option for linux/unix hosts.
2227 Tar can be configured to run over ssh, rsh or to backup a local
2228 nfs mount from the host.
2229
2230 * Support for special files, including symbolic links, fifo, character
2231 and block device files has been added, so that all native linux/unix
2232 file types can be correctly backed up when using tar transport.
2233 Special files are all stored as regular files and the type attributes
2234 are used to remember the original file type.
2235
2236 * All unix file attributes are now saved (and pooled when possible).
2237 This includes user and group ownership, permissions, and modification
2238 time. Smbclient also does a reasonable job of emulating unix
2239 permissions (such as mtime), and these attributes get saved too.
2240
2241 * The new default is to not fill incremental dumps. configure.pl
2242 automatically sets $Conf{IncrFill} to 0. The default was 1
2243 (incrementals were filled with hardlinks). Since the CGI
2244 script does filling at browsing time, there is no need to
2245 fill incremental dumps.
2246
2247 * Backup file names are now stored in "mangled" form. Each node of a
2248 path is preceded by "f", and special characters (\n, \r, % and /) are
2249 URI-encoded as "%xx", where xx is the ascii character's hex value. So
2250 c:/craig/example.txt is now stored as fc/fcraig/fexample.txt. This
2251 was done mainly so meta-data could be stored alongside the backup
2252 files without name collisions. In particular, the attributes for the
2253 files in a directory are stored in a file called "attrib", and
2254 mangling avoids file name collisions (I discarded the idea of having
2255 a duplicate directory tree for every backup just to store the
2256 attributes). Other meta-data (eg: rsync checksums) could be stored in
2257 file names preceded by, eg, "c". There are two other benefits to
2258 mangling: the share name might contain "/" (eg: "/home/craig" for tar
2259 transport), and I wanted that represented as a single level in the
2260 storage tree. Secondly, as files are written to NewFileList for later
2261 processing by BackupPC_link, embedded newlines in the file's path
2262 will cause problems which are avoided by mangling.
2263
2264 The CGI script undoes the mangling, so it is invisible to the user.
2265 Of course, old (unmangled) backups are still supported by the CGI
2266 interface.
2267
2268 * Various changes to the CGI interface, BackupPC_Admin:
2269
2270 + Added button that allows users to manually start a full dump in
2271 addition to the existing incremental dump.
2272
2273 + Added display of file attributes when browsing backups.
2274
2275 + Added an optional holdoff time specified by the user when canceling
2276 a backup. BackupPC will not attempt any new backups for at least the
2277 specified time. This holdoff time can be changed whether or not a
2278 backup is running.
2279
2280 + Added supports for file mangling, and correct merging of unfilled
2281 backups from mangled or unmangled (and compressed or uncompressed)
2282 fulls when browsing or restoring.
2283
2284 + Only displays a "Start Incr Backup" button if there are already some
2285 backups.
2286
2287 + For DHCP hosts, when a user tries to manually start a backup, add
2288 a check for the netbios name of both the host the request came
2289 from (REMOTE_ADDR) and the last known DHCP address for that host
2290 to see if either address matches the host. If not, an error
2291 message is display. The previous behavior was that only requests
2292 from the client itself succeeded, and requests from other machines
2293 quietly failed.
2294
2295 * Changed the version numbering to X.Y.Z, instead of X.0Y. This release
2296 is 1.4.0. The first digit is for major new releases, the middle digit
2297 is for significant feature releases and improvements, and the last
2298 digit is for bug fixes. You should think of the old 1.00, 1.01, 1.02
2299 and 1.03 as 1.0.0, ..., 1.3.0.
2300
2301 * BackupPC and the CGI script BackupPC_Admin now check that the effective
2302 user id is correct to avoid accidentally launching BackupPC as the
2303 wrong user or detecting CGI configuration problems. This behavior
2304 can be turned off using the $Conf{BackupPCUserVerify} option.
2305
2306 * In numerous places changed "Smb" to "Xfer" (eg: log file names) to
2307 support generic names for both smb and tar transport methods. The
2308 CGI script checks for old names for backward compatibility.
2309
2310 * Major changed to Backup_dump to support new tar transport. All transport
2311 specific code moved into BackupPC::Xfer::Smb and BackupPC::Xfer::Tar
2312 objects.
2313
2314 * Added workaround for a bug in Samba's smbclient for files between 2GB
2315 and 4GB. The file size in the tar header is incorrect. This allows
2316 files up to 4GB to work with smbclient, rather than 2GB. To support
2317 files larger than 2GB you must make sure perl is compiled with the
2318 uselargefiles option (use "perl -V | egrep largefiles" to check) and
2319 the pool directory must be on a file system that supports large files.
2320
2321 * Moved the pool writing code into a module BackupPC::PoolWrite. This
2322 allows the clever file pool checking (digest, uncompressing, comparing
2323 etc with minimum disk IO) to be used easily in multiple places (eg: it
2324 is now used for writing attribute files so they can be pooled).
2325
2326 * Changed MD5 to Digest::MD5 to avoid use of the depreceated MD5 module.
2327
2328 * Shortened default $Conf{MyPath} so that perl's taint mode is more likely
2329 to be happy. The old $Conf{MyPath} contained /usr/local/bin, which
2330 on one user's machine was world writable and perl -T correctly
2331 complained about it.
2332
2333 * Fixed ping command options in Lib.pm so that it works on OpenBSD.
2334 Thanks to Kyle Amon for sending the fix. Decided to move the
2335 ping options from Lib.pm into config.pl (as $Conf{PingArgs}) and
2336 now configure.pl tries to come up with a sensible default based on
2337 the OS.
2338
2339 * Fixed argument checking in BackupPC_tarExtract to allow '$' in the
2340 share name (eg: C$). Thanks to Jules Agee for this fix. Also
2341 changed the default config.pl so that single quotes are used
2342 everywhere so that people don't get tripped up putting '$' inside
2343 double-quoted strings.
2344
2345 #------------------------------------------------------------------------
2346 # Version 1.03, 9 Dec 2001
2347 #------------------------------------------------------------------------
2348
2349 * BackupPC now has full support for compression. There are now two
2350 pool areas, the original pool for uncompressed files, and cpool for
2351 compressed files. The compression is done by Compress::Zlib.
2352 Compression reduces the pool disk usage by around 40%, although your
2353 mileage may vary. Compression is optional and can also be specified on
2354 a per-PC basis (although this will cost more pool storage since many
2355 backup files will have to be stored in both compressed and
2356 uncompressed forms.
2357
2358 * A new script, BackupPC_compressPool, can be run to compress the entire
2359 pool. This is used once to migrate all the pool data from uncompressed
2360 to compressed on existing installations. Read the documentation
2361 (Installing BackupPC/Compressing an existing pool) before running
2362 BackupPC_compressPool!
2363
2364 Alternatively, compression can simply be turned on and all new backups
2365 will be compressed. Both old (uncompressed) and new (compressed)
2366 backups can be browsed and viewed. Eventually, the old backups will
2367 expire and all the pool data will be compressed. However, until the
2368 old backups expire, this approach could require 60% or more additional
2369 pool storage space to store both uncompressed and compressed versions
2370 of the backup files.
2371
2372 * Significant improvements to the cgi interface, BackupPC_Admin:
2373
2374 - much better layout navigation
2375 - handles compressed backup files and compressed log files
2376 - handles unfilled incremental dumps
2377 - better backup directory browsing navigation
2378 - reports compression statistics
2379 - $Conf{CgiDateFormatMMDD} allows you to set date format (MM/DD or DD/MM)
2380 - Additional customization with $Conf{CgiHeaderFontType},
2381 $Conf{CgiHeaderFontSize}, $Conf{CgiNavBarBgColor}, and
2382 $Conf{CgiHeaderBgColor}.
2383
2384 * Eliminated BackupPC_queueAll. BackupPC directly reads the hosts
2385 file and queues the PCs itself. Like config.pl, BackupPC will
2386 re-read the hosts file on each wakeup if its modification time
2387 changes, or upon a SIGHUP. This also makes for better behavior
2388 when adding a host: if you add hosts, simply send a SIGHUP to
2389 BackupPC or wait for the next wakeup.
2390
2391 * BackupPC_dump now compresses the SmbLOG file if compression is enabled.
2392
2393 * BackupPC_dump keeps track of compressed file sizes so that compression
2394 statistics can be reported by the cgi interface.
2395
2396 * Aging of old log files now handles compressed log files (.z extension).
2397
2398 * Added configuration option $Conf{IncrFill} to specify whether
2399 incremental dumps should be filled in. Old behavior was that
2400 filling was on. Now it's optional. See config.pl for more
2401 details.
2402
2403 * BackupPC_nightly now cleans and generates statistics for both
2404 the uncompressed pool and compressed pool (cpool).
2405
2406 * Added new utility script BackupPC_zcat that can be used to
2407 uncompresses BackupPC files.
2408
2409 * configure.pl offers various options related to compression,
2410 depending upon whether this is a new install or upgrade,
2411 and whether or not Compress::Zlib is installed.
2412
2413 * configure.pl now makes a backup copy of config.pl before
2414 config.pl is updated.
2415
2416 * added three new fields to the backups file to handle optional
2417 filling and compression stats.
2418
2419 * Added -e option to BackupPC_dump. BackupPC now invokes BackupPC_dump -e
2420 on each dhcp host once each night to verify that very old backups are
2421 expired. This ensures that very old backups are expired even if
2422 the dhcp host has not been on the network for a long time.
2423
2424 * fixed bug in BackupPC::FileZIO.pm that required Compress::Zlib,
2425 even if compression was off. Thanks to Steve Holmes for reporting
2426 this.
2427
2428 * fixed bug that caused a BackupPC queue to get blocked when a backup
2429 cancel attempt was made during the BackupPC_link phase.
2430
2431 #------------------------------------------------------------------------
2432 # Version 1.02, 28 Oct 2001.
2433 #------------------------------------------------------------------------
2434
2435 * Added new script BackupPC_tarExtract to extract the smbclient tar
2436 archive. This reduces disk writes by perhaps 90-95% and disk reads by
2437 50%. Previously, tar was used to extract and write everything to disk.
2438 Then BackupPC_dump would read enough of each file to compute the MD5
2439 digest, and then compare the full file with candidate pool files. So
2440 for each 1MB file that matches a single file in the pool, there would
2441 be 1MB of disk writes and 2MB of disk reads (to compare two 1MB files).
2442
2443 BackupPC_tarExtract instead extracts the archive using a 1MB memory
2444 buffer. This allows the MD5 digest to be computed without touching the
2445 disk. Next, any potential pool file compares are done by comparing the
2446 pool file against the incoming tar data in memory, which only requires
2447 the pool file to be read. So for each 1MB file that matches a single
2448 file in the pool, there are now no disk writes, and only 1MB of reads.
2449 BackupPC_tarExtract handles arbitrary size files and repeated
2450 potential pool matches. If the incoming file doesn't match the pool
2451 then it is written to disk (once the pool is mature this happens maybe
2452 5-10% of the time).
2453
2454 * Substantial changes to BackupPC_dump:
2455
2456 + BackupPC_tarExtract is now used in place of tar.
2457
2458 + BackupPC_dump now reads the output from both smbclient and
2459 BackupPC_tarExtract and merges them into SmbLOG.
2460
2461 + Named pipes are no longer used to connect smbclient to tar
2462 (now BackupPC_tarExtract). Regular pipes are used instead.
2463 This avoids the need to system mknod or mkfifo.
2464
2465 + Locked files on the client that can't be read by smbclient
2466 previously were filled with 0x0 bytes by smbclient, meaning
2467 tar extracted a useless file filled with 0x0 bytes. Now,
2468 BackupPC_dump watches the output of smbclient and removes
2469 any files that smbclient couldn't read. This avoids storing
2470 useless files. It tries to replace such files with a hard link
2471 to a previous dump. These actions appear in the log file.
2472
2473 * added new module lib/BackupPC/FileZIO.pm. This handles pool file
2474 I/O and is used by BackupPC_tarExtract. BackupPC::FileIO supports
2475 reading and writing compressed and regular files and provides all the
2476 hooks for compression support in BackupPC (should be supported in next
2477 version). BackupPC::FileIO also does efficient writing of files that
2478 contain leading 0x0 bytes (by seeking past the 0x0 bytes). This is
2479 helpful when smbclient reads a locked file, and it fills the tar
2480 output with a file of the correct size but all 0x0. Such files will be
2481 later removed by BackupPC_dump. But in the meantime, BackupPC::FileIO
2482 writes such files efficiently (as sparse files), meaning just a few
2483 blocks of disk space will be needed even if the file is large.
2484
2485 * alive/dead counting for blackout now works correctly for DHCP hosts.
2486
2487 * BackupPC resets activeJob on startup, to fix bug when BackupPC was
2488 killed and restarted with backups running.
2489
2490 * added extra non blocking select() in BackupPC to make sure the socket
2491 reads don't block.
2492
2493 * BackupPC avoids queuing multiple BackupPC_queueAll's on the CmdQueue.
2494
2495 * Updated BackupPC_sendEmail to correctly parse the locked file
2496 error from 2.2.1a smbclient, so that missing Outlook file emails
2497 can be correctly sent.
2498
2499 * Changed HostInfoRead() in lib/BackupPC/Lib.pm to lowercase the
2500 hostname read from the hosts file.
2501
2502 * BackupPC_Admin provides general summary when the host name is empty.
2503
2504 * configure.pl (and BackupPC) now requires perl 5.6.0 or later.
2505
2506 * configure.pl complains if BackupPC is already running, reminding you
2507 to stop it before upgrading.
2508
2509 * updated documentation, and fixed auto-insertion of config.pl into
2510 BackupPC.pod (previously the last config parameter was left out of
2511 BackupPC.pod).
2512
2513 #------------------------------------------------------------------------
2514 # Version 1.01, 30 Sep 2001
2515 #------------------------------------------------------------------------
2516
2517 * Documentation cleanup in README, doc/BackupPC.pod, conf/config.pl.
2518
2519 * BackupPC_sendMail now reads the optional per-PC config file, allowing
2520 email configuration parameters to be set on a per-PC basis.
2521
2522 * Removed the unused 4096-length MD5 digest code in lib/BackupPC/Lib.pm.
2523
2524 #------------------------------------------------------------------------
2525 # Version 1.00, 21 Sep 2001
2526 #------------------------------------------------------------------------
2527
2528 * Initial release of BackupPC on sourceforge.net.