[ 
https://issues.apache.org/jira/browse/CAMEL-26059?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18131152#comment-18131152
 ] 

Claus Ibsen commented on CAMEL-26059:
-------------------------------------

Fixed in PR https://github.com/apache/camel/pull/28373

_Claude Code on behalf of davsclaus_

> camel-jsch - scp fails with a NullPointerException without a known hosts file
> -----------------------------------------------------------------------------
>
>                 Key: CAMEL-26059
>                 URL: https://issues.apache.org/jira/browse/CAMEL-26059
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-jsch
>    Affects Versions: 4.18.0, 4.22.0, 4.23.0
>            Reporter: Claus Ibsen
>            Assignee: Claus Ibsen
>            Priority: Minor
>             Fix For: 4.24.0
>
>
> Found while adding the catalog body types of scp (CAMEL-24961), checked with 
> {{camel run}} against an Apache MINA SSHD server with scp.
> h4. 1. useUserKnownHostsFile=false without a knownHostsFile fails with a 
> NullPointerException
> {{ScpOperations}} calls {{jsch.setKnownHosts((String) null)}} then 
> ({{ScpOperations}}, main 5aac7df76b83, line 384), which fails in JSch with 
> {{NullPointerException: Cannot invoke "String.startsWith(String)" because 
> "str" is null}}. Checked on 4.24.0-SNAPSHOT with {{camel run}}.
> *Proposed change*: skip the known hosts in that case (strictHostKeyChecking 
> is no by default), or fail with a message that says to set knownHostsFile.
> h4. 2. The remote directory must exist
> scp has no mkdir: when the directory of the endpoint does not exist, each 
> upload is written to a file named like the directory, and the last one wins. 
> Checked on 4.24.0-SNAPSHOT with {{camel run}}: with 
> {{scp:localhost:2223/upload}} and no upload directory, every upload went to a 
> file named upload. The docs do not say the directory must exist.
> *Proposed change*: say it in the docs, or create the directory.
> h4. Also read in the code, not run
> * The whole body is read into memory to send its size, an int 
> ({{buffer.mark(Integer.MAX_VALUE)}}, line 482), so a body over 2 GiB cannot 
> be sent.
> * checksumFileAlgorithm writes no usable checksum file: {{storeFileDirectly}} 
> (line 164) does not run an scp command.
> _Claude Code on behalf of davsclaus_



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to