Does smb2fs handler support the ACTION_SET_DATE packet? i am finding some software fails when using this packet via SetDate( dos.library call). I'm using smb2-handler V53.7
Does smb2fs handler support the ACTION_SET_DATE packet?
No, it is not supported because libsmb2 does not have a function to set the mtime of a file or directory.
I've thought about making the operation fail silently instead but that could cause problems for programs that depend on this feature. IMHO it is better to (as happens currently) return ERROR_ACTION_NOT_KNOWN (meaning that the fs does not support the operation) and then the program can itself decide whether this error is critical enough to stop it from continuing or not.
The AmigaOS4 version compiles but fails during auth at libsmb2-git/lib/ntlmssp.c line 670. The i386 AROS ABIv0 version also compiles but crashes hard during init (I haven't looked further into where exactly it happens yet) and the AmigaOS3 version still needs some fixes before it will compile.
Just one question regarding the AmigaOS3 version: what compiler do you use for the AmigaOS3 version? I tried Bebbo's gcc 6 on Linux, but it failed to link because of a missing exit() definition.
It is a gcc 6.5.0b cross compiler built from bebbo's repo, but almost two years old by now. I built it 25-Jun-2023 from what was likely the current state of his git repo at that time.
I think there may have been some changes to libnix since then that broke the building of smb2-handler.
Hey thank you very much for the new version of the handler, I have already tested the new version under AmigaOs4.1 on my X5000 and it seems that it has become faster in data transfer.
Max Transfer 8500KB/s that is much better
MacStudio ARM M1 Max Qemu//Pegasos2 AmigaOs4.1 FE / AmigaOne x5000/40 AmigaOs4.1 FE
I've had a flu since yesterday morning. It wasn't so bad initially but it has gradually gotten worse since then, so I probably won't be doing too much work until it gets better.
Anyway, I did manage to find what was causing the AmigaOS3 build to fail (a stray printf(), which was optimized into a puts() by gcc, in libsmb2.c was causing __initstdio.o to be brought in from libnix). I also managed to fix the crashing which was caused by mistakenly freeing the password that was obtained from ReadArgs().
After adding these fixes the AROS version connects successfully to my Ubuntu samba server, but the AmigaOS3 version fails during auth in a similar way to the AmigaOS4 version suggesting that the problem might be related to different endianness.
Not quite recuperated yet but I managed to fix the ntlmssp auth issue on big endian a few days ago. I was going to make a pull request to libsmb2 from my forked repo but to my surprise a fix had already been added there.
I've also just finished adding utimens() support. A feature that I initially started work on in September 2024 on a local branch (experimental_utimens).
Since the libsmb2-20250607 branch seems to be working now I've merged it into the master branch and it will be used for the upcoming 53.10 release.
Just one question regarding the AmigaOS3 version: what compiler do you use for the AmigaOS3 version? I tried Bebbo's gcc 6 on Linux, but it failed to link because of a missing exit() definition.
This should be fixed now by the latest change to use inet_aton() instead of sscanf() to check/parse a static IP address in smb2_getaddrinfo().
X-5000 PPC 5020/2 GHZ, Fractal Define XL R2-Tower, OS 4.1 final update 2, 4 GB, Radeon HD 7770, ESI Juli@ XTe A1222, OS 4.1 SAM 460ex/1,15 GHZ, OS 4.1 final, 2 GB, Radeon HD 6450 Amiga 4000D/040 25 Mhz, OS 3.9 BB2, 272 MB, X-Surf, 250 MB ZIP