Commit Graph

977 Commits

Author SHA1 Message Date
Cassondra Foesch 62a3f68737 encoding: move raw_packet to packets 2021-03-21 14:29:18 +00:00
Cassondra Foesch 43e9761996 encoding: refactor to remove common RequestID from packets 2021-03-21 14:11:23 +00:00
Cassondra Foesch 1d3c51617b encoding: refactor buffer slightly 2021-03-21 14:07:30 +00:00
Cassondra Foesch 96bf4d30dc
Merge pull request #422 from greatroar/cleanup
Minor cleanup
2021-03-21 13:12:55 +00:00
greatroar 7a28771c60 Lowercase error messages 2021-03-20 20:35:04 +01:00
greatroar 32b9d99cf4 Fix typos in private identifiers 2021-03-20 20:35:04 +01:00
greatroar 95591b2015 Remove unnecessary TeeReader from readHash 2021-03-20 11:43:59 +01:00
Cassondra Foesch d26c4bc2a7
Merge pull request #421 from pkg/benchmarks-and-errors
Improve benchmarks and errors
2021-03-20 03:11:49 +00:00
Cassondra Foesch c92cedfa54 encoding: refactor and cleanup 2021-03-19 21:19:45 +00:00
Cassondra Foesch 91d29715b2 encoding: Extended ExtendedReply 2021-03-19 19:54:11 +00:00
Cassondra Foesch d9b8552134 encoding: have Buffer implement BinaryMarshaler and BinaryUnmarshaler 2021-03-19 19:45:41 +00:00
Cassondra Foesch 7d03efe959 encoding: Status Handle Data Name Attrs 2021-03-19 18:29:35 +00:00
Cassondra Foesch 9fb09e2210 encoding: NameEntry for SSH_FXP_NAME 2021-03-19 18:28:19 +00:00
Cassondra Foesch aee41c39a6 encoding: bool type is used in filexfer-06 and later but not explicitly stated as a type 2021-03-19 18:27:11 +00:00
Cassondra Foesch 9e7db2008e encoding: fix unnecessary t.Fatal calls when t.Error is more appropriate 2021-03-19 16:04:32 +00:00
Cassondra Foesch f4a91c3e08 encoding: test Attributes, consistent test permissions value 2021-03-19 15:39:24 +00:00
Cassondra Foesch 051d8eb669 encoding: fix inconsistency, separate generic packet field encoding from argument encoding 2021-03-19 14:37:06 +00:00
Cassondra Foesch 9ac5730115 encoding: Lstat Setstat Remove Mkdir Rmdir Realpath Stat Rename Readlink Symlink 2021-03-19 14:28:55 +00:00
Cassondra Foesch 65072e271f encoding: oops fix inconsistencies 2021-03-19 13:55:25 +00:00
Cassondra Foesch e31579377f encoding: tests: switch wanted byte slice to use actual value rather than name 2021-03-19 13:48:05 +00:00
Cassondra Foesch 41ee63f7e4 encoding: open_packet → open_packets ahead of Opendir 2021-03-19 12:34:56 +00:00
Cassondra Foesch 261431ecd7 encoding: Opendir 2021-03-18 19:26:55 +00:00
Cassondra Foesch f40e0a88ef encoding: Close Read Write Fstat Fsetstat Readdir 2021-03-18 19:20:28 +00:00
Cassondra Foesch 0daa57a289 encoding: move RequestID unmarshalling into UnmarshalBinary from UnmarshalPacketBody 2021-03-18 18:33:20 +00:00
Cassondra Foesch fae73f87ef document where Link/Block/Unblock come from 2021-03-18 18:24:05 +00:00
Cassondra Foesch e04f1c6d8c encoding: don't accumulate packet length size, just use the length at the end 2021-03-18 18:22:44 +00:00
Cassondra Foesch b397b70d00 encoding: OpenPacket, Attributes, ExtendedAttribute 2021-03-18 17:36:08 +00:00
Cassondra Foesch 3b0e4a5065 encoding: InitPacket and VersionPacket 2021-03-18 17:33:05 +00:00
Cassondra Foesch 08fd102d76 encoding: raw packets 2021-03-18 17:33:00 +00:00
Cassondra Foesch a150663d5e encoding: ExtensionPair 2021-03-18 17:30:35 +00:00
Cassondra Foesch 1d8c49ac6a encoding: Buffer, the workhorse of encoding/decoding 2021-03-18 17:01:58 +00:00
Cassondra Foesch d634c3be59 encoding: import constants 2021-03-18 16:59:27 +00:00
Cassondra Foesch addaabd30b give the bytes.Buffer a preallocated slice to use for less variance 2021-03-17 20:18:50 +00:00
Cassondra Foesch 91163e4463 errors.Errorf over fmt.Errorf 2021-03-17 20:17:55 +00:00
Cassondra Foesch 32f98f3047 split benchmark and benchmark_w_memprofile, include memprofile files to gitignore 2021-03-17 20:17:15 +00:00
Cassondra Foesch c6518c34c4
Merge pull request #420 from greatroar/chmod-setfstat
Implement File.Chmod via setfstat
2021-03-17 17:56:06 +00:00
greatroar 846e27dc7f Implement File.Chmod via setfstat 2021-03-17 18:50:51 +01:00
Cassondra Foesch 325cdac782 Add convenient benchmark Makefile rule 2021-03-17 14:57:00 +00:00
Cassondra Foesch b22b9e472e remove writeToBuffer, the bytes.Buffer.Grow I saw in the memprofile was elsewhere 2021-03-17 13:18:17 +00:00
Cassondra Foesch 39e1161d12 address my own code review comments 2021-03-17 12:05:00 +00:00
Cassondra Foesch f1e28f8a88 Improve benchmarks and errors 2021-03-17 11:03:51 +00:00
Cassondra Foesch 460ad57385
Merge pull request #416 from greatroar/match-cleanup
Clean up matching/globbing code
2021-03-16 01:20:24 +00:00
greatroar d3695c2587 Fix Glob handling of backslashes
\m\a\t\c\h\.\g\o would be interpreted as a literal path, because the
backslash was missing in the check.
2021-03-15 18:11:02 +01:00
greatroar 413dd37571 Clean up matching/globbing code
getEsc, scanChunk and matchChunk were unused leftovers from the old
implementation, removed in 4f3e725e88.

isPathSeparator contained a useless cast to string.

The documentation (copied from path/filepath) referred to a Separator
constant, which is not present in the package.

Join, Split and Match are now explicitly marked as aliases for standard
library functions and refer to stdlib docs for details.
2021-03-15 18:10:43 +01:00
greatroar 053574d9eb Fix panic when connection dropped in the middle of the sid 2021-03-15 18:01:38 +01:00
Cassondra Foesch 6181f5c673
Merge pull request #414 from greatroar/chmod-bits
Support os.Mode{Setuid,Setgid,Sticky} in Chmod
2021-03-15 09:58:20 +00:00
Cassondra Foesch 6c0c9a9e85
Merge pull request #417 from pkg/a-better-buffer-pool
A simpler bytes buffer pool
2021-03-15 09:51:10 +00:00
greatroar 2573693ec5 Support os.Mode{Setuid,Setgid,Sticky} in Chmod
Previously, these bits were ignored by Chmod, which sent the numerical
value of the mode argument as-is to the server. As a result, callers had
to supply POSIX values for setuid, setgid and sticky to Chmod.

The new version supports both the POSIX values and the Go values.

Also added a note to the docs to clarify that the umask is not
subtracted from the mode, and why that is. The only portable way to get
the umask is to set it, then reset it, but that's racy. On Linux, we
could parse /proc/self/status, but that doesn't work portably and will
fail where /proc is not available (some Docker containers, notably).
2021-03-12 16:17:56 +01:00
Cassondra Foesch c34ea374a2 A simpler bytes buffer pool 2021-03-12 15:14:27 +00:00
Nicola Murino e164c76a12
Merge pull request #413 from greatroar/mkdirall-slash
Check for '/', not os.IsPathSeparator, in MkdirAll
2021-03-11 21:39:17 +01:00