#335962 openssh-client: Recursive loop on scp -r with symlink

Package:
openssh-client
Source:
openssh
Description:
secure shell (SSH) client, for secure access to remote machines
Submitter:
Kai Hendry
Date:
2025-07-07 21:51:02 UTC
Severity:
wishlist
Tags:
#335962#5
Date:
2005-10-27 00:14:06 UTC
From:
To:
It started like this:

scp -r oracle 192.168.0.112:

Original oracle directory looks likes this. Notice the lib directory:

oracle
|-- instantclient-basic-linux32-10.2.0.1-20050713.zip
|-- instantclient-sdk-linux32-10.2.0.1-20050713.zip
|-- instantclient-sqlplus-linux32-10.2.0.1-20050713.zip
`-- instantclient_10_2
    |-- classes12.jar
    |-- glogin.sql
    |-- lib -> .
    |-- libclntsh.so -> libclntsh.so.10.1
    |-- libclntsh.so.10.1
    |-- libnnz10.so
    |-- libocci.so.10.1
    |-- libociei.so
    |-- libocijdbc10.so
    |-- libsqlplus.so
    |-- libsqlplusic.so
    |-- network
    |   `-- admin
    |       `-- tnsnames.ora
    |-- ojdbc14.jar
    |-- ora-exports.sh
    |-- sdk
    |   |-- demo
    |   |   |-- cdemo81.c
    |   |   |-- demo.mk
    |   |   |-- occidemo.sql
    |   |   |-- occidemod.sql
    |   |   |-- occidml.cpp
    |   |   |-- occiobj.cpp
    |   |   `-- occiobj.typ
    |   |-- include
    |   |   |-- nzerror.h
    |   |   |-- nzt.h
    |   |   |-- occi.h
    |   |   |-- occiAQ.h
    |   |   |-- occiCommon.h
    |   |   |-- occiControl.h
    |   |   |-- occiData.h
    |   |   |-- occiObjects.h
    |   |   |-- oci.h
    |   |   |-- oci1.h
    |   |   |-- oci8dp.h
    |   |   |-- ociap.h
    |   |   |-- ociapr.h
    |   |   |-- ocidef.h
    |   |   |-- ocidem.h
    |   |   |-- ocidfn.h
    |   |   |-- ociextp.h
    |   |   |-- ocikpr.h
    |   |   |-- ocixmldb.h
    |   |   |-- odci.h
    |   |   |-- oratypes.h
    |   |   |-- ori.h
    |   |   |-- orid.h
    |   |   |-- orl.h
    |   |   |-- oro.h
    |   |   |-- ort.h
    |   |   `-- xa.h
    |   |-- ott
    |   `-- ottclasses.zip
    `-- sqlplus

7 directories, 53 files


During the SCP I notice:
A) Taking a long time to complete
B) Copying the same files over and over again

Looking at the destination, I found:


/home/hendry/oracle
|-- instantclient-basic-linux32-10.2.0.1-20050713.zip
`-- instantclient_10_2
    |-- classes12.jar
    |-- lib
    |   |-- classes12.jar
    |   |-- lib
    |   |   |-- classes12.jar
    |   |   |-- lib
    |   |   |   |-- classes12.jar
    |   |   |   |-- lib
    |   |   |   |   |-- classes12.jar
    |   |   |   |   |-- lib
    |   |   |   |   |   |-- classes12.jar
    |   |   |   |   |   |-- lib
    |   |   |   |   |   |   |-- classes12.jar
    |   |   |   |   |   |   |-- lib
    |   |   |   |   |   |   |   |-- classes12.jar
    |   |   |   |   |   |   |   |-- lib
    |   |   |   |   |   |   |   |   |-- classes12.jar
    |   |   |   |   |   |   |   |   |-- lib
    |   |   |   |   |   |   |   |   |   |-- classes12.jar
    |   |   |   |   |   |   |   |   |   |-- lib
    |   |   |   |   |   |   |   |   |   |   |-- classes12.jar
    |   |   |   |   |   |   |   |   |   |   |-- lib
    |   |   |   |   |   |   |   |   |   |   |   |-- classes12.jar
    |   |   |   |   |   |   |   |   |   |   |   |-- lib
    |   |   |   |   |   |   |   |   |   |   |   |   |-- classes12.jar
    |   |   |   |   |   |   |   |   |   |   |   |   |-- lib
    |   |   |   |   |   |   |   |   |   |   |   |   |   |-- classes12.jar
    |   |   |   |   |   |   |   |   |   |   |   |   |   |-- lib
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- classes12.jar
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- lib
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- classes12.jar
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- lib
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- classes12.jar
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- lib
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- classes12.jar
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- lib
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- classes12.jar
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- lib
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- classes12.jar
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- lib
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- classes12.jar
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- lib
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- classes12.jar
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- lib
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- classes12.jar
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- lib
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- classes12.jar
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- lib
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- classes12.jar
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- lib
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- classes12.jar
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- lib
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- classes12.jar
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   `-- libclntsh.so.10.1
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libclntsh.so.10.1
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libnnz10.so
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libocci.so.10.1
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libociei.so
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libocijdbc10.so
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   `-- ojdbc14.jar
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libclntsh.so.10.1
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libnnz10.so
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libocci.so.10.1
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libociei.so
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libocijdbc10.so
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   `-- ojdbc14.jar
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libclntsh.so.10.1
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libnnz10.so
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libocci.so.10.1
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libociei.so
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libocijdbc10.so
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   `-- ojdbc14.jar
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libclntsh.so.10.1
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libnnz10.so
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libocci.so.10.1
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libociei.so
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libocijdbc10.so
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   `-- ojdbc14.jar
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libclntsh.so.10.1
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libnnz10.so
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libocci.so.10.1
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libociei.so
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libocijdbc10.so
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   `-- ojdbc14.jar
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libclntsh.so.10.1
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libnnz10.so
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libocci.so.10.1
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libociei.so
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libocijdbc10.so
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   `-- ojdbc14.jar
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libclntsh.so.10.1
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libnnz10.so
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libocci.so.10.1
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libociei.so
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libocijdbc10.so
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   `-- ojdbc14.jar
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libclntsh.so.10.1
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libnnz10.so
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libocci.so.10.1
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libociei.so
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libocijdbc10.so
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   `-- ojdbc14.jar
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libclntsh.so.10.1
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libnnz10.so
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libocci.so.10.1
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libociei.so
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libocijdbc10.so
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   `-- ojdbc14.jar
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libclntsh.so.10.1
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libnnz10.so
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libocci.so.10.1
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libociei.so
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libocijdbc10.so
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   `-- ojdbc14.jar
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libclntsh.so.10.1
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libnnz10.so
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libocci.so.10.1
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libociei.so
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libocijdbc10.so
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   `-- ojdbc14.jar
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libclntsh.so.10.1
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libnnz10.so
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libocci.so.10.1
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libociei.so
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libocijdbc10.so
    |   |   |   |   |   |   |   |   |   |   |   |   |   |   `-- ojdbc14.jar
    |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libclntsh.so.10.1
    |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libnnz10.so
    |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libocci.so.10.1
    |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libociei.so
    |   |   |   |   |   |   |   |   |   |   |   |   |   |-- libocijdbc10.so
    |   |   |   |   |   |   |   |   |   |   |   |   |   `-- ojdbc14.jar
    |   |   |   |   |   |   |   |   |   |   |   |   |-- libclntsh.so.10.1
    |   |   |   |   |   |   |   |   |   |   |   |   |-- libnnz10.so
    |   |   |   |   |   |   |   |   |   |   |   |   |-- libocci.so.10.1
    |   |   |   |   |   |   |   |   |   |   |   |   |-- libociei.so
    |   |   |   |   |   |   |   |   |   |   |   |   |-- libocijdbc10.so
    |   |   |   |   |   |   |   |   |   |   |   |   `-- ojdbc14.jar
    |   |   |   |   |   |   |   |   |   |   |   |-- libclntsh.so.10.1
    |   |   |   |   |   |   |   |   |   |   |   |-- libnnz10.so
    |   |   |   |   |   |   |   |   |   |   |   |-- libocci.so.10.1
    |   |   |   |   |   |   |   |   |   |   |   |-- libociei.so
    |   |   |   |   |   |   |   |   |   |   |   |-- libocijdbc10.so
    |   |   |   |   |   |   |   |   |   |   |   `-- ojdbc14.jar
    |   |   |   |   |   |   |   |   |   |   |-- libclntsh.so.10.1
    |   |   |   |   |   |   |   |   |   |   |-- libnnz10.so
    |   |   |   |   |   |   |   |   |   |   |-- libocci.so.10.1
    |   |   |   |   |   |   |   |   |   |   |-- libociei.so
    |   |   |   |   |   |   |   |   |   |   |-- libocijdbc10.so
    |   |   |   |   |   |   |   |   |   |   `-- ojdbc14.jar
    |   |   |   |   |   |   |   |   |   |-- libclntsh.so.10.1
    |   |   |   |   |   |   |   |   |   |-- libnnz10.so
    |   |   |   |   |   |   |   |   |   |-- libocci.so.10.1
    |   |   |   |   |   |   |   |   |   |-- libociei.so
    |   |   |   |   |   |   |   |   |   |-- libocijdbc10.so
    |   |   |   |   |   |   |   |   |   `-- ojdbc14.jar
    |   |   |   |   |   |   |   |   |-- libclntsh.so.10.1
    |   |   |   |   |   |   |   |   |-- libnnz10.so
    |   |   |   |   |   |   |   |   |-- libocci.so.10.1
    |   |   |   |   |   |   |   |   |-- libociei.so
    |   |   |   |   |   |   |   |   |-- libocijdbc10.so
    |   |   |   |   |   |   |   |   `-- ojdbc14.jar
    |   |   |   |   |   |   |   |-- libclntsh.so.10.1
    |   |   |   |   |   |   |   |-- libnnz10.so
    |   |   |   |   |   |   |   |-- libocci.so.10.1
    |   |   |   |   |   |   |   |-- libociei.so
    |   |   |   |   |   |   |   |-- libocijdbc10.so
    |   |   |   |   |   |   |   `-- ojdbc14.jar
    |   |   |   |   |   |   |-- libclntsh.so.10.1
    |   |   |   |   |   |   |-- libnnz10.so
    |   |   |   |   |   |   |-- libocci.so.10.1
    |   |   |   |   |   |   |-- libociei.so
    |   |   |   |   |   |   |-- libocijdbc10.so
    |   |   |   |   |   |   `-- ojdbc14.jar
    |   |   |   |   |   |-- libclntsh.so.10.1
    |   |   |   |   |   |-- libnnz10.so
    |   |   |   |   |   |-- libocci.so.10.1
    |   |   |   |   |   |-- libociei.so
    |   |   |   |   |   |-- libocijdbc10.so
    |   |   |   |   |   `-- ojdbc14.jar
    |   |   |   |   |-- libclntsh.so.10.1
    |   |   |   |   |-- libnnz10.so
    |   |   |   |   |-- libocci.so.10.1
    |   |   |   |   |-- libociei.so
    |   |   |   |   |-- libocijdbc10.so
    |   |   |   |   `-- ojdbc14.jar
    |   |   |   |-- libclntsh.so.10.1
    |   |   |   |-- libnnz10.so
    |   |   |   |-- libocci.so.10.1
    |   |   |   |-- libociei.so
    |   |   |   |-- libocijdbc10.so
    |   |   |   `-- ojdbc14.jar
    |   |   |-- libclntsh.so.10.1
    |   |   |-- libnnz10.so
    |   |   |-- libocci.so.10.1
    |   |   |-- libociei.so
    |   |   |-- libocijdbc10.so
    |   |   `-- ojdbc14.jar
    |   |-- libclntsh.so.10.1
    |   |-- libnnz10.so
    |   |-- libocci.so.10.1
    |   |-- libociei.so
    |   |-- libocijdbc10.so
    |   `-- ojdbc14.jar
    |-- libclntsh.so.10.1
    |-- libnnz10.so
    |-- libocci.so.10.1
    |-- libociei.so
    |-- libocijdbc10.so
    `-- ojdbc14.jar

27 directories, 185 files


Surely a bug? I expected SCP to be a little cleverer.

#335962#10
Date:
2006-02-16 03:35:11 UTC
From:
To:
To follow up on this bug report, following symlinks in a recursive copy
is non-standard compared to other unix tools, and was highly surprising
to me.  In fact, I just lost an hour because of this:  I edited the copy
I thought the symlink was pointing to, but there was no more symlink.

Andrew