canola.nvim/lua/oil/adapters
Barrett Ruth 27544d73e7
fix(ftp): fix STARTTLS, error visibility, and robustness
Problem: `curl_ftp_url` emitted `ftps://` (implicit TLS) for
`oil-ftps://` URLs, causing listing to fail against STARTTLS servers
while Python mutations worked — the two paths spoke different TLS
modes. curl's `-s` flag silenced all error output, producing "Unknown
error" on any curl failure. File creation used `/dev/null` (breaks on
Windows, diverges from S3). The Python TLS context didn't honour
`--insecure`/`-k` from `extra_curl_args`. Deleting non-empty dirs on
servers without MLSD gave a cryptic `500 Unknown command`.

Solution: Always emit `ftp://` in `curl_ftp_url`; TLS is enforced
solely via `--ssl-reqd`, making STARTTLS consistent between curl and
Python. Add `-S` to expose curl errors. Replace `/dev/null` with
`curl -T -` + `stdin='null'` (matches `s3fs` pattern). Mirror
`--insecure`/`-k` into the Python SSL context. Wrap `mlsd()` in
try/except with a clear actionable message. Add `spec/ftp_spec.lua`
with 28 unit tests covering URL parsing, list parsing, and curl URL
building. Update `doc/oil.txt` to document STARTTLS and MLSD.
2026-03-17 23:43:38 -04:00
..
files feat(columns): per-character permission column highlights (#375) (#146) 2026-03-16 15:53:23 -04:00
s3 refactor: revert canola namespace to oil and remove vim.g config (#120) 2026-03-10 22:49:56 -04:00
ssh refactor: revert canola namespace to oil and remove vim.g config (#120) 2026-03-10 22:49:56 -04:00
trash refactor: revert canola namespace to oil and remove vim.g config (#120) 2026-03-10 22:49:56 -04:00
files.lua feat(columns): per-character permission column highlights (#375) (#146) 2026-03-16 15:53:23 -04:00
ftp.lua fix(ftp): fix STARTTLS, error visibility, and robustness 2026-03-17 23:43:38 -04:00
ftps.lua fix(ftp): give oil-ftps:// its own adapter name to prevent scheme clobbering 2026-03-17 23:43:38 -04:00
s3.lua refactor: revert canola namespace to oil and remove vim.g config (#120) 2026-03-10 22:49:56 -04:00
ssh.lua feat(columns): per-character permission column highlights (#375) (#146) 2026-03-16 15:53:23 -04:00
test.lua refactor: revert canola namespace to oil and remove vim.g config (#120) 2026-03-10 22:49:56 -04:00
trash.lua refactor: revert canola namespace to oil and remove vim.g config (#120) 2026-03-10 22:49:56 -04:00