[prev in list] [next in list] [prev in thread] [next in thread]
List: linux-ha-dev
Subject: [Linux-ha-dev] [PATCH 1 of 4] RA: iSCSITarget: add support for CHAP
From: Florian Haas <florian.haas () linbit ! com>
Date: 2009-07-01 8:49:15
Message-ID: c1348677a740ff491290.1246438155 () singlemalt ! linbit
[Download RAW message or body]
# HG changeset patch
# User Florian Haas <florian.haas@linbit.com>
# Date 1246437815 -7200
# Node ID c1348677a740ff49129062e95496bdc93fd48693
# Parent 731f8f7b54500f54049eb06e1f3a2c52f3de53f1
RA: iSCSITarget: add support for CHAP authentication.
This patch adds support for incoming user authentication using
CHAP. It retains the default behavior of allowing unauthenticated
access if no username is specified.
diff -r 731f8f7b5450 -r c1348677a740 resources/OCF/iSCSITarget
--- a/resources/OCF/iSCSITarget Tue Jun 30 12:02:16 2009 +0200
+++ b/resources/OCF/iSCSITarget Wed Jul 01 10:43:35 2009 +0200
@@ -107,6 +107,23 @@
<content type="string" default="${OCF_RESKEY_initiators_default}"/>
</parameter>
+<parameter name="username" required="0" unique="0">
+<longdesc lang="en">
+A username used for initiator authentication. If unspecified,
+allowed initiators will be able to log in without authentication.
+</longdesc>
+<shortdesc lang="en">Incoming account username</shortdesc>
+<content type="string"/>
+</parameter>
+
+<parameter name="password" required="0" unique="0">
+<longdesc lang="en">
+A password used for initiator authentication.
+</longdesc>
+<shortdesc lang="en">Incoming account password</shortdesc>
+<content type="string"/>
+</parameter>
+
</parameters>
<actions>
@@ -186,6 +203,14 @@
echo "${OCF_RESKEY_name} ALL" >> /etc/initiators.deny
echo "${OCF_RESKEY_name} ${OCF_RESKEY_initiators// /,}" >> /etc/initiators.allow
fi
+ # In iet, adding a new user and assigning it to a target
+ # is one operation.
+ if [ -n "${OCF_RESKEY_username}" ]; then
+ do_cmd ietadm --op new --user \
+ --tid=${OCF_RESKEY_tid} \
+ --params=IncomingUser=${OCF_RESKEY_username},Password=${OCF_RESKEY_password} \
+ || return $OCF_ERR_GENERIC
+ fi
return $OCF_SUCCESS
;;
tgt)
@@ -207,6 +232,16 @@
--tid=${OCF_RESKEY_tid} \
--initiator-address=${initiator} || return $OCF_ERR_GENERIC
done
+ # In tgt, we must first create a user account, then assign
+ # it to a target using the "bind" operation.
+ if [ -n "${OCF_RESKEY_username}" ]; then
+ do_cmd tgtadm --lld iscsi --mode account --op new \
+ --user=${OCF_RESKEY_username} \
+ --password=${OCF_RESKEY_password} || return $OCF_ERR_GENERIC
+ do_cmd tgtadm --lld iscsi --mode account --op bind \
+ --tid=${OCF_RESKEY_tid} \
+ --user=${OCF_RESKEY_username} || return $OCF_ERR_GENERIC
+ fi
return $OCF_SUCCESS
;;
esac
@@ -235,6 +270,14 @@
--tid=${OCF_RESKEY_tid} $2 $1
shift 2
done
+ # In iet, unassigning a user from a target and
+ # deleting the user account is one operation.
+ if [ -n "${OCF_RESKEY_username}" ]; then
+ do_cmd ietadm --op delete --user \
+ --tid=${OCF_RESKEY_tid} \
+ --params=IncomingUser=${OCF_RESKEY_username} \
+ || return $OCF_ERR_GENERIC
+ fi
do_cmd ietadm --op delete \
--tid=${OCF_RESKEY_tid} || return $OCF_ERR_GENERIC
if [ -n ${OCF_RESKEY_initiators} ]; then
@@ -267,11 +310,20 @@
--tid=${OCF_RESKEY_tid} $2 $1
shift 2
done
+ # In tgt, we must first unbind the user account from
+ # the target, then remove the account itself.
+ if [ -n "${OCF_RESKEY_username}" ]; then
+ do_cmd tgtadm --lld iscsi --mode account --op unbind \
+ --tid=${OCF_RESKEY_tid} \
+ --user=${OCF_RESKEY_username} || return $OCF_ERR_GENERIC
+ do_cmd tgtadm --lld iscsi --mode account --op delete \
+ --user=${OCF_RESKEY_username} || return $OCF_ERR_GENERIC
+ fi
+ do_cmd tgtadm --lld iscsi --op delete --mode target \
+ --tid=${OCF_RESKEY_tid} && return $OCF_SUCCESS
# In tgt, we don't have to worry about our ACL
# entries. They are automatically removed upon target
# deletion.
- do_cmd tgtadm --lld iscsi --op delete --mode target \
- --tid=${OCF_RESKEY_tid} && return $OCF_SUCCESS
;;
esac
else
_______________________________________________________
Linux-HA-Dev: Linux-HA-Dev@lists.linux-ha.org
http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
Home Page: http://linux-ha.org/
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic