Mercurial > pidgin
comparison libpurple/protocols/jabber/auth.h @ 28725:4f45aae3ace1
Let's try a more complex set of return states / values for auth mechs.
This won't build with Cyrus support yet.
author | Paul Aurich <paul@darkrain42.org> |
---|---|
date | Tue, 01 Dec 2009 07:32:53 +0000 |
parents | c1d41b7484ff |
children | b94fd073187c |
comparison
equal
deleted
inserted
replaced
28724:554ae3e78952 | 28725:4f45aae3ace1 |
---|---|
27 typedef struct _JabberSaslMech JabberSaslMech; | 27 typedef struct _JabberSaslMech JabberSaslMech; |
28 | 28 |
29 #include "jabber.h" | 29 #include "jabber.h" |
30 #include "xmlnode.h" | 30 #include "xmlnode.h" |
31 | 31 |
32 typedef enum { | |
33 JABBER_SASL_STATE_FAIL = -1, /* Abort, Retry, Fail? */ | |
34 JABBER_SASL_STATE_OK = 0, /* Hooray! */ | |
35 JABBER_SASL_STATE_CONTINUE = 1 /* More authentication required */ | |
36 } JabberSaslState; | |
37 | |
32 struct _JabberSaslMech { | 38 struct _JabberSaslMech { |
33 gint8 priority; /* Higher priority will be tried before lower priority */ | 39 gint8 priority; /* Higher priority will be tried before lower priority */ |
34 const gchar *name; | 40 const gchar *name; |
35 xmlnode *(*start)(JabberStream *js, xmlnode *mechanisms); | 41 JabberSaslState (*start)(JabberStream *js, xmlnode *mechanisms, xmlnode **reply, const char **msg); |
36 xmlnode *(*handle_challenge)(JabberStream *js, xmlnode *packet); | 42 JabberSaslState (*handle_challenge)(JabberStream *js, xmlnode *packet, xmlnode **reply, const char **msg); |
37 gboolean (*handle_success)(JabberStream *js, xmlnode *packet); | 43 JabberSaslState (*handle_success)(JabberStream *js, xmlnode *packet, const char **msg); |
38 xmlnode *(*handle_failure)(JabberStream *js, xmlnode *packet); | 44 JabberSaslState (*handle_failure)(JabberStream *js, xmlnode *packet, xmlnode **reply, const char **msg); |
39 void (*dispose)(JabberStream *js); | 45 void (*dispose)(JabberStream *js); |
40 }; | 46 }; |
41 | 47 |
42 gboolean jabber_process_starttls(JabberStream *js, xmlnode *packet); | 48 gboolean jabber_process_starttls(JabberStream *js, xmlnode *packet); |
43 void jabber_auth_start(JabberStream *js, xmlnode *packet); | 49 void jabber_auth_start(JabberStream *js, xmlnode *packet); |