Commit Graph

328 Commits

Author SHA1 Message Date
Nick Craig-Wood
36e873b513 Fix GetEntry / MLST for some servers - Fixes #321 (#322)
Some servers seem to send a blank line at the end of an MLST response.

    MLST Download
    250-
    Size=53248;Modify=20230327134339.000;Type=dir; Download

    250 Requested file action okay, completed.

Before this change this would cause the GetEntry method to return this
error.

    unsupported LIST line

This patch ignores blank lines in the MLST response.
2023-05-12 22:29:37 -04:00
dependabot[bot]
0feadd74ba Bump github.com/stretchr/testify from 1.8.1 to 1.8.2 (#311)
Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.8.1 to 1.8.2.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](https://github.com/stretchr/testify/compare/v1.8.1...v1.8.2)

---
updated-dependencies:
- dependency-name: github.com/stretchr/testify
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-12 22:27:57 -04:00
dependabot[bot]
67ffbbc0de Bump actions/cache from 3.2.5 to 3.3.1 (#318)
Bumps [actions/cache](https://github.com/actions/cache) from 3.2.5 to 3.3.1.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](6998d139dd...88522ab9f3)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-12 22:27:45 -04:00
dependabot[bot]
3eddb768d0 Bump actions/setup-go from 3.5.0 to 4.0.0 (#319)
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 3.5.0 to 4.0.0.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](6edd4406fa...4d34df0c23)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-12 22:27:33 -04:00
dependabot[bot]
f568a0d846 Bump coverallsapp/github-action from 1.1.3 to 2.1.2 (#327)
Bumps [coverallsapp/github-action](https://github.com/coverallsapp/github-action) from 1.1.3 to 2.1.2.
- [Release notes](https://github.com/coverallsapp/github-action/releases)
- [Commits](9ba913c152...f350da2c03)

---
updated-dependencies:
- dependency-name: coverallsapp/github-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-12 22:27:20 -04:00
dependabot[bot]
d84bf4be2b Bump actions/cache from 3.2.4 to 3.2.5 (#308)
Bumps [actions/cache](https://github.com/actions/cache) from 3.2.4 to 3.2.5.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](627f0f41f6...6998d139dd)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-13 19:46:52 -05:00
Nick Craig-Wood
9e39e2c406 Fix hang when using ExplicitTLS to certain servers. (#283)
In #282 it was discovered that doing the tls Handshake immediately on
connection causes some FTP servers (proftpd and pureftpd) to hang.

The exact cause of this is unknown, but this patch works around the
problem by not doing the Handsake initially, and only doing it at the
end if we were attempting to upload a zero length file.

Doing the Handshake at the end was originally added in
a4e9650823 however it got reverted in 212daf295f which
used tls.DialWithDialer to do the handshake. Unfortunately
tls.DialWithDialer seems to trigger the hanging bug.

See: https://forum.rclone.org/t/rclone-ftps-explicit-rclone-touch-empty-files-proftpd-unable-to-build-data-connection-operation-not-permitted/22522
See: https://github.com/rclone/rclone/issues/6426#issuecomment-1243993039
Fixes #282
2023-02-08 11:46:41 -05:00
dependabot[bot]
58cb524052 Bump actions/cache from 3.2.3 to 3.2.4 (#307)
Bumps [actions/cache](https://github.com/actions/cache) from 3.2.3 to 3.2.4.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](58c146cc91...627f0f41f6)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-08 11:44:47 -05:00
dependabot[bot]
0257a7bc42 Bump golangci/golangci-lint-action from 3.3.1 to 3.4.0 (#306)
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 3.3.1 to 3.4.0.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](0ad9a0988b...08e2f20817)

---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-23 20:58:31 -05:00
dependabot[bot]
5fc8c694ec Bump actions/cache from 3.2.0 to 3.2.3 (#304)
Bumps [actions/cache](https://github.com/actions/cache) from 3.2.0 to 3.2.3.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](c17f4bf466...58c146cc91)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-16 13:19:23 -05:00
dependabot[bot]
b10ce93530 Bump github.com/stretchr/testify from 1.8.0 to 1.8.1 (#294)
Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.8.0 to 1.8.1.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](https://github.com/stretchr/testify/compare/v1.8.0...v1.8.1)

---
updated-dependencies:
- dependency-name: github.com/stretchr/testify
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-21 17:33:01 -05:00
dependabot[bot]
5b1ec4dc6c Bump golangci/golangci-lint-action from 3.2.0 to 3.3.1 (#297)
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 3.2.0 to 3.3.1.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](537aa1903e...0ad9a0988b)

---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-21 17:32:28 -05:00
dependabot[bot]
a0ec57882b Bump actions/setup-go from 3.3.0 to 3.5.0 (#300)
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 3.3.0 to 3.5.0.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](268d8c0ca0...6edd4406fa)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-21 17:32:07 -05:00
dependabot[bot]
917837ffbd Bump actions/cache from 3.0.8 to 3.2.0 (#301)
Bumps [actions/cache](https://github.com/actions/cache) from 3.0.8 to 3.2.0.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](fd5de65bc8...c17f4bf466)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-21 17:31:46 -05:00
dependabot[bot]
6512c2a4ae Bump actions/setup-go from 2.2.0 to 3.3.0 (#280)
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 2.2.0 to 3.3.0.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](bfdd3570ce...268d8c0ca0)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-07 18:52:58 -04:00
dependabot[bot]
a2b3f0878b Bump coverallsapp/github-action from 1.1.2 to 1.1.3 (#274)
Bumps [coverallsapp/github-action](https://github.com/coverallsapp/github-action) from 1.1.2 to 1.1.3.
- [Release notes](https://github.com/coverallsapp/github-action/releases)
- [Commits](https://github.com/coverallsapp/github-action/compare/v1.1.2...1.1.3)

---
updated-dependencies:
- dependency-name: coverallsapp/github-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-07 18:46:14 -04:00
dependabot[bot]
b40593bd5a Bump jandelgado/gcov2lcov-action from 1.0.8 to 1.0.9 (#273)
Bumps [jandelgado/gcov2lcov-action](https://github.com/jandelgado/gcov2lcov-action) from 1.0.8 to 1.0.9.
- [Release notes](https://github.com/jandelgado/gcov2lcov-action/releases)
- [Changelog](https://github.com/jandelgado/gcov2lcov-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jandelgado/gcov2lcov-action/compare/v1.0.8...v1.0.9)

---
updated-dependencies:
- dependency-name: jandelgado/gcov2lcov-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-07 18:45:43 -04:00
dependabot[bot]
dca029e125 Bump golangci/golangci-lint-action from 2.5.2 to 3.2.0 (#278)
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 2.5.2 to 3.2.0.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](5c56cd6c9d...537aa1903e)

---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-07 18:45:22 -04:00
dependabot[bot]
08a9ec380c Bump actions/cache from 2.1.7 to 3.0.8 (#279)
Bumps [actions/cache](https://github.com/actions/cache) from 2.1.7 to 3.0.8.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](937d244753...fd5de65bc8)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-07 18:42:48 -04:00
Julien Laffaye
260999f2de Secure GitHub workflows 2022-09-07 18:14:30 -04:00
Julien Laffaye
f1ba13192b Add dependabot for github-actions 2022-09-07 18:03:34 -04:00
Julien Laffaye
9c3c2fd740 Add CodeQL and golangci-lint badges 2022-09-07 18:02:26 -04:00
Julien Laffaye
be12fe0263 Create codeql-analysis.yml 2022-09-07 17:48:18 -04:00
Øyvind Heddeland Instefjord
99be0634ab Add forceListHidden dial option to force the use of 'LIST -a' command (#271)
This is useful for servers that do not offer up
hidden folders/files by default when using LIST/MLSD
commands.
Setting forceListHidden to true will force the use of
the 'LIST -a' command even when MLST support has
been detected.
v0.1.0
2022-09-04 14:43:06 -04:00
Julien Laffaye
b85cf1edcc Add default timeout to instantiate connection 2022-08-28 21:58:25 -04:00
Thomas Hallgren
0aeb8660a7 Add MLST command in the form of a Get method (#269)
* Add MLST command in the form of a Get method

The `LIST` and `MLSD` commands are inefficient when the objective
is to retrieve one single `Entry` for a known path, because the only way
to get such an entry is to list the parent directory using a data
connection. The `MLST` fixes this by allowing one single `Entry` to be
returned using the control connection.

The name `Get` was chosen because it is often used in conjunction with
`List` as a mean to get one single entry.

Signed-off-by: Thomas Hallgren <thomas@datawire.io>

* Changes in response to code review:

- Rename `Get` to `GetEntry` (because it returns an `*Entry`)
- Add test-case for multiline response on the control connection
- Fix issues with parsing the multiline response.

Signed-off-by: Thomas Hallgren <thomas@datawire.io>

* Add sample output from MLST to GetEntry comment.

Signed-off-by: Thomas Hallgren <thomas@datawire.io>

* Changes in response to code review:

- Remove unused `time.Time` argument
- Add struct labels to make `govet` happy

Signed-off-by: Thomas Hallgren <thomas@datawire.io>

* Remove time arg when calling parseNextRFC3659ListLine

Signed-off-by: Thomas Hallgren <thomas@datawire.io>

Signed-off-by: Thomas Hallgren <thomas@datawire.io>
2022-08-21 17:25:29 -04:00
Julien Laffaye
4d1d644cf1 Mark Connect() and DialWithTimeout() as deprecated 2022-08-18 12:44:22 -04:00
Julien Laffaye
5a2fd50da8 ioutil is deprecated, use io package instead 2022-08-18 11:18:54 -04:00
Julien Laffaye
9cda78131d Fix transferring spelling. 2022-08-18 10:17:32 -04:00
Julien Laffaye
39592b91e4 Assign type to TransferType constants 2022-08-17 19:43:45 -04:00
Julien Laffaye
fa83b53d0e Use tls.Dialer to be able to use DialContext 2022-08-17 19:35:55 -04:00
Julien Laffaye
45482d097e Use assert package to simplify tests 2022-08-17 19:24:40 -04:00
Julien Laffaye
560423fa8a DialWithNetConn is a special case of DialWithDialFunc 2022-08-17 18:41:24 -04:00
Julien Laffaye
11536801d1 Merge pull request #264 from jlaffaye/dependabot/go_modules/github.com/stretchr/testify-1.8.0
Bump github.com/stretchr/testify from 1.7.2 to 1.8.0
2022-06-30 12:50:35 -04:00
dependabot[bot]
6c74f63d3c Bump github.com/stretchr/testify from 1.7.2 to 1.8.0
Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.7.2 to 1.8.0.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](https://github.com/stretchr/testify/compare/v1.7.2...v1.8.0)

---
updated-dependencies:
- dependency-name: github.com/stretchr/testify
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-29 15:39:38 +00:00
Julien Laffaye
60a941566c Merge pull request #259 from jlaffaye/dependabot/go_modules/github.com/stretchr/testify-1.7.2
Bump github.com/stretchr/testify from 1.6.1 to 1.7.2
2022-06-12 11:18:34 -04:00
dependabot[bot]
712e6cb8bc Bump github.com/stretchr/testify from 1.6.1 to 1.7.2
Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.6.1 to 1.7.2.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](https://github.com/stretchr/testify/compare/v1.6.1...v1.7.2)

---
updated-dependencies:
- dependency-name: github.com/stretchr/testify
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-10 16:37:09 +00:00
Julien Laffaye
6696131620 Create dependabot.yml 2022-06-10 12:36:43 -04:00
Julien Laffaye
dfa1e758f3 Merge pull request #257 from tauu/cmd-type
support for the TYPE command
2022-05-23 20:19:17 -04:00
Georg Wechslberger
b29e1f6c62 refactor: rename TransferTypeImage to TransferTypeBinary 2022-05-23 17:21:05 +02:00
Georg Wechslberger
190f39e8b2 feat: support TYPE command 2022-05-23 12:36:17 +02:00
Julien Laffaye
d2c44e311e Restore previous behavior for List
Fixes #251
2022-03-10 15:20:11 -05:00
Julien Laffaye
813c8a8384 Add test for DialWithDialer 2022-03-08 20:25:35 -05:00
Julien Laffaye
a8377c07ac Add test for DialWithDialFunc 2022-03-08 19:06:48 -05:00
Julien Laffaye
48e53fcac1 Add tests for EntryType 2022-03-08 18:57:09 -05:00
Julien Laffaye
30e028f001 Check errors in tests/mocks 2022-03-08 18:35:30 -05:00
Julien Laffaye
a81b090061 Use multierror in more places
While I'm here, do not allocate multierror.Error, multierror.Append will
do it when needed.
2022-03-01 13:14:25 -05:00
Julien Laffaye
212daf295f Use tls.DialWithDialer which does the handshake
tls.DialWithDialer also better handle special error cases
2022-02-28 20:43:42 -05:00
Julien Laffaye
fed5bc26b7 Return all errors from Stor functions
To not hide some errors
2022-02-28 20:13:24 -05:00
Julien Laffaye
02685330ee Merge pull request #246 from morrowc/master
Documentation update.
2022-02-01 17:25:55 -05:00