You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "chandra shekhar pandey (JIRA)" <ji...@apache.org> on 2015/06/03 06:22:49 UTC
[jira] [Updated] (CAMEL-8828) camel-ftp component does not support
absoulte path.
[ https://issues.apache.org/jira/browse/CAMEL-8828?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
chandra shekhar pandey updated CAMEL-8828:
------------------------------------------
Description:
- If a user uses absolute path in ftp component like
{code}
<route id="timerToLog1">
<from uri="file:///path/to/input"/>
<to uri="sftp://rider:secret@localhost:21000//absolute/path/to/dir?fileExist=Move&moveExisting=${file:name}-${date:now:yyyyMMdd-HHmmssSSS}"/>
</route>
{code}
- User receives following error
{code}
org.apache.camel.component.file.GenericFileOperationFailedException: Cannot rename file from: /absolute/path/to/dir/filename.ext to: absolute/path/to/dir/filename-20150602-103603722.ext
at org.apache.camel.component.file.remote.SftpOperations.renameFile(SftpOperations.java:397)[284:org.apache.camel.camel-ftp:2.12.0.redhat-610379]
at org.apache.camel.component.file.remote.SftpOperations.doMoveExistingFile(SftpOperations.java:909)[284:org.apache.camel.camel-ftp:2.12.0.redhat-610379]
at org.apache.camel.component.file.remote.SftpOperations.doStoreFile(SftpOperations.java:811)[284:org.apache.camel.camel-ftp:2.12.0.redhat-610379]
at org.apache.camel.component.file.remote.SftpOperations.storeFile(SftpOperations.java:784)[284:org.apache.camel.camel-ftp:2.12.0.redhat-610379]
at org.apache.camel.component.file.GenericFileProducer.writeFile(GenericFileProducer.java:278)[280:org.apache.camel.camel-core:2.12.0.redhat-610379]
at org.apache.camel.component.file.GenericFileProducer.processExchange(GenericFileProducer.java:166)[280:org.apache.camel.camel-core:2.12.0.redhat-610379]
at org.apache.camel.component.file.remote.RemoteFileProducer.process(RemoteFileProducer.java:49)[284:org.apache.camel.camel-ftp:2.12.0.redhat-610379]
at org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)[280:org.apache.camel.camel-core:2.12.0.redhat-610379]
at ...
{code}
- After discussion with camel experts, It is confirmed that only relative path are supported in camel-ftp components. As earlier there was support for absolute but it caused too much problems for some people with something working and not working. Also its not a good security model to allow absolute file access over FTP.
- But this is not documented with http://camel.apache.org/ftp2.html. This would be helpful for users.
- If people really want a ftp user to access some path outside the FTP folder, then use symlinks and so on.
was:
- If a user uses absolute path in ftp component like
{code}
<route id="timerToLog1">
<from uri="file:///path/to/input"/>
<to uri="sftp://rider:secret@localhost:21000//absolute/path/to/dir?fileExist=Move&moveExisting=${file:name}-${date:now:yyyyMMdd-HHmmssSSS}"/>
</route>
{code}
- User receives following error
{code}
org.apache.camel.component.file.GenericFileOperationFailedException: Cannot rename file from: /absolute/path/to/dir/filename.ext to: absolute/path/to/dir/filename-20150602-103603722.ext
at org.apache.camel.component.file.remote.SftpOperations.renameFile(SftpOperations.java:397)[284:org.apache.camel.camel-ftp:2.12.0.redhat-610379]
at org.apache.camel.component.file.remote.SftpOperations.doMoveExistingFile(SftpOperations.java:909)[284:org.apache.camel.camel-ftp:2.12.0.redhat-610379]
at org.apache.camel.component.file.remote.SftpOperations.doStoreFile(SftpOperations.java:811)[284:org.apache.camel.camel-ftp:2.12.0.redhat-610379]
at org.apache.camel.component.file.remote.SftpOperations.storeFile(SftpOperations.java:784)[284:org.apache.camel.camel-ftp:2.12.0.redhat-610379]
at org.apache.camel.component.file.GenericFileProducer.writeFile(GenericFileProducer.java:278)[280:org.apache.camel.camel-core:2.12.0.redhat-610379]
at org.apache.camel.component.file.GenericFileProducer.processExchange(GenericFileProducer.java:166)[280:org.apache.camel.camel-core:2.12.0.redhat-610379]
at org.apache.camel.component.file.remote.RemoteFileProducer.process(RemoteFileProducer.java:49)[284:org.apache.camel.camel-ftp:2.12.0.redhat-610379]
at org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)[280:org.apache.camel.camel-core:2.12.0.redhat-610379]
at ...
{code}
- After discussion with camel experts, It is confirmed that only relative path are supported in camel-ftp components. As earlier there was support for absolute but it caused too much problems for some people with something working and not working. Also its not a good security model to allow absolute file access over FTP.
- If people really want a ftp user to access some path outside the FTP folder, then use symlinks and so on.
> camel-ftp component does not support absoulte path.
> ---------------------------------------------------
>
> Key: CAMEL-8828
> URL: https://issues.apache.org/jira/browse/CAMEL-8828
> Project: Camel
> Issue Type: Bug
> Components: documentation
> Affects Versions: 2.12.3
> Environment: Linux, Windows
> Reporter: chandra shekhar pandey
>
> - If a user uses absolute path in ftp component like
> {code}
> <route id="timerToLog1">
> <from uri="file:///path/to/input"/>
> <to uri="sftp://rider:secret@localhost:21000//absolute/path/to/dir?fileExist=Move&moveExisting=${file:name}-${date:now:yyyyMMdd-HHmmssSSS}"/>
> </route>
> {code}
> - User receives following error
> {code}
> org.apache.camel.component.file.GenericFileOperationFailedException: Cannot rename file from: /absolute/path/to/dir/filename.ext to: absolute/path/to/dir/filename-20150602-103603722.ext
> at org.apache.camel.component.file.remote.SftpOperations.renameFile(SftpOperations.java:397)[284:org.apache.camel.camel-ftp:2.12.0.redhat-610379]
> at org.apache.camel.component.file.remote.SftpOperations.doMoveExistingFile(SftpOperations.java:909)[284:org.apache.camel.camel-ftp:2.12.0.redhat-610379]
> at org.apache.camel.component.file.remote.SftpOperations.doStoreFile(SftpOperations.java:811)[284:org.apache.camel.camel-ftp:2.12.0.redhat-610379]
> at org.apache.camel.component.file.remote.SftpOperations.storeFile(SftpOperations.java:784)[284:org.apache.camel.camel-ftp:2.12.0.redhat-610379]
> at org.apache.camel.component.file.GenericFileProducer.writeFile(GenericFileProducer.java:278)[280:org.apache.camel.camel-core:2.12.0.redhat-610379]
> at org.apache.camel.component.file.GenericFileProducer.processExchange(GenericFileProducer.java:166)[280:org.apache.camel.camel-core:2.12.0.redhat-610379]
> at org.apache.camel.component.file.remote.RemoteFileProducer.process(RemoteFileProducer.java:49)[284:org.apache.camel.camel-ftp:2.12.0.redhat-610379]
> at org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)[280:org.apache.camel.camel-core:2.12.0.redhat-610379]
> at ...
> {code}
> - After discussion with camel experts, It is confirmed that only relative path are supported in camel-ftp components. As earlier there was support for absolute but it caused too much problems for some people with something working and not working. Also its not a good security model to allow absolute file access over FTP.
> - But this is not documented with http://camel.apache.org/ftp2.html. This would be helpful for users.
> - If people really want a ftp user to access some path outside the FTP folder, then use symlinks and so on.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)