You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ChangeLog 27KB

10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
11 years ago
11 years ago
12 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635
  1. 0.8.0:
  2. * New fuzzy check logic:
  3. - use shingles algorithm for fuzzy matching
  4. - use blake2 instead of md5 for larger output space
  5. - combine fuzzy and strict matching
  6. - allow to organize private storages by means of keys
  7. - preserve compatibility with previous versions
  8. * New fuzzy storage:
  9. - use sqlite instead of own memory based hash tables
  10. - rework commands interface
  11. - add conversion from the old format
  12. - add fuzzy match by shignles
  13. - support old rspamd versions
  14. * Add lemmatizing for words used in fuzzy hashes that allows to improve match
  15. quality by using of the first forms of all words
  16. * Rework language detection
  17. * Fix several critical bugs, memory leaks and deadlocks:
  18. - memory leak in HTML nodes parsing
  19. - deadlock in logger code
  20. - deadlock in signals processing
  21. - crashes in fuzzy_storage
  22. - crashes in tokenizers if the input was empty
  23. * Import new libucl with several bugfixes and improvements
  24. * Support listening on ipv6 addresses only
  25. * Fix macro expansion in SPF module
  26. * Several bugfixes in DKIM module
  27. * Add load headers support for mime parts to the lua API
  28. * Add documentation for:
  29. - workers in general
  30. - fuzzy_storage worker
  31. - fuzzy_check plugin
  32. - mimepart and textpart lua API modules
  33. 0.7.6:
  34. * Apply boundary fix for dkim simple canonization
  35. * Fix ping command
  36. * Return nil if header was not found in lua_task
  37. * Fix hang in upstreams revive logic
  38. * Decode entitles when normalizing HTML parts
  39. * Fix logic of finding URLs in HTML parts
  40. * Do not include \0 into length of text when performing conversion to utf8
  41. * Fix raw vs parsed reperesentations
  42. Raw parts are now:
  43. - decoded b64/qp, but *NOT* converted to utf-8
  44. Processed parts are now:
  45. - converted to UTF-8
  46. - normalized if needed (e.g. HTML tags are stripped)
  47. * Rework DKIM canonization to line based
  48. * Fix fuzzy hashes addding
  49. * Use more specific hash function for fuzzy
  50. * Fix leaking of iconv descriptors
  51. * Fix PTR resolving in lua resolver
  52. * Rework spf module.
  53. - Copy data to memory pool as cached record might be destroyed causing
  54. freed memory being passed to the protocol output (use after free)
  55. - Allow SPF_NEUTRAL policy to be handled separately
  56. - Add R_SPF_NEUTRAL to the default config
  57. * Rework `register_symbols` function
  58. * Allow to disable components of hfilter
  59. 0.7.5:
  60. * Fix owner when creating folder /run/rspamd (by @sfirmery)
  61. * Fix IP validity checks
  62. * Decode URLs obtained from HTML tags
  63. * Fix crash with unweighted upstreams
  64. * Stop processing headers in parts
  65. * Set sockaddr.sa_family properly when connectig to upstreams
  66. * Fix reload issues in surbl and fuzzy_check (reported by @citrin)
  67. * Fix timeouts in redirector
  68. * Improve lua errors reporting
  69. * Fix lua closures processing in libucl
  70. * Rework calling of lua functions from regexp module
  71. * Choose raw regexp for raw headers
  72. * Rework conversion to utf since glib one is broken
  73. * Ignore SGML style tags in html
  74. * Fix old bug with non-capturing https urls
  75. * Fix memory corruption on fuzzy reload (reported by @citrin)
  76. * Fix percents display in rspamc
  77. * Fix buffer update for DKIM
  78. * Do not validate utf for raw headers
  79. 0.7.4:
  80. * Fix build under *BSD
  81. * Detect HAN unicode script
  82. * Implement language detection heuristic for text parts
  83. * Fix time output in history
  84. * Improve piechart coloring
  85. * Fix \r\n conversion in DKIM module (reported by @citrin)
  86. * Try to detect systems with no IPv6 support
  87. * Fix multiple/single values in use settings (reported by @citrin)
  88. * Rework IP addresses in upstreams:
  89. - Select ipv4/unix addresses if they exist and use ipv6 for ipv6 only
  90. upstreams (since the support of ipv6 is poor in many OSes and
  91. environments)
  92. - Free IP list on upstream destruction
  93. - Add test cases for addresses selection
  94. - Allow adding of free form IP addresses to upstreams
  95. * Fix endiannes in lua_radix search (reported by @citrin)
  96. * Soft shutdown should also set wanna_die flag (reported by @citrin)
  97. * Stop use-after-free in event loop termination
  98. * Fix processing of very short messages in DKIM (reported by @citrin)
  99. * Detect systems without shared mutexes
  100. * Fix issues with PTR and MX elements in SPF parser (reported by @citrin)
  101. 0.7.3:
  102. * New upstreams code:
  103. - simplify upstreams API;
  104. - unify strings parsing in upstreams definition;
  105. - add configuration options for the upstreams;
  106. - for failed upstreams re-resolve their addresses;
  107. - use all resolved addresses for an upstream (round-robin);
  108. - implement stable hashing and use it by default for upstreams;
  109. - add unit test for upstreams module.
  110. * Rework signals processing in all rspamd workers:
  111. - signals are now processed in the event loop;
  112. - implement the most common signal handlers for all workers;
  113. - add callbacks for workers specific signal handlers
  114. * Fix critical issue with fuzzy storage:
  115. Fuzzy stroage could not save any hashes on termination due to bugged
  116. signals handling
  117. * Fix roll history IP storage
  118. * Rework ipv4/ipv6 handling in parsing addresses:
  119. - turn off support of IPV6_V6ONLY socket option;
  120. - create ipv6 socket prior to ipv4 one to handle systems with v6/v4
  121. sockets enabled (Linux)
  122. * Remove CBL as it's wholly included in Spamhaus XBL (by @fatalbanana)
  123. * Remove nszones.com fake RBL (by @citrin)
  124. * Fix upstreams interaction for fuzzy_check
  125. * Verify spf PTR records (reported by @citrin)
  126. * Fix spf MX records parsing
  127. * Add compatibility for old libevent (by @yellowman)
  128. * Sync bugfixes from libucl
  129. 0.7.2:
  130. * Convert all maps to the compressed radix trie
  131. * Allow IPv6 addresses in IP maps
  132. * Remove dynamic items support from symbols cache
  133. * Allow hex encoded output of strings
  134. * Fix bug with control connections count
  135. * Process fuzzy weight correctly (reported by @fatalbanana)
  136. * Remove extra reference retain of http connection on error
  137. * Remove deprecated options from the default config
  138. * Add `one_shot` attr to metric's symbols
  139. * Doc: add documentation for metrics
  140. * Add Upstart job to debian packaging (by @CameronNemo)
  141. * Config: improve SURBL symbols descriptions (by @citrin)
  142. * Config: reflect SURBL changes (by @citrin):
  143. - Outblaze removed, malware moved to separate list:
  144. http://www.surbl.org/news/internal/MW-malware-sublist-added-to-multi
  145. * Fix C modules initialization on restart
  146. * Treat single IP as a single IP in radix lists (reported by @citrin)
  147. * Do not touch file and core limits if not asked explicitly (reported by @citrin)
  148. * Improve logging for fuzzy errors
  149. * Block SIGPIPE for HTTP writing
  150. * Doc: update manual pages
  151. * Fix HTTP connection termination
  152. * Reduce default number of parallel requests to 8
  153. * Sync with libucl include features
  154. 0.7.1:
  155. * Fix typo in stat output.
  156. * Fix issues with includes crossing with the system includes
  157. * Restore testing framework
  158. * Add radix trie test suite
  159. * Implement new path-compressed radix trie.
  160. - The performance benefit over the old algorithm is about 1.5 times.
  161. - Memory usage is significantly lower as well.
  162. - Now radix trie can accept any IPv4/IPv6 values
  163. * Various improvements to the memory pools code
  164. * Fix writing reply to a client when no filters are defined
  165. * Write base32 encoded fuzzy
  166. * Fix 'soft reject' action
  167. * Fix rspamd reload and modules reconfiguration
  168. * Fix subject rewriting for the default subject
  169. * Fix states for processing task and pre-filters
  170. * Fix issues with connection closing
  171. * Fix crashes in rdns
  172. * Fix ratelimit pre-filter
  173. * Update exim patch.
  174. - Update to the recent exim version
  175. - Strip extra leading src/ from the patch
  176. - Remove sendfile since it was broken
  177. - Fix rspamd spam report for exim
  178. * Improve documentation
  179. 0.7.0:
  180. * Use HTTP protocol for all operatiosn
  181. * Webui worker is now removed and controller works as webui
  182. * Allow to serve static files via controller by option `static_dir`
  183. * Rspamd interface is now a part of rspamd
  184. * Rspamc client has been rewritten to use HTTP and non-blocking mode
  185. allowing to start multiple operations simultaneously (see `-n` option)
  186. * Lua API was completely reworked to satisfy modern standards of LUA:
  187. * Module `lua-message` was removed
  188. * Reduced number of superglobals registered by rspamd
  189. * Many functions has been redesigned
  190. * Symbols registration is now more convenient
  191. * Users settings has been rewritten as lua plugin
  192. * Reworked headers system as gmime's based one misses many headers and is
  193. very slow to get headers values
  194. * Reorganized code and removed embedded jannsson by using UCL for all json
  195. parsing
  196. * Migrated to `librdns` for DNS resolving that improves concurrency for
  197. DNS requests significantly
  198. * Fixed tonns of bugs in MIME processing
  199. * Improved metrcis and default symbol's weights
  200. * Added new RBL's
  201. * Fixed a number of issues in the modules
  202. * Removed several memory leaks found
  203. * Fix unicode processing
  204. * Fix fuzzy checking for unicode parts
  205. * Significantly improve documentation and especially LUA API docs
  206. * See migration notes at https://rspamd.com/doc/migration.html
  207. 0.6.8:
  208. * Controller now listen for localhost and not for 127.0.0.1 by default
  209. * Allow FCrDNS-style RBL lookups (by @fatalbanana)
  210. * Reduce threshold for parts_differ function.
  211. * Fix hostname lookup for rdns rbl (by @AlexeySa)
  212. * Fix HFILTER_URL_ONELINE to reduce false positive rate.
  213. * Fix whitelist module.
  214. * Allow override system predefined settings without touching system ones
  215. by .try_include macro (by @andrejzverev)
  216. * Check for [ip.address]-style HELO and suppress lookups. (by
  217. @fatalbanana)
  218. * Optimize hfilter (by @AlexeySa)
  219. * Fix issue with random numbers generator in dns.
  220. * Use more clever time values to setup entropy.
  221. * Synced with the recent libucl.
  222. 0.6.7:
  223. * Use ChaCha20 for DNS generator (more secure DNS id)
  224. * Unknown symbols now has zero weight and not 1.0
  225. * Fix fuzzy hashes expire time
  226. * Fix critical issue in statfiles on FreeBSD 9 (and some other platforms)
  227. * Add .include_map macro to ucl parser
  228. * Update libucl
  229. * Fix headers end detection for DKIM module
  230. * Fix a bug in received headers parser
  231. * Validate IP addresses before pushing them to lua
  232. * Start new documentation project
  233. * Fixed tonns of other minor bugs
  234. * Start to prepare for 0.7 with HTTP protocol and new settings
  235. 0.6.6:
  236. * Removed issue with BUFSIZ limitation in the controller output
  237. * Simplify logging symbols escaping
  238. * Adjusted weights for several rules
  239. * Improve spamhaus rbl support
  240. * Removed PBL for received headers checks
  241. * Added hfilter module that performs various HELO and IP checks.
  242. * Rspamd can now be reloaded by HUP signal
  243. * Fuzzy storage should expire hashes properly
  244. * Build system has been reworked for better supportof pkg-config
  245. * Various minor bugfixes
  246. 0.6.5:
  247. * Fixed critical bug in DNS resolver, introduced in 0.6.4
  248. * Improved multimap and rbl plugins to skip
  249. * Add dns_sockets option for tuning sockets per server in DNS resolver
  250. * Improved packages for rspamd
  251. 0.6.4:
  252. * Added io channels for DNS request to balance load and reduce id
  253. collisions chance
  254. * Fixed a bug in SPF filter that may cause core dump in specific
  255. circumstances
  256. * FIxed default config for rbl module
  257. * It is possible to get a list of rspamc commands with their descriptions
  258. * Added SORBS bl to the default config
  259. * 2tld file for surbl module has been significantly extended
  260. * Perl modules has been removed from the code.
  261. * Fixed an issue in libucl when parsing macros
  262. 0.6.3:
  263. * Fixed issues with DNS:
  264. - labels decompression algorithm was fixed;
  265. - added resolve_mx to lua API;
  266. - fixed modules that use DNS.
  267. * Lua modules once_received and emails reworked for new resolver API and UCL.
  268. * Debian package was polished.
  269. * Fixed a bug in fuzzy_check module that prevents correct processing messages
  270. without valid parts.
  271. 0.6.2:
  272. * Fuzzy check module has been reworked:
  273. - now fuzzy_check operates with a group of rules, that define which
  274. servers sre to be checked;
  275. - it is possible to specify read_only groups to avoid learning errors;
  276. - turn fuzzy_check to one_shot mode permanently;
  277. - fuzzy_check module configuration is now incompatible with the previous
  278. versions.
  279. * Imported bugfixes from libucl.
  280. * Fixed whitelist plugin.
  281. * Fixed statfiles resizing.
  282. * Improved logging initialization order.
  283. * Fixed race condition in the controller worker.
  284. 0.6.1:
  285. * Critical bugfixes:
  286. - fixed build system;
  287. - fixed in_class setting in bayes learning;
  288. 0.6.0:
  289. * Use UCL instead xml for configuration (https://github.com/vstakhov/libucl)
  290. * Fix statistics module normalization
  291. * Rework the many modules for the new configuration:
  292. - surbl has incompatible configuration;
  293. - fuzzy_check has incompatible configuration;
  294. - multimap has now new configuration;
  295. - received_rbl is removed and replaced by rbl module.
  296. * Removed deprecated options:
  297. - statfile_pool_size;
  298. - action and required/reject score for a metric.
  299. * Simplify build system and unify configuration for all platforms.
  300. * Improved URL detector (reduced false positive rate).
  301. * Lua 5.2 is now the default and fully supported version.
  302. * Tons of bugfixes and minor improvements.
  303. 0.5.6:
  304. * Fix bug with counters incrementing in rolling history
  305. * Detect expl and exp2l as some systems do not have it
  306. * Support input streams without Content-Length
  307. * Implement counters output via rspamc and controller interface
  308. * Fix bug with udp sockets in fuzzy storage
  309. 0.5.5:
  310. * New bayes normalizator based on inverse chi-square function
  311. * Various fixes to fuzzy storage
  312. * Allow update fuzzy storage only from specific IP addresses
  313. * Better support of IPv6 and address selection algorithms
  314. * Add CentOS spec file
  315. 0.5.4:
  316. * Fixed issues with diff algorithm
  317. * Added support of RRD statistics
  318. * Add webui worker for interface interaction
  319. * Fix a lot of issues with dynamic conf
  320. * Fix critical memory leak in settings code
  321. * Improve stability of the system
  322. 0.5.3:
  323. * Added dynamic options
  324. * Added advanced metaclassfication
  325. * Added RESTfull API for controller
  326. * Improved hashing algorithms
  327. * Various fixes for rspamc client:
  328. - allow interacting with unix sockets
  329. - librspamdclient major cleanup
  330. - bayes is now default classifier
  331. 0.5.2:
  332. * Added lua bindings for:
  333. - basic mime parts, that allows checkign attachements for example;
  334. - DNS resolver;
  335. * Existing lua bindings now works without task object allowing to use them
  336. in custom code.
  337. * Threads system was reworked to avoid global lua interpreter lock.
  338. * DKIM module now converts all line endings to CRLF how opendkim does.
  339. * URL detector is now more accurate for text parts.
  340. * Several critical bugs and memory leaks were fixed.
  341. 0.5.1:
  342. * Added lua worker type to handle network connections in lua.
  343. * Added lua bindings for async_session, IO dispatcher, memory_pool, and
  344. worker.
  345. * Composites can now uses other composites in expressions.
  346. * Fixes for debian package and for FreeBSD >= 9.1
  347. * Add support of gmime-2.6 if gmime-2.4 is not found.
  348. * Improve url detection and phishing detection.
  349. * Add lua mime_part library to get an access to all message part
  350. attributes (like filename, length, type).
  351. 0.5.0:
  352. * Added SMTP lightweight balancing proxy with XCLIENT support.
  353. * Added lua bindings for upstreams objects and API.
  354. * New pre-filters are implemented to support initial checking for messages.
  355. * Added ratelimit plugin that uses redis protocol to store data.
  356. * Added ipv6 support to spf and some other modules.
  357. * Unbreak spf plugin.
  358. * Allow options with the same name be threated as list.
  359. * DKIM plugin an parsing code was added.
  360. * Separate build system to put logic in several shared libraries.
  361. * Many bugfixes.
  362. 0.3.2:
  363. * Add error handling for regexps
  364. * Fix quit command in controller interface
  365. * Write symbols weights to rspamc output
  366. * Improve logic of selecting rspamc version
  367. * Do not try to parse broken DNS replies
  368. * Add 'raw' flag to FROM_EXCESS_BASE64 rule (requested by citrin)
  369. * Output message id in rspamc reply
  370. * Fix inserting composite symbol
  371. * Fix output of log line
  372. * Document composites
  373. * Add logging for fuzzy checks
  374. * Add logging for learning
  375. * Improve logic of learning messages - do not learn more than specific threshold
  376. * Fix inserting results for symbols that were incorrectly (for example more than 1 time) defined in config file
  377. * Do not output control characters if output is not terminal
  378. * Fix some logic errors in learning
  379. * Consider lua plugins errors as fatal configuration errors
  380. * Fix wirting message id during fuzzy_add command
  381. * Display weight of symbols correctly
  382. * Fixes to winnow learning
  383. * One more try to improve accuracy of winnow algorithm
  384. * Add bayesian classifier (initial version)
  385. * Remove normalizer as it is winnow specific thing, so all statistic algorithms now returns value from 0 to 1
  386. * Some fixes to fuzzy hashes expiration:
  387. * Fix assertion while look up value in NULL hash (found by cirtin)
  388. * Fix normalization for systems that have not tanhl function
  389. * Ignore rfc822 group addresses
  390. * Move images library to core rspamd
  391. * Add lua api to access images properties
  392. * Add post filters to lua API - filters that would be called after all message's processing
  393. * Add ability to check for specified symbol in task results from lua
  394. * Add ability to check for metric's results from lua
  395. * Add ability to learn specified statfile form lua
  396. * Add ability to extract filename and size of images from lua
  397. * Fix assertion while extracting internet address
  398. * Fix races in fuzzy storage
  399. * Make spf parser case insensitive
  400. * Add ability to check hashes of selected mime types
  401. * Add ability to set minimum size in bytes for mime types
  402. * Add ability to set minimum dimensions for images
  403. * Assume all text/* content types as text/plain
  404. * Fix getting data wrapper for gmime24
  405. * Many fixes to statfile syncronization system
  406. * Fixed statfile pool initialization and synchronization with disk
  407. * Prepare 0.3.2
  408. * Fix Mail::Rspamd::Config for new rspamd features
  409. * Use Mail::Rspamd::Config in rspamc client
  410. * Write user's name to rspamd log
  411. * Prepare rspamd build infrastructure for creating rpm and deb packages
  412. * Fix depends
  413. * Add start script for linux systems
  414. * Fix shared usage of statfiles
  415. * Add invalidation of statfiles in case of learning, so now statfiles
  416. * This should fix shared usage of statfile pool by several processes
  417. * Fix misprint (reported by az)
  418. * Fix stupid error when all checks can be done in a single pass
  419. * New trie based url scanner (based on libcamel)
  420. * Small fixes to rspamd perl client
  421. * Write fuzzy hashes info to log
  422. * Add trie interface to lua api
  423. * Explain sample config and cleanup it
  424. 0.3.1:
  425. * Add modules documentation
  426. * Continue implementing smtp proxy
  427. * Implement new learning system, now rspamd should be much more intelligent while learning messages
  428. * Convert statistic sums to use long double for counters
  429. * Use hyperbolic tangent for internal normalizer
  430. * In classify normalize result after comparing, not before
  431. * New symbols sorter
  432. * Fix strict aliasing while compiling with optimization
  433. * Fix tanhl detection for platforms that have not implementation of it
  434. * Remove several compile warnings
  435. * Add experimental support of dynamic rules to regexp module
  436. * Document views configuration
  437. * Several fixes to documentation
  438. * Add more logic for dynamic rules
  439. * Add documentation for dynamic rules
  440. * Add ability to make negations in networks in dynamic rules
  441. * Clean up cache items correctly
  442. * Implement basic SMTP dialog:
  443. * Implement interaction with smtp upstream (with support of XCLIENT)
  444. * Check messages received via smtp proxy
  445. * Add support for sendfile in io dispatcher
  446. * Fix issues with compatibility of worker_task and smtp proxy
  447. * Proxy DATA command
  448. * Fix SMTP
  449. * Change metric logic
  450. * Completely remove lex/yacc readers for config
  451. * Make common sense of metric/action and symbols
  452. * Sync changes with all plugins
  453. * Incorrectly removed in previous commit
  454. * Fix misprint (by Andrej Zverev)
  455. * announce the "password" keyword in usage list
  456. * Implement initial version of greylisting triplets storage
  457. * Fix issues with smtp worker
  458. * Fix QUIT command in SMTP worker
  459. * Some fixes about new metrics system (may be incomplete)
  460. * Get weights of symbol from default metric for symbols cache
  461. * Fix setting task->from/task->rctp in smtp client
  462. * Copy from and rcpt correctly
  463. * Some performance improvements to IO dispatcher (do not drain the whole buffer after a single line readed)
  464. * Fix smtp data input
  465. * Fix misprint
  466. * Add limit of maximum allowed smtp session errors
  467. * New logic of SURBL module:
  468. * Use system mkstemp(3) on systems where it is available as glib implementation
  469. * Try to fix memmove issues in io dispatcher
  470. * Remove debug from SURBL module
  471. * Rewrite buffered input for line policy (again)
  472. * Fix issue with links that are ip addresses in numeric form in surbl
  473. * On Darwin use BSD style sendfile definition
  474. * Reorganize platform specific knobs in CMakeLists
  475. * Use gettimeofday on systems that have not clock_getres
  476. * Use ftime for dns trans id generation on systems without clock_getres
  477. * Darwin sendfile(2) support
  478. * TIMEDB->TIMEB
  479. * More to previous commit
  480. * Pass env from main() arguments instead of platform specific global environ
  481. * Fix compatibility issues
  482. * Fix -lintl detection
  483. * Init some variables to avoid problems
  484. * Remove garbadge (gnome terminal sucks)
  485. * Add more information about why we drop smtp connection
  486. * Fix mkstemp call
  487. * Send to upstream QUIT command at the end of session
  488. * Check return value of each rspamd_dispatcher_write as in case of write errors sessions can be destroyed early
  489. * Fix states in smtp dialog
  490. * Use rspamd_snprintf instead of libc one
  491. * Fix URLS command
  492. * Fix reconfigure process of surbl module
  493. * Fix destroying smtp session (unmap memory and do not delete pool early)
  494. * Delete pool after using its variables
  495. * Delay timer must be registered in async session to correctly handle connection termination
  496. * Register dns requests in session too
  497. * Make session before registering events
  498. * Remove events in handlers
  499. * Add ability to set filters for smtp worker for each smtp stage
  500. * Add very initial version of DNS resolver (many things to be done)
  501. * Announce weights and sync
  502. * Fix few typo
  503. * Understand short names of facility in logging config
  504. * Add ability to make whitelist for spf checks
  505. * Misprint != -> ==
  506. * Handle lua tag in way that it is not required to write additional text:
  507. * Strip all starting whitespace symbols from xml texts
  508. * Fix stupid bug in calculating buffer length while reading file maps
  509. * Add resolv.conf parsing into dns.c
  510. * Fix microseconds<->milliseconds conversions
  511. * Take callback argument in Mail::Rspamd::Client for processing files and directories
  512. * Print results if rspamc is called for a directory
  513. * Fix stupid error with surbl module reconfig (another one, blame me)
  514. * Do not show duplicate urls in url header
  515. * Fix detection of numeric urls (reported by citrin)
  516. * Write real time of message's scan to log (not only virtual)
  517. * Fix chartable module in utf mode
  518. * Fix parsing of some broken urls
  519. * Add ability to test regexp with 'T' flag
  520. * Write more code for DNS resolver:
  521. * Make DNS resolver working
  522. * Many improvements to rspamd test suite: now it CAN be used for testing rspamd functionality
  523. * Write DNS resolver tests
  524. * Fix issues with memory_pool mutexes and with creating of statfiles
  525. * Forgotten in previous commit
  526. * Add support for parsing SPF and SRV records
  527. * Fix PTR parsing
  528. * Add tests
  529. * Make SURBL module to use rspamd dns module
  530. * Several fixes to DNS logic
  531. * Remove evdns and use only rspamd resolver
  532. * Very hard to detect problem with race among error in socket and destroying task while we are writing to socket and go through a hash table
  533. * Fix resolving in smtp module
  534. * Init events before configuring resolver in smtp worker
  535. * Set resolver inside task
  536. * Fix reload signal (reported by citrin)
  537. * Some improvements to redirector
  538. * Call has_forked method to inform POE about fork
  539. * Fix lua DNS code
  540. * Decompress labels in DNS packets more strictly
  541. * Fix some problems with TXT records
  542. * Try to fix removing of DNS events
  543. * Do not insert unparsed RR's into reply
  544. * Calling callbacks may cause destroying session from which we are calling callback so we MUST call callback as the latest action
  545. * Fix check_smtp_data function
  546. * Add ability to make views by recipient
  547. * Add ability to set metric's action from config file
  548. * Fix bug with writing garbadge if message has no urls or no messages
  549. * Fix bug with incorrect behaviour of compare_parts_distance function
  550. * Add ability to assign several actions to one metric
  551. * Report action in rspamc protocol
  552. * Mail::Rspamd::Client and rspamc can now understand Action header too
  553. * Write action to log as well
  554. * Make valgrind happy about comparing symbols
  555. * Add more debug to comparing parts distance function
  556. * Write action even if message has no symbols
  557. * Make improvements to HTML entites decoder: now it replaces entities with common characters and
  558. * Add -d option to force debug output
  559. * Assume 7bit as default transfer encoding
  560. * Do not overwrite lua plugins and configs if they already exists in target directory
  561. * Improve logging
  562. * Write queue id to log
  563. * Remove test messages from cmake
  564. * Reopen log file by USR1 signal
  565. * Add reopenlog method to FreeBSD rc script
  566. * Adopt foreach for cmake 2.6
  567. * Fix to rc script
  568. * Do not try to resolve names with several dots in a row
  569. * Fix surbl request formatting for ip addresses
  570. * Handle cases of broken requests
  571. * Fix problems with parsing compressed names
  572. * Fix TXT records parsing
  573. * Fix expanding spf macros that may fail in rare cases
  574. * Fix another error with early task destroying
  575. * Handle empty from header
  576. * Improve reopenlog command in rc script
  577. * Strip trailing whitespace characters in Mail::Rspamd::Client
  578. * Use ungreedy match to strip trailing whitespaces
  579. * Stupid error in calculation compressed label length
  580. * Some optimizations to client library
  581. * Do not compare empty parts
  582. * Empty and non-empty parts are allways different
  583. * Save in regexp cache the whole regexp with header name (if exists) and with flags
  584. * Add rspamd_log variable to lua plugins to access logging functions
  585. * Each part in rspamd task now can have parent part
  586. * Check for parts distance only for multipart/alternative subparts
  587. * Do not check attachements even if they are text (but attached as file)
  588. * Do not die if write (2) returned ENOSPACE while doing logging, turn on throttling mode instead (1 write try in a second)
  589. * Add ability to turn on debug for specific symbols
  590. * Add ability to configure dns timeouts and dns retransmits in config file
  591. * More debug
  592. * Fix extracting arguments in lua logger interface
  593. * Turn off debug_ip during reload if it was disabled by new config
  594. * Improve lua logging
  595. * Pre-init symbols cache when rereading config
  596. * Fix lua representing of invalid ip (nil, not 255.255.255.255)
  597. * Fix R_TO_SEEMS_AUTO rule (by citrin)
  598. * Add multimap lua plugin
  599. * Fix some multimap issues
  600. * Try to save images hashes to fuzzy storage to stop some annoying spammers
  601. * Allocate some more bytes for read buffer to avoid incorrect behavoiur
  602. * Add ability to check dns black lists by multimap module
  603. * Add multimap documentation
  604. * Fix labels parsing
  605. * Another try to save regexps in cache correctly
  606. * Improve test logs for regexps
  607. * Fix parsing txt records to avoid reading of uninitialized data
  608. * Fix error with writing symbols cache file
  609. * Fix error while working in utf mode when raw regexps was not created properly
  610. * Do not add extra byte while converting text to utf
  611. * Add error handling for regexps