a6d42e7d71324c5193c3b94d57d96ba2925d52e1Peter Dunlap * CDDL HEADER START
a6d42e7d71324c5193c3b94d57d96ba2925d52e1Peter Dunlap * The contents of this file are subject to the terms of the
a6d42e7d71324c5193c3b94d57d96ba2925d52e1Peter Dunlap * Common Development and Distribution License (the "License").
a6d42e7d71324c5193c3b94d57d96ba2925d52e1Peter Dunlap * You may not use this file except in compliance with the License.
a6d42e7d71324c5193c3b94d57d96ba2925d52e1Peter Dunlap * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
a6d42e7d71324c5193c3b94d57d96ba2925d52e1Peter Dunlap * See the License for the specific language governing permissions
a6d42e7d71324c5193c3b94d57d96ba2925d52e1Peter Dunlap * and limitations under the License.
a6d42e7d71324c5193c3b94d57d96ba2925d52e1Peter Dunlap * When distributing Covered Code, include this CDDL HEADER in each
a6d42e7d71324c5193c3b94d57d96ba2925d52e1Peter Dunlap * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
a6d42e7d71324c5193c3b94d57d96ba2925d52e1Peter Dunlap * If applicable, add the following below this CDDL HEADER, with the
a6d42e7d71324c5193c3b94d57d96ba2925d52e1Peter Dunlap * fields enclosed by brackets "[]" replaced with your own identifying
a6d42e7d71324c5193c3b94d57d96ba2925d52e1Peter Dunlap * information: Portions Copyright [yyyy] [name of copyright owner]
a6d42e7d71324c5193c3b94d57d96ba2925d52e1Peter Dunlap * CDDL HEADER END
4558d122136f151d62acbbc02ddb42df89a5ef66Viswanathan Kannappan * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
a6d42e7d71324c5193c3b94d57d96ba2925d52e1Peter Dunlapclient_set_numeric_data(auth_key_block_t *keyBlock,
a6d42e7d71324c5193c3b94d57d96ba2925d52e1Peter Dunlapclient_set_string_data(auth_key_block_t *keyBlock,
a6d42e7d71324c5193c3b94d57d96ba2925d52e1Peter Dunlapclient_set_binary_data(auth_key_block_t *keyBlock,
a6d42e7d71324c5193c3b94d57d96ba2925d52e1Peter Dunlapclient_get_numeric_data(auth_key_block_t *keyBlock,
a6d42e7d71324c5193c3b94d57d96ba2925d52e1Peter Dunlapclient_get_string_data(auth_key_block_t *keyBlock,
a6d42e7d71324c5193c3b94d57d96ba2925d52e1Peter Dunlapclient_get_binary_data(auth_key_block_t *keyBlock,
a6d42e7d71324c5193c3b94d57d96ba2925d52e1Peter Dunlapclient_auth_key_present(auth_key_block_t *keyBlock,
a6d42e7d71324c5193c3b94d57d96ba2925d52e1Peter Dunlap unsigned int chap_i,
a6d42e7d71324c5193c3b94d57d96ba2925d52e1Peter Dunlap * shared secret
a6d42e7d71324c5193c3b94d57d96ba2925d52e1Peter Dunlap MD5Update(&context, (uchar_t *)password, password_len);
a6d42e7d71324c5193c3b94d57d96ba2925d52e1Peter Dunlap * challenge value
a6d42e7d71324c5193c3b94d57d96ba2925d52e1Peter Dunlapiscsit_verify_chap_resp(iscsit_conn_login_t *lsm,
a6d42e7d71324c5193c3b94d57d96ba2925d52e1Peter Dunlap unsigned int chap_i,
30e7468f8f41aa30ada067b2c1d5d284046514daPeter Dunlap uchar_t verifyData[iscsitAuthChapResponseLength];
a6d42e7d71324c5193c3b94d57d96ba2925d52e1Peter Dunlap /* Check if RADIUS access is enabled */
a6d42e7d71324c5193c3b94d57d96ba2925d52e1Peter Dunlap struct sockaddr_storage *sa = &auth->ca_radius_server;
a6d42e7d71324c5193c3b94d57d96ba2925d52e1Peter Dunlap /* Use RADIUS server to authentication target */
a6d42e7d71324c5193c3b94d57d96ba2925d52e1Peter Dunlap radius_cfg.rad_svr_port = ntohs(sin->sin_port);
a6d42e7d71324c5193c3b94d57d96ba2925d52e1Peter Dunlap radius_cfg.rad_svr_addr.i_insize = sizeof (in_addr_t);
a6d42e7d71324c5193c3b94d57d96ba2925d52e1Peter Dunlap sizeof (struct in6_addr));
a6d42e7d71324c5193c3b94d57d96ba2925d52e1Peter Dunlap radius_cfg.rad_svr_addr.i_insize = sizeof (in6_addr_t);
a6d42e7d71324c5193c3b94d57d96ba2925d52e1Peter Dunlap chap_valid_status = iscsit_radius_chap_validate(
a6d42e7d71324c5193c3b94d57d96ba2925d52e1Peter Dunlap if (chap_valid_status == CHAP_VALIDATION_PASSED) {
a6d42e7d71324c5193c3b94d57d96ba2925d52e1Peter Dunlap /* Empty chap secret is not allowed */
a6d42e7d71324c5193c3b94d57d96ba2925d52e1Peter Dunlap /* only MD5 is supported */
a6d42e7d71324c5193c3b94d57d96ba2925d52e1Peter Dunlap auth->ca_ini_chapsecret, auth->ca_ini_chapsecretlen,
a6d42e7d71324c5193c3b94d57d96ba2925d52e1Peter Dunlap sizeof (verifyData)) != 0) {
a6d42e7d71324c5193c3b94d57d96ba2925d52e1Peter Dunlap /* chap response OK */