static void bonjour_xfer_request_denied(PurpleXfer *xfer) { XepXfer *xf = xfer->data; purple_debug_info("bonjour", "Bonjour-xfer-request-denied.\n"); if(xf) xep_ft_si_reject(xf->data, xf->sid, xfer->who, "403", "cancel"); bonjour_free_xfer(xfer); }
static void bonjour_xfer_request_denied(PurpleXfer *xfer) { XepXfer *xf = purple_xfer_get_protocol_data(xfer); purple_debug_info("bonjour", "Bonjour-xfer-request-denied.\n"); if(xf) xep_ft_si_reject(xf->data, xf->sid, purple_xfer_get_remote_user(xfer), "403", "cancel"); bonjour_free_xfer(xfer); }
static void bonjour_xfer_end(PurpleXfer *xfer) { purple_debug_info("bonjour", "Bonjour-xfer-end.\n"); /* We can't allow the server side to close the connection until the client is complete, * otherwise there is a RST resulting in an error on the client side */ if (purple_xfer_get_type(xfer) == PURPLE_XFER_SEND && purple_xfer_is_completed(xfer)) { struct socket_cleanup *sc = g_new0(struct socket_cleanup, 1); sc->fd = xfer->fd; xfer->fd = -1; sc->handle = purple_input_add(sc->fd, PURPLE_INPUT_READ, _wait_for_socket_close, sc); } bonjour_free_xfer(xfer); }
static void bonjour_xfer_cancel_send(PurpleXfer *xfer) { purple_debug_info("bonjour", "Bonjour-xfer-cancel-send.\n"); bonjour_free_xfer(xfer); }