Warning: This document is for the development version of Bareos Documentation. The main version is bareos-21.

bareos.bsock.lowlevel.LowLevel

class bareos.bsock.lowlevel.LowLevel[source]

Bases: object

Low Level socket methods to communicate with a Bareos Daemon.

This class should not be used by itself, only by inherited classed.

Methods

argparser_get_bareos_parameter

Extract arguments.

auth

Login to a Bareos Daemon.

call

Call a Bareos command.

close

Close the connection.

connect

Establish a network connection and authenticate.

get_cipher

If a encrypted connection is used, returns information about the encryption.

get_protocol_version

Get the Bareos Console protocol version that is used.

get_tls_psk_identity

Bareos TLS-PSK excepts the identiy is a specific format.

has_data

Is readable data available?

interactive

Enter the interactive mode.

is_connected

Verifes that last status still indicates connected.

is_end_of_message

Checks if a Bareos signal indicates the end of a message.

is_tls_psk_available

Checks if we have all required modules for TLS-PSK.

receive_and_evaluate_response_message

Retrieve a message and evaluate it.

reconnect

Tries to reconnect.

recv

Receive a single message.

recv_bytes

Receive a number of bytes.

recv_msg

Receive a full message.

recv_submsg

Retrieve a message of the specific length.

send

Send message to the Daemon.

send_command

Alias for call().

static argparser_get_bareos_parameter(args)[source]

Extract arguments.

This method is usally used together with the method argparser_add_default_command_line_arguments().

Parameters

args (ArgParser.Namespace) – Arguments retrieved by ArgumentParser.parse_args().

Returns

The relevant parameter from args to initialize a connection.

Return type

dict

auth()[source]

Login to a Bareos Daemon.

Returns

True, if the authentication succeeds. In earlier versions, authentication failures returned False. However, now an authentication failure raises an exception.

Return type

bool

Raises

bareos.exceptions.AuthenticationError – if authentication fails.

call(command)[source]

Call a Bareos command.

Parameters

command (str or list) – Command to execute. Best provided as a list.

Returns

Result received from the Daemon.

Return type

bytes

close()[source]

Close the connection.

connect(address, port, dirname, connection_type, name=None, password=None)[source]

Establish a network connection and authenticate.

Parameters
  • address (str) – Address of the Bareos Director (hostname or IP).

  • port (int) – Port number of the Bareos Director.

  • dirname (str, optional) – Name of the Bareos Director. Deprecated, normally not required.

  • connection_type (int) – See bareos.bsock.connectiontype.ConnectionType.

  • name (str, optional) – Credential name.

  • password (str, bareos.util.Password) – Credential password, in cleartext or as Password object.

Returns

True, if the authentication succeeds. In earlier versions, authentication failures returned False. However, now an authentication failure raises an exception.

Return type

bool

Raises
get_cipher()[source]

If a encrypted connection is used, returns information about the encryption. Else it returns None.

Returns

Returns a three-value tuple containing the name of the cipher being used, the version of the SSL protocol that defines its use, and the number of secret bits being used. If the connection is unencrypted or has been established, returns None.

Return type

tuple or None

get_protocol_version()[source]

Get the Bareos Console protocol version that is used.

Returns

Number that represents the Bareos Console protocol version (see bareos.bsock.protocolversions.ProtocolVersions.)

Return type

int

get_tls_psk_identity()[source]

Bareos TLS-PSK excepts the identiy is a specific format.

has_data()[source]

Is readable data available?

Returns

True: if readable data is available.

Return type

bool

interactive()[source]

Enter the interactive mode.

Exit via typing “exit” or “quit”.

Returns

True, if exited by user command.

Return type

bool

is_connected()[source]

Verifes that last status still indicates connected.

Returns

True, if still connected.

Return type

bool

is_end_of_message(data)[source]

Checks if a Bareos signal indicates the end of a message.

Parameters

data (int) – Negative integer.

Returns

True, if regular end of message is reached.

Return type

bool

static is_tls_psk_available()[source]

Checks if we have all required modules for TLS-PSK.

receive_and_evaluate_response_message()[source]

Retrieve a message and evaluate it.

Only used during in the authentication phase.

Returns

(code, text).

Return type

2-tuple

reconnect()[source]

Tries to reconnect.

Returns

True, if the connection could be reestablished.

Return type

bool

recv()[source]

Receive a single message.

This is, header (4 bytes): if

  • > 0: length of the following message

  • < 0: Bareos signal

Returns

Message retrieved via the connection.

Return type

bytearray

Raises

bareos.exceptions.SignalReceivedException – If a Bareos signal is received.

recv_bytes(length, timeout=10)[source]

Receive a number of bytes.

Parameters
  • length (int) – Number of bytes to receive.

  • timeout (float) – Timeout in seconds.

Raises
recv_msg(regex=b'^\\d\\d\\d\\d OK.*$')[source]

Receive a full message.

It retrieves messages (header + message text), until

  1. the message contains the specified regex or

  2. the header indicates a signal.

Parameters

regex (bytes) – Descripes the expected end of the message.

Returns

Message retrieved via the connection.

Return type

bytearray

Raises

bareos.exceptions.SignalReceivedException – If a Bareos signal is received.

recv_submsg(length)[source]

Retrieve a message of the specific length.

Parameters

length (int) – Number of bytes to retrieve.

Returns

Retrieved message.

Return type

bytearray

send(msg=None)[source]

Send message to the Daemon.

Parameters

msg (bytearray) – Message to send.

send_command(command)[source]

Alias for call().

Deprecated

15.2.0