GithubHelp home page GithubHelp logo

00mjk / gsasl Goto Github PK

View Code? Open in Web Editor NEW

This project forked from markpizz/gsasl

0.0 0.0 0.0 8.58 MB

GNU SASL Library - libgsasl

License: GNU General Public License v3.0

Perl 1.11% C 95.38% CSS 0.08% PHP 0.22% C++ 0.71% Shell 2.48% Objective-C 0.03%

gsasl's Introduction

GNU SASL README -- Important introductory notes.
Copyright (C) 2002-2012 Simon Josefsson
See the end for copying conditions.

GNU SASL an implementation of the Simple Authentication and Security
Layer (SASL) framework, consisting of a library (lib/) with several
plugins, command-line application (src/), test-suite (tests/),
documentation (doc/) and source code usage examples (examples/).

The GNU SASL Library (lib/) is licensed under the GNU Lesser General
Public License (LGPL) version 2.1 (or later).  See the file
lib/COPYING.LIB.  The GNU project typically uses the GNU General
Public License (GPL) for libraries, and not the LGPL, but for this
project we decided that we would get more help from the community if
we used the LGPLv2.1+, as other free SASL implementations exists.  See
also <https://www.gnu.org/licenses/why-not-lgpl.html>.

The command-line application and test suite (src/, and tests/) are
licensed under the GNU General Public License license version 3.0 (or
later).  See the file COPYING.

The documentation (doc/) is licensed under the GNU Free Documentation
License version 1.3 (or later).

If you need help to use GNU SASL, or wish to help others, you are
invited to join our mailing list [email protected], see
<https://lists.gnu.org/mailman/listinfo/help-gsasl>.

Currently there is some support for the following mechanisms:

  - CRAM-MD5 (RFC 2195)
  - EXTERNAL (RFC 2222)
  - GSSAPI (RFC 2222, requires GSS, Heimdal or MIT Kerberos)
  - ANONYMOUS (RFC 2245)
  - PLAIN (RFC 2595)
  - SECURID (RFC 2808)
  - DIGEST-MD5 (RFC 2831)
  - SCRAM-SHA-1 and SCRAM-SHA-1-PLUS (RFC 5802)
  - GS2-KRB5 (RFC 5801, no CB, requires GSS, Heimdal, or MIT Kerberos)
  - SAML20 (RFC 6595)
  - OPENID20 (RFC 6616)
  - LOGIN (non-standard)
  - NTLM (non-standard, client only, requires Libntlm)
  - KERBEROS_V5 (experimental, requires Shishi)

The library should be portable to all C89 platforms.  The command-line
application currently requires POSIX for network communication.

Things left to do below.  If you like to start working on anything,
please let me know so work duplication can be avoided.

  * Support channel bindings in GS2.
  + Authentication infrastructure implementing the callbacks for
    PAM, Kerberos, SQL, etc.  Separate project?  GNU Mailutils has
    some starting points for this, but the API is inflexible.
  + Provide standard callbacks for tty, GTK, gpg-agent etc.  Probably
    should be a separate library.
  + Port applications to use libgsasl
  - Bug: If gsasl_decode is handed a string longer than one SASL
    token, the remaining data will be discarded.  This means if the
    sender packed two SASL tokens in one network packet, only the
    first will be seen.  The en/de-code functions should buffer the
    left over data until the next invocation.  Later: it isn't clear
    that people actually need the security layer feature, and it seems
    better to punt to TLS.
  - Security layer improvements (e.g., DES and AES in DIGEST-MD5).
  - Cleanup code, possibly by using some string abstraction library.
  - Privacy separation (authenticate in one process, pass state to another).
  - Improve documentation
  - Port to Cyclone? CCured?

For updates to the project, see <https://www.gnu.org/software/gsasl/>.

For any copyright year range specified as YYYY-ZZZZ in this package
note that the range specifies every single year in that closed interval.

----------------------------------------------------------------------
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.

gsasl's People

Contributors

bradh avatar ensc avatar jas4711 avatar markpizz 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.