Mercurial > pidgin
comparison libpurple/protocols/oscar/oscar.h @ 25211:ea70a446dde4
First pass at adding SSL connections to OSCAR.
Both AIM and ICQ can connect.
Three FLAP servers seem to dislike SSL:
(15:39:46) nss: Handshake failed (-5961)
(15:39:46) oscar: unable to connect to FLAP server of type 0x0018
(15:39:46) nss: Handshake failed (-5961)
(15:39:46) oscar: unable to connect to FLAP server of type 0x000d
(15:39:46) nss: Handshake failed (-5961)
(15:39:46) oscar: unable to connect to FLAP server of type 0x0010
As a consequence, neither buddy icons nor chats work currently.
author | Paul Aurich <paul@darkrain42.org> |
---|---|
date | Wed, 10 Dec 2008 23:41:28 +0000 |
parents | 531922f4ea2a |
children | d3f47707e260 |
comparison
equal
deleted
inserted
replaced
24678:2f84f888d3db | 25211:ea70a446dde4 |
---|---|
32 #include "circbuffer.h" | 32 #include "circbuffer.h" |
33 #include "debug.h" | 33 #include "debug.h" |
34 #include "eventloop.h" | 34 #include "eventloop.h" |
35 #include "internal.h" | 35 #include "internal.h" |
36 #include "proxy.h" | 36 #include "proxy.h" |
37 #include "sslconn.h" | |
37 | 38 |
38 #include <stdio.h> | 39 #include <stdio.h> |
39 #include <string.h> | 40 #include <string.h> |
40 #include <fcntl.h> | 41 #include <fcntl.h> |
41 #include <sys/types.h> | 42 #include <sys/types.h> |
416 guint16 cookielen; | 417 guint16 cookielen; |
417 guint8 *cookie; | 418 guint8 *cookie; |
418 gpointer new_conn_data; | 419 gpointer new_conn_data; |
419 | 420 |
420 int fd; | 421 int fd; |
422 PurpleSslConnection *gsc; | |
421 guint8 header[6]; | 423 guint8 header[6]; |
422 gssize header_received; | 424 gssize header_received; |
423 FlapFrame buffer_incoming; | 425 FlapFrame buffer_incoming; |
424 PurpleCircBuffer *buffer_outgoing; | 426 PurpleCircBuffer *buffer_outgoing; |
425 guint watcher_incoming; | 427 guint watcher_incoming; |
473 | 475 |
474 GSList *oscar_chats; | 476 GSList *oscar_chats; |
475 GHashTable *buddyinfo; | 477 GHashTable *buddyinfo; |
476 GSList *requesticon; | 478 GSList *requesticon; |
477 | 479 |
480 gboolean use_ssl; | |
478 gboolean icq; | 481 gboolean icq; |
479 guint getblisttimer; | 482 guint getblisttimer; |
480 | 483 |
481 struct { | 484 struct { |
482 guint maxwatchers; /* max users who can watch you */ | 485 guint maxwatchers; /* max users who can watch you */ |
613 void flap_connection_schedule_destroy(FlapConnection *conn, OscarDisconnectReason reason, const gchar *error_message); | 616 void flap_connection_schedule_destroy(FlapConnection *conn, OscarDisconnectReason reason, const gchar *error_message); |
614 FlapConnection *flap_connection_findbygroup(OscarData *od, guint16 group); | 617 FlapConnection *flap_connection_findbygroup(OscarData *od, guint16 group); |
615 FlapConnection *flap_connection_getbytype(OscarData *, int type); | 618 FlapConnection *flap_connection_getbytype(OscarData *, int type); |
616 FlapConnection *flap_connection_getbytype_all(OscarData *, int type); | 619 FlapConnection *flap_connection_getbytype_all(OscarData *, int type); |
617 void flap_connection_recv_cb(gpointer data, gint source, PurpleInputCondition cond); | 620 void flap_connection_recv_cb(gpointer data, gint source, PurpleInputCondition cond); |
621 void flap_connection_recv_cb_ssl(gpointer data, PurpleSslConnection *gsc, PurpleInputCondition cond); | |
622 | |
618 void flap_connection_send(FlapConnection *conn, FlapFrame *frame); | 623 void flap_connection_send(FlapConnection *conn, FlapFrame *frame); |
619 void flap_connection_send_version(OscarData *od, FlapConnection *conn); | 624 void flap_connection_send_version(OscarData *od, FlapConnection *conn); |
620 void flap_connection_send_version_with_cookie(OscarData *od, FlapConnection *conn, guint16 length, const guint8 *chipsahoy); | 625 void flap_connection_send_version_with_cookie(OscarData *od, FlapConnection *conn, guint16 length, const guint8 *chipsahoy); |
621 void flap_connection_send_snac(OscarData *od, FlapConnection *conn, guint16 family, const guint16 subtype, guint16 flags, aim_snacid_t snacid, ByteStream *data); | 626 void flap_connection_send_snac(OscarData *od, FlapConnection *conn, guint16 family, const guint16 subtype, guint16 flags, aim_snacid_t snacid, ByteStream *data); |
622 void flap_connection_send_snac_with_priority(OscarData *od, FlapConnection *conn, guint16 family, const guint16 subtype, guint16 flags, aim_snacid_t snacid, ByteStream *data, gboolean high_priority); | 627 void flap_connection_send_snac_with_priority(OscarData *od, FlapConnection *conn, guint16 family, const guint16 subtype, guint16 flags, aim_snacid_t snacid, ByteStream *data, gboolean high_priority); |