-
Notifications
You must be signed in to change notification settings - Fork 76
/
Copy pathCHANGELOG
950 lines (870 loc) · 46.1 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
* Upgrade Windows depkgs to openssl-1.0.2d.
* Upgrade Windows depkgs to librsync-1.0.0.
* Add internal CRL revocation feature based on a patch from Sebastien
Couppey (as opposed to using the old ssl_extra_checks_script server pre
script).
2015-09-30 Changes in burp-2.0.24:
* Another fix for sigchld handling.
* Tests for delete algorithm.
* Tests for bu_get.
* Fix a bug where deleting with multiple keep settings and no hardlinked
archives would result in too many backups getting removed in the oldest
keep range.
* During backup, read compression settings from the attribs buffer sent from
the client rather than relying on the server config being correct.
* Fix a bug where interrupting the server whilst it was deleting old
backups would result in the next backup erroneously being given a backup
number incremented from the timestamp in the 'deleteme' directory.
* Fix the 'manual_delete' option so that it works on backups instead of
just the rubble left behind by a librsync=1 backup. Add the option to the
man page as it was missing.
* Add acl=[0|1] and xattr=[0|1] options so that acls and xattrs can be
turned on and off at runtime.
* Ensure all logw() messages end with a newline.
2015-09-04 Changes in burp-2.0.22:
* Make protocol2 resume work. Add unit tests for resume components.
* Store manifest fingerprints and md5sums in binary instead of strings,
plus related endian fixes.
* Fix '-a l' regex so that it isn't split in two at the right-most
colon.
* Fix possible buffer overrun when encoding attribs.
* Fix protocol 1 phase 2 resume bug introduced in 2.0.20.
* Fix protocol 1 phase 2 bug where librsync was never used.
* Fix possible protocol 2 phase 2 segfaults.
* Make protocol 1 and 2 share the same code for phase 3.
* Set default_md=sha256 in CA.cnf.
* Use 'stat' for checking ssl files instead of 'lstat', and log if
the ssl file was not found.
* Fix path for server initiated backup via timer_script.
* Use getpid() for random delay seed so that I can get rid of OS specific
clock code and '-lrt' link flag.
* Get xattr working on Mac OSX. This should mean that resource forks and
finder info backup/restore is working.
* Fix Windows protocol1 restore segfault when using split_vss.
* Fix directories in Windows protocol1 strip_vss mode.
* Fix from Patrick Van der Veken to correct typo in timer_script that
meant month settings were broken.
* Make listing a non-existent backup give an error.
* Stop using scandir with a comparison function, in order to avoid
problems with compilation on Macs.
* Fix bug where Windows backups with split_vss was saving CMD_METADATA
instead of CMD_VSS.
* Prevent warnings when listing backups that contain metadata.
* Fix for SIGHUP causing server to stop listening.
* Use flock to stop simultaneous runs of burp_ca, hopefully preventing CA
corruption.
* Unit tests for src/client/find.c, enabling the removal of some of the
time consuming end-to-end tests.
* Fix 'nobackup' conf item.
* Don't use absolute path to 'sort' in 'make test'.
* Fix bug where fs_name_max could get set to an incorrect value on the
server side, causing scandir to fail at the end of a backup.
* Fix for a growing list of defunct child processes on busy servers, where
overlapping sigchlds would get conflated into one, and waitpid would only
get run once.
* Set the server address in linux client burp.conf to "::1" if IPv6 is
supported, and "127.0.0.1" otherwise.
* Substitute 127.0.0.1 for the default burp.conf server address if the OS
doesn't have IPv6.
* Fix for server side restore file causing '-a m' to exit.
* Fix large file support for 32 bit machines.
* Let the champ chooser continue if candidate_add_fresh could not read a
new candidate file.
* On the server, log the client address and port for every connection.
* Upgrade Windows depkgs to openssl-1.0.1p.
2015-07-01 Changes in burp-1.4.40:
* Fix '-a l' regex so that it isn't split in two at the right-most colon.
* Set default_md=sha256 in CA.cnf.
* Correct logp format strings in quota.c.
* Upgrade Windows depkgs to openssl-1.0.1o.
2015-05-30 Changes in burp-2.0.20:
* Fix conf bug that was causing the server to segfault when the client
used the -C option. Also add unit test for it.
* Add documentation about retention and keep values.
* Make status monitor print a warning in the JSON response if there was a
problem with the request.
* Add status monitor commands to turn pretty printing on and off.
* Add documentation about adding and removing clients.
* Use librsync hash blake2, if available on both server and client.
* Remove 'working_dir_recovery_method = use'.
* Stop bedup from trying to process protocol 1 directories.
* Fix bedup segfaults.
* Fix bug where setting the same include in both client burp.conf and
server clientconfdir file could result in the item being used twice as
a starting point and causing chaos.
* Add 'include' directories that are not starting points to the
'cross_filesystem' list.
* Add more protocol 1 phase 2 interrupt tests.
* Fix some protocol 1 phase 2 resume bugs.
2015-05-30 Changes in burp-1.4.38:
* Turn SO_REUSEADDR on instead of turning it off.
2015-05-03 Changes in burp-2.0.18
* Fix bug where an error generated by link() was obeyed, but not logged.
* Allow compilation when openssl has no SSL_OP_NO_COMPRESSION option
Log a message if an attempt to use the feature was made.
* Fix problem where a client connecting while a backup was finalising
would cause 'backup failed' emails to be sent.
* Fix two possible segfaults discovered with efence.
* Fix status monitor segfault due to recent conf system changes.
* Use setlinebuf(stdout) with '-a m' so that reading processes get the
output of the logp printfs straight away.
* Add out-of-date report script from Pablo Daniel Estigarribia Davyt.
* 'backup_script_reserved_args=0|1' and 'restore_script_reserved_args='0|1'
client side options.
* Fix protocol2 dpth incrementing bugs.
* Fix Windows VSS output so that it prints the writer names at the start of
backups.
* More unit tests.
* Add some documentation about working_dir_recovery_method.
* Don't open the log when about to delete the working directory.
* Stop server side 'auth ok' message logging a freed string.
* Updates to out_of_date_report_script from Pablo Estigarribia.
2015-05-03 Changes in burp-1.4.36:
* Fix bug where an error generated by link() was obeyed, but not logged.
* Fix possible segfaults in asyncio.c.
* Don't open a log file in a directory that we are about to delete. Fixes
'error in get_lock_and_clean()' that was happening with some network
attached storages.
2015-02-28 Changes in burp-2.0.16:
* Add ability to do 'burp -a l -b c' and list the files in the current
backup.
* Rewrite the conf system. Gives the ability to use 'burp -t' to show the
current conf settings. Add '-c <conf file>' and '-C <client>' to get
client/server conf settings, and clientconfdir settings.
* More unit tests.
* Add 'scan_problem_raises_error' option, which lets you treat phase1 scan
warnings as hard errors.
* Fix bug where 'burp -a S' was limited to 24 lines.
* Make 'burp -a S' not truncate client names.
* Implement glob '. /some/dir/*' conf syntax on non-Windows machines.
* Changes to support librsync-1.0.0.
* When listing a directory, include a '.' entry to indicate the directory
itself.
* When listing a directory, send an error if the directory was not found.
* Fix for client getaddrinfo error message.
* Fix resume bug when a backup is interrupted before phase1 has got under
way.
* Fix resume bug where an interruption in phase3 causes problems.
* Fix compile when there is no ncurses.
2015-02-28 Changes in burp-1.4.34:
* Fix bug where permissions would not be backed up correctly when only
permissions have changed.
* Support librsync-1.0.0.
* Bug fix for client getaddrinfo error message.
* Upgrade Windows depkgs to openssl-1.0.1m.
2015-03-02: Changes in burp-2.0.14:
* Improve utest/Makefile.
* Add unit test for base64.c.
* Make from_base64() ignore invalid characters.
* Make the path to pidfiles in the config files substitutable.
* Fix some phase1 bugs related to min/max_file_size and hard links.
* BSD compilation fixes from Stefan Paletta.
* Make restoring a hard link without restoring the original file work.
* Fix for a protocol 1 bug to do with the first hardlinked entry being
deleted on the client.
* Make verify work for protocol 2.
2015-02-06: Changes in burp-2.0.12:
* Move /etc/burp scripts to /usr/share/burp/scripts.
* Do some sed replacement when installing config files.
* Start to add unit tests with 'check'.
* Don't return code for restore warnings if there was an error.
* RHEL updates from Andrew Niemantsverdriet: Added support for systemd and
cleaned up the spec file according to rpmlint.
* Allow syslog and stdout logging at the same time (was broken in 2.0.10).
* Fix some file descriptors timing out due to the network timeout code, when
they shouldn't be considered for that.
* Use __STDC_FORMAT_MACROS to get rid of printf warnings on Debian 7.6 and
also use them for Windows printf formatting, which simplifies some code.
* Upgrade Windows depkgs to openssl-1.0.1l.
2015-02-05 Changes in burp-1.4.32:
* Allow syslog and stdout logging at the same time (was broken in 1.4.30).
* In the client, don't use the return code for restore warnings if an error
code is already set.
* Upgrade Windows depkgs to openssl-1.0.1l.
2015-01-03 Changes in burp-2.0.10:
* There are many changes since the last burp-2 release, including:
- Massive reworking of the status monitor system and ncurses client.
- Massive reworking of async i/o.
- Forward ports of all 1.4.x patches.
* The main focus was improving the status monitor system in order to better
support projects like burp-ui. There are still missing pieces to it, but
most of the basics are now there.
Be sure to read the UPGRADING file. Protocol 2 is still work in progress,
so do not expect protocol 2 backups to work with future releases.
2015-01-03 Changes in burp-1.4.30:
* Better SSL error logging.
* Replace c_rehash with a line of shell script, from Markus Heberling.
* Use lutimes to set times on symlinks.
2014-12-03 Changes in burp-1.4.28:
* Help Mac compilation by removing calls to basename() in vss_strip.c and
bedup.c.
* Add soft/hard quota feature.
2014-10-28 Changes in burp-1.4.26:
* Bug fix for incorrect handling of '' in check_browsedir().
* Bug fix for made up directory names in check_browsedir() not having the
directory bit set.
* Close unnecessary file descriptors after forking children.
* Check for EAGAIN and EINTR when read on child status pipe fails in main
server process.
* Make status_wfd non-blocking and run a select() on it before the child
tries to write to it.
* Fix a possible segfault when reading from a status client.
* Log a more accurate description of ssl_ciphers.
* Make the Windows client return codes other than 0.
* Set openssl options SSL_OP_NO_SSLv2 and SSL_OP_NO_SSLv3, to avoid the
poodle vulnerability.
* Slightly better logging when SSL fails in src/async:do_write().
* Bug fix for bedup not obeying clientconfdir configs.
2014-09-28 Changes in burp-1.4.24:
* Make vss_strip.c include the configure output, so that vss_strip gets the
large file options.
* Make the server initiated restore not require an 'include' line.
* Add the ability to list backup_stats/restore_stats/verify_stats via the
status port.
* Add 'client_is_windows=0|1' to the stats files.
* Bug fix for resume bug not correctly truncating the phase2/unchanged
manifests.
* Make restore_clients override client_can_restore/list/verify/delete
settings.
2014-08-31 Changes in burp-1.4.22:
* Fix for xattrs with zero length values.
* Fix for restore bug when a file cannot be opened.
* Tweak to compile with burp-2 cross-tools/depkgs.
2014-07-26 Changes in burp-2.0.8:
* There are many changes since the last burp-2 release, including:
- Ability to configure the server listening addresses at run time.
- Run the champion chooser as a separate process.
- Option to remove the need for a client password and cname - use certs
exclusively.
- Warn if files are restored from outside a hardlinked_archive.
- Fix unnecessary duplication and deletion with hardlinked_archive=1.
- Fix backups failing with too long server side paths.
- Add option to configure SSL compression.
- Burp protocol 1 support looks good.
- Many code improvements and bug fixes.
* This release was focused on making the burp protocol 1 support good.
Be sure to read the UPGRADING file. Protocol 2 is still work in progress,
so do not expect protocol 2 backups to work with future releases.
2014-07-26 Changes in burp-1.4.20:
* Fix for backing up fifos with xattrs.
2014-07-06 Changes in burp-1.4.18:
* Fix some Mac compilation warnings.
* Fix a bug where specifying an alternative restore directory with a trailing
slash would not work.
* Set REMOTE_ADDR and REMOTE_PORT environment variables.
* Force the user spell out '-a delete', to avoid confusion with the future
'diff/long diff' options. Prevent old clients from deleting, to prevent
potential accidents.
* Fix a problem where interrupting the client during a list could leave the
server child process hanging indefinitely.
2014-05-31 Changes in burp-1.4.16:
* Bug fix for restoring permissions on empty directories.
* Compile for systems that have no O_NOATIME and fdopendir() - ie, Mac OS X.
* Bug fix - some readlink() returns were getting assigned to an unsigned
variable, not a signed variable.
* Removed references to old '-l' logfile option.
* Added Jarkko Kniivilä's FreeBSD init script.
* Added Jarkko Kniivilä's tweaks to make scripts run more easily on FreeBSD.
* In bedup, detect if a rename failed after unlinking the target file,
print a warning and stop processing.
* Fix a case where an interrupted backup may not have been automatically
recoverable.
* Set IPTOS_THROUGHPUT bit on Windows, so that burp is doing the right thing
even if Windows decides to remove it.
2014-04-29 Changes in burp-1.4.14:
* Add an 'atime' option, which allows the user to choose whether to use
O_NOATIME or not.
* Fix function not returning anything when it should return an int
in list_server.c.
2014-03-29 Changes in burp-2.0.4:
* First release of burp-2. Use with extreme caution.
2014-03-29 Changes in burp-1.4.12:
* Make 'make test' skip tests if no source of randomness seems to exist
for openssl to use.
* Bug fix for restoring correct file times on Windows clients.
* Bug fix for false failure notification - differentiate between
not getting a lock and getting an error when trying to get a lock.
* Turn off excessive logging on some restores.
* Debian packaging changes.
* Rename configure.in to configure.ac to avoid Debian build warnings.
* Make test script check for lock file instead of working/finishing symlinks
when checking whether an operation has finished yet.
* Fix encryption casting problem on 64 bit big endian platforms (eg, s390x,
ppc64, sparc64).
2013-12-01 Changes in burp-1.4.10:
* Bug fix for false failure notification when a client tries to connect again
while a backup is still in progress.
2013-11-27 Changes in burp-1.4.8:
* Be sure to close directory file descriptor if fdopendir() fails.
* Extend the JSON list functionality so that covers all types of listing.
* Allow the backup to carry on if a filename was too long for the server.
* Regenerate server certificates if the CA directory exists and is empty.
* Add machine-readable statistics files for restores and verifies in the
backup directories.
* Bug fix for server not exiting after one connection with '-n'.
* Add 'manual_delete=<directory>' option. This makes the server move
directories to be deleted to the specified directory, with the intention
that they will be deleted manually (perhaps by a cron job) later.
2013-10-30 Changes in burp-1.4.6:
* Add client option '-a T', which checks whether it is yet time for a backup
without actually doing a backup.
2013-10-02 Changes in burp-1.4.4:
* Bug fix for include_glob xmalloc success check on Windows.
* Fix long list and status monitor output when a directory argument is given.
* Fix restore problem with backups containing both compressed and
uncompressed files.
* Bug fix for an interrupted backup causing a resume when a restore_client
connects.
* Bug fix for defaulting 'resume partial' to off.
2013-09-02 Changes in burp-1.4.2
* Add a machine-readable statistics file to each backup directory.
2013-07-29 Changes in burp-1.4.0
* Add Abbas Khan's RHEL spec files and related things.
* Add Benjamin Sans's include_glob feature.
2014-01-27 Changes in burp-1.3.48:
* Bug fix for restoring correct file times on Windows clients.
2013-12-30 Changes in burp-1.3.46:
* Another bug fix for false failure notification - differentiate between
not getting a lock and getting an error when trying to get a lock.
* Turn off excessive logging on some restores.
2013-12-01 Changes in burp-1.3.44:
* Bug fix for false failure notification when a client tries to connect again
while a backup is still in progress.
2013-11-27 Changes in burp-1.3.42:
* In backup phase 4, a 'deleteme' directory may already exist if the server
was previously interrupted whilst deleting it. If so, delete it before
attempting to rename anything to it.
2013-10-30 Changes in burp-1.3.40:
* Make the server request the whole file when ctime changes on Windows,
otherwise changes to metadata when the file content is unchanged will not
be noticed.
* Add 'delete' to the client help output.
* Bug fix for the include_glob code being run on the server side.
* Bug fix for in the include_glob code not initialising the glob_t struct
correctly.
* Get 'include_glob=' in the clientconfdir server side file to work without
also needing an 'include='.
* When backing up, open files and directories with O_NOATIME flag so that the
access time is not changed.
* Bug fix for no failure notification being sent when the backup directory
cannot be created.
2013-10-02 Changes in burp-1.3.38:
* Fix long list and status monitor output when a directory argument is given.
* Fix restore problem with backups containing both compressed and
uncompressed files.
* Bug fix for an interrupted backup causing a resume when a restore_client
connects.
* Bug fix for defaulting 'resume partial' to off.
2013-07-29 Changes in burp-1.3.36:
* Fix truncation of timestamps in the live status monitor.
* Default the 'resume partial' feature to being off, and add an option to
turn it on.
* Upgraded Windows cross tools to:
+ binutils-2.23.1
+ gcc-4.7.3
+ gmp-5.1.2
+ mingw-w64-v2.0.8
+ mpc-1.0.1
+ mpfr-3.1.2
* Upgraded Windows depkgs to:
+ openssl-1.0.1e
+ zlib-1.2.8
+ pcre-8.33
2013-06-29 Changes in burp-1.3.34:
* Contributions from Avi Rozen:
+ Major autoconf cleanup.
+ Initial support for cross-building android targets.
* On the server, indicate where logging is occurring.
* Fix bedup segfault when using -m with no argument.
2013-05-31 Changes in burp-1.3.32:
* Fix status monitor segfault.
* Run timed backups with lower thread priority on Windows.
* Add 'vss_drives' option, which gives the ability to specify which Windows
drives get a VSS snapshot.
2013-04-02 Changes in burp-1.3.30:
* Add a warning when run on Windows without admin privileges.
* Perform fewer lstat()s on systems that support d_type (ie most Linux
systems), in order to speed up certain operations.
* Allow _FORTIFY_SOURCE to work.
* Fix problem with burp_ca.bat and repeated field names in burp.conf.
* Put registry keys back in the Windows installer.
* Fix for SIGHUP reload causing the server to go into non-forking mode.
* Indicate the backups that are deletable.
* Add a client option for deleting deletable backups.
* Add a 'client_can_delete' option on the server.
* Fix for using the wrong lock directory when 'directory' is overridden for
a client.
2013-03-30 Changes in burp-1.3.28:
* Add the ability to resume partially transferred files.
* Make sure 'timer conditions not met' message appears on the client.
* Bug fix for turning off compression before resuming a backup.
2013-03-05 Changes in burp-1.3.26:
* When a read_blockdev option matches a symlink, backup the destination as
a raw block device.
* Avi Rozen's valgrind cleanup. Includes a fix for a bug in restore_client.c
where overwrite_ok checked the wrong stat struct when considering a FIFO.
* Add '-v' option to bedup (output the names of duplicate files).
* Add '-d' option to bedup (delete duplicates instead of hardlinking - not
for use on burp storage directories).
2013-01-29 Changes in burp-1.3.24:
* Bug fix for strip_vss/split_vss truncating backups of changed files on
Windows.
* Bug fix for autoupgrade failing on Windows if autoupgrade_dir has been
modified.
* Bug fix for listing backups created with split_vss=1.
* Bug fix for restoring uncompressed encrypted backups created with
split_vss=1.
* Bug fix for making backups with min_file_size and split_vss=1.
* Bug fix for Debian init do_stop() function from Peter Maloney.
* Bug fix for resuming backups where a file to patch has already been
hard linked into place. Also get the client to report a more helpful
message if any similar problem happens.
* Bug fix for signal handler race conditions.
* Bug fix for the forkchild child not exiting when execv fails.
* Changed the run_script() code to take an array.
* Added server_script_pre_notify and server_script_post_notify options.
* Rework the test script so that it can test Windows clients.
* Attempt a Windows signal handler to try to shut VSS down nicely on certain
signals, such as Ctrl-C.
* Include an example server side offsite rsync backup script. This is not
quite working properly, but it may still be useful.
* Bug fix to stop Windows going to sleep during a backup, from Avi Rozen.
2013-01-02 Changes in burp-1.3.22:
* Contributions from Avi Rozen:
+ Added a '-j' option to format the long file list as JSON. Intended
for use with burpfs (https://github.com/ZungBang/burpfs).
+ Bug fix for list/verify/restore when regex is long and/or contains
a colon.
+ Bug fix for split_vss backups being restored on a linux
restore_client with the -f (force) option. Prevents overwrite of the
destination file with the vss footer.
* Contributions for burp_ca from Patrick Koppen:
+ Bug fix for the size option.
+ Use shell numeric comparison instead of string comparison.
+ Added subjectAltName patch (in case it is needed outside of burp).
2012-12-18 Changes in burp-1.3.20:
* Bug fix for split/strip_vss = 1 on the client side always causing all files
to be backed up.
* Make configure report /usr as the default prefix.
2012-11-02 Changes in burp-1.3.18:
* Turn --enable-ipv6 configure option into --disable-ipv6.
* Print a carriage return when rewriting ssl_peer_cn on Windows.
* Make all places that log 'out of memory' also log the function name.
* Remove version_warn debug.
* Tweaks to the test script.
* Option to store Windows VSS headers separately to the actual file data.
* Option to strip Windows VSS headers from the actual file data.
* If no timebands are given to timer_script, default to not allowing a
backup.
* Add LC_TIME=C to LANG=C in the timer script.
* Add 'vss_strip' program, which is a tool for extracting the file data from
a file containing both VSS data and the file data.
* Add Patrick Koppen's patches:
- Add 'ssl_cipher' option.
- Add support for signal USR2 to Debian init script.
- Write pid first in pidfile.
2012-10-09 Changes in burp-1.3.16:
* Important bug fix for exclude_comp.
* Bug fix for read_blockdev.
* Add 'version_warn=[0|1]' option.
2012-09-28 Changes in burp-1.3.14:
* Remove '-l <logfile> / logfile=' options because they didn't work properly
and were adding too much complexity to the code.
* Add 'stdout=[0|1]' option, which defines whether to log messages to stdout.
* Add 'progress_counter=[0|1]' option for the client, which defines whether
to print counters to stdout.
* When syslogging, do not prepend a date to the log message.
* Don't count phase 2 counters twice when resuming.
* Ignore files in clientconfdir starting with '.' or ending with '~', as
these are hidden or temporary files.
* Fix bug where the client_can_* options were not being overridden in the
client specific conf files.
* Fix bug that stopped client_can_restore=0 working.
* Scan the manifest before restore/verify so that counters and status
monitor can show estimates.
* Add verify/restore notifications.
* Fix Windows batch file IF/ELSE syntax in Windows autoupgrade script.
* Have the server send the client the counters when resuming.
* Have the server send the client the counters when verifying/restoring, so
that it knows what to expect.
* Avi Rozen's bug fix for directory browsing on windows
* Do not skip restores of sockets.
* Add server_can_restore=[0|1] client side option, so that clients can refuse
server initiated restores.
* Allow server_can_restore and encryption_password to be set with the Windows
installer.
* Indicate to the server post script whether there was an error.
* Indicate to the server post script whether a timed backup was attempted.
* Add the ability to restore using a different client. See the
'restore_client' option in the man page.
* Add the ability to exclude compression on files by extension. See the
'exclude_comp' option in the man page.
* Make the functions that strcmp file extensions more efficient.
* Fixed bug introduced in 1.3.12 that made the client crash when scanning
files with very long names.
2012-08-28 Changes in burp-1.3.12:
* Remove 'forward' timestamp references in backup directories, to allow the
easier deletion of backup directories.
* Add missing_return_in_non_void_function.patch from Suse.
* Further break down find_files() into smaller functions.
* Make sure behaviour is sensible when a client runs out of storage
directories.
* On Windows, use PROGRAMFILES environment variable(s) instead of
C:/Program Files/Burp/.
* Stop the Windows installer writing/reading stuff to/from the registry and
the start menu.
* Allow the Windows installer options to be set on the Windows command line.
* Add password_check=[0|1] to options on the server. Defaults to on. Turning
it off disables client password checks (although SSL certificates are still
checked).
* Count deleted files.
* Remove unnecessary counter code.
2012-07-28 Changes in burp-1.3.10:
* Added Tony Cheneau's IPv6 fixes.
* Fixed bug to do with directory_tree=1 that would stop resume working.
* Stop status monitor exiting on terminal resize.
* Small man page corrections about overwriting existing files.
* Don't use mingw64's utime() to set Windows file times, because it doesn't
work on read-only files.
* Tweak to timer_script to let it run with slightly older versions of 'date',
plus the FreeBSD version of 'date'.
* "burp -a l" should say that a backup is finalising.
* Upgraded Windows to gcc-4.6.3.
* Upgraded Windows to zlib-1.2.7.
* Upgraded Windows to openssl-1.0.0j.
* Added pcre-8.31 to Windows.
* Added Gonéri Le Bouder's exclude_regex option.
* Add a gentle shutdown server option - send signal 12 to the main process.
* Make librsync errors in phase4 non-fatal.
* Check for errors on gzclose() and fclose().
2012-06-08 Changes in burp-1.3.8:
* Fix bug introduced in the new storage directory structure stuff that had
the potential to corrupt backups.
* Force directory_tree = 0 for clients on less than version 1.3.6.
* Escape '-' symbols in man pages.
* Save received certs as temporary files and then rename them, to avoid
accidently truncating the current ones.
* If Windows VSS snapshot fails, do not continue.
* 32bit mingw64 has difficulty printf-ing multiple %llu items and sometimes
even segfaults, so split the counters into individual printfs.
2012-05-28 Changes in burp-1.3.6:
* Store files in a directory structure like that of the original client.
* Fix 'ERROR: Please use absolute include/exclude paths' when setting paths
on the server side.
* Add configure test for uthash.h. If it doesn't exist, use the uthash.h
included with the burp source.
* Make top level excludes not be a fatal error.
* Make syslogging begin sooner.
* Unhide warning messages originally hidden by bacula when having errors
when setting things like file times.
* Fix bug where file times were not getting set on Windows directories.
* Remove openssl "can't open config file" warning when generating
certificates on Windows.
* Set IPTOS_THROUGHPUT bulk packet flag for linux backups. Windows/mingw64
appears not to be able to do this.
2012-04-27 Changes in burp-1.3.4:
* Bug fix for Windows backups where it had stopped using the Windows backup
API in 1.3.2.
* Automatically convert backslashes to forward slashes for includes/excludes
on Windows clients.
* Bug fix: pass the path to the CA conf file whenever running burp_ca (fixes
problems with the test scripts).
* Remove whitespace that was causing the burp_ca '--crl' option not to work.
* Have separate CA directories for the client and server. Make 'make install'
create the directory /etc/burp/CA-client.
* Make compile succeed when there is no libncurses library.
* Add 'client_can_force_backup' option, defaulted to on. Turning it off means
that only timed backups are allowed. Also add similar 'client_can_list',
'client_can_restore' and 'client_can_verify' options.
* Remove getopt from burp_ca, allowing it to work on Macs.
* Make an unknown exclude_fs a non-fatal error.
* Add ability to trigger a backup on the server side by placing a file called
'backup' in the client's storage directory.
* Fix bug where block device nodes were not backed up. Add 'read_blockdev'
and 'read_all_blockdevs' options that work the same as the equivalent
fifo options.
* Add 'notify_success_changes_only' option, which means that success
notifications only get sent if there were new or changed files.
* Added Ruben Kerkhof's fixes to make run_script() work on OSX.
* For each file, store the compression setting in the manifest.
* Stop clients connecting twice when a timed backup is rejected.
2012-03-31 Changes in burp-1.3.2:
* Add options for the client to automatically generate a certificate signing
request, have the server sign and return it, and have the client use the
new certificate. Remove old default SSL certificates because they should
no longer be needed.
See docs/burp_ca.txt for more information.
* Add ability for conf files to point to more conf files to read.
* Fix status server segfault when deleting files from clientconfdir.
* Allow directories in clientconfdir.
* Add the ability for the server to set the client include/excludes.
* Simulate browsing backups with the use of "-a l/L -d path".
* Add ability to set up a restore on the server side.
* Add ability to specify child processes separately to status child process
with new max_status_children option.
* Status monitor - make keypresses more responsive.
* Fix bug where old clients that didn't leave an incexc file on the server
meant that resume would not start.
* Add 'include_ext' option, which excludes all files unless their names end
in the given extension.
* Fall back to using the client or server name if ssl_peer_cn is unset on the
server or client.
* Don't try to chuser/chgrp in the child if the user/group settings are the
same as the parent (fixes bug where setting user/group in the server
wouldn't work, because it would try to chuser/chgrp twice).
* Windows installer: add comment about poll interval '0' means that the
scheduled job isn't installed.
* Windows installer: don't install the scheduled task when doing an upgrade.
* Unlock the client directory after server_script_post has run instead of
before.
* Fix bug where the wrong arg count was being given to the server post
script.
* Make sure status snapshot exits when there are no backup clients.
* Ability to dump logs and paths in backups using '-a S' (useful for making
a gui that browses backup contents).
* Bug fixes to ssl_extra_checks_script.
* Bug fix: initialise network_timeout properly.
* Fix typos in docs/burp_ca.txt.
* Add 'LANG=C' to the timer script, so that timer_arg days are always
expected in English.
* Add config file option to turn syslog logging on/off.
* Bug fix for 'compression = gzip[0-9]'.
* Pass the server version to the client.
2012-02-27 Changes in burp-1.3.1:
* EFS support on Windows.
* Move to using mingw-w64 for both 32bit and 64bit Windows builds.
* Add 'exclude_fs =' option for Linux so that you can skip partitions
types (for example, tmpfs) without generating warnings.
* If recovery method 'resume' is set, but the includes/excludes change,
switch to 'use', then start a new backup.
* In the tests, check to see whether it looks like the server has finished
the backup before moving on, rather than just waiting a set amount of time.
* Add man pages for bedup and burp_ca.
* Remove embedded uthash code. It will need to be installed as a dependency.
For example, in Debian, you might run 'apt-get install uthash-dev'.
* Add Bas van den Dikkenberg's tweaks for getting burp into official Debian
and Ubuntu repositories. Burp is now in debian sid and ubuntu precise.
* Make the server tell the client what extra_comms features it supports, so
that, in future, old servers are more likely to work with new clients.
* Improve 'make clean'.
* Add option to strip off leading path components on restore.
* Fix segfault that was happening on the server when SSL_accept() failed.
* Move burp and bedup to /usr/sbin (you need to check that any cron jobs
are pointing there too).
* Moved list of things to do to https://github.com/grke/burp/issues
2012-01-27 Changes in burp-1.3.0:
* Add a mechanism for automatically upgrading clients.
* Fix bug where attributes on Windows directories were not getting read
properly.
* Fix rounding problem in remaining time estimation in the status monitor.
* Don't backup the whole file if only ctime changed.
* Include the client name in arguments to server scripts.
* Do not log a message in the server SIGCHLD handler, as this appeared to
be causing an occasional lock up on a Ubuntu server.
* Upgrade Windows depkgs to latest versions of openssl.
* Make Windows uninstall work.
* Add 'allow autoupgrade' option to a second screen on the Windows installer.
* Add 'max_storage_subdirs' option, and default it to 30000.
2011-12-30 Changes in burp-1.2.7:
* Add an automated test script.
* Fix bugs with uncompressed encrypted backup/restore.
* Get verify all backups for a client (-a v -b a) to work.
* Return non-zero if there were warnings on verify or restore.
* Add 'min_file_size' option, fix 'max_file_size' option.
* Add generic server-side pre/post scripts that can run on every connection
after authentication and before disconnecting.
* Set environment variables from SSL cert details so that the server-side
scripts can see them.
* Add Jason Haar's server script for doing extra SSL certificate checks.
* Add 'max_hardlinks' option, which limits the number of times a single file
is hardlinked in storage. Default is 10000.
* Add '-i' option: print an index table of symbols that humans may see burp
produce, and exit.
* Let backups carry on when files cannot be opened.
* Spot Windows EFS directories and files and warn about them.
* Add an 'estimate' option (-a e), which does a scan of the file system to
be backed up, and prints counters, without contacting the server.
* Strip out 744 lines of unused Windows code.
* Fix possible segfault when backup directory forward paths don't match.
* Removed working_dir_recovery_method=merge. Use 'resume' instead.
* Add a flexible way of passing new fields from the client to the server so
that clients are less likely to have to upgrade.
2011-11-26 Changes in burp-1.2.5:
* IMPORTANT: Fixed critical path comparison typo bug. If you have been using
1.2.4 either as a server or as a client, you need to upgrade
immediately! Backups made with 1.2.4 should be treated as suspicious.
* Add a 'max_file_size' option.
* Store windows file attributes in a separate field to the standard unix ones.
2011-11-22 Changes in burp-1.2.4:
* Add a file deduplication program, "bedup".
* Add a network_timeout parameter. Default is 7200 seconds (2 hours).
* Add option to send success notifications only if there were warnings.
* Try to create the pidfile directory if it doesn't exist.
* Restore times on Windows files.
* Restore readonly/hidden attributes on Windows.
* Fix bug in 'keep' mechanism where setting 'keep=2' would delete both
backups.
* Only install clientconfdir/testclient with 'make install' if clientconfdir
didn't previously exist.
* Fix possible segfault when resume mode triggers with nothing to resume.
2011-09-29 Changes in burp-1.2.2:
* Multiple retention periods (e.g, keep 1 backup per day for 7 days, 1
backup per week for 4 weeks, 1 backup per 4 weeks for a year). See the
'keep' option in the man page.
* Make sure the client version warning message appears in the backup log.
* Network send rate-limiting feature (both client and server).
* Change pidfile paths to /var/run/burp instead of /var/lock/burp.
* Get pre backup scripts running reliably again. Also, send script messages
on stderr to the server backup log.
* Fix 'Warnings' line on the status monitor.
* Fix resume mode bug to do with potentially partially written entries at
the end of the phase2 file.
2011-09-09 Changes in burp-1.2.0:
* Improvements to the counters and status monitor - remember the phase1
scan counters for later phases to use for things like estimated times.
* Add 'working_dir_recovery_method = resume' option, which continues a
backup from the point it was interrupted.
* Add a useful message about options when run with '-h' or '-?'.
* Get the client to pass its version to the server. The minimum version the
client needs to be is now this release.
* Get the server to warn when the client is on a different version.
* Put the number of warnings in the subject of the notification emails.
* Allow config file location to be changed via configure (Michael Roland's
suggestions).
* Implement main server process config reload functionality on SIGHUP.
* Uncomment the reload lines in the Debian init script.
* Add logrotate file for Debian.
* Add ability to send a regular snapshot of the status summary screen in an
email ("daily backup summary" feature).
* Add simple 'exclude_ext =' feature.
* Add Windows 7 bare metal restore instructions.
2011-07-26 Changes in burp-1.1.70:
* FreeBSD ACL support.
* FreeBSD xattr support.
* Handle Windows junction points.
* Add 'nobackup = [file name]' option. If this file system entry exists, the
directory containing it will not be backed up.
* Set librsync signature block size based on the old file size.
* Small bug fixes to the status monitor.
* Fixed working directory recovery bug where it couldn't find the manifest.gz
file due to it being called manifest.gz.tmp.
* Get rid of the stupidly complicated 'find_files' callback mechanism
inherited from bacula. Just call all the functions directly.
* Fix compiler warnings and '-ldl' linker error on FreeBSD 8.2.
* When down to 'C:' in mkpath() on Windows restore, strip the ':'.
* Run ERR_clear_error() before SSL_read/write.
2011-06-27 Changes in burp-1.1.65:
* Add mechanism for backing up and restoring extra meta data.
* Linux acl support.
* Linux xattr support.
* Add option to set the umask on the server.
* Added option to specify the clientconfdir password in passwd format.
* Allow user and group options to be placed in the server clientconfdir files,
so that different client backups can be owned by different users.
* Add Patrick's burp_ca patches and README.CA.
* Sanitised magic characters by defining them in a new cmd.h file.
* Fixed 'ret OK, but zstream not finished: 0' when refusing to restore over
existing files.
* Fixed bug that made clients disappear from the status monitor.
* Bug fix the client_lockdir option.
* On the server, be more cautious about creating directories that don't exist.
* Remove link kludge in async_read_stat().
2011-06-14 Changes in burp-1.1.57:
* Add options to run as a different user and group.
* Add Patrick Koppen's burp_ca script.
* Get the client restore to use the sbuf functions, remove related kludges.
* Fix possible client segfault when refusing to restore over existing files.
* Make a failure to restore over a busy file not cause the whole restore to
fail.
* Print byte count as well as human readable byte count in the status summary
screen.
* Include backup numbers with the backup list in the status summary.
* Don't close the server read fd when running in non-forking mode.
* Add ssl_key options so that the cert and key can be in separate files.
* Add ssl_key_password, a synonym for ssl_cert_password.
2011-05-13 Changes in burp-1.1.55:
* Make the status monitor use ncurses.
* Fixed two bugs that could drastically slow down the server if a file
disappeared on a client after the initial scan (to get these two bug fixes,
you need to upgrade your clients).
* IPv6 patches.
* Ability to specify the location of the client lockfiles on the server.
* Make the server fork into the background by default. Use '-F' to stay in
the foreground.
* Add option to specify a log file.
2011-04-14 Changes in burp-1.1.51:
* Added a script for backing up zfs snapshots with 'zfs send'.
* Added the ability to set the level of compression.
* Added the ability to turn off compression.
* Added an option to define the poll interval in the Windows installer.
* Added the ability to turn off librsync delta differencing.
* Added the ability to give arguments to backup/restore/pre/post scripts.
* Make configure/make work better on Solaris.
2011-04-02 Changes in burp-1.1.40:
* Added the ability to run client pre/post backup/restore scripts.
* Added the ability to read data from fifos (and restore to them).
* Fixed a bug when restoring the first link in a directory.
* Fixed a bug that prevented giving a backup number when using the verify option.
2011-03-27 Changes in burp-1.1.30:
* First pass at having a live status monitor.
* Fixed a bug that meant you couldn't restore links.
* Fixed a bug when freeing structs at the end of a restore.
2011-03-18 Changes in burp-1.1.22:
* Added scheduling.
* Added email notifications.
* Fixed autoconf. Programs like ccache should now work.
* Strip whitespace from end of conf lines, ignore quotes around conf lines.
* Updated the Windows build tools.
2011-03-10 Changes in burp-1.1.14:
* Added client-side blowfish file encryption. See the man page for details.
* Byte counters also give counts in KB/MB/GB/etc as appropriate.
* Restore directories after their contents so that the access times are
correct.
* Updated the win32 build tools.
2011-03-02 Changes in burp-1.1.5:
* Added a 'verify' command. See the man page for details.
* Improved the include/exclude path functionality.
* Added the ability to define mount points to cross.
* Fixed a crash on 64bit Windows when exiting.
Changes in burp-1.1.0:
* Added openssl.
* Added byte counters and checksums to the backup manifest files, in
anticipation of a 'verify' command.
IMPORTANT IF YOU ARE UPGRADING FROM AN OLDER VERSION OF BURP:
a) Your previous backups will no longer work, due to changes in the
manifest files. You will also need to move old backups aside in order to
continue to make new backups.
b) Your old config files will need some fields to do with SSL added to them.
See the man page and the examples in the 'configs' directory for help.
IMPORTANT FOR MY ENCOURAGEMENT AND THE FUTURE OF BURP:
If you have tried burp, I really want to hear from you to find out what
you like about it, what you don't like, what new features you would like,
how you have been using it, whether it has helped you, or anything that
you would like to tell me. I am currently working in the dark!
Changes in burp-1.0.31:
* Large scale rewrites to the main backup process to make it more efficient
and easier to understand.
* Much tidying up of code and splitting into smaller files.
* Removed complicated/flaky compression code from the network stuff. Network
compression will come free with SSL anyway (when it is implemented).
Currently, whole new files are transmitted compressed, file information
and deltas are not.
Changes in burp-1.0.11:
* Fixed Windows restore crash. Windows restores should now work better.
Changes in burp-1.0.10:
* Fixed three major bugs introduced in burp-1.0.9 to do with client/server
communication when doing deltas.
* Make "make install" and the Windows installers not overwrite an existing
config file.
* Support for backup and restore of fifos and nodes.
* KNOWN ISSUE: There seems to be a problem with restoring multiple files
at once to Windows. I am working on this.
Changes in burp-1.0.9:
* Added counters to summarise the files that were backed up or restored.
* Added the ability to have warnings instead of errors always being fatal.
* Prevent restores overwriting existing files, unless the new '-f' option is
given.
* Notice invalid characters in paths on Windows and replace them with
'_'. This also means that you can now restore to alternative directories
(the colon in the drive name no longer gets in the way).
* Added instructions for building the Windows installer.