Commit graph

  • 847fbd6213 put project to sleep main Rodolphe Bréard 2022-01-12 20:00:53 +0100
  • d9b89beb3f Merge branch 'main' of github.com:breard-r/rust-opensmtpd Rodolphe Bréard 2022-01-12 19:59:30 +0100
  • 28e93f0353 Update the Travis-CI configuration Rodolphe Bréard 2021-05-10 18:59:37 +0200
  • a28b8846a2
    Merge pull request #5 from breard-r/dependabot/add-v2-config-file Rodolphe Bréard 2021-04-30 19:02:59 +0200
  • e0ab5ca6fa
    Merge pull request #4 from breard-r/dependabot/cargo/simplelog-0.10 Rodolphe Bréard 2021-04-30 19:02:47 +0200
  • 20493e9dec
    Upgrade to GitHub-native Dependabot dependabot-preview[bot] 2021-04-29 20:13:35 +0000
  • e8f99f957d
    Update simplelog requirement from 0.9 to 0.10 dependabot-preview[bot] 2021-03-29 04:26:16 +0000
  • 0fe864e6db Replace the lasts space indents with tabs Rodolphe Bréard 2021-02-28 14:10:12 +0100
  • e83af3d3e5 Switch to tab indentation Rodolphe Bréard 2021-02-28 13:56:40 +0100
  • ecf0ca1191 Rust-OpenSMTPD v0.4.1 Rodolphe Bréard 2020-12-21 15:43:56 +0100
  • 5f1d45ca0c Add an example to the documentation Rodolphe Bréard 2020-12-21 15:43:10 +0100
  • be1b86905c Tolerate \r and \n inside retured data-lines Rodolphe Bréard 2020-12-21 15:31:52 +0100
  • b15c236da2 Fix the data-line parsing Rodolphe Bréard 2020-12-21 15:29:30 +0100
  • 5ad4eba90d Fix the filter registration Rodolphe Bréard 2020-12-21 15:28:56 +0100
  • 65f0ce13a6 Add the rm_x-originating-ip example Rodolphe Bréard 2020-12-21 15:28:19 +0100
  • bf6505475c Add documentation Rodolphe Bréard 2020-12-21 12:34:57 +0100
  • 6b1b97b455 Add a section about the filters documentation Rodolphe Bréard 2020-12-21 11:57:05 +0100
  • 758afdf28c Fix the documentation Rodolphe Bréard 2020-12-21 11:07:10 +0100
  • a632035865 Fix the README path Rodolphe Bréard 2020-12-20 18:17:32 +0100
  • 0df38c9349 Rust-OpenSMTPD v0.4.0 Rodolphe Bréard 2020-12-20 18:15:07 +0100
  • de36a3cf80 Fix the Cargo.toml files Rodolphe Bréard 2020-12-20 18:13:30 +0100
  • c8ca69923e Go clippy! Rodolphe Bréard 2020-12-20 18:02:52 +0100
  • 4598fb33e4 Add the opensmtpd_derive crate Rodolphe Bréard 2020-12-20 17:24:08 +0100
  • d1d51bbaa8 Rust-OpenSMTPD v0.3.0 Rodolphe Bréard 2020-12-20 15:25:42 +0100
  • 4cbf0d86fd Upgrade the simplelog dev-dependency Rodolphe Bréard 2020-12-20 15:23:35 +0100
  • 2070712b50 Add trace logs for handshake registration Rodolphe Bréard 2020-12-20 15:10:05 +0100
  • 9fcc02ef5b Register all missing events and filters Rodolphe Bréard 2020-12-20 15:01:07 +0100
  • b33f65fd44 Fix the line buffer that was flooded with extra \0 Rodolphe Bréard 2020-12-20 14:35:35 +0100
  • 53e5c929ca Render a pretty hexdump in the logs Rodolphe Bréard 2020-12-20 14:34:30 +0100
  • f7edffc6cc Log to a file instead of stderr Rodolphe Bréard 2020-12-20 14:31:09 +0100
  • f7729365e7 Add trace log for each line read Rodolphe Bréard 2020-12-20 11:52:56 +0100
  • 5d32a8924c Add some tests Rodolphe Bréard 2020-11-28 14:23:15 +0100
  • 1ac792ed6b Add the data-line filter Rodolphe Bréard 2020-11-28 12:10:22 +0100
  • 0a4ac5a709 Fix build status Rodolphe Bréard 2020-11-26 18:16:54 +0100
  • 8d4d6d9419 Set Rust minimal version to 1.43 Rodolphe Bréard 2020-11-26 12:20:58 +0100
  • 386d4f3446 Add a minimal documentation Rodolphe Bréard 2020-11-25 19:29:33 +0100
  • dafea54dbb Log exclusively on stderr OpenSMTPD reads filter responses on stdout, hence there must not be any log written to this file descriptor. Rodolphe Bréard 2020-11-25 18:53:50 +0100
  • c431d5e9cc Add the Travis CI configuration Rodolphe Bréard 2020-11-25 18:48:16 +0100
  • a6d4dd21c1 Rewrite the project Rodolphe Bréard 2020-11-25 18:04:16 +0100
  • fc072743ad
    Merge pull request #3 from breard-r/dependabot/cargo/nom-6.0 Rodolphe Bréard 2020-11-02 19:19:43 +0100
  • 4447fe2ef9
    Update nom requirement from 5.0 to 6.0 dependabot-preview[bot] 2020-11-02 04:25:43 +0000
  • fdc8bd3dc4 Add filter-level and session-level contexts Rodolphe Breard 2019-09-18 20:43:46 +0200
  • 995c0c35c1 Improve the simple_filter macro The simple_filter macro must accept the two different levels of contexts. In the same way, it should also accept the log level, and therefore replace the now removed simple_filter_log_level macro. Rodolphe Breard 2019-09-18 14:52:21 +0200
  • 789a41b51e Add the filter proc macro Rodolphe Breard 2019-09-17 20:22:07 +0200
  • 2dff22062c Move OpenSmtpdAttributes to a dedicated module Rodolphe Breard 2019-09-17 19:59:06 +0200
  • 24c0253f88 Implement the register_events method Rodolphe Breard 2019-09-17 19:38:41 +0200
  • 6b532242ef Return an error if end of file is reached on stdin Rodolphe Breard 2019-09-17 17:50:51 +0200
  • dfa61a9eaa Replace .find().is_some() by .any() Rodolphe Breard 2019-09-17 17:45:59 +0200
  • c08c5c0895 Retry read if interrupted https://doc.rust-lang.org/std/io/trait.Read.html#tymethod.read Rodolphe Breard 2019-09-17 17:43:11 +0200
  • 681563934a Reset the "force_read" flag Rodolphe Breard 2019-09-17 17:11:30 +0200
  • 45639f18c0 Refactor the library Rodolphe Breard 2019-09-17 16:45:04 +0200
  • 988f028c23 Update the readme Rodolphe Breard 2019-07-11 23:58:43 +0200
  • 0f917e0132 Parse the token after the session id Rodolphe Breard 2019-07-11 23:42:05 +0200
  • d76d60650a Implement the ToString trait for TimeVal instead of a custon function Rodolphe Breard 2019-07-11 23:32:47 +0200
  • 9dbd90a083 Add the link-auth report Rodolphe Breard 2019-07-11 23:05:15 +0200
  • 4bfca1411b Add the link-reset report Rodolphe Breard 2019-07-11 23:00:45 +0200
  • 40c99af086 Store parameters as a vector of strings instead of an option Rodolphe Breard 2019-07-11 22:42:58 +0200
  • ec5aabcf99 Use more specific structs to represent an entry Rodolphe Breard 2019-07-11 22:19:09 +0200
  • a9fb623791 Add a more complete single events-only session Rodolphe Breard 2019-07-11 19:20:06 +0200
  • 1faa101778 Move the response to a dedicated file Rodolphe Breard 2019-07-11 12:25:51 +0200
  • eed8f88e2b Move the session handler to a dedicated file Rodolphe Breard 2019-07-11 12:25:19 +0200
  • a9e4a697f7 Fix clippy warning Rodolphe Breard 2019-06-29 17:35:56 +0200
  • f9dc368137 Improve the coding style Rodolphe Breard 2019-06-29 17:32:31 +0200
  • 4a99257263 Upgrading to nom 5 Rodolphe Breard 2019-06-29 17:29:52 +0200
  • 866298c948 Updating nom to 4.2 Rodolphe Breard 2019-03-03 15:23:31 +0100
  • 22c376930b Format code with cargo fmt Rodolphe Breard 2019-01-18 19:10:12 +0100
  • 8173cb282a Switch to the MIT or Apache 2.0 license Rodolphe Breard 2019-01-18 19:08:40 +0100
  • c20fadf99d Alias event as report This alias is made so people with OpenSMTPD filters knowledge will directly understand that events are reports. Rodolphe Breard 2019-01-17 20:05:31 +0100
  • ae8b64941e Add a logger OpenSMTPD plans to gather all logs from filters. Therefore, a default logger that implements the smtpd (future) log interface has to be available. Rodolphe Breard 2019-01-17 19:53:04 +0100
  • 4b1f99db7e Allow the use of custom context The main goal of events/reports is to update a context object, which will be used in filters to generate a response. It is now possible to use any object implementing both Clone and Default as a context object. It is also possible to define no context at all. Rodolphe Breard 2019-01-12 23:43:02 +0100
  • dd7f4d1a86 Remove the Response from the events callback Events, also known as reports, do not generate responses. Responses must therefore be limited to filters, which are not implemented yet. Rodolphe Breard 2019-01-12 12:58:01 +0100
  • 82fe5e24de Add the report registration Rodolphe Breard 2019-01-12 10:42:37 +0100
  • 11f3712138 Add a context object the callbacks Rodolphe Breard 2019-01-12 00:17:59 +0100
  • ea710408d4 Cleanup the code Rodolphe Breard 2019-01-06 17:07:00 +0100
  • 45dc882b49 Remove useless use of methods Rodolphe Breard 2019-01-06 16:40:53 +0100
  • 074c3697d0 Properly implement the std::str::FromStr trait Rodolphe Breard 2019-01-06 16:37:07 +0100
  • 4ed4609272 Add a Response object This object will abstract the filter response. For now, it only allow not to respond. This will change in a future version. Rodolphe Breard 2019-01-06 16:03:49 +0100
  • 21efb88331 Move the EventHandler from the client to the proc macro Rodolphe Breard 2019-01-06 15:45:58 +0100
  • 789455668c Use procedural macros to define events The construction of an EventHandler object should not be directly done by the client. Instead, it is easier to use procedural macro to automatize the process, hence exposing a nice and simple interface. Such use of procedural macros requires to crate an additional crate. Rodolphe Breard 2019-01-06 15:41:30 +0100
  • ccda4b1517 Accept negative values for the timestamp Rodolphe Breard 2019-01-05 17:53:56 +0100
  • c127c5ca24 Close sessions once the disconnect events shows up Rodolphe Breard 2019-01-05 16:28:51 +0100
  • d05423edba Use an intermediate function to build the handlers Such a function may later be generated using a procedural macro. Rodolphe Breard 2019-01-05 13:59:29 +0100
  • 98dd194dca Parse the timestamp correctly The timestamp comes from OpenBSD's struct timeval, which defines the number of seconds as a time_t (i64) and the number of micro-seconds as a suseconds_t (long, hence i64 too). They are separated by a dot. https://man.openbsd.org/gettimeofday.2 Rodolphe Breard 2019-01-05 13:02:20 +0100
  • 2b87c9c3c3 Add the first draft of an event handler system Rodolphe Breard 2019-01-05 13:00:09 +0100
  • a6b9d18374 Update the entry parser The latest OpenSMTPD draft added the timeout event, it therefore has been added to the parser. As shown in the new sessions examples, the timestamp format changed and the parameters are also optional. Rodolphe Breard 2019-01-05 11:40:19 +0100
  • 98e4beadd3 Use a builder instead of a raw function This pattern will, in the future, allow the registration of events handlers and context objects. Rodolphe Breard 2019-01-03 20:16:23 +0100
  • c25dfb253a Add proper logging Rodolphe Breard 2018-12-29 21:03:33 +0100
  • 2fecbedfa1 Add some metadata and release the project under the CeCILL-B license Rodolphe Breard 2018-12-29 20:38:23 +0100
  • 234ca5477f Remove the useless from_string method in Error Rodolphe Breard 2018-12-29 20:26:23 +0100
  • 24b332c615 Refactor the reader/dispatcher The previous design did not handled errors correctly and was kind of spaghetti code. With the new one, the reader and the dispatcher are clearly separated. The filter will only exit on an error from the reader or if EOF has been reached, any other error is displayed but does not exit the filter, which is required by the API. If the filter must exit, all threads are gracefully stopped. Rodolphe Breard 2018-12-29 20:22:37 +0100
  • b5cfe79947 Add the missing kinds and events Rodolphe Breard 2018-12-29 18:34:23 +0100
  • f57a201431 Read and parse incoming entries then dispatch them into session threads Rodolphe Breard 2018-12-29 16:56:56 +0100
  • 010951c884 First commit Rodolphe Breard 2018-12-26 10:27:46 +0100