25 September 2009

Samba Team Blog #2

The Team attended the Storage Network Industry Association plugfest last week

If you haven't been to one, a plugfest is a technical event where engineers from many different companies get together and participate in fixing bugs, working together and making our systems interoperate.

The highlights from the plugfest for the Team were:

o        Adding two new Samba Team members, Nadezhda Ivanova and Anatoliy Atanasov from Cisco. A warm welcome to both of them !

o         Watching Tridge and Andrew Bartlett demonstrate Active Directory replication to a Windows AD server.

o        Wondering why a trace looked so strange when tracking down a Samba bug, only to realize the test was running to the Samba server using Stefan Metzmacher's new SMB2 server code ! The SMB2 server code looks like it might be ready to test in production environments for Samba 3.5.0, due later this year. Watch this space for more details.

o        Watching a presentation by a major vendor only to find that the product was based on Samba underneath the covers.

Lots of coffee was drunk, code was fixed and a good time was had by all ! No one got much sleep though.

There were lots of code changes committed during the week. Plugfests are the time we tend to write large amounts of code, as we have the capability to test the changes quickly with other implementations and get immediate test results from the other participants.

Here are some of the code and presentation highlights:

o        Volker showed how to get more than 700MB/sec from Samba using smbclient and a modern Samba server, which shows what you can really do when you understand the protocol thoroughly and don't feel you have to invent a new one (SMB2 :-).

o        Stefan Metzmacher started working on our AES crypto support working (AES HMAC-SHA256) and the netlogon secure channel code (with the help of some Microsoft engineers).

o        Guenther Deschner worked on the NETLOGON credential chain code to prepare for Samba to have a shared AES crypto codebase to support the new security levels that are used by Windows 7 and Windows 2008 R2. Once we resolve the remaining crypto problems, Samba will fully support AES against Windows. He got two-way interdomain trust support with Windows 2008 (and Windows 2008 R2) working.

o        Stefan and Tridge started creating code for our NDR64 (64-bit RPC) support.

o        Kai Blin demonstrated running an Samba Active Directory domain controller running on a 500MHz ARM box with 128 MB of RAM. Testing shows that compared to a 2.8GHz x86 box, the ARM performs the same operations at around 20% - 50% of the speed, while consuming only 4% of the power used by the PC. This will allow small embedded devices to work as local DCs for applications where performance isn't too critical.

o        Steven Danneman explained a method of achieving an 8x performance increase accessing a Samba server from a Microsoft IIS web server. This was accomplished using a simple ISAPI filter application installed on the IIS server. Steven has also been actively porting existing SMB torture tests to their SMB2 equivalents, allowing us to fully test Stefan's new SMB2 server code.

o        Chris Hertel's Microsoft documentation work is proceeding nicely, Microsoft will be releasing the new [MS-CIFS] document to the public any day now. [MS-CIFS] is the long-awaited completion of the old Leach/Naik IETF CIFS draft specification, which was last updated in 1997. A preview copy is available at:


Some of the Team went on to visit Microsoft for a week in order to participate in Microsoft's Active Directory Plugfest, a report from this event will follow shortly.

Jeremy went to Portland for the LinuxFoundation conference and ended up being replaced as quiz show host by none other than Steve Ballmer of Microsoft (well they've always been old friends :-). Pictures available here.

Linux Kernel client news from Steve French and Jeff Layton

In the Linux kernel cifs vfs, we have merged 17 patches since 2.6.31 came out, including a rewrite of the oplock handling to close some race conditions, and fixing cifsfs so it can work through SSH tunnels. Work continues on the kernel SMB2 code, about 1/4 of the file operations are currently working.

Samba users tip

Steve Litt wrote a wonderful write up of how he fixed a problem with connecting a Windows 98 client after upgrading his Samba from 3.0.x to 3.3.x in order to help others from having the same problem. It's available here.

Let us know if you have written a troubleshooting tip for Samba and we'll try to include the best ones in this blog !

Happy file sharing !

The Samba Team

Posted at 09:46 | Read more in: Developers