Errata for the
Printed Version of Implementing CIFS

Several people put a lot of effort into turning Implementing CIFS into a really-truly paper-and-ink book. Alina, Dmitry, and Faye, in particular, did a lot to clean up the mess I made.

It's not a bug, it's a feature!
-- Technical Support Axiom


Still, a few errors did manage to slip through. Those, of course, are my responsibility. When I find them, I will list them here. If you come across anything that smells like a bug, please let me know.

This errata is organized by section. Within each section the known errors are listed by page. Where convenient and useful, additional clues (a line number, figure number, or somesuch) may also be given.

Table of Contents

Page Action Description
ix Delete
1.1.1 OpLock Breaks Unicast (NBNS) Name Registration
1.1.2 The NTLMv2 Toolbox
(I have no idea how those entries got there. They were not in the final proofs.)

xvii Add Appendix D  SNIA CIFS Technical Reference
(Add the acronym SNIA before CIFS.)

Part 1   NBT: NetBIOS over TCP/IP

Page Where Action Description
3 Near the end of the first paragraph Change Sytec Sytek

57 Resource Record structure Change In the online version, and in the original RFC, the RR_NAME and RDATA fields are shown as variable length. The book version of this structure diagram appears to show fixed lengths for these fields. The diagram in the printed book is misleading. Those fields are, in fact, variable length as described in the text.

68-69 Footnotes 3 & 4 Change The order of these footnotes 3 and 4 should be reversed. The footnote which reads 'Elvis is the name of a popular clone of the venerable "vi" text editor' (currently footnote #4) refers to the content of figure 4.1a-d on page 68. The footnote reference should be placed at the end of the description of figure 4.1d:
Any node may join a group. Existing group members will not respond to the registration request3.

87 Figure 4.6b Change Verification Query (RD == TRUE) Unicast Name Resolution Query (RD == TRUE)

Figure 4.6a is the verification query. Figure 4.6b shows unicast name resultion (P mode). (Obviously a cut & paste error on my part.)

110 Listing 4.10 Change In the call to BuildQuery() there is a comment associated with the 5th parameter. It should identify the value '\0' as a nul byte, not a space.

'\0',  /* Padding (spacenul).     */

142 Section 7.2, first paragraph. Change TRuncation bittruncation bit (TC)

RFC1002 refers to this bit as the TC bit in section, but later refers to it as simply T in section 4.2.13. It is never reffered to as the TR bit.

Part 2   SMB: The Server Message Block Protocol

Page Where Action Description
153 HTTP URI Change

The URI matches neither the breakdown that follows, nor the UNC example on the next page.

215 Listing 12.2a Change The correct name of the file is SMB_Header.h
219 Listing 12.2b Change The correct name of the file is SMB_Header.c

Part 3   The Browse Service

Page Where Action Description
341 At the end of the 2nd bullet point Delete T
There is an errant 'T' at the end of the line.

369 Under TotalDataCount Change 216 216
It appears that a tag was misplaced somewhere. The value should be two to the sixteenth, not two hundred and sixteen.

426 Under Prolific protocol bindings Change Sytec Sytek

Part 4   Appendices

Page Where Action Description
446 Desciption of the wildcard name Change nulls nuls

463 Appendix D Title Add SNIA CIFS Technical Reference


Page Where Action Description
619-620 Bottom of the page Change The entry for Network Data Representation (NDR) is out of sequence. It should follow the definition of NetBT, on the following page.

620 Under NetBIOS Change Sytec Sytek


Page Action Description
* Change All references to pages numbered with roman numerals seem to be off by two. In general, subtract two from roman numeral page numbers to get the correct page number. For example, xxix (29) should be xxvii (27).

633 Change Aled, xxix xxvii
633 Change Allen, Michael B., xxix xxvii, 233
633 Change Amalia, xxix xxvii

634 Change authentication, xxv xxiii, 192, 201, 210, 228,
634 Change authorization, xxv xxiii, 256, 294
634 Change Barnes, Prairie, xxix xxvii
634 Change Baron, Tom, xxix xxvii
634 Change Barthel, Olaf xxix xxvii, 359, 437
634 Change Bartlett, Andrew, xxii, xxix xix-xx, xxvii, 199, 267, 275,
634 Add bozosecond, 233
634 Change Bran xxix xxvii, 614
634 Change Browse Service, xxv, xxix xxiii, xxvii, 256, 319
634 Change Carey, James, xxix xxvii
634 Change Carter, Gerald (Jerry), xxx xxviii, 254, 276
634 Change
CIFS (Common Internet File System),
xxiv xxii, 614
community, xxvi xxiv
conference, xxvii xxv
mailing list, xxvii xxv, 151, 250
634 Change Cohen, Stephanie, xxix xxvii

635 Change CVS (Concurrent Versions System), xxix xxvii
635 Change Debian GNU/Linux, xxviii xxvi, 33
635 Change Dia, xxix xxvii
635 Change dialect, xxvi xxiv, 147, 187, 221-235, 239,
635 Change Diebel, Judy, xxix xxvii
635 Change DNS (Domain Name System), xxiv, xxv xxii, xxiii,
635 Change DOS (Disk Operating System), xxvi xxiv, 3, 5,
635 Change Dzurenko, Jeanne, xxix xxvii
635 Change Farmer, David, xxix xxvii
635 Change Gavel, Amy, xxix xxvii

636 Change GNU Lesser General Public License (LGPL), xxxi xxix
636 Change Harry, Jill, xxx xxviii
636 Change Hirsch, David, xxix xxvii
636 Change Howling, Tim, xxix xxvii
636 Change
IBM (International Business Machines),
xxvi xxiv, 5, 42, 147, 338, 426
636 Change
IETF (Internet Engineering Task Force),
xxv xxiii, 6, 148, 157, 451-452, 457
636 Change jCIFS, xxvi, xxvii, xxix, xxx xxiv, xxv, xxvii, xxviii, 14, 18, 158,
636 Change Kirsanov, Dmitry, xxx xxviii
636 Change Kirsanova, Alina, xxx xxviii
636 Change Ladwig, John, xxix xxvii, 411
636 Change Levy Haskell, Susan, xxix xxvii
636 Change libcifs, xxviii xxvi, 166, 446
636 Change libsmbclient, xxvi xxiv, 158, 223, 451

637 Change Maddie, xxix xxvii
637 Change Marika, xxix xxvii
637 Change Microsoft, xxiii-xxvii, xxix xxi-xxv, xxvii, 3, 5, 11, 17,

638 Change Neko, xxix xxvii, 20, 22, 29, 32
638 Change Nelis, Paul, xxix xxvii
638 Add/Change NetBEUI (NetBIOS Extended User Interface), xxx xxviii, 205, 426-427, 620
638 Change
NetBIOS (Network Basic Input Output
System), xxiv, xxv, xxviii, xxx xxii, xxiii, xxvi, xxviii, 17,
115, 125, 148, 296, 338, 426, 454,
456, 620
    API, xxviii xxvi, 3, 5-6, 15, 28, 41, 115,
638 Change Network Neighborhood, xxi, xxiii, xxv, xxvii,
638 Change Norton, Virginia, xxix xxvii
638 Change NT Domain, xxv, xxviii xxiii, xxvi, 11, 38, 143, 236,

639 Change Perens, Bruce, xxx xxviii
639 Change Rachel, xxix xxvii
639 Change
Samba, xxvi, xxix xxiv, xxvii, 9, 14, 18, 30, 32, 50,
    eXPerience conference, xxvii xxv
    Team, xxvi, xxix, xxx xxiv, xxvii, xxviii, 17, 149, 199, 206,

640 Change     technical mailing list, xxv, xxvii, xxix, 232,
640 Change Samba-TNG, xxvi, xxvii, xxix xxiv, xxv, xxvii, 276, 283,
640 Delete Shakespeare, William, xxiii, 239
640 Change/Delete
Richard, xxvi xxiv, 17, 284, 451
Thang, 9, 277
640 Change
SNIA (Storage Network Industry
Association), xxvii xxv, 148, 333,
    CIFS Technical Reference, xxvii xxv,
640 Change Sytec Sytek
640 Change Taub, Mark, xxx xxviii
640 Change
TCP (Transmission Control Protocol),
xxviii xxvi, 5-7, 10-11, 130, 139, 142,
640 Change tea, xxiii xxi, 4, 12, 18, 38, 196, 257, 325,
640 Change Tridge, xxix xxvii, 200, 252, 269, 310, 333

641 Change, xxviii xxvi, 153, 160, 446
641 Change
W2K Domain (Windows2000 Domain),
xxv xxiii, 284, 295-299, 339
641 Change Workgroup, xxv xxiii, 38, 236, 339-344, 352
641 Change Yerkes, Chris, xxix xxvii

[Contents] [W3C Validated] Copyright © 2003, 2004, 2008 Christopher R. Hertel 
All rights reserved.   $Revision: 1.29 $