Commit graph

  • ca942d6e3e Fix deprecation warning, massage connection verifier function somewhat odin Nathan Fisher 2023-08-18 23:03:24 -04:00
  • 317672991e Update deps, add some FreeBSD specific code Nathan Fisher 2023-08-18 22:52:07 -04:00
  • 67b7a2d0ea Client cert verifier: return error if name does not match Nathan Fisher 2023-08-18 19:06:38 -04:00
  • 8cc3c13389 Begin implementing client certificate validator Nathan Fisher 2023-08-18 19:01:14 -04:00
  • 8dcd8455d4 Integrate unique message id creation with message receipt; Add appropriate error cases for new infra; Nathan Fisher 2023-06-26 18:56:14 -04:00
  • 49b6728c78 Remove debug print statement from previous commit Nathan Fisher 2023-06-26 12:49:55 -04:00
  • 68cccc840b Fix error introduced in previous commit, where days in month was not being updated while creating a DateTime struct from a u64 timestamp Nathan Fisher 2023-06-26 12:47:55 -04:00
  • af49f327ec Add Id type for creating unique message identifiers; Change DateTime to only deal with instants after the Unix epoch and simplify the math. Nathan Fisher 2023-06-26 00:16:05 -04:00
  • 64b5051341 Fix permissions setting for new account folder creation in the Filesystem storage backend Nathan Fisher 2023-06-23 18:47:44 -04:00
  • c6675cb024 Create error type for Filesystem instead of using io::Error; Fix creation of user account folder so that the entire directory has the correct permissions, bot just the Inbox folder Nathan Fisher 2023-06-23 12:21:59 -04:00
  • f17bda9349 Added long doc comment for Filesystem storage type Nathan Fisher 2023-06-23 10:04:40 -04:00
  • 3a25914ec5 Added create_folder method to MailStore trait; Add code to set restrictive permissions on mail account folders; Nathan Fisher 2023-06-23 00:13:56 -04:00
  • dcb182e4d0 Merge branch 'odin' of codeberg.org:jeang3nie/Dory into odin Nathan Fisher 2023-06-22 19:07:38 -04:00
  • e1239fea58 Partially implement ClientCertificateStore for Filesystem Nathan Fisher 2023-06-22 19:04:51 -04:00
  • 3d0dd96f14 Added a lot of doc strings identifying various modules Nathan Fisher 2023-06-22 11:25:55 -04:00
  • b957138048 Finished tests for Filesystem mailstore Nathan Fisher 2023-06-22 00:50:51 -04:00
  • 8af4a5bc39 Added some tests for Filestore Nathan Fisher 2023-06-21 02:17:09 -04:00
  • 12b10e382e Complete some functions marked as todo in mailstore module Nathan Fisher 2023-06-21 01:21:19 -04:00
  • 2d3f5ab718 Fix error which crept in due to daylight savings and me trying to be clever about it. Nathan Fisher 2023-06-13 11:39:36 -04:00
  • 8c6e15a0c3 Properly handle timezone offsets; Implement conversion to/from Unix timestamps (i64); Nathan Fisher 2023-06-11 22:48:02 -04:00
  • 03ac43b821 Remove two print debug statements Nathan Fisher 2023-06-11 01:48:05 -04:00
  • 3dcb5b6991 Parse DateTime from Unix timestamp Nathan Fisher 2023-06-11 01:45:15 -04:00
  • c905e20b36 Miscellaneous cleanups Nathan Fisher 2023-06-11 00:18:28 -04:00
  • 5c82b53a28 Use DateTime struct in GemtextNode::Timestamp Nathan Fisher 2023-06-10 10:21:26 -04:00
  • 2bf74ecbab impl PartialOrd for DateTime Nathan Fisher 2023-06-10 01:13:52 -04:00
  • 931d384e05 Added time::parser tests for basuc format Nathan Fisher 2023-06-10 00:28:37 -04:00
  • de27339b73 Added some tests for time::Parser Nathan Fisher 2023-06-10 00:08:33 -04:00
  • 0bbd11aa03 Finish time::parser and begin adding tests Nathan Fisher 2023-06-09 19:05:43 -04:00
  • db1680d46f Rethink Time parser, iterating over characters Nathan Fisher 2023-06-09 10:31:58 -04:00
  • 230b8ac48a Progress on Time parser Nathan Fisher 2023-06-09 02:19:55 -04:00
  • 669fa0889b Add several parser methods for Time Nathan Fisher 2023-06-09 01:54:50 -04:00
  • 5daa6ca377 Merge branch 'odin' of git.hitchhiker-linux.org:jeang3nie/dory into odin Nathan Fisher 2023-06-09 01:26:00 -04:00
  • 0fcfb6db47 Add Time module for storing ISO-8601 time and converting to and from a string Nathan Fisher 2023-06-09 01:23:35 -04:00
  • ef67fe7aa1 Finished tests on the gemtext parser, revealing yet another bug which was also fixed. Nathan Fisher 2023-06-08 10:20:08 -04:00
  • 608d63def9 Add a bunch of files to the test/mailstore directory for runnings tests against; Partially write tests for Gemtext parser Nathan Fisher 2023-06-07 22:11:07 -04:00
  • 22972ed43d Added testing for message::Parser Nathan Fisher 2023-06-07 16:32:51 -04:00
  • 676c7b34dc Status - complete test coverage Nathan Fisher 2023-06-07 16:00:03 -04:00
  • 4642443d37 Wrote message parser Nathan Fisher 2023-06-07 13:49:19 -04:00
  • ff96b5b56b Fix stack overflow when converting status enum back to u8 TODO: Add more test coverage! Nathan Fisher 2023-06-06 14:00:31 -04:00
  • bad5a230cc crate::message - add tests (two failing due to not being implemented) Nathan Fisher 2023-06-05 11:23:15 -04:00
  • 98c8d2ac6e Add FromStr for Recipients Nathan Fisher 2023-06-05 11:10:53 -04:00
  • 4b43b283dd Parser - fix for pushing wrong line type when leaving preformatted block Nathan Fisher 2023-06-02 11:13:22 -04:00
  • c36009db46 Handle leaving quote mode properly; Nathan Fisher 2023-06-02 11:09:39 -04:00
  • 5113775933 Parser - implement preformatted mode Nathan Fisher 2023-06-02 10:27:45 -04:00
  • 1dd66684bf Parser: add "title" field and set it with the first heading found Nathan Fisher 2023-06-02 10:03:02 -04:00
  • a9fcab7006 Implement a little more of the Gemtext parser Nathan Fisher 2023-06-02 09:55:10 -04:00
  • 200dd8b451 Progress on the Gemtext parser Nathan Fisher 2023-06-02 00:26:19 -04:00
  • 60a8e74af3 Merge branch 'odin' of git.hitchhiker-linux.org:jeang3nie/dory into odin Nathan Fisher 2023-06-01 23:35:19 -04:00
  • 805e5cdd14 Some work towards the gemtext parser Nathan Fisher 2023-06-01 23:34:36 -04:00
  • 5ab89f74db Add FingerPrintStore trait for fetching a known mailuser via a client certificate fingerprint; Nathan Fisher 2023-06-01 19:07:08 -04:00
  • 8b0af76b8f Remove generics for Link and Message Nathan Fisher 2023-06-01 10:41:00 -04:00
  • 42afaf4e6a Add message::link using generic "T: Display + PartialEq", provide impl's for "&'a str" and String Nathan Fisher 2023-05-31 11:20:02 -04:00
  • 477de69ca3 Added Connection and connection::Builder; Fixed a lot of Clippy lints; Nathan Fisher 2023-05-29 11:33:36 -04:00
  • c9eb30f4e7 Implemented more trait functions for Filesystem Nathan Fisher 2023-05-29 01:18:36 -04:00
  • 179b8ad100 Tweak MailStore and MultiDomain traits to add Error types Nathan Fisher 2023-05-29 00:56:15 -04:00
  • 4f2f151173 Fleshed out some methods in the Filesystem mail store Nathan Fisher 2023-05-28 23:32:52 -04:00
  • 0a30c49d49 Merge branch 'odin' of git.hitchhiker-linux.org:jeang3nie/dory into odin Nathan Fisher 2023-05-28 19:27:37 -04:00
  • 72c1dbf016 Add Filesystem mail store and MultiDomain trait Nathan Fisher 2023-05-28 19:22:58 -04:00
  • e3b9db4572 Fix some issues with Sender, add Multisender Nathan Fisher 2023-05-28 12:23:05 -04:00
  • b7378dba78 Fix some logic errors in Sender::send, as before it was sending to the sender rather than the recipient Nathan Fisher 2023-05-28 11:02:54 -04:00
  • 50644d2d68 Some tweaks to MailStore trait Nathan Fisher 2023-05-28 00:18:15 -04:00
  • 2afbede154 Add Account, Domain, MultiDomain structs and MailStore trait Nathan Fisher 2023-05-27 23:38:41 -04:00
  • c7ed63a260 Adjust dependency specs in Cargo.toml to allow patch version upgrades Nathan Fisher 2023-05-27 11:13:48 -04:00
  • 46d04405ad Send client certs if they exist in ClientCertificateStore; Impl TryFrom<Vec<u8>> for Response; Adjust error types to fit all new cases; Nathan Fisher 2023-05-27 10:58:14 -04:00
  • 54a099bb44 Add Certificate struct and ClientCertificateStore trait Nathan Fisher 2023-05-27 01:18:30 -04:00
  • 680ca4e9b9 Flesh out most of sender functionality Nathan Fisher 2023-05-27 00:10:41 -04:00
  • 887ab8e085 Added docs for CertificateStore Nathan Fisher 2023-05-26 19:04:31 -04:00
  • 799ff9ef17 Added two tests for Verifier, covering Tofu success cases. TODO: implement failing tests and check that the proper errors are returned. Nathan Fisher 2023-05-26 18:58:38 -04:00
  • 6e5ba46c26 Added currently failing test for Verifier. Can't satisfy the function signature for the rustls provided api. Nathan Fisher 2023-05-26 11:19:55 -04:00
  • 54fb9e79ab Add methods to get recipients, senders and timestamp from Request; Add Mailuser type; Use Mailuser instead of String and Host in Request to represent the sender; Nathan Fisher 2023-05-26 01:34:29 -04:00
  • b2f60c61ec Add Mailbox, Message, Lines, Recipients types Nathan Fisher 2023-05-25 23:35:24 -04:00
  • c57bb83c5c Merge branch 'odin' of git.hitchhiker-linux.org:jeang3nie/dory into odin Nathan Fisher 2023-05-25 18:52:08 -04:00
  • 102130eb75 Run cargo fmt; Remove an unused import (verifier.rs) Nathan Fisher 2023-05-25 10:24:32 -04:00
  • 2b7119610c Add handling of certs with multiple common names; Check certs for validity against current date; Nathan Fisher 2023-05-25 10:22:26 -04:00
  • 0d15b8d24b Finish implementing TOFU for Verifier; TODO: additional checks for certificate validity; Nathan Fisher 2023-05-24 17:37:44 -04:00
  • ac5f2c21eb Add optional serde support; Remove Clone from most error types; Nathan Fisher 2023-05-24 15:59:15 -04:00
  • 73375abec3 Add doc comments for all status subcodes Nathan Fisher 2023-05-24 13:22:47 -04:00
  • 4a40603efc Finish refactor and add a number of doc comments Nathan Fisher 2023-05-24 13:14:14 -04:00
  • 02de655640 Verifier: wrap self.store in Arc<Mutex<T>>; Refactoring: * Add prelude * Move some error types into modules * make most modules private and re-export their items Nathan Fisher 2023-05-24 12:07:18 -04:00
  • d2802ced83 Ran cargo fmt Nathan Fisher 2023-05-24 03:15:26 -04:00
  • e25ebfa353 Add Sender struct Nathan Fisher 2023-05-24 03:13:49 -04:00
  • 8d4f50e3f6 Renamed server to receiver, client to sender Nathan Fisher 2023-05-24 02:07:41 -04:00
  • c3891cb485 Add doc comment and example for host module Nathan Fisher 2023-05-23 19:09:17 -04:00
  • 7bbdb1381d Add Store, Verifier and Fingerprint types for handling certificates Nathan Fisher 2023-05-22 20:47:20 -04:00
  • 8d6c21325f Add LICENSE.md, run cargo fmt Nathan Fisher 2023-05-22 18:11:14 -04:00
  • c68b539af5 Add tests for Request; Fix some errors revealed in testing; Fix some clippy lints; Nathan Fisher 2023-05-22 15:45:34 -04:00
  • f87299ad34 Request: handle empty fields as errors Nathan Fisher 2023-05-22 10:29:39 -04:00
  • 6d66bf9664 Finish Request struct trait impl's; TODO: write tests Nathan Fisher 2023-05-22 10:25:49 -04:00
  • 30f78990b1 Add Host struct with tests; Add Request struct (unfinished); Nathan Fisher 2023-05-22 10:12:28 -04:00
  • 62eeb9d627 Add Response struct and tests Nathan Fisher 2023-05-22 01:29:03 -04:00
  • 399d567c62 Implement to/from numerical status codes for Status enum and add tests Nathan Fisher 2023-05-22 00:45:43 -04:00
  • 26062171cc Initial commit Nathan Fisher 2023-05-21 23:27:49 -04:00