mutt stable branch with some hacks
at master 55 lines 1.9 kB view raw
1/* 2 * Copyright (C) 2000-2001 Brendan Cully <brendan@kublai.com> 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License as published by 6 * the Free Software Foundation; either version 2 of the License, or 7 * (at your option) any later version. 8 * 9 * This program is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details. 13 * 14 * You should have received a copy of the GNU General Public License 15 * along with this program; if not, write to the Free Software 16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 17 */ 18 19/* common defs for authenticators. A good place to set up a generic callback 20 * system */ 21 22#ifndef _IMAP_AUTH_H 23#define _IMAP_AUTH_H 1 24 25typedef enum 26{ 27 IMAP_AUTH_SUCCESS = 0, 28 IMAP_AUTH_FAILURE, 29 IMAP_AUTH_UNAVAIL 30} imap_auth_res_t; 31 32 33typedef struct 34{ 35 /* do authentication, using named method or any available if method is NULL */ 36 imap_auth_res_t (*authenticate) (IMAP_DATA* idata, const char* method); 37 /* name of authentication method supported, NULL means variable. If this 38 * is not null, authenticate may ignore the second parameter. */ 39 const char* method; 40} imap_auth_t; 41 42/* external authenticator prototypes */ 43#ifndef USE_SASL 44imap_auth_res_t imap_auth_anon (IMAP_DATA* idata, const char* method); 45imap_auth_res_t imap_auth_cram_md5 (IMAP_DATA* idata, const char* method); 46#endif 47imap_auth_res_t imap_auth_login (IMAP_DATA* idata, const char* method); 48#ifdef USE_GSS 49imap_auth_res_t imap_auth_gss (IMAP_DATA* idata, const char* method); 50#endif 51#ifdef USE_SASL 52imap_auth_res_t imap_auth_sasl (IMAP_DATA* idata, const char* method); 53#endif 54 55#endif /* _IMAP_AUTH_H */