Applies to: Server!
Version(s): 4.x - 5.x
Warning:    this articles refers to an older version of our software

Software identification (server-side) is intrinsic to the SSH (and therefore SFTP) protocol. In addition to that, Server also provides full support for the CSID (Client/Server ID) extension of the FTP protocol family.

Therefore, the  BeforeSendSoftwareID event-handler now applies to all protocols of the FTP family (FTP, FTPS, and FTPES). Using the scripting framework you can redefine the server identification, and thus run your own “under cover” FTP(E/S) server that declares to be anything you want.

Of course for this to be working you need the FTP client to support and use the CSID extension too.

Here’s a sample script that shows how to manage such command inside a script:

  Session.SID_ProductName := 'MyCustomServer';
  Session.SID_VendorID := 'Myself';
  Session.SID_Version := '7.0';
  Session.SID_BuildNo := 0;

When the above script is run, your server will not identify itself anymore as “ Server!, but – as defined in the script – as “MyCustomServer” version “7.0” made by “Myself”. Setting any of the above string variables to an empty string will cause the server to skip that portion of the ID. Therefore setting all variables to an empty string will instruct the server to not report any information about itself. In such a case, the response to the CSID command will only include the mandatory  CaseSensitive=1; DirSep=/; fields, and nothing else.

The server also takes note of the identification data (Name and Version) that the client sends, and uses them to identify the client software in the log files.