170 const eap_type_value_e aTunnelingType, |
170 const eap_type_value_e aTunnelingType, |
171 const eap_type_value_e aEapType, |
171 const eap_type_value_e aEapType, |
172 const bool aIsClient, |
172 const bool aIsClient, |
173 const eap_am_network_id_c * const receive_network_id) |
173 const eap_am_network_id_c * const receive_network_id) |
174 { |
174 { |
175 eap_am_type_securid_symbian_c * self = new(ELeave) eap_am_type_securid_symbian_c( |
175 eap_am_type_securid_symbian_c * self = new eap_am_type_securid_symbian_c( |
176 aTools, |
176 aTools, |
177 aPartner, |
177 aPartner, |
178 aIndexType, |
178 aIndexType, |
179 aIndex, |
179 aIndex, |
180 aTunnelingType, |
180 aTunnelingType, |
181 aEapType, |
181 aEapType, |
182 aIsClient, |
182 aIsClient, |
183 receive_network_id); |
183 receive_network_id); |
184 |
184 |
185 CleanupStack::PushL(self); |
185 if (self == 0 |
186 |
186 || self->get_is_valid() != true) |
187 if (self->get_is_valid() != true) |
187 { |
188 { |
188 if (self != 0) |
|
189 { |
|
190 self->shutdown(); |
|
191 } |
|
192 |
|
193 delete self; |
|
194 |
189 User::Leave(KErrGeneral); |
195 User::Leave(KErrGeneral); |
190 } |
196 } |
191 |
197 |
192 self->ConstructL(); |
198 TRAPD(error, self->ConstructL()); |
193 |
199 |
194 CleanupStack::Pop(); |
200 if (error != KErrNone) |
|
201 { |
|
202 self->shutdown(); |
|
203 delete self; |
|
204 |
|
205 User::Leave(error); |
|
206 } |
195 |
207 |
196 return self; |
208 return self; |
197 } |
209 } |
198 |
210 |
199 //-------------------------------------------------- |
211 //-------------------------------------------------- |
714 EAP_TRACE_DEBUG( |
726 EAP_TRACE_DEBUG( |
715 m_am_tools, |
727 m_am_tools, |
716 TRACE_FLAGS_DEFAULT, |
728 TRACE_FLAGS_DEFAULT, |
717 (EAPL("eap_am_type_securid_symbian_c::show_gtc_query_dialog(): EHandlingTimerCall\n"))); |
729 (EAPL("eap_am_type_securid_symbian_c::show_gtc_query_dialog(): EHandlingTimerCall\n"))); |
718 |
730 |
719 if(m_partner->set_timer(this,EHandlingTimerCall, 0 /*data*/, 2 /*time ms*/) != eap_status_ok) |
731 if (m_partner->set_timer(this,EHandlingTimerCall, 0 /*data*/, 2 /*time ms*/) != eap_status_ok) |
720 status = eap_status_process_general_error; |
732 status = eap_status_process_general_error; |
721 } |
733 } |
722 |
734 |
723 return EAP_STATUS_RETURN(m_am_tools, status); |
735 return EAP_STATUS_RETURN(m_am_tools, status); |
724 } |
736 } |
993 { |
1005 { |
994 EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("eap_am_type_securid_symbian_c::DlgComplete(): EHandlingIdentityQuery\n"))); |
1006 EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("eap_am_type_securid_symbian_c::DlgComplete(): EHandlingIdentityQuery\n"))); |
995 |
1007 |
996 eap_variable_data_c identity(m_am_tools); |
1008 eap_variable_data_c identity(m_am_tools); |
997 |
1009 |
|
1010 EAP_TRACE_DATA_DEBUG( |
|
1011 m_am_tools, |
|
1012 TRACE_FLAGS_DEFAULT, |
|
1013 (EAPL("eap_am_type_securid_symbian_c::DlgComplete(): iUsername"), |
|
1014 m_dialog_data_ptr->iUsername.Ptr(), |
|
1015 m_dialog_data_ptr->iUsername.Size())); |
|
1016 |
998 eap_status_e status = identity.set_copy_of_buffer( |
1017 eap_status_e status = identity.set_copy_of_buffer( |
999 m_dialog_data_ptr->iUsername.Ptr(), |
1018 m_dialog_data_ptr->iUsername.Ptr(), |
1000 m_dialog_data_ptr->iUsername.Size()); |
1019 m_dialog_data_ptr->iUsername.Size()); |
1001 if (status != eap_status_ok) |
1020 if (status != eap_status_ok) |
1002 { |
1021 { |
1012 EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); |
1031 EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); |
1013 (void)EAP_STATUS_RETURN(m_am_tools, status); |
1032 (void)EAP_STATUS_RETURN(m_am_tools, status); |
1014 return; |
1033 return; |
1015 } |
1034 } |
1016 |
1035 |
|
1036 EAP_TRACE_DATA_DEBUG( |
|
1037 m_am_tools, |
|
1038 TRACE_FLAGS_DEFAULT, |
|
1039 (EAPL("eap_am_type_securid_symbian_c::DlgComplete(): identity_utf8"), |
|
1040 identity_utf8.get_data(), |
|
1041 identity_utf8.get_data_length())); |
|
1042 |
1017 status = get_am_partner()->complete_eap_identity_query(&identity_utf8); |
1043 status = get_am_partner()->complete_eap_identity_query(&identity_utf8); |
1018 } |
1044 } |
1019 break; |
1045 break; |
1020 |
1046 |
1021 case EHandlingPasscodeQuery: |
1047 case EHandlingPasscodeQuery: |
1022 { |
1048 { |
1023 EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("eap_am_type_securid_symbian_c::DlgComplete(): EHandlingPasscodeQuery\n"))); |
1049 EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("eap_am_type_securid_symbian_c::DlgComplete(): EHandlingPasscodeQuery\n"))); |
1024 |
1050 |
1025 eap_variable_data_c passcode(m_am_tools); |
1051 eap_variable_data_c passcode(m_am_tools); |
|
1052 |
|
1053 EAP_TRACE_DATA_DEBUG( |
|
1054 m_am_tools, |
|
1055 TRACE_FLAGS_DEFAULT, |
|
1056 (EAPL("eap_am_type_securid_symbian_c::DlgComplete(): iPassword"), |
|
1057 m_dialog_data_ptr->iPassword.Ptr(), |
|
1058 m_dialog_data_ptr->iPassword.Size())); |
1026 |
1059 |
1027 eap_status_e status = passcode.set_copy_of_buffer( |
1060 eap_status_e status = passcode.set_copy_of_buffer( |
1028 m_dialog_data_ptr->iPassword.Ptr(), |
1061 m_dialog_data_ptr->iPassword.Ptr(), |
1029 m_dialog_data_ptr->iPassword.Size()); |
1062 m_dialog_data_ptr->iPassword.Size()); |
1030 if (status != eap_status_ok) |
1063 if (status != eap_status_ok) |
1041 EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); |
1074 EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); |
1042 (void)EAP_STATUS_RETURN(m_am_tools, status); |
1075 (void)EAP_STATUS_RETURN(m_am_tools, status); |
1043 return; |
1076 return; |
1044 } |
1077 } |
1045 |
1078 |
|
1079 EAP_TRACE_DATA_DEBUG( |
|
1080 m_am_tools, |
|
1081 TRACE_FLAGS_DEFAULT, |
|
1082 (EAPL("eap_am_type_securid_symbian_c::DlgComplete(): passcode_utf8"), |
|
1083 passcode_utf8.get_data(), |
|
1084 passcode_utf8.get_data_length())); |
|
1085 |
1046 status = get_am_partner()->client_securid_complete_passcode_query(&passcode_utf8); |
1086 status = get_am_partner()->client_securid_complete_passcode_query(&passcode_utf8); |
1047 } |
1087 } |
1048 break; |
1088 break; |
1049 |
1089 |
1050 case EHandlingPincodeQuery: |
1090 case EHandlingPincodeQuery: |
1051 { |
1091 { |
1052 EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("eap_am_type_securid_symbian_c::DlgComplete(): EHandlingPincodeQuery\n"))); |
1092 EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("eap_am_type_securid_symbian_c::DlgComplete(): EHandlingPincodeQuery\n"))); |
1053 |
1093 |
1054 eap_variable_data_c pincode(m_am_tools); |
1094 eap_variable_data_c identity(m_am_tools); |
1055 |
1095 |
1056 eap_status_e status = pincode.set_copy_of_buffer( |
1096 EAP_TRACE_DATA_DEBUG( |
|
1097 m_am_tools, |
|
1098 TRACE_FLAGS_DEFAULT, |
|
1099 (EAPL("eap_am_type_securid_symbian_c::DlgComplete(): iUsername"), |
|
1100 m_dialog_data_ptr->iUsername.Ptr(), |
|
1101 m_dialog_data_ptr->iUsername.Size())); |
|
1102 |
|
1103 eap_status_e status = identity.set_copy_of_buffer( |
1057 m_dialog_data_ptr->iUsername.Ptr(), |
1104 m_dialog_data_ptr->iUsername.Ptr(), |
1058 m_dialog_data_ptr->iUsername.Size()); |
1105 m_dialog_data_ptr->iUsername.Size()); |
1059 if (status != eap_status_ok) |
1106 if (status != eap_status_ok) |
1060 { |
1107 { |
1061 EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); |
1108 EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); |
1062 (void)EAP_STATUS_RETURN(m_am_tools, status); |
1109 (void)EAP_STATUS_RETURN(m_am_tools, status); |
1063 return; |
1110 return; |
1064 } |
1111 } |
1065 |
1112 |
1066 eap_variable_data_c passcode(m_am_tools); |
1113 eap_variable_data_c passcode(m_am_tools); |
|
1114 |
|
1115 EAP_TRACE_DATA_DEBUG( |
|
1116 m_am_tools, |
|
1117 TRACE_FLAGS_DEFAULT, |
|
1118 (EAPL("eap_am_type_securid_symbian_c::DlgComplete(): iPassword"), |
|
1119 m_dialog_data_ptr->iPassword.Ptr(), |
|
1120 m_dialog_data_ptr->iPassword.Size())); |
1067 |
1121 |
1068 status = passcode.set_copy_of_buffer( |
1122 status = passcode.set_copy_of_buffer( |
1069 m_dialog_data_ptr->iPassword.Ptr(), |
1123 m_dialog_data_ptr->iPassword.Ptr(), |
1070 m_dialog_data_ptr->iPassword.Size()); |
1124 m_dialog_data_ptr->iPassword.Size()); |
1071 if (status != eap_status_ok) |
1125 if (status != eap_status_ok) |
1074 (void)EAP_STATUS_RETURN(m_am_tools, status); |
1128 (void)EAP_STATUS_RETURN(m_am_tools, status); |
1075 return; |
1129 return; |
1076 } |
1130 } |
1077 |
1131 |
1078 |
1132 |
1079 eap_variable_data_c pincode_utf8(m_am_tools); |
1133 eap_variable_data_c identity_utf8(m_am_tools); |
1080 status = m_am_tools->convert_unicode_to_utf8(pincode_utf8, pincode); |
1134 status = m_am_tools->convert_unicode_to_utf8(identity_utf8, identity); |
1081 if (status != eap_status_ok) |
1135 if (status != eap_status_ok) |
1082 { |
1136 { |
1083 EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); |
1137 EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); |
1084 (void)EAP_STATUS_RETURN(m_am_tools, status); |
1138 (void)EAP_STATUS_RETURN(m_am_tools, status); |
1085 return; |
1139 return; |
1086 } |
1140 } |
1087 |
1141 |
|
1142 EAP_TRACE_DATA_DEBUG( |
|
1143 m_am_tools, |
|
1144 TRACE_FLAGS_DEFAULT, |
|
1145 (EAPL("eap_am_type_securid_symbian_c::DlgComplete(): identity_utf8"), |
|
1146 identity_utf8.get_data(), |
|
1147 identity_utf8.get_data_length())); |
|
1148 |
1088 eap_variable_data_c passcode_utf8(m_am_tools); |
1149 eap_variable_data_c passcode_utf8(m_am_tools); |
1089 status = m_am_tools->convert_unicode_to_utf8(passcode_utf8, passcode); |
1150 status = m_am_tools->convert_unicode_to_utf8(passcode_utf8, passcode); |
1090 if (status != eap_status_ok) |
1151 if (status != eap_status_ok) |
1091 { |
1152 { |
1092 EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); |
1153 EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); |
1093 (void)EAP_STATUS_RETURN(m_am_tools, status); |
1154 (void)EAP_STATUS_RETURN(m_am_tools, status); |
1094 return; |
1155 return; |
1095 } |
1156 } |
1096 |
1157 |
|
1158 EAP_TRACE_DATA_DEBUG( |
|
1159 m_am_tools, |
|
1160 TRACE_FLAGS_DEFAULT, |
|
1161 (EAPL("eap_am_type_securid_symbian_c::DlgComplete(): passcode_utf8"), |
|
1162 passcode_utf8.get_data(), |
|
1163 passcode_utf8.get_data_length())); |
|
1164 |
1097 status = get_am_partner()->client_securid_complete_pincode_query(&passcode_utf8, &passcode_utf8); |
1165 status = get_am_partner()->client_securid_complete_pincode_query(&passcode_utf8, &passcode_utf8); |
1098 } |
1166 } |
1099 break; |
1167 break; |
1100 |
1168 |
1101 case EHandlingGTCQuery: |
1169 case EHandlingGTCQuery: |
1103 EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("eap_am_type_securid_symbian_c::DlgComplete(): EHandlingGTCQuery\n"))); |
1171 EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("eap_am_type_securid_symbian_c::DlgComplete(): EHandlingGTCQuery\n"))); |
1104 |
1172 |
1105 delete m_message_buf; |
1173 delete m_message_buf; |
1106 m_message_buf = NULL; |
1174 m_message_buf = NULL; |
1107 |
1175 |
|
1176 eap_variable_data_c identity(m_am_tools); |
|
1177 eap_variable_data_c identity_utf8(m_am_tools); |
|
1178 |
|
1179 EAP_TRACE_DATA_DEBUG( |
|
1180 m_am_tools, |
|
1181 TRACE_FLAGS_DEFAULT, |
|
1182 (EAPL("eap_am_type_securid_symbian_c::DlgComplete(): iUsername"), |
|
1183 m_dialog_data_ptr->iUsername.Ptr(), |
|
1184 m_dialog_data_ptr->iUsername.Size())); |
|
1185 |
|
1186 if (m_dialog_data_ptr->iUsername.Size() > 0) |
|
1187 { |
|
1188 eap_status_e status = identity.set_copy_of_buffer( |
|
1189 m_dialog_data_ptr->iUsername.Ptr(), |
|
1190 m_dialog_data_ptr->iUsername.Size()); |
|
1191 if (status != eap_status_ok) |
|
1192 { |
|
1193 EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); |
|
1194 (void)EAP_STATUS_RETURN(m_am_tools, status); |
|
1195 return; |
|
1196 } |
|
1197 |
|
1198 status = m_am_tools->convert_unicode_to_utf8(identity_utf8, identity); |
|
1199 if (status != eap_status_ok) |
|
1200 { |
|
1201 EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); |
|
1202 (void)EAP_STATUS_RETURN(m_am_tools, status); |
|
1203 return; |
|
1204 } |
|
1205 |
|
1206 EAP_TRACE_DATA_DEBUG( |
|
1207 m_am_tools, |
|
1208 TRACE_FLAGS_DEFAULT, |
|
1209 (EAPL("eap_am_type_securid_symbian_c::DlgComplete(): identity_utf8"), |
|
1210 identity_utf8.get_data(), |
|
1211 identity_utf8.get_data_length())); |
|
1212 } |
|
1213 |
1108 eap_variable_data_c passcode(m_am_tools); |
1214 eap_variable_data_c passcode(m_am_tools); |
|
1215 |
|
1216 EAP_TRACE_DATA_DEBUG( |
|
1217 m_am_tools, |
|
1218 TRACE_FLAGS_DEFAULT, |
|
1219 (EAPL("eap_am_type_securid_symbian_c::DlgComplete(): iPassword"), |
|
1220 m_dialog_data_ptr->iPassword.Ptr(), |
|
1221 m_dialog_data_ptr->iPassword.Size())); |
1109 |
1222 |
1110 eap_status_e status = passcode.set_copy_of_buffer( |
1223 eap_status_e status = passcode.set_copy_of_buffer( |
1111 m_dialog_data_ptr->iPassword.Ptr(), |
1224 m_dialog_data_ptr->iPassword.Ptr(), |
1112 m_dialog_data_ptr->iPassword.Size()); |
1225 m_dialog_data_ptr->iPassword.Size()); |
1113 if (status != eap_status_ok) |
1226 if (status != eap_status_ok) |
1124 EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); |
1237 EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); |
1125 (void)EAP_STATUS_RETURN(m_am_tools, status); |
1238 (void)EAP_STATUS_RETURN(m_am_tools, status); |
1126 return; |
1239 return; |
1127 } |
1240 } |
1128 |
1241 |
|
1242 EAP_TRACE_DATA_DEBUG( |
|
1243 m_am_tools, |
|
1244 TRACE_FLAGS_DEFAULT, |
|
1245 (EAPL("eap_am_type_securid_symbian_c::DlgComplete(): passcode_utf8"), |
|
1246 passcode_utf8.get_data(), |
|
1247 passcode_utf8.get_data_length())); |
|
1248 |
1129 // User must have entered some password and pressed OK. |
1249 // User must have entered some password and pressed OK. |
1130 // Treat this as a full authentication and update the Last Auth Time. |
1250 // Treat this as a full authentication and update the Last Auth Time. |
1131 status = store_authentication_time(); |
1251 status = store_authentication_time(); |
1132 if (status != eap_status_ok) |
1252 if (status != eap_status_ok) |
1133 { |
1253 { |