1 #ifndef _SMTP_SASL_AUTH_CACHE_H_INCLUDED_
2 #define _SMTP_SASL_AUTH_CACHE_H_INCLUDED_
3 
4 /*++
5 /* NAME
6 /*	smtp_sasl_auth_cache 3h
7 /* SUMMARY
8 /*	Postfix SASL authentication failure cache
9 /* SYNOPSIS
10 /*	#include "smtp.h"
11 /*	#include "smtp_sasl_auth_cache.h"
12 /* DESCRIPTION
13 /* .nf
14 
15  /*
16   * Utility library.
17   */
18 #include <dict.h>
19 
20  /*
21   * This code stores hashed passwords which requires OpenSSL.
22   */
23 #if defined(USE_TLS) && defined(USE_SASL_AUTH)
24 #define HAVE_SASL_AUTH_CACHE
25 
26  /*
27   * External interface.
28   */
29 typedef struct {
30     DICT   *dict;
31     int     ttl;
32     char   *dsn;
33     char   *text;
34 } SMTP_SASL_AUTH_CACHE;
35 
36 extern SMTP_SASL_AUTH_CACHE *smtp_sasl_auth_cache_init(const char *, int);
37 extern void smtp_sasl_auth_cache_store(SMTP_SASL_AUTH_CACHE *, const SMTP_SESSION *, const SMTP_RESP *);
38 extern int smtp_sasl_auth_cache_find(SMTP_SASL_AUTH_CACHE *, const SMTP_SESSION *);
39 
40 #define smtp_sasl_auth_cache_dsn(cp)	((cp)->dsn)
41 #define smtp_sasl_auth_cache_text(cp)	((cp)->text)
42 
43 #endif
44 
45 /* LICENSE
46 /* .ad
47 /* .fi
48 /*	The Secure Mailer license must be distributed with this software.
49 /* AUTHOR(S)
50 /*	Initial implementation by:
51 /*	Till Franke
52 /*	SuSE Rhein/Main AG
53 /*	65760 Eschborn, Germany
54 /*
55 /*	Adopted by:
56 /*	Wietse Venema
57 /*	IBM T.J. Watson Research
58 /*	P.O. Box 704
59 /*	Yorktown Heights, NY 10598, USA
60 /*--*/
61 
62 #endif
63