1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-08-10 22:41:43 +02:00

Main build (Jenkins)

This commit is contained in:
Vitaly the Alpaca (bot)
2025-08-04 11:13:57 +03:00
parent 46dbda706c
commit 69a428ad1f
24 changed files with 8719 additions and 8672 deletions

View File

@@ -12,13 +12,12 @@ import TabItem from '@theme/TabItem';
`Function GetTlsSettings(Val DisableCertVerification, Val CertFilepath = "", Val Delay = 250) Export` `Function GetTlsSettings(Val DisableCertVerification, Val CertFilepath = "") Export`
| Parameter | CLI option | Type | Required | Description | | Parameter | CLI option | Type | Required | Description |
|-|-|-|-|-| |-|-|-|-|-|
| DisableCertVerification | --trust | Boolean | ✔ | Allows to work with invalid certificates, including self signed | | DisableCertVerification | --trust | Boolean | ✔ | Allows to work with invalid certificates, including self signed |
| CertFilepath | --cert | String | ✖ | Path to the root PEM file of the certificate if it is not in the system repository | | CertFilepath | --cert | String | ✖ | Path to the root PEM file of the certificate if it is not in the system repository |
| Delay | --delay | Number | ✖ | Delay before closing the connection for proper TLS termination (ms)) |
Returns: Structure Of KeyAndValue - Structure of TLS connection settings Returns: Structure Of KeyAndValue - Structure of TLS connection settings
@@ -27,8 +26,6 @@ import TabItem from '@theme/TabItem';
:::tip :::tip
Tls settings can only be set when a connection is created: explicitly, by using the `OpenConnection` function or implicit, when passing settings Tls settings can only be set when a connection is created: explicitly, by using the `OpenConnection` function or implicit, when passing settings
The `Delay` can be increased for slow connections to avoid issues with proper TLS termination
::: :::
<br/> <br/>

View File

@@ -70,4 +70,8 @@ import TabItem from '@theme/TabItem';
```json title="Результат"
{
"result": true
}
```

View File

@@ -70,4 +70,9 @@ import TabItem from '@theme/TabItem';
```json title="Результат"
{
"error": "Connection error: Resource temporarily unavailable (os error 11)",
"result": false
}
```

View File

@@ -76,9 +76,8 @@ import TabItem from '@theme/TabItem';
# JSON данные также могут быть переданы как путь к файлу .json # JSON данные также могут быть переданы как путь к файлу .json
oint ftp ПолучитьКонфигурациюСоединения \ oint ftp ПолучитьКонфигурациюСоединения \
--set "{'domain':'172.33.0.11','port':'21','passive':'***','read_timeout':'120','write_timeout':'120','advanced_resolve':'True','login':'bayselonarrend','password':'***'}" \ --set "{'domain':'172.33.0.10','port':'21','passive':'***','read_timeout':'120','write_timeout':'120','advanced_resolve':'True','login':'bayselonarrend','password':'***'}" \
--proxy "{'server':'127.0.0.1','port':'8071','proxy_type':'http','login':'proxyuser','password':'***'}" \ --proxy "{'server':'127.0.0.1','port':'8071','proxy_type':'http','login':'proxyuser','password':'***'}"
--tls "{'use_tls':'True','accept_invalid_certs':'True','shutdown_delay':'250'}"
``` ```
</TabItem> </TabItem>
@@ -87,12 +86,36 @@ import TabItem from '@theme/TabItem';
:: JSON данные также могут быть переданы как путь к файлу .json :: JSON данные также могут быть переданы как путь к файлу .json
oint ftp ПолучитьКонфигурациюСоединения ^ oint ftp ПолучитьКонфигурациюСоединения ^
--set "{'domain':'172.33.0.11','port':'21','passive':'***','read_timeout':'120','write_timeout':'120','advanced_resolve':'True','login':'bayselonarrend','password':'***'}" ^ --set "{'domain':'172.33.0.10','port':'21','passive':'***','read_timeout':'120','write_timeout':'120','advanced_resolve':'True','login':'bayselonarrend','password':'***'}" ^
--proxy "{'server':'127.0.0.1','port':'8071','proxy_type':'http','login':'proxyuser','password':'***'}" ^ --proxy "{'server':'127.0.0.1','port':'8071','proxy_type':'http','login':'proxyuser','password':'***'}"
--tls "{'use_tls':'True','accept_invalid_certs':'True','shutdown_delay':'250'}"
``` ```
</TabItem> </TabItem>
</Tabs> </Tabs>
```json title="Результат"
{
"set": {
"domain": "172.33.0.11",
"port": 21,
"passive": true,
"read_timeout": 120,
"write_timeout": 120,
"advanced_resolve": true,
"login": "bayselonarrend",
"password": "12we3456!2154"
},
"proxy": {
"server": "host.docker.internal",
"port": 8071,
"proxy_type": "http",
"login": "proxyuser",
"password": "12we3456!2154"
},
"tls": {
"use_tls": true,
"accept_invalid_certs": true,
"shutdown_delay": 250
}
}
```

View File

@@ -52,7 +52,7 @@ import TabItem from '@theme/TabItem';
<TabItem value="bash" label="Bash" default> <TabItem value="bash" label="Bash" default>
```bash ```bash
oint ftp ПолучитьНастройкиСоединения \ oint ftp ПолучитьНастройкиСоединения \
--host "172.33.0.11" \ --host "172.33.0.10" \
--port "21" \ --port "21" \
--login "bayselonarrend" \ --login "bayselonarrend" \
--pass "***" --pass "***"
@@ -62,7 +62,7 @@ import TabItem from '@theme/TabItem';
<TabItem value="bat" label="CMD/Bat" default> <TabItem value="bat" label="CMD/Bat" default>
```batch ```batch
oint ftp ПолучитьНастройкиСоединения ^ oint ftp ПолучитьНастройкиСоединения ^
--host "172.33.0.11" ^ --host "172.33.0.10" ^
--port "21" ^ --port "21" ^
--login "bayselonarrend" ^ --login "bayselonarrend" ^
--pass "***" --pass "***"
@@ -71,4 +71,15 @@ import TabItem from '@theme/TabItem';
</Tabs> </Tabs>
```json title="Результат"
{
"domain": "172.33.0.11",
"port": 21,
"passive": true,
"read_timeout": 120,
"write_timeout": 120,
"advanced_resolve": true,
"login": "bayselonarrend",
"password": "12we3456!2154"
}
```

View File

@@ -75,8 +75,8 @@ import TabItem from '@theme/TabItem';
# JSON данные также могут быть переданы как путь к файлу .json # JSON данные также могут быть переданы как путь к файлу .json
oint ftp ПолучитьРазмерОбъекта \ oint ftp ПолучитьРазмерОбъекта \
--conn "{'set':{'domain':'172.33.0.11','port':'21','passive':'***','read_timeout':'120','write_timeout':'120','advanced_resolve':'True','login':'bayselonarrend','password':'***'},'proxy':{'server':'127.0.0.1','port':'8071','proxy_type':'http','login':'proxyuser','password':'***'},'tls':{'use_tls':'True','accept_invalid_certs':'True','shutdown_delay':'250'}}" \ --conn "{'set':{'domain':'172.33.0.10','port':'21','passive':'***','read_timeout':'120','write_timeout':'120','advanced_resolve':'True','login':'bayselonarrend','password':'***'},'proxy':{'server':'127.0.0.1','port':'8071','proxy_type':'http','login':'proxyuser','password':'***'}}" \
--file "/tmp/mqaca35j.w43.png" \ --file "/tmp/3spyjvsd.201.png" \
--path "pic_from_binary.png" --path "pic_from_binary.png"
``` ```
</TabItem> </TabItem>
@@ -86,12 +86,17 @@ import TabItem from '@theme/TabItem';
:: JSON данные также могут быть переданы как путь к файлу .json :: JSON данные также могут быть переданы как путь к файлу .json
oint ftp ПолучитьРазмерОбъекта ^ oint ftp ПолучитьРазмерОбъекта ^
--conn "{'set':{'domain':'172.33.0.11','port':'21','passive':'***','read_timeout':'120','write_timeout':'120','advanced_resolve':'True','login':'bayselonarrend','password':'***'},'proxy':{'server':'127.0.0.1','port':'8071','proxy_type':'http','login':'proxyuser','password':'***'},'tls':{'use_tls':'True','accept_invalid_certs':'True','shutdown_delay':'250'}}" ^ --conn "{'set':{'domain':'172.33.0.10','port':'21','passive':'***','read_timeout':'120','write_timeout':'120','advanced_resolve':'True','login':'bayselonarrend','password':'***'},'proxy':{'server':'127.0.0.1','port':'8071','proxy_type':'http','login':'proxyuser','password':'***'}}" ^
--file "/tmp/mqaca35j.w43.png" ^ --file "/tmp/3spyjvsd.201.png" ^
--path "pic_from_binary.png" --path "pic_from_binary.png"
``` ```
</TabItem> </TabItem>
</Tabs> </Tabs>
```json title="Результат"
{
"bytes": 335937536,
"result": true
}
```

View File

@@ -12,13 +12,12 @@ import TabItem from '@theme/TabItem';
`Функция ПолучитьНастройкиTls(Знач ОтключитьПроверкуСертификатов, Знач ПутьКСертификату = "", Знач Задержка = 250) Экспорт` `Функция ПолучитьНастройкиTls(Знач ОтключитьПроверкуСертификатов, Знач ПутьКСертификату = "") Экспорт`
| Параметр | CLI опция | Тип | Обяз. | Назначение | | Параметр | CLI опция | Тип | Обяз. | Назначение |
|-|-|-|-|-| |-|-|-|-|-|
| ОтключитьПроверкуСертификатов | --trust | Булево | &#x2714; | Позволяет работать с некорретными сертификатами, в т.ч. самоподписанными | | ОтключитьПроверкуСертификатов | --trust | Булево | &#x2714; | Позволяет работать с некорретными сертификатами, в т.ч. самоподписанными |
| ПутьКСертификату | --cert | Строка | &#x2716; | Путь к корневому PEM файлу сертификата, если его нет в системном хранилище | | ПутьКСертификату | --cert | Строка | &#x2716; | Путь к корневому PEM файлу сертификата, если его нет в системном хранилище |
| Задержка | --delay | Число | &#x2716; | Задержка перед закрытием соединения для корректного завершения TLS (мс) |
Возвращаемое значение: Структура Из КлючИЗначение - Структура настроек TLS соединения Возвращаемое значение: Структура Из КлючИЗначение - Структура настроек TLS соединения
@@ -27,8 +26,6 @@ import TabItem from '@theme/TabItem';
:::tip :::tip
Настройки Tls могут быть установлены только в момент создания соединения: явного, при использовании функции `ОткрытьСоединение` или неявного, при передаче настроек Настройки Tls могут быть установлены только в момент создания соединения: явного, при использовании функции `ОткрытьСоединение` или неявного, при передаче настроек
`Задержка` может быть увеличена при низкой скорости соединения для избежания проблем с корректным завершением TLS
::: :::
<br/> <br/>
@@ -57,4 +54,10 @@ import TabItem from '@theme/TabItem';
</Tabs> </Tabs>
```json title="Результат"
{
"use_tls": true,
"accept_invalid_certs": true,
"shutdown_delay": 250
}
```

View File

@@ -74,7 +74,7 @@ import TabItem from '@theme/TabItem';
# JSON данные также могут быть переданы как путь к файлу .json # JSON данные также могут быть переданы как путь к файлу .json
oint ftp ПолучитьПриветственноеСообщение \ oint ftp ПолучитьПриветственноеСообщение \
--conn "{'set':{'domain':'172.33.0.10','port':'21','passive':'***','read_timeout':'120','write_timeout':'120','advanced_resolve':'True','login':'bayselonarrend','password':'***'},'proxy':{'server':'127.0.0.1','port':'8071','proxy_type':'http','login':'proxyuser','password':'***'}}" --conn "{'set':{'domain':'172.33.0.11','port':'21','passive':'***','read_timeout':'120','write_timeout':'120','advanced_resolve':'True','login':'bayselonarrend','password':'***'},'proxy':{'server':'127.0.0.1','port':'8071','proxy_type':'http','login':'proxyuser','password':'***'},'tls':{'use_tls':'True','accept_invalid_certs':'True','shutdown_delay':'250'}}"
``` ```
</TabItem> </TabItem>
@@ -83,10 +83,15 @@ import TabItem from '@theme/TabItem';
:: JSON данные также могут быть переданы как путь к файлу .json :: JSON данные также могут быть переданы как путь к файлу .json
oint ftp ПолучитьПриветственноеСообщение ^ oint ftp ПолучитьПриветственноеСообщение ^
--conn "{'set':{'domain':'172.33.0.10','port':'21','passive':'***','read_timeout':'120','write_timeout':'120','advanced_resolve':'True','login':'bayselonarrend','password':'***'},'proxy':{'server':'127.0.0.1','port':'8071','proxy_type':'http','login':'proxyuser','password':'***'}}" --conn "{'set':{'domain':'172.33.0.11','port':'21','passive':'***','read_timeout':'120','write_timeout':'120','advanced_resolve':'True','login':'bayselonarrend','password':'***'},'proxy':{'server':'127.0.0.1','port':'8071','proxy_type':'http','login':'proxyuser','password':'***'},'tls':{'use_tls':'True','accept_invalid_certs':'True','shutdown_delay':'250'}}"
``` ```
</TabItem> </TabItem>
</Tabs> </Tabs>
```json title="Результат"
{
"data": "220 Welcome Alpine ftp server https://hub.docker.com/r/delfer/alpine-ftp-server/",
"result": true
}
```

View File

@@ -70,4 +70,6 @@ import TabItem from '@theme/TabItem';
```json title="Результат"
true
```

View File

@@ -98,4 +98,14 @@ import TabItem from '@theme/TabItem';
</Tabs> </Tabs>
```json title="Результат"
{
"result": true,
"deleted_objects": [
{
"result": true,
"path": "new_dir"
}
]
}
```

View File

@@ -94,4 +94,8 @@ import TabItem from '@theme/TabItem';
</Tabs> </Tabs>
```json title="Результат"
{
"result": true
}
```

View File

@@ -98,4 +98,9 @@ import TabItem from '@theme/TabItem';
</Tabs> </Tabs>
```json title="Результат"
{
"result": true,
"deleted_objects": []
}
```

View File

@@ -76,7 +76,7 @@ import TabItem from '@theme/TabItem';
# JSON данные также могут быть переданы как путь к файлу .json # JSON данные также могут быть переданы как путь к файлу .json
oint ftp ПолучитьСписокОбъектов \ oint ftp ПолучитьСписокОбъектов \
--conn "{'set':{'domain':'172.33.0.11','port':'21','passive':'***','read_timeout':'120','write_timeout':'120','advanced_resolve':'True','login':'bayselonarrend','password':'***'},'proxy':{'server':'127.0.0.1','port':'1080','proxy_type':'socks5','login':'proxyuser','password':'***'},'tls':{'use_tls':'True','accept_invalid_certs':'True','shutdown_delay':'250'}}" \ --conn "{'set':{'domain':'172.33.0.10','port':'21','passive':'***','read_timeout':'120','write_timeout':'120','advanced_resolve':'True','login':'bayselonarrend','password':'***'},'proxy':{'server':'127.0.0.1','port':'8071','proxy_type':'http','login':'proxyuser','password':'***'}}" \
--path "." \ --path "." \
--rcv "True" --rcv "True"
``` ```
@@ -87,7 +87,7 @@ import TabItem from '@theme/TabItem';
:: JSON данные также могут быть переданы как путь к файлу .json :: JSON данные также могут быть переданы как путь к файлу .json
oint ftp ПолучитьСписокОбъектов ^ oint ftp ПолучитьСписокОбъектов ^
--conn "{'set':{'domain':'172.33.0.11','port':'21','passive':'***','read_timeout':'120','write_timeout':'120','advanced_resolve':'True','login':'bayselonarrend','password':'***'},'proxy':{'server':'127.0.0.1','port':'1080','proxy_type':'socks5','login':'proxyuser','password':'***'},'tls':{'use_tls':'True','accept_invalid_certs':'True','shutdown_delay':'250'}}" ^ --conn "{'set':{'domain':'172.33.0.10','port':'21','passive':'***','read_timeout':'120','write_timeout':'120','advanced_resolve':'True','login':'bayselonarrend','password':'***'},'proxy':{'server':'127.0.0.1','port':'8071','proxy_type':'http','login':'proxyuser','password':'***'}}" ^
--path "." ^ --path "." ^
--rcv "True" --rcv "True"
``` ```
@@ -95,4 +95,33 @@ import TabItem from '@theme/TabItem';
</Tabs> </Tabs>
```json title="Результат"
{
"result": true,
"data": [
{
"is_directory": true,
"is_symlink": false,
"list_string": "drwxr-sr-x 3 1000 1000 4096 Aug 03 19:42 new_dir",
"modified": "2025-08-03T19:42:00+00:00",
"name": "new_dir",
"size": 4096,
"symlink_path": "",
"path": "new_dir",
"objects": [
{
"is_directory": true,
"is_symlink": false,
"list_string": "drwxr-sr-x 2 1000 1000 4096 Aug 03 19:42 another_one",
"modified": "2025-08-03T19:42:00+00:00",
"name": "another_one",
"size": 4096,
"symlink_path": "",
"path": "new_dir/another_one",
"objects": []
}
]
}
]
}
```

View File

@@ -75,7 +75,7 @@ import TabItem from '@theme/TabItem';
# JSON данные также могут быть переданы как путь к файлу .json # JSON данные также могут быть переданы как путь к файлу .json
oint ftp УдалитьФайл \ oint ftp УдалитьФайл \
--conn "{'set':{'domain':'172.33.0.11','port':'21','passive':'***','read_timeout':'120','write_timeout':'120','advanced_resolve':'True','login':'bayselonarrend','password':'***'},'proxy':{'server':'127.0.0.1','port':'1080','proxy_type':'socks5','login':'proxyuser','password':'***'},'tls':{'use_tls':'True','accept_invalid_certs':'True','shutdown_delay':'250'}}" \ --conn "{'set':{'domain':'172.33.0.10','port':'21','passive':'***','read_timeout':'120','write_timeout':'120','advanced_resolve':'True','login':'bayselonarrend','password':'***'},'proxy':{'server':'127.0.0.1','port':'8071','proxy_type':'http','login':'proxyuser','password':'***'}}" \
--path "pic_from_binary.png" --path "pic_from_binary.png"
``` ```
</TabItem> </TabItem>
@@ -85,11 +85,15 @@ import TabItem from '@theme/TabItem';
:: JSON данные также могут быть переданы как путь к файлу .json :: JSON данные также могут быть переданы как путь к файлу .json
oint ftp УдалитьФайл ^ oint ftp УдалитьФайл ^
--conn "{'set':{'domain':'172.33.0.11','port':'21','passive':'***','read_timeout':'120','write_timeout':'120','advanced_resolve':'True','login':'bayselonarrend','password':'***'},'proxy':{'server':'127.0.0.1','port':'1080','proxy_type':'socks5','login':'proxyuser','password':'***'},'tls':{'use_tls':'True','accept_invalid_certs':'True','shutdown_delay':'250'}}" ^ --conn "{'set':{'domain':'172.33.0.10','port':'21','passive':'***','read_timeout':'120','write_timeout':'120','advanced_resolve':'True','login':'bayselonarrend','password':'***'},'proxy':{'server':'127.0.0.1','port':'8071','proxy_type':'http','login':'proxyuser','password':'***'}}" ^
--path "pic_from_binary.png" --path "pic_from_binary.png"
``` ```
</TabItem> </TabItem>
</Tabs> </Tabs>
```json title="Результат"
{
"result": true
}
```

View File

@@ -87,9 +87,9 @@ import TabItem from '@theme/TabItem';
# JSON данные также могут быть переданы как путь к файлу .json # JSON данные также могут быть переданы как путь к файлу .json
oint ftp ЗагрузитьФайл \ oint ftp ЗагрузитьФайл \
--conn "{'set':{'domain':'172.33.0.11','port':'21','passive':'***','read_timeout':'120','write_timeout':'120','advanced_resolve':'True','login':'bayselonarrend','password':'***'},'proxy':{'server':'127.0.0.1','port':'8071','proxy_type':'http','login':'proxyuser','password':'***'},'tls':{'use_tls':'True','accept_invalid_certs':'True','shutdown_delay':'250'}}" \ --conn "{'set':{'domain':'172.33.0.10','port':'21','passive':'***','read_timeout':'120','write_timeout':'120','advanced_resolve':'True','login':'bayselonarrend','password':'***'},'proxy':{'server':'127.0.0.1','port':'8071','proxy_type':'http','login':'proxyuser','password':'***'}}" \
--file "/tmp/mqaca35j.w43.png" \ --file "52 61 72 21 1A 07 01 00 30 23 12 A7 10 01 05 0C 00 0B 01 01 8B C8 8F A0 81 80 80 80 00 F8 44 59 F3 37 02 03 0B 85 E4 02 04 A0 DE 08 A0 40 52 47 4A ED 80 43 00 18 61 73 73 65 74 73 2F 69 6E 64…" \
--path "pic_from_binary.png" --path "new_dir/big.bin"
``` ```
</TabItem> </TabItem>
@@ -98,12 +98,17 @@ import TabItem from '@theme/TabItem';
:: JSON данные также могут быть переданы как путь к файлу .json :: JSON данные также могут быть переданы как путь к файлу .json
oint ftp ЗагрузитьФайл ^ oint ftp ЗагрузитьФайл ^
--conn "{'set':{'domain':'172.33.0.11','port':'21','passive':'***','read_timeout':'120','write_timeout':'120','advanced_resolve':'True','login':'bayselonarrend','password':'***'},'proxy':{'server':'127.0.0.1','port':'8071','proxy_type':'http','login':'proxyuser','password':'***'},'tls':{'use_tls':'True','accept_invalid_certs':'True','shutdown_delay':'250'}}" ^ --conn "{'set':{'domain':'172.33.0.10','port':'21','passive':'***','read_timeout':'120','write_timeout':'120','advanced_resolve':'True','login':'bayselonarrend','password':'***'},'proxy':{'server':'127.0.0.1','port':'8071','proxy_type':'http','login':'proxyuser','password':'***'}}" ^
--file "/tmp/mqaca35j.w43.png" ^ --file "52 61 72 21 1A 07 01 00 30 23 12 A7 10 01 05 0C 00 0B 01 01 8B C8 8F A0 81 80 80 80 00 F8 44 59 F3 37 02 03 0B 85 E4 02 04 A0 DE 08 A0 40 52 47 4A ED 80 43 00 18 61 73 73 65 74 73 2F 69 6E 64…" ^
--path "pic_from_binary.png" --path "new_dir/big.bin"
``` ```
</TabItem> </TabItem>
</Tabs> </Tabs>
```json title="Результат"
{
"bytes": 2114023,
"result": true
}
```

File diff suppressed because it is too large Load Diff

View File

@@ -303,18 +303,16 @@ EndFunction
// Note // Note
// Tls settings can only be set when a connection is created: explicitly, by using the `OpenConnection` function^^ // Tls settings can only be set when a connection is created: explicitly, by using the `OpenConnection` function^^
// or implicit, when passing settings // or implicit, when passing settings
// The `Delay` can be increased for slow connections to avoid issues with proper TLS termination
// //
// Parameters: // Parameters:
// DisableCertVerification - Boolean - Allows to work with invalid certificates, including self signed - trust // DisableCertVerification - Boolean - Allows to work with invalid certificates, including self signed - trust
// CertFilepath - String - Path to the root PEM file of the certificate if it is not in the system repository - cert // CertFilepath - String - Path to the root PEM file of the certificate if it is not in the system repository - cert
// Delay - Number - Delay before closing the connection for proper TLS termination (ms)) - delay
// //
// Returns: // Returns:
// Structure Of KeyAndValue - Structure of TLS connection settings // Structure Of KeyAndValue - Structure of TLS connection settings
Function GetTlsSettings(Val DisableCertVerification, Val CertFilepath = "", Val Delay = 250) Export Function GetTlsSettings(Val DisableCertVerification, Val CertFilepath = "") Export
Return OPI_AddIns.GetTlsSettings(DisableCertVerification, CertFilepath, Delay); Return OPI_AddIns.GetTlsSettings(DisableCertVerification, CertFilepath);
EndFunction EndFunction
@@ -794,8 +792,8 @@ Function ПолучитьНастройкиПрокси(Val Адрес, Val По
Return GetProxySettings(Адрес, Порт, Вид, Логин, Пароль); Return GetProxySettings(Адрес, Порт, Вид, Логин, Пароль);
EndFunction EndFunction
Function ПолучитьНастройкиTls(Val ОтключитьПроверкуСертификатов, Val ПутьКСертификату = "", Val Задержка = 250) Export Function ПолучитьНастройкиTls(Val ОтключитьПроверкуСертификатов, Val ПутьКСертификату = "") Export
Return GetTlsSettings(ОтключитьПроверкуСертификатов, ПутьКСертификату, Задержка); Return GetTlsSettings(ОтключитьПроверкуСертификатов, ПутьКСертификату);
EndFunction EndFunction
Function ПолучитьСписокОбъектов(Val Соединение, Val Путь = "", Val Рекурсивно = False) Export Function ПолучитьСписокОбъектов(Val Соединение, Val Путь = "", Val Рекурсивно = False) Export

View File

@@ -84,25 +84,15 @@ Function SetTls(Val AddIn, Val Tls) Export
ErrorText = "Incorrect Tls settings!"; ErrorText = "Incorrect Tls settings!";
OPI_TypeConversion.GetKeyValueCollection(Tls, ErrorText); OPI_TypeConversion.GetKeyValueCollection(Tls, ErrorText);
UseTls = OPI_Tools.GetOr(Tls, "use_tls", False); UseTls = OPI_Tools.GetOr(Tls, "use_tls" , False);
DisableValidation = OPI_Tools.GetOr(Tls, "accept_invalid_certs", False); DisableValidation = OPI_Tools.GetOr(Tls, "accept_invalid_certs", False);
CertFilepath = OPI_Tools.GetOr(Tls, "ca_cert_path", ""); CertFilepath = OPI_Tools.GetOr(Tls, "ca_cert_path" , "");
OPI_TypeConversion.GetBoolean(UseTls); OPI_TypeConversion.GetBoolean(UseTls);
OPI_TypeConversion.GetBoolean(DisableValidation); OPI_TypeConversion.GetBoolean(DisableValidation);
OPI_TypeConversion.GetLine(CertFilepath); OPI_TypeConversion.GetLine(CertFilepath);
Delay = Undefined; Result = AddIn.SetTLS(UseTls, DisableValidation, CertFilepath);
If OPI_Tools.CollectionFieldExists(Tls, "shutdown_delay", Delay) Then
OPI_TypeConversion.GetNumber(Delay);
Result = AddIn.SetTLS(UseTls, DisableValidation, CertFilepath, Delay);
Else
Result = AddIn.SetTLS(UseTls, DisableValidation, CertFilepath);
EndIf;
Result = OPI_Tools.JsonToStructure(Result); Result = OPI_Tools.JsonToStructure(Result);
EndIf; EndIf;
@@ -111,15 +101,12 @@ Function SetTls(Val AddIn, Val Tls) Export
EndFunction EndFunction
Function GetTlsSettings(Val DisableCertVerification Function GetTlsSettings(Val DisableCertVerification, Val CertFilepath = "") Export
, Val CertFilepath = ""
, Val Delay = Undefined) Export
CertStructure = New Structure; CertStructure = New Structure;
OPI_Tools.AddField("use_tls" , True , "Boolean", CertStructure); OPI_Tools.AddField("use_tls" , True , "Boolean", CertStructure);
OPI_Tools.AddField("accept_invalid_certs", DisableCertVerification, "Boolean", CertStructure); OPI_Tools.AddField("accept_invalid_certs", DisableCertVerification, "Boolean", CertStructure);
OPI_Tools.AddField("ca_cert_path" , CertFilepath , "String" , CertStructure); OPI_Tools.AddField("ca_cert_path" , CertFilepath , "String" , CertStructure);
OPI_Tools.AddField("shutdown_delay" , Delay , "Number" , CertStructure);
Return CertStructure; Return CertStructure;
@@ -222,8 +209,8 @@ Function УстановитьTls(Val Компонета, Val Tls) Export
Return SetTls(Компонета, Tls); Return SetTls(Компонета, Tls);
EndFunction EndFunction
Function ПолучитьНастройкиTls(Val ОтключитьПроверкуСертификатов, Val ПутьКСертификату = "", Val Задержка = Undefined) Export Function ПолучитьНастройкиTls(Val ОтключитьПроверкуСертификатов, Val ПутьКСертификату = "") Export
Return GetTlsSettings(ОтключитьПроверкуСертификатов, ПутьКСертификату, Задержка); Return GetTlsSettings(ОтключитьПроверкуСертификатов, ПутьКСертификату);
EndFunction EndFunction
Function КаталогКомпонентOS() Export Function КаталогКомпонентOS() Export

View File

@@ -84,25 +84,15 @@ Function SetTls(Val AddIn, Val Tls) Export
ErrorText = "Incorrect Tls settings!"; ErrorText = "Incorrect Tls settings!";
OPI_TypeConversion.GetKeyValueCollection(Tls, ErrorText); OPI_TypeConversion.GetKeyValueCollection(Tls, ErrorText);
UseTls = OPI_Tools.GetOr(Tls, "use_tls", False); UseTls = OPI_Tools.GetOr(Tls, "use_tls" , False);
DisableValidation = OPI_Tools.GetOr(Tls, "accept_invalid_certs", False); DisableValidation = OPI_Tools.GetOr(Tls, "accept_invalid_certs", False);
CertFilepath = OPI_Tools.GetOr(Tls, "ca_cert_path", ""); CertFilepath = OPI_Tools.GetOr(Tls, "ca_cert_path" , "");
OPI_TypeConversion.GetBoolean(UseTls); OPI_TypeConversion.GetBoolean(UseTls);
OPI_TypeConversion.GetBoolean(DisableValidation); OPI_TypeConversion.GetBoolean(DisableValidation);
OPI_TypeConversion.GetLine(CertFilepath); OPI_TypeConversion.GetLine(CertFilepath);
Delay = Undefined; Result = AddIn.SetTLS(UseTls, DisableValidation, CertFilepath);
If OPI_Tools.CollectionFieldExists(Tls, "shutdown_delay", Delay) Then
OPI_TypeConversion.GetNumber(Delay);
Result = AddIn.SetTLS(UseTls, DisableValidation, CertFilepath, Delay);
Else
Result = AddIn.SetTLS(UseTls, DisableValidation, CertFilepath);
EndIf;
Result = OPI_Tools.JsonToStructure(Result); Result = OPI_Tools.JsonToStructure(Result);
EndIf; EndIf;
@@ -111,15 +101,12 @@ Function SetTls(Val AddIn, Val Tls) Export
EndFunction EndFunction
Function GetTlsSettings(Val DisableCertVerification Function GetTlsSettings(Val DisableCertVerification, Val CertFilepath = "") Export
, Val CertFilepath = ""
, Val Delay = Undefined) Export
CertStructure = New Structure; CertStructure = New Structure;
OPI_Tools.AddField("use_tls" , True , "Boolean", CertStructure); OPI_Tools.AddField("use_tls" , True , "Boolean", CertStructure);
OPI_Tools.AddField("accept_invalid_certs", DisableCertVerification, "Boolean", CertStructure); OPI_Tools.AddField("accept_invalid_certs", DisableCertVerification, "Boolean", CertStructure);
OPI_Tools.AddField("ca_cert_path" , CertFilepath , "String" , CertStructure); OPI_Tools.AddField("ca_cert_path" , CertFilepath , "String" , CertStructure);
OPI_Tools.AddField("shutdown_delay" , Delay , "Number" , CertStructure);
Return CertStructure; Return CertStructure;

View File

@@ -303,18 +303,16 @@ EndFunction
// Note // Note
// Tls settings can only be set when a connection is created: explicitly, by using the `OpenConnection` function^^ // Tls settings can only be set when a connection is created: explicitly, by using the `OpenConnection` function^^
// or implicit, when passing settings // or implicit, when passing settings
// The `Delay` can be increased for slow connections to avoid issues with proper TLS termination
// //
// Parameters: // Parameters:
// DisableCertVerification - Boolean - Allows to work with invalid certificates, including self signed - trust // DisableCertVerification - Boolean - Allows to work with invalid certificates, including self signed - trust
// CertFilepath - String - Path to the root PEM file of the certificate if it is not in the system repository - cert // CertFilepath - String - Path to the root PEM file of the certificate if it is not in the system repository - cert
// Delay - Number - Delay before closing the connection for proper TLS termination (ms)) - delay
// //
// Returns: // Returns:
// Structure Of KeyAndValue - Structure of TLS connection settings // Structure Of KeyAndValue - Structure of TLS connection settings
Function GetTlsSettings(Val DisableCertVerification, Val CertFilepath = "", Val Delay = 250) Export Function GetTlsSettings(Val DisableCertVerification, Val CertFilepath = "") Export
Return OPI_AddIns.GetTlsSettings(DisableCertVerification, CertFilepath, Delay); Return OPI_AddIns.GetTlsSettings(DisableCertVerification, CertFilepath);
EndFunction EndFunction

View File

@@ -233,16 +233,6 @@ Function GetComposition() Export
NewLine.Region = "Common methods"; NewLine.Region = "Common methods";
NewLine = CompositionTable.Add();
NewLine.Library = "ftp";
NewLine.Module = "OPI_FTP";
NewLine.Method = "GetTlsSettings";
NewLine.SearchMethod = "GETTLSSETTINGS";
NewLine.Parameter = "--delay";
NewLine.Description = "Delay before closing the connection for proper TLS termination (ms)) (optional, def. val. - 250)";
NewLine.Region = "Common methods";
NewLine = CompositionTable.Add(); NewLine = CompositionTable.Add();
NewLine.Library = "ftp"; NewLine.Library = "ftp";
NewLine.Module = "OPI_FTP"; NewLine.Module = "OPI_FTP";

View File

@@ -303,18 +303,16 @@
// Примечание: // Примечание:
// Настройки Tls могут быть установлены только в момент создания соединения: явного, при использовании функции `ОткрытьСоединение`^^ // Настройки Tls могут быть установлены только в момент создания соединения: явного, при использовании функции `ОткрытьСоединение`^^
// или неявного, при передаче настроек // или неявного, при передаче настроек
// `Задержка` может быть увеличена при низкой скорости соединения для избежания проблем с корректным завершением TLS
// //
// Параметры: // Параметры:
// ОтключитьПроверкуСертификатов - Булево - Позволяет работать с некорретными сертификатами, в т.ч. самоподписанными - trust // ОтключитьПроверкуСертификатов - Булево - Позволяет работать с некорретными сертификатами, в т.ч. самоподписанными - trust
// ПутьКСертификату - Строка - Путь к корневому PEM файлу сертификата, если его нет в системном хранилище - cert // ПутьКСертификату - Строка - Путь к корневому PEM файлу сертификата, если его нет в системном хранилище - cert
// Задержка - Число - Задержка перед закрытием соединения для корректного завершения TLS (мс) - delay
// //
// Возвращаемое значение: // Возвращаемое значение:
// Структура Из КлючИЗначение - Структура настроек TLS соединения // Структура Из КлючИЗначение - Структура настроек TLS соединения
Функция ПолучитьНастройкиTls(Знач ОтключитьПроверкуСертификатов, Знач ПутьКСертификату = "", Знач Задержка = 250) Экспорт Функция ПолучитьНастройкиTls(Знач ОтключитьПроверкуСертификатов, Знач ПутьКСертификату = "") Экспорт
Возврат OPI_Компоненты.ПолучитьНастройкиTls(ОтключитьПроверкуСертификатов, ПутьКСертификату, Задержка); Возврат OPI_Компоненты.ПолучитьНастройкиTls(ОтключитьПроверкуСертификатов, ПутьКСертификату);
КонецФункции КонецФункции
@@ -794,8 +792,8 @@ Function GetProxySettings(Val Address, Val Port, Val View = "socks5", Val Login
Return ПолучитьНастройкиПрокси(Address, Port, View, Login, Password); Return ПолучитьНастройкиПрокси(Address, Port, View, Login, Password);
EndFunction EndFunction
Function GetTlsSettings(Val DisableCertVerification, Val CertFilepath = "", Val Delay = 250) Export Function GetTlsSettings(Val DisableCertVerification, Val CertFilepath = "") Export
Return ПолучитьНастройкиTls(DisableCertVerification, CertFilepath, Delay); Return ПолучитьНастройкиTls(DisableCertVerification, CertFilepath);
EndFunction EndFunction
Function ListObjects(Val Connection, Val Path = "", Val Recursively = False) Export Function ListObjects(Val Connection, Val Path = "", Val Recursively = False) Export

View File

@@ -84,25 +84,15 @@
СообщениеОшибки = "Переданы некорректные настройки Tls!"; СообщениеОшибки = "Переданы некорректные настройки Tls!";
OPI_ПреобразованиеТипов.ПолучитьКоллекциюКлючИЗначение(Tls, СообщениеОшибки); OPI_ПреобразованиеТипов.ПолучитьКоллекциюКлючИЗначение(Tls, СообщениеОшибки);
ИспользоватьTls = OPI_Инструменты.ПолучитьИли(Tls, "use_tls", Ложь); ИспользоватьTls = OPI_Инструменты.ПолучитьИли(Tls, "use_tls" , Ложь);
ОтключитьВалидацию = OPI_Инструменты.ПолучитьИли(Tls, "accept_invalid_certs", Ложь); ОтключитьВалидацию = OPI_Инструменты.ПолучитьИли(Tls, "accept_invalid_certs", Ложь);
ПутьКСертификату = OPI_Инструменты.ПолучитьИли(Tls, "ca_cert_path", ""); ПутьКСертификату = OPI_Инструменты.ПолучитьИли(Tls, "ca_cert_path" , "");
OPI_ПреобразованиеТипов.ПолучитьБулево(ИспользоватьTls); OPI_ПреобразованиеТипов.ПолучитьБулево(ИспользоватьTls);
OPI_ПреобразованиеТипов.ПолучитьБулево(ОтключитьВалидацию); OPI_ПреобразованиеТипов.ПолучитьБулево(ОтключитьВалидацию);
OPI_ПреобразованиеТипов.ПолучитьСтроку(ПутьКСертификату); OPI_ПреобразованиеТипов.ПолучитьСтроку(ПутьКСертификату);
Задержка = Неопределено; Результат = Компонета.SetTLS(ИспользоватьTls, ОтключитьВалидацию, ПутьКСертификату);
Если OPI_Инструменты.ПолеКоллекцииСуществует(Tls, "shutdown_delay", Задержка) Тогда
OPI_ПреобразованиеТипов.ПолучитьЧисло(Задержка);
Результат = Компонета.SetTLS(ИспользоватьTls, ОтключитьВалидацию, ПутьКСертификату, Задержка);
Иначе
Результат = Компонета.SetTLS(ИспользоватьTls, ОтключитьВалидацию, ПутьКСертификату);
КонецЕсли;
Результат = OPI_Инструменты.JsonВСтруктуру(Результат); Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
КонецЕсли; КонецЕсли;
@@ -111,15 +101,12 @@
КонецФункции КонецФункции
Функция ПолучитьНастройкиTls(Знач ОтключитьПроверкуСертификатов Функция ПолучитьНастройкиTls(Знач ОтключитьПроверкуСертификатов, Знач ПутьКСертификату = "") Экспорт
, Знач ПутьКСертификату = ""
, Знач Задержка = Неопределено) Экспорт
СтруктураСертификата = Новый Структура; СтруктураСертификата = Новый Структура;
OPI_Инструменты.ДобавитьПоле("use_tls" , Истина , "Булево", СтруктураСертификата); OPI_Инструменты.ДобавитьПоле("use_tls" , Истина , "Булево", СтруктураСертификата);
OPI_Инструменты.ДобавитьПоле("accept_invalid_certs", ОтключитьПроверкуСертификатов, "Булево", СтруктураСертификата); OPI_Инструменты.ДобавитьПоле("accept_invalid_certs", ОтключитьПроверкуСертификатов, "Булево", СтруктураСертификата);
OPI_Инструменты.ДобавитьПоле("ca_cert_path" , ПутьКСертификату , "Строка", СтруктураСертификата); OPI_Инструменты.ДобавитьПоле("ca_cert_path" , ПутьКСертификату , "Строка", СтруктураСертификата);
OPI_Инструменты.ДобавитьПоле("shutdown_delay" , Задержка , "Число" , СтруктураСертификата);
Возврат СтруктураСертификата; Возврат СтруктураСертификата;
@@ -222,8 +209,8 @@ Function SetTls(Val AddIn, Val Tls) Export
Return УстановитьTls(AddIn, Tls); Return УстановитьTls(AddIn, Tls);
EndFunction EndFunction
Function GetTlsSettings(Val DisableCertVerification, Val CertFilepath = "", Val Delay = Undefined) Export Function GetTlsSettings(Val DisableCertVerification, Val CertFilepath = "") Export
Return ПолучитьНастройкиTls(DisableCertVerification, CertFilepath, Delay); Return ПолучитьНастройкиTls(DisableCertVerification, CertFilepath);
EndFunction EndFunction
Function AddInsFolderOS() Export Function AddInsFolderOS() Export

View File

@@ -233,16 +233,6 @@
НоваяСтрока.Область = "Основные методы"; НоваяСтрока.Область = "Основные методы";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "ftp";
НоваяСтрока.Модуль = "OPI_FTP";
НоваяСтрока.Метод = "ПолучитьНастройкиTls";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬНАСТРОЙКИTLS";
НоваяСтрока.Параметр = "--delay";
НоваяСтрока.Описание = "Задержка перед закрытием соединения для корректного завершения TLS (мс) (необяз. по ум. - 250)";
НоваяСтрока.Область = "Основные методы";
НоваяСтрока = ТаблицаСостава.Добавить(); НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "ftp"; НоваяСтрока.Библиотека = "ftp";
НоваяСтрока.Модуль = "OPI_FTP"; НоваяСтрока.Модуль = "OPI_FTP";