Comments (4)
I have tested against the history of SFTPv3.js and can confirm commit 2081bff was WORKING, and commit 538e9e7 FAILED.
from ssh2.
I am seeing this behavior as well. Uploading a tarball results in a destination file exactly double the size of the source. Needless to say, untar does not like the file.
from ssh2.
As @ppayne indicated, commit 538e9e7 is definitely the root cause. I have found the bug.
In WriteStream.prototype.write, line 1753, this.pos is incremented by the size of the latest buffer chunk. Then it calls this.flush(). In commit 538e97, flush was changed to also increment this.pos by the data length when sftp.write is the method being used. Therefore, there is a double-increment, causing the file to be exactly double.
Removing line 1700 from SFTPv3.js resolves this problem.
I can supply a patch.
from ssh2.
Also: I'm currently in the process of switching over all streams1 code to streams2, which should simplify/fix a lot.
from ssh2.
Related Issues (20)
- ssh.end (resource disposal) method throwing error after migrating to node 18 HOT 1
- Unknown Error during Handshake HOT 1
- `Handshake failed: no matching host key format` on `ssh-keyscan` HOT 2
- Difference between forwardout and manual net connect HOT 1
- [HELP] How can i convert private key .ppk to .pem. HOT 2
- Cyberark HOT 1
- Output cut off in the middle during a stream HOT 1
- Command not found when I use ssh2 HOT 2
- forwardOut method local port forward doesn't work? HOT 2
- how to choose between shell or exec function ? HOT 3
- How to pass parameters to ssh2? HOT 1
- ssh key
- Terrapin advice HOT 2
- Vulnerability CVE-2023-48795 Reported: Prefix Truncation Attack, Fix Requested HOT 2
- Pure JS fallback when WASM is not available
- Can't connect "ignoring handled error" HOT 9
- any method to execute command after ssh connected. HOT 10
- Get remote port forwarding -R local port HOT 2
- Question: HTTPSAgent reuse HOT 3
- Execute ssh command inside a "for of" HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ssh2.