Code Monkey home page Code Monkey logo

blists's Issues

Handle and report memory allocation errors

blists does check for errors from malloc and realloc, but it does so in its lower-level wrappers such as buffer_grow, msgs_grow, and concat. The higher-level and /indirect callers of those do not always check whether an error occurred (example: uses of concat in html_error_real) or when they do they might not make it clear to the sysadmin what the issue really is (example: msgs_grow failure in begin_inc_idx will result in non-incremental index update with no reason given as to why, which is especially unexpected to a sysadmin given that the underlying realloc can sometimes momentarily need almost 2x more memory than the requested new size).

We should review these cases and introduce reasonable error reporting.

Omit technical line wraps from displayed headers

Header lines may be wrapped for technical and standards compliance reasons. When we display message headers via the web, we currently include those technical line wraps intact. We should omit them. For example, we display:

https://www.openwall.com/lists/oss-security/2024/07/23/2

Subject: [OSSA-2024-002] OpenStack Nova: Incomplete file access fix and
 regression for QCOW2 backing files and VMDK flat descriptors
 (CVE-2024-40767)

but it should be:

Subject: [OSSA-2024-002] OpenStack Nova: Incomplete file access fix and regression for QCOW2 backing files and VMDK flat descriptors (CVE-2024-40767)

I thought this had something to do with:

                /* skip adjacent linear-white-space between previous
                 * encoded-word */
                r = --p;
                if (done != header) {
                        while (r > done && islinearwhitespace(*(--r)))
                                ;
                        if (r > done)
                                r = p;
                }
                buffer_append(dst, done, r - done);

and suspected this logic could be buggy or incomplete, but e.g. omitting if (r > done) r = p; made no difference.

Update URLs to https

We have some http URLs generated by html.c, included in README (one of them in a configuration example), and in comments in md5.[ch]. It's high time we change them to https.

Display the Message-ID header

We should include the Message-ID header alongside the currently displayed Date/From/To/Subject headers... or maybe below the message body? Either way, this is a bit tricky since we're obfuscating anything that looks like an e-mail address, and Message-ID strings do look like that, so we'll probably need a bypass of the obfuscation.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.