main: print the exception if a server connection fails
[scrambla.git] / README
1 Licence:
2 ========
3 This project is LGPLv2.1 or later
4
5 scrambla is a smb2/3 server written in python.
6 It is limited in scope but is complete enough to be useful for error injection
7 and testing clients.
8
9 The biggest missing features at this point is
10 * It does not fork a connection and only accests a single client connection.
11   Once the client disconnects the server will terminate.
12   
13 * It is read-only
14 * it does not verify the ntlmssp auth packet and simply allows everyone in as
15   guest.
16 * is does not track uids/gids of the client and all i/o will be performed as
17   root.
18
19 That said, it is complete enough to mount -o ro from a linux client,
20 list directories, stat files and read files.
21
22 Add more text once the server gains more features.
23
24 Configuration
25 =============
26 Configuration is done in server/config.py.
27 See server/config.py.example for an example configuration file.
28
29 Authentication
30 ==============
31 Authentication requires that you have the pyspnego pip package installed:
32 sudo pip install pyspnego
33 You also need to setup a NTLM_USER_FILE and point to it from the config.
34
35 To run it
36 =========
37 sudo PYTHONPATH=`pwd` python ./server/main.py
38
39 Directory structure
40 ===================
41 smb2/ : This directory contains the mappings between bytearrays and dicts
42         for the smb2/3 protocol.
43         This mapping is supported for both encoding and decoding of all the
44         objects and can be used to build both a client as well a server.
45 server/ : This directory contains the code to run a simple server.
46 tests/  : Test-suite to validate the marshalling/unmarshalling of the
47           smb2/ code.
48