Licence: ======== This project is LGPLv2.1 or later scrambla is a smb2/3 server written in python. It is limited in scope but is complete enough to be useful for error injection and testing clients. The biggest missing features at this point is * It does not fork a connection and only accests a single client connection. Once the client disconnects the server will terminate. * It is read-only * it does not verify the ntlmssp auth packet and simply allows everyone in as guest. * is does not track uids/gids of the client and all i/o will be performed as root. That said, it is complete enough to mount -o ro from a linux client, list directories, stat files and read files. Add more text once the server gains more features. Configuration ============= Configuration is done in server/config.py. See server/config.py.example for an example configuration file. Authentication ============== Authentication requires that you have the pyspnego pip package installed: sudo pip install pyspnego You also need to setup a NTLM_USER_FILE and point to it from the config. To run it ========= sudo PYTHONPATH=`pwd` python ./server/main.py Directory structure =================== smb2/ : This directory contains the mappings between bytearrays and dicts for the smb2/3 protocol. This mapping is supported for both encoding and decoding of all the objects and can be used to build both a client as well a server. server/ : This directory contains the code to run a simple server. tests/ : Test-suite to validate the marshalling/unmarshalling of the smb2/ code.