Re: Deprecating smbfs(5) and removing it before FreeBSD 14

From: Rick Macklem <rmacklem_at_uoguelph.ca>
Date: Mon, 24 Jan 2022 15:13:32 UTC
Yea, I've been looking at that spec. a little bit.
I'll admit that encryption related stuff isn't my favourite work
and that appears to be a significant part of the changes to SMB2/3.

I did find some entries in Illumos gate related to integration
of SMBv2.1 about 3-4years ago. It was not completely obvious
whether the entries referred to client or server and it noted a
work effort of 500hrs.

So, I think Mark and Yuri are correct and looking at up to date
Illumos sources is the next step.
(As I mentioned, porting the Apple sources is beyond what I am
 willing to attempt.)

rick

________________________________________
From: owner-freebsd-current@freebsd.org <owner-freebsd-current@freebsd.org> on behalf of David Chisnall <theraven@FreeBSD.org>
Sent: Monday, January 24, 2022 5:16 AM
To: freebsd-current@freebsd.org
Subject: Re: Deprecating smbfs(5) and removing it before FreeBSD 14

CAUTION: This email originated from outside of the University of Guelph. Do not click links or open attachments unless you recognize the sender and know the content is safe. If in doubt, forward suspicious emails to IThelp@uoguelph.ca


On 22/01/2022 23:20, Rick Macklem wrote:
> Mark Saad <nonesuch@longcount.org> wrote:
> [stuff snipped]
>> So I am looking at the Apple and Solaris code, provided by rick. I am not
>> sure if the illumos code provides SMB2 support. They based the solaris
>> code on Apple SMB-217.x which is from OSX 10.4 . Which I am sure
>> predates smb2 .
>>
>> https://github.com/apple-oss-distributions/smb/tree/smb-217.19
>>
>> If I am following this correctly we need to look at Apple's smb client
>> from OSX 10.9  which is where I start to see bits about smb2
>>
>> https://github.com/apple-oss-distributions/smb/tree/smb-697.95.1/kernel/netsmb
>>
>> This is also where this stuff starts to look less and less like FreeBSD .
>> Let me ask some of the illumos people I know to see if there is
>> anything they can point to.
> Yes. Please do so. I saw the "old" calls fo things like open and the
> new ntcreate version, so I assumed that was the newer SMB.
> If it is not, there is no reason to port it.
>
> The new Apple code is a monster. 10x the lines of C and a lot of
> weird stuff that looks Apple specific.
>
> It might actually be easier to write SMBv2 from the spec than port
> the Apple stuff.
> --> I'll try and look at whatever Microsoft publishes w.r.t. SMBv2/3.
>
> Thanks for looking at this, rick

The docs are public:

https://docs.microsoft.com/en-gb/openspecs/windows_protocols/ms-smb2/5606ad47-5ee0-437a-817e-70c366052962


Note that the spec is 480 pages, it is not a trivial protocol to
implement from scratch.

David