Mercurial > hg
annotate mcabber/src/jab_priv.h @ 1574:d8a016f76ff7
Fix segfaults when receiving malformed XEP-0146 packets
author | franky@veqlargh.fs |
---|---|
date | Tue, 20 Jan 2009 08:48:11 +0100 |
parents | bec235cd28a8 |
children |
rev | line source |
---|---|
577
5c6d364130ee
Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
1 #ifndef __JAB_PRIV_H__ |
5c6d364130ee
Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
2 #define __JAB_PRIV_H__ 1 |
5c6d364130ee
Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
3 |
5c6d364130ee
Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
4 /* This header file declares functions used by jab*.c only. */ |
5c6d364130ee
Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
5 |
5c6d364130ee
Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
6 #include "jabglue.h" |
745
413e95f3051a
Introduce user "events" list
Mikael Berthe <mikael@lilotux.net>
parents:
705
diff
changeset
|
7 #include "events.h" |
577
5c6d364130ee
Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
8 |
1215
80c095886fb5
Entity Capabilities support (XEP-0115)
Mikael Berthe <mikael@lilotux.net>
parents:
1213
diff
changeset
|
9 /* XEP-0115 (Entity Capabilities) node */ |
1455
bec235cd28a8
Misc. documentation updates
Mikael Berthe <mikael@lilotux.net>
parents:
1391
diff
changeset
|
10 #define MCABBER_CAPS_NODE "http://mcabber.com/caps" |
1215
80c095886fb5
Entity Capabilities support (XEP-0115)
Mikael Berthe <mikael@lilotux.net>
parents:
1213
diff
changeset
|
11 |
80c095886fb5
Entity Capabilities support (XEP-0115)
Mikael Berthe <mikael@lilotux.net>
parents:
1213
diff
changeset
|
12 #define JABBER_AGENT_GROUP "Jabber Agents" |
577
5c6d364130ee
Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
13 |
578 | 14 enum enum_jstate { |
577
5c6d364130ee
Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
15 STATE_CONNECTING, |
5c6d364130ee
Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
16 STATE_GETAUTH, |
5c6d364130ee
Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
17 STATE_SENDAUTH, |
5c6d364130ee
Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
18 STATE_LOGGED |
578 | 19 }; |
577
5c6d364130ee
Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
20 |
5c6d364130ee
Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
21 struct T_presence { |
5c6d364130ee
Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
22 enum imstatus st; |
5c6d364130ee
Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
23 const char *msg; |
5c6d364130ee
Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
24 }; |
5c6d364130ee
Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
25 |
683 | 26 |
965
1bdf0f1b16c0
Use U suffix for unsigned defines
Mikael Berthe <mikael@lilotux.net>
parents:
814
diff
changeset
|
27 #define IQS_DEFAULT_TIMEOUT 90U |
1bdf0f1b16c0
Use U suffix for unsigned defines
Mikael Berthe <mikael@lilotux.net>
parents:
814
diff
changeset
|
28 #define IQS_MAX_TIMEOUT 600U |
683 | 29 |
965
1bdf0f1b16c0
Use U suffix for unsigned defines
Mikael Berthe <mikael@lilotux.net>
parents:
814
diff
changeset
|
30 #define IQS_CONTEXT_RESULT 0U /* Normal result should be zero */ |
1bdf0f1b16c0
Use U suffix for unsigned defines
Mikael Berthe <mikael@lilotux.net>
parents:
814
diff
changeset
|
31 #define IQS_CONTEXT_TIMEOUT 1U |
1bdf0f1b16c0
Use U suffix for unsigned defines
Mikael Berthe <mikael@lilotux.net>
parents:
814
diff
changeset
|
32 #define IQS_CONTEXT_ERROR 2U |
698
60522cf6d325
Propagate context to IQ callback functions
Mikael Berthe <mikael@lilotux.net>
parents:
691
diff
changeset
|
33 |
578 | 34 extern enum enum_jstate jstate; |
1016 | 35 extern xmlnode bookmarks, rosternotes; |
577
5c6d364130ee
Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
36 |
1215
80c095886fb5
Entity Capabilities support (XEP-0115)
Mikael Berthe <mikael@lilotux.net>
parents:
1213
diff
changeset
|
37 const char *entity_version(void); |
814
109dcf5fc111
Use hgcset (if available) when answering to IQ:version requests
Mikael Berthe <mikael@lilotux.net>
parents:
745
diff
changeset
|
38 |
1254
401639413340
More jabber:iq:last support... (misc)
Mikael Berthe <mikael@lilotux.net>
parents:
1224
diff
changeset
|
39 extern time_t iqlast; /* last message/status change time */ |
683 | 40 |
577
5c6d364130ee
Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
41 void handle_packet_iq(jconn conn, char *type, char *from, xmlnode xmldata); |
5c6d364130ee
Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
42 void display_server_error(xmlnode x); |
745
413e95f3051a
Introduce user "events" list
Mikael Berthe <mikael@lilotux.net>
parents:
705
diff
changeset
|
43 eviqs *iqs_new(guint8 type, const char *ns, const char *prefix, time_t timeout); |
683 | 44 int iqs_del(const char *iqid); |
698
60522cf6d325
Propagate context to IQ callback functions
Mikael Berthe <mikael@lilotux.net>
parents:
691
diff
changeset
|
45 int iqs_callback(const char *iqid, xmlnode xml_result, guint iqcontext); |
705
603b43e4f56a
Fix a bug in iqs_check_timeout()
Mikael Berthe <mikael@lilotux.net>
parents:
698
diff
changeset
|
46 void iqs_check_timeout(time_t now_t); |
1224
fb0460a3cf4b
Fix iqscallback_auth() when authentication fails
Mikael Berthe <mikael@lilotux.net>
parents:
1215
diff
changeset
|
47 int iqscallback_auth(eviqs *iqp, xmlnode xml_result, guint iqcontext); |
690
3e965a1186c7
Implement IQ:version requests
Mikael Berthe <mikael@lilotux.net>
parents:
686
diff
changeset
|
48 void request_version(const char *fulljid); |
691
3c0a0a993de8
Implement IQ:time requests
Mikael Berthe <mikael@lilotux.net>
parents:
690
diff
changeset
|
49 void request_time(const char *fulljid); |
1015 | 50 void request_last(const char *fulljid); |
1003
c8b1a52b2fd6
Initial VCard retrieval support
Mikael Berthe <mikael@lilotux.net>
parents:
965
diff
changeset
|
51 void request_vcard(const char *barejid); |
1008
bbf53cd43fbb
Functions to update room bookmarks
Mikael Berthe <mikael@lilotux.net>
parents:
1003
diff
changeset
|
52 void send_storage_bookmarks(void); |
1016 | 53 void send_storage_rosternotes(void); |
577
5c6d364130ee
Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
54 |
5c6d364130ee
Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
55 #endif /* __JAB_PRIV_H__ */ |
5c6d364130ee
Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
56 |
580 | 57 /* vim: set expandtab cindent cinoptions=>2\:2(0: For Vim users... */ |