File python-smbprotocol.changes of Package python-smbprotocol
-------------------------------------------------------------------
Mon Nov 11 22:08:22 UTC 2024 - Martin Hauke <mardnh@gmx.de>
- Update to version 1.15.0
* Fix Impacket logoff session id check.
* Update session id logic.
* Add smbclient.liststreams to enumerate ADS streams.
* Add some type annotations, most notably to smbclient.open_file
* Add Python 3.13 support.
-------------------------------------------------------------------
Sun Nov 10 19:02:11 UTC 2024 - Martin Hauke <mardnh@gmx.de>
- Update to version 1.14.0
* type information of SMBDirEntryInformation.last_write_time set
to datetime.
* Customizable receive timeout for SMB Connection
* Dropped support for Python 3.7
* SMBDirEntryInformation.last_write_time is now annotated as
datetime.datetime. Previously, it was datetime.date.
-------------------------------------------------------------------
Thu Mar 21 17:34:50 UTC 2024 - Dirk Müller <dmueller@suse.com>
- 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 13:00:19 UTC 2023 - Martin Hauke <mardnh@gmx.de>
- Update to version 1.12.0
* Add 0xc000007f to mapping.
* Added the DiskFull error and message for the NTSTATUS code
0xC000007F.
-------------------------------------------------------------------
Tue Sep 5 21:56:00 UTC 2023 - Martin Hauke <mardnh@gmx.de>
- 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 5 13:36:15 UTC 2022 - Yogalakshmi Arunachalam <yarunachalam@suse.com>
- 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 6 20:32:55 UTC 2022 - Martin Hauke <mardnh@gmx.de>
- 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 13:19:59 UTC 2022 - pgajdos@suse.com
- python-six is not required
-------------------------------------------------------------------
Fri Oct 7 16:09:45 UTC 2022 - Yogalakshmi Arunachalam <yarunachalam@suse.com>
- 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 21:49:52 UTC 2021 - Martin Hauke <mardnh@gmx.de>
- 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 2 20:52:01 UTC 2021 - Martin Hauke <mardnh@gmx.de>
- 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 19:19:23 UTC 2021 - Martin Hauke <mardnh@gmx.de>
- Update to version 1.8.1
* Raises ObjectPathNotFound if a DFS referral is required but
not referrals are available (#149)
-------------------------------------------------------------------
Mon Oct 25 19:46:07 UTC 2021 - Martin Hauke <mardnh@gmx.de>
- 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 15:32:40 UTC 2021 - Martin Hauke <mardnh@gmx.de>
- 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 16:29:17 UTC 2021 - Martin Hauke <mardnh@gmx.de>
- 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 09:39:12 UTC 2021 - Martin Hauke <mardnh@gmx.de>
- 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 3 22:22:15 UTC 2021 - Martin Hauke <mardnh@gmx.de>
- 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 21:52:39 UTC 2021 - Martin Hauke <mardnh@gmx.de>
- 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.
-------------------------------------------------------------------
Sun Oct 25 15:55:37 UTC 2020 - Martin Hauke <mardnh@gmx.de>
- Update to version 1.2.0
* Added experimental support for DFS shares when using smbclient
function.
* Added smbclient.ClientConfig() to set global default options
on new connections.
* Moved the SMB Header structures to smbprotocol.header.
* Added null_terminated option for a TextField value.
* Fix broken pipe errors that occur on long running connections
by sending a echo request for each connection session every
10 minutes.
-------------------------------------------------------------------
Tue Aug 25 12:38:01 UTC 2020 - Martin Hauke <mardnh@gmx.de>
- Update to version 1.1.0
* Speed up logging statements for large messages like a read and
write message.
* Changed authentication dep to pyspnego that handles all the
authentication work.
* Fixed up authentication against hosts that don't present the
initial GSSAPI token like Azure File Storage.
* Added specific exception types for every 'NtStatus' value to
make it easier to catch only specific exceptions.
* Added the following exceptions to the list of known exception
codes:
* 'STATUS_NETWORK_NAME_DELETED'
* 'STATUS_NOT_FOUND'
* 'STATUS_PATH_NOT_COVERED'
* 'STATUS_DFS_UNAVAILABLE'
* 'STATUS_SERVER_UNAVAILABLE'
* Fix session key generation when creating a new session from
an existing connection object.
-------------------------------------------------------------------
Wed Dec 11 20:00:41 UTC 2019 - Martin Hauke <mardnh@gmx.de>
- Update to version 1.0.1
* Fix issue when reading a large file that exceeds 65KB and
raises STATUS_END_OF_FILE.
* Fix issue where listdir, scandir, walk would only enumerate a
subset of entries in a directories with lots of sub files/
folders
-------------------------------------------------------------------
Sat Nov 30 10:49:03 UTC 2019 - Martin Hauke <mardnh@gmx.de>
- Update to version 1.0.0
* Dropped support for Python 2.6 and Python 3.4
* Added the smbclient package that provides a higher level API
for interactive with SMB servers
* Deprecated smbprotocol.query_info in favour of
smbprotocol.file_info, query_info will be removed in the next
major release
* Add automatic symlink resolver when a symlink is in the path
being opened
* Fix issue when trying to connect to host with IPv6 address
* Fix response parsing for SMB2 Create Response Lease V1 and V2
* Added the ability to set the Oplock level when opening a file
* Revamped the socket listener and message processor to run in a
separate thread for faster message resolving
* Added the FileSystemWatcher in change_notify.py to provider a
way to watch for changes on the SMB filesystem
* Added the .cancel() method onto a Request to cancel an SMB
request on the server
-------------------------------------------------------------------
Thu Sep 19 18:50:13 UTC 2019 - Martin Hauke <mardnh@gmx.de>
- Update to version 0.2.0
* Fix issue where timeout was not being applied to the new
connection
* Fix various deprecated regex escape patterns
* Simplified the fallback NTLM context object
-------------------------------------------------------------------
Thu Jan 3 01:57:40 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
- Use noun phrase in summary.
-------------------------------------------------------------------
Sat Dec 29 14:10:26 UTC 2018 - mardnh@gmx.de
- Update to version 0.1.1
* Fix initial negotiate message not setting connection timeout
value.
* Fix endless loop when running a compound message that failed.
-------------------------------------------------------------------
Thu Sep 6 17:42:06 UTC 2018 - mardnh@gmx.de
- Initial package, version 0.1.0