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