- a 'AND' is left alone in a SQL query when an ACL directive is not defined
(here 'ClientAcl' and for command 'list jobs client="foobar"'
bdb.h:135-0 bdb.h:135 query SELECT JobId,Job.Name,StartTime,Type,Level,Jobbdb.h:135-0 bdb.h:135 query SELECT JobId,Job.Name,StartTime,Type,Level,JobFiles,JobBytes,JobStatus FROM Job JOIN Client USING (ClientId) LEFT JOIN FileSet USING (FileSetId) WHERE Job.JobStatus='T' AND Job.Type='B' AND Job.ClientId=1 AND ORDER BY StartTime ASC,JobId ASC failedFiles,JobBytes,JobStatus FROM Job JOIN Client USING (ClientId) LEFT JOIN FileSet USING (FileSetId) WHERE Job.JobStatus='T' AND Job.Type='B' AND Job.ClientId=1 AND ORDER BY StartTime ASC,JobId ASC failed
- This fix 2 problems:
- sometime 2 clients ACL must be used in // like ClientACL,
RestoreClientACL and the "merge" was not done properly
- when no directives have been defined the ACL condition must always
be false, here we use XXX IN ('')
Author: Eric Bollengier <eric@baculasystems.com>
Date: Thu May 16 10:40:49 2019 +0200
Fix #5053 about BVFS commands not compatible with ACLs wildcards
Author: Eric Bollengier <eric@baculasystems.com>
Date: Tue Aug 21 09:38:53 2018 +0200
Fix console ACL glob with SQLite
Author: Eric Bollengier <eric@baculasystems.com>
Date: Mon Jun 18 15:40:30 2018 +0200
Allow glob type expression in Console ACL lists
Author: Eric Bollengier <eric@baculasystems.com>
Date: Tue Oct 25 11:56:11 2016 +0200
Allow to specify ACLs to restrict sql_list output
Author: Kern Sibbald <kern@sibbald.com>
Date: Sat May 30 15:48:05 2015 +0200
Revert most of patch ef57e6c4 and replace with old cats code
Implement FileMedia feature and FO_OFFSETS for plugin
- Allow plugins to use the FO_OFFSETS option
- Add SQL support in cats
- Add bvfs commands
- Add FileMedia handling in the Storage Daemon
- Add use FO_OFFSETS option in test plugin
- Add new sql scripts to configure.in
- Update catalog version to 1018
Author: Eric Bollengier <eric@baculasystems.com>
Date: Wed Mar 9 16:53:34 2016 +0100
Add .info bconsole command to estimate job files/bytes
Implement FileMedia feature and FO_OFFSETS for plugin
- Allow plugins to use the FO_OFFSETS option
- Add SQL support in cats
- Add bvfs commands
- Add FileMedia handling in the Storage Daemon
- Add use FO_OFFSETS option in test plugin
- Add new sql scripts to configure.in
- Update catalog version to 1018
Author: Eric Bollengier <eric@baculasystems.com>
Date: Mon Aug 26 13:57:34 2013 +0200
Implement FileMedia feature and FO_OFFSETS for plugin
- Allow plugins to use the FO_OFFSETS option
- Add SQL support in cats
- Add bvfs commands
- Add FileMedia handling in the Storage Daemon
- Add use FO_OFFSETS option in test plugin
- Add new sql scripts to configure.in
- Update catalog version to 1018
Author: Eric Bollengier <eric@baculasystems.com>
Date: Mon Aug 26 13:57:34 2013 +0200
Implement FileMedia feature and FO_OFFSETS for plugin
- Allow plugins to use the FO_OFFSETS option
- Add SQL support in cats
- Add bvfs commands
- Add FileMedia handling in the Storage Daemon
- Add use FO_OFFSETS option in test plugin
- Add new sql scripts to configure.in
- Update catalog version to 1018
Author: Eric Bollengier <eric@baculasystems.com>
Date: Thu May 1 13:07:17 2014 +0200
Fix #10747 about MySQL database creation/upgrade script
Author: Eric Bollengier <eric@baculasystems.com>
Date: Mon Aug 26 13:57:34 2013 +0200
- Take Dan's fix to the fix_postgresql_tables (thanks Dan)
- Increase Maximum Concurrent Jobs to 20 in SD and FD!
- Fix improper handling of autochanger Volumes that are not
marked InChanger.
Implement FileMedia feature and FO_OFFSETS for plugin
- Allow plugins to use the FO_OFFSETS option
- Add SQL support in cats
- Add bvfs commands
- Add FileMedia handling in the Storage Daemon
- Add use FO_OFFSETS option in test plugin
- Add new sql scripts to configure.in
- Update catalog version to 1018
Implement FileMedia feature and FO_OFFSETS for plugin
- Allow plugins to use the FO_OFFSETS option
- Add SQL support in cats
- Add bvfs commands
- Add FileMedia handling in the Storage Daemon
- Add use FO_OFFSETS option in test plugin
- Add new sql scripts to configure.in
- Update catalog version to 1018
- The TRUNCATE TABLE command don't exist in sqlite, but the
"delete from table" command is optimized to "truncate" the table when
the "where" clause is not used.
Author: Eric Bollengier <eric@baculasystems.com>
Date: Tue May 28 10:38:58 2019 +0200
bvfs: Use ClientACL+RestoreClientACL in bvfs queries
Author: Eric Bollengier <eric@baculasystems.com>
Date: Thu May 16 10:40:49 2019 +0200
Fix #5053 about BVFS commands not compatible with ACLs wildcards
Eric Bollengier [Fri, 24 Apr 2020 16:07:21 +0000 (18:07 +0200)]
BEE Backport bacula/src/dird/ua_run.c
This commit is the result of the squash of the following main commits:
Author: Eric Bollengier <eric@baculasystems.com>
Date: Mon Jan 6 10:29:11 2020 +0100
Fix #5834 Do not prompt for the job status when jobid is provided in the resume command
Author: Eric Bollengier <eric@baculasystems.com>
Date: Wed Oct 3 14:19:15 2018 +0200
Explain the different fields displayed in the Plugin Restore Options menu
Author: Eric Bollengier <eric@baculasystems.com>
Date: Mon Oct 9 17:38:40 2017 +0200
Add PluginFeatures interface and the RestoreListFiles feature to the Director
In this commit, we cleanup a lot of code that was not designed correctly. Plugins
were able to create specific RestoreObjects to trigger special code on the Director
side during the restore. Now, the Director will ask the Plugins directly if they
need to receive the list of the selected files. A side effect is that if the test-plugin
or the ndmp plugin are installed, we will send the list of files for each restore job.
Author: Eric Bollengier <eric@baculasystems.com>
Date: Thu Jan 19 11:44:11 2017 +0100
Fix GCC 8 compiler warnings with memset() on objects
Author: Eric Bollengier <eric@baculasystems.com>
Date: Tue Oct 24 14:10:43 2017 +0200
Add "noautoparent" restore command option to disable the automatic parent directory selection
At this time, when we select a directory, we mark parent directories for
the restore automatically.
In the NDMP restore process, at this time, when we select a directory
entry, the entire content is restored recursively.
This option can be used to not select automatically parent directories
during a restore session.
Author: Eric Bollengier <eric@baculasystems.com>
Date: Mon Oct 9 17:38:40 2017 +0200
Add PluginFeatures interface and the RestoreListFiles feature to the Director
In this commit, we cleanup a lot of code that was not designed correctly. Plugins
were able to create specific RestoreObjects to trigger special code on the Director
side during the restore. Now, the Director will ask the Plugins directly if they
need to receive the list of the selected files. A side effect is that if the test-plugin
or the ndmp plugin are installed, we will send the list of files for each restore job.
Author: Eric Bollengier <eric@baculasystems.com>
Date: Fri Oct 6 15:01:55 2017 +0200
Fix #3183 issue with VSS restore using a SQL table via BWeb or BAT
Author: Eric Bollengier <eric@baculasystems.com>
Date: Thu Jan 19 11:44:11 2017 +0100
Add jobuser/jobgroup restore options
Author: Eric Bollengier <eric@baculasystems.com>
Date: Tue Oct 18 18:07:24 2016 +0200
Add DirectoryACL and UserIdACL directives to the Console resource
Implement FileMedia feature and FO_OFFSETS for plugin
- Allow plugins to use the FO_OFFSETS option
- Add SQL support in cats
- Add bvfs commands
- Add FileMedia handling in the Storage Daemon
- Add use FO_OFFSETS option in test plugin
- Add new sql scripts to configure.in
- Update catalog version to 1018
re-activate command "show console" and display ACLs
- "root" console can display any console resource
- restricted console can only display its own ressource
- Display all ACLs
- use the name of the ACL define in the RES_ITEM
Implement FileMedia feature and FO_OFFSETS for plugin
- Allow plugins to use the FO_OFFSETS option
- Add SQL support in cats
- Add bvfs commands
- Add FileMedia handling in the Storage Daemon
- Add use FO_OFFSETS option in test plugin
- Add new sql scripts to configure.in
- Update catalog version to 1018
Author: Eric Bollengier <eric@baculasystems.com>
Date: Tue Nov 10 16:05:48 2015 +0100
Implement new options in list command
It is possible to use the following arguments:
- order=asc/desc
- joberrors
- jobstatus=T
- client=xxx
*list jobs
+-------+--------------+---------------------+------+
| jobid | name | starttime | type |
+-------+--------------+---------------------+------+
| 1 | backup | 2015-11-10 14:21:38 | B |
| 2 | RestoreFiles | 2015-11-10 14:21:44 | R |
| 3 | backup | 2015-11-10 14:21:56 | B |
| 4 | RestoreFiles | 2015-11-10 14:22:00 | R |
+-------+--------------+---------------------+------+
*list jobs order=desc
+-------+--------------+---------------------+------+
| jobid | name | starttime | type |
+-------+--------------+---------------------+------+
| 4 | RestoreFiles | 2015-11-10 14:22:00 | R |
| 3 | backup | 2015-11-10 14:21:56 | B |
| 2 | RestoreFiles | 2015-11-10 14:21:44 | R |
| 1 | backup | 2015-11-10 14:21:38 | B |
+-------+--------------+---------------------+------+
*list jobs order=desc limit=1
+-------+--------------+---------------------+------+
| jobid | name | starttime | type |
+-------+--------------+---------------------+------+
| 4 | RestoreFiles | 2015-11-10 14:22:00 | R |
+-------+--------------+---------------------+------+
The plugin=... parameter is added to .ls command which should be the name of
the plugin with all required plugin parameters in the form found in fileset
Plugin=... directive. The plugin should implement a special listing=<path>
parameter for estimate job to use this functionality. The .ls command path=...
parameter is sent as listing=<path> for Plugin, so user can inform a Plugin
what he expecits to listing.
Author: Eric Bollengier <eric@baculasystems.com>
Date: Fri Dec 1 22:25:04 2017 +0100
tray-monitor : restore wizard.
Author: Eric Bollengier <eric@baculasystems.com>
Date: Mon Nov 20 16:53:02 2017 +0100
bvfs: Fix hardlink selection issue with subdirectories
Author: Eric Bollengier <eric@baculasystems.com>
Date: Tue Nov 14 15:54:00 2017 +0100
Fix race condition between setip and the access to CLIENT::address()
Fix concurrency issue between setAddress() and address()
we need to copy the address in an argument, the variable can be
freed at any time.
Author: Eric Bollengier <eric@baculasystems.com>
Date: Sat Nov 11 14:54:26 2017 +0100
bvfs: Add function bvfs_delete_filed for plugins that requires to delete a catalog entry
Author: Eric Bollengier <eric@baculasystems.com>
Date: Thu Nov 9 15:01:55 2017 +0100
bvfs: Add filename and path arguments to .bvfs_version
Implement FileMedia feature and FO_OFFSETS for plugin
- Allow plugins to use the FO_OFFSETS option
- Add SQL support in cats
- Add bvfs commands
- Add FileMedia handling in the Storage Daemon
- Add use FO_OFFSETS option in test plugin
- Add new sql scripts to configure.in
- Update catalog version to 1018
Change 'Collector' resource name into 'Statistics'.
The patch introduce a Statistics resource in place of Collector one used
before. It changes the 'collect' command into 'statistics' one and
'.status collector' into '.status statistics'. No other functionalities
were changed.
Now the collect support a three output formats:
- simple - as $metric=$value
- full - with all metric attributes in single line
- json - with all metric attributes as JSON array of metric objects
Author: Eric Bollengier <eric@baculasystems.com>
Date: Wed May 16 16:38:30 2018 +0200
Fix #3824 about incorrect setdebug command description
re-activate command "show console" and display ACLs
- "root" console can display any console resource
- restricted console can only display its own ressource
- Display all ACLs
- use the name of the ACL define in the RES_ITEM
Author: Eric Bollengier <eric@baculasystems.com>
Date: Mon Jun 18 15:40:30 2018 +0200
Allow glob type expression in Console ACL lists
Author: Eric Bollengier <eric@baculasystems.com>
Date: Thu Jun 30 20:53:53 2016 +0200
Add new RestoreClientAcl/BackupClientAcl console directives
Eric Bollengier [Fri, 24 Apr 2020 15:59:29 +0000 (17:59 +0200)]
BEE Backport bacula/src/dird/run_conf.c
This commit is the result of the squash of the following main commits:
Author: Eric Bollengier <eric@baculasystems.com>
Date: Wed Mar 20 14:53:33 2019 +0100
Add FD Calls Director feature to ease client behind NAT access
- Implement scheduler in Client side to activate the feature
- Refactor Run resource between the director and the file daemon
- Allow to use the Director resource to connect a Director for the proxy command and the FDCallsDir
- Add FDCallsDir state in show client
- Add code to handle permanent connections bsock_meeting
New Directive
FileDaemon:Director:FDCallsDir=<yes/no>
FileDaemon:Director:FDCallsDirReconnect=<time>
FileDaemon:Director:FDCallsDirSchedule=<resource>
Author: Eric Bollengier <eric@baculasystems.com>
Date: Mon Oct 9 17:38:40 2017 +0200
Add PluginFeatures interface and the RestoreListFiles feature to the Director
In this commit, we cleanup a lot of code that was not designed correctly. Plugins
were able to create specific RestoreObjects to trigger special code on the Director
side during the restore. Now, the Director will ask the Plugins directly if they
need to receive the list of the selected files. A side effect is that if the test-plugin
or the ndmp plugin are installed, we will send the list of files for each restore job.
Author: Eric Bollengier <eric@baculasystems.com>
Date: Thu Jan 19 11:44:11 2017 +0100
re-activate command "show console" and display ACLs
- "root" console can display any console resource
- restricted console can only display its own ressource
- Display all ACLs
- use the name of the ACL define in the RES_ITEM
Author: Eric Bollengier <eric@baculasystems.com>
Date: Wed May 1 15:24:21 2019 +0200
Accept |script in the Client Address directive
Author: Eric Bollengier <eric@baculasystems.com>
Date: Wed Feb 14 11:47:15 2018 +0100
Cleanup MaxPoolBytes related functions
Author: Eric Bollengier <eric@baculasystems.com>
Date: Mon Oct 9 17:38:40 2017 +0200
Add PluginFeatures interface and the RestoreListFiles feature to the Director
In this commit, we cleanup a lot of code that was not designed correctly. Plugins
were able to create specific RestoreObjects to trigger special code on the Director
side during the restore. Now, the Director will ask the Plugins directly if they
need to receive the list of the selected files. A side effect is that if the test-plugin
or the ndmp plugin are installed, we will send the list of files for each restore job.
Eric Bollengier [Fri, 24 Apr 2020 15:54:44 +0000 (17:54 +0200)]
BEE Backport bacula/src/dird/fd_cmds.c
This commit is the result of the squash of the following main commits:
Author: Eric Bollengier <eric@baculasystems.com>
Date: Fri Jan 31 09:04:45 2020 +0100
Fix #5913 About a typo on a job message when the Fileset was modified
Author: Eric Bollengier <eric@baculasystems.com>
Date: Thu Jun 6 10:56:33 2019 +0200
Fix #2289 Display information about the fileset modification time when upgrading to a Full backup
Author: Eric Bollengier <eric@baculasystems.com>
Date: Wed May 1 15:24:21 2019 +0200
Accept |script in the Client Address directive
Author: Eric Bollengier <eric@baculasystems.com>
Date: Thu Mar 28 10:10:19 2019 +0100
Display detailed reason why a Job upgraded to Full
Author: Eric Bollengier <eric@baculasystems.com>
Date: Mon Mar 25 18:32:11 2019 +0100
Rename MaximumConnectionTime to ReconnectionTime, Run to Connect and ConnectToDir to AllowFDConnections
Author: Eric Bollengier <eric@baculasystems.com>
Date: Wed Mar 20 14:53:33 2019 +0100
Add FD Calls Director feature to ease client behind NAT access
- Implement scheduler in Client side to activate the feature
- Refactor Run resource between the director and the file daemon
- Allow to use the Director resource to connect a Director for the proxy command and the FDCallsDir
- Add FDCallsDir state in show client
- Add code to handle permanent connections bsock_meeting
New Directive
FileDaemon:Director:FDCallsDir=<yes/no>
FileDaemon:Director:FDCallsDirReconnect=<time>
FileDaemon:Director:FDCallsDirSchedule=<resource>
The plugin=... parameter is added to .ls command which should be the name of
the plugin with all required plugin parameters in the form found in fileset
Plugin=... directive. The plugin should implement a special listing=<path>
parameter for estimate job to use this functionality. The .ls command path=...
parameter is sent as listing=<path> for Plugin, so user can inform a Plugin
what he expecits to listing.
Author: Eric Bollengier <eric@baculasystems.com>
Date: Mon Dec 11 20:59:31 2017 +0100
Prefix feature messages with 2000
Author: Eric Bollengier <eric@baculasystems.com>
Date: Thu Dec 7 10:46:56 2017 +0100
Fix memory leak after a protocol error in get_plugin_feature()
Author: Eric Bollengier <eric@baculasystems.com>
Date: Wed Dec 6 21:47:25 2017 +0100
Replace fd->recv() with bget_dirmsg(fd) in get_plugin_features()
Unexpected messages can come from the FileDaemon during the PluginFeatures
exchange. We can use bget_dirmsg() to handle them.
Author: Eric Bollengier <eric@baculasystems.com>
Date: Mon Oct 9 17:38:40 2017 +0200
Add PluginFeatures interface and the RestoreListFiles feature to the Director
In this commit, we cleanup a lot of code that was not designed correctly. Plugins
were able to create specific RestoreObjects to trigger special code on the Director
side during the restore. Now, the Director will ask the Plugins directly if they
need to receive the list of the selected files. A side effect is that if the test-plugin
or the ndmp plugin are installed, we will send the list of files for each restore job.
Author: Eric Bollengier <eric@baculasystems.com>
Date: Mon Aug 26 13:57:34 2013 +0200
PSK: Add new "TLS PSK Enable" directive to all resources
- add the field to the resources
- create default "psk_ctx" CONTEXT for each of them at startup
Author: Eric Bollengier <eric@baculasystems.com>
Date: Mon Mar 25 18:32:11 2019 +0100
Rename MaximumConnectionTime to ReconnectionTime, Run to Connect and ConnectToDir to AllowFDConnections
Author: Eric Bollengier <eric@baculasystems.com>
Date: Wed Mar 20 14:53:33 2019 +0100
Add FD Calls Director feature to ease client behind NAT access
- Implement scheduler in Client side to activate the feature
- Refactor Run resource between the director and the file daemon
- Allow to use the Director resource to connect a Director for the proxy command and the FDCallsDir
- Add FDCallsDir state in show client
- Add code to handle permanent connections bsock_meeting
New Directive
FileDaemon:Director:FDCallsDir=<yes/no>
FileDaemon:Director:FDCallsDirReconnect=<time>
FileDaemon:Director:FDCallsDirSchedule=<resource>
Director:Client:FDCallsDir=<yes/no>
New Resource
FileDaemon:Schedule
Author: Eric Bollengier <eric@baculasystems.com>
Date: Fri Feb 22 10:14:44 2019 +0100
Add AllowIncompleteJobs Job directive
Author: Eric Bollengier <eric@baculasystems.com>
Date: Fri Dec 21 10:11:06 2018 +0100
Add Director:Autoprune directive to control globally the autoprune feature
Author: Eric Bollengier <eric@baculasystems.com>
Date: Tue Oct 18 18:07:24 2016 +0200
Add DirectoryACL and UserIdACL directives to the Console resource
re-activate command "show console" and display ACLs
- "root" console can display any console resource
- restricted console can only display its own ressource
- Display all ACLs
- use the name of the ACL define in the RES_ITEM
Author: Eric Bollengier <eric@baculasystems.com>
Date: Fri May 10 18:22:09 2019 +0200
Change default directive value AllowIncompleteJobs to keep the existing behavior
Author: Eric Bollengier <eric@baculasystems.com>
Date: Wed May 1 15:24:21 2019 +0200
PSK: Add new "TLS PSK Enable" directive to all resources
- add the field to the resources
- create default "psk_ctx" CONTEXT for each of them at startup
Author: Eric Bollengier <eric@baculasystems.com>
Date: Mon Mar 25 17:43:09 2019 +0100
Make Director:Client:Address field optionnal when ConnectToDirector=yes
Author: Eric Bollengier <eric@baculasystems.com>
Date: Mon Mar 25 18:32:11 2019 +0100
Rename MaximumConnectionTime to ReconnectionTime, Run to Connect and ConnectToDir to AllowFDConnections
Author: Eric Bollengier <eric@baculasystems.com>
Date: Wed Mar 20 14:53:33 2019 +0100
Add FD Calls Director feature to ease client behind NAT access
- Implement scheduler in Client side to activate the feature
- Refactor Run resource between the director and the file daemon
- Allow to use the Director resource to connect a Director for the proxy command and the FDCallsDir
- Add FDCallsDir state in show client
- Add code to handle permanent connections bsock_meeting
New Directive
FileDaemon:Director:FDCallsDir=<yes/no>
FileDaemon:Director:FDCallsDirReconnect=<time>
FileDaemon:Director:FDCallsDirSchedule=<resource>
Director:Client:FDCallsDir=<yes/no>
New Resource
FileDaemon:Schedule
Author: Eric Bollengier <eric@baculasystems.com>
Date: Fri Dec 21 10:11:06 2018 +0100
Add Director:Autoprune directive to control globally the autoprune feature
Add a new Director configuration resource: Collector.
A Collector resource defines statistics collector thread. This thread
will grab Bacula internal statistics and save them into a defined
backend which is a direct Collector Type parameter. We will support a
two collector backend types: CSV and Graphite.
An example of Collector configuration:
Collector {
Name = "CSV Collector"
Interval = 30 seconds
Type = CSV
File = "/tmp/stat.csv"
Metrics = "bacula.jobs"
Metrics = "bacula.volumes"
}
Collector {
Name = "Graphite Collector"
Type = Graphite
Host = 192.168.0.1
Port = 9000
Interval = 5 minutes
Prefix = "srv01"
}
Author: Eric Bollengier <eric@baculasystems.com>
Date: Tue Feb 27 15:38:07 2018 +0100
Fix MaxPoolBytes display in show command
Author: Eric Bollengier <eric@baculasystems.com>
Date: Tue Feb 13 14:17:22 2018 +0100
Add MaximumPoolBytes directive to director configuration
PSK: Add new "TLS PSK Enable" directive to all resources
- add the field to the resources
- create default "psk_ctx" CONTEXT for each of them at startup
Author: Eric Bollengier <eric@baculasystems.com>
Date: Mon Mar 25 17:43:09 2019 +0100
Make Director:Client:Address field optionnal when ConnectToDirector=yes
Author: Eric Bollengier <eric@baculasystems.com>
Date: Mon Mar 25 18:32:11 2019 +0100
Rename MaximumConnectionTime to ReconnectionTime, Run to Connect and ConnectToDir to AllowFDConnections
Author: Eric Bollengier <eric@baculasystems.com>
Date: Wed Mar 20 14:53:33 2019 +0100
Add FD Calls Director feature to ease client behind NAT access
- Implement scheduler in Client side to activate the feature
- Refactor Run resource between the director and the file daemon
- Allow to use the Director resource to connect a Director for the proxy command and the FDCallsDir
- Add FDCallsDir state in show client
- Add code to handle permanent connections bsock_meeting
New Directive
FileDaemon:Director:FDCallsDir=<yes/no>
FileDaemon:Director:FDCallsDirReconnect=<time>
FileDaemon:Director:FDCallsDirSchedule=<resource>
Director:Client:FDCallsDir=<yes/no>
New Resource
FileDaemon:Schedule
Author: Eric Bollengier <eric@baculasystems.com>
Date: Thu Feb 14 19:04:17 2019 +0100
Fix #4676 about deadlock when reloading the configuration after a SIGHUP
Add filename and digest to message "SHA1 digest not same FileIndex=XXX"
- add a second error line to the "well known" error message below
127.0.0.1-dir: catreq.c:726-28 SHA1 digest not same FileIndex=244 as attributes FI=243
127.0.0.1-dir: catreq.c:728-28 Error detected between digest[244]="yCFO7M/N96jiPwBIBYUKA50iFVE" and name[243]="/home/bac/workspace/bee/regress/build/platforms/alpha/bigfile"
Implement FileMedia feature and FO_OFFSETS for plugin
- Allow plugins to use the FO_OFFSETS option
- Add SQL support in cats
- Add bvfs commands
- Add FileMedia handling in the Storage Daemon
- Add use FO_OFFSETS option in test plugin
- Add new sql scripts to configure.in
- Update catalog version to 1018
Eric Bollengier [Fri, 24 Apr 2020 15:47:01 +0000 (17:47 +0200)]
BEE Backport bacula/src/dird/bsr.c
This commit is the result of the squash of the following main commits:
Author: Eric Bollengier <eric@baculasystems.com>
Date: Mon Oct 9 17:38:40 2017 +0200
Add PluginFeatures interface and the RestoreListFiles feature to the Director
In this commit, we cleanup a lot of code that was not designed correctly. Plugins
were able to create specific RestoreObjects to trigger special code on the Director
side during the restore. Now, the Director will ask the Plugins directly if they
need to receive the list of the selected files. A side effect is that if the test-plugin
or the ndmp plugin are installed, we will send the list of files for each restore job.
- add "TLS PSK Enable" to resources
- update hello messages
- rename authenticatebase.c to .cc and add the file to the QT tools
because of a RTTI compilation problem.
I use .cc because it works best with both bacula's CORE and QT
to be compiled as C++ and not C
- call init_crypto() and init_signals() in tray-monitor
Eric Bollengier [Thu, 23 Apr 2020 14:33:44 +0000 (16:33 +0200)]
BEE Backport bacula/src/lib/unittests.c
This commit is the result of the squash of the following main commits:
Author: Eric Bollengier <eric@baculasystems.com>
Date: Fri Mar 27 21:15:51 2020 +0100
Add is() and isnt() functions to unittest module
Author: Eric Bollengier <eric@baculasystems.com>
Date: Thu Mar 26 10:17:48 2020 +0100
Modify ok() and nok() to return a boolean in the unittest lib
Author: Eric Bollengier <eric@baculasystems.com>
Date: Thu Feb 27 20:46:39 2020 +0100
Display local variables when a unittest is on error
Author: Eric Bollengier <eric@baculasystems.com>
Date: Wed Feb 26 09:50:29 2020 +0100
Use Bacula Systems copyright for bcollector/bsock files
Author: Eric Bollengier <eric@baculasystems.com>
Date: Fri Mar 29 15:01:31 2019 +0100
Fix unittest compilation
Author: Eric Bollengier <eric@baculasystems.com>
Date: Wed Mar 20 14:53:33 2019 +0100
Add FD Calls Director feature to ease client behind NAT access
- Implement scheduler in Client side to activate the feature
- Refactor Run resource between the director and the file daemon
- Allow to use the Director resource to connect a Director for the proxy command and the FDCallsDir
- Add FDCallsDir state in show client
- Add code to handle permanent connections bsock_meeting
New Directive
FileDaemon:Director:FDCallsDir=<yes/no>
FileDaemon:Director:FDCallsDirReconnect=<time>
FileDaemon:Director:FDCallsDirSchedule=<resource>
When some unit tests does not require and use a lock manager and make
tests very fast then lock manager cleanup function is executed before
any lock manager thread has a chence to start which result in leaked
memory false positive.
Create base64 unit tests.
Add base64 unit tests regression script.
Small update to all-unittests.
Update unittests for flist.
Add flist regression unittests.
Add fnmatch unittests and regression tests.
The current unittests fail on on of the already prepared tests. Until
resolved the overall unittests will fail on this one.
PSK: make Bacula's core files related to TLS and authentication ready
- add PSK code to tls.c
- modify cram_md5_respond() to support early "STARTLS"
- the recv() must be done first to see if we get a starttls command
or if we continue cram-md5the old way
- skip TLS verification part when PSK is used
Author: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
Date: Wed Nov 8 14:37:31 2017 +0100
crypto: remove support for ancient openssl
OpenSSL 1.0.2 is still supported. Everything earlier is not so the old
code for compat can be thrown away, especially the 0.9.8 support.
TLSv1_method() should not be used and SSLv23_method() should be
preferred because the latter supports TLS1.0…1.2 while the former _only_
tries TLS1.0.
Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
Author: Eric Bollengier <eric@baculasystems.com>
Date: Wed May 27 11:54:14 2015 +0200
The OutputWriter class can be configured to use a custom
separator (\t or \n for example), custom date format, and
will handle basic formating such as time, string, integer,
list of strings, etc...
- error is used for error and not for a "no match"
- error in the format string like %b where 'b' is not a valid
format character
- the return code let you know HOW many "real" matches you got
- lot of new tests
- check respect string limit
- check negative numbers, up to the 63/64 bit limits
Fix bsscanf() returns the wrong number of conversion
- returns the right number of successful conversion
bsscanf("1", "%d %d",..)==2 must be 1
- mimic sscanf for empty strings
- return EOF instead of doing a segfault when the input or fmt string are
NULL
PSK: make Bacula's core files related to TLS and authentication ready
- add PSK code to tls.c
- modify cram_md5_respond() to support early "STARTLS"
- the recv() must be done first to see if we get a starttls command
or if we continue cram-md5the old way
- skip TLS verification part when PSK is used
dedup: create a Dedup resource based on the dedup directive in Storage
- to stay compatible with old dedup directive in the Storage resource
Author: Eric Bollengier <eric@baculasystems.com>
Date: Tue May 21 13:03:09 2019 +0200
Fix compilation for HPUX
Author: Eric Bollengier <eric@baculasystems.com>
Date: Wed Mar 20 14:53:33 2019 +0100
Add FD Calls Director feature to ease client behind NAT access
- Implement scheduler in Client side to activate the feature
- Refactor Run resource between the director and the file daemon
- Allow to use the Director resource to connect a Director for the proxy command and the FDCallsDir
- Add FDCallsDir state in show client
- Add code to handle permanent connections bsock_meeting
New Directive
FileDaemon:Director:FDCallsDir=<yes/no>
FileDaemon:Director:FDCallsDirReconnect=<time>
FileDaemon:Director:FDCallsDirSchedule=<resource>
dedup: create a Dedup resource based on the dedup directive in Storage
- to stay compatible with old dedup directive in the Storage resource
Author: Eric Bollengier <eric@baculasystems.com>
Date: Wed Mar 20 14:53:33 2019 +0100
Add FD Calls Director feature to ease client behind NAT access
- Implement scheduler in Client side to activate the feature
- Refactor Run resource between the director and the file daemon
- Allow to use the Director resource to connect a Director for the proxy command and the FDCallsDir
- Add FDCallsDir state in show client
- Add code to handle permanent connections bsock_meeting
New Directive
FileDaemon:Director:FDCallsDir=<yes/no>
FileDaemon:Director:FDCallsDirReconnect=<time>
FileDaemon:Director:FDCallsDirSchedule=<resource>
Director:Client:FDCallsDir=<yes/no>
New Resource
FileDaemon:Schedule
Author: Eric Bollengier <eric@baculasystems.com>
Date: Mon Feb 29 09:34:49 2016 +0100
Modify configuration parser to use local variables
The OutputWriter class can be configured to use a custom
separator (\t or \n for example), custom date format, and
will handle basic formating such as time, string, integer,
list of strings, etc...
Eric Bollengier [Thu, 23 Apr 2020 14:02:24 +0000 (16:02 +0200)]
BEE Backport bacula/src/lib/openssl.c
This commit is the result of the squash of the following main commits:
Author: Eric Bollengier <eric@baculasystems.com>
Date: Thu Mar 19 18:09:32 2020 +0100
more work on QT5 for windows
Author: Eric Bollengier <eric@baculasystems.com>
Date: Wed Jan 8 14:40:42 2020 +0100
Fix #5829 about OpenBSD compilation issue with TLS 1.3 code
The SSL_R_APPLICATION_DATA_AFTER_CLOSE_NOTIFY seems to not be defined
on OpenBSD. Probably a compatibility issue.
Compiling openssl.c
openssl.c: In function 'void openssl_post_errors(JCR*, int, const char*)':
openssl.c:67: error: 'SSL_R_APPLICATION_DATA_AFTER_CLOSE_NOTIFY' was not declared in this scope
Fix OpenSSL TLS 1.3 message with ssl3_read_bytes:application data after close notify
Ignore this error that is SSL_shutdown() specific and is new to TLS 1.3
ERR=error:14094123:SSL routines:ssl3_read_bytes:application data after close notify
we are doing the TLS shutdown.
This can happens at multiple place but the message appears only on
the DIR because at that time the connection with the DIR is often "terminated"
This commit is the result of the squash of the following main commits:
Author: Eric Bollengier <eric@baculasystems.com>
Date: Thu Mar 19 18:09:32 2020 +0100
more work on QT5 for windows
Author: Eric Bollengier <eric@baculasystems.com>
Date: Wed Jan 8 14:40:42 2020 +0100
Fix #5829 about OpenBSD compilation issue with TLS 1.3 code
The SSL_R_APPLICATION_DATA_AFTER_CLOSE_NOTIFY seems to not be defined
on OpenBSD. Probably a compatibility issue.
Compiling openssl.c
openssl.c: In function 'void openssl_post_errors(JCR*, int, const char*)':
openssl.c:67: error: 'SSL_R_APPLICATION_DATA_AFTER_CLOSE_NOTIFY' was not declared in this scope
Fix OpenSSL TLS 1.3 message with ssl3_read_bytes:application data after close notify
Ignore this error that is SSL_shutdown() specific and is new to TLS 1.3
ERR=error:14094123:SSL routines:ssl3_read_bytes:application data after close notify
we are doing the TLS shutdown.
This can happens at multiple place but the message appears only on
the DIR because at that time the connection with the DIR is often "terminated"
PSK: unify authentication into new authenticatebase.c in "bac" library
- new unified AuthenticationBase class in lib/authenticatebase.{c,h}
- AuthenticationBase include the code that is common to all daemons
Author: Eric Bollengier <eric@baculasystems.com>
Date: Wed Mar 20 14:53:33 2019 +0100
Add FD Calls Director feature to ease client behind NAT access
- Implement scheduler in Client side to activate the feature
- Refactor Run resource between the director and the file daemon
- Allow to use the Director resource to connect a Director for the proxy command and the FDCallsDir
- Add FDCallsDir state in show client
- Add code to handle permanent connections bsock_meeting
New Directive
FileDaemon:Director:FDCallsDir=<yes/no>
FileDaemon:Director:FDCallsDirReconnect=<time>
FileDaemon:Director:FDCallsDirSchedule=<resource>