@serve.zone/dcrouter 2.12.4 → 5.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (722) hide show
  1. package/.playwright-mcp/dcrouter-scrollbar-issue.png +0 -0
  2. package/.playwright-mcp/page-2026-02-01T23-10-23-737Z.png +0 -0
  3. package/.playwright-mcp/page-2026-02-01T23-11-19-449Z.png +0 -0
  4. package/.playwright-mcp/page-2026-02-01T23-12-03-126Z.png +0 -0
  5. package/.playwright-mcp/page-2026-02-01T23-12-15-576Z.png +0 -0
  6. package/changelog.md +103 -0
  7. package/npmextra.json +36 -2
  8. package/package.json +60 -46
  9. package/readme.hints.md +537 -670
  10. package/readme.md +659 -937
  11. package/test/test.contentscanner.ts +1 -1
  12. package/test/test.dcrouter.email.ts +70 -112
  13. package/test/test.dns-socket-handler.ts +75 -96
  14. package/test/test.errors.ts +3 -137
  15. package/test/test.jwt-auth.ts +1 -0
  16. package/test/test.opsserver-api.ts +1 -0
  17. package/test/test.protected-endpoint.ts +43 -38
  18. package/test_watch/devserver.ts +35 -0
  19. package/ts/00_commitinfo_data.ts +3 -3
  20. package/ts/cache/classes.cache.cleaner.ts +166 -0
  21. package/ts/cache/classes.cached.document.ts +111 -0
  22. package/ts/cache/classes.cachedb.ts +154 -0
  23. package/ts/cache/documents/classes.cached.email.ts +240 -0
  24. package/ts/cache/documents/classes.cached.ip.reputation.ts +247 -0
  25. package/ts/cache/documents/index.ts +2 -0
  26. package/ts/cache/index.ts +7 -0
  27. package/ts/classes.dcrouter.ts +229 -162
  28. package/ts/errors/index.ts +0 -2
  29. package/ts/index.ts +8 -2
  30. package/ts/monitoring/classes.metricscache.ts +75 -0
  31. package/ts/monitoring/classes.metricsmanager.ts +522 -0
  32. package/ts/monitoring/index.ts +1 -0
  33. package/ts/opsserver/classes.opsserver.ts +5 -1
  34. package/ts/opsserver/handlers/admin.handler.ts +1 -1
  35. package/ts/opsserver/handlers/config.handler.ts +16 -58
  36. package/ts/opsserver/handlers/email-ops.handler.ts +318 -0
  37. package/ts/opsserver/handlers/index.ts +3 -1
  38. package/ts/opsserver/handlers/radius.handler.ts +405 -0
  39. package/ts/opsserver/handlers/security.handler.ts +115 -6
  40. package/ts/opsserver/handlers/stats.handler.ts +177 -18
  41. package/ts/paths.ts +9 -9
  42. package/ts/plugins.ts +73 -11
  43. package/ts/radius/classes.accounting.manager.ts +607 -0
  44. package/ts/radius/classes.radius.server.ts +532 -0
  45. package/ts/radius/classes.vlan.manager.ts +363 -0
  46. package/ts/radius/index.ts +14 -0
  47. package/ts/security/classes.contentscanner.ts +2 -2
  48. package/ts/security/classes.ipreputationchecker.ts +2 -2
  49. package/ts/sms/classes.smsservice.ts +7 -9
  50. package/ts/storage/classes.storagemanager.ts +3 -3
  51. package/ts_interfaces/data/stats.ts +30 -0
  52. package/ts_interfaces/readme.md +205 -0
  53. package/ts_interfaces/requests/combined.stats.ts +25 -0
  54. package/ts_interfaces/requests/config.ts +1 -18
  55. package/ts_interfaces/requests/email-ops.ts +239 -0
  56. package/ts_interfaces/requests/index.ts +4 -1
  57. package/ts_interfaces/requests/radius.ts +329 -0
  58. package/ts_web/00_commitinfo_data.ts +3 -3
  59. package/ts_web/appstate.ts +523 -85
  60. package/ts_web/elements/index.ts +2 -1
  61. package/ts_web/elements/ops-dashboard.ts +117 -52
  62. package/ts_web/elements/ops-view-config.ts +236 -118
  63. package/ts_web/elements/ops-view-emails.ts +818 -0
  64. package/ts_web/elements/ops-view-logs.ts +14 -14
  65. package/ts_web/elements/ops-view-network.ts +580 -0
  66. package/ts_web/elements/ops-view-overview.ts +196 -110
  67. package/ts_web/elements/ops-view-security.ts +155 -96
  68. package/ts_web/elements/shared/ops-sectionheading.ts +1 -5
  69. package/ts_web/index.ts +4 -0
  70. package/ts_web/readme.md +211 -0
  71. package/ts_web/router.ts +181 -0
  72. package/tsconfig.json +0 -3
  73. package/dist_ts/00_commitinfo_data.d.ts +0 -8
  74. package/dist_ts/00_commitinfo_data.js +0 -9
  75. package/dist_ts/classes.dcrouter.d.ts +0 -238
  76. package/dist_ts/classes.dcrouter.js +0 -1008
  77. package/dist_ts/config/index.d.ts +0 -1
  78. package/dist_ts/config/index.js +0 -3
  79. package/dist_ts/config/validator.d.ts +0 -104
  80. package/dist_ts/config/validator.js +0 -152
  81. package/dist_ts/deliverability/classes.ipwarmupmanager.d.ts +0 -253
  82. package/dist_ts/deliverability/classes.ipwarmupmanager.js +0 -639
  83. package/dist_ts/deliverability/classes.senderreputationmonitor.d.ts +0 -300
  84. package/dist_ts/deliverability/classes.senderreputationmonitor.js +0 -961
  85. package/dist_ts/deliverability/index.d.ts +0 -2
  86. package/dist_ts/deliverability/index.js +0 -3
  87. package/dist_ts/errors/base.errors.d.ts +0 -224
  88. package/dist_ts/errors/base.errors.js +0 -310
  89. package/dist_ts/errors/email.errors.d.ts +0 -175
  90. package/dist_ts/errors/email.errors.js +0 -265
  91. package/dist_ts/errors/error-handler.d.ts +0 -98
  92. package/dist_ts/errors/error-handler.js +0 -282
  93. package/dist_ts/errors/error.codes.d.ts +0 -115
  94. package/dist_ts/errors/error.codes.js +0 -136
  95. package/dist_ts/errors/index.d.ts +0 -56
  96. package/dist_ts/errors/index.js +0 -138
  97. package/dist_ts/errors/mta.errors.d.ts +0 -259
  98. package/dist_ts/errors/mta.errors.js +0 -472
  99. package/dist_ts/errors/reputation.errors.d.ts +0 -183
  100. package/dist_ts/errors/reputation.errors.js +0 -292
  101. package/dist_ts/index.d.ts +0 -4
  102. package/dist_ts/index.js +0 -6
  103. package/dist_ts/logger.d.ts +0 -17
  104. package/dist_ts/logger.js +0 -77
  105. package/dist_ts/mail/core/classes.bouncemanager.d.ts +0 -200
  106. package/dist_ts/mail/core/classes.bouncemanager.js +0 -778
  107. package/dist_ts/mail/core/classes.email.d.ts +0 -291
  108. package/dist_ts/mail/core/classes.email.js +0 -780
  109. package/dist_ts/mail/core/classes.emailvalidator.d.ts +0 -61
  110. package/dist_ts/mail/core/classes.emailvalidator.js +0 -182
  111. package/dist_ts/mail/core/classes.templatemanager.d.ts +0 -95
  112. package/dist_ts/mail/core/classes.templatemanager.js +0 -239
  113. package/dist_ts/mail/core/index.d.ts +0 -4
  114. package/dist_ts/mail/core/index.js +0 -6
  115. package/dist_ts/mail/delivery/classes.delivery.queue.d.ts +0 -163
  116. package/dist_ts/mail/delivery/classes.delivery.queue.js +0 -485
  117. package/dist_ts/mail/delivery/classes.delivery.system.d.ts +0 -186
  118. package/dist_ts/mail/delivery/classes.delivery.system.js +0 -846
  119. package/dist_ts/mail/delivery/classes.emailsendjob.d.ts +0 -84
  120. package/dist_ts/mail/delivery/classes.emailsendjob.js +0 -362
  121. package/dist_ts/mail/delivery/classes.emailsignjob.d.ts +0 -18
  122. package/dist_ts/mail/delivery/classes.emailsignjob.js +0 -44
  123. package/dist_ts/mail/delivery/classes.mta.config.d.ts +0 -22
  124. package/dist_ts/mail/delivery/classes.mta.config.js +0 -51
  125. package/dist_ts/mail/delivery/classes.ratelimiter.d.ts +0 -98
  126. package/dist_ts/mail/delivery/classes.ratelimiter.js +0 -205
  127. package/dist_ts/mail/delivery/classes.smtp.client.legacy.d.ts +0 -275
  128. package/dist_ts/mail/delivery/classes.smtp.client.legacy.js +0 -973
  129. package/dist_ts/mail/delivery/classes.unified.rate.limiter.d.ts +0 -200
  130. package/dist_ts/mail/delivery/classes.unified.rate.limiter.js +0 -817
  131. package/dist_ts/mail/delivery/index.d.ts +0 -12
  132. package/dist_ts/mail/delivery/index.js +0 -18
  133. package/dist_ts/mail/delivery/interfaces.d.ts +0 -243
  134. package/dist_ts/mail/delivery/interfaces.js +0 -17
  135. package/dist_ts/mail/delivery/smtpclient/auth-handler.d.ts +0 -43
  136. package/dist_ts/mail/delivery/smtpclient/auth-handler.js +0 -188
  137. package/dist_ts/mail/delivery/smtpclient/command-handler.d.ts +0 -67
  138. package/dist_ts/mail/delivery/smtpclient/command-handler.js +0 -276
  139. package/dist_ts/mail/delivery/smtpclient/connection-manager.d.ts +0 -48
  140. package/dist_ts/mail/delivery/smtpclient/connection-manager.js +0 -238
  141. package/dist_ts/mail/delivery/smtpclient/constants.d.ts +0 -129
  142. package/dist_ts/mail/delivery/smtpclient/constants.js +0 -135
  143. package/dist_ts/mail/delivery/smtpclient/create-client.d.ts +0 -22
  144. package/dist_ts/mail/delivery/smtpclient/create-client.js +0 -86
  145. package/dist_ts/mail/delivery/smtpclient/error-handler.d.ts +0 -28
  146. package/dist_ts/mail/delivery/smtpclient/error-handler.js +0 -110
  147. package/dist_ts/mail/delivery/smtpclient/index.d.ts +0 -16
  148. package/dist_ts/mail/delivery/smtpclient/index.js +0 -21
  149. package/dist_ts/mail/delivery/smtpclient/interfaces.d.ts +0 -183
  150. package/dist_ts/mail/delivery/smtpclient/interfaces.js +0 -19
  151. package/dist_ts/mail/delivery/smtpclient/smtp-client.d.ts +0 -58
  152. package/dist_ts/mail/delivery/smtpclient/smtp-client.js +0 -279
  153. package/dist_ts/mail/delivery/smtpclient/tls-handler.d.ts +0 -33
  154. package/dist_ts/mail/delivery/smtpclient/tls-handler.js +0 -202
  155. package/dist_ts/mail/delivery/smtpclient/utils/helpers.d.ts +0 -77
  156. package/dist_ts/mail/delivery/smtpclient/utils/helpers.js +0 -196
  157. package/dist_ts/mail/delivery/smtpclient/utils/logging.d.ts +0 -46
  158. package/dist_ts/mail/delivery/smtpclient/utils/logging.js +0 -153
  159. package/dist_ts/mail/delivery/smtpclient/utils/validation.d.ts +0 -38
  160. package/dist_ts/mail/delivery/smtpclient/utils/validation.js +0 -139
  161. package/dist_ts/mail/delivery/smtpserver/certificate-utils.d.ts +0 -45
  162. package/dist_ts/mail/delivery/smtpserver/certificate-utils.js +0 -345
  163. package/dist_ts/mail/delivery/smtpserver/command-handler.d.ts +0 -156
  164. package/dist_ts/mail/delivery/smtpserver/command-handler.js +0 -1159
  165. package/dist_ts/mail/delivery/smtpserver/connection-manager.d.ts +0 -159
  166. package/dist_ts/mail/delivery/smtpserver/connection-manager.js +0 -894
  167. package/dist_ts/mail/delivery/smtpserver/constants.d.ts +0 -130
  168. package/dist_ts/mail/delivery/smtpserver/constants.js +0 -162
  169. package/dist_ts/mail/delivery/smtpserver/create-server.d.ts +0 -14
  170. package/dist_ts/mail/delivery/smtpserver/create-server.js +0 -28
  171. package/dist_ts/mail/delivery/smtpserver/data-handler.d.ts +0 -123
  172. package/dist_ts/mail/delivery/smtpserver/data-handler.js +0 -1148
  173. package/dist_ts/mail/delivery/smtpserver/index.d.ts +0 -20
  174. package/dist_ts/mail/delivery/smtpserver/index.js +0 -27
  175. package/dist_ts/mail/delivery/smtpserver/interfaces.d.ts +0 -530
  176. package/dist_ts/mail/delivery/smtpserver/interfaces.js +0 -10
  177. package/dist_ts/mail/delivery/smtpserver/secure-server.d.ts +0 -15
  178. package/dist_ts/mail/delivery/smtpserver/secure-server.js +0 -79
  179. package/dist_ts/mail/delivery/smtpserver/security-handler.d.ts +0 -86
  180. package/dist_ts/mail/delivery/smtpserver/security-handler.js +0 -234
  181. package/dist_ts/mail/delivery/smtpserver/session-manager.d.ts +0 -140
  182. package/dist_ts/mail/delivery/smtpserver/session-manager.js +0 -469
  183. package/dist_ts/mail/delivery/smtpserver/smtp-server.d.ts +0 -137
  184. package/dist_ts/mail/delivery/smtpserver/smtp-server.js +0 -666
  185. package/dist_ts/mail/delivery/smtpserver/starttls-handler.d.ts +0 -21
  186. package/dist_ts/mail/delivery/smtpserver/starttls-handler.js +0 -207
  187. package/dist_ts/mail/delivery/smtpserver/tls-handler.d.ts +0 -66
  188. package/dist_ts/mail/delivery/smtpserver/tls-handler.js +0 -261
  189. package/dist_ts/mail/delivery/smtpserver/utils/adaptive-logging.d.ts +0 -117
  190. package/dist_ts/mail/delivery/smtpserver/utils/adaptive-logging.js +0 -411
  191. package/dist_ts/mail/delivery/smtpserver/utils/helpers.d.ts +0 -78
  192. package/dist_ts/mail/delivery/smtpserver/utils/helpers.js +0 -208
  193. package/dist_ts/mail/delivery/smtpserver/utils/logging.d.ts +0 -106
  194. package/dist_ts/mail/delivery/smtpserver/utils/logging.js +0 -181
  195. package/dist_ts/mail/delivery/smtpserver/utils/validation.d.ts +0 -69
  196. package/dist_ts/mail/delivery/smtpserver/utils/validation.js +0 -360
  197. package/dist_ts/mail/index.d.ts +0 -8
  198. package/dist_ts/mail/index.js +0 -13
  199. package/dist_ts/mail/routing/classes.dns.manager.d.ts +0 -65
  200. package/dist_ts/mail/routing/classes.dns.manager.js +0 -413
  201. package/dist_ts/mail/routing/classes.dnsmanager.d.ts +0 -165
  202. package/dist_ts/mail/routing/classes.dnsmanager.js +0 -430
  203. package/dist_ts/mail/routing/classes.domain.registry.d.ts +0 -54
  204. package/dist_ts/mail/routing/classes.domain.registry.js +0 -118
  205. package/dist_ts/mail/routing/classes.email.config.d.ts +0 -64
  206. package/dist_ts/mail/routing/classes.email.config.js +0 -2
  207. package/dist_ts/mail/routing/classes.email.router.d.ts +0 -171
  208. package/dist_ts/mail/routing/classes.email.router.js +0 -491
  209. package/dist_ts/mail/routing/classes.unified.email.server.d.ts +0 -426
  210. package/dist_ts/mail/routing/classes.unified.email.server.js +0 -1454
  211. package/dist_ts/mail/routing/index.d.ts +0 -5
  212. package/dist_ts/mail/routing/index.js +0 -7
  213. package/dist_ts/mail/routing/interfaces.d.ts +0 -187
  214. package/dist_ts/mail/routing/interfaces.js +0 -2
  215. package/dist_ts/mail/security/classes.dkimcreator.d.ts +0 -68
  216. package/dist_ts/mail/security/classes.dkimcreator.js +0 -346
  217. package/dist_ts/mail/security/classes.dkimverifier.d.ts +0 -46
  218. package/dist_ts/mail/security/classes.dkimverifier.js +0 -317
  219. package/dist_ts/mail/security/classes.dmarcverifier.d.ts +0 -123
  220. package/dist_ts/mail/security/classes.dmarcverifier.js +0 -365
  221. package/dist_ts/mail/security/classes.spfverifier.d.ts +0 -103
  222. package/dist_ts/mail/security/classes.spfverifier.js +0 -492
  223. package/dist_ts/mail/security/index.d.ts +0 -4
  224. package/dist_ts/mail/security/index.js +0 -6
  225. package/dist_ts/opsserver/classes.opsserver.d.ts +0 -14
  226. package/dist_ts/opsserver/classes.opsserver.js +0 -37
  227. package/dist_ts/opsserver/index.d.ts +0 -1
  228. package/dist_ts/opsserver/index.js +0 -2
  229. package/dist_ts/paths.d.ts +0 -14
  230. package/dist_ts/paths.js +0 -39
  231. package/dist_ts/plugins.d.ts +0 -43
  232. package/dist_ts/plugins.js +0 -50
  233. package/dist_ts/security/classes.contentscanner.d.ts +0 -160
  234. package/dist_ts/security/classes.contentscanner.js +0 -634
  235. package/dist_ts/security/classes.ipreputationchecker.d.ts +0 -150
  236. package/dist_ts/security/classes.ipreputationchecker.js +0 -508
  237. package/dist_ts/security/classes.securitylogger.d.ts +0 -140
  238. package/dist_ts/security/classes.securitylogger.js +0 -232
  239. package/dist_ts/security/index.d.ts +0 -3
  240. package/dist_ts/security/index.js +0 -4
  241. package/dist_ts/sms/classes.smsservice.d.ts +0 -15
  242. package/dist_ts/sms/classes.smsservice.js +0 -72
  243. package/dist_ts/sms/config/sms.config.d.ts +0 -93
  244. package/dist_ts/sms/config/sms.config.js +0 -2
  245. package/dist_ts/sms/config/sms.schema.d.ts +0 -5
  246. package/dist_ts/sms/config/sms.schema.js +0 -121
  247. package/dist_ts/sms/index.d.ts +0 -1
  248. package/dist_ts/sms/index.js +0 -2
  249. package/dist_ts/storage/classes.storagemanager.d.ts +0 -82
  250. package/dist_ts/storage/classes.storagemanager.js +0 -341
  251. package/dist_ts/storage/index.d.ts +0 -1
  252. package/dist_ts/storage/index.js +0 -3
  253. package/dist_ts/ts/00_commitinfo_data.d.ts +0 -8
  254. package/dist_ts/ts/00_commitinfo_data.js +0 -9
  255. package/dist_ts/ts/classes.dcrouter.d.ts +0 -238
  256. package/dist_ts/ts/classes.dcrouter.js +0 -1008
  257. package/dist_ts/ts/config/index.d.ts +0 -1
  258. package/dist_ts/ts/config/index.js +0 -3
  259. package/dist_ts/ts/config/validator.d.ts +0 -104
  260. package/dist_ts/ts/config/validator.js +0 -152
  261. package/dist_ts/ts/deliverability/classes.ipwarmupmanager.d.ts +0 -253
  262. package/dist_ts/ts/deliverability/classes.ipwarmupmanager.js +0 -639
  263. package/dist_ts/ts/deliverability/classes.senderreputationmonitor.d.ts +0 -300
  264. package/dist_ts/ts/deliverability/classes.senderreputationmonitor.js +0 -961
  265. package/dist_ts/ts/deliverability/index.d.ts +0 -2
  266. package/dist_ts/ts/deliverability/index.js +0 -3
  267. package/dist_ts/ts/errors/base.errors.d.ts +0 -224
  268. package/dist_ts/ts/errors/base.errors.js +0 -310
  269. package/dist_ts/ts/errors/email.errors.d.ts +0 -175
  270. package/dist_ts/ts/errors/email.errors.js +0 -265
  271. package/dist_ts/ts/errors/error-handler.d.ts +0 -98
  272. package/dist_ts/ts/errors/error-handler.js +0 -282
  273. package/dist_ts/ts/errors/error.codes.d.ts +0 -115
  274. package/dist_ts/ts/errors/error.codes.js +0 -136
  275. package/dist_ts/ts/errors/index.d.ts +0 -56
  276. package/dist_ts/ts/errors/index.js +0 -138
  277. package/dist_ts/ts/errors/mta.errors.d.ts +0 -259
  278. package/dist_ts/ts/errors/mta.errors.js +0 -472
  279. package/dist_ts/ts/errors/reputation.errors.d.ts +0 -183
  280. package/dist_ts/ts/errors/reputation.errors.js +0 -292
  281. package/dist_ts/ts/index.d.ts +0 -4
  282. package/dist_ts/ts/index.js +0 -6
  283. package/dist_ts/ts/logger.d.ts +0 -17
  284. package/dist_ts/ts/logger.js +0 -77
  285. package/dist_ts/ts/mail/core/classes.bouncemanager.d.ts +0 -200
  286. package/dist_ts/ts/mail/core/classes.bouncemanager.js +0 -778
  287. package/dist_ts/ts/mail/core/classes.email.d.ts +0 -291
  288. package/dist_ts/ts/mail/core/classes.email.js +0 -780
  289. package/dist_ts/ts/mail/core/classes.emailvalidator.d.ts +0 -61
  290. package/dist_ts/ts/mail/core/classes.emailvalidator.js +0 -182
  291. package/dist_ts/ts/mail/core/classes.templatemanager.d.ts +0 -95
  292. package/dist_ts/ts/mail/core/classes.templatemanager.js +0 -239
  293. package/dist_ts/ts/mail/core/index.d.ts +0 -4
  294. package/dist_ts/ts/mail/core/index.js +0 -6
  295. package/dist_ts/ts/mail/delivery/classes.delivery.queue.d.ts +0 -163
  296. package/dist_ts/ts/mail/delivery/classes.delivery.queue.js +0 -485
  297. package/dist_ts/ts/mail/delivery/classes.delivery.system.d.ts +0 -186
  298. package/dist_ts/ts/mail/delivery/classes.delivery.system.js +0 -846
  299. package/dist_ts/ts/mail/delivery/classes.emailsendjob.d.ts +0 -84
  300. package/dist_ts/ts/mail/delivery/classes.emailsendjob.js +0 -362
  301. package/dist_ts/ts/mail/delivery/classes.emailsignjob.d.ts +0 -18
  302. package/dist_ts/ts/mail/delivery/classes.emailsignjob.js +0 -44
  303. package/dist_ts/ts/mail/delivery/classes.mta.config.d.ts +0 -22
  304. package/dist_ts/ts/mail/delivery/classes.mta.config.js +0 -51
  305. package/dist_ts/ts/mail/delivery/classes.ratelimiter.d.ts +0 -98
  306. package/dist_ts/ts/mail/delivery/classes.ratelimiter.js +0 -205
  307. package/dist_ts/ts/mail/delivery/classes.smtp.client.legacy.d.ts +0 -275
  308. package/dist_ts/ts/mail/delivery/classes.smtp.client.legacy.js +0 -973
  309. package/dist_ts/ts/mail/delivery/classes.unified.rate.limiter.d.ts +0 -200
  310. package/dist_ts/ts/mail/delivery/classes.unified.rate.limiter.js +0 -817
  311. package/dist_ts/ts/mail/delivery/index.d.ts +0 -12
  312. package/dist_ts/ts/mail/delivery/index.js +0 -18
  313. package/dist_ts/ts/mail/delivery/interfaces.d.ts +0 -243
  314. package/dist_ts/ts/mail/delivery/interfaces.js +0 -17
  315. package/dist_ts/ts/mail/delivery/smtpclient/auth-handler.d.ts +0 -43
  316. package/dist_ts/ts/mail/delivery/smtpclient/auth-handler.js +0 -188
  317. package/dist_ts/ts/mail/delivery/smtpclient/command-handler.d.ts +0 -67
  318. package/dist_ts/ts/mail/delivery/smtpclient/command-handler.js +0 -276
  319. package/dist_ts/ts/mail/delivery/smtpclient/connection-manager.d.ts +0 -48
  320. package/dist_ts/ts/mail/delivery/smtpclient/connection-manager.js +0 -238
  321. package/dist_ts/ts/mail/delivery/smtpclient/constants.d.ts +0 -129
  322. package/dist_ts/ts/mail/delivery/smtpclient/constants.js +0 -135
  323. package/dist_ts/ts/mail/delivery/smtpclient/create-client.d.ts +0 -22
  324. package/dist_ts/ts/mail/delivery/smtpclient/create-client.js +0 -86
  325. package/dist_ts/ts/mail/delivery/smtpclient/error-handler.d.ts +0 -28
  326. package/dist_ts/ts/mail/delivery/smtpclient/error-handler.js +0 -110
  327. package/dist_ts/ts/mail/delivery/smtpclient/index.d.ts +0 -16
  328. package/dist_ts/ts/mail/delivery/smtpclient/index.js +0 -21
  329. package/dist_ts/ts/mail/delivery/smtpclient/interfaces.d.ts +0 -183
  330. package/dist_ts/ts/mail/delivery/smtpclient/interfaces.js +0 -19
  331. package/dist_ts/ts/mail/delivery/smtpclient/smtp-client.d.ts +0 -58
  332. package/dist_ts/ts/mail/delivery/smtpclient/smtp-client.js +0 -279
  333. package/dist_ts/ts/mail/delivery/smtpclient/tls-handler.d.ts +0 -33
  334. package/dist_ts/ts/mail/delivery/smtpclient/tls-handler.js +0 -202
  335. package/dist_ts/ts/mail/delivery/smtpclient/utils/helpers.d.ts +0 -77
  336. package/dist_ts/ts/mail/delivery/smtpclient/utils/helpers.js +0 -196
  337. package/dist_ts/ts/mail/delivery/smtpclient/utils/logging.d.ts +0 -46
  338. package/dist_ts/ts/mail/delivery/smtpclient/utils/logging.js +0 -153
  339. package/dist_ts/ts/mail/delivery/smtpclient/utils/validation.d.ts +0 -38
  340. package/dist_ts/ts/mail/delivery/smtpclient/utils/validation.js +0 -139
  341. package/dist_ts/ts/mail/delivery/smtpserver/certificate-utils.d.ts +0 -45
  342. package/dist_ts/ts/mail/delivery/smtpserver/certificate-utils.js +0 -345
  343. package/dist_ts/ts/mail/delivery/smtpserver/command-handler.d.ts +0 -156
  344. package/dist_ts/ts/mail/delivery/smtpserver/command-handler.js +0 -1159
  345. package/dist_ts/ts/mail/delivery/smtpserver/connection-manager.d.ts +0 -159
  346. package/dist_ts/ts/mail/delivery/smtpserver/connection-manager.js +0 -894
  347. package/dist_ts/ts/mail/delivery/smtpserver/constants.d.ts +0 -130
  348. package/dist_ts/ts/mail/delivery/smtpserver/constants.js +0 -162
  349. package/dist_ts/ts/mail/delivery/smtpserver/create-server.d.ts +0 -14
  350. package/dist_ts/ts/mail/delivery/smtpserver/create-server.js +0 -28
  351. package/dist_ts/ts/mail/delivery/smtpserver/data-handler.d.ts +0 -123
  352. package/dist_ts/ts/mail/delivery/smtpserver/data-handler.js +0 -1148
  353. package/dist_ts/ts/mail/delivery/smtpserver/index.d.ts +0 -20
  354. package/dist_ts/ts/mail/delivery/smtpserver/index.js +0 -27
  355. package/dist_ts/ts/mail/delivery/smtpserver/interfaces.d.ts +0 -530
  356. package/dist_ts/ts/mail/delivery/smtpserver/interfaces.js +0 -10
  357. package/dist_ts/ts/mail/delivery/smtpserver/secure-server.d.ts +0 -15
  358. package/dist_ts/ts/mail/delivery/smtpserver/secure-server.js +0 -79
  359. package/dist_ts/ts/mail/delivery/smtpserver/security-handler.d.ts +0 -86
  360. package/dist_ts/ts/mail/delivery/smtpserver/security-handler.js +0 -234
  361. package/dist_ts/ts/mail/delivery/smtpserver/session-manager.d.ts +0 -140
  362. package/dist_ts/ts/mail/delivery/smtpserver/session-manager.js +0 -469
  363. package/dist_ts/ts/mail/delivery/smtpserver/smtp-server.d.ts +0 -137
  364. package/dist_ts/ts/mail/delivery/smtpserver/smtp-server.js +0 -666
  365. package/dist_ts/ts/mail/delivery/smtpserver/starttls-handler.d.ts +0 -21
  366. package/dist_ts/ts/mail/delivery/smtpserver/starttls-handler.js +0 -207
  367. package/dist_ts/ts/mail/delivery/smtpserver/tls-handler.d.ts +0 -66
  368. package/dist_ts/ts/mail/delivery/smtpserver/tls-handler.js +0 -261
  369. package/dist_ts/ts/mail/delivery/smtpserver/utils/adaptive-logging.d.ts +0 -117
  370. package/dist_ts/ts/mail/delivery/smtpserver/utils/adaptive-logging.js +0 -411
  371. package/dist_ts/ts/mail/delivery/smtpserver/utils/helpers.d.ts +0 -78
  372. package/dist_ts/ts/mail/delivery/smtpserver/utils/helpers.js +0 -208
  373. package/dist_ts/ts/mail/delivery/smtpserver/utils/logging.d.ts +0 -106
  374. package/dist_ts/ts/mail/delivery/smtpserver/utils/logging.js +0 -181
  375. package/dist_ts/ts/mail/delivery/smtpserver/utils/validation.d.ts +0 -69
  376. package/dist_ts/ts/mail/delivery/smtpserver/utils/validation.js +0 -360
  377. package/dist_ts/ts/mail/index.d.ts +0 -8
  378. package/dist_ts/ts/mail/index.js +0 -13
  379. package/dist_ts/ts/mail/routing/classes.dns.manager.d.ts +0 -65
  380. package/dist_ts/ts/mail/routing/classes.dns.manager.js +0 -413
  381. package/dist_ts/ts/mail/routing/classes.dnsmanager.d.ts +0 -165
  382. package/dist_ts/ts/mail/routing/classes.dnsmanager.js +0 -430
  383. package/dist_ts/ts/mail/routing/classes.domain.registry.d.ts +0 -54
  384. package/dist_ts/ts/mail/routing/classes.domain.registry.js +0 -118
  385. package/dist_ts/ts/mail/routing/classes.email.config.d.ts +0 -64
  386. package/dist_ts/ts/mail/routing/classes.email.config.js +0 -2
  387. package/dist_ts/ts/mail/routing/classes.email.router.d.ts +0 -171
  388. package/dist_ts/ts/mail/routing/classes.email.router.js +0 -491
  389. package/dist_ts/ts/mail/routing/classes.unified.email.server.d.ts +0 -426
  390. package/dist_ts/ts/mail/routing/classes.unified.email.server.js +0 -1454
  391. package/dist_ts/ts/mail/routing/index.d.ts +0 -5
  392. package/dist_ts/ts/mail/routing/index.js +0 -7
  393. package/dist_ts/ts/mail/routing/interfaces.d.ts +0 -187
  394. package/dist_ts/ts/mail/routing/interfaces.js +0 -2
  395. package/dist_ts/ts/mail/security/classes.dkimcreator.d.ts +0 -68
  396. package/dist_ts/ts/mail/security/classes.dkimcreator.js +0 -346
  397. package/dist_ts/ts/mail/security/classes.dkimverifier.d.ts +0 -46
  398. package/dist_ts/ts/mail/security/classes.dkimverifier.js +0 -317
  399. package/dist_ts/ts/mail/security/classes.dmarcverifier.d.ts +0 -123
  400. package/dist_ts/ts/mail/security/classes.dmarcverifier.js +0 -365
  401. package/dist_ts/ts/mail/security/classes.spfverifier.d.ts +0 -103
  402. package/dist_ts/ts/mail/security/classes.spfverifier.js +0 -492
  403. package/dist_ts/ts/mail/security/index.d.ts +0 -4
  404. package/dist_ts/ts/mail/security/index.js +0 -6
  405. package/dist_ts/ts/opsserver/classes.opsserver.d.ts +0 -20
  406. package/dist_ts/ts/opsserver/classes.opsserver.js +0 -44
  407. package/dist_ts/ts/opsserver/handlers/admin.handler.d.ts +0 -31
  408. package/dist_ts/ts/opsserver/handlers/admin.handler.js +0 -177
  409. package/dist_ts/ts/opsserver/handlers/config.handler.d.ts +0 -10
  410. package/dist_ts/ts/opsserver/handlers/config.handler.js +0 -100
  411. package/dist_ts/ts/opsserver/handlers/index.d.ts +0 -5
  412. package/dist_ts/ts/opsserver/handlers/index.js +0 -6
  413. package/dist_ts/ts/opsserver/handlers/logs.handler.d.ts +0 -10
  414. package/dist_ts/ts/opsserver/handlers/logs.handler.js +0 -121
  415. package/dist_ts/ts/opsserver/handlers/security.handler.d.ts +0 -11
  416. package/dist_ts/ts/opsserver/handlers/security.handler.js +0 -118
  417. package/dist_ts/ts/opsserver/handlers/stats.handler.d.ts +0 -13
  418. package/dist_ts/ts/opsserver/handlers/stats.handler.js +0 -233
  419. package/dist_ts/ts/opsserver/helpers/guards.d.ts +0 -25
  420. package/dist_ts/ts/opsserver/helpers/guards.js +0 -41
  421. package/dist_ts/ts/opsserver/index.d.ts +0 -1
  422. package/dist_ts/ts/opsserver/index.js +0 -2
  423. package/dist_ts/ts/paths.d.ts +0 -14
  424. package/dist_ts/ts/paths.js +0 -39
  425. package/dist_ts/ts/plugins.d.ts +0 -46
  426. package/dist_ts/ts/plugins.js +0 -53
  427. package/dist_ts/ts/security/classes.contentscanner.d.ts +0 -160
  428. package/dist_ts/ts/security/classes.contentscanner.js +0 -634
  429. package/dist_ts/ts/security/classes.ipreputationchecker.d.ts +0 -150
  430. package/dist_ts/ts/security/classes.ipreputationchecker.js +0 -508
  431. package/dist_ts/ts/security/classes.securitylogger.d.ts +0 -140
  432. package/dist_ts/ts/security/classes.securitylogger.js +0 -232
  433. package/dist_ts/ts/security/index.d.ts +0 -3
  434. package/dist_ts/ts/security/index.js +0 -4
  435. package/dist_ts/ts/sms/classes.smsservice.d.ts +0 -15
  436. package/dist_ts/ts/sms/classes.smsservice.js +0 -72
  437. package/dist_ts/ts/sms/config/sms.config.d.ts +0 -93
  438. package/dist_ts/ts/sms/config/sms.config.js +0 -2
  439. package/dist_ts/ts/sms/config/sms.schema.d.ts +0 -5
  440. package/dist_ts/ts/sms/config/sms.schema.js +0 -121
  441. package/dist_ts/ts/sms/index.d.ts +0 -1
  442. package/dist_ts/ts/sms/index.js +0 -2
  443. package/dist_ts/ts/storage/classes.storagemanager.d.ts +0 -82
  444. package/dist_ts/ts/storage/classes.storagemanager.js +0 -341
  445. package/dist_ts/ts/storage/index.d.ts +0 -1
  446. package/dist_ts/ts/storage/index.js +0 -3
  447. package/dist_ts/ts_interfaces/data/auth.d.ts +0 -8
  448. package/dist_ts/ts_interfaces/data/auth.js +0 -2
  449. package/dist_ts/ts_interfaces/data/index.d.ts +0 -2
  450. package/dist_ts/ts_interfaces/data/index.js +0 -3
  451. package/dist_ts/ts_interfaces/data/stats.d.ts +0 -93
  452. package/dist_ts/ts_interfaces/data/stats.js +0 -2
  453. package/dist_ts/ts_interfaces/index.d.ts +0 -5
  454. package/dist_ts/ts_interfaces/index.js +0 -8
  455. package/dist_ts/ts_interfaces/plugins.d.ts +0 -2
  456. package/dist_ts/ts_interfaces/plugins.js +0 -4
  457. package/dist_ts/ts_interfaces/requests/admin.d.ts +0 -31
  458. package/dist_ts/ts_interfaces/requests/admin.js +0 -3
  459. package/dist_ts/ts_interfaces/requests/config.d.ts +0 -25
  460. package/dist_ts/ts_interfaces/requests/config.js +0 -3
  461. package/dist_ts/ts_interfaces/requests/index.d.ts +0 -4
  462. package/dist_ts/ts_interfaces/requests/index.js +0 -5
  463. package/dist_ts/ts_interfaces/requests/logs.d.ts +0 -34
  464. package/dist_ts/ts_interfaces/requests/logs.js +0 -4
  465. package/dist_ts/ts_interfaces/requests/stats.d.ts +0 -131
  466. package/dist_ts/ts_interfaces/requests/stats.js +0 -4
  467. package/readme.opsserver.md +0 -351
  468. package/test/helpers/server.loader.ts +0 -347
  469. package/test/helpers/smtp.client.ts +0 -209
  470. package/test/helpers/utils.ts +0 -311
  471. package/test/suite/smtpclient_commands/test.ccmd-01.ehlo-helo-sending.ts +0 -168
  472. package/test/suite/smtpclient_commands/test.ccmd-02.mail-from-parameters.ts +0 -277
  473. package/test/suite/smtpclient_commands/test.ccmd-03.rcpt-to-multiple.ts +0 -283
  474. package/test/suite/smtpclient_commands/test.ccmd-04.data-transmission.ts +0 -274
  475. package/test/suite/smtpclient_commands/test.ccmd-05.auth-mechanisms.ts +0 -306
  476. package/test/suite/smtpclient_commands/test.ccmd-06.command-pipelining.ts +0 -233
  477. package/test/suite/smtpclient_commands/test.ccmd-07.response-parsing.ts +0 -243
  478. package/test/suite/smtpclient_commands/test.ccmd-08.rset-command.ts +0 -333
  479. package/test/suite/smtpclient_commands/test.ccmd-09.noop-command.ts +0 -339
  480. package/test/suite/smtpclient_commands/test.ccmd-10.vrfy-expn.ts +0 -457
  481. package/test/suite/smtpclient_commands/test.ccmd-11.help-command.ts +0 -409
  482. package/test/suite/smtpclient_connection/test.ccm-01.basic-tcp-connection.ts +0 -150
  483. package/test/suite/smtpclient_connection/test.ccm-02.tls-connection.ts +0 -140
  484. package/test/suite/smtpclient_connection/test.ccm-03.starttls-upgrade.ts +0 -208
  485. package/test/suite/smtpclient_connection/test.ccm-04.connection-pooling.ts +0 -250
  486. package/test/suite/smtpclient_connection/test.ccm-05.connection-reuse.ts +0 -288
  487. package/test/suite/smtpclient_connection/test.ccm-06.connection-timeout.ts +0 -267
  488. package/test/suite/smtpclient_connection/test.ccm-07.automatic-reconnection.ts +0 -324
  489. package/test/suite/smtpclient_connection/test.ccm-08.dns-resolution.ts +0 -139
  490. package/test/suite/smtpclient_connection/test.ccm-09.ipv6-dual-stack.ts +0 -167
  491. package/test/suite/smtpclient_connection/test.ccm-10.proxy-support.ts +0 -305
  492. package/test/suite/smtpclient_connection/test.ccm-11.keepalive.ts +0 -299
  493. package/test/suite/smtpclient_edge-cases/test.cedge-01.unusual-server-responses.ts +0 -529
  494. package/test/suite/smtpclient_edge-cases/test.cedge-02.malformed-commands.ts +0 -438
  495. package/test/suite/smtpclient_edge-cases/test.cedge-03.protocol-violations.ts +0 -446
  496. package/test/suite/smtpclient_edge-cases/test.cedge-04.resource-constraints.ts +0 -530
  497. package/test/suite/smtpclient_edge-cases/test.cedge-05.encoding-issues.ts +0 -145
  498. package/test/suite/smtpclient_edge-cases/test.cedge-06.large-headers.ts +0 -180
  499. package/test/suite/smtpclient_edge-cases/test.cedge-07.concurrent-operations.ts +0 -204
  500. package/test/suite/smtpclient_email-composition/test.cep-01.basic-headers.ts +0 -245
  501. package/test/suite/smtpclient_email-composition/test.cep-02.mime-multipart.ts +0 -321
  502. package/test/suite/smtpclient_email-composition/test.cep-03.attachment-encoding.ts +0 -334
  503. package/test/suite/smtpclient_email-composition/test.cep-04.bcc-handling.ts +0 -187
  504. package/test/suite/smtpclient_email-composition/test.cep-05.reply-to-return-path.ts +0 -277
  505. package/test/suite/smtpclient_email-composition/test.cep-06.utf8-international.ts +0 -235
  506. package/test/suite/smtpclient_email-composition/test.cep-07.html-inline-images.ts +0 -489
  507. package/test/suite/smtpclient_email-composition/test.cep-08.custom-headers.ts +0 -293
  508. package/test/suite/smtpclient_email-composition/test.cep-09.priority-importance.ts +0 -314
  509. package/test/suite/smtpclient_email-composition/test.cep-10.receipts-dsn.ts +0 -411
  510. package/test/suite/smtpclient_error-handling/test.cerr-01.4xx-errors.ts +0 -232
  511. package/test/suite/smtpclient_error-handling/test.cerr-02.5xx-errors.ts +0 -309
  512. package/test/suite/smtpclient_error-handling/test.cerr-03.network-failures.ts +0 -299
  513. package/test/suite/smtpclient_error-handling/test.cerr-04.greylisting-handling.ts +0 -255
  514. package/test/suite/smtpclient_error-handling/test.cerr-05.quota-exceeded.ts +0 -273
  515. package/test/suite/smtpclient_error-handling/test.cerr-06.invalid-recipients.ts +0 -320
  516. package/test/suite/smtpclient_error-handling/test.cerr-07.message-size-limits.ts +0 -320
  517. package/test/suite/smtpclient_error-handling/test.cerr-08.rate-limiting.ts +0 -261
  518. package/test/suite/smtpclient_error-handling/test.cerr-09.connection-pool-errors.ts +0 -299
  519. package/test/suite/smtpclient_error-handling/test.cerr-10.partial-failure.ts +0 -373
  520. package/test/suite/smtpclient_performance/test.cperf-01.bulk-sending.ts +0 -332
  521. package/test/suite/smtpclient_performance/test.cperf-02.message-throughput.ts +0 -304
  522. package/test/suite/smtpclient_performance/test.cperf-03.memory-usage.ts +0 -332
  523. package/test/suite/smtpclient_performance/test.cperf-04.cpu-utilization.ts +0 -373
  524. package/test/suite/smtpclient_performance/test.cperf-05.network-efficiency.ts +0 -181
  525. package/test/suite/smtpclient_performance/test.cperf-06.caching-strategies.ts +0 -190
  526. package/test/suite/smtpclient_performance/test.cperf-07.queue-management.ts +0 -171
  527. package/test/suite/smtpclient_performance/test.cperf-08.dns-caching.ts +0 -50
  528. package/test/suite/smtpclient_reliability/test.crel-01.reconnection-logic.ts +0 -305
  529. package/test/suite/smtpclient_reliability/test.crel-02.network-interruption.ts +0 -207
  530. package/test/suite/smtpclient_reliability/test.crel-03.queue-persistence.ts +0 -469
  531. package/test/suite/smtpclient_reliability/test.crel-04.crash-recovery.ts +0 -520
  532. package/test/suite/smtpclient_reliability/test.crel-05.memory-leaks.ts +0 -503
  533. package/test/suite/smtpclient_reliability/test.crel-06.concurrency-safety.ts +0 -558
  534. package/test/suite/smtpclient_reliability/test.crel-07.resource-cleanup.ts +0 -52
  535. package/test/suite/smtpclient_rfc-compliance/test.crfc-01.rfc5321-client.ts +0 -283
  536. package/test/suite/smtpclient_rfc-compliance/test.crfc-02.esmtp-compliance.ts +0 -77
  537. package/test/suite/smtpclient_rfc-compliance/test.crfc-03.command-syntax.ts +0 -67
  538. package/test/suite/smtpclient_rfc-compliance/test.crfc-04.response-codes.ts +0 -54
  539. package/test/suite/smtpclient_rfc-compliance/test.crfc-05.state-machine.ts +0 -703
  540. package/test/suite/smtpclient_rfc-compliance/test.crfc-06.protocol-negotiation.ts +0 -688
  541. package/test/suite/smtpclient_rfc-compliance/test.crfc-07.interoperability.ts +0 -728
  542. package/test/suite/smtpclient_rfc-compliance/test.crfc-08.smtp-extensions.ts +0 -656
  543. package/test/suite/smtpclient_security/test.csec-01.tls-verification.ts +0 -88
  544. package/test/suite/smtpclient_security/test.csec-02.oauth2-authentication.ts +0 -132
  545. package/test/suite/smtpclient_security/test.csec-03.dkim-signing.ts +0 -138
  546. package/test/suite/smtpclient_security/test.csec-04.spf-compliance.ts +0 -163
  547. package/test/suite/smtpclient_security/test.csec-05.dmarc-policy.ts +0 -200
  548. package/test/suite/smtpclient_security/test.csec-06.certificate-validation.ts +0 -145
  549. package/test/suite/smtpclient_security/test.csec-07.cipher-suites.ts +0 -153
  550. package/test/suite/smtpclient_security/test.csec-08.authentication-fallback.ts +0 -154
  551. package/test/suite/smtpclient_security/test.csec-09.relay-restrictions.ts +0 -166
  552. package/test/suite/smtpclient_security/test.csec-10.anti-spam-measures.ts +0 -196
  553. package/test/suite/smtpserver_commands/test.cmd-01.ehlo-command.ts +0 -193
  554. package/test/suite/smtpserver_commands/test.cmd-02.mail-from.ts +0 -330
  555. package/test/suite/smtpserver_commands/test.cmd-03.rcpt-to.ts +0 -296
  556. package/test/suite/smtpserver_commands/test.cmd-04.data-command.ts +0 -395
  557. package/test/suite/smtpserver_commands/test.cmd-05.noop-command.ts +0 -320
  558. package/test/suite/smtpserver_commands/test.cmd-06.rset-command.ts +0 -399
  559. package/test/suite/smtpserver_commands/test.cmd-07.vrfy-command.ts +0 -391
  560. package/test/suite/smtpserver_commands/test.cmd-08.expn-command.ts +0 -450
  561. package/test/suite/smtpserver_commands/test.cmd-09.size-extension.ts +0 -465
  562. package/test/suite/smtpserver_commands/test.cmd-10.help-command.ts +0 -454
  563. package/test/suite/smtpserver_commands/test.cmd-11.command-pipelining.ts +0 -334
  564. package/test/suite/smtpserver_commands/test.cmd-12.helo-command.ts +0 -420
  565. package/test/suite/smtpserver_commands/test.cmd-13.quit-command.ts +0 -384
  566. package/test/suite/smtpserver_connection/test.cm-01.tls-connection.ts +0 -61
  567. package/test/suite/smtpserver_connection/test.cm-02.multiple-connections.ts +0 -112
  568. package/test/suite/smtpserver_connection/test.cm-03.connection-timeout.ts +0 -134
  569. package/test/suite/smtpserver_connection/test.cm-04.connection-limits.ts +0 -374
  570. package/test/suite/smtpserver_connection/test.cm-05.connection-rejection.ts +0 -296
  571. package/test/suite/smtpserver_connection/test.cm-06.starttls-upgrade.ts +0 -468
  572. package/test/suite/smtpserver_connection/test.cm-07.abrupt-disconnection.ts +0 -321
  573. package/test/suite/smtpserver_connection/test.cm-08.tls-versions.ts +0 -361
  574. package/test/suite/smtpserver_connection/test.cm-09.tls-ciphers.ts +0 -556
  575. package/test/suite/smtpserver_connection/test.cm-10.plain-connection.ts +0 -293
  576. package/test/suite/smtpserver_connection/test.cm-11.keepalive.ts +0 -382
  577. package/test/suite/smtpserver_edge-cases/test.edge-01.very-large-email.ts +0 -239
  578. package/test/suite/smtpserver_edge-cases/test.edge-02.very-small-email.ts +0 -389
  579. package/test/suite/smtpserver_edge-cases/test.edge-03.invalid-character-handling.ts +0 -479
  580. package/test/suite/smtpserver_edge-cases/test.edge-04.empty-commands.ts +0 -430
  581. package/test/suite/smtpserver_edge-cases/test.edge-05.extremely-long-lines.ts +0 -425
  582. package/test/suite/smtpserver_edge-cases/test.edge-06.extremely-long-headers.ts +0 -404
  583. package/test/suite/smtpserver_edge-cases/test.edge-07.unusual-mime-types.ts +0 -333
  584. package/test/suite/smtpserver_edge-cases/test.edge-08.nested-mime-structures.ts +0 -379
  585. package/test/suite/smtpserver_email-processing/test.ep-01.basic-email-sending.ts +0 -338
  586. package/test/suite/smtpserver_email-processing/test.ep-02.invalid-email-addresses.ts +0 -315
  587. package/test/suite/smtpserver_email-processing/test.ep-03.multiple-recipients.ts +0 -493
  588. package/test/suite/smtpserver_email-processing/test.ep-04.large-email.ts +0 -528
  589. package/test/suite/smtpserver_email-processing/test.ep-05.mime-handling.ts +0 -515
  590. package/test/suite/smtpserver_email-processing/test.ep-06.attachment-handling.ts +0 -629
  591. package/test/suite/smtpserver_email-processing/test.ep-07.special-character-handling.ts +0 -462
  592. package/test/suite/smtpserver_email-processing/test.ep-08.email-routing.ts +0 -527
  593. package/test/suite/smtpserver_email-processing/test.ep-09.delivery-status-notifications.ts +0 -486
  594. package/test/suite/smtpserver_error-handling/test.err-01.syntax-errors.ts +0 -475
  595. package/test/suite/smtpserver_error-handling/test.err-02.invalid-sequence.ts +0 -450
  596. package/test/suite/smtpserver_error-handling/test.err-03.temporary-failures.ts +0 -453
  597. package/test/suite/smtpserver_error-handling/test.err-04.permanent-failures.ts +0 -325
  598. package/test/suite/smtpserver_error-handling/test.err-05.resource-exhaustion.ts +0 -302
  599. package/test/suite/smtpserver_error-handling/test.err-06.malformed-mime.ts +0 -374
  600. package/test/suite/smtpserver_error-handling/test.err-07.exception-handling.ts +0 -333
  601. package/test/suite/smtpserver_error-handling/test.err-08.error-logging.ts +0 -324
  602. package/test/suite/smtpserver_performance/test.perf-01.throughput.ts +0 -183
  603. package/test/suite/smtpserver_performance/test.perf-02.concurrency.ts +0 -388
  604. package/test/suite/smtpserver_performance/test.perf-03.cpu-utilization.ts +0 -245
  605. package/test/suite/smtpserver_performance/test.perf-04.memory-usage.ts +0 -238
  606. package/test/suite/smtpserver_performance/test.perf-05.connection-processing-time.ts +0 -363
  607. package/test/suite/smtpserver_performance/test.perf-06.message-processing-time.ts +0 -252
  608. package/test/suite/smtpserver_performance/test.perf-07.resource-cleanup.ts +0 -317
  609. package/test/suite/smtpserver_reliability/test.rel-01.long-running-operation.ts +0 -344
  610. package/test/suite/smtpserver_reliability/test.rel-02.restart-recovery.ts +0 -328
  611. package/test/suite/smtpserver_reliability/test.rel-03.resource-leak-detection.ts +0 -394
  612. package/test/suite/smtpserver_reliability/test.rel-04.error-recovery.ts +0 -401
  613. package/test/suite/smtpserver_reliability/test.rel-05.dns-resolution-failure.ts +0 -335
  614. package/test/suite/smtpserver_reliability/test.rel-06.network-interruption.ts +0 -410
  615. package/test/suite/smtpserver_rfc-compliance/test.rfc-01.rfc5321-compliance.ts +0 -382
  616. package/test/suite/smtpserver_rfc-compliance/test.rfc-02.rfc5322-compliance.ts +0 -428
  617. package/test/suite/smtpserver_rfc-compliance/test.rfc-03.rfc7208-spf-compliance.ts +0 -330
  618. package/test/suite/smtpserver_rfc-compliance/test.rfc-04.rfc6376-dkim-compliance.ts +0 -450
  619. package/test/suite/smtpserver_rfc-compliance/test.rfc-05.rfc7489-dmarc-compliance.ts +0 -408
  620. package/test/suite/smtpserver_rfc-compliance/test.rfc-06.rfc8314-tls-compliance.ts +0 -366
  621. package/test/suite/smtpserver_rfc-compliance/test.rfc-07.rfc3461-dsn-compliance.ts +0 -399
  622. package/test/suite/smtpserver_security/test.sec-01.authentication.ts +0 -218
  623. package/test/suite/smtpserver_security/test.sec-02.authorization.ts +0 -286
  624. package/test/suite/smtpserver_security/test.sec-03.dkim-processing.ts +0 -414
  625. package/test/suite/smtpserver_security/test.sec-04.spf-checking.ts +0 -280
  626. package/test/suite/smtpserver_security/test.sec-05.dmarc-policy.ts +0 -374
  627. package/test/suite/smtpserver_security/test.sec-06.ip-reputation.ts +0 -303
  628. package/test/suite/smtpserver_security/test.sec-07.content-scanning.ts +0 -409
  629. package/test/suite/smtpserver_security/test.sec-08.rate-limiting.ts +0 -324
  630. package/test/suite/smtpserver_security/test.sec-09.tls-certificate-validation.ts +0 -312
  631. package/test/suite/smtpserver_security/test.sec-10.header-injection-prevention.ts +0 -332
  632. package/test/suite/smtpserver_security/test.sec-11.bounce-management.ts +0 -363
  633. package/test/test.base.ts +0 -65
  634. package/test/test.bouncemanager.ts +0 -196
  635. package/test/test.deliverability.ts +0 -55
  636. package/test/test.dns-manager-creation.ts +0 -141
  637. package/test/test.dns-mode-switching.ts +0 -257
  638. package/test/test.dns-validation.ts +0 -283
  639. package/test/test.email-socket-handler.ts +0 -228
  640. package/test/test.email.integration.ts +0 -377
  641. package/test/test.email.router.ts +0 -283
  642. package/test/test.emailauth.ts +0 -195
  643. package/test/test.integration.storage.ts +0 -313
  644. package/test/test.integration.ts +0 -75
  645. package/test/test.ipwarmupmanager.ts +0 -323
  646. package/test/test.minimal.ts +0 -66
  647. package/test/test.rate-limiting-integration.ts +0 -236
  648. package/test/test.ratelimiter.ts +0 -141
  649. package/test/test.reputationmonitor.ts +0 -262
  650. package/test/test.smartmail.ts +0 -248
  651. package/test/test.smtp.client.compatibility.ts +0 -154
  652. package/test/test.smtp.client.ts +0 -191
  653. package/test/test.smtp.server.ts +0 -180
  654. package/test/test.socket-handler-integration.ts +0 -240
  655. package/test/test.socket-handler-unit.ts +0 -198
  656. package/ts/deliverability/classes.ipwarmupmanager.ts +0 -896
  657. package/ts/deliverability/classes.senderreputationmonitor.ts +0 -1244
  658. package/ts/deliverability/index.ts +0 -13
  659. package/ts/errors/email.errors.ts +0 -383
  660. package/ts/errors/mta.errors.ts +0 -681
  661. package/ts/mail/core/classes.bouncemanager.ts +0 -965
  662. package/ts/mail/core/classes.email.ts +0 -941
  663. package/ts/mail/core/classes.emailvalidator.ts +0 -239
  664. package/ts/mail/core/classes.templatemanager.ts +0 -320
  665. package/ts/mail/core/index.ts +0 -5
  666. package/ts/mail/delivery/classes.delivery.queue.ts +0 -645
  667. package/ts/mail/delivery/classes.delivery.system.ts +0 -1089
  668. package/ts/mail/delivery/classes.emailsendjob.ts +0 -447
  669. package/ts/mail/delivery/classes.emailsendjob.ts.backup +0 -691
  670. package/ts/mail/delivery/classes.emailsignjob.ts +0 -67
  671. package/ts/mail/delivery/classes.mta.config.ts +0 -73
  672. package/ts/mail/delivery/classes.ratelimiter.ts +0 -281
  673. package/ts/mail/delivery/classes.smtp.client.legacy.ts +0 -1422
  674. package/ts/mail/delivery/classes.unified.rate.limiter.ts +0 -1053
  675. package/ts/mail/delivery/index.ts +0 -24
  676. package/ts/mail/delivery/interfaces.ts +0 -291
  677. package/ts/mail/delivery/smtpclient/auth-handler.ts +0 -232
  678. package/ts/mail/delivery/smtpclient/command-handler.ts +0 -343
  679. package/ts/mail/delivery/smtpclient/connection-manager.ts +0 -289
  680. package/ts/mail/delivery/smtpclient/constants.ts +0 -145
  681. package/ts/mail/delivery/smtpclient/create-client.ts +0 -94
  682. package/ts/mail/delivery/smtpclient/error-handler.ts +0 -141
  683. package/ts/mail/delivery/smtpclient/index.ts +0 -24
  684. package/ts/mail/delivery/smtpclient/interfaces.ts +0 -242
  685. package/ts/mail/delivery/smtpclient/smtp-client.ts +0 -357
  686. package/ts/mail/delivery/smtpclient/tls-handler.ts +0 -254
  687. package/ts/mail/delivery/smtpclient/utils/helpers.ts +0 -224
  688. package/ts/mail/delivery/smtpclient/utils/logging.ts +0 -212
  689. package/ts/mail/delivery/smtpclient/utils/validation.ts +0 -170
  690. package/ts/mail/delivery/smtpserver/certificate-utils.ts +0 -398
  691. package/ts/mail/delivery/smtpserver/command-handler.ts +0 -1340
  692. package/ts/mail/delivery/smtpserver/connection-manager.ts +0 -1045
  693. package/ts/mail/delivery/smtpserver/constants.ts +0 -181
  694. package/ts/mail/delivery/smtpserver/create-server.ts +0 -31
  695. package/ts/mail/delivery/smtpserver/data-handler.ts +0 -1283
  696. package/ts/mail/delivery/smtpserver/index.ts +0 -32
  697. package/ts/mail/delivery/smtpserver/interfaces.ts +0 -655
  698. package/ts/mail/delivery/smtpserver/secure-server.ts +0 -97
  699. package/ts/mail/delivery/smtpserver/security-handler.ts +0 -345
  700. package/ts/mail/delivery/smtpserver/session-manager.ts +0 -557
  701. package/ts/mail/delivery/smtpserver/smtp-server.ts +0 -804
  702. package/ts/mail/delivery/smtpserver/starttls-handler.ts +0 -262
  703. package/ts/mail/delivery/smtpserver/tls-handler.ts +0 -346
  704. package/ts/mail/delivery/smtpserver/utils/adaptive-logging.ts +0 -514
  705. package/ts/mail/delivery/smtpserver/utils/helpers.ts +0 -246
  706. package/ts/mail/delivery/smtpserver/utils/logging.ts +0 -246
  707. package/ts/mail/delivery/smtpserver/utils/validation.ts +0 -436
  708. package/ts/mail/index.ts +0 -19
  709. package/ts/mail/routing/classes.dns.manager.ts +0 -563
  710. package/ts/mail/routing/classes.dnsmanager.ts +0 -559
  711. package/ts/mail/routing/classes.domain.registry.ts +0 -139
  712. package/ts/mail/routing/classes.email.config.ts +0 -82
  713. package/ts/mail/routing/classes.email.router.ts +0 -575
  714. package/ts/mail/routing/classes.unified.email.server.ts +0 -1873
  715. package/ts/mail/routing/index.ts +0 -6
  716. package/ts/mail/routing/interfaces.ts +0 -202
  717. package/ts/mail/security/classes.dkimcreator.ts +0 -431
  718. package/ts/mail/security/classes.dkimverifier.ts +0 -382
  719. package/ts/mail/security/classes.dmarcverifier.ts +0 -478
  720. package/ts/mail/security/classes.spfverifier.ts +0 -606
  721. package/ts/mail/security/index.ts +0 -5
  722. package/ts_web/elements/ops-view-stats.ts +0 -299
@@ -1,208 +0,0 @@
1
- /**
2
- * SMTP Helper Functions
3
- * Provides utility functions for SMTP server implementation
4
- */
5
- import * as plugins from '../../../../plugins.js';
6
- import { SMTP_DEFAULTS } from '../constants.js';
7
- /**
8
- * Formats a multi-line SMTP response according to RFC 5321
9
- * @param code - Response code
10
- * @param lines - Response lines
11
- * @returns Formatted SMTP response
12
- */
13
- export function formatMultilineResponse(code, lines) {
14
- if (!lines || lines.length === 0) {
15
- return `${code} `;
16
- }
17
- if (lines.length === 1) {
18
- return `${code} ${lines[0]}`;
19
- }
20
- let response = '';
21
- for (let i = 0; i < lines.length - 1; i++) {
22
- response += `${code}-${lines[i]}${SMTP_DEFAULTS.CRLF}`;
23
- }
24
- response += `${code} ${lines[lines.length - 1]}`;
25
- return response;
26
- }
27
- /**
28
- * Generates a unique session ID
29
- * @returns Unique session ID
30
- */
31
- export function generateSessionId() {
32
- return `${Date.now()}-${Math.floor(Math.random() * 10000)}`;
33
- }
34
- /**
35
- * Safely parses an integer from string with a default value
36
- * @param value - String value to parse
37
- * @param defaultValue - Default value if parsing fails
38
- * @returns Parsed integer or default value
39
- */
40
- export function safeParseInt(value, defaultValue) {
41
- if (!value) {
42
- return defaultValue;
43
- }
44
- const parsed = parseInt(value, 10);
45
- return isNaN(parsed) ? defaultValue : parsed;
46
- }
47
- /**
48
- * Safely gets the socket details
49
- * @param socket - Socket to get details from
50
- * @returns Socket details object
51
- */
52
- export function getSocketDetails(socket) {
53
- return {
54
- remoteAddress: socket.remoteAddress || 'unknown',
55
- remotePort: socket.remotePort || 0,
56
- remoteFamily: socket.remoteFamily || 'unknown',
57
- localAddress: socket.localAddress || 'unknown',
58
- localPort: socket.localPort || 0,
59
- encrypted: socket instanceof plugins.tls.TLSSocket
60
- };
61
- }
62
- /**
63
- * Gets TLS details if socket is TLS
64
- * @param socket - Socket to get TLS details from
65
- * @returns TLS details or undefined if not TLS
66
- */
67
- export function getTlsDetails(socket) {
68
- if (!(socket instanceof plugins.tls.TLSSocket)) {
69
- return undefined;
70
- }
71
- return {
72
- protocol: socket.getProtocol(),
73
- cipher: socket.getCipher()?.name,
74
- authorized: socket.authorized
75
- };
76
- }
77
- /**
78
- * Merges default options with provided options
79
- * @param options - User provided options
80
- * @returns Merged options with defaults
81
- */
82
- export function mergeWithDefaults(options) {
83
- return {
84
- port: options.port || SMTP_DEFAULTS.SMTP_PORT,
85
- key: options.key || '',
86
- cert: options.cert || '',
87
- hostname: options.hostname || SMTP_DEFAULTS.HOSTNAME,
88
- host: options.host,
89
- securePort: options.securePort,
90
- ca: options.ca,
91
- maxSize: options.size || SMTP_DEFAULTS.MAX_MESSAGE_SIZE,
92
- maxConnections: options.maxConnections || SMTP_DEFAULTS.MAX_CONNECTIONS,
93
- socketTimeout: options.socketTimeout || SMTP_DEFAULTS.SOCKET_TIMEOUT,
94
- connectionTimeout: options.connectionTimeout || SMTP_DEFAULTS.CONNECTION_TIMEOUT,
95
- cleanupInterval: options.cleanupInterval || SMTP_DEFAULTS.CLEANUP_INTERVAL,
96
- maxRecipients: options.maxRecipients || SMTP_DEFAULTS.MAX_RECIPIENTS,
97
- size: options.size || SMTP_DEFAULTS.MAX_MESSAGE_SIZE,
98
- dataTimeout: options.dataTimeout || SMTP_DEFAULTS.DATA_TIMEOUT,
99
- auth: options.auth,
100
- };
101
- }
102
- /**
103
- * Creates a text response formatter for the SMTP server
104
- * @param socket - Socket to send responses to
105
- * @returns Function to send formatted response
106
- */
107
- export function createResponseFormatter(socket) {
108
- return (response) => {
109
- try {
110
- socket.write(`${response}${SMTP_DEFAULTS.CRLF}`);
111
- console.log(`→ ${response}`);
112
- }
113
- catch (error) {
114
- console.error(`Error sending response: ${error instanceof Error ? error.message : String(error)}`);
115
- socket.destroy();
116
- }
117
- };
118
- }
119
- /**
120
- * Extracts SMTP command name from a command line
121
- * @param commandLine - Full command line
122
- * @returns Command name in uppercase
123
- */
124
- export function extractCommandName(commandLine) {
125
- if (!commandLine || typeof commandLine !== 'string') {
126
- return '';
127
- }
128
- // Handle specific command patterns first
129
- const ehloMatch = commandLine.match(/^(EHLO|HELO)\b/i);
130
- if (ehloMatch) {
131
- return ehloMatch[1].toUpperCase();
132
- }
133
- const mailMatch = commandLine.match(/^MAIL\b/i);
134
- if (mailMatch) {
135
- return 'MAIL';
136
- }
137
- const rcptMatch = commandLine.match(/^RCPT\b/i);
138
- if (rcptMatch) {
139
- return 'RCPT';
140
- }
141
- // Default handling
142
- const parts = commandLine.trim().split(/\s+/);
143
- return (parts[0] || '').toUpperCase();
144
- }
145
- /**
146
- * Extracts SMTP command arguments from a command line
147
- * @param commandLine - Full command line
148
- * @returns Arguments string
149
- */
150
- export function extractCommandArgs(commandLine) {
151
- if (!commandLine || typeof commandLine !== 'string') {
152
- return '';
153
- }
154
- const command = extractCommandName(commandLine);
155
- if (!command) {
156
- return commandLine.trim();
157
- }
158
- // Special handling for specific commands
159
- if (command === 'EHLO' || command === 'HELO') {
160
- const match = commandLine.match(/^(?:EHLO|HELO)\s+(.+)$/i);
161
- return match ? match[1].trim() : '';
162
- }
163
- if (command === 'MAIL') {
164
- return commandLine.replace(/^MAIL\s+/i, '');
165
- }
166
- if (command === 'RCPT') {
167
- return commandLine.replace(/^RCPT\s+/i, '');
168
- }
169
- // Default extraction
170
- const firstSpace = commandLine.indexOf(' ');
171
- if (firstSpace === -1) {
172
- return '';
173
- }
174
- return commandLine.substring(firstSpace + 1).trim();
175
- }
176
- /**
177
- * Sanitizes data for logging (hides sensitive info)
178
- * @param data - Data to sanitize
179
- * @returns Sanitized data
180
- */
181
- export function sanitizeForLogging(data) {
182
- if (!data) {
183
- return data;
184
- }
185
- if (typeof data !== 'object') {
186
- return data;
187
- }
188
- const result = Array.isArray(data) ? [] : {};
189
- for (const key in data) {
190
- if (Object.prototype.hasOwnProperty.call(data, key)) {
191
- // Sanitize sensitive fields
192
- if (key.toLowerCase().includes('password') ||
193
- key.toLowerCase().includes('token') ||
194
- key.toLowerCase().includes('secret') ||
195
- key.toLowerCase().includes('credential')) {
196
- result[key] = '********';
197
- }
198
- else if (typeof data[key] === 'object' && data[key] !== null) {
199
- result[key] = sanitizeForLogging(data[key]);
200
- }
201
- else {
202
- result[key] = data[key];
203
- }
204
- }
205
- }
206
- return result;
207
- }
208
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3RzL21haWwvZGVsaXZlcnkvc210cHNlcnZlci91dGlscy9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE9BQU8sS0FBSyxPQUFPLE1BQU0sd0JBQXdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR2hEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLHVCQUF1QixDQUFDLElBQVksRUFBRSxLQUFlO0lBQ25FLElBQUksQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNqQyxPQUFPLEdBQUcsSUFBSSxHQUFHLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN2QixPQUFPLEdBQUcsSUFBSSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDbEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDMUMsUUFBUSxJQUFJLEdBQUcsSUFBSSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekQsQ0FBQztJQUNELFFBQVEsSUFBSSxHQUFHLElBQUksSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBRWpELE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsaUJBQWlCO0lBQy9CLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQztBQUM5RCxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsWUFBWSxDQUFDLEtBQXlCLEVBQUUsWUFBb0I7SUFDMUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ1gsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztJQUVELE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbkMsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0FBQy9DLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUFDLE1BQWtEO0lBUWpGLE9BQU87UUFDTCxhQUFhLEVBQUUsTUFBTSxDQUFDLGFBQWEsSUFBSSxTQUFTO1FBQ2hELFVBQVUsRUFBRSxNQUFNLENBQUMsVUFBVSxJQUFJLENBQUM7UUFDbEMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxZQUFZLElBQUksU0FBUztRQUM5QyxZQUFZLEVBQUUsTUFBTSxDQUFDLFlBQVksSUFBSSxTQUFTO1FBQzlDLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBUyxJQUFJLENBQUM7UUFDaEMsU0FBUyxFQUFFLE1BQU0sWUFBWSxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVM7S0FDbkQsQ0FBQztBQUNKLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FBQyxNQUFrRDtJQUs5RSxJQUFJLENBQUMsQ0FBQyxNQUFNLFlBQVksT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQy9DLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxPQUFPO1FBQ0wsUUFBUSxFQUFFLE1BQU0sQ0FBQyxXQUFXLEVBQUU7UUFDOUIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxTQUFTLEVBQUUsRUFBRSxJQUFJO1FBQ2hDLFVBQVUsRUFBRSxNQUFNLENBQUMsVUFBVTtLQUM5QixDQUFDO0FBQ0osQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsT0FBb0M7SUFDcEUsT0FBTztRQUNMLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxJQUFJLGFBQWEsQ0FBQyxTQUFTO1FBQzdDLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRyxJQUFJLEVBQUU7UUFDdEIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLElBQUksRUFBRTtRQUN4QixRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVEsSUFBSSxhQUFhLENBQUMsUUFBUTtRQUNwRCxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7UUFDbEIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVO1FBQzlCLEVBQUUsRUFBRSxPQUFPLENBQUMsRUFBRTtRQUNkLE9BQU8sRUFBRSxPQUFPLENBQUMsSUFBSSxJQUFJLGFBQWEsQ0FBQyxnQkFBZ0I7UUFDdkQsY0FBYyxFQUFFLE9BQU8sQ0FBQyxjQUFjLElBQUksYUFBYSxDQUFDLGVBQWU7UUFDdkUsYUFBYSxFQUFFLE9BQU8sQ0FBQyxhQUFhLElBQUksYUFBYSxDQUFDLGNBQWM7UUFDcEUsaUJBQWlCLEVBQUUsT0FBTyxDQUFDLGlCQUFpQixJQUFJLGFBQWEsQ0FBQyxrQkFBa0I7UUFDaEYsZUFBZSxFQUFFLE9BQU8sQ0FBQyxlQUFlLElBQUksYUFBYSxDQUFDLGdCQUFnQjtRQUMxRSxhQUFhLEVBQUUsT0FBTyxDQUFDLGFBQWEsSUFBSSxhQUFhLENBQUMsY0FBYztRQUNwRSxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksSUFBSSxhQUFhLENBQUMsZ0JBQWdCO1FBQ3BELFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVyxJQUFJLGFBQWEsQ0FBQyxZQUFZO1FBQzlELElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtLQUNuQixDQUFDO0FBQ0osQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsdUJBQXVCLENBQUMsTUFBa0Q7SUFDeEYsT0FBTyxDQUFDLFFBQWdCLEVBQVEsRUFBRTtRQUNoQyxJQUFJLENBQUM7WUFDSCxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsUUFBUSxHQUFHLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ2pELE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQy9CLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQywyQkFBMkIsS0FBSyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNuRyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbkIsQ0FBQztJQUNILENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUFDLFdBQW1CO0lBQ3BELElBQUksQ0FBQyxXQUFXLElBQUksT0FBTyxXQUFXLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDcEQsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQseUNBQXlDO0lBQ3pDLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUN2RCxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ2QsT0FBTyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDaEQsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUNkLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLFNBQVMsR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2hELElBQUksU0FBUyxFQUFFLENBQUM7UUFDZCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsbUJBQW1CO0lBQ25CLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztBQUN4QyxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxXQUFtQjtJQUNwRCxJQUFJLENBQUMsV0FBVyxJQUFJLE9BQU8sV0FBVyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ3BELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE1BQU0sT0FBTyxHQUFHLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2hELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNiLE9BQU8sV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCx5Q0FBeUM7SUFDekMsSUFBSSxPQUFPLEtBQUssTUFBTSxJQUFJLE9BQU8sS0FBSyxNQUFNLEVBQUUsQ0FBQztRQUM3QyxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDM0QsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFJLE9BQU8sS0FBSyxNQUFNLEVBQUUsQ0FBQztRQUN2QixPQUFPLFdBQVcsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFJLE9BQU8sS0FBSyxNQUFNLEVBQUUsQ0FBQztRQUN2QixPQUFPLFdBQVcsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxxQkFBcUI7SUFDckIsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM1QyxJQUFJLFVBQVUsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3RCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE9BQU8sV0FBVyxDQUFDLFNBQVMsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7QUFDdEQsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsSUFBUztJQUMxQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDVixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzdCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE1BQU0sTUFBTSxHQUFRLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBRWxELEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDdkIsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDcEQsNEJBQTRCO1lBQzVCLElBQUksR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUM7Z0JBQ3RDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO2dCQUNuQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztnQkFDcEMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO2dCQUM3QyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsVUFBVSxDQUFDO1lBQzNCLENBQUM7aUJBQU0sSUFBSSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxRQUFRLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO2dCQUMvRCxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDOUMsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDMUIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyJ9
@@ -1,106 +0,0 @@
1
- /**
2
- * SMTP Logging Utilities
3
- * Provides structured logging for SMTP server components
4
- */
5
- import * as plugins from '../../../../plugins.js';
6
- import { SecurityLogLevel, SecurityEventType } from '../constants.js';
7
- import type { ISmtpSession } from '../interfaces.js';
8
- /**
9
- * SMTP connection metadata to include in logs
10
- */
11
- export interface IConnectionMetadata {
12
- remoteAddress?: string;
13
- remotePort?: number;
14
- socketId?: string;
15
- secure?: boolean;
16
- sessionId?: string;
17
- }
18
- /**
19
- * Log levels for SMTP server
20
- */
21
- export type LogLevel = 'debug' | 'info' | 'warn' | 'error';
22
- /**
23
- * Options for SMTP log
24
- */
25
- export interface ISmtpLogOptions {
26
- level?: LogLevel;
27
- sessionId?: string;
28
- sessionState?: string;
29
- remoteAddress?: string;
30
- remotePort?: number;
31
- command?: string;
32
- error?: Error;
33
- [key: string]: any;
34
- }
35
- /**
36
- * SMTP logger - provides structured logging for SMTP server
37
- */
38
- export declare class SmtpLogger {
39
- /**
40
- * Log a message with context
41
- * @param level - Log level
42
- * @param message - Log message
43
- * @param options - Additional log options
44
- */
45
- static log(level: LogLevel, message: string, options?: ISmtpLogOptions): void;
46
- /**
47
- * Log debug level message
48
- * @param message - Log message
49
- * @param options - Additional log options
50
- */
51
- static debug(message: string, options?: ISmtpLogOptions): void;
52
- /**
53
- * Log info level message
54
- * @param message - Log message
55
- * @param options - Additional log options
56
- */
57
- static info(message: string, options?: ISmtpLogOptions): void;
58
- /**
59
- * Log warning level message
60
- * @param message - Log message
61
- * @param options - Additional log options
62
- */
63
- static warn(message: string, options?: ISmtpLogOptions): void;
64
- /**
65
- * Log error level message
66
- * @param message - Log message
67
- * @param options - Additional log options
68
- */
69
- static error(message: string, options?: ISmtpLogOptions): void;
70
- /**
71
- * Log command received from client
72
- * @param command - The command string
73
- * @param socket - The client socket
74
- * @param session - The SMTP session
75
- */
76
- static logCommand(command: string, socket: plugins.net.Socket | plugins.tls.TLSSocket, session?: ISmtpSession): void;
77
- /**
78
- * Log response sent to client
79
- * @param response - The response string
80
- * @param socket - The client socket
81
- */
82
- static logResponse(response: string, socket: plugins.net.Socket | plugins.tls.TLSSocket): void;
83
- /**
84
- * Log client connection event
85
- * @param socket - The client socket
86
- * @param eventType - Type of connection event (connect, close, error)
87
- * @param session - The SMTP session
88
- * @param error - Optional error object for error events
89
- */
90
- static logConnection(socket: plugins.net.Socket | plugins.tls.TLSSocket, eventType: 'connect' | 'close' | 'error', session?: ISmtpSession, error?: Error): void;
91
- /**
92
- * Log security event
93
- * @param level - Security log level
94
- * @param type - Security event type
95
- * @param message - Log message
96
- * @param details - Event details
97
- * @param ipAddress - Client IP address
98
- * @param domain - Optional domain involved
99
- * @param success - Whether the security check was successful
100
- */
101
- static logSecurityEvent(level: SecurityLogLevel, type: SecurityEventType, message: string, details: Record<string, any>, ipAddress?: string, domain?: string, success?: boolean): void;
102
- }
103
- /**
104
- * Default instance for backward compatibility
105
- */
106
- export declare const smtpLogger: typeof SmtpLogger;
@@ -1,181 +0,0 @@
1
- /**
2
- * SMTP Logging Utilities
3
- * Provides structured logging for SMTP server components
4
- */
5
- import * as plugins from '../../../../plugins.js';
6
- import { logger } from '../../../../logger.js';
7
- import { SecurityLogLevel, SecurityEventType } from '../constants.js';
8
- /**
9
- * SMTP logger - provides structured logging for SMTP server
10
- */
11
- export class SmtpLogger {
12
- /**
13
- * Log a message with context
14
- * @param level - Log level
15
- * @param message - Log message
16
- * @param options - Additional log options
17
- */
18
- static log(level, message, options = {}) {
19
- // Extract error information if provided
20
- const errorInfo = options.error ? {
21
- errorMessage: options.error.message,
22
- errorStack: options.error.stack,
23
- errorName: options.error.name
24
- } : {};
25
- // Structure log data
26
- const logData = {
27
- component: 'smtp-server',
28
- ...options,
29
- ...errorInfo
30
- };
31
- // Remove error from log data to avoid duplication
32
- if (logData.error) {
33
- delete logData.error;
34
- }
35
- // Log through the main logger
36
- logger.log(level, message, logData);
37
- // Also console log for immediate visibility during development
38
- if (level === 'error' || level === 'warn') {
39
- console[level](`[SMTP] ${message}`, logData);
40
- }
41
- }
42
- /**
43
- * Log debug level message
44
- * @param message - Log message
45
- * @param options - Additional log options
46
- */
47
- static debug(message, options = {}) {
48
- this.log('debug', message, options);
49
- }
50
- /**
51
- * Log info level message
52
- * @param message - Log message
53
- * @param options - Additional log options
54
- */
55
- static info(message, options = {}) {
56
- this.log('info', message, options);
57
- }
58
- /**
59
- * Log warning level message
60
- * @param message - Log message
61
- * @param options - Additional log options
62
- */
63
- static warn(message, options = {}) {
64
- this.log('warn', message, options);
65
- }
66
- /**
67
- * Log error level message
68
- * @param message - Log message
69
- * @param options - Additional log options
70
- */
71
- static error(message, options = {}) {
72
- this.log('error', message, options);
73
- }
74
- /**
75
- * Log command received from client
76
- * @param command - The command string
77
- * @param socket - The client socket
78
- * @param session - The SMTP session
79
- */
80
- static logCommand(command, socket, session) {
81
- const clientInfo = {
82
- remoteAddress: socket.remoteAddress,
83
- remotePort: socket.remotePort,
84
- secure: socket instanceof plugins.tls.TLSSocket,
85
- sessionId: session?.id,
86
- sessionState: session?.state
87
- };
88
- this.info(`Command received: ${command}`, {
89
- ...clientInfo,
90
- command: command.split(' ')[0]?.toUpperCase()
91
- });
92
- // Also log to console for easy debugging
93
- console.log(`← ${command}`);
94
- }
95
- /**
96
- * Log response sent to client
97
- * @param response - The response string
98
- * @param socket - The client socket
99
- */
100
- static logResponse(response, socket) {
101
- const clientInfo = {
102
- remoteAddress: socket.remoteAddress,
103
- remotePort: socket.remotePort,
104
- secure: socket instanceof plugins.tls.TLSSocket
105
- };
106
- // Get the response code from the beginning of the response
107
- const responseCode = response.substring(0, 3);
108
- // Log different levels based on response code
109
- if (responseCode.startsWith('2') || responseCode.startsWith('3')) {
110
- this.debug(`Response sent: ${response}`, clientInfo);
111
- }
112
- else if (responseCode.startsWith('4')) {
113
- this.warn(`Temporary error response: ${response}`, clientInfo);
114
- }
115
- else if (responseCode.startsWith('5')) {
116
- this.error(`Permanent error response: ${response}`, clientInfo);
117
- }
118
- // Also log to console for easy debugging
119
- console.log(`→ ${response}`);
120
- }
121
- /**
122
- * Log client connection event
123
- * @param socket - The client socket
124
- * @param eventType - Type of connection event (connect, close, error)
125
- * @param session - The SMTP session
126
- * @param error - Optional error object for error events
127
- */
128
- static logConnection(socket, eventType, session, error) {
129
- const clientInfo = {
130
- remoteAddress: socket.remoteAddress,
131
- remotePort: socket.remotePort,
132
- secure: socket instanceof plugins.tls.TLSSocket,
133
- sessionId: session?.id,
134
- sessionState: session?.state
135
- };
136
- switch (eventType) {
137
- case 'connect':
138
- this.info(`New ${clientInfo.secure ? 'secure ' : ''}connection from ${clientInfo.remoteAddress}:${clientInfo.remotePort}`, clientInfo);
139
- break;
140
- case 'close':
141
- this.info(`Connection closed from ${clientInfo.remoteAddress}:${clientInfo.remotePort}`, clientInfo);
142
- break;
143
- case 'error':
144
- this.error(`Connection error from ${clientInfo.remoteAddress}:${clientInfo.remotePort}`, {
145
- ...clientInfo,
146
- error
147
- });
148
- break;
149
- }
150
- }
151
- /**
152
- * Log security event
153
- * @param level - Security log level
154
- * @param type - Security event type
155
- * @param message - Log message
156
- * @param details - Event details
157
- * @param ipAddress - Client IP address
158
- * @param domain - Optional domain involved
159
- * @param success - Whether the security check was successful
160
- */
161
- static logSecurityEvent(level, type, message, details, ipAddress, domain, success) {
162
- // Map security log level to system log level
163
- const logLevel = level === SecurityLogLevel.DEBUG ? 'debug' :
164
- level === SecurityLogLevel.INFO ? 'info' :
165
- level === SecurityLogLevel.WARN ? 'warn' : 'error';
166
- // Log the security event
167
- this.log(logLevel, message, {
168
- component: 'smtp-security',
169
- eventType: type,
170
- success,
171
- ipAddress,
172
- domain,
173
- ...details
174
- });
175
- }
176
- }
177
- /**
178
- * Default instance for backward compatibility
179
- */
180
- export const smtpLogger = SmtpLogger;
181
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2luZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3RzL21haWwvZGVsaXZlcnkvc210cHNlcnZlci91dGlscy9sb2dnaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE9BQU8sS0FBSyxPQUFPLE1BQU0sd0JBQXdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBaUN0RTs7R0FFRztBQUNILE1BQU0sT0FBTyxVQUFVO0lBQ3JCOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFlLEVBQUUsT0FBZSxFQUFFLFVBQTJCLEVBQUU7UUFDL0Usd0NBQXdDO1FBQ3hDLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ2hDLFlBQVksRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU87WUFDbkMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSztZQUMvQixTQUFTLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJO1NBQzlCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUVQLHFCQUFxQjtRQUNyQixNQUFNLE9BQU8sR0FBRztZQUNkLFNBQVMsRUFBRSxhQUFhO1lBQ3hCLEdBQUcsT0FBTztZQUNWLEdBQUcsU0FBUztTQUNiLENBQUM7UUFFRixrREFBa0Q7UUFDbEQsSUFBSSxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDbEIsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ3ZCLENBQUM7UUFFRCw4QkFBOEI7UUFDOUIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRXBDLCtEQUErRDtRQUMvRCxJQUFJ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
@@ -1,69 +0,0 @@
1
- /**
2
- * SMTP Validation Utilities
3
- * Provides validation functions for SMTP server
4
- */
5
- import { SmtpState } from '../interfaces.js';
6
- /**
7
- * Detects header injection attempts in input strings
8
- * @param input - The input string to check
9
- * @param context - The context where this input is being used ('smtp-command' or 'email-header')
10
- * @returns true if header injection is detected, false otherwise
11
- */
12
- export declare function detectHeaderInjection(input: string, context?: 'smtp-command' | 'email-header'): boolean;
13
- /**
14
- * Sanitizes input by removing or escaping potentially dangerous characters
15
- * @param input - The input string to sanitize
16
- * @returns Sanitized string
17
- */
18
- export declare function sanitizeInput(input: string): string;
19
- /**
20
- * Validates an email address
21
- * @param email - Email address to validate
22
- * @returns Whether the email address is valid
23
- */
24
- export declare function isValidEmail(email: string): boolean;
25
- /**
26
- * Validates the MAIL FROM command syntax
27
- * @param args - Arguments string from the MAIL FROM command
28
- * @returns Object with validation result and extracted data
29
- */
30
- export declare function validateMailFrom(args: string): {
31
- isValid: boolean;
32
- address?: string;
33
- params?: Record<string, string>;
34
- errorMessage?: string;
35
- };
36
- /**
37
- * Validates the RCPT TO command syntax
38
- * @param args - Arguments string from the RCPT TO command
39
- * @returns Object with validation result and extracted data
40
- */
41
- export declare function validateRcptTo(args: string): {
42
- isValid: boolean;
43
- address?: string;
44
- params?: Record<string, string>;
45
- errorMessage?: string;
46
- };
47
- /**
48
- * Validates the EHLO command syntax
49
- * @param args - Arguments string from the EHLO command
50
- * @returns Object with validation result and extracted data
51
- */
52
- export declare function validateEhlo(args: string): {
53
- isValid: boolean;
54
- hostname?: string;
55
- errorMessage?: string;
56
- };
57
- /**
58
- * Validates command in the current SMTP state
59
- * @param command - SMTP command
60
- * @param currentState - Current SMTP state
61
- * @returns Whether the command is valid in the current state
62
- */
63
- export declare function isValidCommandSequence(command: string, currentState: SmtpState): boolean;
64
- /**
65
- * Validates if a hostname is valid according to RFC 5321
66
- * @param hostname - Hostname to validate
67
- * @returns Whether the hostname is valid
68
- */
69
- export declare function isValidHostname(hostname: string): boolean;