mirror of
https://github.com/opnsense/src.git
synced 2026-06-09 00:32:25 -04:00
When removing an iSCSI session, check whether all conditions match,
not if any of them matches. This fixes "iscsictl -Rn" removing unrelated sessions. PR: 194034 MFC after: 1 month Sponsored by: The FreeBSD Foundation
This commit is contained in:
parent
218d5d4be2
commit
6cc1e267f3
1 changed files with 8 additions and 10 deletions
|
|
@ -1752,18 +1752,16 @@ static bool
|
|||
iscsi_session_conf_matches(unsigned int id1, const struct iscsi_session_conf *c1,
|
||||
unsigned int id2, const struct iscsi_session_conf *c2)
|
||||
{
|
||||
if (id2 == 0 && c2->isc_target[0] == '\0' &&
|
||||
c2->isc_target_addr[0] == '\0')
|
||||
return (true);
|
||||
if (id2 != 0 && id2 == id1)
|
||||
return (true);
|
||||
|
||||
if (id2 != 0 && id2 != id1)
|
||||
return (false);
|
||||
if (c2->isc_target[0] != '\0' &&
|
||||
strcmp(c1->isc_target, c2->isc_target) == 0)
|
||||
return (true);
|
||||
strcmp(c1->isc_target, c2->isc_target) != 0)
|
||||
return (false);
|
||||
if (c2->isc_target_addr[0] != '\0' &&
|
||||
strcmp(c1->isc_target_addr, c2->isc_target_addr) == 0)
|
||||
return (true);
|
||||
return (false);
|
||||
strcmp(c1->isc_target_addr, c2->isc_target_addr) != 0)
|
||||
return (false);
|
||||
return (true);
|
||||
}
|
||||
|
||||
static int
|
||||
|
|
|
|||
Loading…
Reference in a new issue