|
Lines 259-273
Link Here
|
| 259 |
const char *ca_cert_file, |
259 |
const char *ca_cert_file, |
| 260 |
int wpa_version) |
260 |
int wpa_version) |
| 261 |
{ |
261 |
{ |
|
|
262 |
dbus_int32_t eap; |
| 263 |
dbus_int32_t phase2; |
| 264 |
|
| 262 |
g_return_val_if_fail (iter != NULL, FALSE); |
265 |
g_return_val_if_fail (iter != NULL, FALSE); |
| 263 |
g_return_val_if_fail ((wpa_version == IW_AUTH_WPA_VERSION_WPA) || (wpa_version == IW_AUTH_WPA_VERSION_WPA2), FALSE); |
266 |
g_return_val_if_fail ((wpa_version == IW_AUTH_WPA_VERSION_WPA) || (wpa_version == IW_AUTH_WPA_VERSION_WPA2), FALSE); |
| 264 |
g_return_val_if_fail ((eap_method == NM_EAP_METHOD_MD5) |
267 |
eap = NM_EAP_TO_EAP_METHOD(eap_method); |
| 265 |
|| (eap_method == NM_EAP_METHOD_MSCHAP) |
268 |
g_return_val_if_fail ((eap == NM_EAP_METHOD_MD5) |
| 266 |
|| (eap_method == NM_EAP_METHOD_OTP) |
269 |
|| (eap == NM_EAP_METHOD_MSCHAP) |
| 267 |
|| (eap_method == NM_EAP_METHOD_GTC) |
270 |
|| (eap == NM_EAP_METHOD_OTP) |
| 268 |
|| (eap_method == NM_EAP_METHOD_PEAP) |
271 |
|| (eap == NM_EAP_METHOD_GTC) |
| 269 |
|| (eap_method == NM_EAP_METHOD_TLS) |
272 |
|| (eap == NM_EAP_METHOD_PEAP) |
| 270 |
|| (eap_method == NM_EAP_METHOD_TTLS), FALSE); |
273 |
|| (eap == NM_EAP_METHOD_TLS) |
|
|
274 |
|| (eap == NM_EAP_METHOD_TTLS), FALSE); |
| 275 |
phase2 = NM_EAP_TO_PHASE2_METHOD(eap_method); |
| 276 |
g_return_val_if_fail ((phase2 == NM_PHASE2_AUTH_NONE) |
| 277 |
|| (phase2 == NM_PHASE2_AUTH_PAP) |
| 278 |
|| (phase2 == NM_PHASE2_AUTH_MSCHAP) |
| 279 |
|| (phase2 == NM_PHASE2_AUTH_MSCHAPV2) |
| 280 |
|| (phase2 == NM_PHASE2_AUTH_GTC), FALSE); |
| 271 |
g_return_val_if_fail ((key_type == NM_AUTH_TYPE_WPA_PSK_AUTO) |
281 |
g_return_val_if_fail ((key_type == NM_AUTH_TYPE_WPA_PSK_AUTO) |
| 272 |
|| (key_type == IW_AUTH_CIPHER_CCMP) |
282 |
|| (key_type == IW_AUTH_CIPHER_CCMP) |
| 273 |
|| (key_type == IW_AUTH_CIPHER_TKIP) |
283 |
|| (key_type == IW_AUTH_CIPHER_TKIP) |
|
Lines 323-346
Link Here
|
| 323 |
dbus_bool_t result; |
333 |
dbus_bool_t result; |
| 324 |
|
334 |
|
| 325 |
g_return_val_if_fail (iter != NULL, FALSE); |
335 |
g_return_val_if_fail (iter != NULL, FALSE); |
| 326 |
g_return_val_if_fail ((wpa_version == IW_AUTH_WPA_VERSION_WPA) || (wpa_version == IW_AUTH_WPA_VERSION_WPA2), FALSE); |
336 |
/* validity of remaining arguments is checked in nmu_security_serialize_wpa_eap() which we call below */ |
| 327 |
g_return_val_if_fail ((eap_method == NM_EAP_METHOD_MD5) |
|
|
| 328 |
|| (eap_method == NM_EAP_METHOD_MSCHAP) |
| 329 |
|| (eap_method == NM_EAP_METHOD_OTP) |
| 330 |
|| (eap_method == NM_EAP_METHOD_GTC) |
| 331 |
|| (eap_method == NM_EAP_METHOD_PEAP) |
| 332 |
|| (eap_method == NM_EAP_METHOD_TLS) |
| 333 |
|| (eap_method == NM_EAP_METHOD_TTLS), FALSE); |
| 334 |
g_return_val_if_fail ((key_type == NM_AUTH_TYPE_WPA_PSK_AUTO) |
| 335 |
|| (key_type == IW_AUTH_CIPHER_CCMP) |
| 336 |
|| (key_type == IW_AUTH_CIPHER_TKIP) |
| 337 |
|| (key_type == IW_AUTH_CIPHER_WEP104), FALSE); |
| 338 |
|
337 |
|
| 339 |
/* First arg: WE Cipher (INT32) */ |
338 |
/* First arg: WE Cipher (INT32) */ |
| 340 |
we_cipher_append_helper (iter, NM_AUTH_TYPE_WPA_EAP); |
339 |
we_cipher_append_helper (iter, NM_AUTH_TYPE_WPA_EAP); |
| 341 |
|
340 |
|
| 342 |
result = nmu_security_serialize_wpa_eap (iter, eap_method, key_type, identity, passwd, anon_identity, private_key_passwd, |
341 |
result = nmu_security_serialize_wpa_eap (iter, eap_method, key_type, identity, passwd, anon_identity, |
| 343 |
private_key_file, client_cert_file, ca_cert_file, wpa_version); |
342 |
private_key_passwd, private_key_file, client_cert_file, ca_cert_file, wpa_version); |
| 344 |
|
343 |
|
| 345 |
return result; |
344 |
return result; |
| 346 |
} |
345 |
} |
|
Lines 370-375
Link Here
|
| 370 |
char * dbus_ca_cert_file; |
369 |
char * dbus_ca_cert_file; |
| 371 |
dbus_int32_t dbus_wpa_version; |
370 |
dbus_int32_t dbus_wpa_version; |
| 372 |
dbus_int32_t dbus_eap_method; |
371 |
dbus_int32_t dbus_eap_method; |
|
|
372 |
dbus_int32_t dbus_eap; |
| 373 |
dbus_int32_t dbus_phase2; |
| 373 |
dbus_int32_t dbus_key_type; |
374 |
dbus_int32_t dbus_key_type; |
| 374 |
|
375 |
|
| 375 |
g_return_val_if_fail (iter != NULL, FALSE); |
376 |
g_return_val_if_fail (iter != NULL, FALSE); |
|
Lines 392-406
Link Here
|
| 392 |
g_return_val_if_fail (wpa_version != NULL, FALSE); |
393 |
g_return_val_if_fail (wpa_version != NULL, FALSE); |
| 393 |
|
394 |
|
| 394 |
/* Second arg: EAP method (INT32) */ |
395 |
/* Second arg: EAP method (INT32) */ |
|
|
396 |
/* Hack: this is really a bitfield of EAP method and phase2 method */ |
| 395 |
g_return_val_if_fail (dbus_message_iter_get_arg_type (iter) == DBUS_TYPE_INT32, FALSE); |
397 |
g_return_val_if_fail (dbus_message_iter_get_arg_type (iter) == DBUS_TYPE_INT32, FALSE); |
| 396 |
dbus_message_iter_get_basic (iter, &dbus_eap_method); |
398 |
dbus_message_iter_get_basic (iter, &dbus_eap_method); |
| 397 |
g_return_val_if_fail ((dbus_eap_method == NM_EAP_METHOD_MD5) |
399 |
dbus_eap = NM_EAP_TO_EAP_METHOD(dbus_eap_method); |
| 398 |
|| (dbus_eap_method == NM_EAP_METHOD_MSCHAP) |
400 |
g_return_val_if_fail ((dbus_eap == NM_EAP_METHOD_MD5) |
| 399 |
|| (dbus_eap_method == NM_EAP_METHOD_OTP) |
401 |
|| (dbus_eap == NM_EAP_METHOD_MSCHAP) |
| 400 |
|| (dbus_eap_method == NM_EAP_METHOD_GTC) |
402 |
|| (dbus_eap == NM_EAP_METHOD_OTP) |
| 401 |
|| (dbus_eap_method == NM_EAP_METHOD_PEAP) |
403 |
|| (dbus_eap == NM_EAP_METHOD_GTC) |
| 402 |
|| (dbus_eap_method == NM_EAP_METHOD_TLS) |
404 |
|| (dbus_eap == NM_EAP_METHOD_PEAP) |
| 403 |
|| (dbus_eap_method == NM_EAP_METHOD_TTLS), FALSE); |
405 |
|| (dbus_eap == NM_EAP_METHOD_TLS) |
|
|
406 |
|| (dbus_eap == NM_EAP_METHOD_TTLS), FALSE); |
| 407 |
dbus_phase2 = NM_EAP_TO_PHASE2_METHOD(dbus_eap_method); |
| 408 |
g_return_val_if_fail ((dbus_phase2 == NM_PHASE2_AUTH_NONE) |
| 409 |
|| (dbus_phase2 == NM_PHASE2_AUTH_PAP) |
| 410 |
|| (dbus_phase2 == NM_PHASE2_AUTH_MSCHAP) |
| 411 |
|| (dbus_phase2 == NM_PHASE2_AUTH_MSCHAPV2) |
| 412 |
|| (dbus_phase2 == NM_PHASE2_AUTH_GTC), FALSE); |
| 404 |
|
413 |
|
| 405 |
/* Third arg: Key type (INT32) */ |
414 |
/* Third arg: Key type (INT32) */ |
| 406 |
g_return_val_if_fail (dbus_message_iter_next (iter), FALSE); |
415 |
g_return_val_if_fail (dbus_message_iter_next (iter), FALSE); |