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 |
|-|-|-|-|-|
| 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 |
| Delay | --delay | Number | ✖ | Delay before closing the connection for proper TLS termination (ms)) |
Returns: Structure Of KeyAndValue - Structure of TLS connection settings
@@ -27,8 +26,6 @@ import TabItem from '@theme/TabItem';
:::tip
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/>

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
oint ftp ПолучитьКонфигурациюСоединения \
--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'}"
--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':'***'}"
```
</TabItem>
@@ -87,12 +86,36 @@ import TabItem from '@theme/TabItem';
:: JSON данные также могут быть переданы как путь к файлу .json
oint ftp ПолучитьКонфигурациюСоединения ^
--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'}"
--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':'***'}"
```
</TabItem>
</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>
```bash
oint ftp ПолучитьНастройкиСоединения \
--host "172.33.0.11" \
--host "172.33.0.10" \
--port "21" \
--login "bayselonarrend" \
--pass "***"
@@ -62,7 +62,7 @@ import TabItem from '@theme/TabItem';
<TabItem value="bat" label="CMD/Bat" default>
```batch
oint ftp ПолучитьНастройкиСоединения ^
--host "172.33.0.11" ^
--host "172.33.0.10" ^
--port "21" ^
--login "bayselonarrend" ^
--pass "***"
@@ -71,4 +71,15 @@ import TabItem from '@theme/TabItem';
</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
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'}}" \
--file "/tmp/mqaca35j.w43.png" \
--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/3spyjvsd.201.png" \
--path "pic_from_binary.png"
```
</TabItem>
@@ -86,12 +86,17 @@ import TabItem from '@theme/TabItem';
:: JSON данные также могут быть переданы как путь к файлу .json
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'}}" ^
--file "/tmp/mqaca35j.w43.png" ^
--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/3spyjvsd.201.png" ^
--path "pic_from_binary.png"
```
</TabItem>
</Tabs>
```json title="Результат"
{
"bytes": 335937536,
"result": true
}
```

View File

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

View File

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

View File

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

View File

@@ -76,7 +76,7 @@ import TabItem from '@theme/TabItem';
# JSON данные также могут быть переданы как путь к файлу .json
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 "." \
--rcv "True"
```
@@ -87,7 +87,7 @@ import TabItem from '@theme/TabItem';
:: JSON данные также могут быть переданы как путь к файлу .json
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 "." ^
--rcv "True"
```
@@ -95,4 +95,33 @@ import TabItem from '@theme/TabItem';
</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
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"
```
</TabItem>
@@ -85,11 +85,15 @@ import TabItem from '@theme/TabItem';
:: JSON данные также могут быть переданы как путь к файлу .json
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"
```
</TabItem>
</Tabs>
```json title="Результат"
{
"result": true
}
```

View File

@@ -87,9 +87,9 @@ import TabItem from '@theme/TabItem';
# JSON данные также могут быть переданы как путь к файлу .json
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'}}" \
--file "/tmp/mqaca35j.w43.png" \
--path "pic_from_binary.png"
--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 "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 "new_dir/big.bin"
```
</TabItem>
@@ -98,12 +98,17 @@ import TabItem from '@theme/TabItem';
:: JSON данные также могут быть переданы как путь к файлу .json
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'}}" ^
--file "/tmp/mqaca35j.w43.png" ^
--path "pic_from_binary.png"
--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 "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 "new_dir/big.bin"
```
</TabItem>
</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
// 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
//
// Parameters:
// 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
// Delay - Number - Delay before closing the connection for proper TLS termination (ms)) - delay
//
// Returns:
// 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
@@ -794,8 +792,8 @@ Function ПолучитьНастройкиПрокси(Val Адрес, Val По
Return GetProxySettings(Адрес, Порт, Вид, Логин, Пароль);
EndFunction
Function ПолучитьНастройкиTls(Val ОтключитьПроверкуСертификатов, Val ПутьКСертификату = "", Val Задержка = 250) Export
Return GetTlsSettings(ОтключитьПроверкуСертификатов, ПутьКСертификату, Задержка);
Function ПолучитьНастройкиTls(Val ОтключитьПроверкуСертификатов, Val ПутьКСертификату = "") Export
Return GetTlsSettings(ОтключитьПроверкуСертификатов, ПутьКСертификату);
EndFunction
Function ПолучитьСписокОбъектов(Val Соединение, Val Путь = "", Val Рекурсивно = False) Export

View File

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

View File

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

View File

@@ -303,18 +303,16 @@ EndFunction
// Note
// 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
//
// Parameters:
// 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
// Delay - Number - Delay before closing the connection for proper TLS termination (ms)) - delay
//
// Returns:
// 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

View File

@@ -233,16 +233,6 @@ Function GetComposition() Export
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.Library = "ftp";
NewLine.Module = "OPI_FTP";

View File

@@ -303,18 +303,16 @@
// Примечание:
// Настройки Tls могут быть установлены только в момент создания соединения: явного, при использовании функции `ОткрытьСоединение`^^
// или неявного, при передаче настроек
// `Задержка` может быть увеличена при низкой скорости соединения для избежания проблем с корректным завершением TLS
//
// Параметры:
// ОтключитьПроверкуСертификатов - Булево - Позволяет работать с некорретными сертификатами, в т.ч. самоподписанными - trust
// ПутьКСертификату - Строка - Путь к корневому PEM файлу сертификата, если его нет в системном хранилище - cert
// Задержка - Число - Задержка перед закрытием соединения для корректного завершения TLS (мс) - delay
//
// Возвращаемое значение:
// Структура Из КлючИЗначение - Структура настроек 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);
EndFunction
Function GetTlsSettings(Val DisableCertVerification, Val CertFilepath = "", Val Delay = 250) Export
Return ПолучитьНастройкиTls(DisableCertVerification, CertFilepath, Delay);
Function GetTlsSettings(Val DisableCertVerification, Val CertFilepath = "") Export
Return ПолучитьНастройкиTls(DisableCertVerification, CertFilepath);
EndFunction
Function ListObjects(Val Connection, Val Path = "", Val Recursively = False) Export

View File

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

View File

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