Giter Site home page Giter Site logo

Comments (6)

zharris6 avatar zharris6 commented on July 26, 2024

So it sounds like we need to send these commands when SSL is required?
PBSZ 0
PROT P

from ftp.

ebarnard avatar ebarnard commented on July 26, 2024

I think that's right, and much simpler.

PBSZ 0 seems a bit odd but the idea of the protected buffer doesn't make much sense with SSL.

from ftp.

picrap avatar picrap commented on July 26, 2024

There is a FtpSession.CheckProtection invoked every time a data channel is created. I don't understand where it fails.
The method then uses FtpSession.CheckSessionParameter, which tests two thinkgs:

  1. The PROT command is said to be supported by server (returned by reply to FEAT command)
  2. The PROT is invoked only once per connection.
    And when reading this, I think that the point 2 may be the source of the problem.

from ftp.

picrap avatar picrap commented on July 26, 2024

The version 1.12 (just released) does PBSZ 0 before a PROT P.
However I could not find documentation saying that these commands had to be sent everytime a protected data channel is created on the same connection (FtpSession).

from ftp.

ebarnard avatar ebarnard commented on July 26, 2024

They should only be sent once per session.

I didn't realise setting State had side effects.

I think the server I was using didn't report PROT as a capability so no command was sent. Unfortunately I no longer have access to that server to test.

It might be worth sending PBSZ and PROT even if servers don't report the capability but not failing is they return errors.

Feel free to close as I can no longer test this.

from ftp.

picrap avatar picrap commented on July 26, 2024

I keep the issue open, and I'll add a flag to force PBSZ/PROT commands on server which don't explicitly say they are available.

from ftp.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.