Bacula Release 9.0.0

classic Classic list List threaded Threaded
22 messages Options
12
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Bacula Release 9.0.0

Kern Sibbald

Release 9.0.0

I am pleased to announce that we have just released Bacula version 9.0.0.

This is a major new release with major new features, many bugs fixed, many smaller new features, and a major rewrite of the Storage Daemon to be class based with drivers that can be dynamically loaded as needed, as well as a backport of much of the most current Bacula Enterprise version. In fact, there are so many new features that I have not myself had a chance to test them (e.g. the new Tray Monitor that includes client (user) initiated backups — even from remote laptops.

This new version requires a database update, so during the update process please be sure that the update_bacula_tables script is executed.

I would like to thank Bacula Systems for providing the bug fixes and new features. Since the development process in Bacula Systems is going faster (more programmers), we can expect even more features in future releases.

In addition to releasing the files to Source Forge as usual, the source files are also available on www.bacula.org and the up to date source code is also available for cloning from the git repository at git.bacula.org in the branch named Branch-9.0.

Bacula Systems has begun building binaries for the community version 9.0.0, but I have not completed the documentation on how to install them, so binaries will be released over the next few weeks. Currently we have binaries for a limited number of distros, but over time, we intend to build binaries for all the major distros.

For your convenience, I have included much of the ReleaseNotes below. For the details, please see the ReleaseNotes that are in the source distribution.

Thank you for using Bacula.

Kern

=============================================

Release Notes for Bacula 9.0.0

This is either the biggest Bacula release ever made or one of the
biggest ones. Even without the new Aligned Volumes source code, which
is substantial, there are over 400,000 lines of diff output between
Release 7.4.7 and the release of 9.0.0

This is a major new release with a new version number. It has been
very thoroughly tested, but as always, please backup any previous
version and test this version prior to putting it into production.

For the most part the changes were contributed to the Bacula
project by Bacula Systems SA and myself, but there were a number
of other contributors that I thank.

Database Update
—————
This version of Bacula requires a database update. So either you or the
installation process must apply the update_bacula_tables script. As a
precaution, please do a database dump or run your nightly database backup
prior to running the update script.

Compatibility:
————–
As always, both the Community Director and Storage daemon(s) must be upgraded
at the same time. Any File daemon running on the same machine as a Director
or Storage daemon must be of the same version.

Older File Daemons should be compatible with the 9.0.0 Director and Storage
daemons. There should be no need to upgrade older File Daemons.

Packagers:
———
There are a good number of new binaries (e.g. bbconsjson, bdirjson,
bfdjson, and bsdjson) to install; a new tapealert script file that should
be installed; and some new shared objects (e.g. libbacsd). The
dvd-handler script has been removed. Note also to run the
update_bacula_tables script after having dumped the catalog to bring any
existing catalog up to the new version needed for Bacula 9.0.0.

New Features:
————-
Please see the New Features chapter of the manual for documentation on
the new features. The new features are currently only documented in
the New Features chapter and have not yet been integrated into the main
chapters of the manual.

New Features (summary):
———————–

– Major rewrite of the Storage daemon to: put all drivers in class
structures, provide better separation of core/driver code, add new
drivers (aligned volumes, cloud), simplifies core code, allows loadable
device drivers much like plugins but which are better integrated into
the SD.
– There are a number of new Bacula Systems whitepapers available on
www.bacula.org, and a few more will be coming in the next few months.
– New unique message id will be added to every message (designed but
not yet implemented).

Core Features:
– Implement a drive usage counter to do round robin drive assignment
– Enhance functionality of TapeAlert
– Implement a “Perpetual Virtual Full” feature that creates a Virtual Full b
   that is updated every day
– Increase Director’s default “Maximum Concurrent Jobs” setting from 1 to 20
– Add “PluginDirectory” by default in bacula-sd.conf and bacula-fd.conf
– Add support for terabytes in sizes. Submitted by Wanderlei Huttel.
– Restore mtime & atime for symlinks
– New “status network” command to test the connection and the bandwidth
   between a Client and a Storage Daemon
– New Tape Alert tracking
– Loadable SD device drivers
– PostgeSQL SSL connections permitted
– JobStatistics improved
– DB update required
– Autochanger improvements to group Devices
– Improved .estimate command
– Comm line compression
– Separate bxxjson programs for Console, Dir, FD, SD to output .conf content
   in Json for easier reading with programs
– Read Only storage devices

Bconsole Features:
– Add “ExpiresIn” field in list and llist media output
– Add command to change the priority of a running job (update jobid=xxx prio
– Add level= and jobtype= parameters to the “list jobs” command
– Add option to bconsole to list and select a specific Console
– Add shortcut to RunScript console commands. Submitted by Wanderlei Huttel.
– Display “IgnoreFileSetChanges” in show fileset command (#2107)
– Display PrefixLinks in “show job” output
– Display permission bits in .bvfs_decode
– Display the Comment field in “llist job” command
– Add “ActionOnPurge” field to “llist pool” command. Fix #2487
– Add “long” keyword to list command, ie “list long job”. This is
   essentially an alias fo the “llist” command.
– Modify the “setbandwidth” limit parameter to accept speed input. ex: limit
– Modify the “setbandwidth” limit parameter to accept speed input. ex: limit
– Modify the “setbandwidth” limit parameter so that the default
is no longer kb/s but b/s.
– Do not show disabled resources in selection list
– Fix bconsole readline and “dumb” terminal handling of CTRL-C
– Add the priority field to the .api 2 job listing output
– Improved restricted consoles when accessing catalog.

Misc Features:
– New Tray Monitor program
– Client Initiated Backups
– Many performance enhancements
– Bandwidth limitation timing improved
– Global resource variables are not lost during a reload command
– Add -w option to btape to specify a working directory
– Enhance bls -D/-F help message
– The “list” command now filters the results using the current Console ACLs
– The WhereACL is now verified after the restore menu


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Bacula-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Bacula Release 9.0.0

Simone Caronni-2
Hi Kern,

On Fri, Jul 7, 2017 at 2:01 PM, Kern Sibbald <[hidden email]> wrote:
In fact, there are so many new features that I have not myself had a chance to test them (e.g. the new Tray Monitor that includes client (user) initiated backups — even from remote laptops.

I can't build the new tray monitor, it seems some files are missing from the git repository. I've opened a bug:


Regards,
--Simone





--
You cannot discover new oceans unless you have the courage to lose sight of the shore (R. W. Emerson).

http://xkcd.com/229/
http://negativo17.org/

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Bacula-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Bacula Release 9.0.0

Kern Sibbald

Hello Simone,

Thanks for jumping on the new release so soon.  I am impressed.  I responded in the bug report, but copy it here for the others on the copy.

=== my response to the bug ===
It looks like I totally forgot to include all the new files from the Enterprise
version for tray-monitor.   My schedule is a bit heavy for the next couple of
days, so I suggest that you temporarily leave the tray-monitor out of your
build.  I am a bit surprised that in building our binaries (done by someone
else) this was not pointed out!  

Once I copy over all the files and adjust the copyrights accordingly then build
and test it myself, I will release a new version.  I will also post a note to
this bug report.

Thanks for reporting this, and sorry for the inconvenience.

==== end response from bug report ===

Best regards,
Kern


On 07/10/2017 10:25 AM, Simone Caronni wrote:
Hi Kern,

On Fri, Jul 7, 2017 at 2:01 PM, Kern Sibbald <[hidden email]> wrote:
In fact, there are so many new features that I have not myself had a chance to test them (e.g. the new Tray Monitor that includes client (user) initiated backups — even from remote laptops.

I can't build the new tray monitor, it seems some files are missing from the git repository. I've opened a bug:


Regards,
--Simone





--
You cannot discover new oceans unless you have the courage to lose sight of the shore (R. W. Emerson).

http://xkcd.com/229/
http://negativo17.org/


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Bacula-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Bacula Release 9.0.0

Simone Caronni-2
Hi,

On Mon, Jul 10, 2017 at 11:25 AM, Kern Sibbald <[hidden email]> wrote:
Thanks for jumping on the new release so soon.

no worries. As I wrote in the ticket, this could have probably been spotted in one of the candidate releases but I've been too busy to attempt build them. Sorry for that.

Thanks,
--Simone


--
You cannot discover new oceans unless you have the courage to lose sight of the shore (R. W. Emerson).

http://xkcd.com/229/
http://negativo17.org/

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Bacula-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Bacula Release 9.0.0

Wanderlei Huttel
In reply to this post by Kern Sibbald
Good Morning

First of all, thanks and congratulations for the new release Kern!

In this weekend I received some messages from friends of our brazilian group in telegram that tried to compile Bacula 9 in Debian 9 stretch and didn't work.

Today I've tried the same and got errors too. 
I know that the last Debian version release is very recently and maybe bacula is not homologued to run yet. Is this the problem?

##############################################################################

./configure \
 --enable-smartalloc \
 --with-mysql \
 --with-db-user=bacula \
 --with-db-password=bacula \
 --with-db-port=3306 \
 --with-readline=/usr/include/readline \
 --sysconfdir=/etc/bacula \
 --bindir=/usr/bin \
 --sbindir=/usr/sbin \
 --with-scriptdir=/etc/bacula/scripts \
 --with-plugindir=/etc/bacula/plugins \
 --with-pid-dir=/var/run \
 --with-subsys-dir=/etc/bacula/working \
 --with-working-dir=/etc/bacula/working \
 --with-bsrdir=/etc/bacula/bootstrap \
 --with-systemd \
 --disable-conio \
 --disable-nls \
 --with-logdir=/var/log/bacula \
 --with-dump-email=[hidden email] \
 --with-job-email=[hidden email]


##############################################################################

Configuration on Mon Jul 10 07:45:26 -03 2017:

   Host:                     x86_64-pc-linux-gnu -- debian 9.0
   Bacula version:           Bacula 9.0.0 (02 July 2017)
   Source code location:     .
   Install binaries:         /usr/sbin
   Install libraries:        /usr/lib
   Install config files:     /etc/bacula
   Scripts directory:        /etc/bacula/scripts
   Archive directory:        /tmp
   Working directory:        /etc/bacula/working
   PID directory:            /var/run
   Subsys directory:         /etc/bacula/working
   Man directory:            ${datarootdir}/man
   Data directory:           /usr/share
   Plugin directory:         /etc/bacula/plugins
   C Compiler:               gcc 6.3.0-18)
   C++ Compiler:             /usr/bin/g++ 6.3.0-18)
   Compiler flags:            -g -O2 -Wall -x c++ -fno-strict-aliasing -fno-exceptions -fno-rtti
   Linker flags:
   Libraries:                -lpthread -ldl -ldl
   Statically Linked Tools:  no
   Statically Linked FD:     no
   Statically Linked SD:     no
   Statically Linked DIR:    no
   Statically Linked CONS:   no
   Database backends:        MySQL
   Database port:            3306
   Database name:            bacula
   Database user:            bacula
   Database SSL options:

   Job Output Email:         [hidden email]
   Traceback Email:          [hidden email]
   SMTP Host Address:        localhost

   Director Port:            9101
   File daemon Port:         9102
   Storage daemon Port:      9103

   Director User:
   Director Group:
   Storage Daemon User:
   Storage DaemonGroup:
   File Daemon User:
   File Daemon Group:

   Large file support:       yes
   Bacula conio support:     no -lreadline -lhistory
   readline support:         yes
   TCP Wrappers support:     no
   TLS support:              yes
   Encryption support:       yes
   ZLIB support:             yes
   LZO support:              yes
   enable-smartalloc:        yes
   enable-lockmgr:           no
   bat support:              no
   client-only:              no
   build-dird:               yes
   build-stored:             yes
   Plugin support:           yes
   AFS support:              no
   ACL support:              yes
   XATTR support:            yes
   systemd support:          yes /etc/systemd/system
   Batch insert enabled:     MySQL


##############################################################################
tls.c: In function 'bool tls_postconnect_verify_host(JCR*, TLS_CONNECTION*, const char*)':
tls.c:351:33: error: invalid use of incomplete type 'X509_EXTENSION {aka struct X509_extension_st}'
             ext_value_data = ext->value->data;
                                 ^~
In file included from /usr/include/openssl/ssl.h:50:0,
                 from ../bacula.h:147,
                 from tls.c:40:
/usr/include/openssl/x509.h:79:16: note: forward declaration of 'X509_EXTENSION {aka struct X509_extension_st}'
 typedef struct X509_extension_st X509_EXTENSION;
                ^~~~~~~~~~~~~~~~~
tls.c:358:65: error: invalid use of incomplete type 'X509_EXTENSION {aka struct X509_extension_st}'
                extstr = ASN1_item_d2i(NULL, &ext_value_data, ext->value->length,
                                                                 ^~
In file included from /usr/include/openssl/ssl.h:50:0,
                 from ../bacula.h:147,
                 from tls.c:40:
/usr/include/openssl/x509.h:79:16: note: forward declaration of 'X509_EXTENSION {aka struct X509_extension_st}'
 typedef struct X509_extension_st X509_EXTENSION;
                ^~~~~~~~~~~~~~~~~
tls.c:364:63: error: invalid use of incomplete type 'X509_EXTENSION {aka struct X509_extension_st}'
                extstr = method->d2i(NULL, &ext_value_data, ext->value->length);
                                                               ^~
In file included from /usr/include/openssl/ssl.h:50:0,
                 from ../bacula.h:147,
                 from tls.c:40:
/usr/include/openssl/x509.h:79:16: note: forward declaration of 'X509_EXTENSION {aka struct X509_extension_st}'
 typedef struct X509_extension_st X509_EXTENSION;
                ^~~~~~~~~~~~~~~~~
crypto.c:196:1: error: expected constructor, destructor, or type conversion before 'IMPLEMENT_STACK_OF'
 IMPLEMENT_STACK_OF(RecipientInfo)
 ^~~~~~~~~~~~~~~~~~
crypto.c:273:15: error: field 'ctx' has incomplete type 'EVP_MD_CTX {aka evp_md_ctx_st}'
    EVP_MD_CTX ctx;
               ^~~
In file included from /usr/include/openssl/crypto.h:31:0,
                 from /usr/include/openssl/comp.h:16,
                 from /usr/include/openssl/ssl.h:47,
                 from ../bacula.h:147,
                 from crypto.c:37:
/usr/include/openssl/ossl_typ.h:92:16: note: forward declaration of 'EVP_MD_CTX {aka struct evp_md_ctx_st}'
 typedef struct evp_md_ctx_st EVP_MD_CTX;
                ^~~~~~~~~~~~~
crypto.c:291:19: error: field 'ctx' has incomplete type 'EVP_CIPHER_CTX {aka evp_cipher_ctx_st}'
    EVP_CIPHER_CTX ctx;
                   ^~~
In file included from /usr/include/openssl/crypto.h:31:0,
                 from /usr/include/openssl/comp.h:16,
                 from /usr/include/openssl/ssl.h:47,
                 from ../bacula.h:147,
                 from crypto.c:37:
/usr/include/openssl/ossl_typ.h:90:16: note: forward declaration of 'EVP_CIPHER_CTX {aka struct evp_cipher_ctx_st}'
 typedef struct evp_cipher_ctx_st EVP_CIPHER_CTX;
                ^~~~~~~~~~~~~~~~~
crypto.c: In function 'ASN1_OCTET_STRING* openssl_cert_keyid(X509*)':
crypto.c:332:24: error: invalid use of incomplete type 'X509_EXTENSION {aka struct X509_extension_st}'
    ext_value_data = ext->value->data;
                        ^~
In file included from /usr/include/openssl/ssl.h:50:0,
                 from ../bacula.h:147,
                 from crypto.c:37:
/usr/include/openssl/x509.h:79:16: note: forward declaration of 'X509_EXTENSION {aka struct X509_extension_st}'
 typedef struct X509_extension_st X509_EXTENSION;
                ^~~~~~~~~~~~~~~~~
crypto.c:339:77: error: invalid use of incomplete type 'X509_EXTENSION {aka struct X509_extension_st}'
       keyid = (ASN1_OCTET_STRING *) ASN1_item_d2i(NULL, &ext_value_data, ext->value->length,
                                                                             ^~
In file included from /usr/include/openssl/ssl.h:50:0,
                 from ../bacula.h:147,
                 from crypto.c:37:
/usr/include/openssl/x509.h:79:16: note: forward declaration of 'X509_EXTENSION {aka struct X509_extension_st}'
 typedef struct X509_extension_st X509_EXTENSION;
                ^~~~~~~~~~~~~~~~~
crypto.c:345:75: error: invalid use of incomplete type 'X509_EXTENSION {aka struct X509_extension_st}'
       keyid = (ASN1_OCTET_STRING *) method->d2i(NULL, &ext_value_data, ext->value->length);
                                                                           ^~
In file included from /usr/include/openssl/ssl.h:50:0,
                 from ../bacula.h:147,
                 from crypto.c:37:
/usr/include/openssl/x509.h:79:16: note: forward declaration of 'X509_EXTENSION {aka struct X509_extension_st}'
 typedef struct X509_extension_st X509_EXTENSION;
                ^~~~~~~~~~~~~~~~~
In file included from ../lib/lib.h:28:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
crypto.c: In function 'X509_KEYPAIR* crypto_keypair_new()':
crypto.c:365:56: error: invalid application of 'sizeof' to incomplete type 'X509_KEYPAIR {aka X509_Keypair}'
    keypair = (X509_KEYPAIR *)malloc(sizeof(X509_KEYPAIR));
                                                        ^
../lib/smartall.h:66:55: note: in definition of macro 'malloc'
 #define malloc(x)      sm_malloc(__FILE__, __LINE__, (x))
                                                       ^
crypto.c:368:11: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
    keypair->keyid = NULL;
           ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:369:11: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
    keypair->pubkey = NULL;
           ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:370:11: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
    keypair->privkey = NULL;
           ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c: In function 'X509_KEYPAIR* crypto_keypair_dup(X509_KEYPAIR*)':
crypto.c:393:15: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
    if (keypair->pubkey) {
               ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:394:27: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
       CRYPTO_add(&(keypair->pubkey->references), 1, CRYPTO_LOCK_EVP_PKEY);
                           ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:394:53: error: 'CRYPTO_LOCK_EVP_PKEY' was not declared in this scope
       CRYPTO_add(&(keypair->pubkey->references), 1, CRYPTO_LOCK_EVP_PKEY);
                                                     ^~~~~~~~~~~~~~~~~~~~
crypto.c:394:73: error: 'CRYPTO_add' was not declared in this scope
       CRYPTO_add(&(keypair->pubkey->references), 1, CRYPTO_LOCK_EVP_PKEY);
                                                                         ^
crypto.c:395:14: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
       newpair->pubkey = keypair->pubkey;
              ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:395:32: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
       newpair->pubkey = keypair->pubkey;
                                ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:399:15: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
    if (keypair->privkey) {
               ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:400:27: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
       CRYPTO_add(&(keypair->privkey->references), 1, CRYPTO_LOCK_EVP_PKEY);
                           ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:400:54: error: 'CRYPTO_LOCK_EVP_PKEY' was not declared in this scope
       CRYPTO_add(&(keypair->privkey->references), 1, CRYPTO_LOCK_EVP_PKEY);
                                                      ^~~~~~~~~~~~~~~~~~~~
crypto.c:400:74: error: 'CRYPTO_add' was not declared in this scope
       CRYPTO_add(&(keypair->privkey->references), 1, CRYPTO_LOCK_EVP_PKEY);
                                                                          ^
crypto.c:401:14: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
       newpair->privkey = keypair->privkey;
              ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:401:33: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
       newpair->privkey = keypair->privkey;
                                 ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:405:15: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
    if (keypair->keyid) {
               ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:406:14: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
       newpair->keyid = M_ASN1_OCTET_STRING_dup(keypair->keyid);
              ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:406:55: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
       newpair->keyid = M_ASN1_OCTET_STRING_dup(keypair->keyid);
                                                       ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:406:62: error: 'M_ASN1_OCTET_STRING_dup' was not declared in this scope
       newpair->keyid = M_ASN1_OCTET_STRING_dup(keypair->keyid);
                                                              ^
crypto.c:407:19: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
       if (!newpair->keyid) {
                   ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c: In function 'int crypto_keypair_load_cert(X509_KEYPAIR*, const char*)':
crypto.c:442:17: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
    if (!(keypair->pubkey = X509_get_pubkey(cert))) {
                 ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:448:16: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
    if ((keypair->keyid = openssl_cert_keyid(cert)) == NULL) {
                ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:455:29: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
    if (EVP_PKEY_type(keypair->pubkey->type) != EVP_PKEY_RSA) {
                             ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
In file included from ../bacula.h:168:0,
                 from crypto.c:37:
crypto.c:457:77: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
              _("Unsupported key type provided: %d\n"), EVP_PKEY_type(keypair->pubkey->type));
                                                                             ^
../baconfig.h:468:93: note: in definition of macro 'Jmsg1'
 #define Jmsg1(jcr, typ, lvl, msg, a1)         j_msg(__FILE__, __LINE__, jcr, typ, lvl, msg, a1)
                                                                                             ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:466:15: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
    if (keypair->pubkey) {
               ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:467:28: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
       EVP_PKEY_free(keypair->pubkey);
                            ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c: In function 'int crypto_keypair_load_key(X509_KEYPAIR*, const char*, int (*)(char*, int, const void*), const void*)':
crypto.c:555:11: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
    keypair->privkey = PEM_read_bio_PrivateKey(bio, NULL, crypto_pem_callback_dispatch, &ctx);
           ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:557:16: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
    if (!keypair->privkey) {
                ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c: In function 'void crypto_keypair_free(X509_KEYPAIR*)':
crypto.c:570:15: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
    if (keypair->pubkey) {
               ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:571:28: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
       EVP_PKEY_free(keypair->pubkey);
                            ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:573:15: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
    if (keypair->privkey) {
               ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:574:28: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
       EVP_PKEY_free(keypair->privkey);
                            ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:576:15: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
    if (keypair->keyid) {
               ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:577:39: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
       M_ASN1_OCTET_STRING_free(keypair->keyid);
                                       ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:577:46: error: 'M_ASN1_OCTET_STRING_free' was not declared in this scope
       M_ASN1_OCTET_STRING_free(keypair->keyid);
                                              ^
make[1]: *** [tls.lo] Error 1
make[1]: ** Esperando que outros processos terminem.
crypto.c: In function 'void crypto_digest_free(DIGEST*)':
crypto.c:675:34: error: 'EVP_MD_CTX_cleanup' was not declared in this scope
   EVP_MD_CTX_cleanup(&digest->ctx);
                                  ^
crypto.c: In function 'crypto_error_t crypto_sign_get_digest(SIGNATURE*, X509_KEYPAIR*, crypto_digest_t&, DIGEST**)':
crypto.c:204:52: error: expected primary-expression before ',' token
 #define sk_SignerInfo_num(st) SKM_sk_num(SignerInfo, (st))
                                                    ^
crypto.c:725:20: note: in expansion of macro 'sk_SignerInfo_num'
    for (i = 0; i < sk_SignerInfo_num(signers); i++) {
                    ^~~~~~~~~~~~~~~~~
crypto.c:204:58: error: 'SKM_sk_num' was not declared in this scope
 #define sk_SignerInfo_num(st) SKM_sk_num(SignerInfo, (st))
                                                          ^
crypto.c:725:20: note: in expansion of macro 'sk_SignerInfo_num'
    for (i = 0; i < sk_SignerInfo_num(signers); i++) {
                    ^~~~~~~~~~~~~~~~~
crypto.c:205:59: error: expected primary-expression before ',' token
 #define sk_SignerInfo_value(st, i) SKM_sk_value(SignerInfo, (st), (i))
                                                           ^
crypto.c:726:12: note: in expansion of macro 'sk_SignerInfo_value'
       si = sk_SignerInfo_value(signers, i);
            ^~~~~~~~~~~~~~~~~~~
crypto.c:205:70: error: 'SKM_sk_value' was not declared in this scope
 #define sk_SignerInfo_value(st, i) SKM_sk_value(SignerInfo, (st), (i))
                                                                      ^
crypto.c:726:12: note: in expansion of macro 'sk_SignerInfo_value'
       si = sk_SignerInfo_value(signers, i);
            ^~~~~~~~~~~~~~~~~~~
crypto.c:727:42: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
       if (M_ASN1_OCTET_STRING_cmp(keypair->keyid, si->subjectKeyIdentifier) == 0) {
                                          ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:727:75: error: 'M_ASN1_OCTET_STRING_cmp' was not declared in this scope
       if (M_ASN1_OCTET_STRING_cmp(keypair->keyid, si->subjectKeyIdentifier) == 0) {
                                                                           ^
crypto.c: In function 'crypto_error_t crypto_sign_verify(SIGNATURE*, X509_KEYPAIR*, DIGEST*)':
crypto.c:204:52: error: expected primary-expression before ',' token
 #define sk_SignerInfo_num(st) SKM_sk_num(SignerInfo, (st))
                                                    ^
crypto.c:795:20: note: in expansion of macro 'sk_SignerInfo_num'
    for (i = 0; i < sk_SignerInfo_num(signers); i++) {
                    ^~~~~~~~~~~~~~~~~
crypto.c:204:58: error: 'SKM_sk_num' was not declared in this scope
 #define sk_SignerInfo_num(st) SKM_sk_num(SignerInfo, (st))
                                                          ^
crypto.c:795:20: note: in expansion of macro 'sk_SignerInfo_num'
    for (i = 0; i < sk_SignerInfo_num(signers); i++) {
                    ^~~~~~~~~~~~~~~~~
crypto.c:205:59: error: expected primary-expression before ',' token
 #define sk_SignerInfo_value(st, i) SKM_sk_value(SignerInfo, (st), (i))
                                                           ^
crypto.c:796:12: note: in expansion of macro 'sk_SignerInfo_value'
       si = sk_SignerInfo_value(signers, i);
            ^~~~~~~~~~~~~~~~~~~
crypto.c:205:70: error: 'SKM_sk_value' was not declared in this scope
 #define sk_SignerInfo_value(st, i) SKM_sk_value(SignerInfo, (st), (i))
                                                                      ^
crypto.c:796:12: note: in expansion of macro 'sk_SignerInfo_value'
       si = sk_SignerInfo_value(signers, i);
            ^~~~~~~~~~~~~~~~~~~
crypto.c:797:42: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
       if (M_ASN1_OCTET_STRING_cmp(keypair->keyid, si->subjectKeyIdentifier) == 0) {
                                          ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:797:75: error: 'M_ASN1_OCTET_STRING_cmp' was not declared in this scope
       if (M_ASN1_OCTET_STRING_cmp(keypair->keyid, si->subjectKeyIdentifier) == 0) {
                                                                           ^
crypto.c:799:53: error: 'M_ASN1_STRING_length' was not declared in this scope
          sigLen = M_ASN1_STRING_length(si->signature);
                                                     ^
crypto.c:800:52: error: 'M_ASN1_STRING_data' was not declared in this scope
          sigData = M_ASN1_STRING_data(si->signature);
                                                    ^
crypto.c:802:69: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
          ok = EVP_VerifyFinal(&digest->ctx, sigData, sigLen, keypair->pubkey);
                                                                     ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c: In function 'int crypto_sign_add_signer(SIGNATURE*, DIGEST*, X509_KEYPAIR*)':
crypto.c:864:53: error: 'M_ASN1_OCTET_STRING_free' was not declared in this scope
    M_ASN1_OCTET_STRING_free(si->subjectKeyIdentifier);
                                                     ^
crypto.c:865:62: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
    si->subjectKeyIdentifier = M_ASN1_OCTET_STRING_dup(keypair->keyid);
                                                              ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:865:69: error: 'M_ASN1_OCTET_STRING_dup' was not declared in this scope
    si->subjectKeyIdentifier = M_ASN1_OCTET_STRING_dup(keypair->keyid);
                                                                     ^
In file included from crypto.c:39:0:
crypto.c:868:32: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
    assert(EVP_PKEY_type(keypair->pubkey->type) == EVP_PKEY_RSA);
                                ^
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:873:31: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
    len = EVP_PKEY_size(keypair->privkey);
                               ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:875:55: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
    if (!EVP_SignFinal(&digest->ctx, buf, &len, keypair->privkey)) {
                                                       ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:881:56: error: 'M_ASN1_OCTET_STRING_set' was not declared in this scope
    if (!M_ASN1_OCTET_STRING_set(si->signature, buf, len)) {
                                                        ^
crypto.c:208:59: error: expected primary-expression before ',' token
 #define sk_SignerInfo_push(st, val) SKM_sk_push(SignerInfo, (st), (val))
                                                           ^
crypto.c:890:4: note: in expansion of macro 'sk_SignerInfo_push'
    sk_SignerInfo_push(sig->sigData->signerInfo, si);
    ^~~~~~~~~~~~~~~~~~
crypto.c:208:72: error: 'SKM_sk_push' was not declared in this scope
 #define sk_SignerInfo_push(st, val) SKM_sk_push(SignerInfo, (st), (val))
                                                                        ^
crypto.c:890:4: note: in expansion of macro 'sk_SignerInfo_push'
    sk_SignerInfo_push(sig->sigData->signerInfo, si);
    ^~~~~~~~~~~~~~~~~~
crypto.c: In function 'CRYPTO_SESSION* crypto_session_new(crypto_cipher_t, alist*)':
crypto.c:1058:66: error: 'M_ASN1_OCTET_STRING_set' was not declared in this scope
       if (!M_ASN1_OCTET_STRING_set(cs->cryptoData->iv, iv, iv_len)) {
                                                                  ^
crypto.c:1087:56: error: 'M_ASN1_OCTET_STRING_free' was not declared in this scope
       M_ASN1_OCTET_STRING_free(ri->subjectKeyIdentifier);
                                                        ^
crypto.c:1088:65: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
       ri->subjectKeyIdentifier = M_ASN1_OCTET_STRING_dup(keypair->keyid);
                                                                 ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:1088:72: error: 'M_ASN1_OCTET_STRING_dup' was not declared in this scope
       ri->subjectKeyIdentifier = M_ASN1_OCTET_STRING_dup(keypair->keyid);
                                                                        ^
In file included from crypto.c:39:0:
crypto.c:1091:21: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
       assert(keypair->pubkey && EVP_PKEY_type(keypair->pubkey->type) == EVP_PKEY_RSA);
                     ^
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
In file included from crypto.c:39:0:
crypto.c:1091:54: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
       assert(keypair->pubkey && EVP_PKEY_type(keypair->pubkey->type) == EVP_PKEY_RSA);
                                                      ^
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
In file included from ../lib/lib.h:28:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
crypto.c:1095:59: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
       ekey = (unsigned char *)malloc(EVP_PKEY_size(keypair->pubkey));
                                                           ^
../lib/smartall.h:66:55: note: in definition of macro 'malloc'
 #define malloc(x)      sm_malloc(__FILE__, __LINE__, (x))
                                                       ^
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:1097:91: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
       if ((ekey_len = EVP_PKEY_encrypt(ekey, cs->session_key, cs->session_key_len, keypair->pubkey)) <= 0) {
                                                                                           ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:1106:68: error: 'M_ASN1_OCTET_STRING_set' was not declared in this scope
       if (!M_ASN1_OCTET_STRING_set(ri->encryptedKey, ekey, ekey_len)) {
                                                                    ^
crypto.c:238:65: error: expected primary-expression before ',' token
 #define sk_RecipientInfo_push(st, val) SKM_sk_push(RecipientInfo, (st), (val))
                                                                 ^
crypto.c:1118:7: note: in expansion of macro 'sk_RecipientInfo_push'
       sk_RecipientInfo_push(cs->cryptoData->recipientInfo, ri);
       ^~~~~~~~~~~~~~~~~~~~~
crypto.c:238:78: error: 'SKM_sk_push' was not declared in this scope
 #define sk_RecipientInfo_push(st, val) SKM_sk_push(RecipientInfo, (st), (val))
                                                                              ^
crypto.c:1118:7: note: in expansion of macro 'sk_RecipientInfo_push'
       sk_RecipientInfo_push(cs->cryptoData->recipientInfo, ri);
       ^~~~~~~~~~~~~~~~~~~~~
crypto.c: In function 'crypto_error_t crypto_session_decode(const u_int8_t*, u_int32_t, alist*, CRYPTO_SESSION**)':
crypto.c:1196:18: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
       if (keypair->privkey == NULL) {
                  ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:234:58: error: expected primary-expression before ',' token
 #define sk_RecipientInfo_num(st) SKM_sk_num(RecipientInfo, (st))
                                                          ^
crypto.c:1200:23: note: in expansion of macro 'sk_RecipientInfo_num'
       for (i = 0; i < sk_RecipientInfo_num(recipients); i++) {
                       ^~~~~~~~~~~~~~~~~~~~
crypto.c:234:64: error: 'SKM_sk_num' was not declared in this scope
 #define sk_RecipientInfo_num(st) SKM_sk_num(RecipientInfo, (st))
                                                                ^
crypto.c:1200:23: note: in expansion of macro 'sk_RecipientInfo_num'
       for (i = 0; i < sk_RecipientInfo_num(recipients); i++) {
                       ^~~~~~~~~~~~~~~~~~~~
crypto.c:235:65: error: expected primary-expression before ',' token
 #define sk_RecipientInfo_value(st, i) SKM_sk_value(RecipientInfo, (st), (i))
                                                                 ^
crypto.c:1201:15: note: in expansion of macro 'sk_RecipientInfo_value'
          ri = sk_RecipientInfo_value(recipients, i);
               ^~~~~~~~~~~~~~~~~~~~~~
crypto.c:235:76: error: 'SKM_sk_value' was not declared in this scope
 #define sk_RecipientInfo_value(st, i) SKM_sk_value(RecipientInfo, (st), (i))
                                                                            ^
crypto.c:1201:15: note: in expansion of macro 'sk_RecipientInfo_value'
          ri = sk_RecipientInfo_value(recipients, i);
               ^~~~~~~~~~~~~~~~~~~~~~
crypto.c:1204:45: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
          if (M_ASN1_OCTET_STRING_cmp(keypair->keyid, ri->subjectKeyIdentifier) == 0) {
                                             ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:1204:78: error: 'M_ASN1_OCTET_STRING_cmp' was not declared in this scope
          if (M_ASN1_OCTET_STRING_cmp(keypair->keyid, ri->subjectKeyIdentifier) == 0) {
                                                                              ^
In file included from crypto.c:39:0:
crypto.c:1208:41: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
             assert(EVP_PKEY_type(keypair->privkey->type) == EVP_PKEY_RSA);
                                         ^
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
In file included from ../lib/lib.h:28:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
crypto.c:1219:76: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
             cs->session_key = (unsigned char *)malloc(EVP_PKEY_size(keypair->privkey));
                                                                            ^
../lib/smartall.h:66:55: note: in definition of macro 'malloc'
 #define malloc(x)      sm_malloc(__FILE__, __LINE__, (x))
                                                       ^
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:1220:104: error: 'M_ASN1_STRING_data' was not declared in this scope
             cs->session_key_len = EVP_PKEY_decrypt(cs->session_key, M_ASN1_STRING_data(ri->encryptedKey),
                                                                                                        ^
crypto.c:1221:72: error: 'M_ASN1_STRING_length' was not declared in this scope
                                   M_ASN1_STRING_length(ri->encryptedKey), keypair->privkey);
                                                                        ^
crypto.c:1221:82: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
                                   M_ASN1_STRING_length(ri->encryptedKey), keypair->privkey);
                                                                                  ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c: In function 'CIPHER_CONTEXT* crypto_cipher_new(CRYPTO_SESSION*, bool, u_int32_t*)':
crypto.c:1303:75: error: 'M_ASN1_STRING_length' was not declared in this scope
    if (EVP_CIPHER_iv_length(ec) != M_ASN1_STRING_length(cs->cryptoData->iv)) {
                                                                           ^
crypto.c:1309:111: error: 'M_ASN1_STRING_data' was not declared in this scope
    if (!EVP_CipherInit_ex(&cipher_ctx->ctx, NULL, NULL, cs->session_key, M_ASN1_STRING_data(cs->cryptoData->iv), -1)) {
                                                                                                               ^
crypto.c: In function 'bool crypto_digest_update(DIGEST*, const u_int8_t*, u_int32_t)':
crypto.c:650:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
crypto.c: In function 'bool crypto_digest_finalize(DIGEST*, u_int8_t*, u_int32_t*)':
crypto.c:668:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
crypto.c: In function 'bool crypto_cipher_update(CIPHER_CONTEXT*, const u_int8_t*, u_int32_t, const u_int8_t*, u_int32_t*)':
crypto.c:1336:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
crypto.c: In function 'bool crypto_cipher_finalize(CIPHER_CONTEXT*, u_int8_t*, u_int32_t*)':
crypto.c:1354:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
make[1]: *** [crypto.lo] Error 1
make: *** [all] Error 1

##############################################################################

Best Regards

Wanderlei Hüttel

2017-07-10 6:25 GMT-03:00 Kern Sibbald <[hidden email]>:

Hello Simone,

Thanks for jumping on the new release so soon.  I am impressed.  I responded in the bug report, but copy it here for the others on the copy.

=== my response to the bug ===
It looks like I totally forgot to include all the new files from the Enterprise
version for tray-monitor.   My schedule is a bit heavy for the next couple of
days, so I suggest that you temporarily leave the tray-monitor out of your
build.  I am a bit surprised that in building our binaries (done by someone
else) this was not pointed out!  

Once I copy over all the files and adjust the copyrights accordingly then build
and test it myself, I will release a new version.  I will also post a note to
this bug report.

Thanks for reporting this, and sorry for the inconvenience.

==== end response from bug report ===

Best regards,
Kern


    
On 07/10/2017 10:25 AM, Simone Caronni wrote:
Hi Kern,

On Fri, Jul 7, 2017 at 2:01 PM, Kern Sibbald <[hidden email]> wrote:
In fact, there are so many new features that I have not myself had a chance to test them (e.g. the new Tray Monitor that includes client (user) initiated backups — even from remote laptops.

I can't build the new tray monitor, it seems some files are missing from the git repository. I've opened a bug:


Regards,
--Simone





--
You cannot discover new oceans unless you have the courage to lose sight of the shore (R. W. Emerson).

http://xkcd.com/229/
http://negativo17.org/


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Bacula-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-devel



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Bacula-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Bacula Release 9.0.0

Kern Sibbald

Hello Wanderlei,

Between GNU C++ and OpenSSL, we have our hands full -- unfortunately they introduce incompatible changes, which is a nightmare for developers of serious production software because we never use the bleeding edge releases, so once this happens, it takes us time to fix.  I suspect that the only hope for OpenSSL is to put an old version in a dependency package and rebuild it on each system, I say this because I heard (have not personally checked) that the differences in OpenSSL are important.  If the Debian release supports installation of older OpenSSLs, please that as a solution, otherwise, I suspect that it will take some time -- unless someone comes up with a patch, in which case, I will attempt to hire that person :-)

Best regards,

Kern


On 07/10/2017 01:03 PM, Wanderlei Huttel wrote:
Good Morning

First of all, thanks and congratulations for the new release Kern!

In this weekend I received some messages from friends of our brazilian group in telegram that tried to compile Bacula 9 in Debian 9 stretch and didn't work.

Today I've tried the same and got errors too. 
I know that the last Debian version release is very recently and maybe bacula is not homologued to run yet. Is this the problem?

##############################################################################

./configure \
 --enable-smartalloc \
 --with-mysql \
 --with-db-user=bacula \
 --with-db-password=bacula \
 --with-db-port=3306 \
 --with-readline=/usr/include/readline \
 --sysconfdir=/etc/bacula \
 --bindir=/usr/bin \
 --sbindir=/usr/sbin \
 --with-scriptdir=/etc/bacula/scripts \
 --with-plugindir=/etc/bacula/plugins \
 --with-pid-dir=/var/run \
 --with-subsys-dir=/etc/bacula/working \
 --with-working-dir=/etc/bacula/working \
 --with-bsrdir=/etc/bacula/bootstrap \
 --with-systemd \
 --disable-conio \
 --disable-nls \
 --with-logdir=/var/log/bacula \
 --with-dump-email=[hidden email] \
 --with-job-email=[hidden email]


##############################################################################

Configuration on Mon Jul 10 07:45:26 -03 2017:

   Host:                     x86_64-pc-linux-gnu -- debian 9.0
   Bacula version:           Bacula 9.0.0 (02 July 2017)
   Source code location:     .
   Install binaries:         /usr/sbin
   Install libraries:        /usr/lib
   Install config files:     /etc/bacula
   Scripts directory:        /etc/bacula/scripts
   Archive directory:        /tmp
   Working directory:        /etc/bacula/working
   PID directory:            /var/run
   Subsys directory:         /etc/bacula/working
   Man directory:            ${datarootdir}/man
   Data directory:           /usr/share
   Plugin directory:         /etc/bacula/plugins
   C Compiler:               gcc 6.3.0-18)
   C++ Compiler:             /usr/bin/g++ 6.3.0-18)
   Compiler flags:            -g -O2 -Wall -x c++ -fno-strict-aliasing -fno-exceptions -fno-rtti
   Linker flags:
   Libraries:                -lpthread -ldl -ldl
   Statically Linked Tools:  no
   Statically Linked FD:     no
   Statically Linked SD:     no
   Statically Linked DIR:    no
   Statically Linked CONS:   no
   Database backends:        MySQL
   Database port:            3306
   Database name:            bacula
   Database user:            bacula
   Database SSL options:

   Job Output Email:         [hidden email]
   Traceback Email:          [hidden email]
   SMTP Host Address:        localhost

   Director Port:            9101
   File daemon Port:         9102
   Storage daemon Port:      9103

   Director User:
   Director Group:
   Storage Daemon User:
   Storage DaemonGroup:
   File Daemon User:
   File Daemon Group:

   Large file support:       yes
   Bacula conio support:     no -lreadline -lhistory
   readline support:         yes
   TCP Wrappers support:     no
   TLS support:              yes
   Encryption support:       yes
   ZLIB support:             yes
   LZO support:              yes
   enable-smartalloc:        yes
   enable-lockmgr:           no
   bat support:              no
   client-only:              no
   build-dird:               yes
   build-stored:             yes
   Plugin support:           yes
   AFS support:              no
   ACL support:              yes
   XATTR support:            yes
   systemd support:          yes /etc/systemd/system
   Batch insert enabled:     MySQL


##############################################################################
tls.c: In function 'bool tls_postconnect_verify_host(JCR*, TLS_CONNECTION*, const char*)':
tls.c:351:33: error: invalid use of incomplete type 'X509_EXTENSION {aka struct X509_extension_st}'
             ext_value_data = ext->value->data;
                                 ^~
In file included from /usr/include/openssl/ssl.h:50:0,
                 from ../bacula.h:147,
                 from tls.c:40:
/usr/include/openssl/x509.h:79:16: note: forward declaration of 'X509_EXTENSION {aka struct X509_extension_st}'
 typedef struct X509_extension_st X509_EXTENSION;
                ^~~~~~~~~~~~~~~~~
tls.c:358:65: error: invalid use of incomplete type 'X509_EXTENSION {aka struct X509_extension_st}'
                extstr = ASN1_item_d2i(NULL, &ext_value_data, ext->value->length,
                                                                 ^~
In file included from /usr/include/openssl/ssl.h:50:0,
                 from ../bacula.h:147,
                 from tls.c:40:
/usr/include/openssl/x509.h:79:16: note: forward declaration of 'X509_EXTENSION {aka struct X509_extension_st}'
 typedef struct X509_extension_st X509_EXTENSION;
                ^~~~~~~~~~~~~~~~~
tls.c:364:63: error: invalid use of incomplete type 'X509_EXTENSION {aka struct X509_extension_st}'
                extstr = method->d2i(NULL, &ext_value_data, ext->value->length);
                                                               ^~
In file included from /usr/include/openssl/ssl.h:50:0,
                 from ../bacula.h:147,
                 from tls.c:40:
/usr/include/openssl/x509.h:79:16: note: forward declaration of 'X509_EXTENSION {aka struct X509_extension_st}'
 typedef struct X509_extension_st X509_EXTENSION;
                ^~~~~~~~~~~~~~~~~
crypto.c:196:1: error: expected constructor, destructor, or type conversion before 'IMPLEMENT_STACK_OF'
 IMPLEMENT_STACK_OF(RecipientInfo)
 ^~~~~~~~~~~~~~~~~~
crypto.c:273:15: error: field 'ctx' has incomplete type 'EVP_MD_CTX {aka evp_md_ctx_st}'
    EVP_MD_CTX ctx;
               ^~~
In file included from /usr/include/openssl/crypto.h:31:0,
                 from /usr/include/openssl/comp.h:16,
                 from /usr/include/openssl/ssl.h:47,
                 from ../bacula.h:147,
                 from crypto.c:37:
/usr/include/openssl/ossl_typ.h:92:16: note: forward declaration of 'EVP_MD_CTX {aka struct evp_md_ctx_st}'
 typedef struct evp_md_ctx_st EVP_MD_CTX;
                ^~~~~~~~~~~~~
crypto.c:291:19: error: field 'ctx' has incomplete type 'EVP_CIPHER_CTX {aka evp_cipher_ctx_st}'
    EVP_CIPHER_CTX ctx;
                   ^~~
In file included from /usr/include/openssl/crypto.h:31:0,
                 from /usr/include/openssl/comp.h:16,
                 from /usr/include/openssl/ssl.h:47,
                 from ../bacula.h:147,
                 from crypto.c:37:
/usr/include/openssl/ossl_typ.h:90:16: note: forward declaration of 'EVP_CIPHER_CTX {aka struct evp_cipher_ctx_st}'
 typedef struct evp_cipher_ctx_st EVP_CIPHER_CTX;
                ^~~~~~~~~~~~~~~~~
crypto.c: In function 'ASN1_OCTET_STRING* openssl_cert_keyid(X509*)':
crypto.c:332:24: error: invalid use of incomplete type 'X509_EXTENSION {aka struct X509_extension_st}'
    ext_value_data = ext->value->data;
                        ^~
In file included from /usr/include/openssl/ssl.h:50:0,
                 from ../bacula.h:147,
                 from crypto.c:37:
/usr/include/openssl/x509.h:79:16: note: forward declaration of 'X509_EXTENSION {aka struct X509_extension_st}'
 typedef struct X509_extension_st X509_EXTENSION;
                ^~~~~~~~~~~~~~~~~
crypto.c:339:77: error: invalid use of incomplete type 'X509_EXTENSION {aka struct X509_extension_st}'
       keyid = (ASN1_OCTET_STRING *) ASN1_item_d2i(NULL, &ext_value_data, ext->value->length,
                                                                             ^~
In file included from /usr/include/openssl/ssl.h:50:0,
                 from ../bacula.h:147,
                 from crypto.c:37:
/usr/include/openssl/x509.h:79:16: note: forward declaration of 'X509_EXTENSION {aka struct X509_extension_st}'
 typedef struct X509_extension_st X509_EXTENSION;
                ^~~~~~~~~~~~~~~~~
crypto.c:345:75: error: invalid use of incomplete type 'X509_EXTENSION {aka struct X509_extension_st}'
       keyid = (ASN1_OCTET_STRING *) method->d2i(NULL, &ext_value_data, ext->value->length);
                                                                           ^~
In file included from /usr/include/openssl/ssl.h:50:0,
                 from ../bacula.h:147,
                 from crypto.c:37:
/usr/include/openssl/x509.h:79:16: note: forward declaration of 'X509_EXTENSION {aka struct X509_extension_st}'
 typedef struct X509_extension_st X509_EXTENSION;
                ^~~~~~~~~~~~~~~~~
In file included from ../lib/lib.h:28:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
crypto.c: In function 'X509_KEYPAIR* crypto_keypair_new()':
crypto.c:365:56: error: invalid application of 'sizeof' to incomplete type 'X509_KEYPAIR {aka X509_Keypair}'
    keypair = (X509_KEYPAIR *)malloc(sizeof(X509_KEYPAIR));
                                                        ^
../lib/smartall.h:66:55: note: in definition of macro 'malloc'
 #define malloc(x)      sm_malloc(__FILE__, __LINE__, (x))
                                                       ^
crypto.c:368:11: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
    keypair->keyid = NULL;
           ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:369:11: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
    keypair->pubkey = NULL;
           ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:370:11: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
    keypair->privkey = NULL;
           ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c: In function 'X509_KEYPAIR* crypto_keypair_dup(X509_KEYPAIR*)':
crypto.c:393:15: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
    if (keypair->pubkey) {
               ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:394:27: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
       CRYPTO_add(&(keypair->pubkey->references), 1, CRYPTO_LOCK_EVP_PKEY);
                           ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:394:53: error: 'CRYPTO_LOCK_EVP_PKEY' was not declared in this scope
       CRYPTO_add(&(keypair->pubkey->references), 1, CRYPTO_LOCK_EVP_PKEY);
                                                     ^~~~~~~~~~~~~~~~~~~~
crypto.c:394:73: error: 'CRYPTO_add' was not declared in this scope
       CRYPTO_add(&(keypair->pubkey->references), 1, CRYPTO_LOCK_EVP_PKEY);
                                                                         ^
crypto.c:395:14: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
       newpair->pubkey = keypair->pubkey;
              ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:395:32: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
       newpair->pubkey = keypair->pubkey;
                                ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:399:15: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
    if (keypair->privkey) {
               ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:400:27: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
       CRYPTO_add(&(keypair->privkey->references), 1, CRYPTO_LOCK_EVP_PKEY);
                           ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:400:54: error: 'CRYPTO_LOCK_EVP_PKEY' was not declared in this scope
       CRYPTO_add(&(keypair->privkey->references), 1, CRYPTO_LOCK_EVP_PKEY);
                                                      ^~~~~~~~~~~~~~~~~~~~
crypto.c:400:74: error: 'CRYPTO_add' was not declared in this scope
       CRYPTO_add(&(keypair->privkey->references), 1, CRYPTO_LOCK_EVP_PKEY);
                                                                          ^
crypto.c:401:14: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
       newpair->privkey = keypair->privkey;
              ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:401:33: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
       newpair->privkey = keypair->privkey;
                                 ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:405:15: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
    if (keypair->keyid) {
               ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:406:14: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
       newpair->keyid = M_ASN1_OCTET_STRING_dup(keypair->keyid);
              ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:406:55: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
       newpair->keyid = M_ASN1_OCTET_STRING_dup(keypair->keyid);
                                                       ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:406:62: error: 'M_ASN1_OCTET_STRING_dup' was not declared in this scope
       newpair->keyid = M_ASN1_OCTET_STRING_dup(keypair->keyid);
                                                              ^
crypto.c:407:19: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
       if (!newpair->keyid) {
                   ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c: In function 'int crypto_keypair_load_cert(X509_KEYPAIR*, const char*)':
crypto.c:442:17: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
    if (!(keypair->pubkey = X509_get_pubkey(cert))) {
                 ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:448:16: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
    if ((keypair->keyid = openssl_cert_keyid(cert)) == NULL) {
                ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:455:29: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
    if (EVP_PKEY_type(keypair->pubkey->type) != EVP_PKEY_RSA) {
                             ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
In file included from ../bacula.h:168:0,
                 from crypto.c:37:
crypto.c:457:77: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
              _("Unsupported key type provided: %d\n"), EVP_PKEY_type(keypair->pubkey->type));
                                                                             ^
../baconfig.h:468:93: note: in definition of macro 'Jmsg1'
 #define Jmsg1(jcr, typ, lvl, msg, a1)         j_msg(__FILE__, __LINE__, jcr, typ, lvl, msg, a1)
                                                                                             ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:466:15: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
    if (keypair->pubkey) {
               ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:467:28: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
       EVP_PKEY_free(keypair->pubkey);
                            ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c: In function 'int crypto_keypair_load_key(X509_KEYPAIR*, const char*, int (*)(char*, int, const void*), const void*)':
crypto.c:555:11: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
    keypair->privkey = PEM_read_bio_PrivateKey(bio, NULL, crypto_pem_callback_dispatch, &ctx);
           ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:557:16: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
    if (!keypair->privkey) {
                ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c: In function 'void crypto_keypair_free(X509_KEYPAIR*)':
crypto.c:570:15: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
    if (keypair->pubkey) {
               ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:571:28: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
       EVP_PKEY_free(keypair->pubkey);
                            ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:573:15: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
    if (keypair->privkey) {
               ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:574:28: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
       EVP_PKEY_free(keypair->privkey);
                            ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:576:15: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
    if (keypair->keyid) {
               ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:577:39: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
       M_ASN1_OCTET_STRING_free(keypair->keyid);
                                       ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:577:46: error: 'M_ASN1_OCTET_STRING_free' was not declared in this scope
       M_ASN1_OCTET_STRING_free(keypair->keyid);
                                              ^
make[1]: *** [tls.lo] Error 1
make[1]: ** Esperando que outros processos terminem.
crypto.c: In function 'void crypto_digest_free(DIGEST*)':
crypto.c:675:34: error: 'EVP_MD_CTX_cleanup' was not declared in this scope
   EVP_MD_CTX_cleanup(&digest->ctx);
                                  ^
crypto.c: In function 'crypto_error_t crypto_sign_get_digest(SIGNATURE*, X509_KEYPAIR*, crypto_digest_t&, DIGEST**)':
crypto.c:204:52: error: expected primary-expression before ',' token
 #define sk_SignerInfo_num(st) SKM_sk_num(SignerInfo, (st))
                                                    ^
crypto.c:725:20: note: in expansion of macro 'sk_SignerInfo_num'
    for (i = 0; i < sk_SignerInfo_num(signers); i++) {
                    ^~~~~~~~~~~~~~~~~
crypto.c:204:58: error: 'SKM_sk_num' was not declared in this scope
 #define sk_SignerInfo_num(st) SKM_sk_num(SignerInfo, (st))
                                                          ^
crypto.c:725:20: note: in expansion of macro 'sk_SignerInfo_num'
    for (i = 0; i < sk_SignerInfo_num(signers); i++) {
                    ^~~~~~~~~~~~~~~~~
crypto.c:205:59: error: expected primary-expression before ',' token
 #define sk_SignerInfo_value(st, i) SKM_sk_value(SignerInfo, (st), (i))
                                                           ^
crypto.c:726:12: note: in expansion of macro 'sk_SignerInfo_value'
       si = sk_SignerInfo_value(signers, i);
            ^~~~~~~~~~~~~~~~~~~
crypto.c:205:70: error: 'SKM_sk_value' was not declared in this scope
 #define sk_SignerInfo_value(st, i) SKM_sk_value(SignerInfo, (st), (i))
                                                                      ^
crypto.c:726:12: note: in expansion of macro 'sk_SignerInfo_value'
       si = sk_SignerInfo_value(signers, i);
            ^~~~~~~~~~~~~~~~~~~
crypto.c:727:42: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
       if (M_ASN1_OCTET_STRING_cmp(keypair->keyid, si->subjectKeyIdentifier) == 0) {
                                          ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:727:75: error: 'M_ASN1_OCTET_STRING_cmp' was not declared in this scope
       if (M_ASN1_OCTET_STRING_cmp(keypair->keyid, si->subjectKeyIdentifier) == 0) {
                                                                           ^
crypto.c: In function 'crypto_error_t crypto_sign_verify(SIGNATURE*, X509_KEYPAIR*, DIGEST*)':
crypto.c:204:52: error: expected primary-expression before ',' token
 #define sk_SignerInfo_num(st) SKM_sk_num(SignerInfo, (st))
                                                    ^
crypto.c:795:20: note: in expansion of macro 'sk_SignerInfo_num'
    for (i = 0; i < sk_SignerInfo_num(signers); i++) {
                    ^~~~~~~~~~~~~~~~~
crypto.c:204:58: error: 'SKM_sk_num' was not declared in this scope
 #define sk_SignerInfo_num(st) SKM_sk_num(SignerInfo, (st))
                                                          ^
crypto.c:795:20: note: in expansion of macro 'sk_SignerInfo_num'
    for (i = 0; i < sk_SignerInfo_num(signers); i++) {
                    ^~~~~~~~~~~~~~~~~
crypto.c:205:59: error: expected primary-expression before ',' token
 #define sk_SignerInfo_value(st, i) SKM_sk_value(SignerInfo, (st), (i))
                                                           ^
crypto.c:796:12: note: in expansion of macro 'sk_SignerInfo_value'
       si = sk_SignerInfo_value(signers, i);
            ^~~~~~~~~~~~~~~~~~~
crypto.c:205:70: error: 'SKM_sk_value' was not declared in this scope
 #define sk_SignerInfo_value(st, i) SKM_sk_value(SignerInfo, (st), (i))
                                                                      ^
crypto.c:796:12: note: in expansion of macro 'sk_SignerInfo_value'
       si = sk_SignerInfo_value(signers, i);
            ^~~~~~~~~~~~~~~~~~~
crypto.c:797:42: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
       if (M_ASN1_OCTET_STRING_cmp(keypair->keyid, si->subjectKeyIdentifier) == 0) {
                                          ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:797:75: error: 'M_ASN1_OCTET_STRING_cmp' was not declared in this scope
       if (M_ASN1_OCTET_STRING_cmp(keypair->keyid, si->subjectKeyIdentifier) == 0) {
                                                                           ^
crypto.c:799:53: error: 'M_ASN1_STRING_length' was not declared in this scope
          sigLen = M_ASN1_STRING_length(si->signature);
                                                     ^
crypto.c:800:52: error: 'M_ASN1_STRING_data' was not declared in this scope
          sigData = M_ASN1_STRING_data(si->signature);
                                                    ^
crypto.c:802:69: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
          ok = EVP_VerifyFinal(&digest->ctx, sigData, sigLen, keypair->pubkey);
                                                                     ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c: In function 'int crypto_sign_add_signer(SIGNATURE*, DIGEST*, X509_KEYPAIR*)':
crypto.c:864:53: error: 'M_ASN1_OCTET_STRING_free' was not declared in this scope
    M_ASN1_OCTET_STRING_free(si->subjectKeyIdentifier);
                                                     ^
crypto.c:865:62: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
    si->subjectKeyIdentifier = M_ASN1_OCTET_STRING_dup(keypair->keyid);
                                                              ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:865:69: error: 'M_ASN1_OCTET_STRING_dup' was not declared in this scope
    si->subjectKeyIdentifier = M_ASN1_OCTET_STRING_dup(keypair->keyid);
                                                                     ^
In file included from crypto.c:39:0:
crypto.c:868:32: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
    assert(EVP_PKEY_type(keypair->pubkey->type) == EVP_PKEY_RSA);
                                ^
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:873:31: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
    len = EVP_PKEY_size(keypair->privkey);
                               ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:875:55: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
    if (!EVP_SignFinal(&digest->ctx, buf, &len, keypair->privkey)) {
                                                       ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:881:56: error: 'M_ASN1_OCTET_STRING_set' was not declared in this scope
    if (!M_ASN1_OCTET_STRING_set(si->signature, buf, len)) {
                                                        ^
crypto.c:208:59: error: expected primary-expression before ',' token
 #define sk_SignerInfo_push(st, val) SKM_sk_push(SignerInfo, (st), (val))
                                                           ^
crypto.c:890:4: note: in expansion of macro 'sk_SignerInfo_push'
    sk_SignerInfo_push(sig->sigData->signerInfo, si);
    ^~~~~~~~~~~~~~~~~~
crypto.c:208:72: error: 'SKM_sk_push' was not declared in this scope
 #define sk_SignerInfo_push(st, val) SKM_sk_push(SignerInfo, (st), (val))
                                                                        ^
crypto.c:890:4: note: in expansion of macro 'sk_SignerInfo_push'
    sk_SignerInfo_push(sig->sigData->signerInfo, si);
    ^~~~~~~~~~~~~~~~~~
crypto.c: In function 'CRYPTO_SESSION* crypto_session_new(crypto_cipher_t, alist*)':
crypto.c:1058:66: error: 'M_ASN1_OCTET_STRING_set' was not declared in this scope
       if (!M_ASN1_OCTET_STRING_set(cs->cryptoData->iv, iv, iv_len)) {
                                                                  ^
crypto.c:1087:56: error: 'M_ASN1_OCTET_STRING_free' was not declared in this scope
       M_ASN1_OCTET_STRING_free(ri->subjectKeyIdentifier);
                                                        ^
crypto.c:1088:65: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
       ri->subjectKeyIdentifier = M_ASN1_OCTET_STRING_dup(keypair->keyid);
                                                                 ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:1088:72: error: 'M_ASN1_OCTET_STRING_dup' was not declared in this scope
       ri->subjectKeyIdentifier = M_ASN1_OCTET_STRING_dup(keypair->keyid);
                                                                        ^
In file included from crypto.c:39:0:
crypto.c:1091:21: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
       assert(keypair->pubkey && EVP_PKEY_type(keypair->pubkey->type) == EVP_PKEY_RSA);
                     ^
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
In file included from crypto.c:39:0:
crypto.c:1091:54: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
       assert(keypair->pubkey && EVP_PKEY_type(keypair->pubkey->type) == EVP_PKEY_RSA);
                                                      ^
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
In file included from ../lib/lib.h:28:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
crypto.c:1095:59: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
       ekey = (unsigned char *)malloc(EVP_PKEY_size(keypair->pubkey));
                                                           ^
../lib/smartall.h:66:55: note: in definition of macro 'malloc'
 #define malloc(x)      sm_malloc(__FILE__, __LINE__, (x))
                                                       ^
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:1097:91: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
       if ((ekey_len = EVP_PKEY_encrypt(ekey, cs->session_key, cs->session_key_len, keypair->pubkey)) <= 0) {
                                                                                           ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:1106:68: error: 'M_ASN1_OCTET_STRING_set' was not declared in this scope
       if (!M_ASN1_OCTET_STRING_set(ri->encryptedKey, ekey, ekey_len)) {
                                                                    ^
crypto.c:238:65: error: expected primary-expression before ',' token
 #define sk_RecipientInfo_push(st, val) SKM_sk_push(RecipientInfo, (st), (val))
                                                                 ^
crypto.c:1118:7: note: in expansion of macro 'sk_RecipientInfo_push'
       sk_RecipientInfo_push(cs->cryptoData->recipientInfo, ri);
       ^~~~~~~~~~~~~~~~~~~~~
crypto.c:238:78: error: 'SKM_sk_push' was not declared in this scope
 #define sk_RecipientInfo_push(st, val) SKM_sk_push(RecipientInfo, (st), (val))
                                                                              ^
crypto.c:1118:7: note: in expansion of macro 'sk_RecipientInfo_push'
       sk_RecipientInfo_push(cs->cryptoData->recipientInfo, ri);
       ^~~~~~~~~~~~~~~~~~~~~
crypto.c: In function 'crypto_error_t crypto_session_decode(const u_int8_t*, u_int32_t, alist*, CRYPTO_SESSION**)':
crypto.c:1196:18: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
       if (keypair->privkey == NULL) {
                  ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:234:58: error: expected primary-expression before ',' token
 #define sk_RecipientInfo_num(st) SKM_sk_num(RecipientInfo, (st))
                                                          ^
crypto.c:1200:23: note: in expansion of macro 'sk_RecipientInfo_num'
       for (i = 0; i < sk_RecipientInfo_num(recipients); i++) {
                       ^~~~~~~~~~~~~~~~~~~~
crypto.c:234:64: error: 'SKM_sk_num' was not declared in this scope
 #define sk_RecipientInfo_num(st) SKM_sk_num(RecipientInfo, (st))
                                                                ^
crypto.c:1200:23: note: in expansion of macro 'sk_RecipientInfo_num'
       for (i = 0; i < sk_RecipientInfo_num(recipients); i++) {
                       ^~~~~~~~~~~~~~~~~~~~
crypto.c:235:65: error: expected primary-expression before ',' token
 #define sk_RecipientInfo_value(st, i) SKM_sk_value(RecipientInfo, (st), (i))
                                                                 ^
crypto.c:1201:15: note: in expansion of macro 'sk_RecipientInfo_value'
          ri = sk_RecipientInfo_value(recipients, i);
               ^~~~~~~~~~~~~~~~~~~~~~
crypto.c:235:76: error: 'SKM_sk_value' was not declared in this scope
 #define sk_RecipientInfo_value(st, i) SKM_sk_value(RecipientInfo, (st), (i))
                                                                            ^
crypto.c:1201:15: note: in expansion of macro 'sk_RecipientInfo_value'
          ri = sk_RecipientInfo_value(recipients, i);
               ^~~~~~~~~~~~~~~~~~~~~~
crypto.c:1204:45: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
          if (M_ASN1_OCTET_STRING_cmp(keypair->keyid, ri->subjectKeyIdentifier) == 0) {
                                             ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:1204:78: error: 'M_ASN1_OCTET_STRING_cmp' was not declared in this scope
          if (M_ASN1_OCTET_STRING_cmp(keypair->keyid, ri->subjectKeyIdentifier) == 0) {
                                                                              ^
In file included from crypto.c:39:0:
crypto.c:1208:41: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
             assert(EVP_PKEY_type(keypair->privkey->type) == EVP_PKEY_RSA);
                                         ^
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
In file included from ../lib/lib.h:28:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
crypto.c:1219:76: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
             cs->session_key = (unsigned char *)malloc(EVP_PKEY_size(keypair->privkey));
                                                                            ^
../lib/smartall.h:66:55: note: in definition of macro 'malloc'
 #define malloc(x)      sm_malloc(__FILE__, __LINE__, (x))
                                                       ^
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c:1220:104: error: 'M_ASN1_STRING_data' was not declared in this scope
             cs->session_key_len = EVP_PKEY_decrypt(cs->session_key, M_ASN1_STRING_data(ri->encryptedKey),
                                                                                                        ^
crypto.c:1221:72: error: 'M_ASN1_STRING_length' was not declared in this scope
                                   M_ASN1_STRING_length(ri->encryptedKey), keypair->privkey);
                                                                        ^
crypto.c:1221:82: error: invalid use of incomplete type 'X509_KEYPAIR {aka struct X509_Keypair}'
                                   M_ASN1_STRING_length(ri->encryptedKey), keypair->privkey);
                                                                                  ^~
In file included from ../lib/lib.h:38:0,
                 from ../bacula.h:169,
                 from crypto.c:37:
../lib/crypto.h:42:16: note: forward declaration of 'X509_KEYPAIR {aka struct X509_Keypair}'
 typedef struct X509_Keypair X509_KEYPAIR;
                ^~~~~~~~~~~~
crypto.c: In function 'CIPHER_CONTEXT* crypto_cipher_new(CRYPTO_SESSION*, bool, u_int32_t*)':
crypto.c:1303:75: error: 'M_ASN1_STRING_length' was not declared in this scope
    if (EVP_CIPHER_iv_length(ec) != M_ASN1_STRING_length(cs->cryptoData->iv)) {
                                                                           ^
crypto.c:1309:111: error: 'M_ASN1_STRING_data' was not declared in this scope
    if (!EVP_CipherInit_ex(&cipher_ctx->ctx, NULL, NULL, cs->session_key, M_ASN1_STRING_data(cs->cryptoData->iv), -1)) {
                                                                                                               ^
crypto.c: In function 'bool crypto_digest_update(DIGEST*, const u_int8_t*, u_int32_t)':
crypto.c:650:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
crypto.c: In function 'bool crypto_digest_finalize(DIGEST*, u_int8_t*, u_int32_t*)':
crypto.c:668:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
crypto.c: In function 'bool crypto_cipher_update(CIPHER_CONTEXT*, const u_int8_t*, u_int32_t, const u_int8_t*, u_int32_t*)':
crypto.c:1336:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
crypto.c: In function 'bool crypto_cipher_finalize(CIPHER_CONTEXT*, u_int8_t*, u_int32_t*)':
crypto.c:1354:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
make[1]: *** [crypto.lo] Error 1
make: *** [all] Error 1

##############################################################################

Best Regards

Wanderlei Hüttel

2017-07-10 6:25 GMT-03:00 Kern Sibbald <[hidden email]>:

Hello Simone,

Thanks for jumping on the new release so soon.  I am impressed.  I responded in the bug report, but copy it here for the others on the copy.

=== my response to the bug ===
It looks like I totally forgot to include all the new files from the Enterprise
version for tray-monitor.   My schedule is a bit heavy for the next couple of
days, so I suggest that you temporarily leave the tray-monitor out of your
build.  I am a bit surprised that in building our binaries (done by someone
else) this was not pointed out!  

Once I copy over all the files and adjust the copyrights accordingly then build
and test it myself, I will release a new version.  I will also post a note to
this bug report.

Thanks for reporting this, and sorry for the inconvenience.

==== end response from bug report ===

Best regards,
Kern


On 07/10/2017 10:25 AM, Simone Caronni wrote:
Hi Kern,

On Fri, Jul 7, 2017 at 2:01 PM, Kern Sibbald <[hidden email]> wrote:
In fact, there are so many new features that I have not myself had a chance to test them (e.g. the new Tray Monitor that includes client (user) initiated backups — even from remote laptops.

I can't build the new tray monitor, it seems some files are missing from the git repository. I've opened a bug:


Regards,
--Simone





--
You cannot discover new oceans unless you have the courage to lose sight of the shore (R. W. Emerson).

http://xkcd.com/229/
http://negativo17.org/


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Bacula-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-devel




------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Bacula-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Bacula Release 9.0.0

Gary R. Schmidt-3
In reply to this post by Wanderlei Huttel
On 10/07/2017 21:03, Wanderlei Huttel wrote:
> Good Morning
>
> First of all, thanks and congratulations for the new release Kern!
>
> In this weekend I received some messages from friends of our brazilian
> group in telegram that tried to compile Bacula 9 in Debian 9 stretch and
> didn't work.
>
[SNIP]

> tls.c: In function 'bool tls_postconnect_verify_host(JCR*,
> TLS_CONNECTION*, const char*)':
> tls.c:351:33: error: invalid use of incomplete type 'X509_EXTENSION {aka
> struct X509_extension_st}'
>               ext_value_data = ext->value->data;
>                                   ^~
> In file included from /usr/include/openssl/ssl.h:50:0,
>                   from ../bacula.h:147,
>                   from tls.c:40:
> /usr/include/openssl/x509.h:79:16: note: forward declaration of
> 'X509_EXTENSION {aka struct X509_extension_st}'
>   typedef struct X509_extension_st X509_EXTENSION;
>                  ^~~~~~~~~~~~~~~~~

I've seen these errors before, OpenSSL 1.1.0 has been installed, which
requires a re-write of anything that uses it.

OpenSSL 1.0.2 is what should be used, as it is the LTS release, and, in
fact will be supported for *longer* than the 1.1.0 release:
        - Version 1.1.0 will be supported until 2018-08-31.
        - Version 1.0.2 will be supported until 2019-12-31 (LTS).

Is a downgrade possible on Debian?

Otherwise they will have to build 1.0.2 for themselves (1.0.2l is the
current release).

        Cheers,
                Gary B-)

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Bacula-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Bacula Release 9.0.0

Vanush "Misha" Paturyan-2
On Mon, Jul 10, 2017 at 10:52:14PM +1000, Gary R. Schmidt wrote:

> On 10/07/2017 21:03, Wanderlei Huttel wrote:
>>
>> Good Morning
>>
>> First of all, thanks and congratulations for the new release Kern!
>>
>> In this weekend I received some messages from friends of our brazilian
>> group in telegram that tried to compile Bacula 9 in Debian 9 stretch and
>> didn't work.
>>
> [SNIP]
>>
>> tls.c: In function 'bool tls_postconnect_verify_host(JCR*,
>> TLS_CONNECTION*, const char*)':
>> tls.c:351:33: error: invalid use of incomplete type 'X509_EXTENSION {aka
>> struct X509_extension_st}'
>>               ext_value_data = ext->value->data;
>>                                   ^~
>> In file included from /usr/include/openssl/ssl.h:50:0,
>>                   from ../bacula.h:147,
>>                   from tls.c:40:
>> /usr/include/openssl/x509.h:79:16: note: forward declaration of
>> 'X509_EXTENSION {aka struct X509_extension_st}'
>>   typedef struct X509_extension_st X509_EXTENSION;
>>                  ^~~~~~~~~~~~~~~~~
>
>
> I've seen these errors before, OpenSSL 1.1.0 has been installed, which
> requires a re-write of anything that uses it.
>
> OpenSSL 1.0.2 is what should be used, as it is the LTS release, and, in fact
> will be supported for *longer* than the 1.1.0 release:
>         - Version 1.1.0 will be supported until 2018-08-31.
>         - Version 1.0.2 will be supported until 2019-12-31 (LTS).
>
> Is a downgrade possible on Debian?
>

OpenSSL version 1.0.2l is available in Debian 9 "Stretch" as
"libssl1.0" or "libssl1.0-dev" package. According to
https://wiki.debian.org/OpenSSL-1.1 both OpenSSL 1.0 and OpenSSL 1.1
can be installed on a Debian system.

Misha.

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Bacula-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Bacula Release 9.0.0

Gary R. Schmidt-3
In reply to this post by Kern Sibbald
On 07/07/2017 22:01, Kern Sibbald wrote:
>
>   Release 9.0.0
>
> I am pleased to announce that we have just released Bacula version 9.0.0.
>
Solaris 11, using MySQL:
======================================================
Linking bacula-dir ...
/opt/developerstudio12.5/bin/CC  -L/opt/csw/lib/ -R/opt/csw/lib/
-L../lib -L../cats -L../findlib -o bacula-dir dird.o admin.o
authenticate.o autoprune.o backup.o bsr.o catreq.o dir_plugins.o
dird_conf.o expand.o fd_cmds.o getmsg.o inc_conf.o job.o jobq.o mac.o
mac_sql.o mountreq.o msgchan.o next_vol.o newvol.o recycle.o restore.o
run_conf.o scheduler.o ua_acl.o ua_cmds.o ua_dotcmds.o ua_query.o
ua_input.o ua_label.o ua_output.o ua_prune.o ua_purge.o ua_restore.o
ua_run.o ua_select.o ua_server.o snapshot.o ua_status.o ua_tree.o
ua_update.o vbackup.o verify.o -lz \
       -lbacfind -lbacsql -lbaccats -lbaccfg -lbac -lm   -lpthread
-lresolv -lnsl -lsocket -lxnet  -lintl -lresolv -lrt \
         -lssl -lcrypto
Undefined                       first referenced
  symbol                             in file
mysql_fetch_row                     ../cats/libbaccats.a(mysql.o)
mysql_fetch_field                   ../cats/libbaccats.a(mysql.o)
mysql_data_seek                     ../cats/libbaccats.a(mysql.o)
mysql_query                         ../cats/libbaccats.a(mysql.o)
mysql_errno                         ../cats/libbaccats.a(mysql.o)
mysql_error                         ../cats/libbaccats.a(mysql.o)
mysql_close                         ../cats/libbaccats.a(mysql.o)
mysql_insert_id                     ../cats/libbaccats.a(mysql.o)
mysql_thread_end                    ../cats/libbaccats.a(mysql.o)
mysql_free_result                   ../cats/libbaccats.a(mysql.o)
mysql_thread_safe                   ../cats/libbaccats.a(mysql.o)
mysql_store_result                  ../cats/libbaccats.a(mysql.o)
mysql_init                          ../cats/libbaccats.a(mysql.o)
mysql_sqlstate                      ../cats/libbaccats.a(mysql.o)
mysql_affected_rows                 ../cats/libbaccats.a(mysql.o)
mysql_real_connect                  ../cats/libbaccats.a(mysql.o)
mysql_get_ssl_cipher                ../cats/libbaccats.a(mysql.o)
mysql_real_escape_string            ../cats/libbaccats.a(mysql.o)
mysql_num_rows                      ../cats/libbaccats.a(mysql.o)
mysql_num_fields                    ../cats/libbaccats.a(mysql.o)
mysql_use_result                    ../cats/libbaccats.a(mysql.o)
mysql_ssl_set                       ../cats/libbaccats.a(mysql.o)
ld: fatal: symbol referencing errors
======================================================

Trivially fixed by adding -lmysqlclient, annoying because *exactly* the
same configuration successfully built 7.9.x, why bother with a beta
release if you are going to break things later?

        Cheers,
                Gary B-)

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Bacula-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Bacula Release 9.0.0

Phil Stracchino-2
In reply to this post by Kern Sibbald
On 07/07/17 08:01, Kern Sibbald wrote:
>
>   Release 9.0.0
>
> I am pleased to announce that we have just released Bacula version 9.0.0.


One question on building Bacula 9 (on Solaris 10, but I don't think that
matters).  It's possible this question has been answered in the past and
I've just forgotten the answer.

The only daemon that actually talks to the database is the Director.
But when if I configure with --disable-build-dird, configuration fails
unless I specify a DB engine.  I no longer have a DB engine installed on
the SAN that runs my disk-based SD because that server's job is now
ONLY, SOLELY AND UNIQUELY to serve SAN and run the disk SD.  I presume
the reason for this is because the storage daemon tools such as bscan
may need access to the database.

Is there any way I can tell Bacula to build the storage daemon with no
tools, just the daemon itself?  I don't see a --disable-build-tools
configure option, and I don't really want to reinstall a set of DB
client libraries that will never be used.


--
  Phil Stracchino
  Babylon Communications
  [hidden email]
  [hidden email]
  Landline: +1.603.293.8485
  Mobile:   +1.603.998.6958

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Bacula-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Bacula Release 9.0.0

Phil Stracchino-2
On 07/10/17 12:18, Phil Stracchino wrote:

> Is there any way I can tell Bacula to build the storage daemon with no
> tools, just the daemon itself?  I don't see a --disable-build-tools
> configure option, and I don't really want to reinstall a set of DB
> client libraries that will never be used.

Actually, I think I *MAY* have solved this with the following set of
counterintuitive configure options:

--enable-client-only --enable-build-stored --disable-build-dird

I note that --enable-client-only --enable-build-stored WITHOUT
--disable-build-dird results in also building the dird.



Additional note:  In src/lib/bsock.h, lines 293 and 311:



enum {
   BNET_SIGNAL         = -1,
   BNET_HARDEOF        = -2,
   BNET_ERROR          = -3,
   BNET_COMMAND        = -4,
};

/*
 * Inter-daemon commands
 * When BNET_IS_CMD is on, the next int32 is a command
 */
#define BNET_CMD_SIZE sizeof(int32_t)

enum {
   BNET_CMD_NONE       =  0, /* reserved */
   BNET_CMD_ACK_HASH   =  1, /* backup  SD->FD  SD already know this
hash, don't need the block */
   BNET_CMD_UNK_HASH   =  2, /* restore SD->FD  hash is unknown */
   BNET_CMD_GET_HASH   =  3, /* backup  SD->FD  SD ask FD to send the
corresponding block */
                             /* restore FD->SD  FD ask SD to send the
corresponding block */
   BNET_CMD_STO_BLOCK  =  4, /* backup  FD->SD  FD send requested block */
   BNET_CMD_REC_ACK    =  5, /* restore FD->SD  FD has consumed records
from the buffer */
   BNET_CMD_STP_THREAD =  6, /* restore FD->SD  SD must stop thread */
   BNET_CMD_STP_FLOWCTRL =  7, /* backup FD->SD  SD must stop sending
flowcontrol information */
};


Those commas on the last line before the closing brace cause a warning
at every inclusion of bsock.h.  Removing them:

   BNET_COMMAND        = -4
};

...
   BNET_CMD_STP_FLOWCTRL =  7 /* backup FD->SD  SD must stop sending
flowcontrol information */
};

eliminates the warning.


--
  Phil Stracchino
  Babylon Communications
  [hidden email]
  [hidden email]
  Landline: +1.603.293.8485
  Mobile:   +1.603.998.6958

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Bacula-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Bacula Release 9.0.0

Phil Stracchino-2
One more thing:  I found a leftover src/lib/lz4.c.orig which I presume
should not exist.


--
  Phil Stracchino
  Babylon Communications
  [hidden email]
  [hidden email]
  Landline: +1.603.293.8485
  Mobile:   +1.603.998.6958

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Bacula-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Bacula Release 9.0.0

Kern Sibbald
In reply to this post by Gary R. Schmidt-3
Hello,

To the best of my knowledge nothing at all changed between 7.9.x
concerning linking MySQL, so I am not sure what your comment about the
beta release means.

Best regards,

Kern



On 07/10/2017 03:30 PM, Gary R. Schmidt wrote:

> On 07/07/2017 22:01, Kern Sibbald wrote:
>>
>>   Release 9.0.0
>>
>> I am pleased to announce that we have just released Bacula version
>> 9.0.0.
>>
> Solaris 11, using MySQL:
> ======================================================
> Linking bacula-dir ...
> /opt/developerstudio12.5/bin/CC  -L/opt/csw/lib/ -R/opt/csw/lib/
> -L../lib -L../cats -L../findlib -o bacula-dir dird.o admin.o
> authenticate.o autoprune.o backup.o bsr.o catreq.o dir_plugins.o
> dird_conf.o expand.o fd_cmds.o getmsg.o inc_conf.o job.o jobq.o mac.o
> mac_sql.o mountreq.o msgchan.o next_vol.o newvol.o recycle.o restore.o
> run_conf.o scheduler.o ua_acl.o ua_cmds.o ua_dotcmds.o ua_query.o
> ua_input.o ua_label.o ua_output.o ua_prune.o ua_purge.o ua_restore.o
> ua_run.o ua_select.o ua_server.o snapshot.o ua_status.o ua_tree.o
> ua_update.o vbackup.o verify.o -lz \
>       -lbacfind -lbacsql -lbaccats -lbaccfg -lbac -lm   -lpthread
> -lresolv -lnsl -lsocket -lxnet  -lintl -lresolv -lrt \
>         -lssl -lcrypto
> Undefined                       first referenced
>  symbol                             in file
> mysql_fetch_row                     ../cats/libbaccats.a(mysql.o)
> mysql_fetch_field                   ../cats/libbaccats.a(mysql.o)
> mysql_data_seek                     ../cats/libbaccats.a(mysql.o)
> mysql_query                         ../cats/libbaccats.a(mysql.o)
> mysql_errno                         ../cats/libbaccats.a(mysql.o)
> mysql_error                         ../cats/libbaccats.a(mysql.o)
> mysql_close                         ../cats/libbaccats.a(mysql.o)
> mysql_insert_id                     ../cats/libbaccats.a(mysql.o)
> mysql_thread_end                    ../cats/libbaccats.a(mysql.o)
> mysql_free_result                   ../cats/libbaccats.a(mysql.o)
> mysql_thread_safe                   ../cats/libbaccats.a(mysql.o)
> mysql_store_result                  ../cats/libbaccats.a(mysql.o)
> mysql_init                          ../cats/libbaccats.a(mysql.o)
> mysql_sqlstate                      ../cats/libbaccats.a(mysql.o)
> mysql_affected_rows                 ../cats/libbaccats.a(mysql.o)
> mysql_real_connect                  ../cats/libbaccats.a(mysql.o)
> mysql_get_ssl_cipher                ../cats/libbaccats.a(mysql.o)
> mysql_real_escape_string            ../cats/libbaccats.a(mysql.o)
> mysql_num_rows                      ../cats/libbaccats.a(mysql.o)
> mysql_num_fields                    ../cats/libbaccats.a(mysql.o)
> mysql_use_result                    ../cats/libbaccats.a(mysql.o)
> mysql_ssl_set                       ../cats/libbaccats.a(mysql.o)
> ld: fatal: symbol referencing errors
> ======================================================
>
> Trivially fixed by adding -lmysqlclient, annoying because *exactly*
> the same configuration successfully built 7.9.x, why bother with a
> beta release if you are going to break things later?
>
>     Cheers,
>         Gary    B-)
>
> ------------------------------------------------------------------------------
>
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> Bacula-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/bacula-devel
>


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Bacula-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Bacula Release 9.0.0

Kern Sibbald
In reply to this post by Phil Stracchino-2
Hello Phil,

Thanks for the bsock comments.  Yes, most of our programmers do not use
the Solaris compiler so that do things that are not strictly correct.  I
will fix them.

Best regards,

Kern


On 07/10/2017 06:27 PM, Phil Stracchino wrote:

> On 07/10/17 12:18, Phil Stracchino wrote:
>
>> Is there any way I can tell Bacula to build the storage daemon with no
>> tools, just the daemon itself?  I don't see a --disable-build-tools
>> configure option, and I don't really want to reinstall a set of DB
>> client libraries that will never be used.
> Actually, I think I *MAY* have solved this with the following set of
> counterintuitive configure options:
>
> --enable-client-only --enable-build-stored --disable-build-dird
>
> I note that --enable-client-only --enable-build-stored WITHOUT
> --disable-build-dird results in also building the dird.
>
>
>
> Additional note:  In src/lib/bsock.h, lines 293 and 311:
>
>
>
> enum {
>     BNET_SIGNAL         = -1,
>     BNET_HARDEOF        = -2,
>     BNET_ERROR          = -3,
>     BNET_COMMAND        = -4,
> };
>
> /*
>   * Inter-daemon commands
>   * When BNET_IS_CMD is on, the next int32 is a command
>   */
> #define BNET_CMD_SIZE sizeof(int32_t)
>
> enum {
>     BNET_CMD_NONE       =  0, /* reserved */
>     BNET_CMD_ACK_HASH   =  1, /* backup  SD->FD  SD already know this
> hash, don't need the block */
>     BNET_CMD_UNK_HASH   =  2, /* restore SD->FD  hash is unknown */
>     BNET_CMD_GET_HASH   =  3, /* backup  SD->FD  SD ask FD to send the
> corresponding block */
>                               /* restore FD->SD  FD ask SD to send the
> corresponding block */
>     BNET_CMD_STO_BLOCK  =  4, /* backup  FD->SD  FD send requested block */
>     BNET_CMD_REC_ACK    =  5, /* restore FD->SD  FD has consumed records
> from the buffer */
>     BNET_CMD_STP_THREAD =  6, /* restore FD->SD  SD must stop thread */
>     BNET_CMD_STP_FLOWCTRL =  7, /* backup FD->SD  SD must stop sending
> flowcontrol information */
> };
>
>
> Those commas on the last line before the closing brace cause a warning
> at every inclusion of bsock.h.  Removing them:
>
>     BNET_COMMAND        = -4
> };
>
> ...
>     BNET_CMD_STP_FLOWCTRL =  7 /* backup FD->SD  SD must stop sending
> flowcontrol information */
> };
>
> eliminates the warning.
>
>


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Bacula-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Bacula Release 9.0.0

Kern Sibbald
In reply to this post by Phil Stracchino-2
Hello Phil,

I am keeping lz4.c.orig around until I am 100% sure that the tweaked
lz4.c works.  There will shortly be some more tweaks to it.

Best regards,

Kern


On 07/10/2017 06:37 PM, Phil Stracchino wrote:
> One more thing:  I found a leftover src/lib/lz4.c.orig which I presume
> should not exist.
>
>


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Bacula-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Bacula Release 9.0.0

Phil Stracchino-2
In reply to this post by Phil Stracchino-2
On 07/10/17 12:27, Phil Stracchino wrote:
> Actually, I think I *MAY* have solved this with the following set of
> counterintuitive configure options:
>
> --enable-client-only --enable-build-stored --disable-build-dird
>
> I note that --enable-client-only --enable-build-stored WITHOUT
> --disable-build-dird results in also building the dird.


OK, Bacula 9.0.1 configured this way on Solaris 11.3 says:

   client-only:              yes
   build-dird:               no
   build-stored:             yes

Which is what I wanted.  But although it says it will build the stored,
it doesn't actually do so.  There doesn't seem to be a way to build the
stored without also building the tools.  But I don't actually want to
build the stored tools, because then I have to install a DB (or at least
the DB client libraries).

It's just an opinion, but IMO there really ought to be a way to build a
stored without the stored tools, if you really don't want or need the
tools on that server.


--
  Phil Stracchino
  Babylon Communications
  [hidden email]
  [hidden email]
  Landline: +1.603.293.8485
  Mobile:   +1.603.998.6958

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Bacula-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Bacula Release 9.0.0

Kern Sibbald
Hello Phil,

We feel that the tools are an integral part of the SD.  If you do not
want those tools, I suggest that you build the SD on another machine of
the same architecture then just move the files you want and need to the
machine where you do not want client libraries.

Best regards,

Kern


On 07/17/2017 04:56 PM, Phil Stracchino wrote:

> On 07/10/17 12:27, Phil Stracchino wrote:
>> Actually, I think I *MAY* have solved this with the following set of
>> counterintuitive configure options:
>>
>> --enable-client-only --enable-build-stored --disable-build-dird
>>
>> I note that --enable-client-only --enable-build-stored WITHOUT
>> --disable-build-dird results in also building the dird.
>
> OK, Bacula 9.0.1 configured this way on Solaris 11.3 says:
>
>     client-only:              yes
>     build-dird:               no
>     build-stored:             yes
>
> Which is what I wanted.  But although it says it will build the stored,
> it doesn't actually do so.  There doesn't seem to be a way to build the
> stored without also building the tools.  But I don't actually want to
> build the stored tools, because then I have to install a DB (or at least
> the DB client libraries).
>
> It's just an opinion, but IMO there really ought to be a way to build a
> stored without the stored tools, if you really don't want or need the
> tools on that server.
>
>


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Bacula-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Configuration options in Bacula 9.0.x

Phil Stracchino-2
In reply to this post by Phil Stracchino-2
Kern,
I've spent several hours today trying to get the set of Bacula 9.0.1
components I want built on Solaris 11, and there seems to be a problem
in configure.  (I was able to find a set of MySQL packages for Solaris
11.3 that included client libraries and headers, so I no longer need to
skip building the tools, though I still don't expect to use them.)

The short version is that --enable-build-dird=yes|no appears to do
nothing.  Either you specify --client-only, and build only the filed; or
you don't, in which case the dird is ALWAYS built regardless of what you
tell configure to build.  The configure output REPORTS it's going to do
what you intended:

asgard:root:~/bacula-9.0.1:68 # [...] --with-mysql=/usr/mysql/5.6
--enable-build-stored --enable-build-dird=no

or

asgard:root:~/bacula-9.0.1:68 # [...] --with-mysql=/usr/mysql/5.6
--enable-build-stored --disable-build-dird

outputs:

   bat support:              no
   client-only:              no
   build-dird:               no
   build-stored:             yes
   Plugin support:           yes

But then it goes ahead and builds dird anyway, even though it said it
wouldn't.  I can disable building the storage daemon, but building the
director cannot be disabled except by using --client-only.

While I'm at it, I note that this configuration scheme provides no way
to build *only* the storage daemon.  Not that I'm sure why anyone would
do that, but someone might want to.


--
  Phil Stracchino
  Babylon Communications
  [hidden email]
  [hidden email]
  Landline: +1.603.293.8485
  Mobile:   +1.603.998.6958

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Bacula-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Configuration options in Bacula 9.0.x

Kern Sibbald
Phil,

There are a number of build options in configure.  Most of them were
coded when we really were not sure what we wanted.  However,
implementing them is two fold:  1. put a configure variable (as we have
a number).  2. Implement them in the Makefile.in files to make it work.

We implemented only a bare minimum and never went any farther for
several reasons: 1. Additional features were not really needed. 2.
building is fast. 3. modifying the Makefile.in files is complicated and
can easily break some of the base functionality needed.

I think building without shared libraries suffers a similar fate.  In
the beginning Bacula had no shared libraries of its own, then we added
them.  Then we added many more and in doing so lost the ability to go
back to static libraries, which has not been real loss.

Best regards,

Kern


On 07/18/2017 01:08 AM, Phil Stracchino wrote:

> Kern,
> I've spent several hours today trying to get the set of Bacula 9.0.1
> components I want built on Solaris 11, and there seems to be a problem
> in configure.  (I was able to find a set of MySQL packages for Solaris
> 11.3 that included client libraries and headers, so I no longer need to
> skip building the tools, though I still don't expect to use them.)
>
> The short version is that --enable-build-dird=yes|no appears to do
> nothing.  Either you specify --client-only, and build only the filed; or
> you don't, in which case the dird is ALWAYS built regardless of what you
> tell configure to build.  The configure output REPORTS it's going to do
> what you intended:
>
> asgard:root:~/bacula-9.0.1:68 # [...] --with-mysql=/usr/mysql/5.6
> --enable-build-stored --enable-build-dird=no
>
> or
>
> asgard:root:~/bacula-9.0.1:68 # [...] --with-mysql=/usr/mysql/5.6
> --enable-build-stored --disable-build-dird
>
> outputs:
>
>     bat support:              no
>     client-only:              no
>     build-dird:               no
>     build-stored:             yes
>     Plugin support:           yes
>
> But then it goes ahead and builds dird anyway, even though it said it
> wouldn't.  I can disable building the storage daemon, but building the
> director cannot be disabled except by using --client-only.
>
> While I'm at it, I note that this configuration scheme provides no way
> to build *only* the storage daemon.  Not that I'm sure why anyone would
> do that, but someone might want to.
>
>


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Bacula-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Bacula Release 9.0.0

Martin Simmons
In reply to this post by Phil Stracchino-2
>>>>> On Mon, 17 Jul 2017 10:56:55 -0400, Phil Stracchino said:
>
> On 07/10/17 12:27, Phil Stracchino wrote:
> > Actually, I think I *MAY* have solved this with the following set of
> > counterintuitive configure options:
> >
> > --enable-client-only --enable-build-stored --disable-build-dird
> >
> > I note that --enable-client-only --enable-build-stored WITHOUT
> > --disable-build-dird results in also building the dird.
>
>
> OK, Bacula 9.0.1 configured this way on Solaris 11.3 says:
>
>    client-only:              yes
>    build-dird:               no
>    build-stored:             yes
>
> Which is what I wanted.  But although it says it will build the stored,
> it doesn't actually do so.  There doesn't seem to be a way to build the
> stored without also building the tools.  But I don't actually want to
> build the stored tools, because then I have to install a DB (or at least
> the DB client libraries).
>
> It's just an opinion, but IMO there really ought to be a way to build a
> stored without the stored tools, if you really don't want or need the
> tools on that server.

As a workaround, you can install sqlite3 in some temporary location and use
--with-sqlite3=... to point to it.  The bacula-sd itself will not depend on
sqlite3.

__Martin

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Bacula-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-devel
12
Loading...