ЦИТК-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",
//Пароль пользователя SMTP-сервера
sPass: "",
//Отображать ошибку о некорректном сертификате при проверке безопасности
//Запрещать использование самоподписанных сертификатов (true - запретить, false - разрешить)
bRejectUnauthorized: true,
//Наименование отправителя для исходящих сообщений
sFrom: "'Сервис интеграции с WEB-API' <appserver@citk-parus.ru>"

View File

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

View File

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