Changeset 3228:ba545e1a7a77 in roaraudio


Ignore:
Timestamp:
01/24/10 08:45:51 (14 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

try multible auth metodes if server does not accept us

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libroar/auth.c

    r3227 r3228  
    166166} 
    167167 
     168#define _EOL ROAR_AUTH_T_AUTO 
    168169int roar_auth   (struct roar_connection * con) { 
    169170 struct roar_auth_message authmes; 
    170171 int ret; 
    171  
    172  roar_auth_mes_init(&authmes, ROAR_AUTH_T_NONE); 
    173  
    174  if ( (ret = roar_auth_ask_server(con, &authmes)) == -1 ) 
    175   return -1; 
    176  
    177  if ( authmes.stage != 0 ) 
    178   return -1; 
    179  
    180  return 0; 
     172 int i; 
     173 int ltt[] = { 
     174              ROAR_AUTH_T_TRUST, 
     175              ROAR_AUTH_T_IDENT, 
     176              ROAR_AUTH_T_RHOST, 
     177              ROAR_AUTH_T_NONE, 
     178              _EOL 
     179             }; 
     180 
     181 for (i = 0; ltt[i] != _EOL; i++) { 
     182  roar_auth_mes_init(&authmes, ltt[i]); 
     183 
     184  if ( (ret = roar_auth_ask_server(con, &authmes)) == -1 ) 
     185   continue; 
     186 
     187  if ( authmes.stage != 0 ) 
     188   continue; 
     189 
     190  return 0; 
     191 } 
     192 
     193 return -1; 
    181194} 
    182195 
Note: See TracChangeset for help on using the changeset viewer.