1All notable changes to this project will be documented in this file.
2
3The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
4and since Bareos version 20 this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
5
6## [20.0.3] - 2021-09-14
7
8### Fixed
9- [Issue #579]: Unable to connect to the director from webui via ipv6 [PR #871] (backport of [PR #868])
10- [Issue #1324]: Infinite loop when trying to log in with invalid account [PR #864] (backport of [PR #840])
11- [Issue #1300]: some job status are not categorized properly [PR #878] (backport of [PR #874])
12- [Issue #871]: UI will not load complete [PR #884] (backport of [PR #880])
13- [Issue #971]: Error building tree for filenames with backslashes [PR #894] (backport of [PR #892])
14- [Issue #1020]: Can not restore a client with spaces in its name [PR #894] (backport of [PR #893])
15- [Issue #1235]: Special characters not escaped in translations [PR #898] (backport of [PR #887] [PR #888] [PR #889] [PR #890])
16- [Issue #1251]: Error when displaying pool detail [PR #904] (backport of [PR #903])
17- [Issue #1369]: webui tries to load a nonexistent file [PR #901] (backport of [PR #900])
18- fix lost byte in ChunkedDevice (backport of [PR #910])
19- fix director crash on "update slots" when there is a parsing issue with the autochanger or tape devices [PR #919]
20- [Issue #1232]: bareos logrotate errors, reintroduce su directive in logrotate ([backport of PR #918])
21
22### Added
23- packages: Build also for Debian_11 [PR #915]
24
25### Changed
26- add job name in End Job Session output in bls tool [PR #916]
27- add chromedriver options to improve reliability of selenium tests [PR #920]
28- docs: Describe how to get debugging info when using the VMware plugin [PR #922]
29### Removed
30
31### Documentation
32
33
34## [20.0.2] - 2021-06-10
35
36### Fixed
37- docs: Adapted the documentation of the VMware plugin due to update to VDDK 7 [PR #845]
38- fix a bug in VMware plugin where VMDK Files were created with wrong size when using the option localvmdk=yes [PR #830]
39- fix possible read/write problems when using droplet with https [PR #773]
40- fix memory leak in python module constants [PR #781]
41- fix german localization errors [PR #786]
42- fix gfapi-fd: avoid possible crash on second glfs_close() call [PR #797]
43- fix shutdown of the Storage Daemon backends, especially call UnlockDoor on tape devices [PR #818] (backport of [PR #809])
44- fix possible deadlock in storage backend on Solaris and FreeBSD [PR #818] (backport of [PR #809])
45- [Issue #1205]: PHP 7.3 issue with compact() in HeadLink.php [PR #833] (backport of [PR #829])
46- reorder acquire on migrate/copy to avoid possible deadlock [PR #828]
47
48### Added
49- added choice for the drive number in the truncate command [PR #837]
50- systemtests for S3 functionalities (droplet, libcloud) now use https [PR #765]
51- add "copy button" to code snippets in documentation for easy copying [PR #802]
52
53### Changed
54- repaired or added all header guards in libdroplet [PR #773]
55- [Issue #1329]: If CommandACL limits any command, no messages can be read but "you have messages" is displayed. [PR #795](backport of [PR #763])
56
57### Removed
58- packaging: Do not build for EOL FreeBSD 12.1 anymore.
59
60### Documentation
61- Restore error "could not hard link" documented: what is the cause and how it can be avoided or solved. (Backport [PR #759])
62
63
64## [20.0.1] - 2021-03-02
65
66### Fixed
67- fix parallel python plugin jobs [PR #732]
68- fix oVirt plugin problem with config file [PR #732]
69- fix crash when loading both python-fd and python3-fd plugins [PR #733]
70- [Issue #1316]: storage daemon loses a configured device instance [PR #734]
71- fix python-bareos for Python < 2.7.13 [PR #753]
72
73
74### Added
75- py2lug-fd-ovirt systemtest: use ovirt-plugin.ini config file [PR #732]
76- Build the package **bareos-filedaemon-postgresql-python-plugin** also for Debian, Ubuntu and UCS (deb packages) [PR #745].
77- informative debugmessage when a dynamic backend cannot be loaded [PR #746]
78
79### Changed
80- When using Python > 3.7 the postgres and libcloud plugins will cancel the job and write an error message [PR #775]
81- Disabled test "statefile" for big endian, use temporary state files for all other architectures [PR #758]
82- Fixed broken link in https://docs.bareos.org/IntroductionAndTutorial/WhatIsBareos.html documentation page
83- Ctest now runs in scripted mode. [PR #751]
84
85
86## [20.0.0] - 2020-12-16
87
88### Fixed
89
90- Fix memory corruption in storage daemon [PR #616]
91- [Issue #1039]: Can not login in webui [PR #591]
92- Improve the behaviour of some console commands [PR #604]
93- Several improvements to the LDAP Plugin for filedaemon [PR #595]
94- Avoid duplicate actions after submission of an action followed by a page refresh in the webui [PR #594]
95- Fix several droplet timeout problems to enable connection retries [PR #561]
96- Close connection pool sockets properly (client initiated connections) [PR #562]
97- Check user ACL for status configuration [PR #570]
98- Allow backup/restore of cephfs mounts [PR #554]
99- Fix percona xtrabackup get last_lsn value [PR #551]
100- Prevent director daemon crash by adding a nullptr-guard to CreateAttributesRecord() [PR #566]
101- Enable testing of deprecated databases (MySQL and SQLite) [PR #573]
102- Fix heartbeat thread shutdown race condition [PR #565]
103- Fix build problems for several distributions [PR #569]
104- Prevent from unique key violations on .bvfs_update [PR #545]
105- Fix "make install" and add "make uninstall" when building from source [PR #556]
106- [Issue #1257]: Prune volume command may crash the director [PR #546]
107- Remove compiler warnings [PR #543]
108- python-plugins: improve statp handling in localfileset plugin [PR #530]
109- Fix some issues in the tray-monitor configuration [PR #539]
110- Avoid a memory double-free in a spool function of the storage daemon [PR #535]
111- [Issue #1246]: oVirt plugin fails to restore to local disk with KeyError [PR #534]
112- Huge source code cleanup to reduce compiler warnings and increase readability [PR #479]
113- Fix bscan handling of restore object data [PR #516]
114- Adapt Python Bareos version number according to PEP-440 [PR #521]
115- Fixed JobDetails joblog messages order [PR #509]
116- Huge source code cleanup of storagedaemon Device backend [PR #498]
117- [Issue #1227]: Fix fadvise bug [PR #496]
118- Improve webui frontend login dialog [PR #505]
119- Fixed the use of a specified since time for the run command [PR #503]
120- Fixed that the status scheduler command shows jobs for disabled clients [PR #499]
121- Allow Python FD Plugins to set since time [PR #504]
122- Fixed a bug when backup a VM by using VM id [PR #415]
123- Fixed that droplet is waiting forever if flushing a file fails: [PR #468]
124- [Issue #1220]: default drive index not set to 0: [PR #472]
125- Fixed a segmentation fault caused by deprecated OpenSSL functions [PR #453]
126- [Issue #1211]: Bareos director and bareos fd crash when regexwhere is specified [PR #451]
127- Always Incremental: Address early prune problem when vol retentions are too small [PR #423]
128- [Issue #1206]: Form field restore job is not populated after client selection [PR #438]
129- [Issue #1192]: Authorization key rejected by Storage daemon since upgrading director and storage daemons [PR #431]
130- Allow path lengths of a messages resource to be longer that 128 bytes [PR #433]
131- [Issue #1190]: Schedules without a client will not be run
132- Fixed a bug where hourly schedules fail on the general rule without a day [PR #422]
133- [Issue #1175]: bareos crashes with invalid character in ACL [PR #410]
134- [Issue #1184]: Using syslog or an invalid message type crashes a daemon [PR #414]
135- [Issue #1176]: Upgrade 18.2.5 to 19.2.5 failed while upgrading MySQL database [PR #409]
136- [Issue #1174]: Reversed sort order on the restore client selection [PR #411]
137- Fixed errors in client only build [PR #413]
138- Fixed checksum algorithm regarding byte order [PR #412]
139- Avoid a race condition in job name creation [PR #385]
140- [Issue #1281]: Director crashes on memory access violation in CloseMemoryPool() and is_regex()
141
142### Added
143
144- Add console command setdevice [PR #686]
145- Add support for Fedora 33 [PR #643]
146- Add development tools for changelog-handling [PR #617]
147- Added documentation and background information for the new python 3 plugin support [PR #599]
148- Added the libcloud filedaemon plugin to backup S3 buckets
149- Allow terabytes, tebibytes, petabytes, pebibytes, exabytes and exbibytes unit symbols when specifying sizes [PR #600]
150- Add technology preview for a REST API to configure and manage Bareos [PR #587]
151- Add some configuration warnings to the storagedaemon [PR #583]
152- Add python3 support for filedaemon, storagedaemon and director plugins [PR #572]
153- Use configurable OpenSSL "Protocol" parameter [PR #575]
154- Extend bconsole show command to support JSON output format (API 2) [PR #574]
155- Allow multiline quoted strings in the configuration [PR #578]
156- Print toolchain details during cmake run [PR #567]
157- Build libdroplet as submodule and use systemtest test [PR #560]
158- Run systemtests during build, build packages from source root directory [PR #559]
159- Add pkglists to documentation for all OS we build for [PR #557]
160- Merge VMware plugin code into core subdirectories, add system test [PR #544]
161- The VMware plugin now allows to use an optional config file to specify plugin options [PR #544]
162- Removed the dependency to pyvmomi from rpm and deb packages [PR #667]
163- Add next pool selection to custom job run form in the webui [PR #518]
164- In job reports display who triggered a job (scheduler, user, ..) [PR #532]
165- Added VirtualFull option for manual defined Jobs [PR #508]
166- Add support for Arch and Manjaro Linux [PR #513]
167- Document Verify VolumeToCatalog limitation [PR #507]
168- Document drawbacks for job intermixing [PR #506]
169- Add postgres-backup filedaemon plugin with incremental backups and point in time restore [PR #502]
170- Write job- and file-choice to audit log on restore [PR #493]
171- Add infrastructure for configuration warnings [PR #492]
172- Add logging parameters to gfapi backend [PR #455]
173- Add a security policy (`SECURITY.md`) to the project [PR #463]
174- Pre-fill restore form element "replace" according to selected restore job in the webui: [PR #456]
175- Add documentation for a critical bscan limitation: [PR #460]
176- Pre-fill restore location form element according to selected restore job in webui [PR #454]
177- Add more logging messages to NDMP interface [PR #448]
178- Add start and finish time in the webui-joblist [PR #429]
179- Add a database upgrade test [PR #406]
180- Add recommendation for PHP 7 to documentation [PR #420]
181- Add encryption signature test [PR #404]
182- Add percona extra backup [PR #386]
183- Add test for client initiated backup [PR #383]
184
185### Changed
186
187- Release-notes / changelog have been moved to CHANGELOG.md [PR #613]
188- Bareos now requires at least CMake 3.12 to build
189- Updated many localization files [PR #609]
190- Display archived jobs on list backups command [PR #581]
191- Use a configurable VDI timeout when requesting the MSSQL config [PR #571]
192- Improved the formatting of job log entries in the webui [PR #525]
193- Cleanup unused images [PR #538]
194- Use precise file names for public and private key files to make documentation clear [PR #537]
195- Significantly speed-up bareos-dbcopy [PR #524]
196- Publish PythonBareos to PyPI.org using Github Actions [PR #514]
197- Updated documentation for tests [PR #497]
198- Display numeric values of UID and GID in addition to user and group name in webui [PR #488]
199- Display file permissions in restore dialog of webui [PR #477]
200- Improve warnings on Maximum Block Size of the droplet backend: [PR #476]
201- Improve the selection of a specific file version restore in the webui: [PR #471]
202- Only allow configuration maximum concurrent jobs of 0 or 1 when using droplet: [PR #465]
203- Improve filtering on webui-jobs-bootstrap-table [PR #444]
204- Allow systemtests to run on installed packaged [PR #400]
205- Allow systemtests to be run in parallel [PR #392]
206- Disable systemtests on non compatible systems [PR #387]
207- Update ovirt plugin documentation [PR #384]
208- Improve ovirt plugin
209
210### Deprecated
211- Using MySQL as a catalog backend is now deprecated [PR #564]
212- Using Rados as a storage backend is now deprecated [PR #672]
213- With full Python 3 support, using Python 2 is now considered deprecated
214- Plugin bareos-fd-ldap is deprecated, because it requires Python 2
215
216
217### Removed
218- Remove support for creating MySQL / SQLite catalogs [PR #563] [PR #603]
219
220### Security
221
222- Do not accept cram challenge if own hostname is used [PR #536] [CVE-2020-4042](https://github.com/bareos/bareos/security/advisories/GHSA-vqpj-2vhj-h752)
223- [Issue #1210]: Heap overflow in director when running a verify job against a malicious filedaemon [CVE-2020-11061](https://github.com/bareos/bareos/security/advisories/GHSA-mm45-cg35-54j4)
224
225
226[20.0.0]: https://github.com/bareos/bareos/releases/tag/Release%2F20.0.0
227[20.0.1]: https://github.com/bareos/bareos/releases/tag/Release%2F20.0.1
228[20.0.2]: https://github.com/bareos/bareos/releases/tag/Release%2F20.0.2
229[20.0.3]: https://github.com/bareos/bareos/releases/tag/Release%2F20.0.3
230[Issue #579]: https://bugs.bareos.org/view.php?id=579
231[Issue #871]: https://bugs.bareos.org/view.php?id=871
232[Issue #971]: https://bugs.bareos.org/view.php?id=971
233[Issue #1020]: https://bugs.bareos.org/view.php?id=1020
234[Issue #1039]: https://bugs.bareos.org/view.php?id=1039
235[Issue #1174]: https://bugs.bareos.org/view.php?id=1174
236[Issue #1175]: https://bugs.bareos.org/view.php?id=1175
237[Issue #1176]: https://bugs.bareos.org/view.php?id=1176
238[Issue #1184]: https://bugs.bareos.org/view.php?id=1184
239[Issue #1190]: https://bugs.bareos.org/view.php?id=1190
240[Issue #1192]: https://bugs.bareos.org/view.php?id=1192
241[Issue #1205]: https://bugs.bareos.org/view.php?id=1205
242[Issue #1206]: https://bugs.bareos.org/view.php?id=1206
243[Issue #1210]: https://bugs.bareos.org/view.php?id=1210
244[Issue #1211]: https://bugs.bareos.org/view.php?id=1211
245[Issue #1220]: https://bugs.bareos.org/view.php?id=1220
246[Issue #1227]: https://bugs.bareos.org/view.php?id=1227
247[Issue #1232]: https://bugs.bareos.org/view.php?id=1232
248[Issue #1235]: https://bugs.bareos.org/view.php?id=1235
249[Issue #1246]: https://bugs.bareos.org/view.php?id=1246
250[Issue #1251]: https://bugs.bareos.org/view.php?id=1251
251[Issue #1257]: https://bugs.bareos.org/view.php?id=1257
252[Issue #1281]: https://bugs.bareos.org/view.php?id=1281
253[Issue #1300]: https://bugs.bareos.org/view.php?id=1300
254[Issue #1316]: https://bugs.bareos.org/view.php?id=1316
255[Issue #1324]: https://bugs.bareos.org/view.php?id=1324
256[Issue #1329]: https://bugs.bareos.org/view.php?id=1329
257[Issue #1369]: https://bugs.bareos.org/view.php?id=1369
258[PR #383]: https://github.com/bareos/bareos/pull/383
259[PR #384]: https://github.com/bareos/bareos/pull/384
260[PR #385]: https://github.com/bareos/bareos/pull/385
261[PR #386]: https://github.com/bareos/bareos/pull/386
262[PR #387]: https://github.com/bareos/bareos/pull/387
263[PR #392]: https://github.com/bareos/bareos/pull/392
264[PR #400]: https://github.com/bareos/bareos/pull/400
265[PR #404]: https://github.com/bareos/bareos/pull/404
266[PR #406]: https://github.com/bareos/bareos/pull/406
267[PR #409]: https://github.com/bareos/bareos/pull/409
268[PR #410]: https://github.com/bareos/bareos/pull/410
269[PR #411]: https://github.com/bareos/bareos/pull/411
270[PR #412]: https://github.com/bareos/bareos/pull/412
271[PR #413]: https://github.com/bareos/bareos/pull/413
272[PR #414]: https://github.com/bareos/bareos/pull/414
273[PR #415]: https://github.com/bareos/bareos/pull/415
274[PR #420]: https://github.com/bareos/bareos/pull/420
275[PR #422]: https://github.com/bareos/bareos/pull/422
276[PR #423]: https://github.com/bareos/bareos/pull/423
277[PR #429]: https://github.com/bareos/bareos/pull/429
278[PR #431]: https://github.com/bareos/bareos/pull/431
279[PR #433]: https://github.com/bareos/bareos/pull/433
280[PR #438]: https://github.com/bareos/bareos/pull/438
281[PR #444]: https://github.com/bareos/bareos/pull/444
282[PR #448]: https://github.com/bareos/bareos/pull/448
283[PR #451]: https://github.com/bareos/bareos/pull/451
284[PR #453]: https://github.com/bareos/bareos/pull/453
285[PR #454]: https://github.com/bareos/bareos/pull/454
286[PR #455]: https://github.com/bareos/bareos/pull/455
287[PR #456]: https://github.com/bareos/bareos/pull/456
288[PR #460]: https://github.com/bareos/bareos/pull/460
289[PR #463]: https://github.com/bareos/bareos/pull/463
290[PR #465]: https://github.com/bareos/bareos/pull/465
291[PR #468]: https://github.com/bareos/bareos/pull/468
292[PR #471]: https://github.com/bareos/bareos/pull/471
293[PR #472]: https://github.com/bareos/bareos/pull/472
294[PR #476]: https://github.com/bareos/bareos/pull/476
295[PR #477]: https://github.com/bareos/bareos/pull/477
296[PR #479]: https://github.com/bareos/bareos/pull/479
297[PR #488]: https://github.com/bareos/bareos/pull/488
298[PR #492]: https://github.com/bareos/bareos/pull/492
299[PR #493]: https://github.com/bareos/bareos/pull/493
300[PR #496]: https://github.com/bareos/bareos/pull/496
301[PR #497]: https://github.com/bareos/bareos/pull/497
302[PR #498]: https://github.com/bareos/bareos/pull/498
303[PR #499]: https://github.com/bareos/bareos/pull/499
304[PR #502]: https://github.com/bareos/bareos/pull/502
305[PR #503]: https://github.com/bareos/bareos/pull/503
306[PR #504]: https://github.com/bareos/bareos/pull/504
307[PR #505]: https://github.com/bareos/bareos/pull/505
308[PR #506]: https://github.com/bareos/bareos/pull/506
309[PR #507]: https://github.com/bareos/bareos/pull/507
310[PR #508]: https://github.com/bareos/bareos/pull/508
311[PR #509]: https://github.com/bareos/bareos/pull/509
312[PR #513]: https://github.com/bareos/bareos/pull/513
313[PR #514]: https://github.com/bareos/bareos/pull/514
314[PR #516]: https://github.com/bareos/bareos/pull/516
315[PR #518]: https://github.com/bareos/bareos/pull/518
316[PR #521]: https://github.com/bareos/bareos/pull/521
317[PR #524]: https://github.com/bareos/bareos/pull/524
318[PR #525]: https://github.com/bareos/bareos/pull/525
319[PR #530]: https://github.com/bareos/bareos/pull/530
320[PR #532]: https://github.com/bareos/bareos/pull/532
321[PR #534]: https://github.com/bareos/bareos/pull/534
322[PR #535]: https://github.com/bareos/bareos/pull/535
323[PR #536]: https://github.com/bareos/bareos/pull/536
324[PR #537]: https://github.com/bareos/bareos/pull/537
325[PR #538]: https://github.com/bareos/bareos/pull/538
326[PR #539]: https://github.com/bareos/bareos/pull/539
327[PR #543]: https://github.com/bareos/bareos/pull/543
328[PR #544]: https://github.com/bareos/bareos/pull/544
329[PR #545]: https://github.com/bareos/bareos/pull/545
330[PR #546]: https://github.com/bareos/bareos/pull/546
331[PR #551]: https://github.com/bareos/bareos/pull/551
332[PR #554]: https://github.com/bareos/bareos/pull/554
333[PR #556]: https://github.com/bareos/bareos/pull/556
334[PR #557]: https://github.com/bareos/bareos/pull/557
335[PR #559]: https://github.com/bareos/bareos/pull/559
336[PR #560]: https://github.com/bareos/bareos/pull/560
337[PR #561]: https://github.com/bareos/bareos/pull/561
338[PR #562]: https://github.com/bareos/bareos/pull/562
339[PR #563]: https://github.com/bareos/bareos/pull/563
340[PR #564]: https://github.com/bareos/bareos/pull/564
341[PR #565]: https://github.com/bareos/bareos/pull/565
342[PR #566]: https://github.com/bareos/bareos/pull/566
343[PR #567]: https://github.com/bareos/bareos/pull/567
344[PR #569]: https://github.com/bareos/bareos/pull/569
345[PR #570]: https://github.com/bareos/bareos/pull/570
346[PR #571]: https://github.com/bareos/bareos/pull/571
347[PR #572]: https://github.com/bareos/bareos/pull/572
348[PR #573]: https://github.com/bareos/bareos/pull/573
349[PR #574]: https://github.com/bareos/bareos/pull/574
350[PR #575]: https://github.com/bareos/bareos/pull/575
351[PR #578]: https://github.com/bareos/bareos/pull/578
352[PR #581]: https://github.com/bareos/bareos/pull/581
353[PR #583]: https://github.com/bareos/bareos/pull/583
354[PR #587]: https://github.com/bareos/bareos/pull/587
355[PR #591]: https://github.com/bareos/bareos/pull/591
356[PR #594]: https://github.com/bareos/bareos/pull/594
357[PR #595]: https://github.com/bareos/bareos/pull/595
358[PR #599]: https://github.com/bareos/bareos/pull/599
359[PR #600]: https://github.com/bareos/bareos/pull/600
360[PR #603]: https://github.com/bareos/bareos/pull/603
361[PR #604]: https://github.com/bareos/bareos/pull/604
362[PR #609]: https://github.com/bareos/bareos/pull/609
363[PR #613]: https://github.com/bareos/bareos/pull/613
364[PR #616]: https://github.com/bareos/bareos/pull/616
365[PR #617]: https://github.com/bareos/bareos/pull/617
366[PR #643]: https://github.com/bareos/bareos/pull/643
367[PR #667]: https://github.com/bareos/bareos/pull/667
368[PR #672]: https://github.com/bareos/bareos/pull/672
369[PR #686]: https://github.com/bareos/bareos/pull/686
370[PR #732]: https://github.com/bareos/bareos/pull/732
371[PR #733]: https://github.com/bareos/bareos/pull/733
372[PR #734]: https://github.com/bareos/bareos/pull/734
373[PR #745]: https://github.com/bareos/bareos/pull/745
374[PR #746]: https://github.com/bareos/bareos/pull/746
375[PR #751]: https://github.com/bareos/bareos/pull/751
376[PR #753]: https://github.com/bareos/bareos/pull/753
377[PR #758]: https://github.com/bareos/bareos/pull/758
378[PR #759]: https://github.com/bareos/bareos/pull/759
379[PR #763]: https://github.com/bareos/bareos/pull/763
380[PR #765]: https://github.com/bareos/bareos/pull/765
381[PR #773]: https://github.com/bareos/bareos/pull/773
382[PR #775]: https://github.com/bareos/bareos/pull/775
383[PR #781]: https://github.com/bareos/bareos/pull/781
384[PR #786]: https://github.com/bareos/bareos/pull/786
385[PR #795]: https://github.com/bareos/bareos/pull/795
386[PR #797]: https://github.com/bareos/bareos/pull/797
387[PR #802]: https://github.com/bareos/bareos/pull/802
388[PR #809]: https://github.com/bareos/bareos/pull/809
389[PR #818]: https://github.com/bareos/bareos/pull/818
390[PR #828]: https://github.com/bareos/bareos/pull/828
391[PR #829]: https://github.com/bareos/bareos/pull/829
392[PR #830]: https://github.com/bareos/bareos/pull/830
393[PR #833]: https://github.com/bareos/bareos/pull/833
394[PR #837]: https://github.com/bareos/bareos/pull/837
395[PR #840]: https://github.com/bareos/bareos/pull/840
396[PR #845]: https://github.com/bareos/bareos/pull/845
397[PR #864]: https://github.com/bareos/bareos/pull/864
398[PR #868]: https://github.com/bareos/bareos/pull/868
399[PR #871]: https://github.com/bareos/bareos/pull/871
400[PR #874]: https://github.com/bareos/bareos/pull/874
401[PR #878]: https://github.com/bareos/bareos/pull/878
402[PR #880]: https://github.com/bareos/bareos/pull/880
403[PR #884]: https://github.com/bareos/bareos/pull/884
404[PR #887]: https://github.com/bareos/bareos/pull/887
405[PR #888]: https://github.com/bareos/bareos/pull/888
406[PR #889]: https://github.com/bareos/bareos/pull/889
407[PR #890]: https://github.com/bareos/bareos/pull/890
408[PR #892]: https://github.com/bareos/bareos/pull/892
409[PR #893]: https://github.com/bareos/bareos/pull/893
410[PR #894]: https://github.com/bareos/bareos/pull/894
411[PR #898]: https://github.com/bareos/bareos/pull/898
412[PR #900]: https://github.com/bareos/bareos/pull/900
413[PR #901]: https://github.com/bareos/bareos/pull/901
414[PR #903]: https://github.com/bareos/bareos/pull/903
415[PR #904]: https://github.com/bareos/bareos/pull/904
416[PR #910]: https://github.com/bareos/bareos/pull/910
417[PR #915]: https://github.com/bareos/bareos/pull/915
418[PR #916]: https://github.com/bareos/bareos/pull/916
419[PR #919]: https://github.com/bareos/bareos/pull/919
420[PR #920]: https://github.com/bareos/bareos/pull/920
421[PR #922]: https://github.com/bareos/bareos/pull/922
422