Changeset 423

Show
Ignore:
Timestamp:
05/27/03 09:45:35 (6 years ago)
Author:
jajcus
Message:

- support for TLS-enabled libgadu and TLS

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/jggtrans.xml

    r409 r423  
    130130        <hub/> means "use GG hub to find server" 
    131131        <server/> tag should contain server address and may contain "port" 
    132         attribute with port number. 
     132        attribute with port number. When TLS is available (supported by libgadu) 
     133        it will be used unless "tls" attribute is set to "no". 
    133134        Servers (including hub) are tried in order as they appear in <servers/> 
    134135        element. 
     
    141142        <server>217.17.41.85</server> 
    142143        <server port="8074">217.17.41.86</server> 
     144        <hub tls="no"/> 
     145        <server tls="no">217.17.41.84</server> 
     146        <server tls="no">217.17.41.85</server> 
    143147 </servers> 
    144148 --> 
  • trunk/jggtrans.xml.Pl

    r409 r423  
    144144        Element <server/> powinien zawierać adres serwera. Może też mieć 
    145145        ustawiony atrybut "port" zawierający numer portu na serwerze. 
     146        Jeżeli TLS jest dostępne (obsługiwane przez libgadu) i nie jest 
     147        ustawione tls="no", to połączenie z serwerem GG będzie szyfrowane. 
    146148        Jggtrans będzie się próbował łączyć z podanymi serwerami w podanej 
    147149        kolejności i użyje pierwszego działającego. 
     
    154156        <server>217.17.41.85</server> 
    155157        <server port="8074">217.17.41.86</server> 
     158        <hub tls="no"/> 
     159        <server tls="no">217.17.41.84</server> 
     160        <server tls="no">217.17.41.85</server> 
    156161 </servers> 
    157162 --> 
  • trunk/libxode/include/libxode.h

    • Property svn:eol-style deleted
    • Property svn:keywords deleted
    r2 r423  
    426426  int lenW; 
    427427  unsigned long sizeHi,sizeLo; 
    428 } SHA_CTX; 
    429  
    430  
    431 void shaInit(SHA_CTX *ctx); 
    432 void shaUpdate(SHA_CTX *ctx, unsigned char *dataIn, int len); 
    433 void shaFinal(SHA_CTX *ctx, unsigned char hashout[20]); 
     428} LIBXODE_SHA_CTX; 
     429 
     430 
     431void shaInit(LIBXODE_SHA_CTX *ctx); 
     432void shaUpdate(LIBXODE_SHA_CTX *ctx, unsigned char *dataIn, int len); 
     433void shaFinal(LIBXODE_SHA_CTX *ctx, unsigned char hashout[20]); 
    434434void shaBlock(unsigned char *dataIn, int len, unsigned char hashout[20]); 
    435435 
  • trunk/libxode/src/sha.c

    • Property svn:eol-style deleted
    • Property svn:keywords deleted
    r2 r423  
    3636#include "libxode.h" 
    3737 
    38 static void shaHashBlock(SHA_CTX *ctx); 
    39  
    40 void shaInit(SHA_CTX *ctx) { 
     38static void shaHashBlock(LIBXODE_SHA_CTX *ctx); 
     39 
     40void shaInit(LIBXODE_SHA_CTX *ctx) { 
    4141  int i; 
    4242 
     
    5757 
    5858 
    59 void shaUpdate(SHA_CTX *ctx, unsigned char *dataIn, int len) { 
     59void shaUpdate(LIBXODE_SHA_CTX *ctx, unsigned char *dataIn, int len) { 
    6060  int i; 
    6161 
     
    7575 
    7676 
    77 void shaFinal(SHA_CTX *ctx, unsigned char hashout[20]) { 
     77void shaFinal(LIBXODE_SHA_CTX *ctx, unsigned char hashout[20]) { 
    7878  unsigned char pad0x80 = 0x80; 
    7979  unsigned char pad0x00 = 0x00; 
     
    111111 
    112112void shaBlock(unsigned char *dataIn, int len, unsigned char hashout[20]) { 
    113   SHA_CTX ctx; 
     113  LIBXODE_SHA_CTX ctx; 
    114114 
    115115  shaInit(&ctx); 
     
    121121#define SHA_ROTL(X,n) (((X) << (n)) | ((X) >> (32-(n)))) 
    122122 
    123 static void shaHashBlock(SHA_CTX *ctx) { 
     123static void shaHashBlock(LIBXODE_SHA_CTX *ctx) { 
    124124  int t; 
    125125  unsigned long A,B,C,D,E,TEMP; 
  • trunk/src/browse.c

    r397 r423  
    1 /* $Id: browse.c,v 1.13 2003/05/07 08:29:01 jajcus Exp $ */ 
     1/* $Id: browse.c,v 1.14 2003/05/27 07:45:35 jajcus Exp $ */ 
    22 
    33/* 
     
    3535char *str; 
    3636GgServer *server; 
     37char *using_tls=""; 
    3738 
    3839        n=xmlnode_insert_tag(result,"item"); 
     
    4344        if (sess->current_server){ 
    4445                server=(GgServer *)sess->current_server->data; 
     46#ifdef __GG_LIBGADU_HAVE_OPENSSL 
     47                if (server->tls) using_tls=" with TLS"; 
     48#endif 
    4549                if (!server || server->port==1){ 
    4650                        if (sess->connected){ 
    47                                 str=g_strdup_printf(_("%s (Connected via hub to %s:%i)"),jid, 
     51                                str=g_strdup_printf(_("%s (Connected via hub to %s:%i%s)"),jid, 
    4852                                                inet_ntoa(*(struct in_addr*)&sess->ggs->server_addr), 
    49                                                 sess->ggs->port); 
     53                                                sess->ggs->port, 
     54                                                using_tls); 
    5055                        } 
    5156                        else{ 
    52                                 str=g_strdup_printf(_("%s (Connecting via hub)"),jid); 
     57                                str=g_strdup_printf(_("%s (Connecting via hub%s)"),jid,using_tls); 
    5358                        } 
    5459                } 
    5560                else 
    56                         str=g_strdup_printf(_("%s (%s to %s:%u)"),jid, 
     61                        str=g_strdup_printf(_("%s (%s to %s:%u%s)"),jid, 
    5762                                        sess->connected?_("Connected"):_("Connecting"), 
    58                                         inet_ntoa(server->addr),server->port); 
     63                                        inet_ntoa(server->addr),server->port,using_tls); 
    5964        } 
    6065        else 
  • trunk/src/sessions.c

    r418 r423  
    1 /* $Id: sessions.c,v 1.77 2003/05/19 12:23:29 jajcus Exp $ */ 
     1/* $Id: sessions.c,v 1.78 2003/05/27 07:45:35 jajcus Exp $ */ 
    22 
    33/* 
     
    101101                        else if (strcmp(p, "server")==0){ 
    102102                                server=g_new(GgServer, 1); 
    103                                 if((r=xmlnode_get_attrib(tag, "port"))) 
     103                                r=xmlnode_get_attrib(tag, "port"); 
     104                                if (r) 
    104105                                        server->port=atoi(r); 
    105106                                else 
    106107                                        server->port=8074; 
    107  
    108108                                r=xmlnode_get_data(tag); 
    109109                                if(inet_aton(r, &server->addr)) 
    110110                                        gg_servers=g_list_append(gg_servers, server); 
    111111                        } 
     112                        else continue; 
     113                         
     114                        r=xmlnode_get_attrib(tag, "tls"); 
     115                        if (r && !g_strcasecmp(r,"no")) 
     116                                server->tls=0; 
     117                        else 
     118                                server->tls=1; 
    112119                } 
    113120 
     
    117124                server=g_new(GgServer, 1); 
    118125                server->port=1; 
     126                server->tls=1; 
    119127                gg_servers=g_list_append(gg_servers, server); 
    120128 
    121129                server=g_new(GgServer, 1); 
    122                 inet_aton("217.17.41.84", &server->addr); 
     130                inet_aton("217.17.41.85", &server->addr); 
    123131                server->port=8074; 
     132                server->tls=1; 
    124133                gg_servers=g_list_append(gg_servers, server); 
    125134        } 
     
    627636                login_params.server_port=serv->port; 
    628637        } 
     638#ifdef __GG_LIBGADU_HAVE_OPENSSL 
     639        debug(N_("Turning TLS %s"), serv->tls?"on":"off"); 
     640        login_params.tls=serv->tls; 
     641#endif 
    629642 
    630643        if (s->ggs) gg_free_session(s->ggs); 
  • trunk/src/sessions.h

    r409 r423  
    1 /* $Id: sessions.h,v 1.24 2003/05/09 12:22:36 jajcus Exp $ */ 
     1/* $Id: sessions.h,v 1.25 2003/05/27 07:45:35 jajcus Exp $ */ 
    22 
    33/* 
     
    6464        struct in_addr addr; 
    6565        int port; 
     66        int tls; 
    6667}GgServer; 
    6768