Changeset 21167d2 for protocols/jabber/jabber.c
- Timestamp:
- 2006-09-20T19:42:27Z (18 years ago)
- Branches:
- master
- Children:
- 70f6aab8
- Parents:
- f06894d
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
protocols/jabber/jabber.c
rf06894d r21167d2 28 28 #include <stdio.h> 29 29 30 #include "ssl_client.h" 30 31 #include "xmltree.h" 31 32 #include "bitlbee.h" … … 55 56 static void jabber_login( account_t *acc ) 56 57 { 58 struct gaim_connection *gc = new_gaim_conn( acc ); 59 struct jabber_data *jd = g_new0( struct jabber_data, 1 ); 60 61 jd->gc = gc; 62 gc->proto_data = jd; 63 64 jd->username = g_strdup( acc->user ); 65 jd->server = strchr( jd->username, '@' ); 66 67 if( jd->server == NULL ) 68 { 69 hide_login_progress( gc, "Incomplete account name (format it like <username@jabberserver.name>)" ); 70 signoff( gc ); 71 return; 72 } 73 74 /* So don't think of free()ing jd->server.. :-) */ 75 *jd->server = 0; 76 jd->server ++; 77 78 if( set_getbool( &acc->set, "ssl" ) ) 79 { 80 signoff( gc ); 81 /* TODO! */ 82 } 83 else 84 { 85 jd->fd = proxy_connect( jd->server, set_getint( &acc->set, "port" ), jabber_connected_plain, gc ); 86 } 57 87 } 58 88 59 89 static void jabber_close( struct gaim_connection *gc ) 60 90 { 91 struct jabber_data *jd = gc->proto_data; 92 93 if( jd->r_inpa >= 0 ) 94 b_event_remove( jd->r_inpa ); 95 if( jd->w_inpa >= 0 ) 96 b_event_remove( jd->w_inpa ); 97 98 if( jd->ssl ) 99 ssl_disconnect( jd->ssl ); 100 if( jd->fd >= 0 ) 101 closesocket( jd->fd ); 102 103 g_free( jd->username ); 104 g_free( jd ); 61 105 } 62 106 63 107 static int jabber_send_im( struct gaim_connection *gc, char *who, char *message, int len, int away ) 64 108 { 109 return 0; 65 110 } 66 111 … … 96 141 } 97 142 98 static xt_status jabber_end_of_stream( struct xt_node *node, gpointer data )99 {100 return XT_ABORT;101 }102 103 static xt_status jabber_pkt_misc( struct xt_node *node, gpointer data )104 {105 printf( "Received unknown packet:\n" );106 xt_print( node );107 108 return XT_HANDLED;109 }110 111 static const struct xt_handler_entry jabber_handlers[] = {112 { "stream:stream", "<root>", jabber_end_of_stream },113 { "iq", "stream:stream", jabber_pkt_iq },114 { "message", "stream:stream", jabber_pkt_message },115 { "presence", "stream:stream", jabber_pkt_presence },116 { NULL, "stream:stream", jabber_pkt_misc },117 { NULL, NULL, NULL }118 };119 120 143 #if 0 121 144 int main( int argc, char *argv[] )
Note: See TracChangeset
for help on using the changeset viewer.