libdsm with meson support

Julien 'Lta' BALLET 2c0c52f0a8 Add m4 files from gettext in order to have iconv.m4 working. Add a pkg-config related m4 file 11 лет назад
bin 949898065c Merge pull request #6 from mstorsjo/void-return 11 лет назад
contrib 34f8d124d6 Merge pull request #7 from mstorsjo/rc4-types 11 лет назад
doc 3846ae0847 Replace usage of BDSM_DEBUG macro by BDSM_dbg 11 лет назад
include 3df64e7906 Add smb_stat_list_destroy function. Plus a few small fixes 11 лет назад
m4 2c0c52f0a8 Add m4 files from gettext in order to have iconv.m4 working. Add a pkg-config related m4 file 11 лет назад
src ed52172343 Merge pull request #5 from mstorsjo/printf-formats 11 лет назад
.gitignore ad7ff8ccb4 Ignore sublime text files 11 лет назад
COPYING 85e1f29b76 Adds COPYING file 11 лет назад
Makefile.am 3004e164e3 Merge pull request #8 from mstorsjo/remove-stray-tabs 11 лет назад
NOTES.md ab4a6299da Adds a NOTES file with some details/discoveries during the implementation 11 лет назад
README.md 9ed6496ad1 List all the debian build dependencies 11 лет назад
TODO.md 6222e61e0d Implements Open/Close of file 11 лет назад
abi_version.sh 69bdc304e1 build: Initial autotools 11 лет назад
bootstrap 42cc790f32 Adds a stylish bootstrap script 11 лет назад
configure.ac 0984b36a55 Check for strlcpy and libbsd during configure 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 asn1 compiler/support library

The build dependencies can be installed on Debian(-based) systems using

sudo apt-get install build-essential autoconf gettext 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 :)
  • Guest Login on French Orange 'Livebox' (more testing is welcome as i don't have the box password)
  • 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 elthariel/libdsm
  • Make a feature branch
  • Commits your work there
  • Make a pull request
  • ...
  • Profit !