summaryrefslogtreecommitdiffstats
path: root/buffered-reader
AgeCommit message (Collapse)Author
2022-10-18Document MSRV in Cargo.toml.Nora Widdecke
- Use Cargo.toml's rust-version field instead of a rust-toolchain file. It is more flexible and does not prevent use of newer compilers.
2022-07-05buffered-reader: Release 1.1.3.buffered-reader/v1.1.3Justus Winter
2022-07-04buffered-reader, openpgp: Fix macro's doctests.Justus Winter
- Previously, the doctests for the macros were not run, and hence not tested. Fix the few issues that came up when Rust 1.62 started running doctests. - We cannot test the macros in doctests, because the macros are not public. Add equivalent unit tests instead. - Fixes #893.
2022-01-12buffered-reader, ipc: Fix documentation typo.Neal H. Walfield
2021-12-23buffered-reader: Release 1.1.2.buffered-reader/v1.1.2Justus Winter
2021-12-07buffered-reader: Once EOF is hit, don't poll reader again.Justus Winter
- In the Generic buffered reader, which wraps io::Readers, do not poll the wrapped reader again once we hit EOF. - This fixes the problem where parsing OpenPGP data from stdin was misbehaving with respect to signaling EOF by pressing CTRL-d. Depending on the readers on the reader stack the user had to press CTRL-d multiple times, which was annoying and confusing. - Fixes #679.
2021-12-07buffered-reader: Add tracing.Justus Winter
2021-11-29Fix Acronym spelling.Nora Widdecke
- In CamelCase, acronyms count as one word. Apply this rule where API and lalrpop are not impacted. - Found by clippy::upper_case_acronyms.
2021-11-29Remove unnecessary borrows.Nora Widdecke
- Fixed with the help of clippy::needless_borrow.
2021-11-29buffered-reader: Allow wrong function name.Nora Widdecke
- According to the Rust API Guidelines, a conversion function taking `self` should be called `into_*` if the `self` is not `Copy`, so this function should be named `into_boxed()`. - Found with clippy::wrong_self_convention.
2021-11-16buffered-reader: Release 1.1.1.buffered-reader/v1.1.1Justus Winter
2021-11-03buffered-reader: Recycle buffers.Justus Winter
- Previously, we spent a considerable amount of time callocing new buffers.
2021-10-18buffered-reader: Release 1.1.0.buffered-reader/v1.1.0Justus Winter
2021-10-18Relicense to LGPL 2.0 or later.Neal H. Walfield
- Change Sequoia's license from GPL 2.0 or later to LGPL 2.0 or later as unanimously decided on October 18, 2021 by: - Christof Wahl <cw@pep.security> (pEp security CEO) - Heiko Schaefer <heiko.schaefer@posteo.de> (pEp Foundation employee, Sequoia developer) - Justus Winter <justus@sequoia-pgp.org> (pEp Foundation employee, Sequoia Founder) - Neal H. Walfield <neal@pep.foundation> (pEp Foundation employee, Sequoia Founder) - Patrick Meier <pm@pep.security> (pEp security Chief Product and Service Officer) - Rudolf Bohli <rb@pep.security> (pEp security Chairman of the Board) - Volker Birk <vb@pep.security> (pEp security Founder, pEp Foundation Council)
2021-10-05Fix typos.Neal H. Walfield
2021-09-30Allow new() without default()Lars Wirzenius
It is customary in Rust to implement the Default trait for types that can have a new method that takes no arguments. However, that's not always wanted. I've marked all the structures that have a new without arguments but don't implement Default, so that if we get more of them, clippy will warn. Found by clippy lint new_without_default: https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default
2021-09-30Allow ::new to not return SelfLars Wirzenius
It is Rust custom that the new method for a type returns an instance of that type. However, sometimes that's not wanted. Tell clippy that these cases are OK. I opted to not do this globally, because that would prevent clippy from catching future cases. Found by clippy warning new_ret_no_self: https://rust-lang.github.io/rust-clippy/master/index.html#new_ret_no_self
2021-09-30Use a clearer and shorter += or /= operationLars Wirzenius
Rewrite: i = i + 1 as i += 1 For a simple variable this is shorter, and a little bit clearer. For more complex expressions it avoids making the reader having to visually check that the left and right hand side of the assignment really do have the same expression and that nothing tricky is going on. This was found by the clippy lint assign_op_pattern: https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern
2021-08-27Convert markdown to intra-doc links.Nora Widdecke
- Apply cargo intraconv.
2021-04-13bench: Disable libtest benchmark harness.Nora Widdecke
- The libtest benchmark harness that is automatically added by cargo interferes with criterion. Disable it everywhere where there are no benchmarks. - https://github.com/rust-lang/rust/issues/47241 - https://bheisler.github.io/criterion.rs/book/faq.html
2021-04-12Include LICENSE.txt in all published cratesFabio Valentini
Having the license file in the root directory is not enough, since cargo actions for workspace members will not consider this file. This commit adds a symbolic link to the license file in the root directory of all workspace members, so "cargo publish" will include the LICENSE.txt file when publishing crates.
2021-04-09Lint: Use is_empty().Nora Widdecke
- https://rust-lang.github.io/rust-clippy/master/index.html#len_zero - https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty
2021-04-09Lint: Remove redundant returns.Nora Widdecke
- https://rust-lang.github.io/rust-clippy/master/index.html#needless_return
2021-03-02buffered-reader: Release 1.0.1.buffered-reader/v1.0.1Justus Winter
2021-02-24openpgp: Inline buffered_reader::Generic.Justus Winter
- Previously, armor::Reader implemented BufferedReader using the Generic reader on top of IoReader's io::Read implementation. However, that is no longer good enough, because we need to access the cookie from (Io)Reader::initialize. - The real fix is to directly implement the BufferedReader protocol. That would have been the right thing to do from the beginning, instead of using buffered_reader::Generic. This may actually simplify the code and reduce buffering. However, implementing the BufferedReader protocol is a bit error-prone, so we defer it once again! - Instead, manually inline the code from the Generic reader. - In the following commits, we will take advantage of that and access the cookie.
2021-02-17buffered-reader: Reorder fields.Justus Winter
- Reorder fields so that the inner reader comes last. When looking at the derived debug output, it is easier to see the fields belonging to the current reader. With the inner reader coming last, it also resembles walking up the stack.
2021-01-21buffered-reader: Fix panic.Justus Winter
2021-01-20Add branding to all crates.Justus Winter
2020-12-16Release 1.0.0.v1.0.0Justus Winter
- Release buffered-reader 1.0.0, sequoia-openpgp 1.0.0, and sequoia-sqv 1.0.0. - Also release sequoia-sop 0.22.0.
2020-12-14buffered-reader: Change BufferedReader::dump to take a sink.Justus Winter
2020-12-11Release 0.21.0.v0.21.0Justus Winter
2020-12-11Correct minimal versions.Nora Widdecke
- Versions required by feature or API usage: - anyhow 1.0.18. - policy::test::reject_seip_packet and policy::test::reject_cipher' fail - We use `impl From<anyhow::Error> for Box<dyn std::error::Error + Send + Sync + 'static>`, introduced in 1.0.5. - tokio 0.2.19 - We use `tokio::net::tcp::OwnedReadHalf`, introduced in 0.2.19. - chrono 0.4.10 - We use the `std` feature, introduced in 0.4.10. - thiserror 1.0.2 - futures and futures-util 0.3.5 - tempfile 3.1 - c_doctests require the same version of rand both as direct dependency and through tempfile. - Yanked versions: - structopt 0.3.11. 0.3.8 to 0.3.10 were yanked. - socket2 0.3.16. 0.3.0 to 0.3.15 were yanked. - Update our dependencies to the package versions required by other dependencies, e.g. structopt requires lazy_static 1.4.0. - clap 2.33 - lazy_static to 1.4.0 - libc to 0.2.66 - proc-macro2 to 1.0.7 - syn to 1.0.5. - winapi 0.3.8
2020-12-10openpgp: Add remaining assert_send_and_sync! calls.Azul
- See #615.
2020-12-10buffered-reader: Require Cookies to be Send and Sync.Azul
- This way the entire `BufferedReader<C>` will be `Send` and `Sync`. - Modify all other crates accordingly. - See #615.
2020-12-09buffered-reader: Assert that all types are Send and Sync.Justus Winter
- See #615.
2020-12-09buffered-reader: Don't explicitly storing the mapping.Justus Winter
- This makes file_unix::File Send and Sync.
2020-11-09buffered_reader: Explain fmt::Display use.Nora Widdecke
2020-11-09buffered_reader: Derive Debug for implementations.Nora Widdecke
2020-11-09buffered_reader: Use debug_struct for Display.Nora Widdecke
2020-11-09buffered_reader: Move dump to buffered_reader.Nora Widdecke
- Use the Cookie's debug output to allow for generic Cookies.
2020-11-09buffered-reader: Add Debug trait bound to Cookie.Nora Widdecke
2020-10-20buffered-reader: Fix error propagation.Justus Winter
- If reading from the wrapped reader returns an error, but we still can satisfy the request in Generic::data_helper, we do so. But, it is important to keep the error and return it next time the function is called. Otherwise, error conditions are mis-reported as end of file.
2020-10-20buffered-reader: Improve documentation.Justus Winter
2020-10-19buffered-reader: Embed the reader in struct Generic.Justus Winter
2020-10-19buffered-reader: Warn about missing documentation for public items.Justus Winter
2020-10-19buffered-reader: Make Generic::reader private and add accessors.Justus Winter
2020-10-19buffered-reader: New buffered reader 'Adapter'.Justus Winter
2020-10-14Release 0.20.0.v0.20.0Justus Winter
2020-10-14buffered-reader, openpgp: Port to bzip2 0.4.Justus Winter
2020-10-14Replace most 'extern crate' directives with 'use'.Justus Winter
- See #480.