Changeset 0a3c243


Ignore:
Timestamp:
2006-06-30T23:18:56Z (13 years ago)
Author:
Wilmer van der Gaast <wilmer@…>
Branches:
master
Children:
5100caa
Parents:
5c9512f
Message:

Got rid of struct aim_user (now using account_t everywhere). Needs some more
testing though.

Files:
11 edited

Legend:

Unmodified
Added
Removed
  • account.c

    r5c9512f r0a3c243  
    143143void account_on( irc_t *irc, account_t *a )
    144144{
    145         struct aim_user *u;
    146        
    147145        if( a->gc )
    148146        {
     
    153151        cancel_auto_reconnect( a );
    154152       
    155         u = g_new0 ( struct aim_user, 1 );
    156         u->irc = irc;
    157         u->prpl = a->prpl;
    158         strncpy( u->username, a->user, sizeof( u->username ) - 1 );
    159         strncpy( u->password, a->pass, sizeof( u->password ) - 1 );
    160         if( a->server) strncpy( u->proto_opt[0], a->server, sizeof( u->proto_opt[0] ) - 1 );
    161        
    162         a->gc = (struct gaim_connection *) u; /* Bit hackish :-/ */
    163153        a->reconnect = 0;
    164        
    165         a->prpl->login( u );
     154        a->prpl->login( a );
    166155}
    167156
  • irc.c

    r5c9512f r0a3c243  
    925925{
    926926        char *nick, *s;
    927         char reason[64];
     927        char reason[128];
    928928       
    929929        if( u->gc && u->gc->flags & OPT_LOGGING_OUT )
    930930        {
    931                 if( u->gc->user->proto_opt[0][0] )
     931                if( u->gc->acc->server )
    932932                        g_snprintf( reason, sizeof( reason ), "%s %s", irc->myhost,
    933                                     u->gc->user->proto_opt[0] );
     933                                    u->gc->acc->server );
    934934                else if( ( s = strchr( u->gc->username, '@' ) ) )
    935935                        g_snprintf( reason, sizeof( reason ), "%s %s", irc->myhost,
     
    937937                else
    938938                        g_snprintf( reason, sizeof( reason ), "%s %s.%s", irc->myhost,
    939                                     u->gc->prpl->name, irc->myhost );
     939                                    u->gc->acc->prpl->name, irc->myhost );
    940940               
    941941                /* proto_opt might contain garbage after the : */
     
    10131013                else if( g_strncasecmp( s + 1, "TYPING", 6 ) == 0 )
    10141014                {
    1015                         if( u && u->gc && u->gc->prpl->send_typing && strlen( s ) >= 10 )
     1015                        if( u && u->gc && u->gc->acc->prpl->send_typing && strlen( s ) >= 10 )
    10161016                        {
    10171017                                time_t current_typing_notice = time( NULL );
     
    10191019                                if( current_typing_notice - u->last_typing_notice >= 5 )
    10201020                                {
    1021                                         u->gc->prpl->send_typing( u->gc, u->handle, s[8] == '1' );
     1021                                        u->gc->acc->prpl->send_typing( u->gc, u->handle, s[8] == '1' );
    10221022                                        u->last_typing_notice = current_typing_notice;
    10231023                                }
     
    10521052                }
    10531053        }
    1054         else if( c && c->gc && c->gc->prpl )
     1054        else if( c && c->gc && c->gc->acc && c->gc->acc->prpl )
    10551055        {
    10561056                return( bim_chat_msg( c->gc, c->id, s ) );
  • irc_commands.c

    r5c9512f r0a3c243  
    150150                irc_part( irc, u, c->channel );
    151151               
    152                 if( c->gc && c->gc->prpl )
     152                if( c->gc )
    153153                {
    154154                        c->joined = 0;
    155                         c->gc->prpl->chat_leave( c->gc, c->id );
     155                        c->gc->acc->prpl->chat_leave( c->gc, c->id );
    156156                }
    157157        }
     
    173173                        user_t *u = user_find( irc, cmd[1] + 1 );
    174174                       
    175                         if( u && u->gc && u->gc->prpl && u->gc->prpl->chat_open )
     175                        if( u && u->gc && u->gc->acc->prpl->chat_open )
    176176                        {
    177177                                irc_reply( irc, 403, "%s :Initializing groupchat in a different channel", cmd[1] );
    178178                               
    179                                 if( !u->gc->prpl->chat_open( u->gc, u->handle ) )
     179                                if( !u->gc->acc->prpl->chat_open( u->gc, u->handle ) )
    180180                                {
    181181                                        irc_usermsg( irc, "Could not open a groupchat with %s.", u->nick );
     
    205205       
    206206        if( u && c && ( u->gc == c->gc ) )
    207                 if( c->gc && c->gc->prpl && c->gc->prpl->chat_invite )
    208                 {
    209                         c->gc->prpl->chat_invite( c->gc, c->id, "", u->handle );
     207                if( c->gc && c->gc->acc->prpl->chat_invite )
     208                {
     209                        c->gc->acc->prpl->chat_invite( c->gc, c->id, "", u->handle );
    210210                        irc_reply( irc, 341, "%s %s", nick, channel );
    211211                        return;
     
    477477               
    478478                if( u->gc )
    479                         irc_reply( irc, 312, "%s %s.%s :%s network", u->nick, u->gc->user->username,
    480                                    *u->gc->user->proto_opt[0] ? u->gc->user->proto_opt[0] : "", u->gc->prpl->name );
     479                        irc_reply( irc, 312, "%s %s.%s :%s network", u->nick, u->gc->acc->user,
     480                                   *u->gc->acc->server ? u->gc->acc->server : "", u->gc->acc->prpl->name );
    481481                else
    482482                        irc_reply( irc, 312, "%s %s :%s", u->nick, irc->myhost, IRCD_INFO );
  • protocols/jabber/jabber.c

    r5c9512f r0a3c243  
    561561static void gjab_start(gjconn gjc)
    562562{
    563         struct aim_user *user;
     563        account_t *acc;
    564564        int port = -1, ssl = 0;
    565565        char *server = NULL, *s;
     
    568568                return;
    569569
    570         user = GJ_GC(gjc)->user;
    571         if (*user->proto_opt[0]) {
     570        acc = GJ_GC(gjc)->acc;
     571        if (acc->server) {
    572572                /* If there's a dot, assume there's a hostname in the beginning */
    573                 if (strchr(user->proto_opt[0], '.')) {
    574                         server = g_strdup(user->proto_opt[0]);
     573                if (strchr(acc->server, '.')) {
     574                        server = g_strdup(acc->server);
    575575                        if ((s = strchr(server, ':')))
    576576                                *s = 0;
     
    578578               
    579579                /* After the hostname, there can be a port number */
    580                 s = strchr(user->proto_opt[0], ':');
     580                s = strchr(acc->server, ':');
    581581                if (s && isdigit(s[1]))
    582582                        sscanf(s + 1, "%d", &port);
    583583               
    584584                /* And if there's the string ssl, the user wants an SSL-connection */
    585                 if (strstr(user->proto_opt[0], ":ssl") || g_strcasecmp(user->proto_opt[0], "ssl") == 0)
     585                if (strstr(acc->server, ":ssl") || g_strcasecmp(acc->server, "ssl") == 0)
    586586                        ssl = 1;
    587587        }
     
    616616        g_free(server);
    617617       
    618         if (!user->gc || (gjc->fd < 0)) {
     618        if (!acc->gc || (gjc->fd < 0)) {
    619619                STATE_EVT(JCONN_STATE_OFF)
    620620                return;
     
    15161516}
    15171517
    1518 static void jabber_login(struct aim_user *user)
    1519 {
    1520         struct gaim_connection *gc = new_gaim_conn(user);
     1518static void jabber_login(account_t *acc)
     1519{
     1520        struct gaim_connection *gc = new_gaim_conn(acc);
    15211521        struct jabber_data *jd = gc->proto_data = g_new0(struct jabber_data, 1);
    1522         char *loginname = create_valid_jid(user->username, DEFAULT_SERVER, "BitlBee");
     1522        char *loginname = create_valid_jid(acc->user, DEFAULT_SERVER, "BitlBee");
    15231523
    15241524        jd->hash = g_hash_table_new(g_str_hash, g_str_equal);
     
    15271527        set_login_progress(gc, 1, _("Connecting"));
    15281528
    1529         if (!(jd->gjc = gjab_new(loginname, user->password, gc))) {
     1529        if (!(jd->gjc = gjab_new(loginname, acc->pass, gc))) {
    15301530                g_free(loginname);
    15311531                hide_login_progress(gc, _("Unable to connect"));
  • protocols/msn/msn.c

    r5c9512f r0a3c243  
    2727#include "msn.h"
    2828
    29 static void msn_login( struct aim_user *acct )
    30 {
    31         struct gaim_connection *gc = new_gaim_conn( acct );
     29static void msn_login( account_t *acc )
     30{
     31        struct gaim_connection *gc = new_gaim_conn( acc );
    3232        struct msn_data *md = g_new0( struct msn_data, 1 );
    3333       
     
    3737        md->fd = -1;
    3838       
    39         if( strchr( acct->username, '@' ) == NULL )
     39        if( strchr( acc->user, '@' ) == NULL )
    4040        {
    4141                hide_login_progress( gc, "Invalid account name" );
  • protocols/nogaim.c

    r5c9512f r0a3c243  
    145145/* multi.c */
    146146
    147 struct gaim_connection *new_gaim_conn( struct aim_user *user )
     147struct gaim_connection *new_gaim_conn( account_t *acc )
    148148{
    149149        struct gaim_connection *gc;
    150         account_t *a;
    151150       
    152151        gc = g_new0( struct gaim_connection, 1 );
    153152       
    154         gc->prpl = user->prpl;
    155         g_snprintf( gc->username, sizeof( gc->username ), "%s", user->username );
    156         g_snprintf( gc->password, sizeof( gc->password ), "%s", user->password );
    157         /* [MD] BUGFIX: don't set gc->irc to the global IRC, but use the one from the struct aim_user.
    158          * This fixes daemon mode breakage where IRC doesn't point to the currently active connection.
    159          */
    160         gc->irc = user->irc;
     153        /* Maybe we should get rid of this memory waste later. ;-) */
     154        g_snprintf( gc->username, sizeof( gc->username ), "%s", acc->user );
     155        g_snprintf( gc->password, sizeof( gc->password ), "%s", acc->pass );
     156       
     157        gc->irc = acc->irc;
     158        gc->acc = acc;
     159        acc->gc = gc;
    161160       
    162161        connections = g_slist_append( connections, gc );
    163        
    164         user->gc = gc;
    165         gc->user = user;
    166        
    167         // Find the account_t so we can set its gc pointer
    168         for( a = gc->irc->accounts; a; a = a->next )
    169                 if( ( struct aim_user * ) a->gc == user )
    170                 {
    171                         a->gc = gc;
    172                         break;
    173                 }
    174162       
    175163        return( gc );
     
    189177       
    190178        connections = g_slist_remove( connections, gc );
    191         g_free( gc->user );
    192179        g_free( gc );
    193180}
     
    226213        /* Try to find a different connection on the same protocol. */
    227214        for( a = gc->irc->accounts; a; a = a->next )
    228                 if( a->prpl == gc->prpl && a->gc != gc )
     215                if( a->prpl == gc->acc->prpl && a->gc != gc )
    229216                        break;
    230217       
    231218        /* If we found one, include the screenname in the message. */
    232219        if( a )
    233                 irc_usermsg( gc->irc, "%s(%s) - %s", gc->prpl->name, gc->username, text );
     220                irc_usermsg( gc->irc, "%s(%s) - %s", gc->acc->prpl->name, gc->username, text );
    234221        else
    235                 irc_usermsg( gc->irc, "%s - %s", gc->prpl->name, text );
     222                irc_usermsg( gc->irc, "%s - %s", gc->acc->prpl->name, text );
    236223       
    237224        g_free( text );
     
    242229        struct gaim_connection *gc = d;
    243230       
    244         if( gc->prpl && gc->prpl->keepalive )
    245                 gc->prpl->keepalive( gc );
     231        if( gc->acc->prpl->keepalive )
     232                gc->acc->prpl->keepalive( gc );
    246233       
    247234        return TRUE;
     
    299286       
    300287        gc->keepalive = 0;
    301         gc->prpl->close( gc );
     288        gc->acc->prpl->close( gc );
    302289        b_event_remove( gc->inpa );
    303290       
     
    379366       
    380367        memset( nick, 0, MAX_NICK_LENGTH + 1 );
    381         strcpy( nick, nick_get( gc->irc, handle, gc->prpl, realname ) );
     368        strcpy( nick, nick_get( gc->irc, handle, gc->acc->prpl, realname ) );
    382369       
    383370        u = user_add( gc->irc, nick );
     
    391378                u->user = g_strndup( handle, s - handle );
    392379        }
    393         else if( gc->user->proto_opt[0] && *gc->user->proto_opt[0] )
     380        else if( *gc->acc->server )
    394381        {
    395382                char *colon;
    396383               
    397                 if( ( colon = strchr( gc->user->proto_opt[0], ':' ) ) )
    398                         u->host = g_strndup( gc->user->proto_opt[0],
    399                                              colon - gc->user->proto_opt[0] );
     384                if( ( colon = strchr( gc->acc->server, ':' ) ) )
     385                        u->host = g_strndup( gc->acc->server,
     386                                             colon - gc->acc->server );
    400387                else
    401                         u->host = g_strdup( gc->user->proto_opt[0] );
     388                        u->host = g_strdup( gc->acc->server );
    402389               
    403390                u->user = g_strdup( handle );
     
    410397        else
    411398        {
    412                 u->host = g_strdup( gc->user->prpl->name );
     399                u->host = g_strdup( gc->acc->prpl->name );
    413400                u->user = g_strdup( handle );
    414401        }
     
    480467void show_got_added_yes( gpointer w, struct show_got_added_data *data )
    481468{
    482         data->gc->prpl->add_buddy( data->gc, data->handle );
     469        data->gc->acc->prpl->add_buddy( data->gc, data->handle );
    483470        add_buddy( data->gc, NULL, data->handle, data->handle );
    484471       
     
    559546        }
    560547       
    561         if( ( type & UC_UNAVAILABLE ) && ( !strcmp(gc->prpl->name, "oscar") || !strcmp(gc->prpl->name, "icq")) )
     548        if( ( type & UC_UNAVAILABLE ) && ( strcmp( gc->acc->prpl->name, "oscar" ) == 0 || strcmp( gc->acc->prpl->name, "icq" ) == 0 ) )
    562549        {
    563550                u->away = g_strdup( "Away" );
    564551        }
    565         else if( ( type & UC_UNAVAILABLE ) && ( !strcmp(gc->prpl->name, "jabber") ) )
     552        else if( ( type & UC_UNAVAILABLE ) && ( strcmp( gc->acc->prpl->name, "jabber" ) == 0 ) )
    566553        {
    567554                if( type & UC_DND )
     
    572559                        u->away = g_strdup( "Away" );
    573560        }
    574         else if( ( type & UC_UNAVAILABLE ) && gc->prpl->get_status_string )
    575         {
    576                 u->away = g_strdup( gc->prpl->get_status_string( gc, type ) );
     561        else if( ( type & UC_UNAVAILABLE ) && gc->acc->prpl->get_status_string )
     562        {
     563                u->away = g_strdup( gc->acc->prpl->get_status_string( gc, type ) );
    577564        }
    578565        else
     
    733720       
    734721        /* Gaim sends own messages through this too. IRC doesn't want this, so kill them */
    735         if( g_strcasecmp( who, gc->user->username ) == 0 )
     722        if( g_strcasecmp( who, gc->username ) == 0 )
    736723                return;
    737724       
     
    791778       
    792779        /* It might be yourself! */
    793         if( b->gc->prpl->cmp_buddynames( handle, b->gc->user->username ) == 0 )
     780        if( b->gc->acc->prpl->cmp_buddynames( handle, b->gc->username ) == 0 )
    794781        {
    795782                u = user_find( b->gc->irc, b->gc->irc->nick );
     
    825812       
    826813        /* It might be yourself! */
    827         if( g_strcasecmp( handle, b->gc->user->username ) == 0 )
     814        if( g_strcasecmp( handle, b->gc->username ) == 0 )
    828815        {
    829816                u = user_find( b->gc->irc, b->gc->irc->nick );
     
    959946        }
    960947       
    961         st = gc->prpl->send_im( gc, handle, msg, strlen( msg ), flags );
     948        st = gc->acc->prpl->send_im( gc, handle, msg, strlen( msg ), flags );
    962949        g_free( buf );
    963950       
     
    976963        }
    977964       
    978         st = gc->prpl->chat_send( gc, id, msg );
     965        st = gc->acc->prpl->chat_send( gc, id, msg );
    979966        g_free( buf );
    980967       
     
    990977       
    991978        if( !away ) away = "";
    992         ms = m = gc->prpl->away_states( gc );
     979        ms = m = gc->acc->prpl->away_states( gc );
    993980       
    994981        while( m )
     
    1011998        if( m )
    1012999        {
    1013                 gc->prpl->set_away( gc, m->data, *away ? away : NULL );
     1000                gc->acc->prpl->set_away( gc, m->data, *away ? away : NULL );
    10141001        }
    10151002        else
     
    10181005                if( s )
    10191006                {
    1020                         gc->prpl->set_away( gc, s, away );
     1007                        gc->acc->prpl->set_away( gc, s, away );
    10211008                        if( set_getint( &gc->irc->set, "debug" ) )
    10221009                                serv_got_crap( gc, "Setting away state to %s", s );
    10231010                }
    10241011                else
    1025                         gc->prpl->set_away( gc, GAIM_AWAY_CUSTOM, away );
     1012                        gc->acc->prpl->set_away( gc, GAIM_AWAY_CUSTOM, away );
    10261013        }
    10271014       
     
    10751062void bim_add_allow( struct gaim_connection *gc, char *handle )
    10761063{
    1077         if( g_slist_find_custom( gc->permit, handle, (GCompareFunc) gc->prpl->cmp_buddynames ) == NULL )
     1064        if( g_slist_find_custom( gc->permit, handle, (GCompareFunc) gc->acc->prpl->cmp_buddynames ) == NULL )
    10781065        {
    10791066                gc->permit = g_slist_prepend( gc->permit, g_strdup( handle ) );
    10801067        }
    10811068       
    1082         gc->prpl->add_permit( gc, handle );
     1069        gc->acc->prpl->add_permit( gc, handle );
    10831070}
    10841071
     
    10871074        GSList *l;
    10881075       
    1089         if( ( l = g_slist_find_custom( gc->permit, handle, (GCompareFunc) gc->prpl->cmp_buddynames ) ) )
     1076        if( ( l = g_slist_find_custom( gc->permit, handle, (GCompareFunc) gc->acc->prpl->cmp_buddynames ) ) )
    10901077        {
    10911078                g_free( l->data );
     
    10931080        }
    10941081       
    1095         gc->prpl->rem_permit( gc, handle );
     1082        gc->acc->prpl->rem_permit( gc, handle );
    10961083}
    10971084
    10981085void bim_add_block( struct gaim_connection *gc, char *handle )
    10991086{
    1100         if( g_slist_find_custom( gc->deny, handle, (GCompareFunc) gc->prpl->cmp_buddynames ) == NULL )
     1087        if( g_slist_find_custom( gc->deny, handle, (GCompareFunc) gc->acc->prpl->cmp_buddynames ) == NULL )
    11011088        {
    11021089                gc->deny = g_slist_prepend( gc->deny, g_strdup( handle ) );
    11031090        }
    11041091       
    1105         gc->prpl->add_deny( gc, handle );
     1092        gc->acc->prpl->add_deny( gc, handle );
    11061093}
    11071094
     
    11101097        GSList *l;
    11111098       
    1112         if( ( l = g_slist_find_custom( gc->deny, handle, (GCompareFunc) gc->prpl->cmp_buddynames ) ) )
     1099        if( ( l = g_slist_find_custom( gc->deny, handle, (GCompareFunc) gc->acc->prpl->cmp_buddynames ) ) )
    11131100        {
    11141101                g_free( l->data );
     
    11161103        }
    11171104       
    1118         gc->prpl->rem_deny( gc, handle );
    1119 }
     1105        gc->acc->prpl->rem_deny( gc, handle );
     1106}
  • protocols/nogaim.h

    r5c9512f r0a3c243  
    3939
    4040#include "bitlbee.h"
     41#include "account.h"
    4142#include "proxy.h"
    4243#include "md5.h"
     
    6364struct gaim_connection
    6465{
    65         struct prpl *prpl;
     66        account_t *acc;
    6667        guint32 flags;
    6768       
     
    7879        GSList *deny;
    7980        int permdeny;
    80        
    81         struct aim_user *user;
    8281       
    8382        char username[64];
     
    126125};
    127126
    128 struct aim_user {
    129         char username[64];
    130         char alias[SELF_ALIAS_LEN];
    131         char password[32];
    132         char user_info[2048];
    133         int options;
    134         struct prpl *prpl;
    135         /* prpls can use this to save information about the user,
    136          * like which server to connect to, etc */
    137         char proto_opt[7][256];
    138 
    139         struct gaim_connection *gc;
    140         irc_t *irc;
    141 };
    142 
    143127struct prpl {
    144128        int options;
    145129        const char *name;
    146130
    147         void (* login)          (struct aim_user *);
     131        void (* login)          (account_t *);
    148132        void (* keepalive)      (struct gaim_connection *);
    149133        void (* close)          (struct gaim_connection *);
     
    212196
    213197/* multi.c */
    214 G_MODULE_EXPORT struct gaim_connection *new_gaim_conn( struct aim_user *user );
     198G_MODULE_EXPORT struct gaim_connection *new_gaim_conn( account_t *acc );
    215199G_MODULE_EXPORT void destroy_gaim_conn( struct gaim_connection *gc );
    216200G_MODULE_EXPORT void set_login_progress( struct gaim_connection *gc, int step, char *msg );
  • protocols/oscar/oscar.c

    r5c9512f r0a3c243  
    356356}
    357357
    358 static void oscar_login(struct aim_user *user) {
     358static void oscar_login(account_t *acc) {
    359359        aim_session_t *sess;
    360360        aim_conn_t *conn;
    361361        char buf[256];
    362         struct gaim_connection *gc = new_gaim_conn(user);
     362        struct gaim_connection *gc = new_gaim_conn(acc);
    363363        struct oscar_data *odata = gc->proto_data = g_new0(struct oscar_data, 1);
    364364
    365         if (isdigit(*user->username)) {
     365        if (isdigit(acc->user[0])) {
    366366                odata->icq = TRUE;
    367367                /* This is odd but it's necessary for a proper do_import and do_export.
    368368                   We don't do those anymore, but let's stick with it, just in case
    369                    it accidentally fixes something else too... */
     369                   it accidentally fixes something else too... </bitlbee> */
    370370                gc->password[8] = 0;
    371371        } else {
     
    390390        }
    391391       
    392         if (g_strcasecmp(user->proto_opt[USEROPT_AUTH], "login.icq.com") != 0 &&
    393             g_strcasecmp(user->proto_opt[USEROPT_AUTH], "login.oscar.aol.com") != 0) {
    394                 serv_got_crap(gc, "Warning: Unknown OSCAR server: `%s'. Please review your configuration if the connection fails.",user->proto_opt[USEROPT_AUTH]);
     392        if (g_strcasecmp(acc->server, "login.icq.com") != 0 &&
     393            g_strcasecmp(acc->server, "login.oscar.aol.com") != 0) {
     394                serv_got_crap(gc, "Warning: Unknown OSCAR server: `%s'. Please review your configuration if the connection fails.",acc->server);
    395395        }
    396396       
     
    402402
    403403        conn->status |= AIM_CONN_STATUS_INPROGRESS;
    404         conn->fd = proxy_connect(user->proto_opt[USEROPT_AUTH][0] ?
    405                                         user->proto_opt[USEROPT_AUTH] : AIM_DEFAULT_LOGIN_SERVER,
    406                                  user->proto_opt[USEROPT_AUTHPORT][0] ?
    407                                         atoi(user->proto_opt[USEROPT_AUTHPORT]) : AIM_LOGIN_PORT,
    408                                  oscar_login_connect, gc);
     404        conn->fd = proxy_connect(acc->server, AIM_LOGIN_PORT, oscar_login_connect, gc);
    409405        if (conn->fd < 0) {
    410406                hide_login_progress(gc, _("Couldn't connect to host"));
     
    485481        struct aim_authresp_info *info;
    486482        int i; char *host; int port;
    487         struct aim_user *user;
    488483        aim_conn_t *bosconn;
    489484
    490485        struct gaim_connection *gc = sess->aux_data;
    491486        struct oscar_data *od = gc->proto_data;
    492         user = gc->user;
    493         port = user->proto_opt[USEROPT_AUTHPORT][0] ?
    494                 atoi(user->proto_opt[USEROPT_AUTHPORT]) : AIM_LOGIN_PORT,
     487        port = AIM_LOGIN_PORT;
    495488
    496489        va_start(ap, fr);
     
    871864        struct aim_redirect_data *redir;
    872865        struct gaim_connection *gc = sess->aux_data;
    873         struct aim_user *user = gc->user;
    874866        aim_conn_t *tstconn;
    875867        int i;
     
    877869        int port;
    878870
    879         port = user->proto_opt[USEROPT_AUTHPORT][0] ?
    880                 atoi(user->proto_opt[USEROPT_AUTHPORT]) : AIM_LOGIN_PORT,
    881 
    882871        va_start(ap, fr);
    883872        redir = va_arg(ap, struct aim_redirect_data *);
    884873        va_end(ap);
    885874
     875        port = AIM_LOGIN_PORT;
    886876        for (i = 0; i < (int)strlen(redir->ip); i++) {
    887877                if (redir->ip[i] == ':') {
     
    17231713        odata->rights.maxsiglen = odata->rights.maxawaymsglen = (guint)maxsiglen;
    17241714
     1715        /* FIXME: It seems we're not really using this, and it broke now that
     1716           struct aim_user is dead.
    17251717        aim_bos_setprofile(sess, fr->conn, gc->user->user_info, NULL, gaim_caps);
    1726 
     1718        */
     1719       
    17271720        return 1;
    17281721}
  • protocols/yahoo/yahoo.c

    r5c9512f r0a3c243  
    121121}
    122122
    123 static void byahoo_login( struct aim_user *user )
    124 {
    125         struct gaim_connection *gc = new_gaim_conn( user );
     123static void byahoo_login( account_t *acc )
     124{
     125        struct gaim_connection *gc = new_gaim_conn( acc );
    126126        struct byahoo_data *yd = gc->proto_data = g_new0( struct byahoo_data, 1 );
    127127       
     
    130130       
    131131        set_login_progress( gc, 1, "Connecting" );
    132         yd->y2_id = yahoo_init( user->username, user->password );
     132        yd->y2_id = yahoo_init( acc->user, acc->pass );
    133133        yahoo_login( yd->y2_id, yd->current_status );
    134134}
     
    425425                yd = gc->proto_data;
    426426               
    427                 if( !strcmp(gc->prpl->name, "yahoo") && yd->y2_id == id )
     427                if( strcmp( gc->acc->prpl->name, "yahoo" ) == 0 && yd->y2_id == id )
    428428                        return( gc );
    429429        }
  • root_commands.c

    r5c9512f r0a3c243  
    400400                else
    401401                {
    402                         nick_set( irc, cmd[2], a->gc->prpl, cmd[3] );
     402                        nick_set( irc, cmd[2], a->gc->acc->prpl, cmd[3] );
    403403                }
    404404        }
     
    407407           add them to your *real* (server-side) contact list. */
    408408        if( add_for_real )
    409                 a->gc->prpl->add_buddy( a->gc, cmd[2] );
     409                a->gc->acc->prpl->add_buddy( a->gc, cmd[2] );
    410410               
    411411        add_buddy( a->gc, NULL, cmd[2], cmd[2] );
     
    441441        }
    442442       
    443         if( !gc->prpl->get_info )
     443        if( !gc->acc->prpl->get_info )
    444444        {
    445445                irc_usermsg( irc, "Command `%s' not supported by this protocol", cmd[0] );
     
    447447        else
    448448        {
    449                 gc->prpl->get_info( gc, cmd[2] );
     449                gc->acc->prpl->get_info( gc, cmd[2] );
    450450        }
    451451}
     
    482482                else if( u->send_handler == buddy_send_handler )
    483483                {
    484                         nick_set( irc, u->handle, u->gc->prpl, cmd[2] );
     484                        nick_set( irc, u->handle, u->gc->acc->prpl, cmd[2] );
    485485                }
    486486               
     
    501501        s = g_strdup( u->handle );
    502502       
    503         u->gc->prpl->remove_buddy( u->gc, u->handle, NULL );
     503        u->gc->acc->prpl->remove_buddy( u->gc, u->handle, NULL );
    504504        user_del( irc, cmd[1] );
    505505        nick_del( irc, cmd[1] );
     
    558558        }
    559559       
    560         if( !gc->prpl->add_deny || !gc->prpl->rem_permit )
     560        if( !gc->acc->prpl->add_deny || !gc->acc->prpl->rem_permit )
    561561        {
    562562                irc_usermsg( irc, "Command `%s' not supported by this protocol", cmd[0] );
     
    617617        }
    618618       
    619         if( !gc->prpl->rem_deny || !gc->prpl->add_permit )
     619        if( !gc->acc->prpl->rem_deny || !gc->acc->prpl->add_permit )
    620620        {
    621621                irc_usermsg( irc, "Command `%s' not supported by this protocol", cmd[0] );
     
    733733                if( online == 1 )
    734734                {
    735                         g_snprintf( s, sizeof( s ) - 1, "%s@%s (%s)", u->user, u->host, u->gc->user->prpl->name );
     735                        g_snprintf( s, sizeof( s ) - 1, "%s@%s (%s)", u->user, u->host, u->gc->acc->prpl->name );
    736736                        irc_usermsg( irc, format, u->nick, s, "Online" );
    737737                }
     
    744744                if( away == 1 )
    745745                {
    746                         g_snprintf( s, sizeof( s ) - 1, "%s@%s (%s)", u->user, u->host, u->gc->user->prpl->name );
     746                        g_snprintf( s, sizeof( s ) - 1, "%s@%s (%s)", u->user, u->host, u->gc->acc->prpl->name );
    747747                        irc_usermsg( irc, format, u->nick, s, u->away );
    748748                }
     
    754754                if( offline == 1 )
    755755                {
    756                         g_snprintf( s, sizeof( s ) - 1, "%s@%s (%s)", u->user, u->host, u->gc->user->prpl->name );
     756                        g_snprintf( s, sizeof( s ) - 1, "%s@%s (%s)", u->user, u->host, u->gc->acc->prpl->name );
    757757                        irc_usermsg( irc, format, u->nick, s, "Offline" );
    758758                }
     
    779779                irc_usermsg( irc, "Your name is `%s'" , a->gc->displayname ? a->gc->displayname : "NULL" );
    780780        }
    781         else if ( !a->gc->prpl->set_info )
     781        else if ( !a->prpl->set_info )
    782782        {
    783783                irc_usermsg( irc, "Command `%s' not supported by this protocol", cmd[0] );
     
    787787                irc_usermsg( irc, "Setting your name to `%s'", cmd[2] );
    788788               
    789                 a->gc->prpl->set_info( a->gc, cmd[2] );
     789                a->prpl->set_info( a->gc, cmd[2] );
    790790        }
    791791}
     
    806806        for( num = 0; q; q = q->next, num ++ )
    807807                if( q->gc ) /* Not necessary yet, but it might come later */
    808                         irc_usermsg( irc, "%d, %s(%s): %s", num, q->gc->prpl->name, q->gc->username, q->question );
     808                        irc_usermsg( irc, "%d, %s(%s): %s", num, q->gc->acc->prpl->name, q->gc->username, q->question );
    809809                else
    810810                        irc_usermsg( irc, "%d, BitlBee: %s", num, q->question );
     
    834834                        user_t *u;
    835835                       
     836                        /* FIXME: Hmmm, this is actually pretty dangerous code... REMOVEME? :-) */
    836837                        for( u = irc->users; u; u = u->next )
    837838                                if( u->gc == gc )
    838839                                {
    839                                         u->gc->prpl->remove_buddy( u->gc, u->handle, NULL );
     840                                        u->gc->acc->prpl->remove_buddy( u->gc, u->handle, NULL );
    840841                                        user_del( irc, u->nick );
    841842                                }
     
    852853        for( n = gc->irc->nicks; n; n = n->next )
    853854        {
    854                 if( n->proto == gc->prpl && !user_findhandle( gc, n->handle ) )
    855                 {
    856                         gc->prpl->add_buddy( gc, n->handle );
     855                if( n->proto == gc->acc->prpl && !user_findhandle( gc, n->handle ) )
     856                {
     857                        gc->acc->prpl->add_buddy( gc, n->handle );
    857858                        add_buddy( gc, NULL, n->handle, NULL );
    858859                }
  • user.c

    r5c9512f r0a3c243  
    147147        while( u )
    148148        {
    149                 if( u->gc == gc && u->handle && gc->prpl->cmp_buddynames ( u->handle, handle ) == 0 )
     149                if( u->gc == gc && u->handle && gc->acc->prpl->cmp_buddynames ( u->handle, handle ) == 0 )
    150150                        break;
    151151                u = u->next;
Note: See TracChangeset for help on using the changeset viewer.