bareos: master 584939bb

Author Committer Branch Timestamp Parent
joergs joergs master 2016-01-23 11:13 master 40778514 Pending
Affected Issues  0000455: Connect from File Daemon to Director Daemon
Changeset Added Client Initiated Connection feature

This feature allows a Client (File Daemon) to open
and keep a connection to the Director.
It identifies himself and do the authentication.
The Director will keep the connection in a waiting pool.
If a job starts that needs access to the client
and a waiting connection to this client exist,
the connection will be used and removed from the pool.
The Client notices that this connection is now used
and opens a additional one connection
(required for multiple simultaneous client commands,
e.g. cancel a running job).

Configuration to enable Client Initiated Connections:
      bareos-dir.conf:
        Client
          ConnectionFromDirectorToClient = no
          ConnectionFromClientToDirector = yes

      bareos-fd.conf:
        Director
          Address
          ConnectionFromDirectorToClient = no
          ConnectionFromClientToDirector = yes

The "no" settings are not required, but gurantees that the
network connection will be only opened in the intended direction.

It is possible, to use Director Initiated Connections (default) and
Client Initiated Connection simultaneously. If a waiting connection
exists, it will be used, otherwise the Director tries to connect to the
client.

This patch also implements TCP Keepalive for Windows.

Fixes 0000455: Connect from File Daemon to Director Daemon
mod - src/dird/authenticate.c Diff File
mod - src/dird/backup.c Diff File
mod - src/dird/dird.h Diff File
mod - src/dird/dird_conf.c Diff File
mod - src/dird/dird_conf.h Diff File
mod - src/dird/fd_cmds.c Diff File
mod - src/dird/job.c Diff File
mod - src/dird/protos.h Diff File
mod - src/dird/restore.c Diff File
mod - src/dird/sd_cmds.c Diff File
mod - src/dird/socket_server.c Diff File
mod - src/dird/ua_cmds.c Diff File
mod - src/dird/ua_dotcmds.c Diff File
mod - src/dird/ua_status.c Diff File
mod - src/dird/verify.c Diff File
mod - src/filed/authenticate.c Diff File
mod - src/filed/dir_cmd.c Diff File
mod - src/filed/filed.c Diff File
mod - src/filed/filed.h Diff File
mod - src/filed/filed_conf.c Diff File
mod - src/filed/filed_conf.h Diff File
mod - src/filed/protos.h Diff File
mod - src/filed/socket_server.c Diff File
mod - src/findlib/find.c Diff File
mod - src/include/jcr.h Diff File
mod - src/lib/Makefile.in Diff File
mod - src/lib/bnet_server_tcp.c Diff File
mod - src/lib/bsock.h Diff File
mod - src/lib/bsock_tcp.c Diff File
mod - src/lib/bsock_tcp.h Diff File
add - src/lib/connection_pool.c Diff File
add - src/lib/connection_pool.h Diff File
mod - src/lib/jcr.c Diff File
mod - src/lib/lib.h Diff File
mod - src/lib/parse_conf.h Diff File
mod - src/lib/protos.h Diff File
mod - src/lib/util.c Diff File
mod - src/lib/workq.c Diff File
mod - src/win32/lib/Makefile Diff File