- Fixes handling of tab character during parsing of initiators.allow and initiators.deny files
- IET part of the version updated
- TAGS updated
- Comments in scst_targ.c about long ago gone scst_unregister_session_ex() fixed
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@812
d57e44dd-8a1f-0410-8b47-
8ef2f437770f
-In SVN making tags is too heavyweighted. So, I decided instead keep in
-this file revisions numbers, corresponding to the desired symbolic tags.
+In SVN making tags is too heavyweighted. So, it was decided to keep
+instead in this file revisions numbers, corresponding to the desired
+symbolic tags.
Tag Revision
1.0.0 439
-1.0.0srpt 450
-
+SRPT 1.0.0 450
+1.0.1 805
* GNU General Public License for more details.
*/
-#define ISCSI_VERSION_STRING "1.0.2/0.4.17r211"
+#define ISCSI_VERSION_STRING "1.0.2/0.4.17r212"
return 0;
while ((p = strsep(&str, ","))) {
- while (isspace(*p))
+ while (isblank(*p))
p++;
if (!strcmp(p, "ALL"))
/*
* Every time we are called, we read the file. So we don't need to
- * implement 'reload feature'. It's slow, however, it doesn't matter.
+ * implement the 'reload feature'. It's slow, but that doesn't matter.
*/
while ((p = fgets(buf, sizeof(buf), fp))) {
if (!p || *p == '#')
continue;
*p = '\0';
- if (!(p = strchr(buf, ' ')))
+ p = buf;
+ while (!isblank(*p) && (*p != '\0'))
+ p++;
+ if (p == '\0')
continue;
- *(p++) = '\0';
+
+ *p = '\0';
+ p++;
if (target_find_id_by_name(buf) != tid && strcmp(buf, "ALL"))
continue;
}
target = target_find_by_name(target_name);
- if ((target == NULL) ||
- config_initiator_access(conn->tid, conn->fd) ||
- isns_scn_access(conn->tid, conn->fd, name)) {
+ if (target == NULL) {
rsp->status_class = ISCSI_STATUS_INITIATOR_ERR;
rsp->status_detail = ISCSI_STATUS_TGT_NOT_FOUND;
conn->state = STATE_EXIT;
return;
}
+
conn->tid = target->tid;
+ if (config_initiator_access(conn->tid, conn->fd) ||
+ isns_scn_access(conn->tid, conn->fd, name)) {
+ rsp->status_class = ISCSI_STATUS_INITIATOR_ERR;
+ rsp->status_detail = ISCSI_STATUS_TGT_NOT_FOUND;
+ conn->state = STATE_EXIT;
+ return;
+ }
err = kernel_param_get(conn->tid, conn->sid.id64, key_session,
conn->session_param);
}
/*
- * Must not be called in parallel with scst_unregister_session_ex() for the
+ * Must not be called in parallel with scst_unregister_session() for the
* same sess
*/
struct scst_cmd *scst_rx_cmd(struct scst_session *sess,
}
/*
- * Must not be called in parallel with scst_unregister_session_ex() for the
+ * Must not be called in parallel with scst_unregister_session() for the
* same sess
*/
int scst_rx_mgmt_fn(struct scst_session *sess,