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.