diff --git a/.gitignore b/.gitignore index 2786bf0..f127d19 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/open-iscsi-a8fcb37.tar.gz +SOURCES/open-iscsi-095f59c.tar.gz diff --git a/.iscsi-initiator-utils.metadata b/.iscsi-initiator-utils.metadata index 75f5be0..f60c5ed 100644 --- a/.iscsi-initiator-utils.metadata +++ b/.iscsi-initiator-utils.metadata @@ -1 +1 @@ -3d93416258a292dbb4ce43a8ef2be2d94bbb85f2 SOURCES/open-iscsi-a8fcb37.tar.gz +d6947b76f161a0adcc6d984ed43a82c99e319578 SOURCES/open-iscsi-095f59c.tar.gz diff --git a/SOURCES/0001-unit-file-tweaks.patch b/SOURCES/0001-unit-file-tweaks.patch index 89378ea..bd8f93a 100644 --- a/SOURCES/0001-unit-file-tweaks.patch +++ b/SOURCES/0001-unit-file-tweaks.patch @@ -1,16 +1,16 @@ -From 0a6af5e7283ed2733753998043adac090ef12dd0 Mon Sep 17 00:00:00 2001 +From 28e3ef5c630b8433eaad176a53c98af05a994f36 Mon Sep 17 00:00:00 2001 From: rpm-build Date: Tue, 4 Jun 2019 13:23:32 -0700 -Subject: [PATCH] unit file tweaks +Subject: [PATCH 01/23] unit file tweaks --- etc/systemd/iscsi-mark-root-nodes | 34 ++++++++++++++++++++++++++++++ etc/systemd/iscsi-onboot.service | 15 +++++++++++++ etc/systemd/iscsi-shutdown.service | 15 +++++++++++++ etc/systemd/iscsi.service | 16 +++++++------- - etc/systemd/iscsid.service | 3 +-- + etc/systemd/iscsid.service | 6 ++---- etc/systemd/iscsiuio.service | 4 +--- - 6 files changed, 74 insertions(+), 13 deletions(-) + 6 files changed, 75 insertions(+), 15 deletions(-) create mode 100755 etc/systemd/iscsi-mark-root-nodes create mode 100644 etc/systemd/iscsi-onboot.service create mode 100644 etc/systemd/iscsi-shutdown.service @@ -98,45 +98,48 @@ index 0000000..caee933 +ExecStart=-/usr/bin/true +ExecStop=-/usr/sbin/iscsiadm -m node --logoutall=all diff --git a/etc/systemd/iscsi.service b/etc/systemd/iscsi.service -index 2f2bf81..175cb2c 100644 +index 5e394b9..26e557d 100644 --- a/etc/systemd/iscsi.service +++ b/etc/systemd/iscsi.service -@@ -1,18 +1,18 @@ +@@ -1,17 +1,17 @@ [Unit] Description=Login and scanning of iSCSI devices Documentation=man:iscsiadm(8) man:iscsid(8) -Before=remote-fs.target --After=network.target network-online.target --After=iscsid.service iscsi-init.service +-After=network-online.target iscsid.service -Requires=iscsid.socket iscsi-init.service +-Wants=network-online.target +DefaultDependencies=no +Before=remote-fs-pre.target +After=network.target network-online.target iscsid.service iscsiuio.service systemd-remount-fs.service -+Wants=remote-fs-pre.target iscsi-shutdown.service ++Wants=network-online.target remote-fs-pre.target iscsi-shutdown.service +ConditionDirectoryNotEmpty=/var/lib/iscsi/nodes [Service] Type=oneshot --ExecStart=/sbin/iscsiadm -m node --loginall=automatic +-ExecStart=/sbin/iscsiadm -m node --loginall=automatic -W -ExecStop=/sbin/iscsiadm -m node --logoutall=automatic -ExecStop=/sbin/iscsiadm -m node --logoutall=manual -SuccessExitStatus=21 15 - RemainAfterExit=true +ExecStart=-/usr/sbin/iscsiadm -m node --loginall=automatic +ExecReload=-/usr/sbin/iscsiadm -m node --loginall=automatic +SuccessExitStatus=21 + RemainAfterExit=true [Install] - WantedBy=remote-fs.target diff --git a/etc/systemd/iscsid.service b/etc/systemd/iscsid.service -index 648ceea..28402fb 100644 +index 3fd7dd3..3958dae 100644 --- a/etc/systemd/iscsid.service +++ b/etc/systemd/iscsid.service -@@ -4,12 +4,11 @@ Documentation=man:iscsid(8) man:iscsiuio(8) man:iscsiadm(8) +@@ -2,15 +2,13 @@ + Description=Open-iSCSI + Documentation=man:iscsid(8) man:iscsiuio(8) man:iscsiadm(8) DefaultDependencies=no - After=network.target iscsiuio.service +-After=network-online.target iscsiuio.service iscsi-init.service ++After=network.target network-online.target iscsiuio.service Before=remote-fs-pre.target -Wants=remote-fs-pre.target +-Requires=iscsi-init.service [Service] Type=notify @@ -170,5 +173,5 @@ index 923e019..fc0be93 100644 Restart=on-failure -- -2.26.2 +2.31.1 diff --git a/SOURCES/0003-idbm_rec_write-seperate-old-and-new-style-writes.patch b/SOURCES/0003-idbm_rec_write-seperate-old-and-new-style-writes.patch index e311733..067300b 100644 --- a/SOURCES/0003-idbm_rec_write-seperate-old-and-new-style-writes.patch +++ b/SOURCES/0003-idbm_rec_write-seperate-old-and-new-style-writes.patch @@ -1,7 +1,7 @@ -From cfd9fc81e11c462b682ead4e05721772b20f7546 Mon Sep 17 00:00:00 2001 +From 9823d8ead9e2d91765e4af39d906e25acd4e2a04 Mon Sep 17 00:00:00 2001 From: Chris Leech Date: Tue, 13 Aug 2013 11:34:31 -0700 -Subject: [PATCH] idbm_rec_write, seperate old and new style writes +Subject: [PATCH 3/3] idbm_rec_write, seperate old and new style writes Duplicates a small bit of code, but easier to understand and extened. --- @@ -9,10 +9,10 @@ Duplicates a small bit of code, but easier to understand and extened. 1 file changed, 86 insertions(+), 43 deletions(-) diff --git a/usr/idbm.c b/usr/idbm.c -index e6ede85..bc51388 100644 +index efdda75..307a01a 100644 --- a/usr/idbm.c +++ b/usr/idbm.c -@@ -2130,12 +2130,7 @@ mkdir_portal: +@@ -2152,12 +2152,7 @@ mkdir_portal: return f; } @@ -26,13 +26,13 @@ index e6ede85..bc51388 100644 { struct stat statb; FILE *f; -@@ -2148,39 +2143,8 @@ static int idbm_rec_write(node_rec_t *rec, bool disable_lock) +@@ -2170,39 +2165,8 @@ static int idbm_rec_write(node_rec_t *rec, bool disable_lock) return ISCSI_ERR_NOMEM; } - snprintf(portal, PATH_MAX, "%s", NODE_CONFIG_DIR); - if (access(portal, F_OK) != 0) { -- if (mkdir(portal, 0660) != 0) { +- if (mkdir(portal, 0770) != 0) { - log_error("Could not make %s: %s", portal, - strerror(errno)); - rc = ISCSI_ERR_IDBM; @@ -42,7 +42,7 @@ index e6ede85..bc51388 100644 - - snprintf(portal, PATH_MAX, "%s/%s", NODE_CONFIG_DIR, rec->name); - if (access(portal, F_OK) != 0) { -- if (mkdir(portal, 0660) != 0) { +- if (mkdir(portal, 0770) != 0) { - log_error("Could not make %s: %s", portal, - strerror(errno)); - rc = ISCSI_ERR_IDBM; @@ -66,7 +66,7 @@ index e6ede85..bc51388 100644 rc = stat(portal, &statb); if (rc) { -@@ -2201,11 +2165,11 @@ static int idbm_rec_write(node_rec_t *rec, bool disable_lock) +@@ -2223,11 +2187,11 @@ static int idbm_rec_write(node_rec_t *rec, bool disable_lock) log_error("Could not convert %s: %s", portal, strerror(errno)); rc = ISCSI_ERR_IDBM; @@ -80,7 +80,7 @@ index e6ede85..bc51388 100644 } mkdir_portal: -@@ -2216,24 +2180,103 @@ mkdir_portal: +@@ -2238,24 +2202,103 @@ mkdir_portal: log_error("Could not make dir %s: %s", portal, strerror(errno)); rc = ISCSI_ERR_IDBM; @@ -189,5 +189,5 @@ index e6ede85..bc51388 100644 idbm_unlock(); free_portal: -- -2.26.2 +2.31.1 diff --git a/SOURCES/0006-use-var-for-config.patch b/SOURCES/0006-use-var-for-config.patch index 1836b16..365994a 100644 --- a/SOURCES/0006-use-var-for-config.patch +++ b/SOURCES/0006-use-var-for-config.patch @@ -1,7 +1,7 @@ -From b2af45f06a9b4d78c5dbb9421ac94f62d5e6f884 Mon Sep 17 00:00:00 2001 +From e6ab14371300e45c4f03efa64917f7601675f01d Mon Sep 17 00:00:00 2001 From: Chris Leech Date: Mon, 19 Nov 2012 16:38:45 -0800 -Subject: [PATCH] use var for config +Subject: [PATCH 1/1] use var for config --- README | 33 ++++++++++++++++----------------- @@ -13,7 +13,7 @@ Subject: [PATCH] use var for config 6 files changed, 33 insertions(+), 32 deletions(-) diff --git a/README b/README -index c05814a..326c3b0 100644 +index b62a14e..1875e3d 100644 --- a/README +++ b/README @@ -172,8 +172,7 @@ Usage: iscsid [OPTION] @@ -26,7 +26,7 @@ index c05814a..326c3b0 100644 Configuration is contained in directories for: -@@ -561,7 +560,7 @@ a scsi_host per HBA port). +@@ -573,7 +572,7 @@ a scsi_host per HBA port). To manage both types of initiator stacks, iscsiadm uses the interface (iface) structure. For each HBA port or for software iscsi for each network device (ethX) or NIC, that you wish to bind sessions to you must create @@ -35,7 +35,7 @@ index c05814a..326c3b0 100644 Prep ---- -@@ -594,7 +593,7 @@ Running +@@ -606,7 +605,7 @@ Running The command iscsiadm -m iface @@ -44,7 +44,7 @@ index c05814a..326c3b0 100644 iface0 qla4xxx,00:c0:dd:08:63:e8,20.15.0.7,default,iqn.2005-06.com.redhat:madmax iface1 qla4xxx,00:c0:dd:08:63:ea,20.15.0.9,default,iqn.2005-06.com.redhat:madmax -@@ -604,10 +603,10 @@ The format is: +@@ -616,10 +615,10 @@ The format is: For software iscsi, you can create the iface configs by hand, but it is recommended that you use iscsiadm's iface mode. There is an iface.example in @@ -57,7 +57,7 @@ index c05814a..326c3b0 100644 must have a unique name which is less than or equal to 64 characters. Example -@@ -615,12 +614,12 @@ Example +@@ -627,12 +626,12 @@ Example If you have NIC1 with MAC address 00:0F:1F:92:6B:BF and NIC2 with MAC address 00:C0:DD:08:63:E7, and you wanted to do software iscsi over @@ -72,7 +72,7 @@ index c05814a..326c3b0 100644 iface.transport_name = tcp iface.hwaddress = 00:C0:DD:08:63:E7 -@@ -662,7 +661,7 @@ port. The iface name will be of the form: +@@ -674,7 +673,7 @@ port. The iface name will be of the form: Running the following command: iscsiadm -m iface @@ -81,7 +81,7 @@ index c05814a..326c3b0 100644 default tcp,,,, iser iser,,,, -@@ -742,7 +741,7 @@ need a separate network connection to the target for discovery purposes. +@@ -754,7 +753,7 @@ need a separate network connection to the target for discovery purposes. *This will be fixed in the next version of open-iscsi* For compatibility reasons, when you run iscsiadm to do discovery, it @@ -90,7 +90,7 @@ index c05814a..326c3b0 100644 tcp for the iface.transport, and it will bind the portals that are discovered so that they will be logged in through those ifaces. This behavior can also be overridden by passing in the interfaces you want to use. For the case -@@ -757,7 +756,7 @@ If you had defined interfaces but wanted the old behavior, where we do not +@@ -769,7 +768,7 @@ If you had defined interfaces but wanted the old behavior, where we do not bind a session to an iface, then you can use the special iface "default": iscsiadm -m discoverydb -t st -p ip:port -I default --discover -P 1 @@ -99,7 +99,7 @@ index c05814a..326c3b0 100644 not pass anything into iscsiadm, running iscsiadm will do the default behavior, allowing the network subsystem to decide which device to use. -@@ -793,7 +792,7 @@ Discovery mode +@@ -805,7 +804,7 @@ Discovery mode ID [192.168.1.1:3260]: iscsiadm -m discoverydb -t st -p 192.168.1.1:3260 --discover @@ -108,7 +108,7 @@ index c05814a..326c3b0 100644 ID [portal = 192.168.1.1:3260 and type = sendtargets. If found it will perform discovery using the settings stored in the record. If a record does not exist, it will be created using the iscsid.conf -@@ -802,7 +801,7 @@ Discovery mode +@@ -814,7 +813,7 @@ Discovery mode The argument to -p may also be a hostname instead of an address: iscsiadm -m discoverydb -t st -p somehost --discover @@ -117,7 +117,7 @@ index c05814a..326c3b0 100644 interfaces using software iscsi. If any are found then nodes found during discovery will be setup so that they can logged in through those interfaces. To specify a specific iface, pass the -@@ -853,7 +852,7 @@ Discovery mode +@@ -865,7 +864,7 @@ Discovery mode - SendTargets iSCSI Discovery with a specific interface. If you wish to only use a subset of the interfaces in @@ -126,7 +126,7 @@ index c05814a..326c3b0 100644 iscsiadm -m discoverydb -t sendtargets -p 192.168.1.1:3260 \ --interface=iface0 --interface=iface1 --discover -@@ -1223,8 +1222,8 @@ where targetname is the name of the target and ip_address:port is the address +@@ -1232,8 +1231,8 @@ where targetname is the name of the target and ip_address:port is the address and port of the portal. tpgt is the Target Portal Group Tag of the portal, and is not used in iscsiadm commands except for static record creation. ifacename is the name of the iscsi interface @@ -137,7 +137,7 @@ index c05814a..326c3b0 100644 Default here is iscsi_tcp/tcp to be used over whichever NIC the network layer decides is best. -@@ -1336,7 +1335,7 @@ If set, iscsid will perform discovery to the address every +@@ -1353,7 +1352,7 @@ If set, iscsid will perform discovery to the address every discovery.isns.discoveryd_poll_inval or discovery.sendtargets.discoveryd_poll_inval seconds, and it will log into any portals found from the discovery source using @@ -147,10 +147,10 @@ index c05814a..326c3b0 100644 Note that for iSNS the poll_interval does not have to be set. If not set, iscsid will only perform rediscovery when it gets a SCN from the server. diff --git a/doc/iscsiadm.8 b/doc/iscsiadm.8 -index 22263eb..f47afac 100644 +index 3729a72..9f84a81 100644 --- a/doc/iscsiadm.8 +++ b/doc/iscsiadm.8 -@@ -229,7 +229,7 @@ This option is only valid for ping submode. +@@ -228,7 +228,7 @@ This option is only valid for ping submode. .TP \fB\-I\fR, \fB\-\-interface=\fI[iface]\fR The interface argument specifies the iSCSI interface to use for the operation. @@ -159,7 +159,7 @@ index 22263eb..f47afac 100644 iSCSI (qla4xxx) the iface config must have the hardware address (iface.hwaddress = port's MAC address) and the driver/transport_name (iface.transport_name). The iface's name is -@@ -309,7 +309,7 @@ If no other options are specified: for \fIdiscovery\fR, \fIdiscoverydb\fR and +@@ -318,7 +318,7 @@ If no other options are specified: for \fIdiscovery\fR, \fIdiscoverydb\fR and \fInode\fR, all of their respective records are displayed; for \fIsession\fR, all active sessions and connections are displayed; for \fIfw\fR, all boot firmware values are displayed; for \fIhost\fR, all iSCSI hosts are displayed; @@ -168,7 +168,7 @@ index 22263eb..f47afac 100644 .TP \fB\-n\fR, \fB\-\-name=\fIname\fR In node mode, specify a field \fIname\fR in a record. In flashnode submode -@@ -648,10 +648,10 @@ The configuration file read by \fBiscsid\fR and \fBiscsiadm\fR on startup. +@@ -681,10 +681,10 @@ The configuration file read by \fBiscsid\fR and \fBiscsiadm\fR on startup. The file containing the iSCSI InitiatorName and InitiatorAlias read by \fBiscsid\fR and \fBiscsiadm\fR on startup. .TP @@ -182,10 +182,10 @@ index 22263eb..f47afac 100644 .SH "SEE ALSO" .BR iscsid (8) diff --git a/doc/iscsid.8 b/doc/iscsid.8 -index 6f9218f..0da0551 100644 +index db996b4..eaa9c3b 100644 --- a/doc/iscsid.8 +++ b/doc/iscsid.8 -@@ -65,7 +65,7 @@ and +@@ -70,7 +70,7 @@ and .B iscsiadm on startup. .TP @@ -195,24 +195,24 @@ index 6f9218f..0da0551 100644 .SH "SEE ALSO" diff --git a/usr/idbm.c b/usr/idbm.c -index 0f0f17a..27cad0a 100644 +index 7c63c04..779d052 100644 --- a/usr/idbm.c +++ b/usr/idbm.c -@@ -3068,9 +3068,9 @@ free_info: +@@ -3104,9 +3104,9 @@ free_info: int idbm_init(idbm_get_config_file_fn *fn) { /* make sure root db dir is there */ - if (access(ISCSI_CONFIG_ROOT, F_OK) != 0) { -- if (mkdir(ISCSI_CONFIG_ROOT, 0660) != 0) { +- if (mkdir(ISCSI_CONFIG_ROOT, 0770) != 0) { - log_error("Could not make %s %d", ISCSI_CONFIG_ROOT, + if (access(ISCSIVAR, F_OK) != 0) { -+ if (mkdir(ISCSIVAR, 0660) != 0) { ++ if (mkdir(ISCSIVAR, 0770) != 0) { + log_error("Could not make %s %d", ISCSIVAR, errno); return errno; } diff --git a/usr/idbm.h b/usr/idbm.h -index 46cd82a..ce098b7 100644 +index 7496f1d..db3048b 100644 --- a/usr/idbm.h +++ b/usr/idbm.h @@ -30,12 +30,13 @@ @@ -251,5 +251,5 @@ index 6c06f7f..c8b9de9 100644 struct iface_rec; struct list_head; -- -2.26.2 +2.31.1 diff --git a/SOURCES/0019-Coverity-scan-fixes.patch b/SOURCES/0019-Coverity-scan-fixes.patch index 2a852f7..56114fe 100644 --- a/SOURCES/0019-Coverity-scan-fixes.patch +++ b/SOURCES/0019-Coverity-scan-fixes.patch @@ -1,7 +1,7 @@ -From 0c300716226027d75afa2b9e5f052fa4868204ae Mon Sep 17 00:00:00 2001 +From c455d7ff3a2fa37cdd5b43616db975aef336a007 Mon Sep 17 00:00:00 2001 From: Chris Leech Date: Wed, 5 Jun 2019 09:08:39 -0700 -Subject: [PATCH] Coverity scan fixes +Subject: [PATCH 1/1] Coverity scan fixes --- iscsiuio/src/unix/libs/qedi.c | 2 +- @@ -12,10 +12,10 @@ Subject: [PATCH] Coverity scan fixes 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/iscsiuio/src/unix/libs/qedi.c b/iscsiuio/src/unix/libs/qedi.c -index 3414cb5..a359700 100644 +index 1af8d1b..9a814c6 100644 --- a/iscsiuio/src/unix/libs/qedi.c +++ b/iscsiuio/src/unix/libs/qedi.c -@@ -1023,7 +1023,7 @@ static int qedi_read(nic_t *nic, packet_t *pkt) +@@ -1030,7 +1030,7 @@ static int qedi_read(nic_t *nic, packet_t *pkt) LOG_DEBUG(PFX "%s:hw_prod %d bd_prod %d, rx_pkt_idx %d, rxlen %d", nic->log_name, hw_prod, bd_prod, rx_bd->rx_pkt_index, len); @@ -39,7 +39,7 @@ index 0c9ad49..f83f305 100644 /* Spin off the signal handling thread */ pthread_attr_init(&attr); diff --git a/libopeniscsiusr/idbm.c b/libopeniscsiusr/idbm.c -index 7bc2381..7d4c338 100644 +index 0910c63..6213e62 100644 --- a/libopeniscsiusr/idbm.c +++ b/libopeniscsiusr/idbm.c @@ -321,12 +321,11 @@ int _idbm_lock(struct iscsi_context *ctx) @@ -47,12 +47,12 @@ index 7bc2381..7d4c338 100644 } - if (access(LOCK_DIR, F_OK) != 0) { -- if (mkdir(LOCK_DIR, 0660) != 0) { +- if (mkdir(LOCK_DIR, 0770) != 0) { - _error(ctx, "Could not open %s: %d %s", LOCK_DIR, errno, - _strerror(errno, strerr_buff)); - return LIBISCSI_ERR_IDBM; - } -+ if (((mkdir(LOCK_DIR, 0660) != 0) && (errno != EEXIST)) || ++ if (((mkdir(LOCK_DIR, 0770) != 0) && (errno != EEXIST)) || + (access(LOCK_DIR, F_OK) != 0)) { + _error(ctx, "Could not open %s: %d %s", LOCK_DIR, errno, + _strerror(errno, strerr_buff)); @@ -61,20 +61,20 @@ index 7bc2381..7d4c338 100644 fd = open(LOCK_FILE, O_RDWR | O_CREAT, 0666); diff --git a/usr/idbm.c b/usr/idbm.c -index 2498a03..a4bc745 100644 +index b33ae42..1ac0b73 100644 --- a/usr/idbm.c +++ b/usr/idbm.c -@@ -1439,12 +1439,10 @@ int idbm_lock(void) +@@ -1461,12 +1461,10 @@ int idbm_lock(void) return 0; } - if (access(LOCK_DIR, F_OK) != 0) { -- if (mkdir(LOCK_DIR, 0660) != 0) { +- if (mkdir(LOCK_DIR, 0770) != 0) { - log_error("Could not open %s: %s", LOCK_DIR, - strerror(errno)); - return ISCSI_ERR_IDBM; - } -+ if (((mkdir(LOCK_DIR, 0660) != 0) && (errno != EEXIST)) || ++ if (((mkdir(LOCK_DIR, 0770) != 0) && (errno != EEXIST)) || + (access(LOCK_DIR, F_OK) != 0)) { + log_error("Could not open %s: %s", LOCK_DIR, strerror(errno)); + return ISCSI_ERR_IDBM; @@ -82,10 +82,10 @@ index 2498a03..a4bc745 100644 fd = open(LOCK_FILE, O_RDWR | O_CREAT, 0666); diff --git a/usr/iscsid.c b/usr/iscsid.c -index e501498..dd94a16 100644 +index dc54fec..fde8894 100644 --- a/usr/iscsid.c +++ b/usr/iscsid.c -@@ -495,8 +495,8 @@ int main(int argc, char *argv[]) +@@ -510,8 +510,8 @@ int main(int argc, char *argv[]) log_close(log_pid); exit(ISCSI_ERR); } @@ -96,5 +96,5 @@ index e501498..dd94a16 100644 if ((control_fd = ipc->ctldev_open()) < 0) { log_close(log_pid); -- -2.26.2 +2.31.1 diff --git a/SOURCES/0020-fix-upstream-build-breakage-of-iscsiuio-LDFLAGS.patch b/SOURCES/0020-fix-upstream-build-breakage-of-iscsiuio-LDFLAGS.patch index d764fb3..24cc3cf 100644 --- a/SOURCES/0020-fix-upstream-build-breakage-of-iscsiuio-LDFLAGS.patch +++ b/SOURCES/0020-fix-upstream-build-breakage-of-iscsiuio-LDFLAGS.patch @@ -1,29 +1,25 @@ -From c852ca6300bc3fcf765744506222ff6da4296127 Mon Sep 17 00:00:00 2001 +From 8bcaf32662ff762c2cab3d4b1f96c38965304e30 Mon Sep 17 00:00:00 2001 From: rpm-build Date: Wed, 16 Oct 2019 23:17:20 -0700 -Subject: [PATCH] fix upstream build breakage of iscsiuio LDFLAGS +Subject: [PATCH 1/1] fix upstream build breakage of iscsiuio LDFLAGS --- - iscsiuio/configure.ac | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) + iscsiuio/configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/iscsiuio/configure.ac b/iscsiuio/configure.ac -index 8099f09..733214d 100644 +index 9b85448..1b9fb27 100644 --- a/iscsiuio/configure.ac +++ b/iscsiuio/configure.ac -@@ -67,10 +67,10 @@ AM_CONDITIONAL([DEBUG], [test x$debug = xtrue]) - AC_ARG_WITH([systemd], - AS_HELP_STRING([--without-systemd], [Build without systemd]), - [case "${withval}" in -- yes) LDFLAGS="`pkg-config --libs libsystemd`" ;; -+ yes) LDFLAGS="${LDFLAGS} `pkg-config --libs libsystemd`" ;; - no) CFLAGS="${CFLAGS} -DNO_SYSTEMD" ;; +@@ -72,7 +72,7 @@ AC_ARG_WITH([systemd], *) AC_MSG_ERROR([bad value $withval for --with-systemd]) ;; -- esac],[LDFLAGS="`pkg-config --libs libsystemd`"]) -+ esac],[LDFLAGS="${LDFLAGS} `pkg-config --libs libsystemd`"]) - - AC_CONFIG_COMMANDS([default],[[ - if [ -n "$SOURCE_DATE_EPOCH" ] ; then + esac],[with_libsystemd=auto]) + AS_IF([test "$with_libsystemd" != no],[ +- PKG_CHECK_MODULES([LIBSYSTEMD],[libsystemd],[LDFLAGS=$LIBSYSTEMD_LIBS],[ ++ PKG_CHECK_MODULES([LIBSYSTEMD],[libsystemd],[LDFLAGS="${LDFLAGS} $LIBSYSTEMD_LIBS"],[ + if test "$with_libsystemd" = yes; then + AC_MSG_ERROR([could not find libsystemd using pkg-config]) + else -- -2.26.2 +2.31.1 diff --git a/SOURCES/0021-use-Red-Hat-version-string-to-match-RPM-package-vers.patch b/SOURCES/0021-use-Red-Hat-version-string-to-match-RPM-package-vers.patch index c928e51..1f6e69d 100644 --- a/SOURCES/0021-use-Red-Hat-version-string-to-match-RPM-package-vers.patch +++ b/SOURCES/0021-use-Red-Hat-version-string-to-match-RPM-package-vers.patch @@ -1,25 +1,25 @@ -From d7b7bd54b7d99ee865f629fac5f0b622d46e2c95 Mon Sep 17 00:00:00 2001 +From a7c0b325c7ce5c4bd72ddcf7022f42bd8cfc9e90 Mon Sep 17 00:00:00 2001 From: Chris Leech Date: Mon, 21 Jan 2013 15:43:36 -0800 -Subject: [PATCH] use Red Hat version string to match RPM package version +Subject: [PATCH 1/1] use Red Hat version string to match RPM package version --- usr/version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr/version.h b/usr/version.h -index 115a11c..1214f3b 100644 +index 3c68989..31b6f05 100644 --- a/usr/version.h +++ b/usr/version.h @@ -6,7 +6,7 @@ * This may not be the same value as the kernel versions because * some other maintainer could merge a patch without going through us */ --#define ISCSI_VERSION_STR "2.1.2" -+#define ISCSI_VERSION_STR "6.2.1.2-0" +-#define ISCSI_VERSION_STR "2.1.4" ++#define ISCSI_VERSION_STR "6.2.1.4-1" #define ISCSI_VERSION_FILE "/sys/module/scsi_transport_iscsi/version" #endif -- -2.26.2 +2.31.1 diff --git a/SOURCES/0024-iscsistart-fix-null-pointer-deref-before-exit.patch b/SOURCES/0024-iscsistart-fix-null-pointer-deref-before-exit.patch new file mode 100644 index 0000000..0b4be95 --- /dev/null +++ b/SOURCES/0024-iscsistart-fix-null-pointer-deref-before-exit.patch @@ -0,0 +1,42 @@ +From b9bf7cea4769efa73e6de9b13a8d1833d2ac3d92 Mon Sep 17 00:00:00 2001 +From: Chris Leech +Date: Wed, 16 Jun 2021 09:55:06 -0700 +Subject: [PATCH 1/1] iscsistart: fix null pointer deref before exit + +Fixes regression caused by "open-iscsi: Clean user_param list when +process exit" Which is a shame, as not freeing a memory at process exit +doesn't really hurt anything. + +Same change as "Fix iscsiadm segfault when exiting" applied to iscsiadm. + +Fixes: b532ad67d495d42026165a26515c645995d23f18 +Signed-off-by: Chris Leech +--- + usr/iscsistart.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/usr/iscsistart.c b/usr/iscsistart.c +index 206cd4c..7eb573e 100644 +--- a/usr/iscsistart.c ++++ b/usr/iscsistart.c +@@ -361,7 +361,7 @@ int main(int argc, char *argv[]) + struct boot_context *context, boot_context; + struct sigaction sa_old; + struct sigaction sa_new; +- struct user_param *param; ++ struct user_param *param, *tmp_param; + int control_fd, mgmt_ipc_fd, err; + pid_t pid; + +@@ -556,7 +556,7 @@ int main(int argc, char *argv[]) + mgmt_ipc_close(mgmt_ipc_fd); + free_initiator(); + sysfs_cleanup(); +- list_for_each_entry(param, &user_params, list) { ++ list_for_each_entry_safe(param, tmp_param, &user_params, list) { + list_del(¶m->list); + idbm_free_user_param(param); + } +-- +2.31.1 + diff --git a/SPECS/iscsi-initiator-utils.spec b/SPECS/iscsi-initiator-utils.spec index b1600c5..9d6d401 100644 --- a/SPECS/iscsi-initiator-utils.spec +++ b/SPECS/iscsi-initiator-utils.spec @@ -1,6 +1,6 @@ %global open_iscsi_version 2.1 -%global open_iscsi_build 2 -%global commit0 a8fcb3737cabcf79a3a3663f43930a158d606782 +%global open_iscsi_build 4 +%global commit0 095f59ca464220eae285de6b5f2ee31185a6a84c %global shortcommit0 %(c=%{commit0}; echo ${c:0:7}) %if 0%{?rhel} > 7 @@ -13,7 +13,7 @@ Summary: iSCSI daemon and utility programs Name: iscsi-initiator-utils Version: 6.%{open_iscsi_version}.%{open_iscsi_build} -Release: 0.git%{shortcommit0}%{?dist} +Release: 4.git%{shortcommit0}%{?dist} Group: System Environment/Daemons License: GPLv2+ URL: http://www.open-iscsi.org @@ -44,6 +44,7 @@ Patch0020: 0020-fix-upstream-build-breakage-of-iscsiuio-LDFLAGS.patch Patch0021: 0021-use-Red-Hat-version-string-to-match-RPM-package-vers.patch Patch0022: 0022-iscsi_if.h-replace-zero-length-array-with-flexible-a.patch Patch0023: 0023-stop-using-Werror-for-now.patch +Patch0024: 0024-iscsistart-fix-null-pointer-deref-before-exit.patch BuildRequires: flex bison doxygen kmod-devel systemd-units BuildRequires: autoconf automake libtool libmount-devel openssl-devel @@ -298,7 +299,8 @@ fi %dir %{_sharedstatedir}/iscsi/slp %dir %{_sharedstatedir}/iscsi/ifaces %dir %{_sharedstatedir}/iscsi/send_targets -%ghost %{_rundir}/lock/iscsi +%ghost %attr(0700, -, -) %{_rundir}/lock/iscsi +%ghost %attr(0600, -, -) %{_rundir}/lock/iscsi/lock %{_unitdir}/iscsi.service %{_unitdir}/iscsi-onboot.service # %%{_unitdir}/iscsi-init.service @@ -362,6 +364,18 @@ fi %{python3_sitearch}/* %changelog +* Mon Aug 09 2021 Chris Leech - 6.2.1.4-4.git095f59c +- 1755907 set proper attr in rpm db for lockfiles, fixes rpm verificiation warning + +* Wed Jun 16 2021 Chris Leech - 6.2.1.4-3.git095f59c +- coverity found a use-after-free regression in iscsistart + +* Mon Jun 14 2021 Chris Leech - 6.2.1.4-2.git095f59c +- 1924768 fix unit files for el8, not using iscsi-init + +* Fri Mar 12 2021 Chris Leech - 6.2.1.2-1.gita8fcb37 +- 1924768 iscsiadm -m sessions fails when racing against session login/logout + * Thu Aug 20 2020 Chris Leech - 6.2.0.878-5.gitd791ce0 - 1849931, 1869438 go back to MD5 CHAP only by default new CHAP modes can cause issue with some targets,