TOSMBClient icon indicating copy to clipboard operation
TOSMBClient copied to clipboard

Support for SMBv2 and up

Open TimOliver opened this issue 7 years ago • 6 comments

After testing this library against various versions of SMB on my Synology NAS, it appears that libdsm only supports SMBv1 at present.

This is not great since SMBv1 has a lot of security issues and Microsoft recommends turning it off.

Unfortunately, SMBv2 is drastically different to SMBv1, so I’m not even sure if libdsm can reastically have it added as a feature.

I’m going to be researching this as much as I can. It sure is a shame that Samba is licensed under the GPL, making it incompatible on iOS. :(

TimOliver avatar Jan 24 '18 10:01 TimOliver

Check https://github.com/sahlberg/libsmb2

Furthermore I would appreciate if you help me on implementing SMB2 client in my library :) https://github.com/amosavian/FileProvider

amosavian avatar Apr 14 '18 08:04 amosavian

Way ahead of you: https://github.com/sahlberg/libsmb2/issues/20 :)

Hah! I'm actually working on a somewhat similar project: https://github.com/TimOliver/TOFileKit Hopefully we can share code. :)

TimOliver avatar May 04 '18 03:05 TimOliver

Yes I missed that issue. I've tried to build it successfully for iOS with some changes in codes. But I'm novice on Objective C and my wrapper is getting crash on share connect.

Honestly I couldn't find the purpose of TOFileKit. But as I see it is relying on another old project for FTP. I'm trying to implement these protocols from scratch. Indeed I tried to implement a SMBv2 pure Swift client with MIT license. But my FTP implementation is working now.

I had problem to write an Objective-C shim for my project, especially to import protocols and their extension. It would be great if you help me on this and I can add you as a collaborator if you are interested, or move project to a new organization account.

amosavian avatar May 04 '18 06:05 amosavian

@TimOliver Find my wrapper https://github.com/amosavian/AMSMB2

amosavian avatar May 20 '18 14:05 amosavian

Sorry for the late reply! Oh! Congrats on building the wrapper! I'll have to give it a try myself. I've sadly not had a lot of free time lately. Since I need an Objective-C version for my projects, I might try building the library and building a TOSMB2Client around it.

Ah yeah, TOFileKit is still pretty basic at the moment. But the goal is to basically be a complete 'drop-in' solution for apps that rely on getting their files from external servers. That includes a full sign-in service for cloud accounts, (And then saving the users accounts), file browsing, and downloading. Sadly, I'm pretty old-school, so I'm writing it in Objective-C. XD

Oh yeah? I don't really have a lot of free time but I'd be happy to take a look at any Objective-C integration problems you have. :)

TimOliver avatar May 23 '18 02:05 TimOliver

Don't worry, you can import this framework in a ObjC project. AMSMB2 class will be imported into Objective C. I didn't marked other classes with @objc attribute as they are internal.

I'm looking forward for any possible cooperation. :D

amosavian avatar May 23 '18 02:05 amosavian