Giter Club home page Giter Club logo

skeeter's People

Contributors

mistotebe avatar ohamada avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

skeeter's Issues

Basic AUTHENTICATE support

Skeeter should be able to at least snoop the beginning of a client-first SASL conversation to retrieve the user identity to guide the mailhost resolution.

manpage

And any other useful information.

Limit amount of buffering

Currently, the proxy callbacks make up a naive read/write pair, never limiting the amount of data buffered inside skeeter. This can easily get out of hand with asymmetric connections where one side is able to generate data faster than the other can receive.

Possibly a small state machine interacting with the watermarks should be able to fix this. Not sure about the buffering properties and the verifiability of that code.

daemonizing the process

The process should call daemon() unless asked not to, also it should create a pid file in this case.

Full AUTHETICATE support

Skeeter should be able to act the server part of a SASL authentication and then if that was successful, authenticate to the backend separately using its own credentials and the user's authorization identity.

CAPABILITY handling

The server banner and response to the CAPABILITY command are currently hardcoded. This manifests as several quirks:

  • STARTTLS is advertised even when no configuration is present or when a TLS layer is already in place.
  • the banner does not claim LOGINDISABLED but CAPABILITY does, this should be configurable (e.g. enable LOGIN only when a TLS layer is in place)

This is a blocker for #7 where all supported SASL mechanisms have to be advertised in the CAPABILITY string

A test suite

The infrastructure is undergoing a sizeable rework, it would be good to have some tests in place to keep the development on track.

Server certificate verification

When connecting to the remote server, we should verify that the certificate is valid and matches the proper name in CommonName or DNSname.

README missing info

README is not mentioning the dependency on libconfig. It also does not mention, that bufferevent_trigger is needed thus the latest released libevent 2.1.3 alpha is not sufficient.

Proper LOGIN suport

Skeeter should be able to handle literal and quoted username and password arguments to the LOGIN command. The resolution of #3 was written with this in mind.
As imtest, the cyrus' IMAP utility, uses literals in these arguments by default, this belongs in the first alpha.

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.