Index: protocols/jabber/iq.c
===================================================================
--- protocols/jabber/iq.c	(revision 1cc0df34f742f93f995b68210de3d1f2eac2b5ac)
+++ protocols/jabber/iq.c	(revision 17a6ee93f4fbefe8b4356d884fdd95f4e72ce8cc)
@@ -392,5 +392,5 @@
 			if( ( strcmp( sub, "both" ) == 0 || strcmp( sub, "to" ) == 0 ) )
 			{
-				if( initial || imcb_find_buddy( ic, jid ) == NULL )
+				if( initial || bee_user_by_handle( ic->bee, ic, jid ) == NULL )
 					imcb_add_buddy( ic, jid, ( group && group->text_len ) ?
 					                           group->text : NULL );
@@ -590,5 +590,5 @@
 	    strcmp( s, "result" ) == 0 )
 	{
-		if( imcb_find_buddy( ic, jid ) == NULL )
+		if( bee_user_by_handle( ic->bee, ic, jid ) == NULL )
 			imcb_add_buddy( ic, jid, NULL );
 	}
Index: protocols/jabber/jabber.c
===================================================================
--- protocols/jabber/jabber.c	(revision 1cc0df34f742f93f995b68210de3d1f2eac2b5ac)
+++ protocols/jabber/jabber.c	(revision 17a6ee93f4fbefe8b4356d884fdd95f4e72ce8cc)
@@ -267,5 +267,5 @@
 	
 	while( jd->filetransfers )
-		imcb_file_canceled( ( ( struct jabber_transfer *) jd->filetransfers->data )->ft, "Logging out" );
+		imcb_file_canceled( ic, ( ( struct jabber_transfer *) jd->filetransfers->data )->ft, "Logging out" );
 
 	while( jd->streamhosts )
Index: protocols/jabber/jabber_util.c
===================================================================
--- protocols/jabber/jabber_util.c	(revision 1cc0df34f742f93f995b68210de3d1f2eac2b5ac)
+++ protocols/jabber/jabber_util.c	(revision 17a6ee93f4fbefe8b4356d884fdd95f4e72ce8cc)
@@ -279,6 +279,5 @@
 	presence_send_request( bla->ic, bla->handle, "subscribed" );
 	
-	if( imcb_find_buddy( bla->ic, bla->handle ) == NULL )
-		imcb_ask_add( bla->ic, bla->handle, NULL );
+	imcb_ask_add( bla->ic, bla->handle, NULL );
 	
 	g_free( bla->handle );
@@ -462,5 +461,5 @@
 		
 		if( bud == NULL && ( flags & GET_BUDDY_CREAT ) &&
-		    ( bare_exists || imcb_find_buddy( ic, jid ) ) )
+		    ( bare_exists || bee_user_by_handle( ic->bee, ic, jid ) ) )
 		{
 			*s = '/';
@@ -483,5 +482,6 @@
 		if( bud == NULL )
 			/* No match. Create it now? */
-			return ( ( flags & GET_BUDDY_CREAT ) && imcb_find_buddy( ic, jid_ ) ) ?
+			return ( ( flags & GET_BUDDY_CREAT ) &&
+			         bee_user_by_handle( ic->bee, ic, jid_ ) ) ?
 			           jabber_buddy_add( ic, jid_ ) : NULL;
 		else if( bud->resource && ( flags & GET_BUDDY_EXACT ) )
Index: protocols/jabber/s5bytestream.c
===================================================================
--- protocols/jabber/s5bytestream.c	(revision 1cc0df34f742f93f995b68210de3d1f2eac2b5ac)
+++ protocols/jabber/s5bytestream.c	(revision 17a6ee93f4fbefe8b4356d884fdd95f4e72ce8cc)
@@ -566,5 +566,5 @@
 	xt_free_node( reply );
 
-	imcb_file_canceled( tf->ft, "couldn't connect to any streamhosts" );
+	imcb_file_canceled( tf->ic, tf->ft, "couldn't connect to any streamhosts" );
 
 	bt->tf->watch_in = 0;
@@ -603,5 +603,5 @@
 		
 	if( !jabber_write_packet( tf->ic, reply ) )
-		imcb_file_canceled( tf->ft, "Error transmitting bytestream response" );
+		imcb_file_canceled( tf->ic, tf->ft, "Error transmitting bytestream response" );
 	xt_free_node( reply );
 }
@@ -643,5 +643,5 @@
 
 	if( tf->bytesread >= tf->ft->file_size )
-		imcb_file_finished( tf->ft );
+		imcb_file_finished( tf->ic, tf->ft );
 
 	tf->ft->write( tf->ft, tf->ft->buffer, ret );	
@@ -659,5 +659,5 @@
 	if( tf->watch_in )
 	{
-		imcb_file_canceled( ft, "BUG in jabber file transfer: write_request called when already watching for input" );
+		imcb_file_canceled( tf->ic, ft, "BUG in jabber file transfer: write_request called when already watching for input" );
 		return FALSE;
 	}
@@ -705,5 +705,5 @@
 
 	if( tf->byteswritten >= ft->file_size )
-		imcb_file_finished( ft );
+		imcb_file_finished( tf->ic, ft );
 	else
 		bt->tf->watch_out = b_input_add( tf->fd, GAIM_INPUT_WRITE, jabber_bs_send_can_write, bt );
@@ -1005,5 +1005,5 @@
 
 	if( !jabber_write_packet( tf->ic, iq ) )
-		imcb_file_canceled( tf->ft, "Error transmitting bytestream request" );
+		imcb_file_canceled( tf->ic, tf->ft, "Error transmitting bytestream request" );
 	return TRUE;
 }
@@ -1020,5 +1020,5 @@
 
 	if( jd->streamhosts==NULL ) /* we're done here unless we have a proxy to try */
-		imcb_file_canceled( tf->ft, error );
+		imcb_file_canceled( tf->ic, tf->ft, error );
 
 	/* MUST always return FALSE! */
Index: protocols/jabber/si.c
===================================================================
--- protocols/jabber/si.c	(revision 1cc0df34f742f93f995b68210de3d1f2eac2b5ac)
+++ protocols/jabber/si.c	(revision 17a6ee93f4fbefe8b4356d884fdd95f4e72ce8cc)
@@ -91,9 +91,9 @@
 
 	if( !foundft )
-		imcb_file_canceled( tf->ft, "Buddy's client doesn't feature file transfers" );
+		imcb_file_canceled( tf->ic, tf->ft, "Buddy's client doesn't feature file transfers" );
 	else if( !foundbt )
-		imcb_file_canceled( tf->ft, "Buddy's client doesn't feature byte streams (required)" );
+		imcb_file_canceled( tf->ic, tf->ft, "Buddy's client doesn't feature byte streams (required)" );
 	else if( !foundsi )
-		imcb_file_canceled( tf->ft, "Buddy's client doesn't feature stream initiation (required)" );
+		imcb_file_canceled( tf->ic, tf->ft, "Buddy's client doesn't feature stream initiation (required)" );
 		
 	return foundft && foundbt && foundsi;
@@ -109,5 +109,5 @@
 
 	/* and start the receive logic */
-	imcb_file_recv_start( tf->ft );
+	imcb_file_recv_start( tf->ic, tf->ft );
 
 }
@@ -156,5 +156,5 @@
 	if( bud == NULL )
 	{
-		imcb_file_canceled( ft, "Couldn't find buddy (BUG?)" );
+		imcb_file_canceled( ic, ft, "Couldn't find buddy (BUG?)" );
 		return;
 	}
