# HG changeset patch # User Mark Doliner # Date 1122234359 0 # Node ID 0d58a17095db7f1fb2522f15be661080580118fb # Parent 8e600ee6ec616fc13133fc4394e29257d4ce80ed [gaim-migrate @ 13236] Remove aim_setupproxy and aim_select. These functions weren't called from anywhere by us. I've given up on making sure libfaim is useful as a library outside of Gaim. If you're writing an IM client.. why not just use the Gaim core? committer: Tailor Script diff -r 8e600ee6ec61 -r 0d58a17095db src/protocols/oscar/aim.h --- a/src/protocols/oscar/aim.h Sun Jul 24 19:36:22 2005 +0000 +++ b/src/protocols/oscar/aim.h Sun Jul 24 19:45:59 2005 +0000 @@ -414,7 +414,7 @@ * These are only used when you don't use your own lowlevel * I/O. I don't suggest that you use libfaim's internal I/O. * Its really bad and the API/event model is quirky at best. - * + * */ aim_frame_t *queue_outgoing; aim_frame_t *queue_incoming; @@ -443,7 +443,7 @@ void (*debugcb)(struct aim_session_s *sess, int level, const char *format, va_list va); /* same as faim_debugging_callback_t */ /* - * Outstanding snac handling + * Outstanding snac handling * * XXX: Should these be per-connection? -mid */ @@ -580,7 +580,6 @@ faim_export aim_session_t *aim_conn_getsess(aim_conn_t *conn); faim_export void aim_conn_close(aim_conn_t *deadconn); faim_export aim_conn_t *aim_newconn(aim_session_t *, int type, const char *dest); -faim_export aim_conn_t *aim_select(aim_session_t *, struct timeval *, int *); faim_export int aim_conn_in_sess(aim_session_t *sess, aim_conn_t *conn); faim_export int aim_conn_isready(aim_conn_t *); faim_export int aim_conn_setstatus(aim_conn_t *, int); @@ -591,7 +590,6 @@ faim_export int aim_setdebuggingcb(aim_session_t *sess, faim_debugging_callback_t); faim_export void aim_session_init(aim_session_t *, fu8_t nonblocking, int debuglevel); faim_export void aim_session_kill(aim_session_t *); -faim_export void aim_setupproxy(aim_session_t *sess, const char *server, const char *username, const char *password); faim_export aim_conn_t *aim_getconn_type(aim_session_t *, int type); faim_export aim_conn_t *aim_getconn_type_all(aim_session_t *, int type); faim_export aim_conn_t *aim_getconn_fd(aim_session_t *, int fd); diff -r 8e600ee6ec61 -r 0d58a17095db src/protocols/oscar/conn.c --- a/src/protocols/oscar/conn.c Sun Jul 24 19:36:22 2005 +0000 +++ b/src/protocols/oscar/conn.c Sun Jul 24 19:45:59 2005 +0000 @@ -395,8 +395,8 @@ } /** - * Handle normal connections or SOCKS5 via an extrememly quick and - * dirty SOCKS5 interface. + * Handle normal connections or SOCKS5 via an extrememly quick and + * dirty SOCKS5 interface. * * Attempts to connect to the specified host via the configured * proxy settings, if present. If no proxy is configured for @@ -639,12 +639,12 @@ return connstruct; } - /* - * As of 23 Jul 1999, AOL now sends the port number, preceded by a - * colon, in the BOS redirect. This fatally breaks all previous + /* + * As of 23 Jul 1999, AOL now sends the port number, preceded by a + * colon, in the BOS redirect. This fatally breaks all previous * libfaims. Bad, bad AOL. * - * We put this here to catch every case. + * We put this here to catch every case. * */ @@ -692,92 +692,11 @@ } /** - * Waits for a socket with data or for timeout, whichever comes first. - * See select(2). - * - * Return codes in *status: - * -1 error in select() (%NULL returned) - * 0 no events pending (%NULL returned) - * 1 outgoing data pending (%NULL returned) - * 2 incoming data pending (connection with pending data returned) - * - * @param sess Session to wait on - * @param timeout How long to wait - * @param status Return status - * @return If @status is 2, returns connection with pending data, otherwise %NULL - */ -faim_export aim_conn_t *aim_select(aim_session_t *sess, struct timeval *timeout, int *status) -{ - aim_conn_t *cur; - fd_set fds, wfds; - int maxfd, i, haveconnecting = 0; - - if (!sess->connlist) { - *status = -1; - return NULL; - } - - FD_ZERO(&fds); - FD_ZERO(&wfds); - - for (cur = sess->connlist, maxfd = 0; cur; cur = cur->next) { - if (cur->fd == -1) { - /* don't let invalid/dead connections sit around */ - *status = 2; - return cur; - } else if (cur->status & AIM_CONN_STATUS_INPROGRESS) { - FD_SET(cur->fd, &wfds); - - haveconnecting++; - } - FD_SET(cur->fd, &fds); - if (cur->fd > maxfd) - maxfd = cur->fd; - } - - /* - * If we have data waiting to be sent, return - * - * We have to not do this if theres at least one - * connection thats still connecting, since that connection - * may have queued data and this return would prevent - * the connection from ever completing! This is a major - * inadequacy of the libfaim way of doing things. It means - * that nothing can transmit as long as there's connecting - * sockets. Evil. - * - * But its still better than having blocking connects. - * - */ - if (!haveconnecting && sess->queue_outgoing) { - *status = 1; - return NULL; - } - - if ((i = select(maxfd+1, &fds, &wfds, NULL, timeout))>=1) { - for (cur = sess->connlist; cur; cur = cur->next) { - if ((FD_ISSET(cur->fd, &fds)) || - ((cur->status & AIM_CONN_STATUS_INPROGRESS) && - FD_ISSET(cur->fd, &wfds))) { - *status = 2; - return cur; - } - } - *status = 0; /* shouldn't happen */ - } else if ((i == -1) && (errno == EINTR)) /* treat interrupts as a timeout */ - *status = 0; - else - *status = i; /* can be 0 or -1 */ - - return NULL; /* no waiting or error, return */ -} - -/** - * Set a forced latency value for connection. Basically causes + * Set a forced latency value for connection. Basically causes * @newval seconds to be spent between transmits on a connection. * * This is my lame attempt at overcoming not understanding the rate - * limiting. + * limiting. * * XXX: This should really be replaced with something that scales and * backs off like the real rate limiting does. @@ -798,39 +717,6 @@ return 0; } -/** - * Configure a proxy for this session. - * - * Call this with your SOCKS5 proxy server parameters before - * the first call to aim_newconn(). If called with all %NULL - * args, it will clear out a previously set proxy. - * - * Set username and password to %NULL if not applicable. - * - * @param sess Session to set proxy for. - * @param server SOCKS server. - * @param username SOCKS username. - * @param password SOCKS password. - */ -faim_export void aim_setupproxy(aim_session_t *sess, const char *server, const char *username, const char *password) -{ - /* clear out the proxy info */ - if (!server || !strlen(server)) { - memset(sess->socksproxy.server, 0, sizeof(sess->socksproxy.server)); - memset(sess->socksproxy.username, 0, sizeof(sess->socksproxy.username)); - memset(sess->socksproxy.password, 0, sizeof(sess->socksproxy.password)); - return; - } - - strncpy(sess->socksproxy.server, server, sizeof(sess->socksproxy.server)); - if (username && strlen(username)) - strncpy(sess->socksproxy.username, username, sizeof(sess->socksproxy.username)); - if (password && strlen(password)) - strncpy(sess->socksproxy.password, password, sizeof(sess->socksproxy.password)); - - return; -} - static void defaultdebugcb(aim_session_t *sess, int level, const char *format, va_list va) {