@ -17,6 +17,8 @@
# include "base64.h"
# include "uuid.h"
# include "p2p/p2p.h"
# include "eap_peer/eap_methods.h"
# include "eap_peer/eap.h"
static int newline_terminated ( const char * buf , size_t buflen )
@ -704,16 +706,42 @@ static void wpa_config_write_cred(FILE *f, struct wpa_cred *cred)
fprintf ( f , " \t realm= \" %s \" \n " , cred - > realm ) ;
if ( cred - > username )
fprintf ( f , " \t username= \" %s \" \n " , cred - > username ) ;
if ( cred - > password )
if ( cred - > password & & cred - > ext_password )
fprintf ( f , " \t password=ext:%s \n " , cred - > password ) ;
else if ( cred - > password )
fprintf ( f , " \t password= \" %s \" \n " , cred - > password ) ;
if ( cred - > ca_cert )
fprintf ( f , " \t ca_cert= \" %s \" \n " , cred - > ca_cert ) ;
if ( cred - > client_cert )
fprintf ( f , " \t client_cert= \" %s \" \n " , cred - > client_cert ) ;
if ( cred - > private_key )
fprintf ( f , " \t private_key= \" %s \" \n " , cred - > private_key ) ;
if ( cred - > private_key_passwd )
fprintf ( f , " \t private_key_passwd= \" %s \" \n " ,
cred - > private_key_passwd ) ;
if ( cred - > imsi )
fprintf ( f , " \t imsi= \" %s \" \n " , cred - > imsi ) ;
if ( cred - > milenage )
fprintf ( f , " \t milenage= \" %s \" \n " , cred - > milenage ) ;
if ( cred - > domain )
fprintf ( f , " \t domain= \" %s \" \n " , cred - > domain ) ;
if ( cred - > roaming_consortium_len ) {
size_t i ;
fprintf ( f , " \t roaming_consortium= " ) ;
for ( i = 0 ; i < cred - > roaming_consortium_len ; i + + )
fprintf ( f , " %02x " , cred - > roaming_consortium [ i ] ) ;
fprintf ( f , " \n " ) ;
}
if ( cred - > eap_method ) {
const char * name ;
name = eap_get_name ( cred - > eap_method [ 0 ] . vendor ,
cred - > eap_method [ 0 ] . method ) ;
fprintf ( f , " \t eap=%s \n " , name ) ;
}
if ( cred - > phase1 )
fprintf ( f , " \t phase1= \" %s \" \n " , cred - > phase1 ) ;
if ( cred - > phase2 )
fprintf ( f , " \t phase2= \" %s \" \n " , cred - > phase2 ) ;
}