Checksum command fails if remote doesn't support uname operation
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 89
- Forks
- 21
- PR merge metrics
- No merged PRs in 30d
Description
When I try to fs.checksum(path) on a server that does not permit a uname command, I get a generic Channel Open Error: Session request failed. Looking through the debug logs, it seems like the issue is caused by the logic in the _get_system:
The server I am working with does support the md5sum and sha1sum commands so the _checksum method as written should work but the actual command never triggers because it errors before that.
Potential Solutions:
- Provide ability to pass checksum commands to the
_checksum()method, this would allow me to specify a known command (so the _get_system() check can be bypassed). Ideally, being able to provide both the remote and the local checksum commands would be even better in the case of a Darwin system speaking with a Linux server. - Include error handling logic for
_get_system()to provide a more detailed error message.
If I can get some guidance on the preferred approach, and if contributions are welcome. I'm happy to submit a PR.
Thank you!
Pratheek
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with sshfs/spec.py at the linked _get_system lines and trace how fs.checksum(path) reaches _checksum. Compare the failure path with the proposed checksum-command and error-handling options; done means the selected approach works when uname is unavailable and provides a useful outcome.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend, networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100