libdsm with meson support

Jean-Baptiste Kempf 0483435c39 Add -Wall -Wextra to build flags vor 10 Jahren
bin 7636c12c43 bin/dsm: fix double destroy vor 10 Jahren
compat 5003022c1e compat: add support for clock_gettime on Darwin vor 10 Jahren
contrib 33f4a0e556 Fix libtasn1 version detection. Move tasn1 compat types to config.h vor 11 Jahren
doc 425f8c82c4 doxygen: only generate doc for include vor 10 Jahren
include 2652403170 include: move private stuff to src vor 10 Jahren
m4 0483435c39 Add -Wall -Wextra to build flags vor 10 Jahren
src 6932017140 remove smb_buffer_alloca vor 10 Jahren
www 3a25719776 add www/README vor 10 Jahren
.gitignore 92686fb3cb update .gitignore vor 10 Jahren
AUTHORS 5604b40f8d update AUTHORS vor 10 Jahren
COPYING dce710003c Update license and Readme vor 10 Jahren
Makefile.am 168066993f add abi_version.sh and package_version.sh in package vor 10 Jahren
NEWS ec54fc4f5e update NEWS vor 10 Jahren
NOTES.md ab4a6299da Adds a NOTES file with some details/discoveries during the implementation vor 11 Jahren
README.md dce710003c Update license and Readme vor 10 Jahren
abi_version.sh 69bdc304e1 build: Initial autotools vor 11 Jahren
bootstrap 42cc790f32 Adds a stylish bootstrap script vor 11 Jahren
configure.ac 0483435c39 Add -Wall -Wextra to build flags vor 10 Jahren
libdsm.pc.in e2c5ac4ae1 Fix PKG-CONFIG generation vor 10 Jahren
package_version.sh 69bdc304e1 build: Initial autotools vor 11 Jahren

README.md

liBDSM

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.

Building

Requirements

  • 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

HowTo

$> ./bootstrap
$> ./configure --prefix=/your/ass
$> make
$> make install # maybe

Goals

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]

Support

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)

TODO

  • HEAVILY refactor. Any help is welcome.

Contributing

  • Fork videolabs/libdsm
  • Make a feature branch
  • Commits your work there
  • Make a pull request
  • ...
  • Profit !