lib Defective SMb (libDSM) is a SMB protocol client implementation in pure C, with a lot less features than Samba and also a more permissive license (currently LGPL). The initial goal of this project is to have a lib with an iOS/Android compatible license to be intgrated into VLC for iOS and VLC for Android.
The lib is provided as a static library or as a dynamically linked library. A few useless (yet) utils are also provided.
- A Unix system with a bash-shell (i guess)
- C99 C compiler
- (GNU) Make
- Autotools
- libc with iconv
- getopt_long
- GNU tasn1 compiler/support library
The build dependencies can be installed on Debian(-based) systems using
sudo apt-get install build-essential autoconf libtool pkg-config libtasn1-3-dev libtasn1-3-bin libbsd-dev
$> ./bootstrap
$> ./configure --prefix=/your/ass
$> make
$> make install # maybe
Here's a list of supported features:
- NETBIOS
- Basic bi-directionnal NETBIOS name resolutio
- Hacky LAN SMB servers discovery (Listing all the smb servers on the LAN, no WINS, etc.)
- Basic NETBIOS Session transport layer
- SMB
- Support only required parts of 'NT LM 0.12' (aka CIFS?) dialect.
- User based authentication
- List Shares
- Browse folders
- Read file
- No write, lock, RPCs, etc. [Hum... yet]
liBDSM has been tested/reported to work witht the following devices/OSes:
- Windows 7
- Windows 8
- A cheap NAS whose name i can't remember :)
- Samba
- smbX (OSX new smb implementation)
Feel free to contribute items to this list (or network trace of not working devices)
- HEAVILY refactor. Any help is welcome.
- Fork videolabs/libdsm
- Make a feature branch
- Commits your work there
- Make a pull request
- ...
- Profit !