Ignore:
Timestamp:
2007-04-15T22:39:35Z (17 years ago)
Author:
Wilmer van der Gaast <wilmer@…>
Branches:
master
Children:
84b045d
Parents:
cd4723c
Message:

Cleaned up struct im_connection. No more username/password stuff since
it's in acc too. wants_to_die is now an argument to imc_logout().

File:
1 edited

Legend:

Unmodified
Added
Removed
  • protocols/msn/ns.c

    rcd4723c rc2fb3809  
    4848        {
    4949                imc_error( ic, "Could not connect to server" );
    50                 imc_logout( ic );
     50                imc_logout( ic, TRUE );
    5151                return FALSE;
    5252        }
     
    9090        {
    9191                imc_error( ic, "Error while reading from server" );
    92                 imc_logout( ic );
     92                imc_logout( ic, TRUE );
    9393               
    9494                return FALSE;
     
    115115                {
    116116                        imc_error( ic, "Unsupported protocol" );
    117                         imc_logout( ic );
     117                        imc_logout( ic, FALSE );
    118118                        return( 0 );
    119119                }
    120120               
    121121                g_snprintf( buf, sizeof( buf ), "CVR %d 0x0409 mac 10.2.0 ppc macmsgs 3.5.1 macmsgs %s\r\n",
    122                                                 ++md->trId, ic->username );
     122                                                ++md->trId, ic->acc->user );
    123123                return( msn_write( ic, buf, strlen( buf ) ) );
    124124        }
     
    126126        {
    127127                /* We don't give a damn about the information we just received */
    128                 g_snprintf( buf, sizeof( buf ), "USR %d TWN I %s\r\n", ++md->trId, ic->username );
     128                g_snprintf( buf, sizeof( buf ), "USR %d TWN I %s\r\n", ++md->trId, ic->acc->user );
    129129                return( msn_write( ic, buf, strlen( buf ) ) );
    130130        }
     
    144144                        {
    145145                                imc_error( ic, "Syntax error" );
    146                                 imc_logout( ic );
     146                                imc_logout( ic, TRUE );
    147147                                return( 0 );
    148148                        }
     
    163163                        {
    164164                                imc_error( ic, "Syntax error" );
    165                                 imc_logout( ic );
     165                                imc_logout( ic, TRUE );
    166166                                return( 0 );
    167167                        }
     
    173173                        {
    174174                                imc_error( ic, "Unknown authentication method for switchboard" );
    175                                 imc_logout( ic );
     175                                imc_logout( ic, TRUE );
    176176                                return( 0 );
    177177                        }
     
    205205                {
    206206                        imc_error( ic, "Syntax error" );
    207                         imc_logout( ic );
     207                        imc_logout( ic, TRUE );
    208208                        return( 0 );
    209209                }
     
    214214                {
    215215                        /* Time for some Passport black magic... */
    216                         if( !passport_get_id( msn_auth_got_passport_id, ic, ic->username, ic->password, cmd[4] ) )
     216                        if( !passport_get_id( msn_auth_got_passport_id, ic, ic->acc->user, ic->acc->pass, cmd[4] ) )
    217217                        {
    218218                                imc_error( ic, "Error while contacting Passport server" );
    219                                 imc_logout( ic );
     219                                imc_logout( ic, TRUE );
    220220                                return( 0 );
    221221                        }
     
    244244                {
    245245                        imc_error( ic, "Unknown authentication type" );
    246                         imc_logout( ic );
     246                        imc_logout( ic, FALSE );
    247247                        return( 0 );
    248248                }
     
    253253                {
    254254                        imc_error( ic, "Syntax error" );
    255                         imc_logout( ic );
     255                        imc_logout( ic, TRUE );
    256256                        return( 0 );
    257257                }
     
    262262                {
    263263                        imc_error( ic, "Syntax error" );
    264                         imc_logout( ic );
     264                        imc_logout( ic, TRUE );
    265265                        return( 0 );
    266266                }
     
    293293                {
    294294                        imc_error( ic, "Syntax error" );
    295                         imc_logout( ic );
     295                        imc_logout( ic, TRUE );
    296296                        return( 0 );
    297297                }
     
    345345                {
    346346                        imc_error( ic, "Syntax error" );
    347                         imc_logout( ic );
     347                        imc_logout( ic, TRUE );
    348348                        return( 0 );
    349349                }
     
    364364                {
    365365                        imc_error( ic, "Syntax error" );
    366                         imc_logout( ic );
     366                        imc_logout( ic, TRUE );
    367367                        return( 0 );
    368368                }
     
    386386                {
    387387                        imc_error( ic, "Syntax error" );
    388                         imc_logout( ic );
     388                        imc_logout( ic, TRUE );
    389389                        return( 0 );
    390390                }
     
    414414                {
    415415                        imc_error( ic, "Syntax error" );
    416                         imc_logout( ic );
     416                        imc_logout( ic, TRUE );
    417417                        return( 0 );
    418418                }
     
    439439                {
    440440                        imc_error( ic, "Syntax error" );
    441                         imc_logout( ic );
     441                        imc_logout( ic, TRUE );
    442442                        return( 0 );
    443443                }
     
    449449                {
    450450                        imc_error( ic, "Syntax error" );
    451                         imc_logout( ic );
     451                        imc_logout( ic, TRUE );
    452452                        return( 0 );
    453453                }
     
    459459                {
    460460                        imc_error( ic, "Unknown authentication method for switchboard" );
    461                         imc_logout( ic );
     461                        imc_logout( ic, TRUE );
    462462                        return( 0 );
    463463                }
     
    479479                        {
    480480                                imc_error( ic, "Syntax error" );
    481                                 imc_logout( ic );
     481                                imc_logout( ic, TRUE );
    482482                                return( 0 );
    483483                        }
     
    497497        else if( strcmp( cmd[0], "OUT" ) == 0 )
    498498        {
     499                int allow_reconnect = TRUE;
     500               
    499501                if( cmd[1] && strcmp( cmd[1], "OTH" ) == 0 )
    500502                {
    501503                        imc_error( ic, "Someone else logged in with your account" );
    502                         ic->wants_to_die = 1;
     504                        allow_reconnect = FALSE;
    503505                }
    504506                else if( cmd[1] && strcmp( cmd[1], "SSD" ) == 0 )
     
    511513                }
    512514               
    513                 imc_logout( ic );
     515                imc_logout( ic, allow_reconnect );
    514516                return( 0 );
    515517        }
     
    519521                {
    520522                        imc_error( ic, "Syntax error" );
    521                         imc_logout( ic );
    522                         return( 0 );
    523                 }
    524                
    525                 if( g_strcasecmp( cmd[3], ic->username ) == 0 )
     523                        imc_logout( ic, TRUE );
     524                        return( 0 );
     525                }
     526               
     527                if( g_strcasecmp( cmd[3], ic->acc->user ) == 0 )
    526528                {
    527529                        set_t *s;
     
    553555                {
    554556                        imc_error( ic, "Syntax error" );
    555                         imc_logout( ic );
     557                        imc_logout( ic, TRUE );
    556558                        return( 0 );
    557559                }
     
    566568                if( err->flags & STATUS_FATAL )
    567569                {
    568                         imc_logout( ic );
     570                        imc_logout( ic, TRUE );
    569571                        return( 0 );
    570572                }
     
    673675                imc_error( ic, "Error during Passport authentication (%s)",
    674676                               rep->error_string ? rep->error_string : "Unknown error" );
    675                 imc_logout( ic );
     677                imc_logout( ic, TRUE );
    676678        }
    677679        else
Note: See TracChangeset for help on using the changeset viewer.