Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Panel

Table of Contents

...

A transfer request record is created either when there is a download or an upload initiated by a partner client that is connected to a local UDMG server or when a UDMG client is triggering a request on the interfaces: CLI, REST API, UAC UDMG File transfer task (see GET a file from an SFTP server). Usually, a transfer request is associated with a single file, where the filename is provided by the client and the path is determined by the transfer rule.

...

  • Source file specifications, not destination file specifications. (Under some operating systems, it is possible for * and ? to be valid characters in a file name. If they appear in a destination file, they are treated as file characters, not as wildcards.)

  • File The file name portion of file specifications, not as part of the directory.

...

Example of a command line to register the same request on the REST API with the curl tool, notice the transferInfofield:

Panel

$ curl -i -L 'http://hostname/api/transfers' -H 'Content-Type: application/json' -d '{
        "rule": "rebex_receive_example",
        "partner": "rebex",
        "account": "demo",
        "isSend": false,
        "file": "wince*.png",
        "transferInfo": { "udmg_xfer_wildcard": true}
}'
HTTP/1.1 201 Created
Location: /api/transfers/160
Date: Wed, 01 Mar 2023 13:57:58 GMT
Content-Length: 0

The result is the creation of a transfer record with the wildcard pattern, which executes as follow:

  1. Connect to the remote partner

  2. List the files that are matching with the pattern on the remote path

  3. Create a child transfer record for each of the files. This transfer is set to planned status and is independant independent from the parent request.

  4. Terminates and keep the list of files and child requests in its transfer info metadata

  5. Additionally, the file size field is set to the number of matched files (and child requests)

  6. The child requests as are processed independantly independently from the parent request and can be paused, resumed or cancelled on their own.

...

Panel

$ udmg-client transfer get 160
● Transfer 160 (receive as client) [DONE]
    Remote ID: 1630930379848286208
    Protocol: sftp
    Rule: rebex_receive_example
    Requester: demo
    Requested: rebex
    Local filepath: /data/tmp/wince*.png
    Remote filepath: /pub/example/wince*.png
    File size: 2
    Start date: 2023-03-01 13:57:58.434889 +0000 UTC
    End date: 2023-03-01 13:58:07.030964 +0000 UTC
    Bytes transferred: 0
    Transfer values:
        - udmg_sftp_client_version: SSH-2.0-Go
        - udmg_sftp_config_ciphers: [aes128-gcm@opensshgcm@openssh.com chacha20-poly1305@openssh.com aes128-ctr aes192-ctr aes256-ctr]
        - udmg_sftp_config_kex: [curve25519-sha256@libsshsha256@libssh.org ecdh-sha2-nistp256 ecdh-sha2-nistp384 ecdh-sha2-nistp521 diffie-hellman-group-exchange-sha256 diffie-hellman-group1-sha1 diffie-hellman-group14-sha1]
        - udmg_sftp_config_mac: [hmac-sha2-256-etm@opensshetm@openssh.com hmac-sha2-256 hmac-sha1 hmac-sha1-96]
        - udmg_sftp_failed_auth_methods: [none]
        - udmg_sftp_hostkey_algo: ssh-rsa
        - udmg_sftp_kex_algo: curve25519-sha256@libssh.org
        - udmg_sftp_read_algos: map[cipher:aes128-gcm@opensshgcm@openssh.com compression:none mac:]
        - udmg_sftp_server_version: SSH-2.0-RebexSSH_5.0.8208.0
        - udmg_sftp_sucessful_auth_methods: password
        - udmg_sftp_write_algos: map[cipher:aes128-gcm@opensshgcm@openssh.com compression:none mac:]
        - udmg_xfer_childIDs: [161 162]
        - udmg_xfer_files: [winceclient.png winceclientSmall.png]
        - udmg_xfer_log: /config/logs/160.log
        - udmg_xfer_wildcard: true

...

Panel

$ udmg-client transfer get 161
● Transfer 161 (receive as client) [DONE]
    Remote ID: 1630930415730556928
    Protocol: sftp
    Rule: rebex_receive_example
    Requester: demo
    Requested: rebex
    Local filepath: /data/in/winceclient.png
    Remote filepath: /pub/example/winceclient.png
    File size: 2635
    Start date: 2023-03-01 13:57:58.434889 +0000 UTC
    End date: 2023-03-01 13:58:17.005211 +0000 UTC
    Bytes transferred: 2635
    Transfer values:
        - udmg_sftp_client_version: SSH-2.0-Go
        - udmg_sftp_config_ciphers: [aes128-gcm@opensshgcm@openssh.com chacha20-poly1305@openssh.com aes128-ctr aes192-ctr aes256-ctr]
        - udmg_sftp_config_kex: [curve25519-sha256@libsshsha256@libssh.org ecdh-sha2-nistp256 ecdh-sha2-nistp384 ecdh-sha2-nistp521 diffie-hellman-group-exchange-sha256 diffie-hellman-group1-sha1 diffie-hellman-group14-sha1]
        - udmg_sftp_config_mac: [hmac-sha2-256-etm@opensshetm@openssh.com hmac-sha2-256 hmac-sha1 hmac-sha1-96]
        - udmg_sftp_failed_auth_methods: [none]
        - udmg_sftp_hostkey_algo: ssh-rsa
        - udmg_sftp_kex_algo: curve25519-sha256@libssh.org
        - udmg_sftp_read_algos: map[cipher:aes128-gcm@opensshgcm@openssh.com compression:none mac:]
        - udmg_sftp_server_version: SSH-2.0-RebexSSH_5.0.8208.0
        - udmg_sftp_sucessful_auth_methods: password
        - udmg_sftp_write_algos: map[cipher:aes128-gcm@opensshgcm@openssh.com compression:none mac:]
        - udmg_xfer_log: /config/logs/161.log
        - udmg_xfer_parentID: 160

...