libdsm with meson support

Julien 'Lta' BALLET 43475888af configure.ac: Allow configuration of random device path преди 11 години
bin 753ea664f1 Enable autoheader преди 11 години
compat 6800e9c651 Replace LGPL version of strlcpy by OpenBSD one which is BSD-licensed преди 11 години
contrib 33f4a0e556 Fix libtasn1 version detection. Move tasn1 compat types to config.h преди 11 години
doc 7c0c3a6d72 Add new website преди 11 години
include 6734a13bda Debug: avoid warnings when in release mode преди 11 години
m4 2c0c52f0a8 Add m4 files from gettext in order to have iconv.m4 working. Add a pkg-config related m4 file преди 11 години
src 1b0774ff85 smb_ntlm: fix warnings преди 11 години
www 4fe28707b8 www: Fix background sprint path преди 11 години
.gitignore ad7ff8ccb4 Ignore sublime text files преди 11 години
COPYING 85e1f29b76 Adds COPYING file преди 11 години
Makefile.am 997f9a76af Respect CFLAGs environment variable преди 11 години
NOTES.md ab4a6299da Adds a NOTES file with some details/discoveries during the implementation преди 11 години
README.md 7c0c3a6d72 Add new website преди 11 години
abi_version.sh 69bdc304e1 build: Initial autotools преди 11 години
bootstrap 42cc790f32 Adds a stylish bootstrap script преди 11 години
configure.ac 43475888af configure.ac: Allow configuration of random device path преди 11 години
libdsm.pc.in f038a27c73 Adds content to pkg-config file преди 11 години
package_version.sh 69bdc304e1 build: Initial autotools преди 11 години

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 !