Code Monkey home page Code Monkey logo

imap's Introduction

Modern UW IMAP Client Library

This is a cleaned up version of the University of Washington's IMAP package, since the original package was unmaintained. In particular, it does:

  • Merges all of Debian's patches.
    • Debian seems to have the most extensive set of patches for UW IMAP.
  • Modern CMake build system.
    • Automatically detects OpenSSL, PAM, and Kerberos.
    • Assumes modern platform support (i.e. IPv6).
  • Removed massively unmaintained tools and daemons.
    • You should use something like Dovecot instead if you were using these.
  • Cleaned up OS support, dropping decrepit shims and simplifying build.
    • This package should work on arm64 macOS and Linux, as well as AIX.

It shouldn't be used by new applications, but things like PHP's IMAP extension still use it. This package passes the PHP IMAP extension unit tests, so it works as a drop-in replacement.

The files in docs/ are assumed to be stale regarding OS support.

Building

Use CMake. The following build flags are interesting:

  • BUILD_MTEST: Boolean, off by default. Builds the mtest program, which exercises c-client functionality and tests linking. Not installed.
  • CMAKE_INSTALL_PREFIX: Path to where you wish to install c-client.
  • USE_KERBEROS: Boolean, on by default. Builds with Kerberos support. If Kerberos isn't found when this is on, then generation will fail.
  • USE_OPENSSL: Boolean, on by default. Builds with OpenSSL support on Unix. If OpenSSL isn't found when this is on, then generation will fail.

TODO

  • Reintegrate Windows support
  • pkg-config or CMake build files
  • Cleanup
    • Remove functionality only ever used by servers
    • Remove various mailbox drivers
      • Probably reduce to IMAP/POP3/NNTP
      • Maybe mbox; maildir is unsupported, other local mail formats are decrepit
      • Leave other drivers as stubs for compatibilities, maybe
    • Run clang-format
    • Clean up warnings, -Werror it
  • OAuth2 authenticator

imap's People

Contributors

nattynarwhal avatar

Stargazers

 avatar  avatar Manos Pitsidianakis avatar Jean-Baptiste Nahan avatar Sam James avatar

Watchers

 avatar  avatar

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.