Changes in / [b5a22e3:52b3a99]
- Files:
-
- 2 added
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
protocols/Makefile
rb5a22e3 r52b3a99 10 10 11 11 # [SH] Program variables 12 objects = md5.o nogaim.o proxy.o sha.o util.o $(SSL_CLIENT)12 objects = http_client.o md5.o nogaim.o proxy.o sha.o $(SSL_CLIENT) util.o 13 13 14 14 # [SH] The next two lines should contain the directory name (in $(subdirs)) -
protocols/proxy.c
rb5a22e3 r52b3a99 106 106 if (condition & GAIM_WRITE_COND) 107 107 gaim_cond |= GAIM_INPUT_WRITE; 108 // if (condition & GAIM_ERR_COND)109 // fprintf( stderr, "ERROR! fd=%d\n", g_io_channel_unix_get_fd( source ) );110 108 111 109 closure->function(closure->data, g_io_channel_unix_get_fd(source), gaim_cond); -
protocols/ssl_bogus.c
rb5a22e3 r52b3a99 28 28 int ssl_errno; 29 29 30 void *ssl_connect( char *host, int port, SslInputFunction func, gpointer data )30 void *ssl_connect( char *host, int port, ssl_input_function func, gpointer data ) 31 31 { 32 32 return( NULL ); -
protocols/ssl_client.h
rb5a22e3 r52b3a99 33 33 extern int ssl_errno; 34 34 35 typedef void (* SslInputFunction)(gpointer, void*, GaimInputCondition);35 typedef void (*ssl_input_function)(gpointer, void*, GaimInputCondition); 36 36 37 G_MODULE_EXPORT void *ssl_connect( char *host, int port, SslInputFunction func, gpointer data );37 G_MODULE_EXPORT void *ssl_connect( char *host, int port, ssl_input_function func, gpointer data ); 38 38 G_MODULE_EXPORT int ssl_read( void *conn, char *buf, int len ); 39 39 G_MODULE_EXPORT int ssl_write( void *conn, const char *buf, int len ); 40 40 G_MODULE_EXPORT void ssl_disconnect( void *conn_ ); 41 41 G_MODULE_EXPORT int ssl_getfd( void *conn ); 42 G_MODULE_EXPORT GaimInputCondition ssl_getdirection( void *conn ); -
protocols/ssl_gnutls.c
rb5a22e3 r52b3a99 38 38 struct scd 39 39 { 40 SslInputFunction func;40 ssl_input_function func; 41 41 gpointer data; 42 42 int fd; … … 51 51 52 52 53 void *ssl_connect( char *host, int port, SslInputFunction func, gpointer data )53 void *ssl_connect( char *host, int port, ssl_input_function func, gpointer data ) 54 54 { 55 55 struct scd *conn = g_new0( struct scd, 1 ); … … 117 117 if( st == GNUTLS_E_AGAIN || st == GNUTLS_E_INTERRUPTED ) 118 118 { 119 conn->inpa = gaim_input_add( conn->fd, 120 gnutls_record_get_direction( conn->session ) ? 121 GAIM_INPUT_WRITE : GAIM_INPUT_READ, 119 conn->inpa = gaim_input_add( conn->fd, ssl_getdirection( conn ), 122 120 ssl_handshake, data ); 123 121 } … … 145 143 int ssl_read( void *conn, char *buf, int len ) 146 144 { 145 int st; 146 147 147 if( !((struct scd*)conn)->established ) 148 148 { … … 151 151 } 152 152 153 return( gnutls_record_recv( ((struct scd*)conn)->session, buf, len ) ); 154 153 st = gnutls_record_recv( ((struct scd*)conn)->session, buf, len ); 154 155 ssl_errno = SSL_OK; 156 if( st == GNUTLS_E_AGAIN || st == GNUTLS_E_INTERRUPTED ) 157 ssl_errno = SSL_AGAIN; 158 159 return st; 155 160 } 156 161 157 162 int ssl_write( void *conn, const char *buf, int len ) 158 163 { 164 int st; 165 159 166 if( !((struct scd*)conn)->established ) 160 167 { … … 163 170 } 164 171 165 return( gnutls_record_send( ((struct scd*)conn)->session, buf, len ) ); 172 st = gnutls_record_send( ((struct scd*)conn)->session, buf, len ); 173 174 ssl_errno = SSL_OK; 175 if( st == GNUTLS_E_AGAIN || st == GNUTLS_E_INTERRUPTED ) 176 ssl_errno = SSL_AGAIN; 177 178 return st; 166 179 } 167 180 … … 184 197 return( ((struct scd*)conn)->fd ); 185 198 } 199 200 GaimInputCondition ssl_getdirection( void *conn ) 201 { 202 return( gnutls_record_get_direction( ((struct scd*)conn)->session ) ? 203 GAIM_INPUT_WRITE : GAIM_INPUT_READ ); 204 } -
protocols/ssl_nss.c
rb5a22e3 r52b3a99 45 45 struct scd 46 46 { 47 SslInputFunction func;47 ssl_input_function func; 48 48 gpointer data; 49 49 int fd; … … 91 91 92 92 93 void *ssl_connect( char *host, int port, SslInputFunction func, gpointer data )93 void *ssl_connect( char *host, int port, ssl_input_function func, gpointer data ) 94 94 { 95 95 struct scd *conn = g_new0( struct scd, 1 ); -
protocols/ssl_openssl.c
rb5a22e3 r52b3a99 41 41 struct scd 42 42 { 43 SslInputFunction func;43 ssl_input_function func; 44 44 gpointer data; 45 45 int fd; … … 54 54 55 55 56 void *ssl_connect( char *host, int port, SslInputFunction func, gpointer data )56 void *ssl_connect( char *host, int port, ssl_input_function func, gpointer data ) 57 57 { 58 58 struct scd *conn = g_new0( struct scd, 1 ); -
sock.h
rb5a22e3 r52b3a99 1 #include <errno.h> 2 #include <fcntl.h> 3 1 4 #ifndef _WIN32 2 5 #include <unistd.h> -
url.c
rb5a22e3 r52b3a99 2 2 * BitlBee -- An IRC to other IM-networks gateway * 3 3 * * 4 * Copyright 2001-200 4Wilmer van der Gaast and others *4 * Copyright 2001-2005 Wilmer van der Gaast and others * 5 5 \********************************************************************/ 6 6 … … 30 30 { 31 31 char s[MAX_STRING]; 32 char *i , *j;32 char *i; 33 33 34 34 /* protocol:// */ … … 40 40 else 41 41 { 42 if( g_strncasecmp( set_url, "http", i - set_url ) == 0 ) 42 if( g_strncasecmp( set_url, "https", i - set_url ) == 0 ) 43 url->proto = PROTO_HTTPS; 44 else if( g_strncasecmp( set_url, "http", i - set_url ) == 0 ) 43 45 url->proto = PROTO_HTTP; 44 46 else if( g_strncasecmp( set_url, "socks4", i - set_url ) == 0 ) … … 56 58 if( ( i = strchr( s, '/' ) ) == NULL ) 57 59 { 58 strcpy( url-> dir, "/" );60 strcpy( url->file, "/" ); 59 61 } 60 62 else 61 63 { 64 strncpy( url->file, i, MAX_STRING ); 62 65 *i = 0; 63 g_snprintf( url->dir, MAX_STRING, "/%s", i + 1 );64 if( url->proto == PROTO_HTTP )65 http_encode( url->dir );66 66 } 67 67 strncpy( url->host, s, MAX_STRING ); 68 j = strchr( url->dir, '?' );69 if( j != NULL )70 *j = 0;71 i = strrchr( url->dir, '/' );72 *i = 0;73 if( j != NULL )74 *j = '?';75 if( i == NULL )76 {77 strcpy( url->file, url->dir );78 strcpy( url->dir, "/" );79 }80 else81 {82 strcpy( url->file, i + 1 );83 strcat( url->dir, "/" );84 }85 68 86 69 /* Check for username in host field */ … … 96 79 else 97 80 { 98 if( url->proto == PROTO_FTP ) 99 { 100 strcpy( url->user, "anonymous" ); 101 strcpy( url->pass, "-p.artmaps@lintux.cx" ); 102 } 103 else 104 { 105 *url->user = *url->pass = 0; 106 } 81 *url->user = *url->pass = 0; 107 82 } 108 83 … … 117 92 { 118 93 *i = 0; 119 sscanf( i + 1, "% i", &url->port );94 sscanf( i + 1, "%d", &url->port ); 120 95 } 121 /* Take default port numbers from /etc/services */122 96 else 123 97 { 124 98 if( url->proto == PROTO_HTTP ) 125 url->port = 8080; 99 url->port = 80; 100 else if( url->proto == PROTO_HTTPS ) 101 url->port = 443; 126 102 else if( url->proto == PROTO_SOCKS4 || url->proto == PROTO_SOCKS4 ) 127 103 url->port = 1080; -
url.h
rb5a22e3 r52b3a99 26 26 #include "bitlbee.h" 27 27 28 #define PROTO_FTP 129 28 #define PROTO_HTTP 2 29 #define PROTO_HTTPS 5 30 30 #define PROTO_SOCKS4 3 31 31 #define PROTO_SOCKS5 4 … … 37 37 int port; 38 38 char host[MAX_STRING]; 39 char dir[MAX_STRING];40 39 char file[MAX_STRING]; 41 40 char user[MAX_STRING];
Note: See TracChangeset
for help on using the changeset viewer.