| 1 /** |
|
| 2 * @file ntlm.h |
|
| 3 * |
|
| 4 * gaim |
|
| 5 * |
|
| 6 * Copyright (C) 2005, Thomas Butter <butter@uni-mannheim.de> |
|
| 7 * |
|
| 8 * ntlm structs are taken from NTLM description on |
|
| 9 * http://www.innovation.ch/java/ntlm.html |
|
| 10 * |
|
| 11 * This program is free software; you can redistribute it and/or modify |
|
| 12 * it under the terms of the GNU General Public License as published by |
|
| 13 * the Free Software Foundation; either version 2 of the License, or |
|
| 14 * (at your option) any later version. |
|
| 15 * |
|
| 16 * This program is distributed in the hope that it will be useful, |
|
| 17 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
| 18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
| 19 * GNU General Public License for more details. |
|
| 20 * |
|
| 21 * You should have received a copy of the GNU General Public License |
|
| 22 * along with this program; if not, write to the Free Software |
|
| 23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
| 24 */ |
|
| 25 |
|
| 26 #ifndef _GAIM_NTLM_H |
|
| 27 #define _GAIM_NTLM_H |
|
| 28 |
|
| 29 /** |
|
| 30 * Generates the base64 encoded type 1 message needed for NTLM authentication |
|
| 31 * |
|
| 32 * @param hostname Your hostname |
|
| 33 * @param domain The domain to authenticate to |
|
| 34 * @return base64 encoded string to send to the server. This should |
|
| 35 * be g_free'd by the caller. |
|
| 36 */ |
|
| 37 gchar *gaim_ntlm_gen_type1(const gchar *hostname, const gchar *domain); |
|
| 38 |
|
| 39 /** |
|
| 40 * Parses the ntlm type 2 message |
|
| 41 * |
|
| 42 * @param type2 String containing the base64 encoded type2 message |
|
| 43 * @param flags If not @c NULL, this will store the flags for the message |
|
| 44 * |
|
| 45 * @return The nonce for use in message type3. This is a statically |
|
| 46 * allocated 8 byte binary string. |
|
| 47 */ |
|
| 48 guint8 *gaim_ntlm_parse_type2(const gchar *type2, guint32 *flags); |
|
| 49 |
|
| 50 /** |
|
| 51 * Generates a type3 message |
|
| 52 * |
|
| 53 * @param username The username |
|
| 54 * @param passw The password |
|
| 55 * @param hostname The hostname |
|
| 56 * @param domain The domain to authenticate against |
|
| 57 * @param nonce The nonce returned by gaim_ntlm_parse_type2 |
|
| 58 * @param flags Pointer to the flags returned by gaim_ntlm_parse_type2 |
|
| 59 * @return A base64 encoded type3 message. This should be g_free'd by |
|
| 60 * the caller. |
|
| 61 */ |
|
| 62 gchar *gaim_ntlm_gen_type3(const gchar *username, const gchar *passw, const gchar *hostname, const gchar *domain, const guint8 *nonce, guint32 *flags); |
|
| 63 |
|
| 64 #endif /* _GAIM_NTLM_H */ |
|