Back in the summer of 2006, we were all busy trying to finish Windows Vista. I actually spent most of July and August writing protocol documentation for old protocols that I’d written many years ago – I’m the principal author of the MS-BRWS document (it’s currently owned by the network team) and the MS-RAP protocol. The MS-RAP protocol was particularly complicated because of the declarative nature of protocol documentation specifications – the original LAN Manager remote admin protocol specification was based on string descriptor values which were parsed to determine how the data sent from the client was marshaled, but for MS-RAP there really was no easy way of expressing this (because the protocol specifications needed to be declarative not descriptive). Most of the MS-RAP is deprecated with WIndows 7, which is a great relief to me (that particular protocol existed to enable interop with LAN Manager administrative tools and I doubt very much that any of them are still in use today).
We had just returned from a 10 day cruise from Istanbul to Venice with most of my extended family (Valorie, the kids, my step-mom, my youngest brother and sisters and my kids “honorary grandparents”) – it was a huge amount of fun and we really enjoyed it – I don’t take vacations very often and this one was just wonderful (if only because I was off the web for almost 2 weeks).
As someone who had to implement a SMB/CIFS server including reverse engineering the RAP stuff, I have this to say to you: "bah humbug" :-)
Although the string descriptors seemed well intentioned, they aren't actually useful since there was no way to code in advance what should happen if they were different than expected.