Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 597584 - net-misc/dropbear: scp fails due to missing symlink when openssh is not installed
Summary: net-misc/dropbear: scp fails due to missing symlink when openssh is not insta...
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Embedded Gentoo Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-10-20 04:39 UTC by Sven E.
Modified: 2018-06-09 00:20 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sven E. 2016-10-20 04:39:48 UTC
After installation of dropbear with +multicall various slinks are created. among thos dbscp. When the server is running and a scp is initiated from a host with openssh, the scp fails with an error about missing scp. A simple slink scp->dropbearmulti fixes the issue.

Reproducible: Always

Steps to Reproduce:
1. Setup dropbear[multi] on a server
2. scp from client with openssh
3. Error-Msg: bash: scp: command not found
Actual Results:  
Connection is closed

Expected Results:  
successful scp transfer

As soon as a link scp -> dropbearmulti is established (even though not listed by dropbearmulti) scp works as expected.
Comment 1 SpanKY gentoo-dev 2018-01-12 05:25:44 UTC
we do not take control of the "scp" program name because openssh owns it and we don't want to conflict (so they can be installed at the same time).  we rename dbscp to scp explicitly for that in dropbear.

when you run scp (openssh or dropbear), it requests the "scp" subsystem explicitly which runs the "scp" program.  i don't think the CLI allows you to change that so you can't tell it to run "dbscp".

this isn't related to USE=multicall or the client used.

there isn't a good option here.
Comment 2 Sven E. 2018-01-12 16:44:35 UTC
(In reply to SpanKY from comment #1)
> we do not take control of the "scp" program name because openssh owns it and
> we don't want to conflict (so they can be installed at the same time).  we
> rename dbscp to scp explicitly for that in dropbear.
> 
> when you run scp (openssh or dropbear), it requests the "scp" subsystem
> explicitly which runs the "scp" program.  i don't think the CLI allows you
> to change that so you can't tell it to run "dbscp".
> 
> this isn't related to USE=multicall or the client used.
> 
> there isn't a good option here.

It's been a while since I stumbled over this. If I remember correctly, the problem back then was, that openssh (client) requested the scp subsystem, but dropbear named it's secure copy tool dbscp and refused to cooperate. However once it was named scp (or rather an scp link existed for the multicall version) things worked as expected.

I do see the problem with the conflicting names of openssh. I wonder why it isn't possible to configure a subsystem to executeable mapping (in dropbear), kinda like  an aliasing.
Comment 3 SpanKY gentoo-dev 2018-06-09 00:20:45 UTC
(In reply to Sven E. from comment #2)

it might be possible to have dropbear exec scp and if that fails, fallback to execing dbscp.  it's been a while since i poked around the code though tbh.