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
Extract arguments.
Login to a Bareos Daemon.
Call a Bareos command.
Close the connection.
Establish a network connection and authenticate.
If a encrypted connection is used, returns information about the encryption.
Get the Bareos Console protocol version that is used.
Bareos TLS-PSK excepts the identiy is a specific format.
Is readable data available?
Enter the interactive mode.
Verifes that last status still indicates connected.
Checks if a Bareos signal indicates the end of a message.
Checks if we have all required modules for TLS-PSK.
Retrieve a message and evaluate it.
Tries to reconnect.
Receive a single message.
Receive a number of bytes.
Receive a full message.
Retrieve a message of the specific length.
Send message to the Daemon.
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:
- 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:
- Raises:
bareos.exceptions.AuthenticationError – if authentication fails.
- 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:
- Raises:
bareos.exceptions.ConnectionError – If connection can be established.
bareos.exceptions.PamAuthenticationError – If PAM authentication fails.
bareos.exceptions.AuthenticationError – If Bareos authentication fails.
- 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:
- has_data()[source]
Is readable data available?
- Returns:
True: if readable data is available.
- Return type:
- interactive()[source]
Enter the interactive mode.
Exit via typing “exit” or “quit”.
- Returns:
True, if exited by user command.
- Return type:
- is_connected()[source]
Verifes that last status still indicates connected.
- Returns:
True, if still connected.
- Return type:
- 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:
- 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:
- Raises:
bareos.exceptions.SignalReceivedException – If a Bareos signal is received.
- recv_bytes(length, timeout=10)[source]
Receive a number of bytes.
- Parameters:
- Raises:
bareos.exceptions.ConnectionLostError – If the socket connection gets lost.
socket.timeout – If a timeout occurs on the socket connection, meaning no data received.
- recv_msg(regex=b'^\\d\\d\\d\\d OK.*$')[source]
Receive a full message.
It retrieves messages (header + message text), until
the message contains the specified regex or
the header indicates a signal.
- Parameters:
regex (bytes) – Descripes the expected end of the message.
- Returns:
Message retrieved via the connection.
- Return type:
- Raises:
bareos.exceptions.SignalReceivedException – If a Bareos signal is received.