ЦИТК-758, ЦИТК-43 - Косметика: разрешение работы с SMTP без TLS и аутентификации, проверка корректности при формировании URL

This commit is contained in:
Mikhail Chechnev 2023-12-15 14:29:22 +03:00
parent bebe5d3b88
commit 64731dd097
3 changed files with 36 additions and 57 deletions

View File

@ -83,7 +83,7 @@ let mail = {
sUser: "appserver@citk-parus.ru", sUser: "appserver@citk-parus.ru",
//Пароль пользователя SMTP-сервера //Пароль пользователя SMTP-сервера
sPass: "", sPass: "",
//Отображать ошибку о некорректном сертификате при проверке безопасности //Запрещать использование самоподписанных сертификатов (true - запретить, false - разрешить)
bRejectUnauthorized: true, bRejectUnauthorized: true,
//Наименование отправителя для исходящих сообщений //Наименование отправителя для исходящих сообщений
sFrom: "'Сервис интеграции с WEB-API' <appserver@citk-parus.ru>" sFrom: "'Сервис интеграции с WEB-API' <appserver@citk-parus.ru>"

View File

@ -77,10 +77,14 @@ let mail = {
sHost: "", sHost: "",
//Порт сервера SMTP //Порт сервера SMTP
nPort: 465, nPort: 465,
//Использовать безопасное соединение SMTP (true - использование TLS/SSL, false - использование только в случае наличия STARTTLS)
bSecure: true,
//Имя пользователя SMTP-сервера //Имя пользователя SMTP-сервера
sUser: "", sUser: "",
//Пароль пользователя SMTP-сервера //Пароль пользователя SMTP-сервера
sPass: "", sPass: "",
//Запрещать использование самоподписанных сертификатов (true - запретить, false - разрешить)
bRejectUnauthorized: true,
//Наименование отправителя для исходящих сообщений //Наименование отправителя для исходящих сообщений
sFrom: "" sFrom: ""
}; };

View File

@ -74,8 +74,7 @@ const common = new Schema({
message: { message: {
type: path => `Таймаут останова сервера (${path}) имеет некорректный тип данных (ожидалось - Number)`, type: path => `Таймаут останова сервера (${path}) имеет некорректный тип данных (ожидалось - Number)`,
required: path => `Не указан таймаут останова сервера (${path})`, required: path => `Не указан таймаут останова сервера (${path})`,
validateTerminateTimeout: path => validateTerminateTimeout: path => `Таймаут останова сервера (${path}) должен быть целым числом в диапазоне от 1000 до 120000`
`Таймаут останова сервера (${path}) должен быть целым числом в диапазоне от 1000 до 120000`
} }
}, },
//Контроль версии Системы //Контроль версии Системы
@ -83,8 +82,7 @@ const common = new Schema({
type: Boolean, type: Boolean,
required: true, required: true,
message: { message: {
type: path => type: path => `Признак контроля версии Системы (${path}) имеет некорректный тип данных (ожидалось - Boolean)`,
`Признак контроля версии Системы (${path}) имеет некорректный тип данных (ожидалось - Boolean)`,
required: path => `Не указан признак контроля версии Системы (${path})` required: path => `Не указан признак контроля версии Системы (${path})`
} }
} }
@ -115,8 +113,7 @@ const dbConnect = new Schema({
type: String, type: String,
required: true, required: true,
message: { message: {
type: path => type: path => `Схема размещения используемых объектов БД (${path}) имеет некорректный тип данных (ожидалось - String)`,
`Схема размещения используемых объектов БД (${path}) имеет некорректный тип данных (ожидалось - String)`,
required: path => `Не указана схема размещения используемых объектов БД (${path})` required: path => `Не указана схема размещения используемых объектов БД (${path})`
} }
}, },
@ -134,8 +131,7 @@ const dbConnect = new Schema({
type: String, type: String,
required: true, required: true,
message: { message: {
type: path => type: path => `Наименование сервера приложений в сессии БД (${path}) имеет некорректный тип данных (ожидалось - String)`,
`Наименование сервера приложений в сессии БД (${path}) имеет некорректный тип данных (ожидалось - String)`,
required: path => `Не указано наименование сервера приложений в сессии БД (${path})` required: path => `Не указано наименование сервера приложений в сессии БД (${path})`
} }
}, },
@ -144,8 +140,7 @@ const dbConnect = new Schema({
type: String, type: String,
required: true, required: true,
message: { message: {
type: path => type: path => `Наименование подключаемого модуля обслуживания БД (${path}) имеет некорректный тип данных (ожидалось - String)`,
`Наименование подключаемого модуля обслуживания БД (${path}) имеет некорректный тип данных (ожидалось - String)`,
required: path => `Не указано наименование подключаемого модуля обслуживания БД (${path})` required: path => `Не указано наименование подключаемого модуля обслуживания БД (${path})`
} }
} }
@ -158,8 +153,7 @@ const outGoing = new Schema({
type: Boolean, type: Boolean,
required: true, required: true,
message: { message: {
type: path => type: path => `Признак проверки SSL-сертификатов адресов отправки сообщений (${path}) имеет некорректный тип данных (ожидалось - Number)`,
`Признак проверки SSL-сертификатов адресов отправки сообщений (${path}) имеет некорректный тип данных (ожидалось - Number)`,
required: path => `Не указан признак проверки SSL-сертификатов адресов отправки сообщений (${path})` required: path => `Не указан признак проверки SSL-сертификатов адресов отправки сообщений (${path})`
} }
}, },
@ -169,8 +163,7 @@ const outGoing = new Schema({
required: true, required: true,
use: { validateMaxWorkers }, use: { validateMaxWorkers },
message: { message: {
type: path => type: path => `Количество одновременно обрабатываемых исходящих сообщений (${path}) имеет некорректный тип данных (ожидалось - Number)`,
`Количество одновременно обрабатываемых исходящих сообщений (${path}) имеет некорректный тип данных (ожидалось - Number)`,
required: path => `Не указано количество одновременно обрабатываемых исходящих сообщений (${path})`, required: path => `Не указано количество одновременно обрабатываемых исходящих сообщений (${path})`,
validateMaxWorkers: path => validateMaxWorkers: path =>
`Количество одновременно обрабатываемых исходящих сообщений (${path}) должно быть целым числом в диапазоне от 1 до 100` `Количество одновременно обрабатываемых исходящих сообщений (${path}) должно быть целым числом в диапазоне от 1 до 100`
@ -182,8 +175,7 @@ const outGoing = new Schema({
required: true, required: true,
use: { validateCheckTimeout }, use: { validateCheckTimeout },
message: { message: {
type: path => type: path => `Интервал проверки наличия исходящих сообщений (${path}) имеет некорректный тип данных (ожидалось - Number)`,
`Интервал проверки наличия исходящих сообщений (${path}) имеет некорректный тип данных (ожидалось - Number)`,
required: path => `Не указан интервал проверки наличия исходящих сообщений (${path})`, required: path => `Не указан интервал проверки наличия исходящих сообщений (${path})`,
validateCheckTimeout: path => validateCheckTimeout: path =>
`Значение интервала проверки наличия исходящих сообщений (${path}) должно быть целым числом в диапазоне от 100 до 60000` `Значение интервала проверки наличия исходящих сообщений (${path}) должно быть целым числом в диапазоне от 100 до 60000`
@ -197,8 +189,7 @@ const outGoing = new Schema({
message: { message: {
type: path => type: path =>
`Минимальный размер пула подключений к БД для обработчика исходящих сообщений (${path}) имеет некорректный тип данных (ожидалось - Number)`, `Минимальный размер пула подключений к БД для обработчика исходящих сообщений (${path}) имеет некорректный тип данных (ожидалось - Number)`,
required: path => required: path => `Не указан минимальный размер пула подключений к БД для обработчика исходящих сообщений (${path})`,
`Не указан минимальный размер пула подключений к БД для обработчика исходящих сообщений (${path})`,
validatePoolMinOutGoing: path => validatePoolMinOutGoing: path =>
`Значение минимального размера пула подключений к БД для обработчика исходящих сообщений (${path}) должно быть целым числом в диапазоне от 0 до 10` `Значение минимального размера пула подключений к БД для обработчика исходящих сообщений (${path}) должно быть целым числом в диапазоне от 0 до 10`
} }
@ -211,8 +202,7 @@ const outGoing = new Schema({
message: { message: {
type: path => type: path =>
`Максимальный размер пула подключений к БД для обработчика исходящих сообщений (${path}) имеет некорректный тип данных (ожидалось - Number)`, `Максимальный размер пула подключений к БД для обработчика исходящих сообщений (${path}) имеет некорректный тип данных (ожидалось - Number)`,
required: path => required: path => `Не указан максимальный размер пула подключений к БД для обработчика исходящих сообщений (${path})`,
`Не указан максимальный размер пула подключений к БД для обработчика исходящих сообщений (${path})`,
validatePoolMaxOutGoing: path => validatePoolMaxOutGoing: path =>
`Значение максимального размера пула подключений к БД для обработчика исходящих сообщений (${path}) должно быть целым числом в диапазоне от 1 до 10` `Значение максимального размера пула подключений к БД для обработчика исходящих сообщений (${path}) должно быть целым числом в диапазоне от 1 до 10`
} }
@ -225,8 +215,7 @@ const outGoing = new Schema({
message: { message: {
type: path => type: path =>
`Шаг инкремента подключений к БД в пуле обработчика исходящих сообщений (${path}) имеет некорректный тип данных (ожидалось - Number)`, `Шаг инкремента подключений к БД в пуле обработчика исходящих сообщений (${path}) имеет некорректный тип данных (ожидалось - Number)`,
required: path => required: path => `Не указан шаг инкремента подключений к БД в пуле обработчика исходящих сообщений (${path})`,
`Не указан шаг инкремента подключений к БД в пуле обработчика исходящих сообщений (${path})`,
validatePoolIncrementOutGoing: path => validatePoolIncrementOutGoing: path =>
`Значение шага инкремента подключений к БД в пуле обработчика исходящих сообщений (${path}) должно быть целым числом в диапазоне от 0 до 10` `Значение шага инкремента подключений к БД в пуле обработчика исходящих сообщений (${path}) должно быть целым числом в диапазоне от 0 до 10`
} }
@ -236,10 +225,8 @@ const outGoing = new Schema({
type: String, type: String,
required: false, required: false,
message: { message: {
type: path => type: path => `Адрес прокси-сервера приложения (${path}) имеет некорректный тип данных (ожидалось - String)`,
`Адрес прокси-сервера приложения (${path}) имеет некорректный тип данных (ожидалось - String)`, required: path => `Не указан глобальный адрес прокси-сервера (${path})`
required: path =>
`Не указан глобальный адрес прокси-сервера (${path})`
} }
} }
}); });
@ -252,22 +239,18 @@ const inComing = new Schema({
required: true, required: true,
use: { validateInComingPort }, use: { validateInComingPort },
message: { message: {
type: path => type: path => `Порт сервера входящих сообщений (${path}) имеет некорректный тип данных (ожидалось - Number)`,
`Порт сервера входящих сообщений (${path}) имеет некорректный тип данных (ожидалось - Number)`,
required: path => `Не указан порт сервера входящих сообщений (${path})`, required: path => `Не указан порт сервера входящих сообщений (${path})`,
validateInComingPort: path => validateInComingPort: path => `Порт сервера входящих сообщений (${path}) должен быть целым числом в диапазоне от 0 до 65535`
`Порт сервера входящих сообщений (${path}) должен быть целым числом в диапазоне от 0 до 65535`
} }
}, },
sHost: { sHost: {
type: String, type: String,
required: true, required: true,
message: { message: {
type: path => type: path => `IP-адрес сервера приложений (${path}) имеет некорректный тип данных (ожидалось - String)`,
`IP-адрес сервера приложений (${path}) имеет некорректный тип данных (ожидалось - String)`,
required: path => `Не указан IP-адрес сервера приложений (${path})` required: path => `Не указан IP-адрес сервера приложений (${path})`
} }
}, },
//Максимальный размер входящего сообщения (мб) //Максимальный размер входящего сообщения (мб)
nMsgMaxSize: { nMsgMaxSize: {
@ -275,11 +258,9 @@ const inComing = new Schema({
required: true, required: true,
use: { validateMsgMaxSize }, use: { validateMsgMaxSize },
message: { message: {
type: path => type: path => `Максимальный размер входящего сообщения (${path}) имеет некорректный тип данных (ожидалось - Number)`,
`Максимальный размер входящего сообщения (${path}) имеет некорректный тип данных (ожидалось - Number)`,
required: path => `Не указан максимальный размер входящего сообщения (${path})`, required: path => `Не указан максимальный размер входящего сообщения (${path})`,
validateMsgMaxSize: path => validateMsgMaxSize: path => `Максимальный размер входящего сообщения (${path}) должен быть целым числом в диапазоне от 1 до 1000`
`Максимальный размер входящего сообщения (${path}) должен быть целым числом в диапазоне от 1 до 1000`
} }
}, },
//Каталог размещения статических ресурсов //Каталог размещения статических ресурсов
@ -287,8 +268,7 @@ const inComing = new Schema({
type: String, type: String,
required: true, required: true,
message: { message: {
type: path => type: path => `Каталог размещения статических ресурсов (${path}) имеет некорректный тип данных (ожидалось - String)`,
`Каталог размещения статических ресурсов (${path}) имеет некорректный тип данных (ожидалось - String)`,
required: path => `Не указан каталог размещения статических ресурсов (${path})` required: path => `Не указан каталог размещения статических ресурсов (${path})`
} }
}, },
@ -300,8 +280,7 @@ const inComing = new Schema({
message: { message: {
type: path => type: path =>
`Минимальный размер пула подключений к БД для обработчика входящих сообщений (${path}) имеет некорректный тип данных (ожидалось - Number)`, `Минимальный размер пула подключений к БД для обработчика входящих сообщений (${path}) имеет некорректный тип данных (ожидалось - Number)`,
required: path => required: path => `Не указан минимальный размер пула подключений к БД для обработчика входящих сообщений (${path})`,
`Не указан минимальный размер пула подключений к БД для обработчика входящих сообщений (${path})`,
validatePoolMinInComing: path => validatePoolMinInComing: path =>
`Значение минимального размера пула подключений к БД для обработчика входящих сообщений (${path}) должно быть целым числом в диапазоне от 0 до 1000` `Значение минимального размера пула подключений к БД для обработчика входящих сообщений (${path}) должно быть целым числом в диапазоне от 0 до 1000`
} }
@ -314,8 +293,7 @@ const inComing = new Schema({
message: { message: {
type: path => type: path =>
`Максимальный размер пула подключений к БД для обработчика входящих сообщений (${path}) имеет некорректный тип данных (ожидалось - Number)`, `Максимальный размер пула подключений к БД для обработчика входящих сообщений (${path}) имеет некорректный тип данных (ожидалось - Number)`,
required: path => required: path => `Не указан максимальный размер пула подключений к БД для обработчика входящих сообщений (${path})`,
`Не указан максимальный размер пула подключений к БД для обработчика входящих сообщений (${path})`,
validatePoolMaxInComing: path => validatePoolMaxInComing: path =>
`Значение максимального размера пула подключений к БД для обработчика входящих сообщений (${path}) должно быть целым числом в диапазоне от 1 до 1000` `Значение максимального размера пула подключений к БД для обработчика входящих сообщений (${path}) должно быть целым числом в диапазоне от 1 до 1000`
} }
@ -328,8 +306,7 @@ const inComing = new Schema({
message: { message: {
type: path => type: path =>
`Шаг инкремента подключений к БД в пуле обработчика входящих сообщений (${path}) имеет некорректный тип данных (ожидалось - Number)`, `Шаг инкремента подключений к БД в пуле обработчика входящих сообщений (${path}) имеет некорректный тип данных (ожидалось - Number)`,
required: path => required: path => `Не указан шаг инкремента подключений к БД в пуле обработчика входящих сообщений (${path})`,
`Не указан шаг инкремента подключений к БД в пуле обработчика входящих сообщений (${path})`,
validatePoolIncrementInComing: path => validatePoolIncrementInComing: path =>
`Значение шага инкремента подключений к БД в пуле обработчика входящих сообщений (${path}) должно быть целым числом в диапазоне от 0 до 1000` `Значение шага инкремента подключений к БД в пуле обработчика входящих сообщений (${path}) должно быть целым числом в диапазоне от 0 до 1000`
} }
@ -359,10 +336,10 @@ const mail = new Schema({
//Использовать безопасное соединение STMP //Использовать безопасное соединение STMP
bSecure: { bSecure: {
type: Boolean, type: Boolean,
required: false, required: true,
message: { message: {
type: path => `Использование безопасного соединения SMTP (${path}) имеет некорректный тип данных (ожидалось - Boolean)`, type: path => `Признак использования безопасного соединения SMTP (${path}) имеет некорректный тип данных (ожидалось - Boolean)`,
required: path => `Не указано использование безопасного соединения SMTP (${path})` required: path => `Не указан признак использования безопасного соединения SMTP (${path})`
} }
}, },
//Имя пользователя SMTP-сервера //Имя пользователя SMTP-сервера
@ -379,18 +356,17 @@ const mail = new Schema({
type: String, type: String,
required: false, required: false,
message: { message: {
type: path => type: path => `Пароль пользователя SMTP-сервера (${path}) имеет некорректный тип данных (ожидалось - String)`,
`Пароль пользователя SMTP-сервера (${path}) имеет некорректный тип данных (ожидалось - String)`,
required: path => `Не указан пароль пользователя SMTP-сервера (${path})` required: path => `Не указан пароль пользователя SMTP-сервера (${path})`
} }
}, },
//Отображать ошибку о некорректном сертификате при проверке безопасности //Поддерживать самоподписанные сертификаты при проверке безопасности
bRejectUnauthorized: { bRejectUnauthorized: {
type: Boolean, type: Boolean,
required: false, required: true,
message: { message: {
type: path => `Отображение ошибки о некорректном сертификате SMTP (${path}) имеет некорректный тип данных (ожидалось - Boolean)`, type: path => `Признак поддержки самоподписанных сертификатов SMTP (${path}) имеет некорректный тип данных (ожидалось - Boolean)`,
required: path => `Не указано отображение ошибки о некорректном сертификате (${path})` required: path => `Не указан признак поддержки самоподписанных сертификатов SMTP (${path})`
} }
}, },
//Наименование отправителя для исходящих сообщений //Наименование отправителя для исходящих сообщений
@ -398,8 +374,7 @@ const mail = new Schema({
type: String, type: String,
required: false, required: false,
message: { message: {
type: path => type: path => `Наименование отправителя для исходящих сообщений (${path}) имеет некорректный тип данных (ожидалось - String)`,
`Наименование отправителя для исходящих сообщений (${path}) имеет некорректный тип данных (ожидалось - String)`,
required: path => `Не указано наименование отправителя для исходящих сообщений (${path})` required: path => `Не указано наименование отправителя для исходящих сообщений (${path})`
} }
} }