macos-fuse-t / go-smb2 Goto Github PK
View Code? Open in Web Editor NEWLightweight SMB2/3 Server implemented in go
License: GNU Affero General Public License v3.0
Lightweight SMB2/3 Server implemented in go
License: GNU Affero General Public License v3.0
I've encountered a consistent issue with the Read
operation, specifically when attempting to download large files (10MB+) from an SMB Share to a local folder on my computer using Mac Finder. The operation crashes every time for files that necessitate multiple Read
calls, indicating a problem with handling concurrent counting during Read
packet / request processing.
It's worth mentioning that write operations and other file manipulations work without any issues. The problem is specifically tied to reading larger files, where multiple Read
calls are required.
1.22.0 darwin/arm64
installed via Brew (tried also 1.21.6 and 1.21.5)This is place where overflow happened every time, its clear that it must be some form of parallel change value of d.p
because lines before that exactly handles possible case of overflow very transparently. Also I was able to catch crash via debugger when I checked memory exactly before d.ci[d.p] ^= c
and d.p
was In range of d.ci
.
go-smb2/internal/crypto/cmac/cmac.go
Line 104 in 1e1b5ce
I tried to resolve this by removing async execution via removal of go func()
and then it starts working,
but iam not sure about some consequences of my solution.
Lines 609 to 618 in 1e1b5ce
hi
Macos 14.2.1 user name and pwd can't login, only use guest mode to login
hi
macos finder:
Folder renaming is not supported,
File renameing is support.
Termail:
command line, mv can renameing folder
macos 14.2.1
server output:
INFO[0000] debug level false
INFO[0000] Starting server at 127.0.0.1:8082
ERRO[0034] error: connection error: read tcp 127.0.0.1:8082->127.0.0.1:62926: read: connection reset by peer
ERRO[0044] error: connection error: read tcp 127.0.0.1:8082->127.0.0.1:62951: read: connection reset by peer
ERRO[0050] error: connection error: invalid transport format
ERRO[0055] error: connection error: invalid transport format
ERRO[0060] error: connection error: invalid transport format
ERRO[0065] error: connection error: invalid transport format
ERRO[0070] error: connection error: invalid transport format
ERRO[0075] error: connection error: invalid transport format
ERRO[0085] error: connection error: unexpected EOF
ERRO[0090] error: connection error: unexpected EOF
ERRO[0090] error: connection error: invalid transport format
ERRO[0098] error: connection error: invalid transport format
ERRO[0103] error: connection error: invalid transport format
ERRO[0108] error: connection error: invalid transport format
panic: runtime error: slice bounds out of range [:50831452] with capacity 113
goroutine 114 [running]:
github.com/macos-fuse-t/go-smb2/server.(*conn).runReciever(0x1400018a800)
/Users/name/code/go-smb2/server/conn.go:266 +0x94c
created by github.com/macos-fuse-t/go-smb2/server.(*Server).Serve in goroutine 19
/Users/name/code/go-smb2/server/server.go:203 +0x4ec
nmap output:
Starting Nmap 7.94 ( https://nmap.org ) at 2023-11-30 09:00 PST
Stats: 0:00:36 elapsed; 0 hosts completed (1 up), 1 undergoing Service Scan
Service scan Timing: About 0.00% done
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00010s latency).
Other addresses for localhost (not scanned): ::1
PORT STATE SERVICE VERSION
8082/tcp open blackice-alerts?
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 68.94 seconds
nmap arguments: nmap -p 8082 localhost -A
thanks,
kelsey
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.