ekg2
GIT master
|
Idź do kodu źródłowego tego pliku.
Struktury danych | |
struct | xmlnode_s |
struct | jabber_bookmark_url_t |
struct | jabber_bookmark_conference_t |
struct | jabber_bookmark_t |
struct | jabber_iq_privacy_t |
struct | jabber_conversation_t |
struct | jabber_stanza_t |
struct | jabber_private_t |
struct | jabber_userlist_private_t |
Definicje | |
#define | DEFAULT_CLIENT_NAME "EKG2 -- http://www.ekg2.org" |
#define | JABBER_DEFAULT_RESOURCE "ekg2" |
#define | TLEN_HUB "idi.tlen.pl" /* hub */ |
#define | TLEN_FALLBACK_SERVER "s1.tlen.pl" /* fallback server */ |
#define | TLEN_FALLBACK_PORT 443 /* fallback port */ |
#define | tlenjabber_escape(str) (j->istlen ? tlen_encode(str) : jabber_escape(str)) |
#define | tlenjabber_unescape(str) (j->istlen ? tlen_decode(str) : jabber_unescape(str)) |
#define | tlenjabber_uid(target) protocol_uid(j->istlen ? "tlen" : "xmpp", target) |
#define | tlen_uid(target) protocol_uid("tlen", target) |
#define | xmpp_uid(target) protocol_uid("xmpp", target) |
#define | jabber_private(s) ((jabber_private_t*) session_private_get(s)) |
#define | jabber_userlist_priv_get(u) ((jabber_userlist_private_t *) userlist_private_get(&jabber_plugin, u)) |
#define | jabber_write(s, args...) watch_write((s && s->priv) ? jabber_private(s)->send_watch : NULL, args); |
Definicje typów | |
typedef struct xmlnode_s | xmlnode_t |
Wyliczenia | |
enum | jabber_opengpg_type_t { JABBER_OPENGPG_ENCRYPT = 0, JABBER_OPENGPG_DECRYPT, JABBER_OPENGPG_SIGN, JABBER_OPENGPG_VERIFY } |
enum | jabber_bookmark_type_t { JABBER_BOOKMARK_UNKNOWN = 0, JABBER_BOOKMARK_URL, JABBER_BOOKMARK_CONFERENCE } |
enum | jabber_iq_type_t { JABBER_IQ_TYPE_NONE, JABBER_IQ_TYPE_GET, JABBER_IQ_TYPE_SET, JABBER_IQ_TYPE_RESULT, JABBER_IQ_TYPE_ERROR } |
enum | jabber_compression_method { JABBER_COMPRESSION_NONE = 0, JABBER_COMPRESSION_ZLIB_INIT, JABBER_COMPRESSION_LZW_INIT, JABBER_COMPRESSION_ZLIB, JABBER_COMPRESSION_LZW } |
enum | jabber_iq_privacy_flags_t { PRIVACY_LIST_MESSAGE = 1, PRIVACY_LIST_IQ = 2, PRIVACY_LIST_PRESENCE_IN = 4, PRIVACY_LIST_PRESENCE_OUT = 8, PRIVACY_LIST_ALL = (PRIVACY_LIST_MESSAGE | PRIVACY_LIST_IQ | PRIVACY_LIST_PRESENCE_IN | PRIVACY_LIST_PRESENCE_OUT) } |
enum | jabber_auth_t { EKG_JABBER_AUTH_NONE = 0, EKG_JABBER_AUTH_FROM = 1, EKG_JABBER_AUTH_TO = 2, EKG_JABBER_AUTH_BOTH = 3, EKG_JABBER_AUTH_REQ = 4, EKG_JABBER_AUTH_UNREQ = 8 } |
Funkcje | |
void | jabber_register_commands (void) |
XML_Parser | jabber_parser_recreate (XML_Parser parser, void *data) |
int | JABBER_COMMIT_DATA (watch_t *w) |
void | jabber_handle (void *data, xmlnode_t *n) |
int | jabber_privacy_freeone (jabber_private_t *j, jabber_iq_privacy_t *item) |
int | jabber_stanza_freeone (jabber_private_t *j, jabber_stanza_t *stanza) |
const char * | jabber_iq_reg (session_t *s, const char *prefix, const char *to, const char *type, const char *xmlns) |
const char * | jabber_iq_send (session_t *s, const char *prefix, jabber_iq_type_t iqtype, const char *to, const char *type, const char *xmlns) |
char * | jabber_digest (const char *sid, const char *password, int istlen) |
char * | jabber_sha1_generic (char *buf, int len) |
char * | jabber_dcc_digest (char *sid, char *initiator, char *target) |
char * | jabber_challenge_digest (const char *sid, const char *password, const char *nonce, const char *cnonce, const char *xmpp_temp, const char *realm) |
void | jabber_iq_auth_send (session_t *s, const char *username, const char *passwd, const char *stream_id) |
char * | jabber_attr (char **atts, const char *att) |
char * | jabber_escape (const char *text) |
char * | jabber_unescape (const char *text) |
char * | tlen_encode (const char *what) |
char * | tlen_decode (const char *what) |
int | jabber_write_status (session_t *s) |
void | jabber_reconnect_handler (int type, void *data) |
LIST_ADD_COMPARE (jabber_privacy_add_compare, jabber_iq_privacy_t *) | |
int | jabber_privacy_free (jabber_private_t *j) |
int | jabber_bookmarks_free (jabber_private_t *j) |
int | jabber_iq_stanza_free (jabber_private_t *j) |
WATCHER_LINE (jabber_handle_write) | |
void | xmlnode_handle_end (void *data, const char *name) |
void | xmlnode_handle_cdata (void *data, const char *text, int len) |
void | jabber_handle_disconnect (session_t *s, const char *reason, int type) |
char * | jabber_openpgp (session_t *s, const char *fromto, enum jabber_opengpg_type_t way, char *message, char *key, char **error) |
int | jabber_conversation_find (jabber_private_t *j, const char *uid, const char *subject, const char *thread, jabber_conversation_t **result, const int can_add) |
jabber_conversation_t * | jabber_conversation_get (jabber_private_t *j, const int n) |
char * | jabber_thread_gen (jabber_private_t *j, const char *uid) |
guint32 * | jabber_msg_format (const char *plaintext, const xmlnode_t *html) |
Zmienne | |
plugin_t | jabber_plugin |
char * | jabber_default_pubsub_server |
char * | jabber_default_search_server |
int | config_jabber_beep_mail |
const char * | jabber_authtypes [] |
#define DEFAULT_CLIENT_NAME "EKG2 -- http://www.ekg2.org" |
#define JABBER_DEFAULT_RESOURCE "ekg2" |
#define jabber_private | ( | s | ) | ((jabber_private_t*) session_private_get(s)) |
#define jabber_userlist_priv_get | ( | u | ) | ((jabber_userlist_private_t *) userlist_private_get(&jabber_plugin, u)) |
#define jabber_write | ( | s, | |
args... | |||
) | watch_write((s && s->priv) ? jabber_private(s)->send_watch : NULL, args); |
#define TLEN_FALLBACK_PORT 443 /* fallback port */ |
#define TLEN_FALLBACK_SERVER "s1.tlen.pl" /* fallback server */ |
#define TLEN_HUB "idi.tlen.pl" /* hub */ |
#define tlen_uid | ( | target | ) | protocol_uid("tlen", target) |
#define tlenjabber_escape | ( | str | ) | (j->istlen ? tlen_encode(str) : jabber_escape(str)) |
#define tlenjabber_uid | ( | target | ) | protocol_uid(j->istlen ? "tlen" : "xmpp", target) |
#define tlenjabber_unescape | ( | str | ) | (j->istlen ? tlen_decode(str) : jabber_unescape(str)) |
#define xmpp_uid | ( | target | ) | protocol_uid("xmpp", target) |
enum jabber_auth_t |
enum jabber_iq_type_t |
char* jabber_attr | ( | char ** | atts, |
const char * | att | ||
) |
int jabber_bookmarks_free | ( | jabber_private_t * | j | ) |
char* jabber_challenge_digest | ( | const char * | sid, |
const char * | password, | ||
const char * | nonce, | ||
const char * | cnonce, | ||
const char * | xmpp_temp, | ||
const char * | realm | ||
) |
Return base16 encoded hash for SASL MD5 CHALLENGE
int JABBER_COMMIT_DATA | ( | watch_t * | w | ) |
int jabber_conversation_find | ( | jabber_private_t * | j, |
const char * | uid, | ||
const char * | subject, | ||
const char * | thread, | ||
jabber_conversation_t ** | result, | ||
const int | can_add | ||
) |
jabber_conversation_find() searches session's conversation list for matching one.
j | - private data of session. |
uid | - UID of recipient. |
subject | - message subject (for non-threaded conversations). |
thread | - jabber thread ID, if threaded. |
result | - place to write address of jabber_conversation_t or NULL, if not needed. |
can_add | - if nonzero, we can create new conversation, if none match. |
jabber_conversation_t* jabber_conversation_get | ( | jabber_private_t * | j, |
const int | n | ||
) |
jabber_conversation_get() is used to get conversation by its Reply-ID.
j | - private data of session. |
n | - Reply-ID. |
char* jabber_dcc_digest | ( | char * | sid, |
char * | initiator, | ||
char * | target | ||
) |
[XXX] SOME TIME AGO, I had idea to connect jabber_dcc_digest() and jabber_digest() with one function, and use va_list for it... i don't know. jabber_dcc_digest()
Return SHA1 hash for SOCKS5 Bytestreams connections [DCC]
Make SHA1Update()'s on (uid, initiator and target)
char* jabber_digest | ( | const char * | sid, |
const char * | password, | ||
int | istlen | ||
) |
Return SHA1 hash for jabber:iq:auth
Make SHA1Update()'s on recoded to utf-8 (sid and password)
char* jabber_escape | ( | const char * | text | ) |
Convert charset from config_console_charset to "utf-8"
Escape xml chars using xml_escape()
text | - text to reencode+escape |
void jabber_handle | ( | void * | data, |
xmlnode_t * | n | ||
) |
void jabber_handle_disconnect | ( | session_t * | s, |
const char * | reason, | ||
int | type | ||
) |
void jabber_iq_auth_send | ( | session_t * | s, |
const char * | username, | ||
const char * | passwd, | ||
const char * | stream_id | ||
) |
Send jabber:iq:auth with <digest>DIGEST</digest> or <password>PLAINTEXT_PASSWORD</password>
It support both tlen auth, and jabber NON-SASL Authentication [XEP-0078]
s | - session to authenticate CANNOT BE NULL |
username | - username |
passwd | - password to hash or to escape |
stream_id | - id of stream. |
const char* jabber_iq_reg | ( | session_t * | s, |
const char * | prefix, | ||
const char * | to, | ||
const char * | type, | ||
const char * | xmlns | ||
) |
const char* jabber_iq_send | ( | session_t * | s, |
const char * | prefix, | ||
jabber_iq_type_t | iqtype, | ||
const char * | to, | ||
const char * | type, | ||
const char * | xmlns | ||
) |
int jabber_iq_stanza_free | ( | jabber_private_t * | j | ) |
guint32* jabber_msg_format | ( | const char * | plaintext, |
const xmlnode_t * | html | ||
) |
char* jabber_openpgp | ( | session_t * | s, |
const char * | fromto, | ||
enum jabber_opengpg_type_t | way, | ||
char * | message, | ||
char * | key, | ||
char ** | error | ||
) |
XML_Parser jabber_parser_recreate | ( | XML_Parser | parser, |
void * | data | ||
) |
int jabber_privacy_free | ( | jabber_private_t * | j | ) |
int jabber_privacy_freeone | ( | jabber_private_t * | j, |
jabber_iq_privacy_t * | item | ||
) |
void jabber_reconnect_handler | ( | int | type, |
void * | data | ||
) |
void jabber_register_commands | ( | void | ) |
char* jabber_sha1_generic | ( | char * | buf, |
int | len | ||
) |
int jabber_stanza_freeone | ( | jabber_private_t * | j, |
jabber_stanza_t * | stanza | ||
) |
char* jabber_thread_gen | ( | jabber_private_t * | j, |
const char * | uid | ||
) |
jabber_thread_gen() generates new thread-ID for outgoing messages.
j | - private data of session. |
uid | - recipient UID. |
char* jabber_unescape | ( | const char * | text | ) |
Convert charset from "utf-8" to config_console_charset.
xml escaped chars are already changed by expat. so we don't care about them.
text | - text to reencode. |
int jabber_write_status | ( | session_t * | s | ) |
LIST_ADD_COMPARE | ( | jabber_privacy_add_compare | , |
jabber_iq_privacy_t * | |||
) |
char* tlen_decode | ( | const char * | what | ) |
Decode string ,,encoded'' with urldecode [in ISO-8859-2] and convert charset to config_console_charset
what | - string to decode. |
char* tlen_encode | ( | const char * | what | ) |
Convert charset from config_console_charset to ISO-8859-2
,,encode'' string with urlencode
what | - string to encode. |
WATCHER_LINE | ( | jabber_handle_write | ) |
void xmlnode_handle_cdata | ( | void * | data, |
const char * | text, | ||
int | len | ||
) |
void xmlnode_handle_end | ( | void * | data, |
const char * | name | ||
) |
int config_jabber_beep_mail |
const char* jabber_authtypes[] |
char* jabber_default_pubsub_server |
char* jabber_default_search_server |
plugin_t jabber_plugin |