Changelog for
python312-smbprotocol-1.13.0-79.8.noarch.rpm :
* Thu Mar 21 2024 Dirk Müller
- update to 1.13.0:
* Added the property `smb_info` on `SMBDirEntry` which returns a named tuple `SMBDirEntryInformation` containing metadata already retrieved in the `scandir` operation.
* This avoid having to call `stat()` to retrieve data like the file attributes or datetime fields that is already available
* Ensure `DateTimeField` values are set to `UTC` timezones as FILETIME values are in UTC
* Stop using `datetime.datetime.utcfromtimestamp()` as it has been deprecated
* Added default timeout for disconnect operations for 60 seconds to ensure the process doesn\'t hang forever when closing a broken connection
* `smbprotocol.connection.Connection.disconnect()` now waits (with a timeout) for the message processing threads to be stopped before returning.
* Do not set the SMB SessionId and TreeId in the headers to `0xFFFFFFFF` for related compound requests + Ensures the source file for `shutil.copyfile` is opened with `share_access=\"r\"` for better compatibility with files already opened by something else + Remove endless authentication loop when the context is complete and no more input messages are needed
* Fri Nov 24 2023 Martin Hauke - Update to version 1.12.0
* Add 0xc000007f to mapping.
* Added the DiskFull error and message for the NTSTATUS code 0xC000007F.
* Tue Sep 05 2023 Martin Hauke - Update to version 1.11.0
* Fix up pre authenticated session id lookups that were failing with Linux ksmbd.
* Removes logging.NullHandler() being set in the root smbprotocol namespace.
* Adds basic support for remote to local and vice versa file operations with smbclient.shutil.copytree.
* Fixes DFS infinite recursion error when dealing with a file that does not exist on a DFS namespace.
* Mon Dec 05 2022 Yogalakshmi Arunachalam - Update to version 1.10.1
* Raise the original BadNetworkName error if the server doesn\'t indicate it supports DFS or FSDriverRequired was raised trying to lookup the DFS information - #196
* Fix pre auth session id tracking if the intermediate token messages return 0 as the session id
* Sun Nov 06 2022 Martin Hauke - Update to version 1.10.0
* Allow server side copy across different shares on the same server.
* Improve DFS file opens.
* Fix rename operations for a DFS path.
* Fix negotiate request context padding.
* Fri Oct 21 2022 pgajdosAATTsuse.com- python-six is not required
* Fri Oct 07 2022 Yogalakshmi Arunachalam - Update to version 1.9.0
* Fix connection cache reuse for some DFS referral requests
* Add smbclient.path to the smbclient import allowing import smbclient; smbclient.path.func()
* Thu Nov 18 2021 Martin Hauke - Update to version 1.8.3
* Set additional_information field in SMB2SetInfoRequest to a flags field rather than a single enum as per protocol docs.
* Tue Nov 02 2021 Martin Hauke - Update to version 1.8.2
* Add missing FileAttributes enum values
* Set messages with FileAttributes to be non-strict allowing unknown values in the future to be parsed without an error
* Wed Oct 27 2021 Martin Hauke - Update to version 1.8.1
* Raises ObjectPathNotFound if a DFS referral is required but not referrals are available (#149)
* Mon Oct 25 2021 Martin Hauke - Update to version 1.8.0
* Added support for 256bit keyed encryption ciphers
* Added support for signing with AES GCM
* Now sends the SMB2_NETNAME_NEGOTIATE_CONTEXT_ID with the negotiate request
* Adds the Python requirement of pykrb5 for Kerberos support on non-Windows
* Fix unpacking security descriptor ACEs with extra data on the end
* Set index_number in FileInternalInformation to be an unsigned integer to match the other structures
* Clear out expired DFS referrals to avoid memory leaks and stale DFS information- Update to version 1.7.0
* Improve connection health checks to reduce the occurances of an infinite deadlock
* Added more exception error classes
* Added create_action to the Open object that describes how the file was opened
* Added follow_symlinks option to SMBDirEntry.from_path to control whether the entry.
* Tue Aug 17 2021 Martin Hauke - Update to version 1.6.2
* Fix up cached credential logic when setting domain_controller in the initial config singleton- Update to version 1.6.1
* Remove print() statement that was used during testing- Update to version 1.6.0
* Dropped support for Python 2.7 and 3.5
* Add performance improvement on reads with large files
* Added the require_signing kwarg to smbclient.register_session() to allow the caller to control whether signing is required on the connection or not.
* Fix OverflowError when handling FILETIME values beyond the year 9999 - caps the value to 9999-12-31 due to a Python limitation
* Fix up credit charge calculation which causes a STATUS_INVALID_PARAMETER response for certain read/write lengths.
* Ensure responses with a failure are cleaned up from the outstanding request table to avoid memory leaks.
* Thu May 13 2021 Martin Hauke - Update to version 1.5.1
* Unified DFS path handling when using any API that uses a transaction to open the file. - This includes smbclient.rename and smbclient.replace
* Fixed up smbclient.rename to work with directories.
* smbclient.scandir will continue to use the connection cache when getting stat information of a dir entry.
* smbclient.shutil.rmtree will continue to use the connection cache when removing child entries.
* Thu Mar 25 2021 Martin Hauke - Update to version 1.5.0
* Added smbprotocol.exceptions.SMBConnectionClosed that is raised when trying to send or receive data on a connection that has been closed.
* Added smbprotocol.exceptions.WrongPassword that is raised when some servers indicate the password is not correct or the account is locked out.
* Do not attempt to reuse any cached connections that have been closed in smbclient
* Added a lock when writing to the socket, only 1 thread can write a message at a single point in time
* Revamped the SMB receiver code to simplify the logic and make it more durable + Removed the TCP recv thread for each connection, now each connection uses just 1 thread instead of 2. + Be more defensive when reading data from a socket to ensure we get all the data we require. + Handled server side FIN packets that close the connection unexpectedly, any requests waiting for a response will raise SMBConnectionClosed.
* Wed Feb 03 2021 Martin Hauke - Update to version 1.4.0
* Fixed up secure negotiation logic when connecting to older SMB dialects.
* Will attempt to perform secure negotiation even on older dialects that may not implement it properly.
* Added `ClientConfig` option `require_secure_negotiate` to globally turn off secure negotiation if the client wishes.
* Fix explicit `ntlm` or `kerberos` authentication when the server response with the initial SPNEGO mech list token.
* Thu Jan 28 2021 Martin Hauke - Update to version 1.3.0
* Changed initial credit request from 256 to 64 when creating the SMB session. + This is done to avoid overloading the SMB server. + If smbclient requires more credits to perform an operation it will request it automatically.
* Improve credit handling when reading and writing large amounts of data to reduce the number of requests being made.
* Fixed up write() in smbclient.open_file() to be able to write bytes greater than the max_write_size.
* Fixed issue when receiving an unknown NtStatus error code from the server.
* Added PipeBusy exception for STATUS_PIPE_NOT_AVAILABLE 0xC00000AD error responses.
* Fix credit granting calculation when receiving a compound response. + Original logic granted len(responses) - 1 credits than what the server actually given causing errors when the client ran out of credits without it knowing.
* Added auth_protocol to Session, ClientConfig, and register_session() to control what authentication protocol is used. + This can be negotiate (default), kerberos, or ntlm where negotiate selects kerberos or ntlm depending on what\'s available.