Update docs
Michael Teo
9 years ago
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
0 | 0 | # Sphinx build info version 1 |
1 | 1 | # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. |
2 | config: 7957001a5782e912cc1e1d91689e5bcd | |
2 | config: a42114e33de6782bb30ba5a44ec67f36 | |
3 | 3 | tags: 645f666f9bcd5a90fca523b33c5a78b7 |
5 | 5 | <head> |
6 | 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
7 | 7 | |
8 | <title>Overview: module code — pysmb 1.1.10 documentation</title> | |
8 | <title>Overview: module code — pysmb 1.1.15 documentation</title> | |
9 | 9 | |
10 | 10 | <link rel="stylesheet" href="../_static/sphinxdoc.css" type="text/css" /> |
11 | 11 | <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> |
13 | 13 | <script type="text/javascript"> |
14 | 14 | var DOCUMENTATION_OPTIONS = { |
15 | 15 | URL_ROOT: '../', |
16 | VERSION: '1.1.10', | |
16 | VERSION: '1.1.15', | |
17 | 17 | COLLAPSE_INDEX: false, |
18 | 18 | FILE_SUFFIX: '.html', |
19 | 19 | HAS_SOURCE: true |
22 | 22 | <script type="text/javascript" src="../_static/jquery.js"></script> |
23 | 23 | <script type="text/javascript" src="../_static/underscore.js"></script> |
24 | 24 | <script type="text/javascript" src="../_static/doctools.js"></script> |
25 | <link rel="top" title="pysmb 1.1.10 documentation" href="../index.html" /> | |
25 | <link rel="top" title="pysmb 1.1.15 documentation" href="../index.html" /> | |
26 | 26 | </head> |
27 | 27 | <body> |
28 | 28 | <div class="related"> |
31 | 31 | <li class="right" style="margin-right: 10px"> |
32 | 32 | <a href="../genindex.html" title="General Index" |
33 | 33 | accesskey="I">index</a></li> |
34 | <li><a href="../index.html">pysmb 1.1.10 documentation</a> »</li> | |
34 | <li><a href="../index.html">pysmb 1.1.15 documentation</a> »</li> | |
35 | 35 | </ul> |
36 | 36 | </div> |
37 | 37 | <div class="sphinxsidebar"> |
77 | 77 | <li class="right" style="margin-right: 10px"> |
78 | 78 | <a href="../genindex.html" title="General Index" |
79 | 79 | >index</a></li> |
80 | <li><a href="../index.html">pysmb 1.1.10 documentation</a> »</li> | |
80 | <li><a href="../index.html">pysmb 1.1.15 documentation</a> »</li> | |
81 | 81 | </ul> |
82 | 82 | </div> |
83 | 83 | <div class="footer"> |
84 | © Copyright 2001-2014, Michael Teo http://miketeo.net/. | |
84 | © Copyright 2001-2015, Michael Teo http://miketeo.net/. | |
85 | 85 | Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2. |
86 | 86 | </div> |
87 | 87 | </body> |
5 | 5 | <head> |
6 | 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
7 | 7 | |
8 | <title>nmb.NetBIOS — pysmb 1.1.10 documentation</title> | |
8 | <title>nmb.NetBIOS — pysmb 1.1.15 documentation</title> | |
9 | 9 | |
10 | 10 | <link rel="stylesheet" href="../../_static/sphinxdoc.css" type="text/css" /> |
11 | 11 | <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" /> |
13 | 13 | <script type="text/javascript"> |
14 | 14 | var DOCUMENTATION_OPTIONS = { |
15 | 15 | URL_ROOT: '../../', |
16 | VERSION: '1.1.10', | |
16 | VERSION: '1.1.15', | |
17 | 17 | COLLAPSE_INDEX: false, |
18 | 18 | FILE_SUFFIX: '.html', |
19 | 19 | HAS_SOURCE: true |
22 | 22 | <script type="text/javascript" src="../../_static/jquery.js"></script> |
23 | 23 | <script type="text/javascript" src="../../_static/underscore.js"></script> |
24 | 24 | <script type="text/javascript" src="../../_static/doctools.js"></script> |
25 | <link rel="top" title="pysmb 1.1.10 documentation" href="../../index.html" /> | |
25 | <link rel="top" title="pysmb 1.1.15 documentation" href="../../index.html" /> | |
26 | 26 | <link rel="up" title="Module code" href="../index.html" /> |
27 | 27 | </head> |
28 | 28 | <body> |
32 | 32 | <li class="right" style="margin-right: 10px"> |
33 | 33 | <a href="../../genindex.html" title="General Index" |
34 | 34 | accesskey="I">index</a></li> |
35 | <li><a href="../../index.html">pysmb 1.1.10 documentation</a> »</li> | |
35 | <li><a href="../../index.html">pysmb 1.1.15 documentation</a> »</li> | |
36 | 36 | <li><a href="../index.html" accesskey="U">Module code</a> »</li> |
37 | 37 | </ul> |
38 | 38 | </div> |
135 | 135 | <span class="k">assert</span> <span class="bp">self</span><span class="o">.</span><span class="n">sock</span><span class="p">,</span> <span class="s">'Socket is already closed'</span> |
136 | 136 | |
137 | 137 | <span class="n">trn_id</span> <span class="o">=</span> <span class="n">random</span><span class="o">.</span><span class="n">randint</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mh">0xFFFF</span><span class="p">)</span> |
138 | <span class="n">data</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">prepareNetNameQuery</span><span class="p">(</span><span class="n">trn_id</span><span class="p">)</span> | |
138 | <span class="n">data</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">prepareNetNameQuery</span><span class="p">(</span><span class="n">trn_id</span><span class="p">,</span> <span class="bp">False</span><span class="p">)</span> | |
139 | 139 | <span class="bp">self</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="n">ip</span><span class="p">,</span> <span class="n">port</span><span class="p">)</span> |
140 | 140 | <span class="n">ret</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_pollForQueryPacket</span><span class="p">(</span><span class="n">trn_id</span><span class="p">,</span> <span class="n">timeout</span><span class="p">)</span> |
141 | 141 | <span class="k">if</span> <span class="n">ret</span><span class="p">:</span> |
216 | 216 | <li class="right" style="margin-right: 10px"> |
217 | 217 | <a href="../../genindex.html" title="General Index" |
218 | 218 | >index</a></li> |
219 | <li><a href="../../index.html">pysmb 1.1.10 documentation</a> »</li> | |
219 | <li><a href="../../index.html">pysmb 1.1.15 documentation</a> »</li> | |
220 | 220 | <li><a href="../index.html" >Module code</a> »</li> |
221 | 221 | </ul> |
222 | 222 | </div> |
223 | 223 | <div class="footer"> |
224 | © Copyright 2001-2014, Michael Teo http://miketeo.net/. | |
224 | © Copyright 2001-2015, Michael Teo http://miketeo.net/. | |
225 | 225 | Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2. |
226 | 226 | </div> |
227 | 227 | </body> |
5 | 5 | <head> |
6 | 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
7 | 7 | |
8 | <title>nmb.NetBIOSProtocol — pysmb 1.1.10 documentation</title> | |
8 | <title>nmb.NetBIOSProtocol — pysmb 1.1.15 documentation</title> | |
9 | 9 | |
10 | 10 | <link rel="stylesheet" href="../../_static/sphinxdoc.css" type="text/css" /> |
11 | 11 | <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" /> |
13 | 13 | <script type="text/javascript"> |
14 | 14 | var DOCUMENTATION_OPTIONS = { |
15 | 15 | URL_ROOT: '../../', |
16 | VERSION: '1.1.10', | |
16 | VERSION: '1.1.15', | |
17 | 17 | COLLAPSE_INDEX: false, |
18 | 18 | FILE_SUFFIX: '.html', |
19 | 19 | HAS_SOURCE: true |
22 | 22 | <script type="text/javascript" src="../../_static/jquery.js"></script> |
23 | 23 | <script type="text/javascript" src="../../_static/underscore.js"></script> |
24 | 24 | <script type="text/javascript" src="../../_static/doctools.js"></script> |
25 | <link rel="top" title="pysmb 1.1.10 documentation" href="../../index.html" /> | |
25 | <link rel="top" title="pysmb 1.1.15 documentation" href="../../index.html" /> | |
26 | 26 | <link rel="up" title="Module code" href="../index.html" /> |
27 | 27 | </head> |
28 | 28 | <body> |
32 | 32 | <li class="right" style="margin-right: 10px"> |
33 | 33 | <a href="../../genindex.html" title="General Index" |
34 | 34 | accesskey="I">index</a></li> |
35 | <li><a href="../../index.html">pysmb 1.1.10 documentation</a> »</li> | |
35 | <li><a href="../../index.html">pysmb 1.1.15 documentation</a> »</li> | |
36 | 36 | <li><a href="../index.html" accesskey="U">Module code</a> »</li> |
37 | 37 | </ul> |
38 | 38 | </div> |
208 | 208 | <li class="right" style="margin-right: 10px"> |
209 | 209 | <a href="../../genindex.html" title="General Index" |
210 | 210 | >index</a></li> |
211 | <li><a href="../../index.html">pysmb 1.1.10 documentation</a> »</li> | |
211 | <li><a href="../../index.html">pysmb 1.1.15 documentation</a> »</li> | |
212 | 212 | <li><a href="../index.html" >Module code</a> »</li> |
213 | 213 | </ul> |
214 | 214 | </div> |
215 | 215 | <div class="footer"> |
216 | © Copyright 2001-2014, Michael Teo http://miketeo.net/. | |
216 | © Copyright 2001-2015, Michael Teo http://miketeo.net/. | |
217 | 217 | Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2. |
218 | 218 | </div> |
219 | 219 | </body> |
5 | 5 | <head> |
6 | 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
7 | 7 | |
8 | <title>smb.SMBConnection — pysmb 1.1.10 documentation</title> | |
8 | <title>smb.SMBConnection — pysmb 1.1.15 documentation</title> | |
9 | 9 | |
10 | 10 | <link rel="stylesheet" href="../../_static/sphinxdoc.css" type="text/css" /> |
11 | 11 | <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" /> |
13 | 13 | <script type="text/javascript"> |
14 | 14 | var DOCUMENTATION_OPTIONS = { |
15 | 15 | URL_ROOT: '../../', |
16 | VERSION: '1.1.10', | |
16 | VERSION: '1.1.15', | |
17 | 17 | COLLAPSE_INDEX: false, |
18 | 18 | FILE_SUFFIX: '.html', |
19 | 19 | HAS_SOURCE: true |
22 | 22 | <script type="text/javascript" src="../../_static/jquery.js"></script> |
23 | 23 | <script type="text/javascript" src="../../_static/underscore.js"></script> |
24 | 24 | <script type="text/javascript" src="../../_static/doctools.js"></script> |
25 | <link rel="top" title="pysmb 1.1.10 documentation" href="../../index.html" /> | |
25 | <link rel="top" title="pysmb 1.1.15 documentation" href="../../index.html" /> | |
26 | 26 | <link rel="up" title="Module code" href="../index.html" /> |
27 | 27 | </head> |
28 | 28 | <body> |
32 | 32 | <li class="right" style="margin-right: 10px"> |
33 | 33 | <a href="../../genindex.html" title="General Index" |
34 | 34 | accesskey="I">index</a></li> |
35 | <li><a href="../../index.html">pysmb 1.1.10 documentation</a> »</li> | |
35 | <li><a href="../../index.html">pysmb 1.1.15 documentation</a> »</li> | |
36 | 36 | <li><a href="../index.html" accesskey="U">Module code</a> »</li> |
37 | 37 | </ul> |
38 | 38 | </div> |
160 | 160 | |
161 | 161 | <span class="bp">self</span><span class="o">.</span><span class="n">auth_result</span> <span class="o">=</span> <span class="bp">None</span> |
162 | 162 | <span class="bp">self</span><span class="o">.</span><span class="n">sock</span> <span class="o">=</span> <span class="n">socket</span><span class="o">.</span><span class="n">socket</span><span class="p">(</span><span class="n">sock_family</span><span class="p">)</span> |
163 | <span class="bp">self</span><span class="o">.</span><span class="n">sock</span><span class="o">.</span><span class="n">connect_ex</span><span class="p">((</span> <span class="n">ip</span><span class="p">,</span> <span class="n">port</span> <span class="p">))</span> | |
163 | <span class="bp">self</span><span class="o">.</span><span class="n">sock</span><span class="o">.</span><span class="n">settimeout</span><span class="p">(</span><span class="n">timeout</span><span class="p">)</span> | |
164 | <span class="bp">self</span><span class="o">.</span><span class="n">sock</span><span class="o">.</span><span class="n">connect</span><span class="p">((</span> <span class="n">ip</span><span class="p">,</span> <span class="n">port</span> <span class="p">))</span> | |
164 | 165 | |
165 | 166 | <span class="bp">self</span><span class="o">.</span><span class="n">is_busy</span> <span class="o">=</span> <span class="bp">True</span> |
166 | 167 | <span class="k">try</span><span class="p">:</span> |
361 | 362 | <span class="bp">self</span><span class="o">.</span><span class="n">is_busy</span> <span class="o">=</span> <span class="bp">False</span> |
362 | 363 | |
363 | 364 | <span class="k">return</span> <span class="n">results</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> |
364 | ||
365 | ||
365 | 366 | <span class="k">def</span> <span class="nf">storeFile</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">service_name</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="n">file_obj</span><span class="p">,</span> <span class="n">timeout</span> <span class="o">=</span> <span class="mi">30</span><span class="p">):</span></div> |
366 | 367 | <div class="viewcode-block" id="SMBConnection.storeFile"><a class="viewcode-back" href="../../api/smb_SMBConnection.html#smb.SMBConnection.SMBConnection.storeFile">[docs]</a> <span class="sd">"""</span> |
367 | 368 | <span class="sd"> Store the contents of the *file_obj* at *path* on the *service_name*.</span> |
369 | <span class="sd"> If the file already exists on the remote server, it will be truncated and overwritten.</span> | |
368 | 370 | |
369 | 371 | <span class="sd"> :param string/unicode service_name: the name of the shared folder for the *path*</span> |
370 | 372 | <span class="sd"> :param string/unicode path: Path of the file on the remote server. If the file at *path* does not exist, it will be created. Otherwise, it will be overwritten.</span> |
372 | 374 | <span class="sd"> :param file_obj: A file-like object that has a *read* method. Data will read continuously from *file_obj* until EOF.</span> |
373 | 375 | <span class="sd"> :return: Number of bytes uploaded</span> |
374 | 376 | <span class="sd"> """</span> |
377 | <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">storeFileFromOffset</span><span class="p">(</span><span class="n">service_name</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="n">file_obj</span><span class="p">,</span> <span class="il">0L</span><span class="p">,</span> <span class="bp">True</span><span class="p">,</span> <span class="n">timeout</span><span class="p">)</span> | |
378 | ||
379 | <span class="k">def</span> <span class="nf">storeFileFromOffset</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">service_name</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="n">file_obj</span><span class="p">,</span> <span class="n">offset</span> <span class="o">=</span> <span class="il">0L</span><span class="p">,</span> <span class="n">truncate</span> <span class="o">=</span> <span class="bp">False</span><span class="p">,</span> <span class="n">timeout</span> <span class="o">=</span> <span class="mi">30</span><span class="p">):</span></div> | |
380 | <div class="viewcode-block" id="SMBConnection.storeFileFromOffset"><a class="viewcode-back" href="../../api/smb_SMBConnection.html#smb.SMBConnection.SMBConnection.storeFileFromOffset">[docs]</a> <span class="sd">"""</span> | |
381 | <span class="sd"> Store the contents of the *file_obj* at *path* on the *service_name*.</span> | |
382 | ||
383 | <span class="sd"> :param string/unicode service_name: the name of the shared folder for the *path*</span> | |
384 | <span class="sd"> :param string/unicode path: Path of the file on the remote server. If the file at *path* does not exist, it will be created.</span> | |
385 | <span class="sd"> If the *path* refers to a folder or the file cannot be opened for writing, an :doc:`OperationFailure<smb_exceptions>` will be raised.</span> | |
386 | <span class="sd"> :param file_obj: A file-like object that has a *read* method. Data will read continuously from *file_obj* until EOF.</span> | |
387 | <span class="sd"> :param offset: Long integer value which specifies the offset in the remote server to start writing. First byte of the file is 0.</span> | |
388 | <span class="sd"> :param truncate: Boolean value. If True and the file exists on the remote server, it will be truncated first before writing. Default is False.</span> | |
389 | <span class="sd"> :return: the file position where the next byte will be written.</span> | |
390 | <span class="sd"> """</span> | |
375 | 391 | <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">sock</span><span class="p">:</span> |
376 | 392 | <span class="k">raise</span> <span class="n">NotConnectedError</span><span class="p">(</span><span class="s">'Not connected to server'</span><span class="p">)</span> |
377 | 393 | |
387 | 403 | |
388 | 404 | <span class="bp">self</span><span class="o">.</span><span class="n">is_busy</span> <span class="o">=</span> <span class="bp">True</span> |
389 | 405 | <span class="k">try</span><span class="p">:</span> |
390 | <span class="bp">self</span><span class="o">.</span><span class="n">_storeFile</span><span class="p">(</span><span class="n">service_name</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="n">file_obj</span><span class="p">,</span> <span class="n">cb</span><span class="p">,</span> <span class="n">eb</span><span class="p">,</span> <span class="n">timeout</span> <span class="o">=</span> <span class="n">timeout</span><span class="p">)</span> | |
406 | <span class="bp">self</span><span class="o">.</span><span class="n">_storeFileFromOffset</span><span class="p">(</span><span class="n">service_name</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="n">file_obj</span><span class="p">,</span> <span class="n">cb</span><span class="p">,</span> <span class="n">eb</span><span class="p">,</span> <span class="n">offset</span><span class="p">,</span> <span class="n">truncate</span> <span class="o">=</span> <span class="n">truncate</span><span class="p">,</span> <span class="n">timeout</span> <span class="o">=</span> <span class="n">timeout</span><span class="p">)</span> | |
391 | 407 | <span class="k">while</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_busy</span><span class="p">:</span> |
392 | 408 | <span class="bp">self</span><span class="o">.</span><span class="n">_pollForNetBIOSPacket</span><span class="p">(</span><span class="n">timeout</span><span class="p">)</span> |
393 | 409 | <span class="k">finally</span><span class="p">:</span> |
607 | 623 | <li class="right" style="margin-right: 10px"> |
608 | 624 | <a href="../../genindex.html" title="General Index" |
609 | 625 | >index</a></li> |
610 | <li><a href="../../index.html">pysmb 1.1.10 documentation</a> »</li> | |
626 | <li><a href="../../index.html">pysmb 1.1.15 documentation</a> »</li> | |
611 | 627 | <li><a href="../index.html" >Module code</a> »</li> |
612 | 628 | </ul> |
613 | 629 | </div> |
614 | 630 | <div class="footer"> |
615 | © Copyright 2001-2014, Michael Teo http://miketeo.net/. | |
631 | © Copyright 2001-2015, Michael Teo http://miketeo.net/. | |
616 | 632 | Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2. |
617 | 633 | </div> |
618 | 634 | </body> |
5 | 5 | <head> |
6 | 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
7 | 7 | |
8 | <title>smb.SMBProtocol — pysmb 1.1.10 documentation</title> | |
8 | <title>smb.SMBProtocol — pysmb 1.1.15 documentation</title> | |
9 | 9 | |
10 | 10 | <link rel="stylesheet" href="../../_static/sphinxdoc.css" type="text/css" /> |
11 | 11 | <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" /> |
13 | 13 | <script type="text/javascript"> |
14 | 14 | var DOCUMENTATION_OPTIONS = { |
15 | 15 | URL_ROOT: '../../', |
16 | VERSION: '1.1.10', | |
16 | VERSION: '1.1.15', | |
17 | 17 | COLLAPSE_INDEX: false, |
18 | 18 | FILE_SUFFIX: '.html', |
19 | 19 | HAS_SOURCE: true |
22 | 22 | <script type="text/javascript" src="../../_static/jquery.js"></script> |
23 | 23 | <script type="text/javascript" src="../../_static/underscore.js"></script> |
24 | 24 | <script type="text/javascript" src="../../_static/doctools.js"></script> |
25 | <link rel="top" title="pysmb 1.1.10 documentation" href="../../index.html" /> | |
25 | <link rel="top" title="pysmb 1.1.15 documentation" href="../../index.html" /> | |
26 | 26 | <link rel="up" title="Module code" href="../index.html" /> |
27 | 27 | </head> |
28 | 28 | <body> |
32 | 32 | <li class="right" style="margin-right: 10px"> |
33 | 33 | <a href="../../genindex.html" title="General Index" |
34 | 34 | accesskey="I">index</a></li> |
35 | <li><a href="../../index.html">pysmb 1.1.10 documentation</a> »</li> | |
35 | <li><a href="../../index.html">pysmb 1.1.15 documentation</a> »</li> | |
36 | 36 | <li><a href="../index.html" accesskey="U">Module code</a> »</li> |
37 | 37 | </ul> |
38 | 38 | </div> |
469 | 469 | <li class="right" style="margin-right: 10px"> |
470 | 470 | <a href="../../genindex.html" title="General Index" |
471 | 471 | >index</a></li> |
472 | <li><a href="../../index.html">pysmb 1.1.10 documentation</a> »</li> | |
472 | <li><a href="../../index.html">pysmb 1.1.15 documentation</a> »</li> | |
473 | 473 | <li><a href="../index.html" >Module code</a> »</li> |
474 | 474 | </ul> |
475 | 475 | </div> |
476 | 476 | <div class="footer"> |
477 | © Copyright 2001-2014, Michael Teo http://miketeo.net/. | |
477 | © Copyright 2001-2015, Michael Teo http://miketeo.net/. | |
478 | 478 | Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2. |
479 | 479 | </div> |
480 | 480 | </body> |
5 | 5 | <head> |
6 | 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
7 | 7 | |
8 | <title>smb.base — pysmb 1.1.10 documentation</title> | |
8 | <title>smb.base — pysmb 1.1.15 documentation</title> | |
9 | 9 | |
10 | 10 | <link rel="stylesheet" href="../../_static/sphinxdoc.css" type="text/css" /> |
11 | 11 | <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" /> |
13 | 13 | <script type="text/javascript"> |
14 | 14 | var DOCUMENTATION_OPTIONS = { |
15 | 15 | URL_ROOT: '../../', |
16 | VERSION: '1.1.10', | |
16 | VERSION: '1.1.15', | |
17 | 17 | COLLAPSE_INDEX: false, |
18 | 18 | FILE_SUFFIX: '.html', |
19 | 19 | HAS_SOURCE: true |
22 | 22 | <script type="text/javascript" src="../../_static/jquery.js"></script> |
23 | 23 | <script type="text/javascript" src="../../_static/underscore.js"></script> |
24 | 24 | <script type="text/javascript" src="../../_static/doctools.js"></script> |
25 | <link rel="top" title="pysmb 1.1.10 documentation" href="../../index.html" /> | |
25 | <link rel="top" title="pysmb 1.1.15 documentation" href="../../index.html" /> | |
26 | 26 | <link rel="up" title="Module code" href="../index.html" /> |
27 | 27 | </head> |
28 | 28 | <body> |
32 | 32 | <li class="right" style="margin-right: 10px"> |
33 | 33 | <a href="../../genindex.html" title="General Index" |
34 | 34 | accesskey="I">index</a></li> |
35 | <li><a href="../../index.html">pysmb 1.1.10 documentation</a> »</li> | |
35 | <li><a href="../../index.html">pysmb 1.1.15 documentation</a> »</li> | |
36 | 36 | <li><a href="../index.html" accesskey="U">Module code</a> »</li> |
37 | 37 | </ul> |
38 | 38 | </div> |
90 | 90 | <span class="k">pass</span> |
91 | 91 | |
92 | 92 | |
93 | <span class="k">class</span> <span class="nc">SMB</span><span class="p">(</span><span class="n">NMBSession</span><span class="p">):</span></div> | |
93 | <span class="k">def</span> <span class="nf">_convert_to_unicode</span><span class="p">(</span><span class="n">string</span><span class="p">):</span></div> | |
94 | <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">string</span><span class="p">,</span> <span class="nb">unicode</span><span class="p">):</span> | |
95 | <span class="n">string</span> <span class="o">=</span> <span class="nb">unicode</span><span class="p">(</span><span class="n">string</span><span class="p">,</span> <span class="s">"utf-8"</span><span class="p">)</span> | |
96 | <span class="k">return</span> <span class="n">string</span> | |
97 | ||
98 | ||
99 | <span class="k">class</span> <span class="nc">SMB</span><span class="p">(</span><span class="n">NMBSession</span><span class="p">):</span> | |
94 | 100 | <span class="sd">"""</span> |
95 | 101 | <span class="sd"> This class represents a "connection" to the remote SMB/CIFS server.</span> |
96 | 102 | <span class="sd"> It is not meant to be used directly in an application as it does not have any network transport implementations.</span> |
113 | 119 | |
114 | 120 | <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">username</span><span class="p">,</span> <span class="n">password</span><span class="p">,</span> <span class="n">my_name</span><span class="p">,</span> <span class="n">remote_name</span><span class="p">,</span> <span class="n">domain</span> <span class="o">=</span> <span class="s">''</span><span class="p">,</span> <span class="n">use_ntlm_v2</span> <span class="o">=</span> <span class="bp">True</span><span class="p">,</span> <span class="n">sign_options</span> <span class="o">=</span> <span class="n">SIGN_WHEN_REQUIRED</span><span class="p">,</span> <span class="n">is_direct_tcp</span> <span class="o">=</span> <span class="bp">False</span><span class="p">):</span> |
115 | 121 | <span class="n">NMBSession</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">my_name</span><span class="p">,</span> <span class="n">remote_name</span><span class="p">,</span> <span class="n">is_direct_tcp</span> <span class="o">=</span> <span class="n">is_direct_tcp</span><span class="p">)</span> |
116 | <span class="bp">self</span><span class="o">.</span><span class="n">username</span> <span class="o">=</span> <span class="n">username</span> | |
117 | <span class="bp">self</span><span class="o">.</span><span class="n">password</span> <span class="o">=</span> <span class="n">password</span> | |
118 | <span class="bp">self</span><span class="o">.</span><span class="n">domain</span> <span class="o">=</span> <span class="n">domain</span> | |
122 | <span class="bp">self</span><span class="o">.</span><span class="n">username</span> <span class="o">=</span> <span class="n">_convert_to_unicode</span><span class="p">(</span><span class="n">username</span><span class="p">)</span> | |
123 | <span class="bp">self</span><span class="o">.</span><span class="n">password</span> <span class="o">=</span> <span class="n">_convert_to_unicode</span><span class="p">(</span><span class="n">password</span><span class="p">)</span> | |
124 | <span class="bp">self</span><span class="o">.</span><span class="n">domain</span> <span class="o">=</span> <span class="n">_convert_to_unicode</span><span class="p">(</span><span class="n">domain</span><span class="p">)</span> | |
119 | 125 | <span class="bp">self</span><span class="o">.</span><span class="n">sign_options</span> <span class="o">=</span> <span class="n">sign_options</span> |
120 | 126 | <span class="bp">self</span><span class="o">.</span><span class="n">is_direct_tcp</span> <span class="o">=</span> <span class="n">is_direct_tcp</span> |
121 | 127 | <span class="bp">self</span><span class="o">.</span><span class="n">use_ntlm_v2</span> <span class="o">=</span> <span class="n">use_ntlm_v2</span> <span class="c">#: Similar to LMAuthenticationPolicy and NTAuthenticationPolicy as described in [MS-CIFS] 3.2.1.1</span> |
232 | 238 | <span class="bp">self</span><span class="o">.</span><span class="n">_retrieveFile</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_retrieveFile_SMB1</span> |
233 | 239 | <span class="bp">self</span><span class="o">.</span><span class="n">_retrieveFileFromOffset</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_retrieveFileFromOffset_SMB1</span> |
234 | 240 | <span class="bp">self</span><span class="o">.</span><span class="n">_storeFile</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_storeFile_SMB1</span> |
241 | <span class="bp">self</span><span class="o">.</span><span class="n">_storeFileFromOffset</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_storeFileFromOffset_SMB1</span> | |
235 | 242 | <span class="bp">self</span><span class="o">.</span><span class="n">_deleteFiles</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_deleteFiles_SMB1</span> |
236 | 243 | <span class="bp">self</span><span class="o">.</span><span class="n">_createDirectory</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_createDirectory_SMB1</span> |
237 | 244 | <span class="bp">self</span><span class="o">.</span><span class="n">_deleteDirectory</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_deleteDirectory_SMB1</span> |
252 | 259 | <span class="bp">self</span><span class="o">.</span><span class="n">_retrieveFile</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_retrieveFile_SMB2</span> |
253 | 260 | <span class="bp">self</span><span class="o">.</span><span class="n">_retrieveFileFromOffset</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_retrieveFileFromOffset_SMB2</span> |
254 | 261 | <span class="bp">self</span><span class="o">.</span><span class="n">_storeFile</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_storeFile_SMB2</span> |
262 | <span class="bp">self</span><span class="o">.</span><span class="n">_storeFileFromOffset</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_storeFileFromOffset_SMB2</span> | |
255 | 263 | <span class="bp">self</span><span class="o">.</span><span class="n">_deleteFiles</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_deleteFiles_SMB2</span> |
256 | 264 | <span class="bp">self</span><span class="o">.</span><span class="n">_createDirectory</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_createDirectory_SMB2</span> |
257 | 265 | <span class="bp">self</span><span class="o">.</span><span class="n">_deleteDirectory</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_deleteDirectory_SMB2</span> |
753 | 761 | <span class="n">p</span> <span class="o">=</span> <span class="n">create_message</span><span class="o">.</span><span class="n">payload</span> |
754 | 762 | <span class="n">info</span> <span class="o">=</span> <span class="n">SharedFile</span><span class="p">(</span><span class="n">p</span><span class="o">.</span><span class="n">create_time</span><span class="p">,</span> <span class="n">p</span><span class="o">.</span><span class="n">lastaccess_time</span><span class="p">,</span> <span class="n">p</span><span class="o">.</span><span class="n">lastwrite_time</span><span class="p">,</span> <span class="n">p</span><span class="o">.</span><span class="n">change_time</span><span class="p">,</span> |
755 | 763 | <span class="n">p</span><span class="o">.</span><span class="n">file_size</span><span class="p">,</span> <span class="n">p</span><span class="o">.</span><span class="n">allocation_size</span><span class="p">,</span> <span class="n">p</span><span class="o">.</span><span class="n">file_attributes</span><span class="p">,</span> |
756 | <span class="n">path</span><span class="p">,</span> <span class="n">path</span><span class="p">)</span> | |
764 | <span class="nb">unicode</span><span class="p">(</span><span class="n">path</span><span class="p">),</span> <span class="nb">unicode</span><span class="p">(</span><span class="n">path</span><span class="p">))</span> | |
757 | 765 | <span class="n">closeFid</span><span class="p">(</span><span class="n">create_message</span><span class="o">.</span><span class="n">tid</span><span class="p">,</span> <span class="n">p</span><span class="o">.</span><span class="n">fid</span><span class="p">,</span> <span class="n">info</span> <span class="o">=</span> <span class="n">info</span><span class="p">)</span> |
758 | 766 | <span class="k">else</span><span class="p">:</span> |
759 | 767 | <span class="n">errback</span><span class="p">(</span><span class="n">OperationFailure</span><span class="p">(</span><span class="s">'Failed to get attributes for </span><span class="si">%s</span><span class="s"> on </span><span class="si">%s</span><span class="s">: Unable to open remote file object'</span> <span class="o">%</span> <span class="p">(</span> <span class="n">path</span><span class="p">,</span> <span class="n">service_name</span> <span class="p">),</span> <span class="n">messages_history</span><span class="p">))</span> |
918 | 926 | <span class="n">sendCreate</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">connected_trees</span><span class="p">[</span><span class="n">service_name</span><span class="p">])</span> |
919 | 927 | |
920 | 928 | <span class="k">def</span> <span class="nf">_storeFile_SMB2</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">service_name</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="n">file_obj</span><span class="p">,</span> <span class="n">callback</span><span class="p">,</span> <span class="n">errback</span><span class="p">,</span> <span class="n">timeout</span> <span class="o">=</span> <span class="mi">30</span><span class="p">):</span> |
929 | <span class="bp">self</span><span class="o">.</span><span class="n">_storeFileFromOffset_SMB2</span><span class="p">(</span><span class="n">service_name</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="n">file_obj</span><span class="p">,</span> <span class="n">callback</span><span class="p">,</span> <span class="n">errback</span><span class="p">,</span> <span class="il">0L</span><span class="p">,</span> <span class="bp">True</span><span class="p">,</span> <span class="n">timeout</span><span class="p">)</span> | |
930 | ||
931 | <span class="k">def</span> <span class="nf">_storeFileFromOffset_SMB2</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">service_name</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="n">file_obj</span><span class="p">,</span> <span class="n">callback</span><span class="p">,</span> <span class="n">errback</span><span class="p">,</span> <span class="n">starting_offset</span><span class="p">,</span> <span class="n">truncate</span> <span class="o">=</span> <span class="bp">False</span><span class="p">,</span> <span class="n">timeout</span> <span class="o">=</span> <span class="mi">30</span><span class="p">):</span> | |
921 | 932 | <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">has_authenticated</span><span class="p">:</span> |
922 | 933 | <span class="k">raise</span> <span class="n">NotReadyError</span><span class="p">(</span><span class="s">'SMB connection not authenticated'</span><span class="p">)</span> |
923 | 934 | |
946 | 957 | <span class="n">oplock</span> <span class="o">=</span> <span class="n">SMB2_OPLOCK_LEVEL_NONE</span><span class="p">,</span> |
947 | 958 | <span class="n">impersonation</span> <span class="o">=</span> <span class="n">SEC_IMPERSONATE</span><span class="p">,</span> |
948 | 959 | <span class="n">create_options</span> <span class="o">=</span> <span class="n">FILE_SEQUENTIAL_ONLY</span> <span class="o">|</span> <span class="n">FILE_NON_DIRECTORY_FILE</span><span class="p">,</span> |
949 | <span class="n">create_disp</span> <span class="o">=</span> <span class="n">FILE_OVERWRITE_IF</span><span class="p">,</span> | |
960 | <span class="n">create_disp</span> <span class="o">=</span> <span class="n">FILE_OVERWRITE_IF</span> <span class="k">if</span> <span class="n">truncate</span> <span class="k">else</span> <span class="n">FILE_OPEN_IF</span><span class="p">,</span> | |
950 | 961 | <span class="n">create_context_data</span> <span class="o">=</span> <span class="n">create_context_data</span><span class="p">))</span> |
951 | 962 | <span class="n">m</span><span class="o">.</span><span class="n">tid</span> <span class="o">=</span> <span class="n">tid</span> |
952 | 963 | <span class="bp">self</span><span class="o">.</span><span class="n">_sendSMBMessage</span><span class="p">(</span><span class="n">m</span><span class="p">)</span> |
956 | 967 | <span class="k">def</span> <span class="nf">createCB</span><span class="p">(</span><span class="n">create_message</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
957 | 968 | <span class="n">messages_history</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">create_message</span><span class="p">)</span> |
958 | 969 | <span class="k">if</span> <span class="n">create_message</span><span class="o">.</span><span class="n">status</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span> |
959 | <span class="n">sendWrite</span><span class="p">(</span><span class="n">create_message</span><span class="o">.</span><span class="n">tid</span><span class="p">,</span> <span class="n">create_message</span><span class="o">.</span><span class="n">payload</span><span class="o">.</span><span class="n">fid</span><span class="p">,</span> <span class="il">0L</span><span class="p">)</span> | |
970 | <span class="n">sendWrite</span><span class="p">(</span><span class="n">create_message</span><span class="o">.</span><span class="n">tid</span><span class="p">,</span> <span class="n">create_message</span><span class="o">.</span><span class="n">payload</span><span class="o">.</span><span class="n">fid</span><span class="p">,</span> <span class="n">starting_offset</span><span class="p">)</span> | |
960 | 971 | <span class="k">else</span><span class="p">:</span> |
961 | 972 | <span class="n">errback</span><span class="p">(</span><span class="n">OperationFailure</span><span class="p">(</span><span class="s">'Failed to store </span><span class="si">%s</span><span class="s"> on </span><span class="si">%s</span><span class="s">: Unable to open file'</span> <span class="o">%</span> <span class="p">(</span> <span class="n">path</span><span class="p">,</span> <span class="n">service_name</span> <span class="p">),</span> <span class="n">messages_history</span><span class="p">))</span> |
962 | 973 | |
1275 | 1286 | <span class="n">old_path</span> <span class="o">=</span> <span class="n">old_path</span><span class="p">[</span><span class="mi">1</span><span class="p">:]</span> |
1276 | 1287 | <span class="k">if</span> <span class="n">old_path</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s">'</span><span class="se">\\</span><span class="s">'</span><span class="p">):</span> |
1277 | 1288 | <span class="n">old_path</span> <span class="o">=</span> <span class="n">old_path</span><span class="p">[:</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> |
1278 | ||
1289 | ||
1279 | 1290 | <span class="k">def</span> <span class="nf">sendCreate</span><span class="p">(</span><span class="n">tid</span><span class="p">):</span> |
1280 | 1291 | <span class="n">create_context_data</span> <span class="o">=</span> <span class="n">binascii</span><span class="o">.</span><span class="n">unhexlify</span><span class="p">(</span><span class="s">"""</span> |
1281 | <span class="s">20 00 00 00 10 00 04 00 00 00 18 00 08 00 00 00</span> | |
1282 | <span class="s">4d 78 41 63 00 00 00 00 00 00 00 00 ff 01 1f 00</span> | |
1283 | <span class="s">00 00 00 00 10 00 04 00 00 00 18 00 20 00 00 00</span> | |
1284 | <span class="s">51 46 69 64 00 00 00 00 14 e7 01 00 00 00 50 00</span> | |
1285 | <span class="s">30 e0 4c 0b 80 fa ff ff 00 00 00 00 00 00 00 00</span> | |
1286 | <span class="s">00 00 00 00 00 00 00 00</span> | |
1292 | <span class="s">28 00 00 00 10 00 04 00 00 00 18 00 10 00 00 00</span> | |
1293 | <span class="s">44 48 6e 51 00 00 00 00 00 00 00 00 00 00 00 00</span> | |
1294 | <span class="s">00 00 00 00 00 00 00 00 18 00 00 00 10 00 04 00</span> | |
1295 | <span class="s">00 00 18 00 00 00 00 00 4d 78 41 63 00 00 00 00</span> | |
1296 | <span class="s">00 00 00 00 10 00 04 00 00 00 18 00 00 00 00 00</span> | |
1297 | <span class="s">51 46 69 64 00 00 00 00</span> | |
1287 | 1298 | <span class="s">"""</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s">' '</span><span class="p">,</span> <span class="s">''</span><span class="p">)</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s">'</span><span class="se">\n</span><span class="s">'</span><span class="p">,</span> <span class="s">''</span><span class="p">))</span> |
1288 | 1299 | <span class="n">m</span> <span class="o">=</span> <span class="n">SMB2Message</span><span class="p">(</span><span class="n">SMB2CreateRequest</span><span class="p">(</span><span class="n">old_path</span><span class="p">,</span> |
1289 | 1300 | <span class="n">file_attributes</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span> |
1468 | 1479 | <span class="k">def</span> <span class="nf">_sendSMBMessage_SMB1</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">smb_message</span><span class="p">):</span> |
1469 | 1480 | <span class="k">if</span> <span class="n">smb_message</span><span class="o">.</span><span class="n">mid</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span> |
1470 | 1481 | <span class="n">smb_message</span><span class="o">.</span><span class="n">mid</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_getNextMID_SMB1</span><span class="p">()</span> |
1471 | <span class="n">smb_message</span><span class="o">.</span><span class="n">uid</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">uid</span> | |
1482 | <span class="k">if</span> <span class="ow">not</span> <span class="n">smb_message</span><span class="o">.</span><span class="n">uid</span><span class="p">:</span> | |
1483 | <span class="n">smb_message</span><span class="o">.</span><span class="n">uid</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">uid</span> | |
1472 | 1484 | <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_signing_active</span><span class="p">:</span> |
1473 | 1485 | <span class="n">smb_message</span><span class="o">.</span><span class="n">flags2</span> <span class="o">|=</span> <span class="n">SMB_FLAGS2_SMB_SECURITY_SIGNATURE</span> |
1474 | 1486 | |
1514 | 1526 | <span class="k">try</span><span class="p">:</span> |
1515 | 1527 | <span class="n">result</span> <span class="o">=</span> <span class="n">securityblob</span><span class="o">.</span><span class="n">decodeAuthResponseSecurityBlob</span><span class="p">(</span><span class="n">message</span><span class="o">.</span><span class="n">payload</span><span class="o">.</span><span class="n">security_blob</span><span class="p">)</span> |
1516 | 1528 | <span class="k">if</span> <span class="n">result</span> <span class="o">==</span> <span class="n">securityblob</span><span class="o">.</span><span class="n">RESULT_ACCEPT_COMPLETED</span><span class="p">:</span> |
1529 | <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">'SMB uid is now </span><span class="si">%d</span><span class="s">'</span><span class="p">,</span> <span class="n">message</span><span class="o">.</span><span class="n">uid</span><span class="p">)</span> | |
1530 | <span class="bp">self</span><span class="o">.</span><span class="n">uid</span> <span class="o">=</span> <span class="n">message</span><span class="o">.</span><span class="n">uid</span> | |
1517 | 1531 | <span class="bp">self</span><span class="o">.</span><span class="n">has_authenticated</span> <span class="o">=</span> <span class="bp">True</span> |
1518 | 1532 | <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s">'Authentication (with extended security) successful!'</span><span class="p">)</span> |
1519 | 1533 | <span class="bp">self</span><span class="o">.</span><span class="n">onAuthOK</span><span class="p">()</span> |
1537 | 1551 | <span class="n">message</span><span class="o">.</span><span class="n">raw_data</span><span class="p">,</span> <span class="n">message</span><span class="p">)</span> |
1538 | 1552 | <span class="k">else</span><span class="p">:</span> |
1539 | 1553 | <span class="k">if</span> <span class="n">message</span><span class="o">.</span><span class="n">status</span><span class="o">.</span><span class="n">internal_value</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span> |
1554 | <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">'SMB uid is now </span><span class="si">%d</span><span class="s">'</span><span class="p">,</span> <span class="n">message</span><span class="o">.</span><span class="n">uid</span><span class="p">)</span> | |
1555 | <span class="bp">self</span><span class="o">.</span><span class="n">uid</span> <span class="o">=</span> <span class="n">message</span><span class="o">.</span><span class="n">uid</span> | |
1540 | 1556 | <span class="bp">self</span><span class="o">.</span><span class="n">has_authenticated</span> <span class="o">=</span> <span class="bp">True</span> |
1541 | 1557 | <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s">'Authentication (without extended security) successful!'</span><span class="p">)</span> |
1542 | 1558 | <span class="bp">self</span><span class="o">.</span><span class="n">onAuthOK</span><span class="p">()</span> |
1575 | 1591 | <span class="k">assert</span> <span class="n">message</span><span class="o">.</span><span class="n">hasExtendedSecurity</span> |
1576 | 1592 | |
1577 | 1593 | <span class="k">if</span> <span class="n">message</span><span class="o">.</span><span class="n">uid</span> <span class="ow">and</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">uid</span><span class="p">:</span> |
1578 | <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">'SMB uid is now </span><span class="si">%d</span><span class="s">'</span><span class="p">,</span> <span class="n">message</span><span class="o">.</span><span class="n">uid</span><span class="p">)</span> | |
1579 | 1594 | <span class="bp">self</span><span class="o">.</span><span class="n">uid</span> <span class="o">=</span> <span class="n">message</span><span class="o">.</span><span class="n">uid</span> |
1580 | 1595 | |
1581 | 1596 | <span class="n">server_challenge</span><span class="p">,</span> <span class="n">server_flags</span><span class="p">,</span> <span class="n">server_info</span> <span class="o">=</span> <span class="n">ntlm</span><span class="o">.</span><span class="n">decodeChallengeMessage</span><span class="p">(</span><span class="n">ntlm_token</span><span class="p">)</span> |
1627 | 1642 | |
1628 | 1643 | <span class="k">def</span> <span class="nf">_handleNegotiateResponse_SMB1</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">message</span><span class="p">):</span> |
1629 | 1644 | <span class="k">if</span> <span class="n">message</span><span class="o">.</span><span class="n">uid</span> <span class="ow">and</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">uid</span><span class="p">:</span> |
1630 | <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">'SMB uid is now </span><span class="si">%d</span><span class="s">'</span><span class="p">,</span> <span class="n">message</span><span class="o">.</span><span class="n">uid</span><span class="p">)</span> | |
1631 | 1645 | <span class="bp">self</span><span class="o">.</span><span class="n">uid</span> <span class="o">=</span> <span class="n">message</span><span class="o">.</span><span class="n">uid</span> |
1632 | 1646 | |
1633 | 1647 | <span class="k">if</span> <span class="n">message</span><span class="o">.</span><span class="n">hasExtendedSecurity</span> <span class="ow">or</span> <span class="n">message</span><span class="o">.</span><span class="n">payload</span><span class="o">.</span><span class="n">supportsExtendedSecurity</span><span class="p">:</span> |
1808 | 1822 | <span class="bp">self</span><span class="o">.</span><span class="n">_sendSMBMessage</span><span class="p">(</span><span class="n">m</span><span class="p">)</span> |
1809 | 1823 | <span class="n">messages_history</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">m</span><span class="p">)</span> |
1810 | 1824 | |
1811 | <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">connected_trees</span><span class="o">.</span><span class="n">has_key</span><span class="p">(</span><span class="n">path</span><span class="p">):</span> | |
1812 | <span class="k">def</span> <span class="nf">connectCB</span><span class="p">(</span><span class="n">connect_message</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> | |
1813 | <span class="n">messages_history</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">connect_message</span><span class="p">)</span> | |
1814 | <span class="k">if</span> <span class="ow">not</span> <span class="n">connect_message</span><span class="o">.</span><span class="n">status</span><span class="o">.</span><span class="n">hasError</span><span class="p">:</span> | |
1815 | <span class="bp">self</span><span class="o">.</span><span class="n">connected_trees</span><span class="p">[</span><span class="n">path</span><span class="p">]</span> <span class="o">=</span> <span class="n">connect_message</span><span class="o">.</span><span class="n">tid</span> | |
1816 | <span class="n">connectSrvSvc</span><span class="p">(</span><span class="n">connect_message</span><span class="o">.</span><span class="n">tid</span><span class="p">)</span> | |
1817 | <span class="k">else</span><span class="p">:</span> | |
1818 | <span class="n">errback</span><span class="p">(</span><span class="n">OperationFailure</span><span class="p">(</span><span class="s">'Failed to list shares: Unable to connect to IPC$'</span><span class="p">,</span> <span class="n">messages_history</span><span class="p">))</span> | |
1819 | ||
1820 | <span class="n">m</span> <span class="o">=</span> <span class="n">SMBMessage</span><span class="p">(</span><span class="n">ComTreeConnectAndxRequest</span><span class="p">(</span><span class="s">r'</span><span class="se">\\</span><span class="si">%s</span><span class="s">\</span><span class="si">%s</span><span class="s">'</span> <span class="o">%</span> <span class="p">(</span> <span class="bp">self</span><span class="o">.</span><span class="n">remote_name</span><span class="o">.</span><span class="n">upper</span><span class="p">(),</span> <span class="n">path</span> <span class="p">),</span> <span class="n">SERVICE_ANY</span><span class="p">,</span> <span class="s">''</span><span class="p">))</span> | |
1821 | <span class="bp">self</span><span class="o">.</span><span class="n">_sendSMBMessage</span><span class="p">(</span><span class="n">m</span><span class="p">)</span> | |
1822 | <span class="bp">self</span><span class="o">.</span><span class="n">pending_requests</span><span class="p">[</span><span class="n">m</span><span class="o">.</span><span class="n">mid</span><span class="p">]</span> <span class="o">=</span> <span class="n">_PendingRequest</span><span class="p">(</span><span class="n">m</span><span class="o">.</span><span class="n">mid</span><span class="p">,</span> <span class="n">expiry_time</span><span class="p">,</span> <span class="n">connectCB</span><span class="p">,</span> <span class="n">errback</span><span class="p">,</span> <span class="n">path</span> <span class="o">=</span> <span class="n">path</span><span class="p">)</span> | |
1823 | <span class="n">messages_history</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">m</span><span class="p">)</span> | |
1824 | <span class="k">else</span><span class="p">:</span> | |
1825 | <span class="n">connectSrvSvc</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">connected_trees</span><span class="p">[</span><span class="n">path</span><span class="p">])</span> | |
1825 | <span class="k">def</span> <span class="nf">connectCB</span><span class="p">(</span><span class="n">connect_message</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> | |
1826 | <span class="n">messages_history</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">connect_message</span><span class="p">)</span> | |
1827 | <span class="k">if</span> <span class="ow">not</span> <span class="n">connect_message</span><span class="o">.</span><span class="n">status</span><span class="o">.</span><span class="n">hasError</span><span class="p">:</span> | |
1828 | <span class="bp">self</span><span class="o">.</span><span class="n">connected_trees</span><span class="p">[</span><span class="n">path</span><span class="p">]</span> <span class="o">=</span> <span class="n">connect_message</span><span class="o">.</span><span class="n">tid</span> | |
1829 | <span class="n">connectSrvSvc</span><span class="p">(</span><span class="n">connect_message</span><span class="o">.</span><span class="n">tid</span><span class="p">)</span> | |
1830 | <span class="k">else</span><span class="p">:</span> | |
1831 | <span class="n">errback</span><span class="p">(</span><span class="n">OperationFailure</span><span class="p">(</span><span class="s">'Failed to list shares: Unable to connect to IPC$'</span><span class="p">,</span> <span class="n">messages_history</span><span class="p">))</span> | |
1832 | ||
1833 | <span class="n">m</span> <span class="o">=</span> <span class="n">SMBMessage</span><span class="p">(</span><span class="n">ComTreeConnectAndxRequest</span><span class="p">(</span><span class="s">r'</span><span class="se">\\</span><span class="si">%s</span><span class="s">\</span><span class="si">%s</span><span class="s">'</span> <span class="o">%</span> <span class="p">(</span> <span class="bp">self</span><span class="o">.</span><span class="n">remote_name</span><span class="o">.</span><span class="n">upper</span><span class="p">(),</span> <span class="n">path</span> <span class="p">),</span> <span class="n">SERVICE_ANY</span><span class="p">,</span> <span class="s">''</span><span class="p">))</span> | |
1834 | <span class="bp">self</span><span class="o">.</span><span class="n">_sendSMBMessage</span><span class="p">(</span><span class="n">m</span><span class="p">)</span> | |
1835 | <span class="bp">self</span><span class="o">.</span><span class="n">pending_requests</span><span class="p">[</span><span class="n">m</span><span class="o">.</span><span class="n">mid</span><span class="p">]</span> <span class="o">=</span> <span class="n">_PendingRequest</span><span class="p">(</span><span class="n">m</span><span class="o">.</span><span class="n">mid</span><span class="p">,</span> <span class="n">expiry_time</span><span class="p">,</span> <span class="n">connectCB</span><span class="p">,</span> <span class="n">errback</span><span class="p">,</span> <span class="n">path</span> <span class="o">=</span> <span class="n">path</span><span class="p">)</span> | |
1836 | <span class="n">messages_history</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">m</span><span class="p">)</span> | |
1826 | 1837 | |
1827 | 1838 | <span class="k">def</span> <span class="nf">_listPath_SMB1</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">service_name</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="n">callback</span><span class="p">,</span> <span class="n">errback</span><span class="p">,</span> <span class="n">search</span><span class="p">,</span> <span class="n">pattern</span><span class="p">,</span> <span class="n">timeout</span> <span class="o">=</span> <span class="mi">30</span><span class="p">):</span> |
1828 | 1839 | <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">has_authenticated</span><span class="p">:</span> |
1835 | 1846 | <span class="n">messages_history</span> <span class="o">=</span> <span class="p">[</span> <span class="p">]</span> |
1836 | 1847 | <span class="n">results</span> <span class="o">=</span> <span class="p">[</span> <span class="p">]</span> |
1837 | 1848 | |
1838 | <span class="k">def</span> <span class="nf">sendFindFirst</span><span class="p">(</span><span class="n">tid</span><span class="p">):</span> | |
1849 | <span class="k">def</span> <span class="nf">sendFindFirst</span><span class="p">(</span><span class="n">tid</span><span class="p">,</span> <span class="n">support_dfs</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span> | |
1839 | 1850 | <span class="n">setup_bytes</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">pack</span><span class="p">(</span><span class="s">'<H'</span><span class="p">,</span> <span class="mh">0x0001</span><span class="p">)</span> <span class="c"># TRANS2_FIND_FIRST2 sub-command. See [MS-CIFS]: 2.2.6.2.1</span> |
1840 | 1851 | <span class="n">params_bytes</span> <span class="o">=</span> \ |
1841 | 1852 | <span class="n">struct</span><span class="o">.</span><span class="n">pack</span><span class="p">(</span><span class="s">'<HHHHI'</span><span class="p">,</span> |
1844 | 1855 | <span class="mh">0x0006</span><span class="p">,</span> <span class="c"># Flags: SMB_FIND_CLOSE_AT_EOS | SMB_FIND_RETURN_RESUME_KEYS</span> |
1845 | 1856 | <span class="mh">0x0104</span><span class="p">,</span> <span class="c"># InfoLevel: SMB_FIND_FILE_BOTH_DIRECTORY_INFO</span> |
1846 | 1857 | <span class="mh">0x0000</span><span class="p">)</span> <span class="c"># SearchStorageType</span> |
1847 | <span class="n">params_bytes</span> <span class="o">+=</span> <span class="p">(</span><span class="n">path</span> <span class="o">+</span> <span class="n">pattern</span><span class="p">)</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s">'UTF-16LE'</span><span class="p">)</span> | |
1858 | <span class="k">if</span> <span class="n">support_dfs</span><span class="p">:</span> | |
1859 | <span class="n">params_bytes</span> <span class="o">+=</span> <span class="p">(</span><span class="s">"</span><span class="se">\\</span><span class="s">"</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">remote_name</span> <span class="o">+</span> <span class="s">"</span><span class="se">\\</span><span class="s">"</span> <span class="o">+</span> <span class="n">service_name</span> <span class="o">+</span> <span class="n">path</span> <span class="o">+</span> <span class="n">pattern</span> <span class="o">+</span> <span class="s">'</span><span class="se">\0</span><span class="s">'</span><span class="p">)</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s">'UTF-16LE'</span><span class="p">)</span> | |
1860 | <span class="k">else</span><span class="p">:</span> | |
1861 | <span class="n">params_bytes</span> <span class="o">+=</span> <span class="p">(</span><span class="n">path</span> <span class="o">+</span> <span class="n">pattern</span><span class="p">)</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s">'UTF-16LE'</span><span class="p">)</span> | |
1848 | 1862 | |
1849 | 1863 | <span class="n">m</span> <span class="o">=</span> <span class="n">SMBMessage</span><span class="p">(</span><span class="n">ComTransaction2Request</span><span class="p">(</span><span class="n">max_params_count</span> <span class="o">=</span> <span class="mi">10</span><span class="p">,</span> |
1850 | 1864 | <span class="n">max_data_count</span> <span class="o">=</span> <span class="mi">16644</span><span class="p">,</span> |
1852 | 1866 | <span class="n">params_bytes</span> <span class="o">=</span> <span class="n">params_bytes</span><span class="p">,</span> |
1853 | 1867 | <span class="n">setup_bytes</span> <span class="o">=</span> <span class="n">setup_bytes</span><span class="p">))</span> |
1854 | 1868 | <span class="n">m</span><span class="o">.</span><span class="n">tid</span> <span class="o">=</span> <span class="n">tid</span> |
1855 | <span class="bp">self</span><span class="o">.</span><span class="n">_sendSMBMessage</span><span class="p">(</span><span class="n">m</span><span class="p">)</span> | |
1856 | <span class="bp">self</span><span class="o">.</span><span class="n">pending_requests</span><span class="p">[</span><span class="n">m</span><span class="o">.</span><span class="n">mid</span><span class="p">]</span> <span class="o">=</span> <span class="n">_PendingRequest</span><span class="p">(</span><span class="n">m</span><span class="o">.</span><span class="n">mid</span><span class="p">,</span> <span class="n">expiry_time</span><span class="p">,</span> <span class="n">findFirstCB</span><span class="p">,</span> <span class="n">errback</span><span class="p">)</span> | |
1869 | <span class="k">if</span> <span class="n">support_dfs</span><span class="p">:</span> | |
1870 | <span class="n">m</span><span class="o">.</span><span class="n">flags2</span> <span class="o">|=</span> <span class="n">SMB_FLAGS2_DFS</span> | |
1871 | <span class="bp">self</span><span class="o">.</span><span class="n">_sendSMBMessage</span><span class="p">(</span><span class="n">m</span><span class="p">)</span> | |
1872 | <span class="bp">self</span><span class="o">.</span><span class="n">pending_requests</span><span class="p">[</span><span class="n">m</span><span class="o">.</span><span class="n">mid</span><span class="p">]</span> <span class="o">=</span> <span class="n">_PendingRequest</span><span class="p">(</span><span class="n">m</span><span class="o">.</span><span class="n">mid</span><span class="p">,</span> <span class="n">expiry_time</span><span class="p">,</span> <span class="n">findFirstCB</span><span class="p">,</span> <span class="n">errback</span><span class="p">,</span> <span class="n">support_dfs</span><span class="o">=</span><span class="n">support_dfs</span><span class="p">)</span> | |
1857 | 1873 | <span class="n">messages_history</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">m</span><span class="p">)</span> |
1858 | 1874 | |
1859 | 1875 | <span class="k">def</span> <span class="nf">decodeFindStruct</span><span class="p">(</span><span class="n">data_bytes</span><span class="p">):</span> |
1920 | 1936 | <span class="k">elif</span> <span class="n">end_of_search</span><span class="p">:</span> |
1921 | 1937 | <span class="n">callback</span><span class="p">(</span><span class="n">results</span><span class="p">)</span> |
1922 | 1938 | <span class="k">else</span><span class="p">:</span> |
1923 | <span class="n">sendFindNext</span><span class="p">(</span><span class="n">find_message</span><span class="o">.</span><span class="n">tid</span><span class="p">,</span> <span class="n">sid</span><span class="p">,</span> <span class="n">last_name_offset</span><span class="p">)</span> | |
1939 | <span class="n">sendFindNext</span><span class="p">(</span><span class="n">find_message</span><span class="o">.</span><span class="n">tid</span><span class="p">,</span> <span class="n">sid</span><span class="p">,</span> <span class="n">last_name_offset</span><span class="p">,</span> <span class="n">kwargs</span><span class="p">[</span><span class="s">'support_dfs'</span><span class="p">])</span> | |
1924 | 1940 | <span class="k">else</span><span class="p">:</span> |
1925 | 1941 | <span class="n">errback</span><span class="p">(</span><span class="n">OperationFailure</span><span class="p">(</span><span class="s">'Failed to list </span><span class="si">%s</span><span class="s"> on </span><span class="si">%s</span><span class="s">: Unable to retrieve file list'</span> <span class="o">%</span> <span class="p">(</span> <span class="n">path</span><span class="p">,</span> <span class="n">service_name</span> <span class="p">),</span> <span class="n">messages_history</span><span class="p">))</span> |
1926 | 1942 | |
1927 | <span class="k">def</span> <span class="nf">sendFindNext</span><span class="p">(</span><span class="n">tid</span><span class="p">,</span> <span class="n">sid</span><span class="p">,</span> <span class="n">resume_key</span><span class="p">):</span> | |
1943 | <span class="k">def</span> <span class="nf">sendFindNext</span><span class="p">(</span><span class="n">tid</span><span class="p">,</span> <span class="n">sid</span><span class="p">,</span> <span class="n">resume_key</span><span class="p">,</span> <span class="n">support_dfs</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span> | |
1928 | 1944 | <span class="n">setup_bytes</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">pack</span><span class="p">(</span><span class="s">'<H'</span><span class="p">,</span> <span class="mh">0x0002</span><span class="p">)</span> <span class="c"># TRANS2_FIND_NEXT2 sub-command. See [MS-CIFS]: 2.2.6.3.1</span> |
1929 | 1945 | <span class="n">params_bytes</span> <span class="o">=</span> \ |
1930 | 1946 | <span class="n">struct</span><span class="o">.</span><span class="n">pack</span><span class="p">(</span><span class="s">'<HHHIH'</span><span class="p">,</span> |
1933 | 1949 | <span class="mh">0x0104</span><span class="p">,</span> <span class="c"># InfoLevel: SMB_FIND_FILE_BOTH_DIRECTORY_INFO</span> |
1934 | 1950 | <span class="n">resume_key</span><span class="p">,</span> <span class="c"># ResumeKey</span> |
1935 | 1951 | <span class="mh">0x000a</span><span class="p">)</span> <span class="c"># Flags: SMB_FIND_RETURN_RESUME_KEYS | SMB_FIND_CLOSE_AT_EOS | SMB_FIND_RETURN_RESUME_KEYS</span> |
1936 | <span class="n">params_bytes</span> <span class="o">+=</span> <span class="n">pattern</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s">'UTF-16LE'</span><span class="p">)</span> | |
1952 | <span class="k">if</span> <span class="n">support_dfs</span><span class="p">:</span> | |
1953 | <span class="n">params_bytes</span> <span class="o">+=</span> <span class="p">(</span><span class="s">"</span><span class="se">\\</span><span class="s">"</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">remote_name</span> <span class="o">+</span> <span class="s">"</span><span class="se">\\</span><span class="s">"</span> <span class="o">+</span> <span class="n">service_name</span> <span class="o">+</span> <span class="n">path</span> <span class="o">+</span> <span class="n">pattern</span> <span class="o">+</span> <span class="s">'</span><span class="se">\0</span><span class="s">'</span><span class="p">)</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s">'UTF-16LE'</span><span class="p">)</span> | |
1954 | <span class="k">else</span><span class="p">:</span> | |
1955 | <span class="n">params_bytes</span> <span class="o">+=</span> <span class="p">(</span><span class="n">path</span> <span class="o">+</span> <span class="n">pattern</span><span class="p">)</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s">'UTF-16LE'</span><span class="p">)</span> | |
1937 | 1956 | |
1938 | 1957 | <span class="n">m</span> <span class="o">=</span> <span class="n">SMBMessage</span><span class="p">(</span><span class="n">ComTransaction2Request</span><span class="p">(</span><span class="n">max_params_count</span> <span class="o">=</span> <span class="mi">10</span><span class="p">,</span> |
1939 | 1958 | <span class="n">max_data_count</span> <span class="o">=</span> <span class="mi">16644</span><span class="p">,</span> |
1941 | 1960 | <span class="n">params_bytes</span> <span class="o">=</span> <span class="n">params_bytes</span><span class="p">,</span> |
1942 | 1961 | <span class="n">setup_bytes</span> <span class="o">=</span> <span class="n">setup_bytes</span><span class="p">))</span> |
1943 | 1962 | <span class="n">m</span><span class="o">.</span><span class="n">tid</span> <span class="o">=</span> <span class="n">tid</span> |
1944 | <span class="bp">self</span><span class="o">.</span><span class="n">_sendSMBMessage</span><span class="p">(</span><span class="n">m</span><span class="p">)</span> | |
1945 | <span class="bp">self</span><span class="o">.</span><span class="n">pending_requests</span><span class="p">[</span><span class="n">m</span><span class="o">.</span><span class="n">mid</span><span class="p">]</span> <span class="o">=</span> <span class="n">_PendingRequest</span><span class="p">(</span><span class="n">m</span><span class="o">.</span><span class="n">mid</span><span class="p">,</span> <span class="n">expiry_time</span><span class="p">,</span> <span class="n">findNextCB</span><span class="p">,</span> <span class="n">errback</span><span class="p">,</span> <span class="n">sid</span> <span class="o">=</span> <span class="n">sid</span><span class="p">)</span> | |
1963 | <span class="k">if</span> <span class="n">support_dfs</span><span class="p">:</span> | |
1964 | <span class="n">m</span><span class="o">.</span><span class="n">flags2</span> <span class="o">|=</span> <span class="n">SMB_FLAGS2_DFS</span> | |
1965 | <span class="bp">self</span><span class="o">.</span><span class="n">_sendSMBMessage</span><span class="p">(</span><span class="n">m</span><span class="p">)</span> | |
1966 | <span class="bp">self</span><span class="o">.</span><span class="n">pending_requests</span><span class="p">[</span><span class="n">m</span><span class="o">.</span><span class="n">mid</span><span class="p">]</span> <span class="o">=</span> <span class="n">_PendingRequest</span><span class="p">(</span><span class="n">m</span><span class="o">.</span><span class="n">mid</span><span class="p">,</span> <span class="n">expiry_time</span><span class="p">,</span> <span class="n">findNextCB</span><span class="p">,</span> <span class="n">errback</span><span class="p">,</span> <span class="n">sid</span> <span class="o">=</span> <span class="n">sid</span><span class="p">,</span> <span class="n">support_dfs</span> <span class="o">=</span> <span class="n">support_dfs</span><span class="p">)</span> | |
1946 | 1967 | <span class="n">messages_history</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">m</span><span class="p">)</span> |
1947 | 1968 | |
1948 | 1969 | <span class="k">def</span> <span class="nf">findNextCB</span><span class="p">(</span><span class="n">find_message</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
1977 | 1998 | <span class="k">elif</span> <span class="n">end_of_search</span><span class="p">:</span> |
1978 | 1999 | <span class="n">callback</span><span class="p">(</span><span class="n">results</span><span class="p">)</span> |
1979 | 2000 | <span class="k">else</span><span class="p">:</span> |
1980 | <span class="n">sendFindNext</span><span class="p">(</span><span class="n">find_message</span><span class="o">.</span><span class="n">tid</span><span class="p">,</span> <span class="n">kwargs</span><span class="p">[</span><span class="s">'sid'</span><span class="p">],</span> <span class="n">last_name_offset</span><span class="p">)</span> | |
2001 | <span class="n">sendFindNext</span><span class="p">(</span><span class="n">find_message</span><span class="o">.</span><span class="n">tid</span><span class="p">,</span> <span class="n">kwargs</span><span class="p">[</span><span class="s">'sid'</span><span class="p">],</span> <span class="n">last_name_offset</span><span class="p">,</span> <span class="n">kwargs</span><span class="p">[</span><span class="s">'support_dfs'</span><span class="p">])</span> | |
1981 | 2002 | <span class="k">else</span><span class="p">:</span> |
1982 | 2003 | <span class="n">errback</span><span class="p">(</span><span class="n">OperationFailure</span><span class="p">(</span><span class="s">'Failed to list </span><span class="si">%s</span><span class="s"> on </span><span class="si">%s</span><span class="s">: Unable to retrieve file list'</span> <span class="o">%</span> <span class="p">(</span> <span class="n">path</span><span class="p">,</span> <span class="n">service_name</span> <span class="p">),</span> <span class="n">messages_history</span><span class="p">))</span> |
1983 | 2004 | |
2005 | <span class="k">def</span> <span class="nf">sendDFSReferral</span><span class="p">(</span><span class="n">tid</span><span class="p">):</span> | |
2006 | <span class="n">setup_bytes</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">pack</span><span class="p">(</span><span class="s">'<H'</span><span class="p">,</span> <span class="mh">0x0010</span><span class="p">)</span> <span class="c"># TRANS2_GET_DFS_REFERRAL sub-command. See [MS-CIFS]: 2.2.6.16.1</span> | |
2007 | <span class="n">params_bytes</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">pack</span><span class="p">(</span><span class="s">'<H'</span><span class="p">,</span> <span class="mi">3</span><span class="p">)</span> <span class="c"># Max referral level 3</span> | |
2008 | <span class="n">params_bytes</span> <span class="o">+=</span> <span class="p">(</span><span class="s">"</span><span class="se">\\</span><span class="s">"</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">remote_name</span> <span class="o">+</span> <span class="s">"</span><span class="se">\\</span><span class="s">"</span> <span class="o">+</span> <span class="n">service_name</span><span class="p">)</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s">'UTF-16LE'</span><span class="p">)</span> | |
2009 | ||
2010 | <span class="n">m</span> <span class="o">=</span> <span class="n">SMBMessage</span><span class="p">(</span><span class="n">ComTransaction2Request</span><span class="p">(</span><span class="n">max_params_count</span> <span class="o">=</span> <span class="mi">10</span><span class="p">,</span> | |
2011 | <span class="n">max_data_count</span> <span class="o">=</span> <span class="mi">16644</span><span class="p">,</span> | |
2012 | <span class="n">max_setup_count</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span> | |
2013 | <span class="n">params_bytes</span> <span class="o">=</span> <span class="n">params_bytes</span><span class="p">,</span> | |
2014 | <span class="n">setup_bytes</span> <span class="o">=</span> <span class="n">setup_bytes</span><span class="p">))</span> | |
2015 | <span class="n">m</span><span class="o">.</span><span class="n">tid</span> <span class="o">=</span> <span class="n">tid</span> | |
2016 | <span class="bp">self</span><span class="o">.</span><span class="n">_sendSMBMessage</span><span class="p">(</span><span class="n">m</span><span class="p">)</span> | |
2017 | <span class="bp">self</span><span class="o">.</span><span class="n">pending_requests</span><span class="p">[</span><span class="n">m</span><span class="o">.</span><span class="n">mid</span><span class="p">]</span> <span class="o">=</span> <span class="n">_PendingRequest</span><span class="p">(</span><span class="n">m</span><span class="o">.</span><span class="n">mid</span><span class="p">,</span> <span class="n">expiry_time</span><span class="p">,</span> <span class="n">dfsReferralCB</span><span class="p">,</span> <span class="n">errback</span><span class="p">)</span> | |
2018 | <span class="n">messages_history</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">m</span><span class="p">)</span> | |
2019 | ||
2020 | <span class="k">def</span> <span class="nf">dfsReferralCB</span><span class="p">(</span><span class="n">dfs_message</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> | |
2021 | <span class="n">sendFindFirst</span><span class="p">(</span><span class="n">dfs_message</span><span class="o">.</span><span class="n">tid</span><span class="p">,</span> <span class="bp">True</span><span class="p">)</span> | |
2022 | ||
1984 | 2023 | <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">connected_trees</span><span class="o">.</span><span class="n">has_key</span><span class="p">(</span><span class="n">service_name</span><span class="p">):</span> |
1985 | 2024 | <span class="k">def</span> <span class="nf">connectCB</span><span class="p">(</span><span class="n">connect_message</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
1986 | 2025 | <span class="n">messages_history</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">connect_message</span><span class="p">)</span> |
1987 | 2026 | <span class="k">if</span> <span class="ow">not</span> <span class="n">connect_message</span><span class="o">.</span><span class="n">status</span><span class="o">.</span><span class="n">hasError</span><span class="p">:</span> |
1988 | 2027 | <span class="bp">self</span><span class="o">.</span><span class="n">connected_trees</span><span class="p">[</span><span class="n">service_name</span><span class="p">]</span> <span class="o">=</span> <span class="n">connect_message</span><span class="o">.</span><span class="n">tid</span> |
1989 | <span class="n">sendFindFirst</span><span class="p">(</span><span class="n">connect_message</span><span class="o">.</span><span class="n">tid</span><span class="p">)</span> | |
2028 | <span class="k">if</span> <span class="n">connect_message</span><span class="o">.</span><span class="n">payload</span><span class="o">.</span><span class="n">optional_support</span> <span class="o">&</span> <span class="n">SMB_TREE_CONNECTX_SUPPORT_DFS</span><span class="p">:</span> | |
2029 | <span class="n">sendDFSReferral</span><span class="p">(</span><span class="n">connect_message</span><span class="o">.</span><span class="n">tid</span><span class="p">)</span> | |
2030 | <span class="k">else</span><span class="p">:</span> | |
2031 | <span class="n">sendFindFirst</span><span class="p">(</span><span class="n">connect_message</span><span class="o">.</span><span class="n">tid</span><span class="p">,</span> <span class="bp">False</span><span class="p">)</span> | |
1990 | 2032 | <span class="k">else</span><span class="p">:</span> |
1991 | 2033 | <span class="n">errback</span><span class="p">(</span><span class="n">OperationFailure</span><span class="p">(</span><span class="s">'Failed to list </span><span class="si">%s</span><span class="s"> on </span><span class="si">%s</span><span class="s">: Unable to connect to shared device'</span> <span class="o">%</span> <span class="p">(</span> <span class="n">path</span><span class="p">,</span> <span class="n">service_name</span> <span class="p">),</span> <span class="n">messages_history</span><span class="p">))</span> |
1992 | 2034 | |
2030 | 2072 | <span class="k">def</span> <span class="nf">queryCB</span><span class="p">(</span><span class="n">query_message</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
2031 | 2073 | <span class="n">messages_history</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">query_message</span><span class="p">)</span> |
2032 | 2074 | <span class="k">if</span> <span class="ow">not</span> <span class="n">query_message</span><span class="o">.</span><span class="n">status</span><span class="o">.</span><span class="n">hasError</span><span class="p">:</span> |
2033 | <span class="n">info_format</span> <span class="o">=</span> <span class="s">'<QQQQIQQ'</span> | |
2075 | <span class="n">info_format</span> <span class="o">=</span> <span class="s">'<QQQQIIQQ'</span> | |
2034 | 2076 | <span class="n">info_size</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">calcsize</span><span class="p">(</span><span class="n">info_format</span><span class="p">)</span> |
2035 | 2077 | <span class="n">create_time</span><span class="p">,</span> <span class="n">last_access_time</span><span class="p">,</span> <span class="n">last_write_time</span><span class="p">,</span> <span class="n">last_attr_change_time</span><span class="p">,</span> \ |
2036 | <span class="n">file_attributes</span><span class="p">,</span> <span class="n">alloc_size</span><span class="p">,</span> <span class="n">file_size</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="n">info_format</span><span class="p">,</span> <span class="n">query_message</span><span class="o">.</span><span class="n">payload</span><span class="o">.</span><span class="n">data_bytes</span><span class="p">[:</span><span class="n">info_size</span><span class="p">])</span> | |
2078 | <span class="n">file_attributes</span><span class="p">,</span> <span class="n">_</span><span class="p">,</span> <span class="n">alloc_size</span><span class="p">,</span> <span class="n">file_size</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="n">info_format</span><span class="p">,</span> <span class="n">query_message</span><span class="o">.</span><span class="n">payload</span><span class="o">.</span><span class="n">data_bytes</span><span class="p">[:</span><span class="n">info_size</span><span class="p">])</span> | |
2037 | 2079 | |
2038 | 2080 | <span class="n">info</span> <span class="o">=</span> <span class="n">SharedFile</span><span class="p">(</span><span class="n">create_time</span><span class="p">,</span> <span class="n">last_access_time</span><span class="p">,</span> <span class="n">last_write_time</span><span class="p">,</span> <span class="n">last_attr_change_time</span><span class="p">,</span> |
2039 | <span class="n">file_size</span><span class="p">,</span> <span class="n">alloc_size</span><span class="p">,</span> <span class="n">file_attributes</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="n">path</span><span class="p">)</span> | |
2081 | <span class="n">file_size</span><span class="p">,</span> <span class="n">alloc_size</span><span class="p">,</span> <span class="n">file_attributes</span><span class="p">,</span> <span class="nb">unicode</span><span class="p">(</span><span class="n">path</span><span class="p">),</span> <span class="nb">unicode</span><span class="p">(</span><span class="n">path</span><span class="p">))</span> | |
2040 | 2082 | <span class="n">callback</span><span class="p">(</span><span class="n">info</span><span class="p">)</span> |
2041 | 2083 | <span class="k">else</span><span class="p">:</span> |
2042 | 2084 | <span class="n">errback</span><span class="p">(</span><span class="n">OperationFailure</span><span class="p">(</span><span class="s">'Failed to get attributes for </span><span class="si">%s</span><span class="s"> on </span><span class="si">%s</span><span class="s">: Read failed'</span> <span class="o">%</span> <span class="p">(</span> <span class="n">path</span><span class="p">,</span> <span class="n">service_name</span> <span class="p">),</span> <span class="n">messages_history</span><span class="p">))</span> |
2150 | 2192 | <span class="n">messages_history</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">m</span><span class="p">)</span> |
2151 | 2193 | <span class="k">else</span><span class="p">:</span> |
2152 | 2194 | <span class="n">sendOpen</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">connected_trees</span><span class="p">[</span><span class="n">service_name</span><span class="p">])</span> |
2153 | ||
2154 | <span class="k">def</span> <span class="nf">_storeFile_SMB1</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">service_name</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="n">file_obj</span><span class="p">,</span> <span class="n">callback</span><span class="p">,</span> <span class="n">errback</span><span class="p">,</span> <span class="n">timeout</span> <span class="o">=</span> <span class="mi">30</span><span class="p">):</span> | |
2195 | ||
2196 | <span class="k">def</span> <span class="nf">_storeFile_SMB1</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">service_name</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="n">file_obj</span><span class="p">,</span> <span class="n">callback</span><span class="p">,</span> <span class="n">errback</span><span class="p">,</span> <span class="n">timeout</span> <span class="o">=</span> <span class="mi">30</span><span class="p">):</span> | |
2197 | <span class="bp">self</span><span class="o">.</span><span class="n">_storeFileFromOffset_SMB1</span><span class="p">(</span><span class="n">service_name</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="n">file_obj</span><span class="p">,</span> <span class="n">callback</span><span class="p">,</span> <span class="n">errback</span><span class="p">,</span> <span class="il">0L</span><span class="p">,</span> <span class="bp">True</span><span class="p">,</span> <span class="n">timeout</span><span class="p">)</span> | |
2198 | ||
2199 | <span class="k">def</span> <span class="nf">_storeFileFromOffset_SMB1</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">service_name</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="n">file_obj</span><span class="p">,</span> <span class="n">callback</span><span class="p">,</span> <span class="n">errback</span><span class="p">,</span> <span class="n">starting_offset</span><span class="p">,</span> <span class="n">truncate</span> <span class="o">=</span> <span class="bp">False</span><span class="p">,</span> <span class="n">timeout</span> <span class="o">=</span> <span class="mi">30</span><span class="p">):</span> | |
2155 | 2200 | <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">has_authenticated</span><span class="p">:</span> |
2156 | 2201 | <span class="k">raise</span> <span class="n">NotReadyError</span><span class="p">(</span><span class="s">'SMB connection not authenticated'</span><span class="p">)</span> |
2157 | 2202 | |
2161 | 2206 | <span class="k">def</span> <span class="nf">sendOpen</span><span class="p">(</span><span class="n">tid</span><span class="p">):</span> |
2162 | 2207 | <span class="n">m</span> <span class="o">=</span> <span class="n">SMBMessage</span><span class="p">(</span><span class="n">ComOpenAndxRequest</span><span class="p">(</span><span class="n">filename</span> <span class="o">=</span> <span class="n">path</span><span class="p">,</span> |
2163 | 2208 | <span class="n">access_mode</span> <span class="o">=</span> <span class="mh">0x0041</span><span class="p">,</span> <span class="c"># Sharing mode: Deny nothing to others + Open for writing</span> |
2164 | <span class="n">open_mode</span> <span class="o">=</span> <span class="mh">0x0011</span><span class="p">,</span> <span class="c"># Create file if file does not exist. Overwrite if exists.</span> | |
2209 | <span class="n">open_mode</span> <span class="o">=</span> <span class="mh">0x0012</span> <span class="k">if</span> <span class="n">truncate</span> <span class="k">else</span> <span class="mh">0x0011</span><span class="p">,</span> <span class="c"># Create file if file does not exist. Overwrite or append depending on truncate parameter.</span> | |
2165 | 2210 | <span class="n">search_attributes</span> <span class="o">=</span> <span class="n">SMB_FILE_ATTRIBUTE_HIDDEN</span> <span class="o">|</span> <span class="n">SMB_FILE_ATTRIBUTE_SYSTEM</span><span class="p">,</span> |
2166 | 2211 | <span class="n">timeout</span> <span class="o">=</span> <span class="n">timeout</span> <span class="o">*</span> <span class="mi">1000</span><span class="p">))</span> |
2167 | 2212 | <span class="n">m</span><span class="o">.</span><span class="n">tid</span> <span class="o">=</span> <span class="n">tid</span> |
2172 | 2217 | <span class="k">def</span> <span class="nf">openCB</span><span class="p">(</span><span class="n">open_message</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
2173 | 2218 | <span class="n">messages_history</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">open_message</span><span class="p">)</span> |
2174 | 2219 | <span class="k">if</span> <span class="ow">not</span> <span class="n">open_message</span><span class="o">.</span><span class="n">status</span><span class="o">.</span><span class="n">hasError</span><span class="p">:</span> |
2175 | <span class="n">sendWrite</span><span class="p">(</span><span class="n">open_message</span><span class="o">.</span><span class="n">tid</span><span class="p">,</span> <span class="n">open_message</span><span class="o">.</span><span class="n">payload</span><span class="o">.</span><span class="n">fid</span><span class="p">,</span> <span class="il">0L</span><span class="p">)</span> | |
2220 | <span class="n">sendWrite</span><span class="p">(</span><span class="n">open_message</span><span class="o">.</span><span class="n">tid</span><span class="p">,</span> <span class="n">open_message</span><span class="o">.</span><span class="n">payload</span><span class="o">.</span><span class="n">fid</span><span class="p">,</span> <span class="n">starting_offset</span><span class="p">)</span> | |
2176 | 2221 | <span class="k">else</span><span class="p">:</span> |
2177 | 2222 | <span class="n">errback</span><span class="p">(</span><span class="n">OperationFailure</span><span class="p">(</span><span class="s">'Failed to store </span><span class="si">%s</span><span class="s"> on </span><span class="si">%s</span><span class="s">: Unable to open file'</span> <span class="o">%</span> <span class="p">(</span> <span class="n">path</span><span class="p">,</span> <span class="n">service_name</span> <span class="p">),</span> <span class="n">messages_history</span><span class="p">))</span> |
2178 | 2223 | |
2545 | 2590 | |
2546 | 2591 | <span class="nd">@property</span> |
2547 | 2592 | <span class="k">def</span> <span class="nf">isDirectory</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> |
2548 | <div class="viewcode-block" id="SharedFile.isDirectory"><a class="viewcode-back" href="../../api/smb_SharedFile.html#smb.base.SharedFile.isDirectory">[docs]</a> <span class="sd">"""A convenience property to return True if this file resource is a directory on the remote server"""</span> | |
2593 | <div class="viewcode-block" id="SharedFile.isDirectory"><a class="viewcode-back" href="../../api/smb_SharedFile.html#smb.base.SharedFile.isDirectory">[docs]</a> <span class="sd">"""A convenient property to return True if this file resource is a directory on the remote server"""</span> | |
2549 | 2594 | <span class="k">return</span> <span class="nb">bool</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">file_attributes</span> <span class="o">&</span> <span class="n">ATTR_DIRECTORY</span><span class="p">)</span> |
2550 | 2595 | |
2551 | 2596 | <span class="nd">@property</span></div> |
2552 | 2597 | <span class="k">def</span> <span class="nf">isReadOnly</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> |
2553 | <div class="viewcode-block" id="SharedFile.isReadOnly"><a class="viewcode-back" href="../../api/smb_SharedFile.html#smb.base.SharedFile.isReadOnly">[docs]</a> <span class="sd">"""A convenience property to return True if this file resource is read-only on the remote server"""</span> | |
2598 | <div class="viewcode-block" id="SharedFile.isReadOnly"><a class="viewcode-back" href="../../api/smb_SharedFile.html#smb.base.SharedFile.isReadOnly">[docs]</a> <span class="sd">"""A convenient property to return True if this file resource is read-only on the remote server"""</span> | |
2554 | 2599 | <span class="k">return</span> <span class="nb">bool</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">file_attributes</span> <span class="o">&</span> <span class="n">ATTR_READONLY</span><span class="p">)</span> |
2555 | 2600 | |
2556 | 2601 | <span class="k">def</span> <span class="nf">__unicode__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span></div> |
2578 | 2623 | <li class="right" style="margin-right: 10px"> |
2579 | 2624 | <a href="../../genindex.html" title="General Index" |
2580 | 2625 | >index</a></li> |
2581 | <li><a href="../../index.html">pysmb 1.1.10 documentation</a> »</li> | |
2626 | <li><a href="../../index.html">pysmb 1.1.15 documentation</a> »</li> | |
2582 | 2627 | <li><a href="../index.html" >Module code</a> »</li> |
2583 | 2628 | </ul> |
2584 | 2629 | </div> |
2585 | 2630 | <div class="footer"> |
2586 | © Copyright 2001-2014, Michael Teo http://miketeo.net/. | |
2631 | © Copyright 2001-2015, Michael Teo http://miketeo.net/. | |
2587 | 2632 | Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2. |
2588 | 2633 | </div> |
2589 | 2634 | </body> |
5 | 5 | <head> |
6 | 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
7 | 7 | |
8 | <title>smb.smb_structs — pysmb 1.1.10 documentation</title> | |
8 | <title>smb.smb_structs — pysmb 1.1.15 documentation</title> | |
9 | 9 | |
10 | 10 | <link rel="stylesheet" href="../../_static/sphinxdoc.css" type="text/css" /> |
11 | 11 | <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" /> |
13 | 13 | <script type="text/javascript"> |
14 | 14 | var DOCUMENTATION_OPTIONS = { |
15 | 15 | URL_ROOT: '../../', |
16 | VERSION: '1.1.10', | |
16 | VERSION: '1.1.15', | |
17 | 17 | COLLAPSE_INDEX: false, |
18 | 18 | FILE_SUFFIX: '.html', |
19 | 19 | HAS_SOURCE: true |
22 | 22 | <script type="text/javascript" src="../../_static/jquery.js"></script> |
23 | 23 | <script type="text/javascript" src="../../_static/underscore.js"></script> |
24 | 24 | <script type="text/javascript" src="../../_static/doctools.js"></script> |
25 | <link rel="top" title="pysmb 1.1.10 documentation" href="../../index.html" /> | |
25 | <link rel="top" title="pysmb 1.1.15 documentation" href="../../index.html" /> | |
26 | 26 | <link rel="up" title="Module code" href="../index.html" /> |
27 | 27 | </head> |
28 | 28 | <body> |
32 | 32 | <li class="right" style="margin-right: 10px"> |
33 | 33 | <a href="../../genindex.html" title="General Index" |
34 | 34 | accesskey="I">index</a></li> |
35 | <li><a href="../../index.html">pysmb 1.1.10 documentation</a> »</li> | |
35 | <li><a href="../../index.html">pysmb 1.1.15 documentation</a> »</li> | |
36 | 36 | <li><a href="../index.html" accesskey="U">Module code</a> »</li> |
37 | 37 | </ul> |
38 | 38 | </div> |
323 | 323 | <span class="c"># rewritten to check for OEM/Unicode strings which will be tedious. Fortunately, almost all tested CIFS services</span> |
324 | 324 | <span class="c"># support SMB_FLAGS2_UNICODE by default.</span> |
325 | 325 | <span class="k">assert</span> <span class="n">message</span><span class="o">.</span><span class="n">payload</span> <span class="o">==</span> <span class="bp">self</span> |
326 | <span class="n">message</span><span class="o">.</span><span class="n">flags</span> <span class="o">=</span> <span class="n">SMB_FLAGS_CASE_INSENSITIVE</span> | |
327 | <span class="n">message</span><span class="o">.</span><span class="n">flags2</span> <span class="o">=</span> <span class="n">SMB_FLAGS2_UNICODE</span> <span class="o">|</span> <span class="n">SMB_FLAGS2_NT_STATUS</span> <span class="o">|</span> <span class="n">SMB_FLAGS2_IS_LONG_NAME</span> <span class="o">|</span> <span class="n">SMB_FLAGS2_LONG_NAMES</span> | |
326 | <span class="n">message</span><span class="o">.</span><span class="n">flags</span> <span class="o">=</span> <span class="n">SMB_FLAGS_CASE_INSENSITIVE</span> <span class="o">|</span> <span class="n">SMB_FLAGS_CANONICALIZED_PATHS</span> | |
327 | <span class="n">message</span><span class="o">.</span><span class="n">flags2</span> <span class="o">=</span> <span class="n">SMB_FLAGS2_UNICODE</span> <span class="o">|</span> <span class="n">SMB_FLAGS2_NT_STATUS</span> <span class="o">|</span> <span class="n">SMB_FLAGS2_LONG_NAMES</span> <span class="o">|</span> <span class="n">SMB_FLAGS2_EAS</span> | |
328 | 328 | |
329 | 329 | <span class="k">if</span> <span class="n">SUPPORT_EXTENDED_SECURITY</span><span class="p">:</span> |
330 | <span class="n">message</span><span class="o">.</span><span class="n">flags2</span> <span class="o">|=</span> <span class="n">SMB_FLAGS2_EXTENDED_SECURITY</span> | |
330 | <span class="n">message</span><span class="o">.</span><span class="n">flags2</span> <span class="o">|=</span> <span class="n">SMB_FLAGS2_EXTENDED_SECURITY</span> <span class="o">|</span> <span class="n">SMB_FLAGS2_SMB_SECURITY_SIGNATURE</span> | |
331 | 331 | |
332 | 332 | <span class="k">def</span> <span class="nf">prepare</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">message</span><span class="p">):</span> |
333 | 333 | <span class="k">raise</span> <span class="ne">NotImplementedError</span> |
474 | 474 | |
475 | 475 | <span class="n">message</span><span class="o">.</span><span class="n">flags2</span> <span class="o">|=</span> <span class="n">SMB_FLAGS2_UNICODE</span> |
476 | 476 | |
477 | <span class="n">cap</span> <span class="o">=</span> <span class="n">CAP_UNICODE</span> <span class="o">|</span> <span class="n">CAP_STATUS32</span> <span class="o">|</span> <span class="n">CAP_EXTENDED_SECURITY</span> | |
477 | <span class="n">cap</span> <span class="o">=</span> <span class="n">CAP_UNICODE</span> <span class="o">|</span> <span class="n">CAP_STATUS32</span> <span class="o">|</span> <span class="n">CAP_EXTENDED_SECURITY</span> <span class="o">|</span> <span class="n">CAP_NT_SMBS</span> | |
478 | 478 | |
479 | 479 | <span class="n">message</span><span class="o">.</span><span class="n">parameters_data</span> <span class="o">=</span> \ |
480 | 480 | <span class="bp">self</span><span class="o">.</span><span class="n">DEFAULT_ANDX_PARAM_HEADER</span> <span class="o">+</span> \ |
597 | 597 | <span class="sd"> References:</span> |
598 | 598 | <span class="sd"> ===========</span> |
599 | 599 | <span class="sd"> - [MS-CIFS]: 2.2.4.55.1</span> |
600 | <span class="sd"> - [MS-SMB]: 2.2.4.7.1</span> | |
600 | 601 | <span class="sd"> """</span> |
601 | 602 | |
602 | 603 | <span class="n">PAYLOAD_STRUCT_FORMAT</span> <span class="o">=</span> <span class="s">'<HH'</span> |
616 | 617 | <span class="n">message</span><span class="o">.</span><span class="n">parameters_data</span> <span class="o">=</span> \ |
617 | 618 | <span class="bp">self</span><span class="o">.</span><span class="n">DEFAULT_ANDX_PARAM_HEADER</span> <span class="o">+</span> \ |
618 | 619 | <span class="n">struct</span><span class="o">.</span><span class="n">pack</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">PAYLOAD_STRUCT_FORMAT</span><span class="p">,</span> |
619 | <span class="mh">0x08</span> <span class="o">|</span> <span class="p">(</span><span class="n">message</span><span class="o">.</span><span class="n">tid</span> <span class="ow">and</span> <span class="mh">0x0001</span><span class="p">)</span> <span class="ow">or</span> <span class="mh">0x00</span><span class="p">,</span> <span class="c"># Disconnect tid, if message.tid must be non-zero</span> | |
620 | <span class="mh">0x08</span> <span class="o">|</span> \ | |
621 | <span class="p">((</span><span class="n">message</span><span class="o">.</span><span class="n">hasExtendedSecurity</span> <span class="ow">and</span> <span class="mh">0x0004</span><span class="p">)</span> <span class="ow">or</span> <span class="mh">0x00</span><span class="p">)</span> <span class="o">|</span> \ | |
622 | <span class="p">((</span><span class="n">message</span><span class="o">.</span><span class="n">tid</span> <span class="ow">and</span> <span class="n">message</span><span class="o">.</span><span class="n">tid</span> <span class="o">!=</span> <span class="mh">0xFFFF</span> <span class="ow">and</span> <span class="mh">0x0001</span><span class="p">)</span> <span class="ow">or</span> <span class="mh">0x00</span><span class="p">),</span> <span class="c"># Disconnect tid, if message.tid must be non-zero</span> | |
620 | 623 | <span class="n">password_len</span><span class="p">)</span> |
621 | 624 | |
622 | 625 | <span class="n">padding</span> <span class="o">=</span> <span class="s">''</span> |
1489 | 1492 | <li class="right" style="margin-right: 10px"> |
1490 | 1493 | <a href="../../genindex.html" title="General Index" |
1491 | 1494 | >index</a></li> |
1492 | <li><a href="../../index.html">pysmb 1.1.10 documentation</a> »</li> | |
1495 | <li><a href="../../index.html">pysmb 1.1.15 documentation</a> »</li> | |
1493 | 1496 | <li><a href="../index.html" >Module code</a> »</li> |
1494 | 1497 | </ul> |
1495 | 1498 | </div> |
1496 | 1499 | <div class="footer"> |
1497 | © Copyright 2001-2014, Michael Teo http://miketeo.net/. | |
1500 | © Copyright 2001-2015, Michael Teo http://miketeo.net/. | |
1498 | 1501 | Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2. |
1499 | 1502 | </div> |
1500 | 1503 | </body> |
5 | 5 | <head> |
6 | 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
7 | 7 | |
8 | <title>NBNSProtocol Class — pysmb 1.1.10 documentation</title> | |
8 | <title>NBNSProtocol Class — pysmb 1.1.15 documentation</title> | |
9 | 9 | |
10 | 10 | <link rel="stylesheet" href="../_static/sphinxdoc.css" type="text/css" /> |
11 | 11 | <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> |
13 | 13 | <script type="text/javascript"> |
14 | 14 | var DOCUMENTATION_OPTIONS = { |
15 | 15 | URL_ROOT: '../', |
16 | VERSION: '1.1.10', | |
16 | VERSION: '1.1.15', | |
17 | 17 | COLLAPSE_INDEX: false, |
18 | 18 | FILE_SUFFIX: '.html', |
19 | 19 | HAS_SOURCE: true |
22 | 22 | <script type="text/javascript" src="../_static/jquery.js"></script> |
23 | 23 | <script type="text/javascript" src="../_static/underscore.js"></script> |
24 | 24 | <script type="text/javascript" src="../_static/doctools.js"></script> |
25 | <link rel="top" title="pysmb 1.1.10 documentation" href="../index.html" /> | |
25 | <link rel="top" title="pysmb 1.1.15 documentation" href="../index.html" /> | |
26 | 26 | <link rel="next" title="NetBIOS class" href="nmb_NetBIOS.html" /> |
27 | 27 | <link rel="prev" title="Welcome to pysmb’s documentation!" href="../index.html" /> |
28 | 28 | </head> |
39 | 39 | <li class="right" > |
40 | 40 | <a href="../index.html" title="Welcome to pysmb’s documentation!" |
41 | 41 | accesskey="P">previous</a> |</li> |
42 | <li><a href="../index.html">pysmb 1.1.10 documentation</a> »</li> | |
42 | <li><a href="../index.html">pysmb 1.1.15 documentation</a> »</li> | |
43 | 43 | </ul> |
44 | 44 | </div> |
45 | 45 | <div class="sphinxsidebar"> |
188 | 188 | <li class="right" > |
189 | 189 | <a href="../index.html" title="Welcome to pysmb’s documentation!" |
190 | 190 | >previous</a> |</li> |
191 | <li><a href="../index.html">pysmb 1.1.10 documentation</a> »</li> | |
191 | <li><a href="../index.html">pysmb 1.1.15 documentation</a> »</li> | |
192 | 192 | </ul> |
193 | 193 | </div> |
194 | 194 | <div class="footer"> |
195 | © Copyright 2001-2014, Michael Teo http://miketeo.net/. | |
195 | © Copyright 2001-2015, Michael Teo http://miketeo.net/. | |
196 | 196 | Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2. |
197 | 197 | </div> |
198 | 198 | </body> |
5 | 5 | <head> |
6 | 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
7 | 7 | |
8 | <title>NetBIOS class — pysmb 1.1.10 documentation</title> | |
8 | <title>NetBIOS class — pysmb 1.1.15 documentation</title> | |
9 | 9 | |
10 | 10 | <link rel="stylesheet" href="../_static/sphinxdoc.css" type="text/css" /> |
11 | 11 | <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> |
13 | 13 | <script type="text/javascript"> |
14 | 14 | var DOCUMENTATION_OPTIONS = { |
15 | 15 | URL_ROOT: '../', |
16 | VERSION: '1.1.10', | |
16 | VERSION: '1.1.15', | |
17 | 17 | COLLAPSE_INDEX: false, |
18 | 18 | FILE_SUFFIX: '.html', |
19 | 19 | HAS_SOURCE: true |
22 | 22 | <script type="text/javascript" src="../_static/jquery.js"></script> |
23 | 23 | <script type="text/javascript" src="../_static/underscore.js"></script> |
24 | 24 | <script type="text/javascript" src="../_static/doctools.js"></script> |
25 | <link rel="top" title="pysmb 1.1.10 documentation" href="../index.html" /> | |
25 | <link rel="top" title="pysmb 1.1.15 documentation" href="../index.html" /> | |
26 | 26 | <link rel="next" title="SMBConnection Class" href="smb_SMBConnection.html" /> |
27 | 27 | <link rel="prev" title="NBNSProtocol Class" href="nmb_NBNSProtocol.html" /> |
28 | 28 | </head> |
39 | 39 | <li class="right" > |
40 | 40 | <a href="nmb_NBNSProtocol.html" title="NBNSProtocol Class" |
41 | 41 | accesskey="P">previous</a> |</li> |
42 | <li><a href="../index.html">pysmb 1.1.10 documentation</a> »</li> | |
42 | <li><a href="../index.html">pysmb 1.1.15 documentation</a> »</li> | |
43 | 43 | </ul> |
44 | 44 | </div> |
45 | 45 | <div class="sphinxsidebar"> |
192 | 192 | <li class="right" > |
193 | 193 | <a href="nmb_NBNSProtocol.html" title="NBNSProtocol Class" |
194 | 194 | >previous</a> |</li> |
195 | <li><a href="../index.html">pysmb 1.1.10 documentation</a> »</li> | |
195 | <li><a href="../index.html">pysmb 1.1.15 documentation</a> »</li> | |
196 | 196 | </ul> |
197 | 197 | </div> |
198 | 198 | <div class="footer"> |
199 | © Copyright 2001-2014, Michael Teo http://miketeo.net/. | |
199 | © Copyright 2001-2015, Michael Teo http://miketeo.net/. | |
200 | 200 | Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2. |
201 | 201 | </div> |
202 | 202 | </body> |
5 | 5 | <head> |
6 | 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
7 | 7 | |
8 | <title>SMBConnection Class — pysmb 1.1.10 documentation</title> | |
8 | <title>SMBConnection Class — pysmb 1.1.15 documentation</title> | |
9 | 9 | |
10 | 10 | <link rel="stylesheet" href="../_static/sphinxdoc.css" type="text/css" /> |
11 | 11 | <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> |
13 | 13 | <script type="text/javascript"> |
14 | 14 | var DOCUMENTATION_OPTIONS = { |
15 | 15 | URL_ROOT: '../', |
16 | VERSION: '1.1.10', | |
16 | VERSION: '1.1.15', | |
17 | 17 | COLLAPSE_INDEX: false, |
18 | 18 | FILE_SUFFIX: '.html', |
19 | 19 | HAS_SOURCE: true |
22 | 22 | <script type="text/javascript" src="../_static/jquery.js"></script> |
23 | 23 | <script type="text/javascript" src="../_static/underscore.js"></script> |
24 | 24 | <script type="text/javascript" src="../_static/doctools.js"></script> |
25 | <link rel="top" title="pysmb 1.1.10 documentation" href="../index.html" /> | |
25 | <link rel="top" title="pysmb 1.1.15 documentation" href="../index.html" /> | |
26 | 26 | <link rel="next" title="SMbHandler Class" href="smb_SMBHandler.html" /> |
27 | 27 | <link rel="prev" title="NetBIOS class" href="nmb_NetBIOS.html" /> |
28 | 28 | </head> |
39 | 39 | <li class="right" > |
40 | 40 | <a href="nmb_NetBIOS.html" title="NetBIOS class" |
41 | 41 | accesskey="P">previous</a> |</li> |
42 | <li><a href="../index.html">pysmb 1.1.10 documentation</a> »</li> | |
42 | <li><a href="../index.html">pysmb 1.1.15 documentation</a> »</li> | |
43 | 43 | </ul> |
44 | 44 | </div> |
45 | 45 | <div class="sphinxsidebar"> |
430 | 430 | <dl class="method"> |
431 | 431 | <dt id="smb.SMBConnection.SMBConnection.storeFile"> |
432 | 432 | <tt class="descname">storeFile</tt><big>(</big><em>service_name</em>, <em>path</em>, <em>file_obj</em>, <em>timeout=30</em><big>)</big><a class="reference internal" href="../_modules/smb/SMBConnection.html#SMBConnection.storeFile"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#smb.SMBConnection.SMBConnection.storeFile" title="Permalink to this definition">¶</a></dt> |
433 | <dd><p>Store the contents of the <em>file_obj</em> at <em>path</em> on the <em>service_name</em>.</p> | |
433 | <dd><p>Store the contents of the <em>file_obj</em> at <em>path</em> on the <em>service_name</em>. | |
434 | If the file already exists on the remote server, it will be truncated and overwritten.</p> | |
434 | 435 | <table class="docutils field-list" frame="void" rules="none"> |
435 | 436 | <col class="field-name" /> |
436 | 437 | <col class="field-body" /> |
444 | 445 | </td> |
445 | 446 | </tr> |
446 | 447 | <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">Number of bytes uploaded</p> |
448 | </td> | |
449 | </tr> | |
450 | </tbody> | |
451 | </table> | |
452 | </dd></dl> | |
453 | ||
454 | <dl class="method"> | |
455 | <dt id="smb.SMBConnection.SMBConnection.storeFileFromOffset"> | |
456 | <tt class="descname">storeFileFromOffset</tt><big>(</big><em>service_name</em>, <em>path</em>, <em>file_obj</em>, <em>offset=0L</em>, <em>truncate=False</em>, <em>timeout=30</em><big>)</big><a class="reference internal" href="../_modules/smb/SMBConnection.html#SMBConnection.storeFileFromOffset"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#smb.SMBConnection.SMBConnection.storeFileFromOffset" title="Permalink to this definition">¶</a></dt> | |
457 | <dd><p>Store the contents of the <em>file_obj</em> at <em>path</em> on the <em>service_name</em>.</p> | |
458 | <table class="docutils field-list" frame="void" rules="none"> | |
459 | <col class="field-name" /> | |
460 | <col class="field-body" /> | |
461 | <tbody valign="top"> | |
462 | <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple"> | |
463 | <li><strong>service_name</strong> (<em>string/unicode</em>) – the name of the shared folder for the <em>path</em></li> | |
464 | <li><strong>path</strong> (<em>string/unicode</em>) – Path of the file on the remote server. If the file at <em>path</em> does not exist, it will be created. | |
465 | If the <em>path</em> refers to a folder or the file cannot be opened for writing, an <a class="reference internal" href="smb_exceptions.html"><em>OperationFailure</em></a> will be raised.</li> | |
466 | <li><strong>file_obj</strong> – A file-like object that has a <em>read</em> method. Data will read continuously from <em>file_obj</em> until EOF.</li> | |
467 | <li><strong>offset</strong> – Long integer value which specifies the offset in the remote server to start writing. First byte of the file is 0.</li> | |
468 | <li><strong>truncate</strong> – Boolean value. If True and the file exists on the remote server, it will be truncated first before writing. Default is False.</li> | |
469 | </ul> | |
470 | </td> | |
471 | </tr> | |
472 | <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">the file position where the next byte will be written.</p> | |
447 | 473 | </td> |
448 | 474 | </tr> |
449 | 475 | </tbody> |
497 | 523 | <li class="right" > |
498 | 524 | <a href="nmb_NetBIOS.html" title="NetBIOS class" |
499 | 525 | >previous</a> |</li> |
500 | <li><a href="../index.html">pysmb 1.1.10 documentation</a> »</li> | |
526 | <li><a href="../index.html">pysmb 1.1.15 documentation</a> »</li> | |
501 | 527 | </ul> |
502 | 528 | </div> |
503 | 529 | <div class="footer"> |
504 | © Copyright 2001-2014, Michael Teo http://miketeo.net/. | |
530 | © Copyright 2001-2015, Michael Teo http://miketeo.net/. | |
505 | 531 | Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2. |
506 | 532 | </div> |
507 | 533 | </body> |
5 | 5 | <head> |
6 | 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
7 | 7 | |
8 | <title>SMbHandler Class — pysmb 1.1.10 documentation</title> | |
8 | <title>SMbHandler Class — pysmb 1.1.15 documentation</title> | |
9 | 9 | |
10 | 10 | <link rel="stylesheet" href="../_static/sphinxdoc.css" type="text/css" /> |
11 | 11 | <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> |
13 | 13 | <script type="text/javascript"> |
14 | 14 | var DOCUMENTATION_OPTIONS = { |
15 | 15 | URL_ROOT: '../', |
16 | VERSION: '1.1.10', | |
16 | VERSION: '1.1.15', | |
17 | 17 | COLLAPSE_INDEX: false, |
18 | 18 | FILE_SUFFIX: '.html', |
19 | 19 | HAS_SOURCE: true |
22 | 22 | <script type="text/javascript" src="../_static/jquery.js"></script> |
23 | 23 | <script type="text/javascript" src="../_static/underscore.js"></script> |
24 | 24 | <script type="text/javascript" src="../_static/doctools.js"></script> |
25 | <link rel="top" title="pysmb 1.1.10 documentation" href="../index.html" /> | |
25 | <link rel="top" title="pysmb 1.1.15 documentation" href="../index.html" /> | |
26 | 26 | <link rel="next" title="SMBProtocolFactory Class" href="smb_SMBProtocolFactory.html" /> |
27 | 27 | <link rel="prev" title="SMBConnection Class" href="smb_SMBConnection.html" /> |
28 | 28 | </head> |
39 | 39 | <li class="right" > |
40 | 40 | <a href="smb_SMBConnection.html" title="SMBConnection Class" |
41 | 41 | accesskey="P">previous</a> |</li> |
42 | <li><a href="../index.html">pysmb 1.1.10 documentation</a> »</li> | |
42 | <li><a href="../index.html">pysmb 1.1.15 documentation</a> »</li> | |
43 | 43 | </ul> |
44 | 44 | </div> |
45 | 45 | <div class="sphinxsidebar"> |
153 | 153 | <li class="right" > |
154 | 154 | <a href="smb_SMBConnection.html" title="SMBConnection Class" |
155 | 155 | >previous</a> |</li> |
156 | <li><a href="../index.html">pysmb 1.1.10 documentation</a> »</li> | |
156 | <li><a href="../index.html">pysmb 1.1.15 documentation</a> »</li> | |
157 | 157 | </ul> |
158 | 158 | </div> |
159 | 159 | <div class="footer"> |
160 | © Copyright 2001-2014, Michael Teo http://miketeo.net/. | |
160 | © Copyright 2001-2015, Michael Teo http://miketeo.net/. | |
161 | 161 | Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2. |
162 | 162 | </div> |
163 | 163 | </body> |
5 | 5 | <head> |
6 | 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
7 | 7 | |
8 | <title>SMBProtocolFactory Class — pysmb 1.1.10 documentation</title> | |
8 | <title>SMBProtocolFactory Class — pysmb 1.1.15 documentation</title> | |
9 | 9 | |
10 | 10 | <link rel="stylesheet" href="../_static/sphinxdoc.css" type="text/css" /> |
11 | 11 | <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> |
13 | 13 | <script type="text/javascript"> |
14 | 14 | var DOCUMENTATION_OPTIONS = { |
15 | 15 | URL_ROOT: '../', |
16 | VERSION: '1.1.10', | |
16 | VERSION: '1.1.15', | |
17 | 17 | COLLAPSE_INDEX: false, |
18 | 18 | FILE_SUFFIX: '.html', |
19 | 19 | HAS_SOURCE: true |
22 | 22 | <script type="text/javascript" src="../_static/jquery.js"></script> |
23 | 23 | <script type="text/javascript" src="../_static/underscore.js"></script> |
24 | 24 | <script type="text/javascript" src="../_static/doctools.js"></script> |
25 | <link rel="top" title="pysmb 1.1.10 documentation" href="../index.html" /> | |
25 | <link rel="top" title="pysmb 1.1.15 documentation" href="../index.html" /> | |
26 | 26 | <link rel="next" title="SharedDevice Class" href="smb_SharedDevice.html" /> |
27 | 27 | <link rel="prev" title="SMbHandler Class" href="smb_SMBHandler.html" /> |
28 | 28 | </head> |
39 | 39 | <li class="right" > |
40 | 40 | <a href="smb_SMBHandler.html" title="SMbHandler Class" |
41 | 41 | accesskey="P">previous</a> |</li> |
42 | <li><a href="../index.html">pysmb 1.1.10 documentation</a> »</li> | |
42 | <li><a href="../index.html">pysmb 1.1.15 documentation</a> »</li> | |
43 | 43 | </ul> |
44 | 44 | </div> |
45 | 45 | <div class="sphinxsidebar"> |
588 | 588 | <li class="right" > |
589 | 589 | <a href="smb_SMBHandler.html" title="SMbHandler Class" |
590 | 590 | >previous</a> |</li> |
591 | <li><a href="../index.html">pysmb 1.1.10 documentation</a> »</li> | |
591 | <li><a href="../index.html">pysmb 1.1.15 documentation</a> »</li> | |
592 | 592 | </ul> |
593 | 593 | </div> |
594 | 594 | <div class="footer"> |
595 | © Copyright 2001-2014, Michael Teo http://miketeo.net/. | |
595 | © Copyright 2001-2015, Michael Teo http://miketeo.net/. | |
596 | 596 | Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2. |
597 | 597 | </div> |
598 | 598 | </body> |
5 | 5 | <head> |
6 | 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
7 | 7 | |
8 | <title>SharedDevice Class — pysmb 1.1.10 documentation</title> | |
8 | <title>SharedDevice Class — pysmb 1.1.15 documentation</title> | |
9 | 9 | |
10 | 10 | <link rel="stylesheet" href="../_static/sphinxdoc.css" type="text/css" /> |
11 | 11 | <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> |
13 | 13 | <script type="text/javascript"> |
14 | 14 | var DOCUMENTATION_OPTIONS = { |
15 | 15 | URL_ROOT: '../', |
16 | VERSION: '1.1.10', | |
16 | VERSION: '1.1.15', | |
17 | 17 | COLLAPSE_INDEX: false, |
18 | 18 | FILE_SUFFIX: '.html', |
19 | 19 | HAS_SOURCE: true |
22 | 22 | <script type="text/javascript" src="../_static/jquery.js"></script> |
23 | 23 | <script type="text/javascript" src="../_static/underscore.js"></script> |
24 | 24 | <script type="text/javascript" src="../_static/doctools.js"></script> |
25 | <link rel="top" title="pysmb 1.1.10 documentation" href="../index.html" /> | |
25 | <link rel="top" title="pysmb 1.1.15 documentation" href="../index.html" /> | |
26 | 26 | <link rel="next" title="SharedFile Class" href="smb_SharedFile.html" /> |
27 | 27 | <link rel="prev" title="SMBProtocolFactory Class" href="smb_SMBProtocolFactory.html" /> |
28 | 28 | </head> |
39 | 39 | <li class="right" > |
40 | 40 | <a href="smb_SMBProtocolFactory.html" title="SMBProtocolFactory Class" |
41 | 41 | accesskey="P">previous</a> |</li> |
42 | <li><a href="../index.html">pysmb 1.1.10 documentation</a> »</li> | |
42 | <li><a href="../index.html">pysmb 1.1.15 documentation</a> »</li> | |
43 | 43 | </ul> |
44 | 44 | </div> |
45 | 45 | <div class="sphinxsidebar"> |
145 | 145 | <li class="right" > |
146 | 146 | <a href="smb_SMBProtocolFactory.html" title="SMBProtocolFactory Class" |
147 | 147 | >previous</a> |</li> |
148 | <li><a href="../index.html">pysmb 1.1.10 documentation</a> »</li> | |
148 | <li><a href="../index.html">pysmb 1.1.15 documentation</a> »</li> | |
149 | 149 | </ul> |
150 | 150 | </div> |
151 | 151 | <div class="footer"> |
152 | © Copyright 2001-2014, Michael Teo http://miketeo.net/. | |
152 | © Copyright 2001-2015, Michael Teo http://miketeo.net/. | |
153 | 153 | Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2. |
154 | 154 | </div> |
155 | 155 | </body> |
5 | 5 | <head> |
6 | 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
7 | 7 | |
8 | <title>SharedFile Class — pysmb 1.1.10 documentation</title> | |
8 | <title>SharedFile Class — pysmb 1.1.15 documentation</title> | |
9 | 9 | |
10 | 10 | <link rel="stylesheet" href="../_static/sphinxdoc.css" type="text/css" /> |
11 | 11 | <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> |
13 | 13 | <script type="text/javascript"> |
14 | 14 | var DOCUMENTATION_OPTIONS = { |
15 | 15 | URL_ROOT: '../', |
16 | VERSION: '1.1.10', | |
16 | VERSION: '1.1.15', | |
17 | 17 | COLLAPSE_INDEX: false, |
18 | 18 | FILE_SUFFIX: '.html', |
19 | 19 | HAS_SOURCE: true |
22 | 22 | <script type="text/javascript" src="../_static/jquery.js"></script> |
23 | 23 | <script type="text/javascript" src="../_static/underscore.js"></script> |
24 | 24 | <script type="text/javascript" src="../_static/doctools.js"></script> |
25 | <link rel="top" title="pysmb 1.1.10 documentation" href="../index.html" /> | |
25 | <link rel="top" title="pysmb 1.1.15 documentation" href="../index.html" /> | |
26 | 26 | <link rel="next" title="SMB Exceptions" href="smb_exceptions.html" /> |
27 | 27 | <link rel="prev" title="SharedDevice Class" href="smb_SharedDevice.html" /> |
28 | 28 | </head> |
39 | 39 | <li class="right" > |
40 | 40 | <a href="smb_SharedDevice.html" title="SharedDevice Class" |
41 | 41 | accesskey="P">previous</a> |</li> |
42 | <li><a href="../index.html">pysmb 1.1.10 documentation</a> »</li> | |
42 | <li><a href="../index.html">pysmb 1.1.15 documentation</a> »</li> | |
43 | 43 | </ul> |
44 | 44 | </div> |
45 | 45 | <div class="sphinxsidebar"> |
120 | 120 | <dl class="attribute"> |
121 | 121 | <dt id="smb.base.SharedFile.isDirectory"> |
122 | 122 | <tt class="descname">isDirectory</tt><a class="reference internal" href="../_modules/smb/base.html#SharedFile.isDirectory"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#smb.base.SharedFile.isDirectory" title="Permalink to this definition">¶</a></dt> |
123 | <dd><p>A convenience property to return True if this file resource is a directory on the remote server</p> | |
123 | <dd><p>A convenient property to return True if this file resource is a directory on the remote server</p> | |
124 | 124 | </dd></dl> |
125 | 125 | |
126 | 126 | <dl class="attribute"> |
127 | 127 | <dt id="smb.base.SharedFile.isReadOnly"> |
128 | 128 | <tt class="descname">isReadOnly</tt><a class="reference internal" href="../_modules/smb/base.html#SharedFile.isReadOnly"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#smb.base.SharedFile.isReadOnly" title="Permalink to this definition">¶</a></dt> |
129 | <dd><p>A convenience property to return True if this file resource is read-only on the remote server</p> | |
129 | <dd><p>A convenient property to return True if this file resource is read-only on the remote server</p> | |
130 | 130 | </dd></dl> |
131 | 131 | |
132 | 132 | <dl class="attribute"> |
175 | 175 | <li class="right" > |
176 | 176 | <a href="smb_SharedDevice.html" title="SharedDevice Class" |
177 | 177 | >previous</a> |</li> |
178 | <li><a href="../index.html">pysmb 1.1.10 documentation</a> »</li> | |
178 | <li><a href="../index.html">pysmb 1.1.15 documentation</a> »</li> | |
179 | 179 | </ul> |
180 | 180 | </div> |
181 | 181 | <div class="footer"> |
182 | © Copyright 2001-2014, Michael Teo http://miketeo.net/. | |
182 | © Copyright 2001-2015, Michael Teo http://miketeo.net/. | |
183 | 183 | Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2. |
184 | 184 | </div> |
185 | 185 | </body> |
5 | 5 | <head> |
6 | 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
7 | 7 | |
8 | <title>SMB Exceptions — pysmb 1.1.10 documentation</title> | |
8 | <title>SMB Exceptions — pysmb 1.1.15 documentation</title> | |
9 | 9 | |
10 | 10 | <link rel="stylesheet" href="../_static/sphinxdoc.css" type="text/css" /> |
11 | 11 | <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> |
13 | 13 | <script type="text/javascript"> |
14 | 14 | var DOCUMENTATION_OPTIONS = { |
15 | 15 | URL_ROOT: '../', |
16 | VERSION: '1.1.10', | |
16 | VERSION: '1.1.15', | |
17 | 17 | COLLAPSE_INDEX: false, |
18 | 18 | FILE_SUFFIX: '.html', |
19 | 19 | HAS_SOURCE: true |
22 | 22 | <script type="text/javascript" src="../_static/jquery.js"></script> |
23 | 23 | <script type="text/javascript" src="../_static/underscore.js"></script> |
24 | 24 | <script type="text/javascript" src="../_static/doctools.js"></script> |
25 | <link rel="top" title="pysmb 1.1.10 documentation" href="../index.html" /> | |
25 | <link rel="top" title="pysmb 1.1.15 documentation" href="../index.html" /> | |
26 | 26 | <link rel="next" title="Extending pysmb For Other Frameworks" href="../extending.html" /> |
27 | 27 | <link rel="prev" title="SharedFile Class" href="smb_SharedFile.html" /> |
28 | 28 | </head> |
39 | 39 | <li class="right" > |
40 | 40 | <a href="smb_SharedFile.html" title="SharedFile Class" |
41 | 41 | accesskey="P">previous</a> |</li> |
42 | <li><a href="../index.html">pysmb 1.1.10 documentation</a> »</li> | |
42 | <li><a href="../index.html">pysmb 1.1.15 documentation</a> »</li> | |
43 | 43 | </ul> |
44 | 44 | </div> |
45 | 45 | <div class="sphinxsidebar"> |
133 | 133 | <li class="right" > |
134 | 134 | <a href="smb_SharedFile.html" title="SharedFile Class" |
135 | 135 | >previous</a> |</li> |
136 | <li><a href="../index.html">pysmb 1.1.10 documentation</a> »</li> | |
136 | <li><a href="../index.html">pysmb 1.1.15 documentation</a> »</li> | |
137 | 137 | </ul> |
138 | 138 | </div> |
139 | 139 | <div class="footer"> |
140 | © Copyright 2001-2014, Michael Teo http://miketeo.net/. | |
140 | © Copyright 2001-2015, Michael Teo http://miketeo.net/. | |
141 | 141 | Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2. |
142 | 142 | </div> |
143 | 143 | </body> |
5 | 5 | <head> |
6 | 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
7 | 7 | |
8 | <title>Extending pysmb For Other Frameworks — pysmb 1.1.10 documentation</title> | |
8 | <title>Extending pysmb For Other Frameworks — pysmb 1.1.15 documentation</title> | |
9 | 9 | |
10 | 10 | <link rel="stylesheet" href="_static/sphinxdoc.css" type="text/css" /> |
11 | 11 | <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> |
13 | 13 | <script type="text/javascript"> |
14 | 14 | var DOCUMENTATION_OPTIONS = { |
15 | 15 | URL_ROOT: './', |
16 | VERSION: '1.1.10', | |
16 | VERSION: '1.1.15', | |
17 | 17 | COLLAPSE_INDEX: false, |
18 | 18 | FILE_SUFFIX: '.html', |
19 | 19 | HAS_SOURCE: true |
22 | 22 | <script type="text/javascript" src="_static/jquery.js"></script> |
23 | 23 | <script type="text/javascript" src="_static/underscore.js"></script> |
24 | 24 | <script type="text/javascript" src="_static/doctools.js"></script> |
25 | <link rel="top" title="pysmb 1.1.10 documentation" href="index.html" /> | |
25 | <link rel="top" title="pysmb 1.1.15 documentation" href="index.html" /> | |
26 | 26 | <link rel="prev" title="SMB Exceptions" href="api/smb_exceptions.html" /> |
27 | 27 | </head> |
28 | 28 | <body> |
35 | 35 | <li class="right" > |
36 | 36 | <a href="api/smb_exceptions.html" title="SMB Exceptions" |
37 | 37 | accesskey="P">previous</a> |</li> |
38 | <li><a href="index.html">pysmb 1.1.10 documentation</a> »</li> | |
38 | <li><a href="index.html">pysmb 1.1.15 documentation</a> »</li> | |
39 | 39 | </ul> |
40 | 40 | </div> |
41 | 41 | <div class="sphinxsidebar"> |
110 | 110 | <li class="right" > |
111 | 111 | <a href="api/smb_exceptions.html" title="SMB Exceptions" |
112 | 112 | >previous</a> |</li> |
113 | <li><a href="index.html">pysmb 1.1.10 documentation</a> »</li> | |
113 | <li><a href="index.html">pysmb 1.1.15 documentation</a> »</li> | |
114 | 114 | </ul> |
115 | 115 | </div> |
116 | 116 | <div class="footer"> |
117 | © Copyright 2001-2014, Michael Teo http://miketeo.net/. | |
117 | © Copyright 2001-2015, Michael Teo http://miketeo.net/. | |
118 | 118 | Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2. |
119 | 119 | </div> |
120 | 120 | </body> |
6 | 6 | <head> |
7 | 7 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
8 | 8 | |
9 | <title>Index — pysmb 1.1.10 documentation</title> | |
9 | <title>Index — pysmb 1.1.15 documentation</title> | |
10 | 10 | |
11 | 11 | <link rel="stylesheet" href="_static/sphinxdoc.css" type="text/css" /> |
12 | 12 | <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> |
14 | 14 | <script type="text/javascript"> |
15 | 15 | var DOCUMENTATION_OPTIONS = { |
16 | 16 | URL_ROOT: './', |
17 | VERSION: '1.1.10', | |
17 | VERSION: '1.1.15', | |
18 | 18 | COLLAPSE_INDEX: false, |
19 | 19 | FILE_SUFFIX: '.html', |
20 | 20 | HAS_SOURCE: true |
23 | 23 | <script type="text/javascript" src="_static/jquery.js"></script> |
24 | 24 | <script type="text/javascript" src="_static/underscore.js"></script> |
25 | 25 | <script type="text/javascript" src="_static/doctools.js"></script> |
26 | <link rel="top" title="pysmb 1.1.10 documentation" href="index.html" /> | |
26 | <link rel="top" title="pysmb 1.1.15 documentation" href="index.html" /> | |
27 | 27 | </head> |
28 | 28 | <body> |
29 | 29 | <div class="related"> |
32 | 32 | <li class="right" style="margin-right: 10px"> |
33 | 33 | <a href="#" title="General Index" |
34 | 34 | accesskey="I">index</a></li> |
35 | <li><a href="index.html">pysmb 1.1.10 documentation</a> »</li> | |
35 | <li><a href="index.html">pysmb 1.1.15 documentation</a> »</li> | |
36 | 36 | </ul> |
37 | 37 | </div> |
38 | 38 | <div class="sphinxsidebar"> |
497 | 497 | </dt> |
498 | 498 | |
499 | 499 | </dl></dd> |
500 | </dl></td> | |
501 | <td style="width: 33%" valign="top"><dl> | |
502 | 500 | |
503 | 501 | <dt><a href="api/smb_SMBConnection.html#smb.SMBConnection.SMBConnection.SIGN_WHEN_SUPPORTED">SIGN_WHEN_SUPPORTED (smb.SMBConnection.SMBConnection attribute)</a> |
504 | 502 | </dt> |
509 | 507 | </dt> |
510 | 508 | |
511 | 509 | </dl></dd> |
510 | </dl></td> | |
511 | <td style="width: 33%" valign="top"><dl> | |
512 | 512 | |
513 | 513 | <dt><a href="api/smb_SMBConnection.html#smb.SMBConnection.SMBConnection">SMBConnection (class in smb.SMBConnection)</a> |
514 | 514 | </dt> |
531 | 531 | </dt> |
532 | 532 | |
533 | 533 | </dl></dd> |
534 | ||
535 | <dt><a href="api/smb_SMBConnection.html#smb.SMBConnection.SMBConnection.storeFileFromOffset">storeFileFromOffset() (smb.SMBConnection.SMBConnection method)</a> | |
536 | </dt> | |
537 | ||
534 | 538 | </dl></td> |
535 | 539 | </tr></table> |
536 | 540 | |
567 | 571 | <li class="right" style="margin-right: 10px"> |
568 | 572 | <a href="#" title="General Index" |
569 | 573 | >index</a></li> |
570 | <li><a href="index.html">pysmb 1.1.10 documentation</a> »</li> | |
574 | <li><a href="index.html">pysmb 1.1.15 documentation</a> »</li> | |
571 | 575 | </ul> |
572 | 576 | </div> |
573 | 577 | <div class="footer"> |
574 | © Copyright 2001-2014, Michael Teo http://miketeo.net/. | |
578 | © Copyright 2001-2015, Michael Teo http://miketeo.net/. | |
575 | 579 | Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2. |
576 | 580 | </div> |
577 | 581 | </body> |
5 | 5 | <head> |
6 | 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
7 | 7 | |
8 | <title>Welcome to pysmb’s documentation! — pysmb 1.1.10 documentation</title> | |
8 | <title>Welcome to pysmb’s documentation! — pysmb 1.1.15 documentation</title> | |
9 | 9 | |
10 | 10 | <link rel="stylesheet" href="_static/sphinxdoc.css" type="text/css" /> |
11 | 11 | <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> |
13 | 13 | <script type="text/javascript"> |
14 | 14 | var DOCUMENTATION_OPTIONS = { |
15 | 15 | URL_ROOT: './', |
16 | VERSION: '1.1.10', | |
16 | VERSION: '1.1.15', | |
17 | 17 | COLLAPSE_INDEX: false, |
18 | 18 | FILE_SUFFIX: '.html', |
19 | 19 | HAS_SOURCE: true |
22 | 22 | <script type="text/javascript" src="_static/jquery.js"></script> |
23 | 23 | <script type="text/javascript" src="_static/underscore.js"></script> |
24 | 24 | <script type="text/javascript" src="_static/doctools.js"></script> |
25 | <link rel="top" title="pysmb 1.1.10 documentation" href="#" /> | |
25 | <link rel="top" title="pysmb 1.1.15 documentation" href="#" /> | |
26 | 26 | <link rel="next" title="NBNSProtocol Class" href="api/nmb_NBNSProtocol.html" /> |
27 | 27 | </head> |
28 | 28 | <body> |
35 | 35 | <li class="right" > |
36 | 36 | <a href="api/nmb_NBNSProtocol.html" title="NBNSProtocol Class" |
37 | 37 | accesskey="N">next</a> |</li> |
38 | <li><a href="#">pysmb 1.1.10 documentation</a> »</li> | |
38 | <li><a href="#">pysmb 1.1.15 documentation</a> »</li> | |
39 | 39 | </ul> |
40 | 40 | </div> |
41 | 41 | <div class="sphinxsidebar"> |
208 | 208 | <li class="right" > |
209 | 209 | <a href="api/nmb_NBNSProtocol.html" title="NBNSProtocol Class" |
210 | 210 | >next</a> |</li> |
211 | <li><a href="#">pysmb 1.1.10 documentation</a> »</li> | |
211 | <li><a href="#">pysmb 1.1.15 documentation</a> »</li> | |
212 | 212 | </ul> |
213 | 213 | </div> |
214 | 214 | <div class="footer"> |
215 | © Copyright 2001-2014, Michael Teo http://miketeo.net/. | |
215 | © Copyright 2001-2015, Michael Teo http://miketeo.net/. | |
216 | 216 | Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2. |
217 | 217 | </div> |
218 | 218 | </body> |
Binary diff not shown
5 | 5 | <head> |
6 | 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
7 | 7 | |
8 | <title>Search — pysmb 1.1.10 documentation</title> | |
8 | <title>Search — pysmb 1.1.15 documentation</title> | |
9 | 9 | |
10 | 10 | <link rel="stylesheet" href="_static/sphinxdoc.css" type="text/css" /> |
11 | 11 | <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> |
13 | 13 | <script type="text/javascript"> |
14 | 14 | var DOCUMENTATION_OPTIONS = { |
15 | 15 | URL_ROOT: './', |
16 | VERSION: '1.1.10', | |
16 | VERSION: '1.1.15', | |
17 | 17 | COLLAPSE_INDEX: false, |
18 | 18 | FILE_SUFFIX: '.html', |
19 | 19 | HAS_SOURCE: true |
23 | 23 | <script type="text/javascript" src="_static/underscore.js"></script> |
24 | 24 | <script type="text/javascript" src="_static/doctools.js"></script> |
25 | 25 | <script type="text/javascript" src="_static/searchtools.js"></script> |
26 | <link rel="top" title="pysmb 1.1.10 documentation" href="index.html" /> | |
26 | <link rel="top" title="pysmb 1.1.15 documentation" href="index.html" /> | |
27 | 27 | <script type="text/javascript"> |
28 | 28 | jQuery(function() { Search.loadIndex("searchindex.js"); }); |
29 | 29 | </script> |
39 | 39 | <li class="right" style="margin-right: 10px"> |
40 | 40 | <a href="genindex.html" title="General Index" |
41 | 41 | accesskey="I">index</a></li> |
42 | <li><a href="index.html">pysmb 1.1.10 documentation</a> »</li> | |
42 | <li><a href="index.html">pysmb 1.1.15 documentation</a> »</li> | |
43 | 43 | </ul> |
44 | 44 | </div> |
45 | 45 | <div class="sphinxsidebar"> |
87 | 87 | <li class="right" style="margin-right: 10px"> |
88 | 88 | <a href="genindex.html" title="General Index" |
89 | 89 | >index</a></li> |
90 | <li><a href="index.html">pysmb 1.1.10 documentation</a> »</li> | |
90 | <li><a href="index.html">pysmb 1.1.15 documentation</a> »</li> | |
91 | 91 | </ul> |
92 | 92 | </div> |
93 | 93 | <div class="footer"> |
94 | © Copyright 2001-2014, Michael Teo http://miketeo.net/. | |
94 | © Copyright 2001-2015, Michael Teo http://miketeo.net/. | |
95 | 95 | Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2. |
96 | 96 | </div> |
97 | 97 | </body> |
0 | Search.setIndex({envversion:42,terms:{all:[8,0,7],code:2,jason:[4,9],illustr:[8,7,2],queri:[4,0,8,9,7],follow:[8,0,2,7,1],whose:0,accur:8,depend:0,listen_port:[4,9],netbiostimeout:9,service_nam:[8,7],specif:0,send:[4,8,9,7],present:6,under:0,sha256:0,arbitari:[8,7],fh2:2,last_write_tim:3,sourc:[0,1,3,4,6,7,8,9],string:[8,1,2,3,4,7,9],fals:[4,8,9,7],util:[8,7],mechan:[8,7],fileretriev:8,failur:9,miketeo:0,administr:1,list:[4,0,8,9,7],upload:[8,7,2],smb:[4,2,3,1],"try":[8,5,7],upload_fil:2,session:[0,5],refer:[8,0,7,1],pleas:0,sign_when_requir:[8,7],direct:[8,7],sign:[8,7],deletedirectori:[8,7],zero:[4,8,9,7],nbn:[4,0],pass:[8,7,2],sock_famili:7,client_machine_nam:[8,7],port:[4,8,9,7],compat:[8,7],index:0,what:[4,8,7,9,5],sub:[8,7],repli:[4,8,9,7],section:0,"while":6,access:[8,7,3],delet:[8,7,2],version:0,u32:0,"new":[4,8,7,5],net:0,method:[8,2,3,4,5,7,9],urlerror:2,hash:0,gener:5,never:[8,7],my_nam:[8,7],lgpl:0,modif:3,address:[4,0,2,9,5],path:[8,7,2],modifi:0,sinc:3,valu:[8,7,3],wait:[4,8,9,6],search:[8,0,7],zone:[8,7],overwritten:[8,7],step:5,queue:8,datetim:[8,7],loseconnect:8,implement:[0,4,5,7,8,9],stoplisten:9,overrid:[8,5],via:[8,0,9,3],regardless:[8,7],ntlmv2:[8,0,7],ntlmv1:[8,0,7],appli:[8,7],modul:[8,0,7],filenam:[8,7,3],"boolean":[4,8,9,7],listshar:[8,7],instal:[8,0,7],txt:[8,7,2],establish:[8,7],select:[4,8,9,7],from:[0,2,4,5,7,8,9],proceed:[8,7],commun:[8,0,7,1],call:[8,3,4,5,7,9],isreadonli:3,type:1,until:[4,8,7],more:[8,0,7,3,5],sort:7,relat:0,sambda:[8,7],flag:[4,8,9,7],accept:[8,5],known:[8,7],actual:7,must:[8,7,9],none:[8,1,3,4,6,7,9],retriev:[8,7,2],setup:[4,8,9,5],dmitri:0,kwarg:8,can:[0,1,2,4,5,7,8,9],learn:[8,7],purpos:0,def:8,control:[8,7],defer:[8,9],process:[5,2],share:[0,1,2,3,8,7],sharedfil:[],indic:[4,9],want:[8,0],opensourc:0,unsign:0,occur:[8,7,6],addcallback:[8,9],alwai:0,multipl:[8,7],secur:0,namedtemporaryfil:[8,7],snippet:2,conn:7,pure:0,reject:[8,7],onauthfail:[8,5],simpl:[8,7],old_path:[8,7],dialect:0,resourc:[4,8,3,7],referenc:0,after:[4,0,8,9,7],befor:[8,7],wrong:5,mai:[8,7],end:[8,7],smb_ext_file_attr:3,data:[8,0,2,7,5],alloc:3,"short":3,attempt:7,read:[0,2,3,8,5,7],bind:[4,9],credenti:[8,7],correspond:3,element:[8,7],inform:[8,7,3,1],allow:[8,7,9],fallback:[8,7],origin:[8,7,3],over:[8,0,7],file_s:[8,3],queryipfornam:[4,9],through:8,digest:0,paramet:[0,2,4,5,7,8,9],getattribut:[8,7],write:[8,5,7],style:0,disconnect:[8,7,6],window:[8,0,2,3,7],persist:1,hidden:[8,7],main:0,might:[8,7],shareddevic:[],non:[8,7],"float":[4,8,9,3],"return":[0,1,2,3,4,7,8,9],thei:0,python:[8,0,2,7],auto:[8,7],safe:[8,7],auth:8,dat:2,framework:9,promis:0,facilit:0,pyde:0,now:5,myuserid:2,choic:[8,7],term:0,name:[0,1,2,3,4,7,8,9],edit:[8,7],ntlm:[8,0,5],userid:[8,7],authent:[8,0,7,6,5],separ:0,adderrback:8,mode:[4,9],timeout:[4,8,9,6,7],each:[4,8,7,3,1],done:[4,9],unicod:[8,7,2,3,1],side:0,errback:[8,9],prohibit:3,domain:[8,0,7],smbtimeout:[8,6],individu:8,instiant:[4,9],continu:[8,7],connect:[8,5,6,7],todd:0,special:1,out:[8,7],network:[4,0,8,9,7],"3rd":0,space:[8,7],ntlmssp:0,content:[],suitabl:[0,7],rel:[8,7],internet:[8,9],print:[8,0],forth:1,factori:8,sp3:0,insid:[8,7],querynam:[4,9],differ:[8,0,7,5],free:[4,0,9],standard:[4,0,9],base:[0,1,3,8,5,6,7],connecttcp:8,releas:[4,7],"byte":[8,7,3],earliest:8,asn:0,md4:0,care:5,last_access_tim:3,could:[0,3],synchron:[0,5],keep:7,filter:[8,7],length:3,place:0,due:5,first:[8,7,2],oper:[0,4,5,6,7,8],softwar:0,directli:[8,3],enterpris:[8,7],onc:[8,5],number:[4,8,9,3,7],yourself:0,"\u5783\u573e\u6587\u4ef6":2,messag:[8,0,6,7],path_file_pattern:[8,7],open:[8,0,2,7],size:[8,3],guess:[8,7],notreadyerror:[8,6],system:[8,7],least:7,max_length:[8,7],too:7,termin:[8,7],conveni:[8,7,3],store:[8,7,3],listen:[4,9],udp:[4,9],copi:[8,0,7],specifi:[4,8,9,7],broadcast:[4,9],part:5,pars:0,rfc1001:[8,7,2],than:[8,7],aaa:[4,9],target:[4,9],provid:[0,2,4,5,7,8,9],remov:9,second:[4,8,9,3],charact:[8,7,2,3],project:[8,0,9],reus:8,sign_nev:[8,7],posit:[8,7],initi:[5,1],seri:8,files:7,comput:[8,7],respons:6,ani:[4,0,8,3,7],smb1:[8,0,7],packag:2,netbiossess:0,have:[7,0,9,5],reserv:1,need:[0,2,3,8,5,7],smb2_constant:0,seek:[8,7],bitwis:[8,7],callback:[8,5,9],support_smb2:[8,7],self:[8,5],comm_devic:1,click:[8,7],note:[],also:[8,7,1],discret:0,take:[0,5],which:[0,3,4,5,7,8,9],transmit:8,mit:0,singl:[8,7,1],begin:[8,7],unless:[4,9],usernam:[8,7],who:[8,0,7],smb_file_attribute_xxx:[8,7],most:[8,0,7,5],regular:[8,7],renam:[8,7],url:[0,2],request:[8,7],doe:[8,0,3,7],snapshot:[8,7],wildcard:[8,7],neg:[8,7],latest:0,microsoft:0,dot:[4,9],reactor:[8,9],netbiosprotocol:[0,9],server_nam:[8,7],concurr:[8,7],protocol:[8,0,6,7],find:[8,5,7],involv:5,current:6,onli:[8,0,2,3,7],configur:[8,7],should:[4,8,9,3,7],busi:[8,7],folder:[8,0,2,3,7],local:[8,7],hope:[4,9],meant:7,disk_tre:1,listenudp:9,contribut:[4,9],variou:0,utc:[8,7],familiar:0,interprocess:1,cannot:[8,7,2],listsnapshot:[8,7],requir:[8,7,6],enabl:[8,7],organ:0,held:7,"public":8,sha:0,integr:[0,1],contain:[0,1,3,4,7,8],feeddata:5,where:[8,0,3,7],respond:7,set:[8,7],packet:[4,8,9,5],deletefil:[8,7],see:[8,7,3],sec:8,result:[8,7,9],arg:8,fail:[8,5,6,7],close:[4,8,2,7],"60kbyte":8,detect:[8,7],new_path:[8,7],pattern:[8,7],retrievefilefromoffset:[8,7],written:[8,7],smb_constant:[8,0,7],between:0,"import":[8,0,2,7],across:[8,7],attribut:[8,7,3],parent:2,tempfil:[8,7],sign_opt:[8,7],entir:8,come:0,both:[8,7],last:3,is_direct_tcp:[8,7],admin:1,alon:0,against:0,etc:8,instanc:[4,8,9,3,7],onnmbsessionfail:5,freeli:[8,7],isusingsmb2:[8,7],comment:1,simpli:2,technic:5,point:2,instanti:[4,8,9,3],"\u6d4b\u8bd5\u6587\u4ef6\u5939":2,last_attr_change_tim:3,period:8,except:9,securityblob:0,onauthok:[8,5],wider:[8,7],ultim:[8,7],rozmanov:0,short_nam:3,devic:[3,1],isreadi:8,been:[8,0,7,6,5],compon:[8,7,2],operationfailur:[8,7,6],server_ip:[8,7],immedi:[8,7],use_ntlm_v2:[8,5,7],blob:0,smb_struct:[8,0,6,7],thousand:8,assert:7,togeth:0,those:8,"case":8,look:0,sign_when_support:[8,7],servic:[4,0,8,7,5],properti:[8,7,3],batch:8,defin:[4,9],invok:[8,7],abov:5,error:[8,5,7],report:5,retrievefilefactori:8,loop:5,readi:[8,6],alloc_s:3,henc:[8,0,7],site:0,archiv:[8,7],incom:9,ascii:[8,7],"__init__":[4,8,7,9,5],precis:8,isdirectori:3,develop:[0,3,7],perform:[4,8,7,9,5],parti:0,isspeci:1,same:[8,7],proce:8,decod:0,create_tim:3,conflict:0,complet:[8,0,6,7],closeconnect:8,hostnam:2,keepal:7,director:2,remot:[8,1,3,4,5,7],rais:[8,7,2,9,6],temporari:1,user:[8,7,1],protocolerror:6,chang:3,googl:0,appropri:[4,9],choos:[8,7],entri:3,well:0,without:[0,9],command:[8,7],thi:[0,1,3,4,5,7,8,9],english:[8,7],file_obj:[8,7],retrievefil:[8,7],ccc:[4,9],usual:[8,0,7,3,5],identifi:[8,7],just:[8,9],mypassword:2,createdirectori:[8,7],tcp:[8,5,7],notconnectederror:[8,6],touch:[4,8,9],yet:6,iana:[4,9],storefil:[8,7],web:0,samba:0,expos:8,remote_nam:[8,5,7],param:[],add:[8,9],other:[],dixon:0,exercis:0,els:[8,7],subsequ:2,match:[4,8,9,7],gmt:[8,7],applic:[4,0,8,9,3],around:9,handl:[8,5],thoma:0,know:[4,8,9],bit:[8,0,7],password:[8,7],like:[8,7,2],success:[5,7],integ:[0,3,4,7,8,9],server:[0,1,3,8,5,7],build_open:2,print_queu:1,either:[8,7],page:[0,5],underli:[4,0,8,6,7],encount:[7,3],right:[8,7],old:[8,7],often:5,captur:[8,7],acknowledg:8,interv:8,linux:0,some:[8,0,7],back:[4,8,9,7],intern:[8,0,5],istemporari:1,successfulli:[8,7],transport:[8,0,9],smbprotocol:[8,0,3],total:3,smbtest:[8,7],avoid:8,smb2_struct:0,sharedfold:2,subclass:[8,5],buffer:5,retri:8,leav:[4,8,9,7],commerci:0,pysmb:[9,6],ddd:[4,9],machin:[0,2,4,7,8,9],object:[8,7,2],shadow:[8,7],workgroup:[8,7],atttempt:7,host:[8,7,2],nmb:[4,0,9],offset:[8,7],post:[8,5],impos:[8,7],describ:[5,7],about:[8,7,3,1],obj:[8,7],socket:[4,5,7],idl:7,pymsb:8,includ:[0,5],constructor:5,mean:8,pyasn1:0,disabl:[8,7],block:[4,0,9,7],routin:0,client:[8,0,7],own:[8,0,5],within:[8,0,7],encod:0,automat:[4,8,9,7],bbb:[4,9],empti:[8,2,3,4,7,9],wrap:9,opportun:8,your:[0,3,4,5,7,8,9],local_fil:2,transfer:[8,0],ipc:1,"long":[8,7,3],smb_messag:6,avail:[8,0,7],start:[8,7,9],anderson:[4,9],ipv4:4,"function":[4,0,8,9],creation:[3,1],interest:[8,7],tupl:[8,7],whiteman:0,translat:0,newer:[8,7],"true":[8,1,3,4,7,9],notat:[4,9,3],made:[8,0,7],utf:2,cif:[0,3,4,5,6,7,8],possibl:0,whether:[8,7],wish:[4,7],maximum:[8,7],asynchron:[5,9,7],limit:[8,7,3],otherwis:[8,7],listpath:[8,7,3],netbio:9,credienti:8,featur:[8,7,6],constant:[0,1],creat:[8,2,4,5,7,9],"int":[8,7],cover:0,"abstract":0,unsupportedfeatur:6,twist:[8,0,9],incomplet:5,exist:[8,7,2],file:[0,1,2,3,8,5,7],download:[8,0],write_result:8,echo:[8,7],again:9,vista:[8,0,7],encrypt:0,excee:8,sequenti:7,when:[0,4,5,6,7,8,9],detail:[0,3,5],data_buf:6,"default":[8,7],valid:2,librari:0,test:0,you:[0,2,3,4,5,7,8,9],functionl:8,determin:[4,0,8,9,7],file_attribut:[8,7,3],urllib2:[0,2],authenthent:8,briefli:5,receiv:[4,8,9,7],eof:[8,7],algorithm:[8,0,7,5],directori:[8,7,2,3],descript:1,alphanumer:[8,7],itself:[8,0],pathnam:[8,7],time:[8,0,7,3,1],file_fh:2},objtypes:{"0":"py:attribute","1":"py:method","2":"py:class"},objnames:{"0":["py","attribute","Python attribute"],"1":["py","method","Python method"],"2":["py","class","Python class"]},filenames:["index","api/smb_SharedDevice","api/smb_SMBHandler","api/smb_SharedFile","api/nmb_NetBIOS","extending","api/smb_exceptions","api/smb_SMBConnection","api/smb_SMBProtocolFactory","api/nmb_NBNSProtocol"],titles:["Welcome to pysmb’s documentation!","SharedDevice Class","SMbHandler Class","SharedFile Class","NetBIOS class","Extending pysmb For Other Frameworks","SMB Exceptions","SMBConnection Class","SMBProtocolFactory Class","NBNSProtocol Class"],objects:{"nmb.NetBIOS":{NetBIOS:[4,2,1,""]},"nmb.NetBIOSProtocol":{NBNSProtocol:[9,2,1,""],NetBIOSTimeout:[9,2,1,""]},"smb.SMBProtocol":{SMBProtocolFactory:[8,2,1,""]},"nmb.NetBIOSProtocol.NBNSProtocol":{queryName:[9,1,1,""],"__init__":[9,1,1,""],queryIPForName:[9,1,1,""]},"smb.base":{NotConnectedError:[6,2,1,""],SharedFile:[3,2,1,""],SMBTimeout:[6,2,1,""],NotReadyError:[6,2,1,""],SharedDevice:[1,2,1,""]},"smb.SMBConnection.SMBConnection":{rename:[7,1,1,""],deleteDirectory:[7,1,1,""],listSnapshots:[7,1,1,""],deleteFiles:[7,1,1,""],SIGN_WHEN_REQUIRED:[7,0,1,""],listShares:[7,1,1,""],SIGN_WHEN_SUPPORTED:[7,0,1,""],retrieveFileFromOffset:[7,1,1,""],SIGN_NEVER:[7,0,1,""],listPath:[7,1,1,""],getAttributes:[7,1,1,""],storeFile:[7,1,1,""],connect:[7,1,1,""],close:[7,1,1,""],createDirectory:[7,1,1,""],echo:[7,1,1,""],retrieveFile:[7,1,1,""],"__init__":[7,1,1,""],isUsingSMB2:[7,0,1,""]},"smb.base.SharedFile":{short_name:[3,0,1,""],last_access_time:[3,0,1,""],isReadOnly:[3,0,1,""],last_attr_change_time:[3,0,1,""],last_write_time:[3,0,1,""],file_attributes:[3,0,1,""],filename:[3,0,1,""],isDirectory:[3,0,1,""],create_time:[3,0,1,""],file_size:[3,0,1,""],alloc_size:[3,0,1,""]},"smb.SMBProtocol.SMBProtocolFactory":{rename:[8,1,1,""],isReady:[8,0,1,""],echo:[8,1,1,""],listPath:[8,1,1,""],"__init__":[8,1,1,""],deleteDirectory:[8,1,1,""],listSnapshots:[8,1,1,""],SIGN_NEVER:[8,0,1,""],instance:[8,0,1,""],storeFile:[8,1,1,""],isUsingSMB2:[8,0,1,""],SIGN_WHEN_SUPPORTED:[8,0,1,""],listShares:[8,1,1,""],retrieveFileFromOffset:[8,1,1,""],onAuthFailed:[8,1,1,""],retrieveFile:[8,1,1,""],getAttributes:[8,1,1,""],closeConnection:[8,1,1,""],SIGN_WHEN_REQUIRED:[8,0,1,""],onAuthOK:[8,1,1,""],createDirectory:[8,1,1,""],deleteFiles:[8,1,1,""]},"smb.SMBConnection":{SMBConnection:[7,2,1,""]},"nmb.NetBIOS.NetBIOS":{close:[4,1,1,""],queryName:[4,1,1,""],"__init__":[4,1,1,""],queryIPForName:[4,1,1,""]},"smb.smb_structs":{UnsupportedFeature:[6,2,1,""],ProtocolError:[6,2,1,""],OperationFailure:[6,2,1,""]},"smb.base.SharedDevice":{isSpecial:[1,0,1,""],type:[1,0,1,""],comments:[1,0,1,""],isTemporary:[1,0,1,""],name:[1,0,1,""]}},titleterms:{smb2:[8,7],sharedfil:3,indic:0,packag:0,tabl:0,content:0,welcom:0,support:[8,7],except:6,note:2,other:5,pysmb:[0,5],document:0,smb:6,shareddevic:1,extend:5,framework:5,smbprotocolfactori:8,"class":[8,1,2,3,4,7,9],nbnsprotocol:9,smbconnect:7,descript:0,credit:0,exampl:[8,7,2],caveat:[8,7],smbhandler:2,licens:0,netbio:4}})⏎ | |
0 | Search.setIndex({envversion:42,terms:{all:[8,0,7],code:2,jason:[4,9],illustr:[8,7,2],queri:[4,0,8,9,7],follow:[7,0,2,8,1],whose:0,accur:8,depend:0,listen_port:[4,9],netbiostimeout:9,service_nam:[8,7],send:[4,7,8,9],those:8,under:0,sha256:0,arbitari:[8,7],fh2:2,last_write_tim:3,sourc:[0,1,3,4,6,7,8,9],string:[8,1,2,3,4,7,9],fals:[4,7,8,9],util:[8,7],mechan:[8,7],fileretriev:8,failur:9,miketeo:0,administr:1,meant:7,list:[4,0,8,9,7],upload:[8,7,2],smb:[],"try":[8,5,7],upload_fil:2,concurr:[8,7],ddd:[4,9],pleas:0,sign_when_requir:[8,7],direct:[8,7],sign:[8,7],deletedirectori:[8,7],zero:[4,7,8,9],nbn:[4,0],pass:[8,7,2],sock_famili:7,client_machine_nam:[8,7],port:[4,7,8,9],compat:[8,7],index:0,what:[4,5,8,9,7],sub:[8,7],repli:[4,7,8,9],section:0,invok:[8,7],access:[8,7,3],delet:[8,7,2],version:0,u32:0,"new":[4,5,8,7],net:0,method:[8,2,3,4,5,7,9],urlerror:2,hash:0,gener:5,never:[8,7],my_nam:[8,7],lgpl:0,modif:3,address:[4,0,2,9,5],path:[8,7,2],modifi:0,sinc:3,valu:[8,7,3],wait:[4,8,9,6],search:[8,0,7],zone:[8,7],host:[8,7,2],queue:8,datetim:[8,7],nmb:[4,0,9],implement:[0,4,5,7,8,9],stoplisten:9,overrid:[8,5],via:[8,0,9,3],regardless:[8,7],ntlmv2:[8,0,7],ntlmv1:[8,0,7],appli:[8,7],modul:[8,0,7],filenam:[8,7,3],"boolean":[4,7,8,9],listshar:[8,7],instal:[8,0,7],txt:[8,7,2],establish:[8,7],select:[4,7,8,9],from:[0,2,4,5,7,8,9],proceed:[8,7],commun:[7,0,8,1],next:7,call:[8,3,4,5,7,9],isreadonli:3,type:1,until:[4,7,8],more:[7,0,8,3,5],sort:7,relat:0,sambda:[8,7],flag:[4,7,8,9],accept:[8,5],known:[8,7],obj:[8,7],must:[8,7,9],none:[8,1,3,4,6,7,9],retriev:[8,7,2],setup:[4,5,8,9],dmitri:0,archiv:[8,7],can:[0,1,2,4,5,7,8,9],learn:[8,7],purpos:0,def:8,control:[8,7],defer:[8,9],process:[5,2],share:[0,1,2,3,8,7],sharedfil:[],indic:[],want:[8,0],opensourc:0,unsign:0,occur:[8,7,6],addcallback:[8,9],alwai:0,multipl:[8,7],secur:0,namedtemporaryfil:[8,7],snippet:2,"__init__":[4,5,8,9,7],pure:0,reject:[8,7],onauthfail:[8,5],simpl:[8,7],old_path:[8,7],dialect:0,resourc:[4,7,8,3],remote_nam:[8,5,7],referenc:0,sp3:0,befor:[8,7],wrong:5,mai:[8,7],end:[8,7],smb_ext_file_attr:3,data:[7,0,2,8,5],alloc:3,"short":3,attempt:7,read:[0,2,3,8,5,7],bind:[4,9],credenti:[8,7],correspond:3,element:[8,7],callback:[8,5,9],allow:[8,7,9],fallback:[8,7],origin:[8,7,3],over:[8,0,7],file_s:[8,3],queryipfornam:[4,9],through:8,digest:0,paramet:[0,2,4,5,7,8,9],getattribut:[8,7],write:[8,5,7],style:0,disconnect:[8,7,6],window:[8,0,2,3,7],persist:1,hidden:[8,7],main:0,might:[8,7],shareddevic:[],non:[8,7],within:[8,0,7],"return":[0,1,2,3,4,7,8,9],thei:0,python:[8,0,2,7],auto:[8,7],safe:[8,7],auth:8,dat:2,framework:[],promis:0,facilit:0,now:5,myuserid:2,choic:[8,7],term:0,name:[0,1,2,3,4,7,8,9],edit:[8,7],ntlm:[8,0,5],userid:[8,7],authent:[7,0,8,6,5],separ:0,mode:[4,9],timeout:[4,7,8,9,6],each:[4,7,8,3,1],done:[4,9],unicod:[8,7,2,3,1],side:0,truncat:7,errback:[8,9],prohibit:3,domain:[8,0,7],smbtimeout:[8,6],individu:8,instiant:[4,9],continu:[8,7],connect:[8,5,6,7],todd:0,special:1,out:[8,7],network:[4,0,8,9,7],"3rd":0,space:[8,7],ntlmssp:0,content:[],suitabl:[0,7],rel:[8,7],internet:[8,9],print:[8,0],determin:[4,0,8,9,7],forth:1,factori:8,after:[4,0,8,9,7],insid:[8,7],querynam:[4,9],differ:[7,0,8,5],free:[4,0,9],standard:[4,0,9],base:[0,1,3,8,5,6,7],connecttcp:8,releas:[4,7],"byte":[8,7,3],earliest:8,asn:0,md4:0,care:5,english:[8,7],last_access_tim:3,could:[0,3],synchron:[0,5],success:[5,7],keep:7,filter:[8,7],length:3,place:0,due:5,first:[8,7,2],oper:[0,4,5,6,7,8],softwar:0,directli:[8,3],enterpris:[8,7],onc:[8,5],number:[4,7,8,9,3],yourself:0,alreadi:7,"\u5783\u573e\u6587\u4ef6":2,messag:[8,0,6,7],path_file_pattern:[8,7],open:[8,0,2,7],size:[8,3],guess:[8,7],notreadyerror:[8,6],system:[8,7],least:7,max_length:[8,7],too:7,termin:[8,7],conveni:[8,7,3],store:[8,7,3],listen:[4,9],udp:[4,9],copi:[8,0,7],specifi:[4,7,8,9],broadcast:[4,9],part:5,pars:0,packet:[4,5,8,9],than:[8,7],aaa:[4,9],target:[4,9],provid:[0,2,4,5,7,8,9],remov:9,second:[4,8,9,3],charact:[8,7,2,3],project:[8,0,9],reus:8,sign_nev:[8,7],posit:[8,7],seri:8,"function":[4,0,8,9],comput:[8,7],arg:8,ani:[4,0,8,3,7],smb1:[8,0,7],packag:[],netbiossess:0,have:[7,0,9,5],close:[4,7,2,8],need:[0,2,3,8,5,7],smb2_constant:0,seek:[8,7],bitwis:[8,7],inform:[8,7,3,1],support_smb2:[8,7],self:[8,5],comm_devic:1,click:[8,7],note:[],also:[8,7,1],discret:0,take:[0,5],which:[0,3,4,5,7,8,9],transmit:8,mit:0,singl:[8,7,1],begin:[8,7],unless:[4,9],usernam:[8,7],who:[8,0,7],smb_file_attribute_xxx:[8,7],most:[7,0,8,5],regular:[8,7],renam:[8,7],url:[0,2],request:[8,7],doe:[8,0,3,7],snapshot:[8,7],wildcard:[8,7],neg:[8,7],usual:[7,0,8,3,5],microsoft:0,dot:[4,9],reactor:[8,9],netbiosprotocol:[0,9],server_nam:[8,7],session:[0,5],identifi:[8,7],find:[8,5,7],involv:5,current:6,onli:[8,0,2,3,7],configur:[8,7],should:[4,7,8,9,3],busi:[8,7],folder:[8,0,2,3,7],local:[8,7],hope:[4,9],overwritten:[8,7],disk_tre:1,listenudp:9,contribut:[4,9],variou:0,notat:[4,9,3],familiar:0,interprocess:1,cannot:[8,7,2],listsnapshot:[8,7],requir:[8,7,6],enabl:[8,7],organ:0,held:7,"public":8,sha:0,integr:[0,1],contain:[0,1,3,4,7,8],feeddata:5,where:[8,0,3,7],respond:7,set:[8,7],storefilefromoffset:7,rfc1001:[8,7,2],deletefil:[8,7],see:[8,7,3],sec:8,result:[8,7,9],respons:6,fail:[8,5,6,7],reserv:1,asynchron:[5,9,7],detect:[8,7],new_path:[8,7],pattern:[8,7],user:[8,7,1],retrievefilefromoffset:[8,7],written:[8,7],smb_constant:[8,0,7],between:0,"import":[8,0,2,7],across:[8,7],attribut:[8,7,3],parent:2,tempfil:[8,7],sign_opt:[8,7],entir:8,come:0,both:[8,7],last:3,is_direct_tcp:[8,7],admin:1,alon:0,against:0,constructor:5,etc:8,instanc:[4,7,8,9,3],onnmbsessionfail:5,freeli:[8,7],isusingsmb2:[8,7],comment:1,simpli:2,technic:5,point:2,instanti:[4,8,9,3],"\u6d4b\u8bd5\u6587\u4ef6\u5939":2,last_attr_change_tim:3,period:8,except:[],securityblob:0,onauthok:[8,5],wider:[8,7],ultim:[8,7],rozmanov:0,short_nam:3,devic:[3,1],isreadi:8,been:[7,0,8,6,5],compon:[8,7,2],operationfailur:[8,7,6],server_ip:[8,7],immedi:[8,7],use_ntlm_v2:[8,5,7],dixon:0,smb_struct:[8,0,6,7],thousand:8,wish:[4,7],assert:7,togeth:0,present:6,"case":8,look:0,sign_when_support:[8,7],servic:[4,0,7,8,5],properti:[8,7,3],batch:8,defin:[4,9],"while":6,abov:5,error:[8,5,7],report:5,gmt:[8,7],loop:5,readi:[8,6],alloc_s:3,henc:[8,0,7],site:0,kwarg:8,incom:9,ascii:[8,7],conn:7,precis:8,isdirectori:3,develop:[0,3,7],perform:[4,5,8,9,7],parti:0,isspeci:1,same:[8,7],proce:8,decod:0,create_tim:3,conflict:0,complet:[8,0,6,7],closeconnect:8,hostnam:2,keepal:7,director:2,remot:[8,1,3,4,5,7],rais:[8,7,2,9,6],temporari:1,initi:[5,1],protocolerror:6,chang:3,excee:8,appropri:[4,9],entri:3,well:0,without:[0,9],command:[8,7],thi:[0,1,3,4,5,7,8,9],choos:[8,7],file_obj:[8,7],sequenti:7,ccc:[4,9],latest:0,protocol:[8,0,6,7],just:[8,9],mypassword:2,createdirectori:[8,7],tcp:[8,5,7],notconnectederror:[8,6],touch:[4,8,9],yet:6,iana:[4,9],storefil:[8,7],web:0,samba:0,expos:8,adderrback:8,param:[],add:[8,9],valid:2,blob:0,exercis:0,els:[8,7],subsequ:2,match:[4,7,8,9],retrievefilefactori:8,applic:[4,0,8,9,3],around:9,handl:[8,5],thoma:0,know:[4,8,9],bit:[8,0,7],password:[8,7],like:[8,7,2],specif:0,integ:[0,3,4,7,8,9],server:[0,1,3,8,5,7],build_open:2,print_queu:1,either:[8,7],page:[0,5],underli:[4,0,8,6,7],encount:[7,3],right:[8,7],old:[8,7],often:5,captur:[8,7],acknowledg:8,interv:8,linux:0,some:[8,0,7],back:[4,7,8,9],intern:[8,0,5],istemporari:1,successfulli:[8,7],transport:[8,0,9],total:3,smbtest:[8,7],avoid:8,smb2_struct:0,sharedfold:2,subclass:[8,5],buffer:5,retri:8,leav:[4,7,8,9],ipv4:4,pysmb:[],refer:[7,0,8,1],machin:[0,2,4,7,8,9],object:[8,7,2],shadow:[8,7],workgroup:[8,7],atttempt:7,step:5,loseconnect:8,offset:[8,7],post:[8,5],impos:[8,7],describ:[5,7],about:[8,7,3,1],actual:7,socket:[4,5,7],idl:7,pymsb:8,commerci:0,mean:8,pyasn1:0,disabl:[8,7],block:[4,0,9,7],routin:0,client:[8,0,7],own:[8,0,5],"float":[4,8,9,3],encod:0,automat:[4,7,8,9],bbb:[4,9],empti:[8,2,3,4,7,9],wrap:9,opportun:8,your:[0,3,4,5,7,8,9],local_fil:2,transfer:[8,0],ipc:1,"long":[8,7,3],smb_messag:6,avail:[8,0,7],start:[8,7,9],anderson:[4,9],includ:[0,5],files:7,creation:[3,1],interest:[8,7],tupl:[8,7],whiteman:0,translat:0,newer:[8,7],"true":[8,1,3,4,7,9],utc:[8,7],made:[8,0,7],utf:2,cif:[0,3,4,5,6,7,8],possibl:0,whether:[8,7],pyde:0,maximum:[8,7],"60kbyte":8,limit:[8,7,3],otherwis:[8,7],listpath:[8,7,3],netbio:[],credienti:8,featur:[8,7,6],constant:[0,1],creat:[8,2,4,5,7,9],"int":[8,7],cover:0,"abstract":0,unsupportedfeatur:6,twist:[8,0,9],incomplet:5,exist:[8,7,2],file:[0,1,2,3,8,5,7],download:[8,0],write_result:8,echo:[8,7],again:9,vista:[8,0,7],encrypt:0,googl:0,retrievefil:[8,7],when:[0,4,5,6,7,8,9],detail:[0,3,5],data_buf:6,"default":[8,7],other:[],librari:0,test:0,you:[0,2,3,4,5,7,8,9],functionl:8,smbprotocol:[8,0,3],file_attribut:[8,7,3],urllib2:[0,2],authenthent:8,briefli:5,receiv:[4,7,8,9],eof:[8,7],algorithm:[7,0,8,5],directori:[8,7,2,3],descript:[],alphanumer:[8,7],itself:[8,0],pathnam:[8,7],time:[7,0,8,3,1],file_fh:2},objtypes:{"0":"py:attribute","1":"py:method","2":"py:class"},objnames:{"0":["py","attribute","Python attribute"],"1":["py","method","Python method"],"2":["py","class","Python class"]},filenames:["index","api/smb_SharedDevice","api/smb_SMBHandler","api/smb_SharedFile","api/nmb_NetBIOS","extending","api/smb_exceptions","api/smb_SMBConnection","api/smb_SMBProtocolFactory","api/nmb_NBNSProtocol"],titles:["Welcome to pysmb’s documentation!","SharedDevice Class","SMbHandler Class","SharedFile Class","NetBIOS class","Extending pysmb For Other Frameworks","SMB Exceptions","SMBConnection Class","SMBProtocolFactory Class","NBNSProtocol Class"],objects:{"nmb.NetBIOS":{NetBIOS:[4,2,1,""]},"nmb.NetBIOSProtocol":{NBNSProtocol:[9,2,1,""],NetBIOSTimeout:[9,2,1,""]},"smb.SMBProtocol":{SMBProtocolFactory:[8,2,1,""]},"nmb.NetBIOS.NetBIOS":{close:[4,1,1,""],queryName:[4,1,1,""],"__init__":[4,1,1,""],queryIPForName:[4,1,1,""]},"smb.base":{SharedDevice:[1,2,1,""],NotConnectedError:[6,2,1,""],SharedFile:[3,2,1,""],SMBTimeout:[6,2,1,""],NotReadyError:[6,2,1,""]},"smb.SMBConnection.SMBConnection":{rename:[7,1,1,""],deleteDirectory:[7,1,1,""],listSnapshots:[7,1,1,""],deleteFiles:[7,1,1,""],SIGN_WHEN_REQUIRED:[7,0,1,""],listShares:[7,1,1,""],storeFileFromOffset:[7,1,1,""],SIGN_WHEN_SUPPORTED:[7,0,1,""],retrieveFileFromOffset:[7,1,1,""],SIGN_NEVER:[7,0,1,""],listPath:[7,1,1,""],getAttributes:[7,1,1,""],storeFile:[7,1,1,""],connect:[7,1,1,""],close:[7,1,1,""],createDirectory:[7,1,1,""],echo:[7,1,1,""],retrieveFile:[7,1,1,""],"__init__":[7,1,1,""],isUsingSMB2:[7,0,1,""]},"smb.base.SharedFile":{short_name:[3,0,1,""],last_access_time:[3,0,1,""],isReadOnly:[3,0,1,""],last_attr_change_time:[3,0,1,""],last_write_time:[3,0,1,""],file_attributes:[3,0,1,""],filename:[3,0,1,""],isDirectory:[3,0,1,""],create_time:[3,0,1,""],file_size:[3,0,1,""],alloc_size:[3,0,1,""]},"smb.SMBProtocol.SMBProtocolFactory":{rename:[8,1,1,""],isReady:[8,0,1,""],echo:[8,1,1,""],listPath:[8,1,1,""],"__init__":[8,1,1,""],deleteDirectory:[8,1,1,""],listSnapshots:[8,1,1,""],SIGN_NEVER:[8,0,1,""],instance:[8,0,1,""],storeFile:[8,1,1,""],isUsingSMB2:[8,0,1,""],SIGN_WHEN_SUPPORTED:[8,0,1,""],listShares:[8,1,1,""],retrieveFileFromOffset:[8,1,1,""],onAuthFailed:[8,1,1,""],retrieveFile:[8,1,1,""],getAttributes:[8,1,1,""],closeConnection:[8,1,1,""],SIGN_WHEN_REQUIRED:[8,0,1,""],onAuthOK:[8,1,1,""],createDirectory:[8,1,1,""],deleteFiles:[8,1,1,""]},"smb.SMBConnection":{SMBConnection:[7,2,1,""]},"nmb.NetBIOSProtocol.NBNSProtocol":{queryName:[9,1,1,""],"__init__":[9,1,1,""],queryIPForName:[9,1,1,""]},"smb.smb_structs":{UnsupportedFeature:[6,2,1,""],ProtocolError:[6,2,1,""],OperationFailure:[6,2,1,""]},"smb.base.SharedDevice":{isSpecial:[1,0,1,""],type:[1,0,1,""],comments:[1,0,1,""],isTemporary:[1,0,1,""],name:[1,0,1,""]}},titleterms:{smb2:[8,7],sharedfil:3,indic:0,packag:0,tabl:0,content:0,welcom:0,support:[8,7],except:6,note:2,other:5,pysmb:[0,5],document:0,smb:6,shareddevic:1,extend:5,framework:5,smbprotocolfactori:8,"class":[8,1,2,3,4,7,9],nbnsprotocol:9,smbconnect:7,descript:0,credit:0,exampl:[8,7,2],caveat:[8,7],smbhandler:2,licens:0,netbio:4}})⏎ |