Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/videolabs/libdsm
Defective SMb: A minimalist implementation of a client library for SMBv1 using Plain'Ol C
https://github.com/videolabs/libdsm
Last synced: about 2 months ago
JSON representation
Defective SMb: A minimalist implementation of a client library for SMBv1 using Plain'Ol C
- Host: GitHub
- URL: https://github.com/videolabs/libdsm
- Owner: videolabs
- License: other
- Created: 2014-03-26T14:18:53.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2024-01-04T21:20:30.000Z (9 months ago)
- Last Synced: 2024-04-06T08:34:05.508Z (6 months ago)
- Language: C
- Homepage: http://videolabs.github.io/libdsm
- Size: 1.63 MB
- Stars: 204
- Watchers: 32
- Forks: 85
- Open Issues: 26
-
Metadata Files:
- Readme: README.md
- License: COPYING
- Authors: AUTHORS
Awesome Lists containing this project
README
# liBDSM
lib Defective SMb (__libDSM__) is
a [SMB protocol](https://en.wikipedia.org/wiki/Server_Message_Block)
client implementation in pure old __C__, with a _lot_ less features
than [Samba](https://www.samba.org/) but with a much simpler, and a
more permissive license (currently __LGPL__ + __proprietary__).The initial goal of this project is to have a library that can access
most SMB shares to read files and that has a license compatible
with the iOS/Android/WinRT appstores in order to integrate it into
_VLC for iOS_ and _VLC for Android_.This library is also licensable under a proprietary license, if LGPL
is not good enough for you.The lib is provided as a static library or as a dynamically linked library.
A few useless (yet) utils are also provided, mostly for testing purpose.## Features
Here's a list of the currently supported features:
* NETBIOS
* Basic bi-directionnal NETBIOS name resolution
* 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
* Write file
* Delete file
* Delete empty folder
* Move and rename file/folder
* Create new folder
* No copy, lock, RPCs, etc. [Hum... yet]## Support
liBDSM has been tested/reported to work with the following devices/OSes:
* Windows 7
* Windows 8/8.1
* Samba
* smbX (OSX new smb implementation)
* QNAP TS-212
* A cheap NAS whose name i can't remember :)Feel free to contribute items to this list (or network trace of not
working devices)## Building
### Requirements
* A Unix system with a bash-compatible shell
* C99 C compiler
* (GNU) Make
* Autotools
* libc with iconv
* getopt_long
* GNU tasn1 compiler/support libraryThe 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
### HowTo
$> ./bootstrap
$> ./configure --prefix=/your/prefix
$> make
$> make install # maybe## TODO
* HEAVILY refactor. Any help is welcome.
* Support more of the SMBv2 and v3 protocols.## Contributing
* Fork videolabs/libdsm
* Make a feature branch
* Commits your work there
* Make a pull request
* ...
* Profit !