pysmb-1.2.6, 9 Dec 2020
=======================
- Fix bug in SMB1 store file implmentation which generates SMB_COM_WRITE_ANDX
packets larger than the allowed max buffer size
pysmb-1.2.5
- Fix bug in filename encoding which leads to failure for file retrieval and upload operations
- Improve resetFileAttributes() method in SMBConnection class to allow the
new attribute to be specified in the reset operation
pysmb-1.2.4
- Remove dependency on pycrypto as it is no longer under active maintenance
pysmb-1.2.3
- Fix bug in session key generation during session negotiation
- Fix bug in SMB message signing which leads to operation failures with Samba services.
pysmb-1.2.1
- Fix bug in deleteFiles() method which can fail for certain search patterns.
pysmb-1.2.0
- Add new parameter, delete_matching_folders, to deleteFiles() method to
support deletion of child folders that match the search pattern.
pysmb-1.1.29
- Fix unhandled exception for short NBNS queries
- Fix wildcard file deletion with servers on SMB2 protocol
pysmb-1.1.28:
- SharedFile instances returned from the listPath() method now has a new
file_id attribute which represents the file reference number given by the SMB server.
Version 1.1.26:
Prevents OperationError from being raised when listPath() operation does not return any matching file results.
SMBConnection is now a context manager
pysmb-1.1.25:
- Fix buggy support for search parameter in listPath() method. Add
SMB_FILE_ATTRIBUTE_INCL_NORMAL bit constant to include 'normal' files with
other file types in the returned result. From now on, pysmb defines a 'normal' file
as a file entry that is not read-only, not hidden, not system, not archive and
not a directory; it ignores other attributes like compression, indexed, sparse,
temporary and encryption. listPath() method will now include 'normal' files
using the default search parameter.
- Add isNormal property to SharedFile class to support test if the file is a
'normal' file (according to pysmb definition of 'normal' file).
pysmb-1.1.24:
- Improve listPath implementation for SMB1
- Support for STATUS_PENDING responses across all SMB2 operations.
Add missing DEPENDS
Upstream changes:
Version 1.1.23, 2018-05-05 (Download)
Fix bug in listShares() method which fails when the remote server has many shares. Contributed by carlosefr (github).
Improve echo() method to test and fail if the provided data to echo is not a bytes object. Contributed by carlosefr (github).
Fix bug in listPath() method where the path to query is not properly terminated. Contributed by Yepoleb (github).
Version 1.1.22, 2017-09-17 (Download)
Fix bug in getAttributes() method which should return only the filename instead of the entire path for the filename property for the return result.
Version 1.1.21, 2017-09-09 (Download)
Fix bug where timestamp values for SMB1 getAttributes() response are not converted properly from FILETIME to epoch time values.
Version 1.1.20, 2017-08-13 (Download)
Add getSecurity() method to support security descriptors query via SMB2. Contributed by koniiiik (github).
Improve retrieveFile() and retrieveFileFromOffset() methods to allow file retrievals over SMB2 even when the file is being locked on the server.
Silently discards NMB SESSION_KEEPALIVE packets instead of raising warnings. Thanks to a-mushroom (github) for reporting this.
SMB sessionID will be sent in ECHO requests to conform to SMB2 specs. Thanks to divad (github) for reporting this.
Fix type errors for MD4 functions in python3. Contributed by viatoriche (github).
Version 1.1.19, 2016-11-13 (Download)
Ignore STATUS_PENDING during delete and file store operations
Version 1.1.18, 2016-04-09 (Download)
Rollback fixes to NTLMv2 response algorithm in pysmb 1.1.17. The fixes fail to work with some servers.
Add missing errno imports in SMBConnection.py
Fix UnboundLocalError raised when using type() in SMBConnection.py
Version 1.1.17, 2015-11-11 (Download)
Fix crashes in directory listing with keyerror ‘support_dfs’.
Fix bugs in NTLMv2 response algorithm.
Fix bugs where client domain is not included as part of the session negotiation.
Version 1.1.16, 2015-05-10 (Download)
Fix typo errors in authentication error messages.
Improve share listings on SMB2 protocol by ignoring interim STATUS_PENDING responses.
Version 1.1.15, 2015-02-15 (Download)
Add new parameter to SMBConnection’s storeFileFromOffset method to determine whether the remote file is to be truncated before writing.
Version 1.1.14, 2015-02-01 (Download)
Add support for DFS shares in listPath(). Thanks to humberry (github) for raising the issue and helping with the testing.
Fix bug in python3’s SMB2 listPath implementation. Thanks to deejrose (github) for reporting the bug.
Version 1.1.13, 2014-10-18 (Download)
Add missing methods and improve compatibility with python3. Thanks to keisetsu (github) for submitting the patch.
Fix bug in SMB2 rename implementation which fails to rename directory. Thanks to Jayke Meijer for raising the bug and providing the packet capture.
Version 1.1.12, 2014-09-21 (Download)
Fix syntax error for python3 NBNSProtocol implementation
Fix bug in SMB1 implementation which results in access denied errors with Samba 3.0. Many thanks for John Sivak for his assistance and support in helping to troubleshoot and test the bug fixes.
Version 1.1.11, 2014-09-13 (Download)
Add support for unicode characters in domain, username and password.
Add storeFileFromOffset method to SMB API
Fix bug in getAttributes implementation for SMB1
Fix bug for NMB which uses broadcast flag for unicast queries
Update the Tree Connect Andx request implementation to support MS-SMB 2.2.4.7.1 extensions
Version 1.1.10, 2014-06-29 (Download)
Add getAttributes() method to SMBConnection and SMBProtocolFactory class.
Add isReadOnly property to SharedFile class.
Version 1.1.9, 2014-06-01 (Download)
Add support for domains in smb:// URLs. Contributed by Andy Piper.
Fix a bug which fails to test for the correct GSS security provider OID values. Thanks for Fanen for bug report and assistance in testing the fix.
Version 1.1.8, 2013-12-21 (Download)
Fix a bug in storeFile() method when the destination file is not overwritten if it exists in SMB1 communication. Thanks to Vaikar Amol for reporting this bug and helping to fix it.
Fix a SMB1 authentication problem when extended negotation is not carried out because the remote server has specified its support for extended security in the payload, instead of in the message flags2.
Version 1.1.7, 2013-09-27 (Download)
Improve listShares() function which can fail with the listing response is separated into multiple SMB packets for large number of shares. Thanks to Pieter De Clerck for reporting this bug and helping to test the bug fix.
Fix bug in python3 implementation where session connection can fail when remote server supports message signing. Thanks to Simon for reporting this bug.
Version 1.1.6, 2013-08-16 (Download)
Fix bug where the status of the SMB_COM_NEGOTIATE reply is not checked for error before allowing further processing. Thanks to Adrian Cox for discovering this bug and submitting the patch.
Version 1.1.5, 2013-06-19 (Download)
Add support for Direct hosting of SMB over TCP/IP (TCP port 445)
Version 1.1.4, 2013-05-31 (Download)
Improve query performance for query IP addresses for NetBIOS names in NetBIOSProtocol.py. Thanks to Ties de Kock for submitting the performance patch.
Fix bugs in SMBConnection when sending large data packets can result in AssertionError. Thanks to David K. Hess for submitting the bug fix.
Version 1.1.3, 2013-03-18 (Download)
Fix a bug which results in endless loop in SMBConnection when remote CIFS server closes the connection. Thanks to Nitin Garg for submitting the bug fixes.
COMMENT should not be longer than 70 characters.
COMMENT should not begin with 'A'.
COMMENT should not begin with 'An'.
COMMENT should not begin with 'a'.
COMMENT should not end with a period.
COMMENT should start with a capital letter.
pkglint warnings. Some files also got minor formatting, spelling, and style
corrections.
pysmb is an experimental SMB/CIFS library written in Python. It
implements the client-side SMB/CIFS protocol (SMB1 and SMB2) which
allows your Python application to access and transfer files to/from
SMB/CIFS shared folders like your Windows file sharing and Samba
folders.