forked from miketeo/pysmb
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCHANGELOG
381 lines (284 loc) · 13.8 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
pysmb-1.2.4, 6 Oct 2020
=======================
- Remove dependency on pycrypto as it is no longer under active maintenance
pysmb-1.2.3, 6 Oct 2020
=======================
- Fix bug in session key generation during session negotiation (#166)
- Fix bug in SMB message signing which leads to operation failures with Samba services.
pysmb-1.2.2, 5 Sep 2020
=======================
- Improve SMB URL handlers to support specifying server's machine name and IP
address. (#162)
- Improvements to documentation on SMB URLs (#160)
pysmb-1.2.1, 17 May 2020
========================
- Fix bug in deleteFiles() method which can fail for certain search patterns.
pysmb-1.2.0, 17 May 2020
=========================
- Add new parameter, delete_matching_folders, to deleteFiles() method to
support deletion of child folders that match the search pattern.
pysmb-1.1.29, 16 May 2020
=========================
- Fix unhandled exception for short NBNS queries #149
- Fix wildcard file deletion with servers on SMB2 protocol #33
pysmb-1.1.28, 23 Nov 2019
========================
- 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.
pysmb-1.1.27, 9 Jan 2019
========================
- Remove support for SMB-2.1 dialect as it seems to have issues with Windows 2008 R2
pysmb-1.1.26, 5 Jan 2019
========================
- Prevents OperationError from being raised when listPath() operation does not
return any matching file results.
- SMBConnection is now a context manager #122.
pysmb-1.1.25, 28 July 2018
========================
- 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, 19 July 2018
========================
- Improve listPath implementation for SMB1
- Support for STATUS_PENDING responses across all SMB2 operations.
pysmb-1.1.23, 5 May 2018
========================
- Fix bug in listShares() method which fails when the remote server has many shares.
- Improve echo() method to test and fail if the provided data to echo is not a bytes object.
- Fix bug in listPath() method where the path to query is not properly terminated.
pysmb-1.1.22, 17 Sep 2017
========================
- Fix bug in getAttributes() method which should return only the filename
instead of the entire path for the filename property for the return result.
pysmb-1.1.21, 9 Sep 2017
========================
- Fix bug where timestamp values for SMB1 getAttributes() response are not
converted properly from FILETIME to epoch time values.
pysmb-1.1.20, 13 Aug 2017
=========================
- Add getSecurity() method to support security descriptors query via SMB2
- 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.
- SMB sessionID will be sent in ECHO requests to conform to SMB2 specs.
- Fix type errors for MD4 functions in python3.
pysmb-1.1.19, 13 Nov 2016
=========================
- Ignore STATUS_PENDING during delete and file store operations
pysmb-1.1.18, 9 Apr 2016
========================
- 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
pysmb-1.1.17, 11 Nov 2015
=========================
- 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.
pysmb-1.1.16, 10 May 2015
=========================
- Fix typo errors in authentication error messages
- Improve share listings on SMB2 protocol by ignoring interim STATUS_PENDING responses.
pysmb-1.1.15, 15 Feb 2015
=========================
- Add new parameter to SMBConnection's storeFileFromOffset method to determine
whether the remote file is to be truncated before writing.
pysmb-1.1.14, 1 Feb 2015
========================
- Add support for DFS shares in listPath()
- Bug fix for python3's _listPath_SMB2 implementation
pysmb-1.1.13, 18 Oct 2014
=========================
- Add missing methods and improve compatibility with python3
- Fix bug in SMB2 rename implementation which fails to rename directory
pysmb-1.1.12, 21 Sep 2014
=========================
- Fix syntax error for python3 NBNSProtocol implementation
- Fix bug in SMB1 implementation which results in access denied errors with Samba 3.0
pysmb-1.1.11, 13 Sep 2014
=========================
- 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 MS-SMB 2.2.4.7.1 extensions
pysmb-1.1.10, 29 Jun 2014
=========================
- Add getAttributes() method to SMBConnection and SMBProtocolFactory class
- Add isReadOnly property to SharedFile class
pysmb-1.1.9, 1 Jun 2014
=======================
- Add support for domains in smb:// URLs
- Fix a bug which fails to test for the correct GSS security provider OID values
pysmb-1.1.8, 21 Dec 2013
========================
- Fix a bug in storeFile() method when the destination file is not overwritten if
it exists in SMB1 communication
- 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.
pysmb-1.1.7, 27 Sep 2013
========================
- Improve listShares() function which can fail with the listing response is
separated into multiple SMB packets for large number of shares.
- Fix bug in python3 implementation where session connection can fail when
remote server supports message signing.
pysmb-1.1.6, 16 Aug 2013
========================
- Fix bug where the status of the SMB_COM_NEGOTIATE reply is not checked for error
before allowing further processing.
pysmb-1.1.5, 19 June 2013
=========================
- Adds support for Direct hosting of SMB over TCP/IP (TCP port: 445)
pysmb-1.1.4, 31 May 2013
========================
- Improve query performance for query IP addresses for NetBIOS names in
NetBIOSProtocol.py
- Fix bugs in SMBConnection when sending large data packets can result in
AssertionError.
pysmb-1.1.3, 18 Mar 2013
========================
- Fix bug which results in endless loop in SMBConnection when remote CIFS
server closes the connection.
pysmb-1.1.2, 28 Sep 2012
========================
- Improve queryIPForName() in nmb.NetBIOS and nmb.NBNSProtocol class to
return only server machine name and ignore workgroup names.
pysmb-1.1.1, 9 June 2012
========================
- Adds support for Python3. Noted that the Python3 SMB/NMB protocol implementations
for Twisted are not well-tested as Twisted (as of v12.1) is not Python3 ready yet.
- Adds support for retrieving list of shadow copies (also known as
"previous versions" in Windows). Note that not all Windows editions support shadow
copies.
pysmb-1.1.0, 1 June 2012
========================
- Adds SMB2 protocol implementation with signing for outgoing SMB2 messages.
pysmb will utilize SMB2 protocol with servers that support SMB2
(eg. Windows Vista, Windows 7 and Samba 3).
If the remote server does not support SMB2, pysmb will fall back automatically
to using SMB1 protocol.
pysmb-1.0.5, 7 May 2012
=======================
- Add supports for SMB message signing. pysmb will sign all SMB messages from
the CIFS client to the server, but it does not verify the signatures of the
SMB messages from the server.
pysmb-1.0.4, 1 May 2012
=======================
- Adds support for "smb://" URL in urllib2 python packages to retrieve or upload
files from/to remote CIFS servers.
- Improve documentation
pysmb-1.0.3, 28 April 2012
===========================
- Fix a crash in SMB._storFile() method which occurs when the remote CIFS server
utilizes a max raw size larger than 65535 bytes. The bug was discovered with
Windows 7 Pro SP1.
- Fix a bug in SMB._listPath() method where the files/folders time information are
not properly converted to Epoch time.
- Add NBNSProtocol.queryIPForName() and NetBIOS.queryIPForName() methods to
query for a machine's NetBIOS name at the given IP address.
- Add SMBProtocol.retrieveFileFromOffset() and SMBConnection.retrieveFileFromOffset()
methods for a finer control of file retrieval operation with read offset and write
limits.
pysmb-1.0.2, 31 March 2012
==========================
- Fix a bug in SMB._handleSessionChallenge() method in base.py where the domain attribute
was not used to generate the corresponding NTLM authentication packets, resulting in
the default WORKGROUP domain for used for all subsequent authentications.
pysmb-1.0.1, 25 Jan 2012
========================
- Fixes a bug in listPath() method which causes directory listing for
sub-directories to return an empty list.
- Fixes an incorrect implementation of the TRANS2_FIND_FIRST2 and
TRANS2_FIND_NEXT2 request/response handling which causes directory listing
to crash when the remote directory contains a certain number of entries.
pysmb-1.0.0, 25 Dec 2011
========================
- Completely rewrites pysmb. API is not compatible with previous pysmb-0.x.x
- Supports NTLMv1 and NTLMv2 authentication
- Adds in NMB/SMB protocol implementation for use with Twisted framework
- Tested with Windows XP SP3, Windows Vista, Windows 7 and Samba 3.x
- Requires Python 2.4.4 or later, and pyasn1. Not tested with Python3
pysmb-0.4.5, 22 Jun 2009
========================
- Prevents pysmb from failing when there are too many files/folders to
be returned in a single SMB TRANS2 call. pysmb will "resume" requesting
for more files/folders information in subsequent SMB TRANS2 requests.
pysmb-0.4.4, 12 Jan 2004
========================
- Add in support for AMK's Python Cryptography Toolkit which will be used
for DES password hashing. If AMK's pycrypto is found, it will be used
instead of mxCrypto.
pysmb-0.4.3, 22 Feb 2003
========================
- Fix a bug which fails to close the socket in nmb.py on socket exception
- Fix a bug which fails to close the NetBIOSSession in smb.py if the session
has not been properly established yet.
pysmb-0.4.2, 03 Aug 2002
========================
- Add new methods to SharedFile instances, get_mtime_epoch, get_atime_epoch
and get_ctime_epoch. These methods will return the mtime, atime and ctime in
epoch time rather than SMB time.
- Remove debugging printout in smb.py which has been released accidentally
with the last release.
- Fix a bug in smbcp which causes to local to remote copy to fail
pysmb-0.4.1, 22 Jun 2002
========================
- Fix a bug in smb.py which does not return the correct file size for files
with their archive bits turned off. This results in these files not being
retrieved or sent properly.
- Fix some typo error in the documentations
pysmb-0.4.0, 17 Apr 2002
========================
- Use NT LM0.12 dialect.
- New smb.SMBMachine class
- Add SMB.get_server_domain(), smb.get_server_os(), SMB.get_server_lanman()
pysmb-0.3.1, 12 Nov 2001
========================
- Fix a problem with some Windows server where an UID is required when server is in share mode.
Now, pysmb calls login() with empty authentication information when server is in share mode.
- Add TYPE_DOMAIN_MASTER constant and description to nmb.py.
pysmb-0.3.0, 10 Nov 2001
========================
- Add support for services in share mode. Minor changes to smb.SMB class API.
- Fix a bug in smb.py's __raw_retr_file which has failed to initialize the max_buf_size prior to usage.
- Fix a bug in smblistshare which fails to print the correct NMB error message
- Modify smb.py not throw AttributeError in the destructor when there is an error while creating a session
in the constructor
pysmb-0.2.0, 04 Oct 2001
========================
- Add support for encrypted authentication using DES
- Fix a bug(?) which treats all services and filenames as case-sensitive
pysmb-0.1.3, 03 Sep 2001
========================
- Fix a bug in smblistshare and smbdu which fails to catch the nmb.NetBIOSError raised when session
setup fails.
- Fix a bug in smb.SMB that arises from the change in nmb.NetBIOSSession which sends
the session port number as the remote host type.
pysmb-0.1.2, 01 Sep 2001
========================
- Fix a bug in nmb.NetBIOSSession which specifies a TYPE_WORKSTATION for remote host instead of TYPE_SERVER.
- Minor change to nmb.NetBIOSSession constructor API.
- Fix a bug in smbdu which raises OverflowError when printing long file size values.
- Fix a bug in smbcp which does not handle the destination path correctly when
the source file is copied to a different filename.
pysmb-0.1.1, 25 Aug 2001
========================
- Change nmb's NetBIOS and NetBIOSSession class such that they raise a NetBIOSError
with a tuple of ( err_msg, err_class, err_code )
- Add a function strerror() in both smb and nmb to return human readable messages
for error codes.
- Fix a bug in smbcp which fails to print an error message and terminate when the
remote source path is not found.
- Add in another utility, smblistshare.
pysmb-0.1.0, 20 Aug 2001
========================
- First public release