Sat, 17 Dec 2005 02:24:05 +0000
[gaim-migrate @ 14820]
patch from Simon Wilkinson to add Cyrus SASL support for jabber
Give him credit if it works flawlessly. Blame me if it doesn't, as the
patch was against 1.3.1 (yeah, I've been sitting on it for that long), and
I had to merge it to HEAD, and clean up a bunch of warnings
committer: Nathan Walp <nwalp@pidgin.im>
|
11375
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
1 | /** |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
2 | * @file ntlm.h |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
3 | * |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
4 | * gaim |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
5 | * |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
6 | * Copyright (C) 2005, Thomas Butter <butter@uni-mannheim.de> |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
7 | * |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
8 | * ntlm structs are taken from NTLM description on |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
9 | * http://www.innovation.ch/java/ntlm.html |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
10 | * |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
11 | * This program is free software; you can redistribute it and/or modify |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
12 | * it under the terms of the GNU General Public License as published by |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
13 | * the Free Software Foundation; either version 2 of the License, or |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
14 | * (at your option) any later version. |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
15 | * |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
16 | * This program is distributed in the hope that it will be useful, |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
19 | * GNU General Public License for more details. |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
20 | * |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
21 | * You should have received a copy of the GNU General Public License |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
22 | * along with this program; if not, write to the Free Software |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
23 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
24 | */ |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
25 | |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
26 | #ifndef _GAIM_NTLM_H |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
27 | #define _GAIM_NTLM_H |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
28 | |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
29 | /** |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
30 | * Generates the base64 encoded type 1 message needed for NTLM authentication |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
31 | * |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
32 | * @param hostname Your hostname |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
33 | * @param domain The domain to authenticate to |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
34 | * @return base64 encoded string to send to the server. has to be freed with g_free |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
35 | */ |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
36 | gchar *gaim_ntlm_gen_type1(gchar *hostname, gchar *domain); |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
37 | |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
38 | /** |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
39 | * Parses the ntlm type 2 message |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
40 | * |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
41 | * @param type2 String containing the base64 encoded type2 message |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
42 | * @return The nonce for use in message type3 |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
43 | */ |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
44 | gchar *gaim_ntlm_parse_type2(gchar *type2); |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
45 | |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
46 | /** |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
47 | * Generates a type3 message |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
48 | * |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
49 | * @param username The username |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
50 | * @param passw The password |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
51 | * @param hostname The hostname |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
52 | * @param domain The domain to authenticate against |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
53 | * @param nonce The nonce returned by gaim_ntlm_parse_type2 |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
54 | * @return A base64 encoded type3 message |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
55 | */ |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
56 | gchar *gaim_ntlm_gen_type3(gchar *username, gchar *passw, gchar *hostname, gchar *domain, gchar *nonce); |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
57 | |
|
765ec911f25d
[gaim-migrate @ 13601]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
diff
changeset
|
58 | #endif /* _GAIM_NTLM_H */ |