]> git.ipfire.org Git - thirdparty/squid.git/blame - lib/smblib/ReadMe.1st
Source Format Enforcement (#532)
[thirdparty/squid.git] / lib / smblib / ReadMe.1st
CommitLineData
70ab085a 1/*
77b1029d 2 * Copyright (C) 1996-2020 The Squid Software Foundation and contributors
70ab085a
AJ
3 *
4 * Squid software is distributed under GPLv2+ license and includes
5 * contributions from numerous individuals and organizations.
6 * Please see the COPYING and CONTRIBUTORS files for details.
7 */
8
7c16470c
AJ
9SMBlib 0.20
10Richard Sharpe
11Digital Equipment Corporation
12
13This is a first attempt at an SMBlibrary, and is incomplete.
14
15I wrote it in an attempt to understand more about the SMB protocol and
16the RFCNB (NBT) protocol underlying it. My manager approved my posting this
17as long as there was no suggestion that Digital is responsible for this code
18not that any warranties are offered by Digital. So, I put a GPL on the code.
19
20DISCLAIMER
21
22To restate, this code is offered as is, and no warranties are implied, either
23by Digital Equipment Corporation or by Richard Sharpe. Neither
24Digital Equipment Corporation nor Richard Sharpe can be held liable for
25any consequences resulting from the use of this code.
26
27END Disclaimer
28
29At the moment, it can connect to Windows NT servers, Windows 95 servers,
30PATHWORKS 4 VMS and PATHWORKS 4 Ultrix servers, as well as Samba.
31
32It can Connect, Negotiate a protocol, logon to a Samba Server, Logon to
33Windows NT, Logon to LAN Manager 2.2 (for UNIX) server, connect to a tree,
34open a file, create a file, read a file, write a file, delete a file,
35close a file, disconnect a tree connection, create a directory, delete a
36directory, check a directory.
37This represents about 75% of the core protocol.
38
39It has a number of deficiencies:
40
41a. It does not do any more than the Core Protocol (except for logon).
42
43b. Because of the structure of the code, it is not going to be easy to use
44 the And_X commands properly.
45
46c. It will not be easy to use OPLOCKS (if I understand them well) as they
47 will result in unsolicited SMBs from the server to break locks.
48
49d. It does not check that SMBs received are in response to SMBs sent. This
50 is a lack of defensive programming.
51
52e. It is not thread safe.
53
54It is offered as an example for those who might want to take things
55further. I am unhappy about the way that some things have panned out,
56and may tinker with this some more over time. I am also happy to answer
57questions, time permitting.
58
59The files here are:
60
61Makefile: a small makefile to build things in this dir ...
62
63smblib.h: include file of interface routines for SMBlib
64
65smblib-priv.h: include file of internal stuff to SMBlib
66
67std-defines.h: some standard defines I needed.
68
69smblib.c: the beginnings of routines that connect and logon
70
71file.c: the beginings of routines that do SMB file ops
72
73smblib-util.c: utility routines for SMBlib
74
75test_smblib.c: a small test program
76
77test_perf.c: the beginings of a performance test routine ...
78
79usage.txt: some documentation on using all the routines ...
80
81Testing:
82
83This has been compiled and tested on ULTRIX and Digital UNIX, and some
84testing has been done on Linux, but I have not tested it on any other
85versions of UNIX.
86
87Regards
88Richard Sharpe
89sharpe@nmesis.enet.dec.com
90
91
92
93