libdsm with meson support

Julien 'Lta' BALLET 384a1628f3 website: fix middleman-gh-page build on a repo subdir před 11 roky
bin 753ea664f1 Enable autoheader před 11 roky
contrib 33f4a0e556 Fix libtasn1 version detection. Move tasn1 compat types to config.h před 11 roky
doc 7c0c3a6d72 Add new website před 11 roky
include 566746fb41 Revert a commit where i show i didn't understood libtool abi versionning před 11 roky
m4 2c0c52f0a8 Add m4 files from gettext in order to have iconv.m4 working. Add a pkg-config related m4 file před 11 roky
src e556fb4e3b Remove a warning when compiling with debug disabled před 11 roky
www 384a1628f3 website: fix middleman-gh-page build on a repo subdir před 11 roky
.gitignore ad7ff8ccb4 Ignore sublime text files před 11 roky
COPYING 85e1f29b76 Adds COPYING file před 11 roky
Makefile.am 2428507d04 Fix 'make checkdist' by adding the missing asn1 file před 11 roky
NOTES.md ab4a6299da Adds a NOTES file with some details/discoveries during the implementation před 11 roky
README.md 7c0c3a6d72 Add new website před 11 roky
TODO.md 6222e61e0d Implements Open/Close of file před 11 roky
abi_version.sh 69bdc304e1 build: Initial autotools před 11 roky
bootstrap 42cc790f32 Adds a stylish bootstrap script před 11 roky
configure.ac 33f4a0e556 Fix libtasn1 version detection. Move tasn1 compat types to config.h před 11 roky
libdsm.pc.in f038a27c73 Adds content to pkg-config file před 11 roky
package_version.sh 69bdc304e1 build: Initial autotools před 11 roky

README.md

liBDSM

A small project of SMB protocol client implementation in C, with a lot less features than Samba but also a more permissive license (WTFL/MIT). The initial goal of this project is to have a lib with an iOS compatible license to be intgrated into VLC for iOS.

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 !