\documentstyle[fancybox,sem-a4,psfig]{seminar}

\centerslidesfalse

\def\printlandscape{\special{landscape}}    % Works with dvips.

\articlemag{1}

\newpagestyle{pstyle}%
  {Samba - AUUG Hobart Conference February 1997\hspace{\fill}\rightmark \hspace{\fill}\thepage}{}%
\pagestyle{pstyle}

\slideframe{Oval}

\newcommand{\heading}[1]{%
  \begin{center}
    \large\bf
    \shadowbox{#1}%
  \end{center}
  \vspace{1ex minus 1ex}}

\newcommand{\BF}[1]{{\bf #1:}\hspace{1em}\ignorespaces}

\begin{document}

%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}
\heading{Samba}

Samba has two things going for it. Its free and it works!

Its put together by lots of volunteers, led by ``the Samba
team''. 

The first tester of most new releases is my wife :-)

Current version is 1.9.16p11, I hope!

\end{slide}

%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}
\heading{The SMB protocol}

The SMB protocol is like the perl of filesystem protocols. It is
horribly complex, and it has changed a lot over time. 

In Samba it is based on TCP for file sharing and UDP for
browsing. It can also run on top of several other protocols
(primarily Netbeui, Decnet and IPX)

SMB is also known as LanManager, PCSA (pathworks) or ``Windows
networking''. Now Microsoft calls it CIFS.

SMB has command chaining, and extensive negotiation of options.
\end{slide}

%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}
\heading{So what is SMB like inside?}

The following is a client connecting to a server, doing a
directory listing, copying a file and then disconnecting.

\begin{verbatim}
UDP-137    NAME REGISTRATION REQUEST
UDP-137    NAME OVERWRITE REQUEST AND DEMAND
UDP-137    NAME QUERY REQUEST
UDP-137    POSITIVE NAME QUERY RESPONSE
TCP-139    SMBnegprot
TCP-139    SMBsesssetupX
TCP-139    SMBtcon
TCP-139    SMBsearch
TCP-139    SMBdskattr
TCP-139    SMBopenX + SMBreadbraw
TCP-139    SMBclose
TCP-139    SMBtdis
\end{verbatim}

All the requests are binary. The byte order of the name
resolution is the opposite of the SMB commands!

\end{slide}

%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}
\heading{The NBT protocol}

NBT is ``Netbios over TCP'' which is the protocol used to
encapsulate SMB over TCP, and also to implement name resolution
and registration (using UDP). It is mostly covered by RFCs 1001
and 1002.

Name resolution can be via broadcasts or directly to a WINS
server.

Amazingly, the namespace is flat! 

Names are also dynamically registered. Make sure you have a
firewall :-)
\end{slide}

%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}
\heading{CIFS}

Perhaps in response to Web-NFS Microsoft announced CIFS. The
``common internet file system''. 

CIFS is a better documented SMB plus some name resolution
hacks. The documentation is very useful!

Lots of interesting things happened at the first CIFS conference:

\begin{itemize}
\item announced LDAP + kerberos
\item Macintosh client
\item more specs announced
\end{itemize}

\end{slide}

%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}
\heading{Developing Samba - Unix headaches}

Not all problems are due to SMB and Microsoft, some are caused by
Unix.

\begin{itemize}
\item no printing API
\item locking is horrible!
\item quotas and dfree are tricky
\item threads are too non-portable
\item finding network addresses is hopeless
\item trapdoor UIDs - yuck
\end{itemize}

\end{slide}

%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}
\heading{Samba Configuration}

Configuration is pretty easy, and very flexible. Heres a very simple sample:

\begin{verbatim}
[global]
   log level = 1
   security = user
   workgroup = SVERIGE
   encrypt passwords = yes
   hosts allow = 192.168.2. localhost 
   include = /usr/local/samba/lib/smb.conf.%m

[homes]
   browseable = no
   guest ok = no
   read only = no
   create mask = 0755

[printers]
  guest ok = no
  path = /var/spool/smbprint
  print ok = yes

[cdrom]
   comment = Tridge's CdRom
   path = /mount/cdrom
   read only = yes
   locking = no
   mangled map = (*;1 *) (*.html *.htm)
\end{verbatim}

\end{slide}


%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}
\heading{Samba 2}

Here are some things we are thinking about:

\begin{itemize}
\item NT logon support
\item text translation
\item autoconf configuration
\item single server support? 
\item perhaps multi threaded?
\end{itemize}

\end{slide}

%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}
\heading{Interesting stuff}

Theres a lot more interesting stuff going on in the Samba world!

\begin{itemize}
\item SMBlib
\item smbfs
\item interesting users!
\item Samba survey
\end{itemize}

\end{slide}

%%%%%%%%%%%%%%%%%%%%%%%
\begin{slide}
\heading{Samba resources and support}

\begin{itemize}
\item the source and docs are available from ftp://samba.anu.edu.au/pub/samba
\item The Samba WWW site is http://samba.canberra.edu.au/pub/samba
\item the Samba mailing list
\item the news group comp.protocols.smb
\end{itemize}

Some people want commercial support. For this reason I started
the ``Samba support list'' which lists companies that offer
commercial Samba support. Some of them do quite well out of it!

\end{slide}


\end{document}



  