1 | Contributor: Andrew Tridgell and the Samba Team
|
---|
2 | Date: June 27, 1997
|
---|
3 | Satus: Always out of date! (Would not be the same without it!)
|
---|
4 |
|
---|
5 | Subject: A bit of history and a bit of fun
|
---|
6 | ============================================================================
|
---|
7 |
|
---|
8 | This is a short history of this project. It's not supposed to be
|
---|
9 | comprehensive, just enough so that new users can get a feel for where
|
---|
10 | this project has come from and maybe where it's going to.
|
---|
11 |
|
---|
12 | The whole thing really started in December 1991. I was (and still am)
|
---|
13 | a PhD student in the Computer Sciences Laboratory at the Australian
|
---|
14 | National University, in Canberra, Australia. We had just got a
|
---|
15 | beta copy of eXcursion from Digital, and I was testing it on my PC. At
|
---|
16 | this stage I was a MS-DOS user, dabbling in windows.
|
---|
17 |
|
---|
18 | eXcursion ran (at the time) only with Dec's `Pathworks' network for
|
---|
19 | DOS. I had up till then been using PC-NFS to connect to our local sun
|
---|
20 | workstations, and was reasonably happy with it. In order to run
|
---|
21 | pathworks I had to stop using PC-NFS and try using pathworks to mount
|
---|
22 | disk space. Unfortunately pathworks was only available for digital
|
---|
23 | workstations running VMS or Ultrix so I couldn't mount from the suns
|
---|
24 | anymore.
|
---|
25 |
|
---|
26 | I had access to a a decstation 3100 running Ultrix that I used to
|
---|
27 | administer, and I got the crazy notion that the protocol that
|
---|
28 | pathworks used to talk to ultrix couldn't be that hard, and maybe I
|
---|
29 | could work it out. I had never written a network program before, and
|
---|
30 | certainly didn't know what a socket was.
|
---|
31 |
|
---|
32 | In a few days, after looking at some example code for sockets, I
|
---|
33 | discovered it was pretty easy to write a program to "spy" on the file
|
---|
34 | sharing protocol. I wrote and installed this program (the sockspy.c
|
---|
35 | program supplied with this package) and captured everything that the
|
---|
36 | pathworks client said to the pathworks server.
|
---|
37 |
|
---|
38 | I then tried writing short C programs (using Turbo C under DOS) to do
|
---|
39 | simple file operations on the network drive (open, read, cd etc) and
|
---|
40 | looked at the packets that the server and client exchanged. From this
|
---|
41 | I worked out what some of the bytes in the packets meant, and started
|
---|
42 | to write my own program to do the same thing on a sun.
|
---|
43 |
|
---|
44 | After a day or so more I had my first successes and actually managed
|
---|
45 | to get a connection and to read a file. From there it was all
|
---|
46 | downhill, and a week later I was happily (if a little unreliably)
|
---|
47 | mounting disk space from a sun to my PC running pathworks. The server
|
---|
48 | code had a lot of `magic' values in it, which seemed to be always
|
---|
49 | present with the ultrix server. It was not till 2 years later that I
|
---|
50 | found out what all these values meant.
|
---|
51 |
|
---|
52 | Anyway, I thought other people might be interested in what I had done,
|
---|
53 | so I asked a few people at uni, and noone seemed much interested. I
|
---|
54 | also spoke to a person at Digital in Canberra (the person who had
|
---|
55 | organised a beta test of eXcursion) and asked if I could distribute
|
---|
56 | what I'd done, or was it illegal. It was then that I first heard the
|
---|
57 | word "netbios" when he told me that he thought it was all covered by a
|
---|
58 | spec of some sort (the netbios spec) and thus what I'd done was not
|
---|
59 | only legal, but silly.
|
---|
60 |
|
---|
61 | I found the netbios spec after asking around a bit (the RFC1001 and
|
---|
62 | RFC1002 specs) and found they looked nothing like what I'd written, so
|
---|
63 | I thought maybe the Digital person was mistaken. I didn't realise RFCs
|
---|
64 | referred to the name negotiation and packet encapsulation over TCP/IP,
|
---|
65 | and what I'd written was really a SMB implementation.
|
---|
66 |
|
---|
67 | Anyway, he encouraged me to release it so I put out "Server 0.1" in
|
---|
68 | January 1992. I got quite a good response from people wanting to use
|
---|
69 | pathworks with non-digital unix workstations, and I soon fixed a few
|
---|
70 | bugs, and released "Server 0.5" closely followed by "Server 1.0". All
|
---|
71 | three releases came out within about a month of each other.
|
---|
72 |
|
---|
73 | At this point I got an X Terminal on my desk, and I no longer needed eXcursion
|
---|
74 | and I prompty forgot about the whole project, apart from a few people
|
---|
75 | who e-mailed me occasionally about it.
|
---|
76 |
|
---|
77 | Nearly two years then passed with just occasional e-mails asking about
|
---|
78 | new versions and bugs. I even added a note to the ftp site asking for
|
---|
79 | a volunteer to take over the code as I no longer used it. No one
|
---|
80 | volunteered.
|
---|
81 |
|
---|
82 | During this time I did hear from a couple of people who said it should
|
---|
83 | be possible to use my code with Lanmanager, but I never got any
|
---|
84 | definite confirmation.
|
---|
85 |
|
---|
86 | One e-mail I got about the code did, however, make an impression. It
|
---|
87 | was from Dan Shearer at the university of South Australia, and he said
|
---|
88 | this:
|
---|
89 |
|
---|
90 |
|
---|
91 | I heard a hint about a free Pathworks server for Unix in the
|
---|
92 | Net channel of the Linux list. After quite a bit of chasing
|
---|
93 | (and lots of interested followups from other Linux people) I
|
---|
94 | got hold of a release news article from you, posted in Jan 92,
|
---|
95 | from someone in the UK.
|
---|
96 |
|
---|
97 | Can you tell me what the latest status is? I think you might
|
---|
98 | suddenly find a whole lot of interested hackers in the Linux
|
---|
99 | world at least, which is a place where things tend to happen
|
---|
100 | fast (and even some reliable code gets written, BION!)
|
---|
101 |
|
---|
102 | I asked him what Linux was, and he told me it was a free Unix for PCs.
|
---|
103 | This was in November 1992 and a few months later I was a Linux
|
---|
104 | convert! I still didn't need a pathworks server though, so I didn't do
|
---|
105 | the port, but I think Dan did.
|
---|
106 |
|
---|
107 | At about this time I got an e-mail from Digital, from a person working
|
---|
108 | on the Alpha software distribution. He asked if I would mind if they
|
---|
109 | included my server with the "contributed" cd-rom. This was a bit of a
|
---|
110 | shock to me as I never expected Dec to ask me if they could use my
|
---|
111 | code! I wrote back saying it was OK, but never heard from him again. I
|
---|
112 | don't know if it went on the cd-rom.
|
---|
113 |
|
---|
114 | Anyway, the next big event was in December 1993, when Dan again sent
|
---|
115 | me an e-mail saying my server had "raised its ugly head" on
|
---|
116 | comp.protocols.tcpip.ibmpc. I had a quick look on the group, and was
|
---|
117 | surprised to see that there were people interested in this thing.
|
---|
118 |
|
---|
119 | At this time a person from our computer center offered me a couple of
|
---|
120 | cheap ethernet cards (3c505s for $15 each) and coincidentially someone
|
---|
121 | announced on one of the Linux channels that he had written a 3c505
|
---|
122 | driver for Linux. I bought the cards, hacked the driver a little and
|
---|
123 | setup a home network between my wifes PC and my Linux box. I then
|
---|
124 | needed some way to connect the two, and I didn't own PC-NFS at home,
|
---|
125 | so I thought maybe my server could be useful. On the newsgroup among
|
---|
126 | the discussions of my server someone had mentioned that there was a
|
---|
127 | free client that might work with my server that Microsoft had put up
|
---|
128 | for ftp. I downloaded it and found to my surprise that it worked first
|
---|
129 | time with my `pathworks' server!
|
---|
130 |
|
---|
131 | Well, I then did a bit of hacking, asked around a bit and found (I
|
---|
132 | think from Dan) that the spec I needed was for the "SMB" protocol, and
|
---|
133 | that it was available via ftp. I grabbed it and started removing all
|
---|
134 | those ugly constants from the code, now that all was explained.
|
---|
135 |
|
---|
136 | On December 1st 1993 I announced the start of the "Netbios for Unix"
|
---|
137 | project, seeding the mailing list with all the people who had e-mailed
|
---|
138 | me over the years asking about the server.
|
---|
139 |
|
---|
140 | About 35 versions (and two months) later I wrote a short history of
|
---|
141 | the project, which you have just read. There are now over a hundred
|
---|
142 | people on the mailing list, and lots of people report that they use
|
---|
143 | the code and like it. In a few days I will be announcing the release
|
---|
144 | of version 1.6 to some of the more popular (and relevant) newsgroups.
|
---|
145 |
|
---|
146 |
|
---|
147 | Andrew Tridgell
|
---|
148 | 6th February 1994
|
---|
149 |
|
---|
150 | ---------------------
|
---|
151 |
|
---|
152 | It is now May 1995 and there are about 1400 people on the mailing
|
---|
153 | list. I got downloads from the main Samba ftp site from around 5000
|
---|
154 | unique hosts in a two month period. There are several mirror
|
---|
155 | sites as well. The current version number is 1.9.13.
|
---|
156 |
|
---|
157 | ---------------------
|
---|
158 |
|
---|
159 |
|
---|
160 | ---------------------
|
---|
161 | It's now March 1996 and version 1.9.16alpha1 has just been
|
---|
162 | released. There have been lots of changes recently with master browser
|
---|
163 | support and the ability to do domain logons etc. Samba has also been
|
---|
164 | ported to OS/2, the amiga and NetWare. There are now 3000 people on
|
---|
165 | the samba mailing list.
|
---|
166 | ---------------------
|
---|
167 |
|
---|
168 |
|
---|
169 | ---------------------
|
---|
170 | It's now June 1997 and samba-1.9.17 is due out soon. My how time passes!
|
---|
171 | Please refer to the WHATSNEW.txt for an update on new features. Just when
|
---|
172 | you think you understand what is happening the ground rules change - this
|
---|
173 | is a real world after all. Since the heady days of March 1996 there has
|
---|
174 | been a concerted effort within the SMB protocol using community to document
|
---|
175 | and standardize the protocols. The CIFS initiative has helped a long way
|
---|
176 | towards creating a better understood and more interoperable environment.
|
---|
177 | The Samba Team has grown in number and have been very active in the standards
|
---|
178 | formation and documentation process.
|
---|
179 |
|
---|
180 | The net effect has been that we have had to do a lot of work to bring Samba
|
---|
181 | into line with new features and capabilities in the SMB protocols.
|
---|
182 |
|
---|
183 | The past year has been a productive one with the following releases:
|
---|
184 | 1.9.16, 1.9.16p2, 1.9.16p6, 1.9.16p9, 1.9.16p10, 1.9.16p11
|
---|
185 |
|
---|
186 | There are some who believe that 1.9.15p8 was the best release and others
|
---|
187 | who would not want to be without the latest. Whatever your perception we
|
---|
188 | hope that 1.9.17 will close the gap and convince you all that the long
|
---|
189 | wait and the rolling changes really were worth it. Here is functionality
|
---|
190 | and a level of code maturity that ..., well - you can be the judge!
|
---|
191 |
|
---|
192 | Happy SMB networking!
|
---|
193 | Samba Team
|
---|
194 |
|
---|
195 | ps: The bugs are ours, so please report any you find.
|
---|
196 | ---------------------
|
---|
197 |
|
---|
198 | ---------------------
|
---|
199 | It's now October 1998. We just got back from the 3rd CIFS conference
|
---|
200 | in SanJose. The Samba Team was the biggest contingent there.
|
---|
201 |
|
---|
202 | Samba 2.0 should be shipping in the next few weeks with much better
|
---|
203 | domain controller support, GUI configuration, a new user space SMB
|
---|
204 | filesystem and lots of other neat stuff. I've also noticed that a
|
---|
205 | search of job ads in DejaNews turned up 3900 that mention Samba. Looks
|
---|
206 | like we've created a small industry.
|
---|
207 |
|
---|
208 | I've been asked again where the name Samba came from. I might as well
|
---|
209 | put it down here for everyone to read. The code in Samba was first
|
---|
210 | called just "server", it then got renamed "smbserver" when I
|
---|
211 | discovered that the protocol is called SMB. Then in April 1994 I got
|
---|
212 | an email from Syntax, the makers of "TotalNet advanced Server", a
|
---|
213 | commercial SMB server. They told me that they had a trademark on the
|
---|
214 | name SMBserver and I would have to change the name. I ran an egrep for
|
---|
215 | words containing S, M, and B on /usr/dict/words and the name Samba
|
---|
216 | looked like the best choice. Strangely enough when I repeat that now I
|
---|
217 | notice that Samba isn't in /usr/dict/words on my system anymore!
|
---|
218 | ---------------------
|
---|