Codebase list pysmb / 7eae85b
Update docs Michael Teo 9 years ago
27 changed file(s) with 276 addition(s) and 182 deletion(s). Raw diff Collapse all Expand all
00 # Sphinx build info version 1
11 # 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
33 tags: 645f666f9bcd5a90fca523b33c5a78b7
55 <head>
66 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
77
8 <title>Overview: module code &mdash; pysmb 1.1.10 documentation</title>
8 <title>Overview: module code &mdash; pysmb 1.1.15 documentation</title>
99
1010 <link rel="stylesheet" href="../_static/sphinxdoc.css" type="text/css" />
1111 <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
1313 <script type="text/javascript">
1414 var DOCUMENTATION_OPTIONS = {
1515 URL_ROOT: '../',
16 VERSION: '1.1.10',
16 VERSION: '1.1.15',
1717 COLLAPSE_INDEX: false,
1818 FILE_SUFFIX: '.html',
1919 HAS_SOURCE: true
2222 <script type="text/javascript" src="../_static/jquery.js"></script>
2323 <script type="text/javascript" src="../_static/underscore.js"></script>
2424 <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" />
2626 </head>
2727 <body>
2828 <div class="related">
3131 <li class="right" style="margin-right: 10px">
3232 <a href="../genindex.html" title="General Index"
3333 accesskey="I">index</a></li>
34 <li><a href="../index.html">pysmb 1.1.10 documentation</a> &raquo;</li>
34 <li><a href="../index.html">pysmb 1.1.15 documentation</a> &raquo;</li>
3535 </ul>
3636 </div>
3737 <div class="sphinxsidebar">
7777 <li class="right" style="margin-right: 10px">
7878 <a href="../genindex.html" title="General Index"
7979 >index</a></li>
80 <li><a href="../index.html">pysmb 1.1.10 documentation</a> &raquo;</li>
80 <li><a href="../index.html">pysmb 1.1.15 documentation</a> &raquo;</li>
8181 </ul>
8282 </div>
8383 <div class="footer">
84 &copy; Copyright 2001-2014, Michael Teo http://miketeo.net/.
84 &copy; Copyright 2001-2015, Michael Teo http://miketeo.net/.
8585 Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
8686 </div>
8787 </body>
55 <head>
66 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
77
8 <title>nmb.NetBIOS &mdash; pysmb 1.1.10 documentation</title>
8 <title>nmb.NetBIOS &mdash; pysmb 1.1.15 documentation</title>
99
1010 <link rel="stylesheet" href="../../_static/sphinxdoc.css" type="text/css" />
1111 <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
1313 <script type="text/javascript">
1414 var DOCUMENTATION_OPTIONS = {
1515 URL_ROOT: '../../',
16 VERSION: '1.1.10',
16 VERSION: '1.1.15',
1717 COLLAPSE_INDEX: false,
1818 FILE_SUFFIX: '.html',
1919 HAS_SOURCE: true
2222 <script type="text/javascript" src="../../_static/jquery.js"></script>
2323 <script type="text/javascript" src="../../_static/underscore.js"></script>
2424 <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" />
2626 <link rel="up" title="Module code" href="../index.html" />
2727 </head>
2828 <body>
3232 <li class="right" style="margin-right: 10px">
3333 <a href="../../genindex.html" title="General Index"
3434 accesskey="I">index</a></li>
35 <li><a href="../../index.html">pysmb 1.1.10 documentation</a> &raquo;</li>
35 <li><a href="../../index.html">pysmb 1.1.15 documentation</a> &raquo;</li>
3636 <li><a href="../index.html" accesskey="U">Module code</a> &raquo;</li>
3737 </ul>
3838 </div>
135135 <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">&#39;Socket is already closed&#39;</span>
136136
137137 <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>
139139 <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>
140140 <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>
141141 <span class="k">if</span> <span class="n">ret</span><span class="p">:</span>
216216 <li class="right" style="margin-right: 10px">
217217 <a href="../../genindex.html" title="General Index"
218218 >index</a></li>
219 <li><a href="../../index.html">pysmb 1.1.10 documentation</a> &raquo;</li>
219 <li><a href="../../index.html">pysmb 1.1.15 documentation</a> &raquo;</li>
220220 <li><a href="../index.html" >Module code</a> &raquo;</li>
221221 </ul>
222222 </div>
223223 <div class="footer">
224 &copy; Copyright 2001-2014, Michael Teo http://miketeo.net/.
224 &copy; Copyright 2001-2015, Michael Teo http://miketeo.net/.
225225 Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
226226 </div>
227227 </body>
55 <head>
66 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
77
8 <title>nmb.NetBIOSProtocol &mdash; pysmb 1.1.10 documentation</title>
8 <title>nmb.NetBIOSProtocol &mdash; pysmb 1.1.15 documentation</title>
99
1010 <link rel="stylesheet" href="../../_static/sphinxdoc.css" type="text/css" />
1111 <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
1313 <script type="text/javascript">
1414 var DOCUMENTATION_OPTIONS = {
1515 URL_ROOT: '../../',
16 VERSION: '1.1.10',
16 VERSION: '1.1.15',
1717 COLLAPSE_INDEX: false,
1818 FILE_SUFFIX: '.html',
1919 HAS_SOURCE: true
2222 <script type="text/javascript" src="../../_static/jquery.js"></script>
2323 <script type="text/javascript" src="../../_static/underscore.js"></script>
2424 <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" />
2626 <link rel="up" title="Module code" href="../index.html" />
2727 </head>
2828 <body>
3232 <li class="right" style="margin-right: 10px">
3333 <a href="../../genindex.html" title="General Index"
3434 accesskey="I">index</a></li>
35 <li><a href="../../index.html">pysmb 1.1.10 documentation</a> &raquo;</li>
35 <li><a href="../../index.html">pysmb 1.1.15 documentation</a> &raquo;</li>
3636 <li><a href="../index.html" accesskey="U">Module code</a> &raquo;</li>
3737 </ul>
3838 </div>
208208 <li class="right" style="margin-right: 10px">
209209 <a href="../../genindex.html" title="General Index"
210210 >index</a></li>
211 <li><a href="../../index.html">pysmb 1.1.10 documentation</a> &raquo;</li>
211 <li><a href="../../index.html">pysmb 1.1.15 documentation</a> &raquo;</li>
212212 <li><a href="../index.html" >Module code</a> &raquo;</li>
213213 </ul>
214214 </div>
215215 <div class="footer">
216 &copy; Copyright 2001-2014, Michael Teo http://miketeo.net/.
216 &copy; Copyright 2001-2015, Michael Teo http://miketeo.net/.
217217 Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
218218 </div>
219219 </body>
55 <head>
66 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
77
8 <title>smb.SMBConnection &mdash; pysmb 1.1.10 documentation</title>
8 <title>smb.SMBConnection &mdash; pysmb 1.1.15 documentation</title>
99
1010 <link rel="stylesheet" href="../../_static/sphinxdoc.css" type="text/css" />
1111 <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
1313 <script type="text/javascript">
1414 var DOCUMENTATION_OPTIONS = {
1515 URL_ROOT: '../../',
16 VERSION: '1.1.10',
16 VERSION: '1.1.15',
1717 COLLAPSE_INDEX: false,
1818 FILE_SUFFIX: '.html',
1919 HAS_SOURCE: true
2222 <script type="text/javascript" src="../../_static/jquery.js"></script>
2323 <script type="text/javascript" src="../../_static/underscore.js"></script>
2424 <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" />
2626 <link rel="up" title="Module code" href="../index.html" />
2727 </head>
2828 <body>
3232 <li class="right" style="margin-right: 10px">
3333 <a href="../../genindex.html" title="General Index"
3434 accesskey="I">index</a></li>
35 <li><a href="../../index.html">pysmb 1.1.10 documentation</a> &raquo;</li>
35 <li><a href="../../index.html">pysmb 1.1.15 documentation</a> &raquo;</li>
3636 <li><a href="../index.html" accesskey="U">Module code</a> &raquo;</li>
3737 </ul>
3838 </div>
160160
161161 <span class="bp">self</span><span class="o">.</span><span class="n">auth_result</span> <span class="o">=</span> <span class="bp">None</span>
162162 <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>
164165
165166 <span class="bp">self</span><span class="o">.</span><span class="n">is_busy</span> <span class="o">=</span> <span class="bp">True</span>
166167 <span class="k">try</span><span class="p">:</span>
361362 <span class="bp">self</span><span class="o">.</span><span class="n">is_busy</span> <span class="o">=</span> <span class="bp">False</span>
362363
363364 <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
365366 <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>
366367 <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">&quot;&quot;&quot;</span>
367368 <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>
368370
369371 <span class="sd"> :param string/unicode service_name: the name of the shared folder for the *path*</span>
370372 <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>
372374 <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>
373375 <span class="sd"> :return: Number of bytes uploaded</span>
374376 <span class="sd"> &quot;&quot;&quot;</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">&quot;&quot;&quot;</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&lt;smb_exceptions&gt;` 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"> &quot;&quot;&quot;</span>
375391 <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>
376392 <span class="k">raise</span> <span class="n">NotConnectedError</span><span class="p">(</span><span class="s">&#39;Not connected to server&#39;</span><span class="p">)</span>
377393
387403
388404 <span class="bp">self</span><span class="o">.</span><span class="n">is_busy</span> <span class="o">=</span> <span class="bp">True</span>
389405 <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>
391407 <span class="k">while</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_busy</span><span class="p">:</span>
392408 <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>
393409 <span class="k">finally</span><span class="p">:</span>
607623 <li class="right" style="margin-right: 10px">
608624 <a href="../../genindex.html" title="General Index"
609625 >index</a></li>
610 <li><a href="../../index.html">pysmb 1.1.10 documentation</a> &raquo;</li>
626 <li><a href="../../index.html">pysmb 1.1.15 documentation</a> &raquo;</li>
611627 <li><a href="../index.html" >Module code</a> &raquo;</li>
612628 </ul>
613629 </div>
614630 <div class="footer">
615 &copy; Copyright 2001-2014, Michael Teo http://miketeo.net/.
631 &copy; Copyright 2001-2015, Michael Teo http://miketeo.net/.
616632 Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
617633 </div>
618634 </body>
55 <head>
66 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
77
8 <title>smb.SMBProtocol &mdash; pysmb 1.1.10 documentation</title>
8 <title>smb.SMBProtocol &mdash; pysmb 1.1.15 documentation</title>
99
1010 <link rel="stylesheet" href="../../_static/sphinxdoc.css" type="text/css" />
1111 <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
1313 <script type="text/javascript">
1414 var DOCUMENTATION_OPTIONS = {
1515 URL_ROOT: '../../',
16 VERSION: '1.1.10',
16 VERSION: '1.1.15',
1717 COLLAPSE_INDEX: false,
1818 FILE_SUFFIX: '.html',
1919 HAS_SOURCE: true
2222 <script type="text/javascript" src="../../_static/jquery.js"></script>
2323 <script type="text/javascript" src="../../_static/underscore.js"></script>
2424 <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" />
2626 <link rel="up" title="Module code" href="../index.html" />
2727 </head>
2828 <body>
3232 <li class="right" style="margin-right: 10px">
3333 <a href="../../genindex.html" title="General Index"
3434 accesskey="I">index</a></li>
35 <li><a href="../../index.html">pysmb 1.1.10 documentation</a> &raquo;</li>
35 <li><a href="../../index.html">pysmb 1.1.15 documentation</a> &raquo;</li>
3636 <li><a href="../index.html" accesskey="U">Module code</a> &raquo;</li>
3737 </ul>
3838 </div>
469469 <li class="right" style="margin-right: 10px">
470470 <a href="../../genindex.html" title="General Index"
471471 >index</a></li>
472 <li><a href="../../index.html">pysmb 1.1.10 documentation</a> &raquo;</li>
472 <li><a href="../../index.html">pysmb 1.1.15 documentation</a> &raquo;</li>
473473 <li><a href="../index.html" >Module code</a> &raquo;</li>
474474 </ul>
475475 </div>
476476 <div class="footer">
477 &copy; Copyright 2001-2014, Michael Teo http://miketeo.net/.
477 &copy; Copyright 2001-2015, Michael Teo http://miketeo.net/.
478478 Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
479479 </div>
480480 </body>
55 <head>
66 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
77
8 <title>smb.base &mdash; pysmb 1.1.10 documentation</title>
8 <title>smb.base &mdash; pysmb 1.1.15 documentation</title>
99
1010 <link rel="stylesheet" href="../../_static/sphinxdoc.css" type="text/css" />
1111 <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
1313 <script type="text/javascript">
1414 var DOCUMENTATION_OPTIONS = {
1515 URL_ROOT: '../../',
16 VERSION: '1.1.10',
16 VERSION: '1.1.15',
1717 COLLAPSE_INDEX: false,
1818 FILE_SUFFIX: '.html',
1919 HAS_SOURCE: true
2222 <script type="text/javascript" src="../../_static/jquery.js"></script>
2323 <script type="text/javascript" src="../../_static/underscore.js"></script>
2424 <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" />
2626 <link rel="up" title="Module code" href="../index.html" />
2727 </head>
2828 <body>
3232 <li class="right" style="margin-right: 10px">
3333 <a href="../../genindex.html" title="General Index"
3434 accesskey="I">index</a></li>
35 <li><a href="../../index.html">pysmb 1.1.10 documentation</a> &raquo;</li>
35 <li><a href="../../index.html">pysmb 1.1.15 documentation</a> &raquo;</li>
3636 <li><a href="../index.html" accesskey="U">Module code</a> &raquo;</li>
3737 </ul>
3838 </div>
9090 <span class="k">pass</span>
9191
9292
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">&quot;utf-8&quot;</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>
94100 <span class="sd">&quot;&quot;&quot;</span>
95101 <span class="sd"> This class represents a &quot;connection&quot; to the remote SMB/CIFS server.</span>
96102 <span class="sd"> It is not meant to be used directly in an application as it does not have any network transport implementations.</span>
113119
114120 <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">&#39;&#39;</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>
115121 <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>
119125 <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>
120126 <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>
121127 <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>
232238 <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>
233239 <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>
234240 <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>
235242 <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>
236243 <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>
237244 <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>
252259 <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>
253260 <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>
254261 <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>
255263 <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>
256264 <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>
257265 <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>
753761 <span class="n">p</span> <span class="o">=</span> <span class="n">create_message</span><span class="o">.</span><span class="n">payload</span>
754762 <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>
755763 <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>
757765 <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>
758766 <span class="k">else</span><span class="p">:</span>
759767 <span class="n">errback</span><span class="p">(</span><span class="n">OperationFailure</span><span class="p">(</span><span class="s">&#39;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&#39;</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>
918926 <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>
919927
920928 <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>
921932 <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>
922933 <span class="k">raise</span> <span class="n">NotReadyError</span><span class="p">(</span><span class="s">&#39;SMB connection not authenticated&#39;</span><span class="p">)</span>
923934
946957 <span class="n">oplock</span> <span class="o">=</span> <span class="n">SMB2_OPLOCK_LEVEL_NONE</span><span class="p">,</span>
947958 <span class="n">impersonation</span> <span class="o">=</span> <span class="n">SEC_IMPERSONATE</span><span class="p">,</span>
948959 <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>
950961 <span class="n">create_context_data</span> <span class="o">=</span> <span class="n">create_context_data</span><span class="p">))</span>
951962 <span class="n">m</span><span class="o">.</span><span class="n">tid</span> <span class="o">=</span> <span class="n">tid</span>
952963 <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>
956967 <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>
957968 <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>
958969 <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>
960971 <span class="k">else</span><span class="p">:</span>
961972 <span class="n">errback</span><span class="p">(</span><span class="n">OperationFailure</span><span class="p">(</span><span class="s">&#39;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&#39;</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>
962973
12751286 <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>
12761287 <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">&#39;</span><span class="se">\\</span><span class="s">&#39;</span><span class="p">):</span>
12771288 <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
12791290 <span class="k">def</span> <span class="nf">sendCreate</span><span class="p">(</span><span class="n">tid</span><span class="p">):</span>
12801291 <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">&quot;&quot;&quot;</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>
12871298 <span class="s">&quot;&quot;&quot;</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s">&#39; &#39;</span><span class="p">,</span> <span class="s">&#39;&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s">&#39;</span><span class="se">\n</span><span class="s">&#39;</span><span class="p">,</span> <span class="s">&#39;&#39;</span><span class="p">))</span>
12881299 <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>
12891300 <span class="n">file_attributes</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span>
14681479 <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>
14691480 <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>
14701481 <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>
14721484 <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>
14731485 <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>
14741486
15141526 <span class="k">try</span><span class="p">:</span>
15151527 <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>
15161528 <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">&#39;SMB uid is now </span><span class="si">%d</span><span class="s">&#39;</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>
15171531 <span class="bp">self</span><span class="o">.</span><span class="n">has_authenticated</span> <span class="o">=</span> <span class="bp">True</span>
15181532 <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">&#39;Authentication (with extended security) successful!&#39;</span><span class="p">)</span>
15191533 <span class="bp">self</span><span class="o">.</span><span class="n">onAuthOK</span><span class="p">()</span>
15371551 <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>
15381552 <span class="k">else</span><span class="p">:</span>
15391553 <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">&#39;SMB uid is now </span><span class="si">%d</span><span class="s">&#39;</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>
15401556 <span class="bp">self</span><span class="o">.</span><span class="n">has_authenticated</span> <span class="o">=</span> <span class="bp">True</span>
15411557 <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">&#39;Authentication (without extended security) successful!&#39;</span><span class="p">)</span>
15421558 <span class="bp">self</span><span class="o">.</span><span class="n">onAuthOK</span><span class="p">()</span>
15751591 <span class="k">assert</span> <span class="n">message</span><span class="o">.</span><span class="n">hasExtendedSecurity</span>
15761592
15771593 <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">&#39;SMB uid is now </span><span class="si">%d</span><span class="s">&#39;</span><span class="p">,</span> <span class="n">message</span><span class="o">.</span><span class="n">uid</span><span class="p">)</span>
15791594 <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>
15801595
15811596 <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>
16271642
16281643 <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>
16291644 <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">&#39;SMB uid is now </span><span class="si">%d</span><span class="s">&#39;</span><span class="p">,</span> <span class="n">message</span><span class="o">.</span><span class="n">uid</span><span class="p">)</span>
16311645 <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>
16321646
16331647 <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>
18081822 <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>
18091823 <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>
18101824
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">&#39;Failed to list shares: Unable to connect to IPC$&#39;</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&#39;</span><span class="se">\\</span><span class="si">%s</span><span class="s">\</span><span class="si">%s</span><span class="s">&#39;</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">&#39;&#39;</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">&#39;Failed to list shares: Unable to connect to IPC$&#39;</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&#39;</span><span class="se">\\</span><span class="si">%s</span><span class="s">\</span><span class="si">%s</span><span class="s">&#39;</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">&#39;&#39;</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>
18261837
18271838 <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>
18281839 <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>
18351846 <span class="n">messages_history</span> <span class="o">=</span> <span class="p">[</span> <span class="p">]</span>
18361847 <span class="n">results</span> <span class="o">=</span> <span class="p">[</span> <span class="p">]</span>
18371848
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>
18391850 <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">&#39;&lt;H&#39;</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>
18401851 <span class="n">params_bytes</span> <span class="o">=</span> \
18411852 <span class="n">struct</span><span class="o">.</span><span class="n">pack</span><span class="p">(</span><span class="s">&#39;&lt;HHHHI&#39;</span><span class="p">,</span>
18441855 <span class="mh">0x0006</span><span class="p">,</span> <span class="c"># Flags: SMB_FIND_CLOSE_AT_EOS | SMB_FIND_RETURN_RESUME_KEYS</span>
18451856 <span class="mh">0x0104</span><span class="p">,</span> <span class="c"># InfoLevel: SMB_FIND_FILE_BOTH_DIRECTORY_INFO</span>
18461857 <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">&#39;UTF-16LE&#39;</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">&quot;</span><span class="se">\\</span><span class="s">&quot;</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">&quot;</span><span class="se">\\</span><span class="s">&quot;</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">&#39;</span><span class="se">\0</span><span class="s">&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s">&#39;UTF-16LE&#39;</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">&#39;UTF-16LE&#39;</span><span class="p">)</span>
18481862
18491863 <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>
18501864 <span class="n">max_data_count</span> <span class="o">=</span> <span class="mi">16644</span><span class="p">,</span>
18521866 <span class="n">params_bytes</span> <span class="o">=</span> <span class="n">params_bytes</span><span class="p">,</span>
18531867 <span class="n">setup_bytes</span> <span class="o">=</span> <span class="n">setup_bytes</span><span class="p">))</span>
18541868 <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>
18571873 <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>
18581874
18591875 <span class="k">def</span> <span class="nf">decodeFindStruct</span><span class="p">(</span><span class="n">data_bytes</span><span class="p">):</span>
19201936 <span class="k">elif</span> <span class="n">end_of_search</span><span class="p">:</span>
19211937 <span class="n">callback</span><span class="p">(</span><span class="n">results</span><span class="p">)</span>
19221938 <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">&#39;support_dfs&#39;</span><span class="p">])</span>
19241940 <span class="k">else</span><span class="p">:</span>
19251941 <span class="n">errback</span><span class="p">(</span><span class="n">OperationFailure</span><span class="p">(</span><span class="s">&#39;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&#39;</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>
19261942
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>
19281944 <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">&#39;&lt;H&#39;</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>
19291945 <span class="n">params_bytes</span> <span class="o">=</span> \
19301946 <span class="n">struct</span><span class="o">.</span><span class="n">pack</span><span class="p">(</span><span class="s">&#39;&lt;HHHIH&#39;</span><span class="p">,</span>
19331949 <span class="mh">0x0104</span><span class="p">,</span> <span class="c"># InfoLevel: SMB_FIND_FILE_BOTH_DIRECTORY_INFO</span>
19341950 <span class="n">resume_key</span><span class="p">,</span> <span class="c"># ResumeKey</span>
19351951 <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">&#39;UTF-16LE&#39;</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">&quot;</span><span class="se">\\</span><span class="s">&quot;</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">&quot;</span><span class="se">\\</span><span class="s">&quot;</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">&#39;</span><span class="se">\0</span><span class="s">&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s">&#39;UTF-16LE&#39;</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">&#39;UTF-16LE&#39;</span><span class="p">)</span>
19371956
19381957 <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>
19391958 <span class="n">max_data_count</span> <span class="o">=</span> <span class="mi">16644</span><span class="p">,</span>
19411960 <span class="n">params_bytes</span> <span class="o">=</span> <span class="n">params_bytes</span><span class="p">,</span>
19421961 <span class="n">setup_bytes</span> <span class="o">=</span> <span class="n">setup_bytes</span><span class="p">))</span>
19431962 <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>
19461967 <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>
19471968
19481969 <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>
19771998 <span class="k">elif</span> <span class="n">end_of_search</span><span class="p">:</span>
19781999 <span class="n">callback</span><span class="p">(</span><span class="n">results</span><span class="p">)</span>
19792000 <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">&#39;sid&#39;</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">&#39;sid&#39;</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">&#39;support_dfs&#39;</span><span class="p">])</span>
19812002 <span class="k">else</span><span class="p">:</span>
19822003 <span class="n">errback</span><span class="p">(</span><span class="n">OperationFailure</span><span class="p">(</span><span class="s">&#39;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&#39;</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>
19832004
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">&#39;&lt;H&#39;</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">&#39;&lt;H&#39;</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">&quot;</span><span class="se">\\</span><span class="s">&quot;</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">&quot;</span><span class="se">\\</span><span class="s">&quot;</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">&#39;UTF-16LE&#39;</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
19842023 <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>
19852024 <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>
19862025 <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>
19872026 <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>
19882027 <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">&amp;</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>
19902032 <span class="k">else</span><span class="p">:</span>
19912033 <span class="n">errback</span><span class="p">(</span><span class="n">OperationFailure</span><span class="p">(</span><span class="s">&#39;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&#39;</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>
19922034
20302072 <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>
20312073 <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>
20322074 <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">&#39;&lt;QQQQIQQ&#39;</span>
2075 <span class="n">info_format</span> <span class="o">=</span> <span class="s">&#39;&lt;QQQQIIQQ&#39;</span>
20342076 <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>
20352077 <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>
20372079
20382080 <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>
20402082 <span class="n">callback</span><span class="p">(</span><span class="n">info</span><span class="p">)</span>
20412083 <span class="k">else</span><span class="p">:</span>
20422084 <span class="n">errback</span><span class="p">(</span><span class="n">OperationFailure</span><span class="p">(</span><span class="s">&#39;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&#39;</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>
21502192 <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>
21512193 <span class="k">else</span><span class="p">:</span>
21522194 <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>
21552200 <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>
21562201 <span class="k">raise</span> <span class="n">NotReadyError</span><span class="p">(</span><span class="s">&#39;SMB connection not authenticated&#39;</span><span class="p">)</span>
21572202
21612206 <span class="k">def</span> <span class="nf">sendOpen</span><span class="p">(</span><span class="n">tid</span><span class="p">):</span>
21622207 <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>
21632208 <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>
21652210 <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>
21662211 <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>
21672212 <span class="n">m</span><span class="o">.</span><span class="n">tid</span> <span class="o">=</span> <span class="n">tid</span>
21722217 <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>
21732218 <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>
21742219 <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>
21762221 <span class="k">else</span><span class="p">:</span>
21772222 <span class="n">errback</span><span class="p">(</span><span class="n">OperationFailure</span><span class="p">(</span><span class="s">&#39;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&#39;</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>
21782223
25452590
25462591 <span class="nd">@property</span>
25472592 <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">&quot;&quot;&quot;A convenience property to return True if this file resource is a directory on the remote server&quot;&quot;&quot;</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">&quot;&quot;&quot;A convenient property to return True if this file resource is a directory on the remote server&quot;&quot;&quot;</span>
25492594 <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">&amp;</span> <span class="n">ATTR_DIRECTORY</span><span class="p">)</span>
25502595
25512596 <span class="nd">@property</span></div>
25522597 <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">&quot;&quot;&quot;A convenience property to return True if this file resource is read-only on the remote server&quot;&quot;&quot;</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">&quot;&quot;&quot;A convenient property to return True if this file resource is read-only on the remote server&quot;&quot;&quot;</span>
25542599 <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">&amp;</span> <span class="n">ATTR_READONLY</span><span class="p">)</span>
25552600
25562601 <span class="k">def</span> <span class="nf">__unicode__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span></div>
25782623 <li class="right" style="margin-right: 10px">
25792624 <a href="../../genindex.html" title="General Index"
25802625 >index</a></li>
2581 <li><a href="../../index.html">pysmb 1.1.10 documentation</a> &raquo;</li>
2626 <li><a href="../../index.html">pysmb 1.1.15 documentation</a> &raquo;</li>
25822627 <li><a href="../index.html" >Module code</a> &raquo;</li>
25832628 </ul>
25842629 </div>
25852630 <div class="footer">
2586 &copy; Copyright 2001-2014, Michael Teo http://miketeo.net/.
2631 &copy; Copyright 2001-2015, Michael Teo http://miketeo.net/.
25872632 Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
25882633 </div>
25892634 </body>
55 <head>
66 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
77
8 <title>smb.smb_structs &mdash; pysmb 1.1.10 documentation</title>
8 <title>smb.smb_structs &mdash; pysmb 1.1.15 documentation</title>
99
1010 <link rel="stylesheet" href="../../_static/sphinxdoc.css" type="text/css" />
1111 <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
1313 <script type="text/javascript">
1414 var DOCUMENTATION_OPTIONS = {
1515 URL_ROOT: '../../',
16 VERSION: '1.1.10',
16 VERSION: '1.1.15',
1717 COLLAPSE_INDEX: false,
1818 FILE_SUFFIX: '.html',
1919 HAS_SOURCE: true
2222 <script type="text/javascript" src="../../_static/jquery.js"></script>
2323 <script type="text/javascript" src="../../_static/underscore.js"></script>
2424 <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" />
2626 <link rel="up" title="Module code" href="../index.html" />
2727 </head>
2828 <body>
3232 <li class="right" style="margin-right: 10px">
3333 <a href="../../genindex.html" title="General Index"
3434 accesskey="I">index</a></li>
35 <li><a href="../../index.html">pysmb 1.1.10 documentation</a> &raquo;</li>
35 <li><a href="../../index.html">pysmb 1.1.15 documentation</a> &raquo;</li>
3636 <li><a href="../index.html" accesskey="U">Module code</a> &raquo;</li>
3737 </ul>
3838 </div>
323323 <span class="c"># rewritten to check for OEM/Unicode strings which will be tedious. Fortunately, almost all tested CIFS services</span>
324324 <span class="c"># support SMB_FLAGS2_UNICODE by default.</span>
325325 <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>
328328
329329 <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>
331331
332332 <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>
333333 <span class="k">raise</span> <span class="ne">NotImplementedError</span>
474474
475475 <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>
476476
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>
478478
479479 <span class="n">message</span><span class="o">.</span><span class="n">parameters_data</span> <span class="o">=</span> \
480480 <span class="bp">self</span><span class="o">.</span><span class="n">DEFAULT_ANDX_PARAM_HEADER</span> <span class="o">+</span> \
597597 <span class="sd"> References:</span>
598598 <span class="sd"> ===========</span>
599599 <span class="sd"> - [MS-CIFS]: 2.2.4.55.1</span>
600 <span class="sd"> - [MS-SMB]: 2.2.4.7.1</span>
600601 <span class="sd"> &quot;&quot;&quot;</span>
601602
602603 <span class="n">PAYLOAD_STRUCT_FORMAT</span> <span class="o">=</span> <span class="s">&#39;&lt;HH&#39;</span>
616617 <span class="n">message</span><span class="o">.</span><span class="n">parameters_data</span> <span class="o">=</span> \
617618 <span class="bp">self</span><span class="o">.</span><span class="n">DEFAULT_ANDX_PARAM_HEADER</span> <span class="o">+</span> \
618619 <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>
620623 <span class="n">password_len</span><span class="p">)</span>
621624
622625 <span class="n">padding</span> <span class="o">=</span> <span class="s">&#39;&#39;</span>
14891492 <li class="right" style="margin-right: 10px">
14901493 <a href="../../genindex.html" title="General Index"
14911494 >index</a></li>
1492 <li><a href="../../index.html">pysmb 1.1.10 documentation</a> &raquo;</li>
1495 <li><a href="../../index.html">pysmb 1.1.15 documentation</a> &raquo;</li>
14931496 <li><a href="../index.html" >Module code</a> &raquo;</li>
14941497 </ul>
14951498 </div>
14961499 <div class="footer">
1497 &copy; Copyright 2001-2014, Michael Teo http://miketeo.net/.
1500 &copy; Copyright 2001-2015, Michael Teo http://miketeo.net/.
14981501 Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
14991502 </div>
15001503 </body>
55 <head>
66 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
77
8 <title>NBNSProtocol Class &mdash; pysmb 1.1.10 documentation</title>
8 <title>NBNSProtocol Class &mdash; pysmb 1.1.15 documentation</title>
99
1010 <link rel="stylesheet" href="../_static/sphinxdoc.css" type="text/css" />
1111 <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
1313 <script type="text/javascript">
1414 var DOCUMENTATION_OPTIONS = {
1515 URL_ROOT: '../',
16 VERSION: '1.1.10',
16 VERSION: '1.1.15',
1717 COLLAPSE_INDEX: false,
1818 FILE_SUFFIX: '.html',
1919 HAS_SOURCE: true
2222 <script type="text/javascript" src="../_static/jquery.js"></script>
2323 <script type="text/javascript" src="../_static/underscore.js"></script>
2424 <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" />
2626 <link rel="next" title="NetBIOS class" href="nmb_NetBIOS.html" />
2727 <link rel="prev" title="Welcome to pysmb’s documentation!" href="../index.html" />
2828 </head>
3939 <li class="right" >
4040 <a href="../index.html" title="Welcome to pysmb’s documentation!"
4141 accesskey="P">previous</a> |</li>
42 <li><a href="../index.html">pysmb 1.1.10 documentation</a> &raquo;</li>
42 <li><a href="../index.html">pysmb 1.1.15 documentation</a> &raquo;</li>
4343 </ul>
4444 </div>
4545 <div class="sphinxsidebar">
188188 <li class="right" >
189189 <a href="../index.html" title="Welcome to pysmb’s documentation!"
190190 >previous</a> |</li>
191 <li><a href="../index.html">pysmb 1.1.10 documentation</a> &raquo;</li>
191 <li><a href="../index.html">pysmb 1.1.15 documentation</a> &raquo;</li>
192192 </ul>
193193 </div>
194194 <div class="footer">
195 &copy; Copyright 2001-2014, Michael Teo http://miketeo.net/.
195 &copy; Copyright 2001-2015, Michael Teo http://miketeo.net/.
196196 Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
197197 </div>
198198 </body>
55 <head>
66 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
77
8 <title>NetBIOS class &mdash; pysmb 1.1.10 documentation</title>
8 <title>NetBIOS class &mdash; pysmb 1.1.15 documentation</title>
99
1010 <link rel="stylesheet" href="../_static/sphinxdoc.css" type="text/css" />
1111 <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
1313 <script type="text/javascript">
1414 var DOCUMENTATION_OPTIONS = {
1515 URL_ROOT: '../',
16 VERSION: '1.1.10',
16 VERSION: '1.1.15',
1717 COLLAPSE_INDEX: false,
1818 FILE_SUFFIX: '.html',
1919 HAS_SOURCE: true
2222 <script type="text/javascript" src="../_static/jquery.js"></script>
2323 <script type="text/javascript" src="../_static/underscore.js"></script>
2424 <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" />
2626 <link rel="next" title="SMBConnection Class" href="smb_SMBConnection.html" />
2727 <link rel="prev" title="NBNSProtocol Class" href="nmb_NBNSProtocol.html" />
2828 </head>
3939 <li class="right" >
4040 <a href="nmb_NBNSProtocol.html" title="NBNSProtocol Class"
4141 accesskey="P">previous</a> |</li>
42 <li><a href="../index.html">pysmb 1.1.10 documentation</a> &raquo;</li>
42 <li><a href="../index.html">pysmb 1.1.15 documentation</a> &raquo;</li>
4343 </ul>
4444 </div>
4545 <div class="sphinxsidebar">
192192 <li class="right" >
193193 <a href="nmb_NBNSProtocol.html" title="NBNSProtocol Class"
194194 >previous</a> |</li>
195 <li><a href="../index.html">pysmb 1.1.10 documentation</a> &raquo;</li>
195 <li><a href="../index.html">pysmb 1.1.15 documentation</a> &raquo;</li>
196196 </ul>
197197 </div>
198198 <div class="footer">
199 &copy; Copyright 2001-2014, Michael Teo http://miketeo.net/.
199 &copy; Copyright 2001-2015, Michael Teo http://miketeo.net/.
200200 Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
201201 </div>
202202 </body>
55 <head>
66 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
77
8 <title>SMBConnection Class &mdash; pysmb 1.1.10 documentation</title>
8 <title>SMBConnection Class &mdash; pysmb 1.1.15 documentation</title>
99
1010 <link rel="stylesheet" href="../_static/sphinxdoc.css" type="text/css" />
1111 <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
1313 <script type="text/javascript">
1414 var DOCUMENTATION_OPTIONS = {
1515 URL_ROOT: '../',
16 VERSION: '1.1.10',
16 VERSION: '1.1.15',
1717 COLLAPSE_INDEX: false,
1818 FILE_SUFFIX: '.html',
1919 HAS_SOURCE: true
2222 <script type="text/javascript" src="../_static/jquery.js"></script>
2323 <script type="text/javascript" src="../_static/underscore.js"></script>
2424 <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" />
2626 <link rel="next" title="SMbHandler Class" href="smb_SMBHandler.html" />
2727 <link rel="prev" title="NetBIOS class" href="nmb_NetBIOS.html" />
2828 </head>
3939 <li class="right" >
4040 <a href="nmb_NetBIOS.html" title="NetBIOS class"
4141 accesskey="P">previous</a> |</li>
42 <li><a href="../index.html">pysmb 1.1.10 documentation</a> &raquo;</li>
42 <li><a href="../index.html">pysmb 1.1.15 documentation</a> &raquo;</li>
4343 </ul>
4444 </div>
4545 <div class="sphinxsidebar">
430430 <dl class="method">
431431 <dt id="smb.SMBConnection.SMBConnection.storeFile">
432432 <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>
434435 <table class="docutils field-list" frame="void" rules="none">
435436 <col class="field-name" />
436437 <col class="field-body" />
444445 </td>
445446 </tr>
446447 <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>) &#8211; the name of the shared folder for the <em>path</em></li>
464 <li><strong>path</strong> (<em>string/unicode</em>) &#8211; 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> &#8211; 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> &#8211; 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> &#8211; 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>
447473 </td>
448474 </tr>
449475 </tbody>
497523 <li class="right" >
498524 <a href="nmb_NetBIOS.html" title="NetBIOS class"
499525 >previous</a> |</li>
500 <li><a href="../index.html">pysmb 1.1.10 documentation</a> &raquo;</li>
526 <li><a href="../index.html">pysmb 1.1.15 documentation</a> &raquo;</li>
501527 </ul>
502528 </div>
503529 <div class="footer">
504 &copy; Copyright 2001-2014, Michael Teo http://miketeo.net/.
530 &copy; Copyright 2001-2015, Michael Teo http://miketeo.net/.
505531 Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
506532 </div>
507533 </body>
55 <head>
66 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
77
8 <title>SMbHandler Class &mdash; pysmb 1.1.10 documentation</title>
8 <title>SMbHandler Class &mdash; pysmb 1.1.15 documentation</title>
99
1010 <link rel="stylesheet" href="../_static/sphinxdoc.css" type="text/css" />
1111 <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
1313 <script type="text/javascript">
1414 var DOCUMENTATION_OPTIONS = {
1515 URL_ROOT: '../',
16 VERSION: '1.1.10',
16 VERSION: '1.1.15',
1717 COLLAPSE_INDEX: false,
1818 FILE_SUFFIX: '.html',
1919 HAS_SOURCE: true
2222 <script type="text/javascript" src="../_static/jquery.js"></script>
2323 <script type="text/javascript" src="../_static/underscore.js"></script>
2424 <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" />
2626 <link rel="next" title="SMBProtocolFactory Class" href="smb_SMBProtocolFactory.html" />
2727 <link rel="prev" title="SMBConnection Class" href="smb_SMBConnection.html" />
2828 </head>
3939 <li class="right" >
4040 <a href="smb_SMBConnection.html" title="SMBConnection Class"
4141 accesskey="P">previous</a> |</li>
42 <li><a href="../index.html">pysmb 1.1.10 documentation</a> &raquo;</li>
42 <li><a href="../index.html">pysmb 1.1.15 documentation</a> &raquo;</li>
4343 </ul>
4444 </div>
4545 <div class="sphinxsidebar">
153153 <li class="right" >
154154 <a href="smb_SMBConnection.html" title="SMBConnection Class"
155155 >previous</a> |</li>
156 <li><a href="../index.html">pysmb 1.1.10 documentation</a> &raquo;</li>
156 <li><a href="../index.html">pysmb 1.1.15 documentation</a> &raquo;</li>
157157 </ul>
158158 </div>
159159 <div class="footer">
160 &copy; Copyright 2001-2014, Michael Teo http://miketeo.net/.
160 &copy; Copyright 2001-2015, Michael Teo http://miketeo.net/.
161161 Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
162162 </div>
163163 </body>
55 <head>
66 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
77
8 <title>SMBProtocolFactory Class &mdash; pysmb 1.1.10 documentation</title>
8 <title>SMBProtocolFactory Class &mdash; pysmb 1.1.15 documentation</title>
99
1010 <link rel="stylesheet" href="../_static/sphinxdoc.css" type="text/css" />
1111 <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
1313 <script type="text/javascript">
1414 var DOCUMENTATION_OPTIONS = {
1515 URL_ROOT: '../',
16 VERSION: '1.1.10',
16 VERSION: '1.1.15',
1717 COLLAPSE_INDEX: false,
1818 FILE_SUFFIX: '.html',
1919 HAS_SOURCE: true
2222 <script type="text/javascript" src="../_static/jquery.js"></script>
2323 <script type="text/javascript" src="../_static/underscore.js"></script>
2424 <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" />
2626 <link rel="next" title="SharedDevice Class" href="smb_SharedDevice.html" />
2727 <link rel="prev" title="SMbHandler Class" href="smb_SMBHandler.html" />
2828 </head>
3939 <li class="right" >
4040 <a href="smb_SMBHandler.html" title="SMbHandler Class"
4141 accesskey="P">previous</a> |</li>
42 <li><a href="../index.html">pysmb 1.1.10 documentation</a> &raquo;</li>
42 <li><a href="../index.html">pysmb 1.1.15 documentation</a> &raquo;</li>
4343 </ul>
4444 </div>
4545 <div class="sphinxsidebar">
588588 <li class="right" >
589589 <a href="smb_SMBHandler.html" title="SMbHandler Class"
590590 >previous</a> |</li>
591 <li><a href="../index.html">pysmb 1.1.10 documentation</a> &raquo;</li>
591 <li><a href="../index.html">pysmb 1.1.15 documentation</a> &raquo;</li>
592592 </ul>
593593 </div>
594594 <div class="footer">
595 &copy; Copyright 2001-2014, Michael Teo http://miketeo.net/.
595 &copy; Copyright 2001-2015, Michael Teo http://miketeo.net/.
596596 Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
597597 </div>
598598 </body>
55 <head>
66 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
77
8 <title>SharedDevice Class &mdash; pysmb 1.1.10 documentation</title>
8 <title>SharedDevice Class &mdash; pysmb 1.1.15 documentation</title>
99
1010 <link rel="stylesheet" href="../_static/sphinxdoc.css" type="text/css" />
1111 <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
1313 <script type="text/javascript">
1414 var DOCUMENTATION_OPTIONS = {
1515 URL_ROOT: '../',
16 VERSION: '1.1.10',
16 VERSION: '1.1.15',
1717 COLLAPSE_INDEX: false,
1818 FILE_SUFFIX: '.html',
1919 HAS_SOURCE: true
2222 <script type="text/javascript" src="../_static/jquery.js"></script>
2323 <script type="text/javascript" src="../_static/underscore.js"></script>
2424 <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" />
2626 <link rel="next" title="SharedFile Class" href="smb_SharedFile.html" />
2727 <link rel="prev" title="SMBProtocolFactory Class" href="smb_SMBProtocolFactory.html" />
2828 </head>
3939 <li class="right" >
4040 <a href="smb_SMBProtocolFactory.html" title="SMBProtocolFactory Class"
4141 accesskey="P">previous</a> |</li>
42 <li><a href="../index.html">pysmb 1.1.10 documentation</a> &raquo;</li>
42 <li><a href="../index.html">pysmb 1.1.15 documentation</a> &raquo;</li>
4343 </ul>
4444 </div>
4545 <div class="sphinxsidebar">
145145 <li class="right" >
146146 <a href="smb_SMBProtocolFactory.html" title="SMBProtocolFactory Class"
147147 >previous</a> |</li>
148 <li><a href="../index.html">pysmb 1.1.10 documentation</a> &raquo;</li>
148 <li><a href="../index.html">pysmb 1.1.15 documentation</a> &raquo;</li>
149149 </ul>
150150 </div>
151151 <div class="footer">
152 &copy; Copyright 2001-2014, Michael Teo http://miketeo.net/.
152 &copy; Copyright 2001-2015, Michael Teo http://miketeo.net/.
153153 Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
154154 </div>
155155 </body>
55 <head>
66 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
77
8 <title>SharedFile Class &mdash; pysmb 1.1.10 documentation</title>
8 <title>SharedFile Class &mdash; pysmb 1.1.15 documentation</title>
99
1010 <link rel="stylesheet" href="../_static/sphinxdoc.css" type="text/css" />
1111 <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
1313 <script type="text/javascript">
1414 var DOCUMENTATION_OPTIONS = {
1515 URL_ROOT: '../',
16 VERSION: '1.1.10',
16 VERSION: '1.1.15',
1717 COLLAPSE_INDEX: false,
1818 FILE_SUFFIX: '.html',
1919 HAS_SOURCE: true
2222 <script type="text/javascript" src="../_static/jquery.js"></script>
2323 <script type="text/javascript" src="../_static/underscore.js"></script>
2424 <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" />
2626 <link rel="next" title="SMB Exceptions" href="smb_exceptions.html" />
2727 <link rel="prev" title="SharedDevice Class" href="smb_SharedDevice.html" />
2828 </head>
3939 <li class="right" >
4040 <a href="smb_SharedDevice.html" title="SharedDevice Class"
4141 accesskey="P">previous</a> |</li>
42 <li><a href="../index.html">pysmb 1.1.10 documentation</a> &raquo;</li>
42 <li><a href="../index.html">pysmb 1.1.15 documentation</a> &raquo;</li>
4343 </ul>
4444 </div>
4545 <div class="sphinxsidebar">
120120 <dl class="attribute">
121121 <dt id="smb.base.SharedFile.isDirectory">
122122 <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>
124124 </dd></dl>
125125
126126 <dl class="attribute">
127127 <dt id="smb.base.SharedFile.isReadOnly">
128128 <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>
130130 </dd></dl>
131131
132132 <dl class="attribute">
175175 <li class="right" >
176176 <a href="smb_SharedDevice.html" title="SharedDevice Class"
177177 >previous</a> |</li>
178 <li><a href="../index.html">pysmb 1.1.10 documentation</a> &raquo;</li>
178 <li><a href="../index.html">pysmb 1.1.15 documentation</a> &raquo;</li>
179179 </ul>
180180 </div>
181181 <div class="footer">
182 &copy; Copyright 2001-2014, Michael Teo http://miketeo.net/.
182 &copy; Copyright 2001-2015, Michael Teo http://miketeo.net/.
183183 Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
184184 </div>
185185 </body>
55 <head>
66 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
77
8 <title>SMB Exceptions &mdash; pysmb 1.1.10 documentation</title>
8 <title>SMB Exceptions &mdash; pysmb 1.1.15 documentation</title>
99
1010 <link rel="stylesheet" href="../_static/sphinxdoc.css" type="text/css" />
1111 <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
1313 <script type="text/javascript">
1414 var DOCUMENTATION_OPTIONS = {
1515 URL_ROOT: '../',
16 VERSION: '1.1.10',
16 VERSION: '1.1.15',
1717 COLLAPSE_INDEX: false,
1818 FILE_SUFFIX: '.html',
1919 HAS_SOURCE: true
2222 <script type="text/javascript" src="../_static/jquery.js"></script>
2323 <script type="text/javascript" src="../_static/underscore.js"></script>
2424 <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" />
2626 <link rel="next" title="Extending pysmb For Other Frameworks" href="../extending.html" />
2727 <link rel="prev" title="SharedFile Class" href="smb_SharedFile.html" />
2828 </head>
3939 <li class="right" >
4040 <a href="smb_SharedFile.html" title="SharedFile Class"
4141 accesskey="P">previous</a> |</li>
42 <li><a href="../index.html">pysmb 1.1.10 documentation</a> &raquo;</li>
42 <li><a href="../index.html">pysmb 1.1.15 documentation</a> &raquo;</li>
4343 </ul>
4444 </div>
4545 <div class="sphinxsidebar">
133133 <li class="right" >
134134 <a href="smb_SharedFile.html" title="SharedFile Class"
135135 >previous</a> |</li>
136 <li><a href="../index.html">pysmb 1.1.10 documentation</a> &raquo;</li>
136 <li><a href="../index.html">pysmb 1.1.15 documentation</a> &raquo;</li>
137137 </ul>
138138 </div>
139139 <div class="footer">
140 &copy; Copyright 2001-2014, Michael Teo http://miketeo.net/.
140 &copy; Copyright 2001-2015, Michael Teo http://miketeo.net/.
141141 Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
142142 </div>
143143 </body>
55 <head>
66 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
77
8 <title>Extending pysmb For Other Frameworks &mdash; pysmb 1.1.10 documentation</title>
8 <title>Extending pysmb For Other Frameworks &mdash; pysmb 1.1.15 documentation</title>
99
1010 <link rel="stylesheet" href="_static/sphinxdoc.css" type="text/css" />
1111 <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
1313 <script type="text/javascript">
1414 var DOCUMENTATION_OPTIONS = {
1515 URL_ROOT: './',
16 VERSION: '1.1.10',
16 VERSION: '1.1.15',
1717 COLLAPSE_INDEX: false,
1818 FILE_SUFFIX: '.html',
1919 HAS_SOURCE: true
2222 <script type="text/javascript" src="_static/jquery.js"></script>
2323 <script type="text/javascript" src="_static/underscore.js"></script>
2424 <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" />
2626 <link rel="prev" title="SMB Exceptions" href="api/smb_exceptions.html" />
2727 </head>
2828 <body>
3535 <li class="right" >
3636 <a href="api/smb_exceptions.html" title="SMB Exceptions"
3737 accesskey="P">previous</a> |</li>
38 <li><a href="index.html">pysmb 1.1.10 documentation</a> &raquo;</li>
38 <li><a href="index.html">pysmb 1.1.15 documentation</a> &raquo;</li>
3939 </ul>
4040 </div>
4141 <div class="sphinxsidebar">
110110 <li class="right" >
111111 <a href="api/smb_exceptions.html" title="SMB Exceptions"
112112 >previous</a> |</li>
113 <li><a href="index.html">pysmb 1.1.10 documentation</a> &raquo;</li>
113 <li><a href="index.html">pysmb 1.1.15 documentation</a> &raquo;</li>
114114 </ul>
115115 </div>
116116 <div class="footer">
117 &copy; Copyright 2001-2014, Michael Teo http://miketeo.net/.
117 &copy; Copyright 2001-2015, Michael Teo http://miketeo.net/.
118118 Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
119119 </div>
120120 </body>
66 <head>
77 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
88
9 <title>Index &mdash; pysmb 1.1.10 documentation</title>
9 <title>Index &mdash; pysmb 1.1.15 documentation</title>
1010
1111 <link rel="stylesheet" href="_static/sphinxdoc.css" type="text/css" />
1212 <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
1414 <script type="text/javascript">
1515 var DOCUMENTATION_OPTIONS = {
1616 URL_ROOT: './',
17 VERSION: '1.1.10',
17 VERSION: '1.1.15',
1818 COLLAPSE_INDEX: false,
1919 FILE_SUFFIX: '.html',
2020 HAS_SOURCE: true
2323 <script type="text/javascript" src="_static/jquery.js"></script>
2424 <script type="text/javascript" src="_static/underscore.js"></script>
2525 <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" />
2727 </head>
2828 <body>
2929 <div class="related">
3232 <li class="right" style="margin-right: 10px">
3333 <a href="#" title="General Index"
3434 accesskey="I">index</a></li>
35 <li><a href="index.html">pysmb 1.1.10 documentation</a> &raquo;</li>
35 <li><a href="index.html">pysmb 1.1.15 documentation</a> &raquo;</li>
3636 </ul>
3737 </div>
3838 <div class="sphinxsidebar">
497497 </dt>
498498
499499 </dl></dd>
500 </dl></td>
501 <td style="width: 33%" valign="top"><dl>
502500
503501 <dt><a href="api/smb_SMBConnection.html#smb.SMBConnection.SMBConnection.SIGN_WHEN_SUPPORTED">SIGN_WHEN_SUPPORTED (smb.SMBConnection.SMBConnection attribute)</a>
504502 </dt>
509507 </dt>
510508
511509 </dl></dd>
510 </dl></td>
511 <td style="width: 33%" valign="top"><dl>
512512
513513 <dt><a href="api/smb_SMBConnection.html#smb.SMBConnection.SMBConnection">SMBConnection (class in smb.SMBConnection)</a>
514514 </dt>
531531 </dt>
532532
533533 </dl></dd>
534
535 <dt><a href="api/smb_SMBConnection.html#smb.SMBConnection.SMBConnection.storeFileFromOffset">storeFileFromOffset() (smb.SMBConnection.SMBConnection method)</a>
536 </dt>
537
534538 </dl></td>
535539 </tr></table>
536540
567571 <li class="right" style="margin-right: 10px">
568572 <a href="#" title="General Index"
569573 >index</a></li>
570 <li><a href="index.html">pysmb 1.1.10 documentation</a> &raquo;</li>
574 <li><a href="index.html">pysmb 1.1.15 documentation</a> &raquo;</li>
571575 </ul>
572576 </div>
573577 <div class="footer">
574 &copy; Copyright 2001-2014, Michael Teo http://miketeo.net/.
578 &copy; Copyright 2001-2015, Michael Teo http://miketeo.net/.
575579 Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
576580 </div>
577581 </body>
55 <head>
66 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
77
8 <title>Welcome to pysmb’s documentation! &mdash; pysmb 1.1.10 documentation</title>
8 <title>Welcome to pysmb’s documentation! &mdash; pysmb 1.1.15 documentation</title>
99
1010 <link rel="stylesheet" href="_static/sphinxdoc.css" type="text/css" />
1111 <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
1313 <script type="text/javascript">
1414 var DOCUMENTATION_OPTIONS = {
1515 URL_ROOT: './',
16 VERSION: '1.1.10',
16 VERSION: '1.1.15',
1717 COLLAPSE_INDEX: false,
1818 FILE_SUFFIX: '.html',
1919 HAS_SOURCE: true
2222 <script type="text/javascript" src="_static/jquery.js"></script>
2323 <script type="text/javascript" src="_static/underscore.js"></script>
2424 <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="#" />
2626 <link rel="next" title="NBNSProtocol Class" href="api/nmb_NBNSProtocol.html" />
2727 </head>
2828 <body>
3535 <li class="right" >
3636 <a href="api/nmb_NBNSProtocol.html" title="NBNSProtocol Class"
3737 accesskey="N">next</a> |</li>
38 <li><a href="#">pysmb 1.1.10 documentation</a> &raquo;</li>
38 <li><a href="#">pysmb 1.1.15 documentation</a> &raquo;</li>
3939 </ul>
4040 </div>
4141 <div class="sphinxsidebar">
208208 <li class="right" >
209209 <a href="api/nmb_NBNSProtocol.html" title="NBNSProtocol Class"
210210 >next</a> |</li>
211 <li><a href="#">pysmb 1.1.10 documentation</a> &raquo;</li>
211 <li><a href="#">pysmb 1.1.15 documentation</a> &raquo;</li>
212212 </ul>
213213 </div>
214214 <div class="footer">
215 &copy; Copyright 2001-2014, Michael Teo http://miketeo.net/.
215 &copy; Copyright 2001-2015, Michael Teo http://miketeo.net/.
216216 Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
217217 </div>
218218 </body>
Binary diff not shown
55 <head>
66 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
77
8 <title>Search &mdash; pysmb 1.1.10 documentation</title>
8 <title>Search &mdash; pysmb 1.1.15 documentation</title>
99
1010 <link rel="stylesheet" href="_static/sphinxdoc.css" type="text/css" />
1111 <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
1313 <script type="text/javascript">
1414 var DOCUMENTATION_OPTIONS = {
1515 URL_ROOT: './',
16 VERSION: '1.1.10',
16 VERSION: '1.1.15',
1717 COLLAPSE_INDEX: false,
1818 FILE_SUFFIX: '.html',
1919 HAS_SOURCE: true
2323 <script type="text/javascript" src="_static/underscore.js"></script>
2424 <script type="text/javascript" src="_static/doctools.js"></script>
2525 <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" />
2727 <script type="text/javascript">
2828 jQuery(function() { Search.loadIndex("searchindex.js"); });
2929 </script>
3939 <li class="right" style="margin-right: 10px">
4040 <a href="genindex.html" title="General Index"
4141 accesskey="I">index</a></li>
42 <li><a href="index.html">pysmb 1.1.10 documentation</a> &raquo;</li>
42 <li><a href="index.html">pysmb 1.1.15 documentation</a> &raquo;</li>
4343 </ul>
4444 </div>
4545 <div class="sphinxsidebar">
8787 <li class="right" style="margin-right: 10px">
8888 <a href="genindex.html" title="General Index"
8989 >index</a></li>
90 <li><a href="index.html">pysmb 1.1.10 documentation</a> &raquo;</li>
90 <li><a href="index.html">pysmb 1.1.15 documentation</a> &raquo;</li>
9191 </ul>
9292 </div>
9393 <div class="footer">
94 &copy; Copyright 2001-2014, Michael Teo http://miketeo.net/.
94 &copy; Copyright 2001-2015, Michael Teo http://miketeo.net/.
9595 Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
9696 </div>
9797 </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&#8217;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&#8217;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}})