diff --git a/.gitignore b/.gitignore index 6e3e803..3a636d8 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/open-iscsi-f71581b.tar.gz +SOURCES/open-iscsi-d791ce0.tar.gz diff --git a/.iscsi-initiator-utils.metadata b/.iscsi-initiator-utils.metadata index ab8d386..4309b0f 100644 --- a/.iscsi-initiator-utils.metadata +++ b/.iscsi-initiator-utils.metadata @@ -1 +1 @@ -3d3234035cc7884aa512161e06be6737ade52077 SOURCES/open-iscsi-f71581b.tar.gz +8724d0141bb4777e5728c3c16b2f89f123e0f8b0 SOURCES/open-iscsi-d791ce0.tar.gz diff --git a/SOURCES/0001-fix-iscsiuio-build-with-libsystemd.patch b/SOURCES/0001-fix-iscsiuio-build-with-libsystemd.patch deleted file mode 100644 index 1b86d74..0000000 --- a/SOURCES/0001-fix-iscsiuio-build-with-libsystemd.patch +++ /dev/null @@ -1,49 +0,0 @@ -From aeca36572c02a8bf314037d82c4a2625636b175a Mon Sep 17 00:00:00 2001 -From: Chris Leech -Date: Mon, 3 Jun 2019 14:36:48 -0700 -Subject: [PATCH] fix iscsiuio build with libsystemd - ---- - iscsiuio/configure.ac | 2 ++ - iscsiuio/src/unix/Makefile.am | 6 ++++-- - 2 files changed, 6 insertions(+), 2 deletions(-) - -diff --git a/iscsiuio/configure.ac b/iscsiuio/configure.ac -index ae23078..6138e0e 100644 ---- a/iscsiuio/configure.ac -+++ b/iscsiuio/configure.ac -@@ -73,6 +73,8 @@ AC_CONFIG_COMMANDS([default],[[ - echo 'char *build_date;'> src/unix/build_date.h - ]],[[]]) - -+PKG_CHECK_MODULES([LIBSYSTEMD], [libsystemd]) -+ - AC_PREFIX_DEFAULT() - - AC_OUTPUT([Makefile -diff --git a/iscsiuio/src/unix/Makefile.am b/iscsiuio/src/unix/Makefile.am -index a989ef0..ea5f59e 100644 ---- a/iscsiuio/src/unix/Makefile.am -+++ b/iscsiuio/src/unix/Makefile.am -@@ -25,7 +25,8 @@ iscsiuio_SOURCES = build_date.c \ - - iscsiuio_CFLAGS = $(AM_CFLAGS) \ - $(LIBNL_CFLAGS) \ -- -DBYTE_ORDER=@ENDIAN@ -+ -DBYTE_ORDER=@ENDIAN@ \ -+ $(LIBSYSTEMD_CFLAGS) - - iscsiuio_LDFLAGS= $(AM_LDADD) \ - -ldl \ -@@ -36,6 +37,7 @@ iscsiuio_LDFLAGS= $(AM_LDADD) \ - iscsiuio_LDADD = ${top_srcdir}/src/uip/lib_iscsi_uip.a \ - ${top_srcdir}/src/apps/dhcpc/lib_apps_dhcpc.a\ - ${top_srcdir}/src/apps/brcm-iscsi/lib_apps_brcm_iscsi.a \ -- ${top_srcdir}/src/unix/libs/lib_iscsiuio_hw_cnic.a -+ ${top_srcdir}/src/unix/libs/lib_iscsiuio_hw_cnic.a \ -+ $(LIBSYSTEMD_LIBS) - - iscsiuio_YFLAGS = -d --- -2.21.0 - diff --git a/SOURCES/0001-service-file-tweaks.patch b/SOURCES/0001-service-file-tweaks.patch index 8538e3a..c83faf3 100644 --- a/SOURCES/0001-service-file-tweaks.patch +++ b/SOURCES/0001-service-file-tweaks.patch @@ -1,4 +1,4 @@ -From efba620a01a2c2fa57b672bced47e88f25078b00 Mon Sep 17 00:00:00 2001 +From 2d84ee02e9ac69928261b38b5876bebb2349bd65 Mon Sep 17 00:00:00 2001 From: rpm-build Date: Tue, 4 Jun 2019 13:23:32 -0700 Subject: [PATCH] service file tweaks diff --git a/SOURCES/0001-idmb_rec_write-check-for-tpgt-first.patch b/SOURCES/0002-idmb_rec_write-check-for-tpgt-first.patch similarity index 78% rename from SOURCES/0001-idmb_rec_write-check-for-tpgt-first.patch rename to SOURCES/0002-idmb_rec_write-check-for-tpgt-first.patch index 220f693..5b9d247 100644 --- a/SOURCES/0001-idmb_rec_write-check-for-tpgt-first.patch +++ b/SOURCES/0002-idmb_rec_write-check-for-tpgt-first.patch @@ -1,7 +1,7 @@ -From dbec0a5b7737142f8a1462cdf826c35a78e899b2 Mon Sep 17 00:00:00 2001 +From 97071360caa6868c21a161047ed471790c405efb Mon Sep 17 00:00:00 2001 From: Chris Leech Date: Tue, 13 Aug 2013 10:59:44 -0700 -Subject: [PATCH 01/32] idmb_rec_write, check for tpgt first +Subject: [PATCH] idmb_rec_write, check for tpgt first Factor out the check for a tpgt to a single place, before going crazy on the rec files. Makes flow of this function easier to follow, and preps @@ -11,12 +11,12 @@ for splitting it up. 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/usr/idbm.c b/usr/idbm.c -index 830189f571ea..ab3577878e86 100644 +index be4d4e3..a7da540 100644 --- a/usr/idbm.c +++ b/usr/idbm.c -@@ -2042,6 +2042,10 @@ static int idbm_rec_write(node_rec_t *rec) - if (rc) - goto free_portal; +@@ -2078,6 +2078,10 @@ static int idbm_rec_write(node_rec_t *rec, bool disable_lock) + goto free_portal; + } + if (rec->tpgt == PORTAL_GROUP_TAG_UNKNOWN) + /* drop down to old style portal as config */ @@ -25,7 +25,7 @@ index 830189f571ea..ab3577878e86 100644 rc = stat(portal, &statb); if (rc) { rc = 0; -@@ -2050,22 +2054,10 @@ static int idbm_rec_write(node_rec_t *rec) +@@ -2086,22 +2090,10 @@ static int idbm_rec_write(node_rec_t *rec, bool disable_lock) * set the tgpt. In new versions you must pass all the info in * from the start */ @@ -50,5 +50,5 @@ index 830189f571ea..ab3577878e86 100644 * Old style portal as a file, but with tpgt. Let's update it. */ -- -2.14.4 +2.21.0 diff --git a/SOURCES/0002-idbm_rec_write-seperate-old-and-new-style-writes.patch b/SOURCES/0003-idbm_rec_write-seperate-old-and-new-style-writes.patch similarity index 72% rename from SOURCES/0002-idbm_rec_write-seperate-old-and-new-style-writes.patch rename to SOURCES/0003-idbm_rec_write-seperate-old-and-new-style-writes.patch index fb96724..25cddd3 100644 --- a/SOURCES/0002-idbm_rec_write-seperate-old-and-new-style-writes.patch +++ b/SOURCES/0003-idbm_rec_write-seperate-old-and-new-style-writes.patch @@ -1,31 +1,35 @@ -From b9d89091daab823eb2dc72c6c568af7897f83137 Mon Sep 17 00:00:00 2001 +From 4c6e7c0fcc6da66cf81c0714bf907762194eedf2 Mon Sep 17 00:00:00 2001 From: Chris Leech Date: Tue, 13 Aug 2013 11:34:31 -0700 -Subject: [PATCH 02/32] idbm_rec_write, seperate old and new style writes +Subject: [PATCH] idbm_rec_write, seperate old and new style writes Duplicates a small bit of code, but easier to understand and extened. --- - usr/idbm.c | 116 +++++++++++++++++++++++++++++++++++++++++-------------------- - 1 file changed, 79 insertions(+), 37 deletions(-) + usr/idbm.c | 129 +++++++++++++++++++++++++++++++++++------------------ + 1 file changed, 86 insertions(+), 43 deletions(-) diff --git a/usr/idbm.c b/usr/idbm.c -index ab3577878e86..21ff61ab2bd8 100644 +index a7da540..2f5e309 100644 --- a/usr/idbm.c +++ b/usr/idbm.c -@@ -2001,7 +2001,7 @@ mkdir_portal: +@@ -2030,12 +2030,7 @@ mkdir_portal: return f; } --static int idbm_rec_write(node_rec_t *rec) +-/* +- * When the disable_lock param is true, the idbm_lock/idbm_unlock needs +- * to be holt by the caller, this will avoid overwriting each other in +- * case of updating(read-modify-write) the recs in parallel. +- */ +-static int idbm_rec_write(node_rec_t *rec, bool disable_lock) +static int idbm_rec_write_new(node_rec_t *rec) { struct stat statb; FILE *f; -@@ -2013,38 +2013,8 @@ static int idbm_rec_write(node_rec_t *rec) - log_error("Could not alloc portal"); +@@ -2048,39 +2043,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) { @@ -50,9 +54,11 @@ index ab3577878e86..21ff61ab2bd8 100644 rec->name, rec->conn[0].address, rec->conn[0].port); - log_debug(5, "Looking for config file %s", portal); - -- rc = idbm_lock(); -- if (rc) -- goto free_portal; +- if (!disable_lock) { +- rc = idbm_lock(); +- if (rc) +- goto free_portal; +- } - - if (rec->tpgt == PORTAL_GROUP_TAG_UNKNOWN) - /* drop down to old style portal as config */ @@ -60,7 +66,7 @@ index ab3577878e86..21ff61ab2bd8 100644 rc = stat(portal, &statb); if (rc) { -@@ -2065,11 +2035,11 @@ static int idbm_rec_write(node_rec_t *rec) +@@ -2101,11 +2065,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; @@ -74,7 +80,7 @@ index ab3577878e86..21ff61ab2bd8 100644 } mkdir_portal: -@@ -2080,24 +2050,96 @@ mkdir_portal: +@@ -2116,24 +2080,103 @@ mkdir_portal: log_error("Could not make dir %s: %s", portal, strerror(errno)); rc = ISCSI_ERR_IDBM; @@ -87,7 +93,7 @@ index ab3577878e86..21ff61ab2bd8 100644 rec->name, rec->conn[0].address, rec->conn[0].port, rec->tpgt, rec->iface.name); -open_conf: -+/* open_conf: */ ++ f = fopen(portal, "w"); if (!f) { log_error("Could not open %s: %s", portal, strerror(errno)); @@ -131,7 +137,12 @@ index ab3577878e86..21ff61ab2bd8 100644 + return rc; +} + -+static int idbm_rec_write(node_rec_t *rec) ++/* ++ * When the disable_lock param is true, the idbm_lock/idbm_unlock needs ++ * to be holt by the caller, this will avoid overwriting each other in ++ * case of updating(read-modify-write) the recs in parallel. ++ */ ++static int idbm_rec_write(node_rec_t *rec, bool disable_lock) +{ + char *portal; + int rc = 0; @@ -162,9 +173,11 @@ index ab3577878e86..21ff61ab2bd8 100644 + } + } + -+ rc = idbm_lock(); -+ if (rc) -+ goto free_portal; ++ if (!disable_lock) { ++ rc = idbm_lock(); ++ if (rc) ++ goto free_portal; ++ } + + if (rec->tpgt == PORTAL_GROUP_TAG_UNKNOWN) + /* old style portal as config */ @@ -172,9 +185,9 @@ index ab3577878e86..21ff61ab2bd8 100644 + else + rc = idbm_rec_write_new(rec); + - idbm_unlock(); + if (!disable_lock) + idbm_unlock(); free_portal: - free(portal); -- -2.14.4 +2.21.0 diff --git a/SOURCES/0003-idbw_rec_write-pick-tpgt-from-existing-record.patch b/SOURCES/0004-idbw_rec_write-pick-tpgt-from-existing-record.patch similarity index 94% rename from SOURCES/0003-idbw_rec_write-pick-tpgt-from-existing-record.patch rename to SOURCES/0004-idbw_rec_write-pick-tpgt-from-existing-record.patch index 850ca7f..d26e670 100644 --- a/SOURCES/0003-idbw_rec_write-pick-tpgt-from-existing-record.patch +++ b/SOURCES/0004-idbw_rec_write-pick-tpgt-from-existing-record.patch @@ -1,4 +1,4 @@ -From bf6a05987a418e4d7eeb3a24f0912c5cfc9e533d Mon Sep 17 00:00:00 2001 +From 6051b9ef3cdf206630969940aba980f4088e2e14 Mon Sep 17 00:00:00 2001 From: Chris Leech Date: Tue, 13 Aug 2013 12:39:07 -0700 Subject: [PATCH] idbw_rec_write, pick tpgt from existing record @@ -12,7 +12,7 @@ updated new style record instead. 1 file changed, 40 insertions(+) diff --git a/usr/idbm.c b/usr/idbm.c -index c29cbed..00955e4 100644 +index 2f5e309..a2332cc 100644 --- a/usr/idbm.c +++ b/usr/idbm.c @@ -28,6 +28,7 @@ @@ -32,7 +32,7 @@ index c29cbed..00955e4 100644 static void idbm_recinfo_discovery(discovery_rec_t *r, recinfo_t *ri) { -@@ -2080,12 +2083,49 @@ static int idbm_rec_write_old(node_rec_t *rec) +@@ -2107,12 +2110,49 @@ static int idbm_rec_write_old(node_rec_t *rec) FILE *f; char *portal; int rc = 0; diff --git a/SOURCES/0006-update-initscripts-and-docs.patch b/SOURCES/0005-update-initscripts-and-docs.patch similarity index 93% rename from SOURCES/0006-update-initscripts-and-docs.patch rename to SOURCES/0005-update-initscripts-and-docs.patch index 9abcf52..0e0bdfb 100644 --- a/SOURCES/0006-update-initscripts-and-docs.patch +++ b/SOURCES/0005-update-initscripts-and-docs.patch @@ -1,7 +1,7 @@ -From 2e6f564ebb3c85cb9a457d282b845374776a54ae Mon Sep 17 00:00:00 2001 +From 6602f08bfcc2b2e75d1a58671cb160c96cf2d99b Mon Sep 17 00:00:00 2001 From: Chris Leech Date: Mon, 19 Nov 2012 16:37:13 -0800 -Subject: [PATCH 06/32] update initscripts and docs +Subject: [PATCH] update initscripts and docs --- README | 10 ++++------ @@ -10,7 +10,7 @@ Subject: [PATCH 06/32] update initscripts and docs 3 files changed, 18 insertions(+), 17 deletions(-) diff --git a/README b/README -index 2499d9a7b638..c05814a2593b 100644 +index 2499d9a..c05814a 100644 --- a/README +++ b/README @@ -77,11 +77,6 @@ the cache sync command will fail. @@ -45,7 +45,7 @@ index 2499d9a7b638..c05814a2593b 100644 -------- diff --git a/etc/iscsid.conf b/etc/iscsid.conf -index fee11482a09b..3539ac4cd578 100644 +index 70985af..2f3a28c 100644 --- a/etc/iscsid.conf +++ b/etc/iscsid.conf @@ -19,7 +19,7 @@ @@ -105,10 +105,10 @@ index fee11482a09b..3539ac4cd578 100644 # For multipath configurations, you may want more than one session to be # created on each iface record. If node.session.nr_sessions is greater diff --git a/usr/idbm.c b/usr/idbm.c -index cd705fa2b033..0aa3870a76fd 100644 +index a2332cc..aed08f2 100644 --- a/usr/idbm.c +++ b/usr/idbm.c -@@ -518,9 +518,13 @@ idbm_recinfo_node(node_rec_t *r, recinfo_t *ri) +@@ -521,9 +521,13 @@ idbm_recinfo_node(node_rec_t *r, recinfo_t *ri) IDBM_SHOW, "None", "CRC32C", "CRC32C,None", "None,CRC32C", num, 1); sprintf(key, CONN_DATA_DIGEST, i); @@ -123,5 +123,5 @@ index cd705fa2b033..0aa3870a76fd 100644 __recinfo_int_o2(key, ri, r, conn[i].iscsi.IFMarker, IDBM_SHOW, "No", "Yes", num, 1); -- -2.14.4 +2.21.0 diff --git a/SOURCES/0007-use-var-for-config.patch b/SOURCES/0006-use-var-for-config.patch similarity index 98% rename from SOURCES/0007-use-var-for-config.patch rename to SOURCES/0006-use-var-for-config.patch index 7013154..db63b54 100644 --- a/SOURCES/0007-use-var-for-config.patch +++ b/SOURCES/0006-use-var-for-config.patch @@ -1,4 +1,4 @@ -From 29769497994066772429d57937dc3a8c0f515304 Mon Sep 17 00:00:00 2001 +From 9cae86dd15bf78ee9d221f722f723062eb6ad3d8 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 @@ -195,10 +195,10 @@ index 6f9218f..0da0551 100644 .SH "SEE ALSO" diff --git a/usr/idbm.c b/usr/idbm.c -index f3c812e..8b96146 100644 +index aed08f2..15802c3 100644 --- a/usr/idbm.c +++ b/usr/idbm.c -@@ -2929,9 +2929,9 @@ free_info: +@@ -2968,9 +2968,9 @@ free_info: int idbm_init(idbm_get_config_file_fn *fn) { /* make sure root db dir is there */ @@ -212,10 +212,10 @@ index f3c812e..8b96146 100644 return errno; } diff --git a/usr/idbm.h b/usr/idbm.h -index b83c0bb..2b05d78 100644 +index 18c5025..6bdfd60 100644 --- a/usr/idbm.h +++ b/usr/idbm.h -@@ -29,12 +29,13 @@ +@@ -30,12 +30,13 @@ #include "list.h" #include "flashnode.h" diff --git a/SOURCES/0008-use-red-hat-for-name.patch b/SOURCES/0007-use-red-hat-for-name.patch similarity index 68% rename from SOURCES/0008-use-red-hat-for-name.patch rename to SOURCES/0007-use-red-hat-for-name.patch index dc9b853..2719565 100644 --- a/SOURCES/0008-use-red-hat-for-name.patch +++ b/SOURCES/0007-use-red-hat-for-name.patch @@ -1,7 +1,7 @@ -From ea35362504329e7fe86f4af17a88bed009c5069c Mon Sep 17 00:00:00 2001 +From 1ddee25396962a6bd966b98311881ed6d4cba87c Mon Sep 17 00:00:00 2001 From: Chris Leech Date: Mon, 19 Nov 2012 16:40:04 -0800 -Subject: [PATCH 08/32] use red hat for name +Subject: [PATCH] use red hat for name --- doc/iscsi-iname.8 | 2 +- @@ -9,31 +9,31 @@ Subject: [PATCH 08/32] use red hat for name 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/iscsi-iname.8 b/doc/iscsi-iname.8 -index a55d666d1af3..dd77ed9f3165 100644 +index 6a413f6..dd77ed9 100644 --- a/doc/iscsi-iname.8 +++ b/doc/iscsi-iname.8 @@ -14,7 +14,7 @@ generates a unique iSCSI node name on every invocation. Display help .TP .BI [-p=]\fIprefix\fP --Use the prefix passed in instead of the default "iqn.2005-03.org.open-iscsi" +-Use the prefix passed in instead of the default "iqn.2016-04.com.open-iscsi" +Use the prefix passed in instead of the default "iqn.1994-05.com.redhat" .SH AUTHORS Open-iSCSI project diff --git a/utils/iscsi-iname.c b/utils/iscsi-iname.c -index 6347edc46293..cb2f6c8b8651 100644 +index da850dc..29aa4ad 100644 --- a/utils/iscsi-iname.c +++ b/utils/iscsi-iname.c -@@ -73,7 +73,7 @@ main(int argc, char *argv[]) +@@ -80,7 +80,7 @@ main(int argc, char *argv[]) exit(0); } } else { -- prefix = "iqn.2005-03.org.open-iscsi"; +- prefix = "iqn.2016-04.com.open-iscsi"; + prefix = "iqn.1994-05.com.redhat"; } /* try to feed some entropy from the pool to MD5 in order to get -- -2.14.4 +2.21.0 diff --git a/SOURCES/0009-libiscsi.patch b/SOURCES/0008-libiscsi.patch similarity index 99% rename from SOURCES/0009-libiscsi.patch rename to SOURCES/0008-libiscsi.patch index e946747..16f3544 100644 --- a/SOURCES/0009-libiscsi.patch +++ b/SOURCES/0008-libiscsi.patch @@ -1,4 +1,4 @@ -From e2973cb7d4bca9056702b698511c020c93438e2a Mon Sep 17 00:00:00 2001 +From af721a438031fa9f79db5de3b018c4b532ac2e0c Mon Sep 17 00:00:00 2001 From: rpm-build Date: Mon, 26 Jan 2015 12:57:11 -0800 Subject: [PATCH] libiscsi @@ -45,10 +45,10 @@ Subject: [PATCH] libiscsi create mode 100644 libiscsi/tests/test_set_auth.c diff --git a/Makefile b/Makefile -index 9a33774..bef6f1f 100644 +index 7b445a5..4ab091f 100644 --- a/Makefile +++ b/Makefile -@@ -58,6 +58,7 @@ user: iscsiuio/Makefile +@@ -65,6 +65,7 @@ user: iscsiuio/Makefile $(MAKE) -C usr $(MAKE) -C utils $(MAKE) -C iscsiuio @@ -56,7 +56,7 @@ index 9a33774..bef6f1f 100644 @echo @echo "Compilation complete Output file" @echo "----------------------------------- ----------------" -@@ -78,6 +79,7 @@ iscsiuio/configure iscsiuio/Makefile.in: iscsiuio/configure.ac iscsiuio/Makefile +@@ -85,6 +86,7 @@ iscsiuio/configure iscsiuio/Makefile.in: iscsiuio/configure.ac iscsiuio/Makefile force: ; clean: @@ -3914,7 +3914,7 @@ index 0000000..a21f888 + return rc; +} diff --git a/usr/Makefile b/usr/Makefile -index 0203127..e4752e6 100644 +index 3bb0cb4..8ae6e07 100644 --- a/usr/Makefile +++ b/usr/Makefile @@ -37,7 +37,7 @@ PKG_CONFIG = /usr/bin/pkg-config @@ -3968,35 +3968,35 @@ index 199c160..d17a250 100644 int discovery_fw(void *data, struct iface_rec *iface, struct list_head *rec_list) diff --git a/usr/idbm.c b/usr/idbm.c -index 8b96146..19f7e84 100644 +index 15802c3..3184c77 100644 --- a/usr/idbm.c +++ b/usr/idbm.c -@@ -1712,9 +1712,9 @@ int idbm_print_all_discovery(int info_level) +@@ -1725,9 +1725,9 @@ int idbm_print_all_discovery(int info_level) * fn should return -1 if it skipped the rec, an ISCSI_ERR error code if * the operation failed or 0 if fn was run successfully. */ --static int idbm_for_each_iface(int *found, void *data, -- idbm_iface_op_fn *fn, -- char *targetname, int tpgt, char *ip, int port) -+int idbm_for_each_iface(int *found, void *data, -+ idbm_iface_op_fn *fn, -+ char *targetname, int tpgt, char *ip, int port) +-static int idbm_for_each_iface(int *found, void *data, idbm_iface_op_fn *fn, +- char *targetname, int tpgt, char *ip, int port, +- bool ruw_lock) ++int idbm_for_each_iface(int *found, void *data, idbm_iface_op_fn *fn, ++ char *targetname, int tpgt, char *ip, int port, ++ bool ruw_lock) { DIR *iface_dirfd; struct dirent *iface_dent; diff --git a/usr/idbm.h b/usr/idbm.h -index 2b05d78..b9b1810 100644 +index 6bdfd60..c6982e4 100644 --- a/usr/idbm.h +++ b/usr/idbm.h -@@ -102,6 +102,9 @@ struct rec_op_data { +@@ -103,6 +103,9 @@ struct rec_op_data { node_rec_t *match_rec; idbm_iface_op_fn *fn; }; -+extern int idbm_for_each_iface(int *found, void *data, -+ idbm_iface_op_fn *fn, -+ char *targetname, int tpgt, char *ip, int port); - extern int idbm_for_each_portal(int *found, void *data, - idbm_portal_op_fn *fn, char *targetname); ++extern int idbm_for_each_iface(int *found, void *data, idbm_iface_op_fn *fn, ++ char *targetname, int tpgt, char *ip, int port, ++ bool ruw_lock); + extern int idbm_for_each_portal(int *found, void *data, idbm_portal_op_fn *fn, + char *targetname, bool ruw_lock); extern int idbm_for_each_node(int *found, void *data, diff --git a/usr/iscsi_ipc.h b/usr/iscsi_ipc.h index 47857dd..fb8e965 100644 diff --git a/SOURCES/0018-Add-macros-to-release-GIL-lock.patch b/SOURCES/0009-Add-macros-to-release-GIL-lock.patch similarity index 90% rename from SOURCES/0018-Add-macros-to-release-GIL-lock.patch rename to SOURCES/0009-Add-macros-to-release-GIL-lock.patch index 37a5d01..6804133 100644 --- a/SOURCES/0018-Add-macros-to-release-GIL-lock.patch +++ b/SOURCES/0009-Add-macros-to-release-GIL-lock.patch @@ -1,7 +1,7 @@ -From bd26fd7e7f91e5c4c6903c3d7e1a375a14261a48 Mon Sep 17 00:00:00 2001 +From 3df19ccba0af40da8cdb15c41e1bcd08ce25fbd9 Mon Sep 17 00:00:00 2001 From: Jiri Konecny Date: Mon, 11 May 2015 13:16:26 +0200 -Subject: [PATCH 18/32] Add macros to release GIL lock +Subject: [PATCH] Add macros to release GIL lock Other threads are blocked when GIL is not released before the time consuming functions. @@ -10,7 +10,7 @@ functions. 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/libiscsi/pylibiscsi.c b/libiscsi/pylibiscsi.c -index 88008538f04f..40b59553a28e 100644 +index 8800853..40b5955 100644 --- a/libiscsi/pylibiscsi.c +++ b/libiscsi/pylibiscsi.c @@ -364,8 +364,13 @@ static PyObject *PyIscsiNode_str(PyObject *self) @@ -52,5 +52,5 @@ index 88008538f04f..40b59553a28e 100644 libiscsi_get_error_string(context)); return NULL; -- -2.14.4 +2.21.0 diff --git a/SOURCES/0019-libiscsi-introduce-sessions-API.patch b/SOURCES/0010-libiscsi-introduce-sessions-API.patch similarity index 95% rename from SOURCES/0019-libiscsi-introduce-sessions-API.patch rename to SOURCES/0010-libiscsi-introduce-sessions-API.patch index 5bc1b38..b6c3728 100644 --- a/SOURCES/0019-libiscsi-introduce-sessions-API.patch +++ b/SOURCES/0010-libiscsi-introduce-sessions-API.patch @@ -1,17 +1,17 @@ -From 7671cd56d36a76e954318cbdce3f08fc40aa3fe4 Mon Sep 17 00:00:00 2001 +From bca0b3a085b7a169aa40d81ed7997c73fde8b4d3 Mon Sep 17 00:00:00 2001 From: Peter Hatina Date: Mon, 5 Oct 2015 16:50:36 -0700 -Subject: [PATCH 19/32] libiscsi introduce sessions API +Subject: [PATCH] libiscsi introduce sessions API --- - libiscsi/libiscsi.c | 125 ++++++++++++++++++++++++++++++++++++++++++++++++++++ - libiscsi/libiscsi.h | 56 +++++++++++++++++++++++ + libiscsi/libiscsi.c | 125 ++++++++++++++++++++++++++++++++++++++++++++ + libiscsi/libiscsi.h | 56 ++++++++++++++++++++ usr/iscsi_sysfs.c | 6 +++ usr/iscsi_sysfs.h | 2 + 4 files changed, 189 insertions(+) diff --git a/libiscsi/libiscsi.c b/libiscsi/libiscsi.c -index 064e4b570d0b..755c18ca8e3b 100644 +index 064e4b5..755c18c 100644 --- a/libiscsi/libiscsi.c +++ b/libiscsi/libiscsi.c @@ -3,6 +3,7 @@ @@ -154,7 +154,7 @@ index 064e4b570d0b..755c18ca8e3b 100644 const struct libiscsi_node *node, const char *parameter, const char *value) diff --git a/libiscsi/libiscsi.h b/libiscsi/libiscsi.h -index 756590e14d8b..a9891f48b7d6 100644 +index 756590e..a9891f4 100644 --- a/libiscsi/libiscsi.h +++ b/libiscsi/libiscsi.h @@ -3,6 +3,7 @@ @@ -242,7 +242,7 @@ index 756590e14d8b..a9891f48b7d6 100644 * * Set the given nodes iSCSI parameter named by \e parameter to value \e value. diff --git a/usr/iscsi_sysfs.c b/usr/iscsi_sysfs.c -index fdc26c7bd9ba..80b7b0210fd1 100644 +index 418f51b..6febba2 100644 --- a/usr/iscsi_sysfs.c +++ b/usr/iscsi_sysfs.c @@ -3,6 +3,7 @@ @@ -253,7 +253,7 @@ index fdc26c7bd9ba..80b7b0210fd1 100644 * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published -@@ -1146,6 +1147,11 @@ free_info: +@@ -1151,6 +1152,11 @@ free_info: return rc; } @@ -266,7 +266,7 @@ index fdc26c7bd9ba..80b7b0210fd1 100644 int *nr_found, iscsi_sysfs_iface_op_fn *fn) diff --git a/usr/iscsi_sysfs.h b/usr/iscsi_sysfs.h -index cdcefa65f683..12ad87f96c8c 100644 +index 1d0377f..909db34 100644 --- a/usr/iscsi_sysfs.h +++ b/usr/iscsi_sysfs.h @@ -3,6 +3,7 @@ @@ -286,5 +286,5 @@ index cdcefa65f683..12ad87f96c8c 100644 int *nr_found, iscsi_sysfs_iface_op_fn *fn); -- -2.14.4 +2.21.0 diff --git a/SOURCES/0021-libiscsi-fix-discovery-request-timeout-regression.patch b/SOURCES/0011-libiscsi-fix-discovery-request-timeout-regression.patch similarity index 83% rename from SOURCES/0021-libiscsi-fix-discovery-request-timeout-regression.patch rename to SOURCES/0011-libiscsi-fix-discovery-request-timeout-regression.patch index 9be3ff1..8771f6a 100644 --- a/SOURCES/0021-libiscsi-fix-discovery-request-timeout-regression.patch +++ b/SOURCES/0011-libiscsi-fix-discovery-request-timeout-regression.patch @@ -1,14 +1,14 @@ -From 1aa35262d566d829d711bc746f944dee5c2d9e7a Mon Sep 17 00:00:00 2001 +From 2e660a78632545e98f7c9e2ffb8518512c0db5ff Mon Sep 17 00:00:00 2001 From: rpm-build Date: Tue, 28 Feb 2017 09:00:41 -0800 -Subject: [PATCH 21/32] libiscsi: fix discovery request timeout regression +Subject: [PATCH] libiscsi: fix discovery request timeout regression --- libiscsi/libiscsi.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libiscsi/libiscsi.c b/libiscsi/libiscsi.c -index 755c18ca8e3b..bb17dfcafded 100644 +index 755c18c..bb17dfc 100644 --- a/libiscsi/libiscsi.c +++ b/libiscsi/libiscsi.c @@ -136,6 +136,7 @@ int libiscsi_discover_sendtargets(struct libiscsi_context *context, @@ -28,5 +28,5 @@ index 755c18ca8e3b..bb17dfcafded 100644 rc = idbm_bind_ifaces_to_nodes(discovery_fw, &drec, &ifaces, &rec_list); if (rc) { -- -2.14.4 +2.21.0 diff --git a/SOURCES/0022-libiscsi-format-security-build-errors.patch b/SOURCES/0012-libiscsi-format-security-build-errors.patch similarity index 84% rename from SOURCES/0022-libiscsi-format-security-build-errors.patch rename to SOURCES/0012-libiscsi-format-security-build-errors.patch index 87dd812..19244b3 100644 --- a/SOURCES/0022-libiscsi-format-security-build-errors.patch +++ b/SOURCES/0012-libiscsi-format-security-build-errors.patch @@ -1,14 +1,14 @@ -From 1b2b6b683bd7ca3a7030889daf8c326dda797319 Mon Sep 17 00:00:00 2001 +From 3040b7530eda1ab5625d76783dc7b8cf595a0ef0 Mon Sep 17 00:00:00 2001 From: rpm-build Date: Tue, 28 Feb 2017 10:06:42 -0800 -Subject: [PATCH 22/32] libiscsi format-security build errors +Subject: [PATCH] libiscsi format-security build errors --- libiscsi/libiscsi.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libiscsi/libiscsi.c b/libiscsi/libiscsi.c -index bb17dfcafded..7003388e3346 100644 +index bb17dfc..7003388 100644 --- a/libiscsi/libiscsi.c +++ b/libiscsi/libiscsi.c @@ -177,7 +177,8 @@ int libiscsi_discover_sendtargets(struct libiscsi_context *context, @@ -31,5 +31,5 @@ index bb17dfcafded..7003388e3346 100644 } -- -2.14.4 +2.21.0 diff --git a/SOURCES/0023-libiscsi-fix-build-to-use-libopeniscsiusr.patch b/SOURCES/0013-libiscsi-fix-build-to-use-libopeniscsiusr.patch similarity index 80% rename from SOURCES/0023-libiscsi-fix-build-to-use-libopeniscsiusr.patch rename to SOURCES/0013-libiscsi-fix-build-to-use-libopeniscsiusr.patch index 92667f2..65688a7 100644 --- a/SOURCES/0023-libiscsi-fix-build-to-use-libopeniscsiusr.patch +++ b/SOURCES/0013-libiscsi-fix-build-to-use-libopeniscsiusr.patch @@ -1,17 +1,17 @@ -From b0d26441cebf6f1d78a2b4523ee9c348578b3d91 Mon Sep 17 00:00:00 2001 +From 123fc55dd8ad98c9afd39bf0824b3d31d5e93214 Mon Sep 17 00:00:00 2001 From: rpm-build Date: Thu, 24 May 2018 15:17:05 -0700 -Subject: [PATCH 23/32] libiscsi fix build to use libopeniscsiusr +Subject: [PATCH] libiscsi fix build to use libopeniscsiusr --- libiscsi/Makefile | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/libiscsi/Makefile b/libiscsi/Makefile -index 317a7ec4db30..1196bb5c0cf4 100644 +index 53f9746..f2cf248 100644 --- a/libiscsi/Makefile +++ b/libiscsi/Makefile -@@ -4,7 +4,9 @@ OSNAME=$(shell uname -s) +@@ -8,7 +8,9 @@ OSNAME=$(shell uname -s) OPTFLAGS ?= -O2 -g WARNFLAGS ?= -Wall -Wstrict-prototypes CFLAGS = $(OPTFLAGS) $(WARNFLAGS) -I../include -I../usr \ @@ -22,7 +22,7 @@ index 317a7ec4db30..1196bb5c0cf4 100644 LIB = libiscsi.so.0 TESTS = tests/test_discovery_sendtargets tests/test_discovery_firmware TESTS += tests/test_login tests/test_logout tests/test_params -@@ -19,7 +21,7 @@ FW_PARAM_SRCS = fw_entry.o prom_lex.o prom_parse.tab.o fwparam_ppc.o fwparam_sys +@@ -23,7 +25,7 @@ FW_PARAM_SRCS = fw_entry.o prom_lex.o prom_parse.tab.o fwparam_ppc.o fwparam_sys # sources shared with the userspace utils, note we build these separately # to get PIC versions. COMMON_OBJS = $(patsubst %.o, common-objs/%.o, $(COMMON_SRCS)) @@ -32,5 +32,5 @@ index 317a7ec4db30..1196bb5c0cf4 100644 # Flags for the tests -- -2.14.4 +2.21.0 diff --git a/SOURCES/0014-libiscsi-fix-build-against-latest-upstream-again.patch b/SOURCES/0014-libiscsi-fix-build-against-latest-upstream-again.patch new file mode 100644 index 0000000..ef2c891 --- /dev/null +++ b/SOURCES/0014-libiscsi-fix-build-against-latest-upstream-again.patch @@ -0,0 +1,66 @@ +From 039700890e11dff3323241349d3858f258c09cc0 Mon Sep 17 00:00:00 2001 +From: Chris Leech +Date: Thu, 7 Nov 2019 09:16:17 -0800 +Subject: [PATCH] libiscsi: fix build against latest upstream, again + +--- + libiscsi/Makefile | 4 ++-- + libiscsi/libiscsi.c | 6 +++--- + 2 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/libiscsi/Makefile b/libiscsi/Makefile +index f2cf248..462d666 100644 +--- a/libiscsi/Makefile ++++ b/libiscsi/Makefile +@@ -10,7 +10,7 @@ WARNFLAGS ?= -Wall -Wstrict-prototypes + CFLAGS = $(OPTFLAGS) $(WARNFLAGS) -I../include -I../usr \ + -D$(OSNAME) -fPIC -D_GNU_SOURCE -fvisibility=hidden \ + -I../libopeniscsiusr +-LDFLAGS = -L../libopeniscsiusr -lopeniscsiusr ++LDFLAGS = -L../libopeniscsiusr -lopeniscsiusr -lkmod -lcrypto + LIB = libiscsi.so.0 + TESTS = tests/test_discovery_sendtargets tests/test_discovery_firmware + TESTS += tests/test_login tests/test_logout tests/test_params +@@ -19,7 +19,7 @@ TESTS += tests/test_set_auth tests/test_get_auth + + COMMON_SRCS = sysdeps.o + # sources shared between iscsid, iscsiadm and iscsistart +-ISCSI_LIB_SRCS = netlink.o transport.o cxgbi.o be2iscsi.o iscsi_timer.o initiator_common.o iscsi_err.o session_info.o iscsi_util.o io.o auth.o discovery.o login.o log.o md5.o sha1.o iface.o idbm.o sysfs.o iscsi_sysfs.o iscsi_net_util.o iscsid_req.o iser.o uip_mgmt_ipc.o ++ISCSI_LIB_SRCS = netlink.o transport.o cxgbi.o be2iscsi.o iscsi_timer.o initiator_common.o iscsi_err.o session_info.o iscsi_util.o io.o auth.o discovery.o login.o log.o iface.o idbm.o sysfs.o iscsi_sysfs.o iscsi_net_util.o iscsid_req.o iser.o uip_mgmt_ipc.o + FW_PARAM_SRCS = fw_entry.o prom_lex.o prom_parse.tab.o fwparam_ppc.o fwparam_sysfs.o + + # sources shared with the userspace utils, note we build these separately +diff --git a/libiscsi/libiscsi.c b/libiscsi/libiscsi.c +index 7003388..c598aee 100644 +--- a/libiscsi/libiscsi.c ++++ b/libiscsi/libiscsi.c +@@ -429,7 +429,7 @@ int libiscsi_node_login(struct libiscsi_context *context, + + CHECK(idbm_for_each_iface(&nr_found, (void*)node->iface, login_helper, + (char *)node->name, node->tpgt, +- (char *)node->address, node->port)) ++ (char *)node->address, node->port, false)) + if (nr_found == 0) { + strcpy(context->error_str, "No such node"); + rc = ENODEV; +@@ -615,7 +615,7 @@ int libiscsi_node_set_parameter(struct libiscsi_context *context, + + CHECK(idbm_for_each_iface(&nr_found, ¶ms, idbm_node_set_param, + (char *)node->name, node->tpgt, +- (char *)node->address, node->port)) ++ (char *)node->address, node->port, false)) + if (nr_found == 0) { + strcpy(context->error_str, "No such node"); + rc = ENODEV; +@@ -677,7 +677,7 @@ int libiscsi_node_get_parameter(struct libiscsi_context *context, + as most settings should be the same independent of the iface. */ + CHECK(idbm_for_each_iface(&nr_found, context, get_parameter_helper, + (char *)node->name, node->tpgt, +- (char *)node->address, node->port)) ++ (char *)node->address, node->port, false)) + if (nr_found == 0) { + strcpy(context->error_str, "No such node"); + rc = ENODEV; +-- +2.21.0 + diff --git a/SOURCES/0010-remove-the-offload-boot-supported-ifdef.patch b/SOURCES/0015-remove-the-offload-boot-supported-ifdef.patch similarity index 86% rename from SOURCES/0010-remove-the-offload-boot-supported-ifdef.patch rename to SOURCES/0015-remove-the-offload-boot-supported-ifdef.patch index 3fe3789..d63dbd9 100644 --- a/SOURCES/0010-remove-the-offload-boot-supported-ifdef.patch +++ b/SOURCES/0015-remove-the-offload-boot-supported-ifdef.patch @@ -1,14 +1,14 @@ -From 71b576b10a03651f67173d19883a929e91a3423a Mon Sep 17 00:00:00 2001 +From d0689253c9e2eb78fc5296adb109aba4d35a13fd Mon Sep 17 00:00:00 2001 From: Chris Leech Date: Mon, 19 Nov 2012 17:09:24 -0800 -Subject: [PATCH 10/32] remove the offload boot supported ifdef +Subject: [PATCH] remove the offload boot supported ifdef --- usr/iface.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/usr/iface.c b/usr/iface.c -index 137138f5af67..889fe8cd8202 100644 +index 645b0b8..9cd07fd 100644 --- a/usr/iface.c +++ b/usr/iface.c @@ -993,6 +993,7 @@ int iface_setup_from_boot_context(struct iface_rec *iface, @@ -41,5 +41,5 @@ index 137138f5af67..889fe8cd8202 100644 return 0; -- -2.14.4 +2.21.0 diff --git a/SOURCES/0013-Revert-iscsiadm-return-error-when-login-fails.patch b/SOURCES/0016-Revert-iscsiadm-return-error-when-login-fails.patch similarity index 82% rename from SOURCES/0013-Revert-iscsiadm-return-error-when-login-fails.patch rename to SOURCES/0016-Revert-iscsiadm-return-error-when-login-fails.patch index 23e5e7d..0420b01 100644 --- a/SOURCES/0013-Revert-iscsiadm-return-error-when-login-fails.patch +++ b/SOURCES/0016-Revert-iscsiadm-return-error-when-login-fails.patch @@ -1,7 +1,7 @@ -From 6629618e3581cbe632b7408a49437270bc04a8d4 Mon Sep 17 00:00:00 2001 +From ccb9d70a0dad7c42f926f1680ae708a5ae3d3696 Mon Sep 17 00:00:00 2001 From: Chris Leech Date: Mon, 24 Feb 2014 09:33:33 -0800 -Subject: [PATCH 13/32] Revert "iscsiadm: return error when login fails" +Subject: [PATCH] Revert "iscsiadm: return error when login fails" This reverts commit fc2a8e9a2911bc76f961fe3e4a159fab9b8b9691. @@ -11,7 +11,7 @@ Done to address RHBZ #1015563 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/usr/session_mgmt.c b/usr/session_mgmt.c -index 596085b1f640..07f587d2bafb 100644 +index 0500f15..1e1f2bc 100644 --- a/usr/session_mgmt.c +++ b/usr/session_mgmt.c @@ -178,12 +178,12 @@ int iscsi_login_portal(void *data, struct list_head *list, struct node_rec *rec) @@ -30,5 +30,5 @@ index 596085b1f640..07f587d2bafb 100644 } -- -2.14.4 +2.21.0 diff --git a/SOURCES/0024-dont-install-scripts.patch b/SOURCES/0017-dont-install-scripts.patch similarity index 57% rename from SOURCES/0024-dont-install-scripts.patch rename to SOURCES/0017-dont-install-scripts.patch index c4fc227..14c3683 100644 --- a/SOURCES/0024-dont-install-scripts.patch +++ b/SOURCES/0017-dont-install-scripts.patch @@ -1,19 +1,19 @@ -From 09485b397990aca06d5e98a855bab2444c9ec572 Mon Sep 17 00:00:00 2001 +From f524e332835b2b59d3f3ff8a67814ef2d58a2857 Mon Sep 17 00:00:00 2001 From: rpm-build Date: Fri, 25 May 2018 09:39:07 -0700 -Subject: [PATCH 24/32] dont install scripts +Subject: [PATCH] dont install scripts --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile -index 80afe86d6558..a35082daa9f9 100644 +index 4ab091f..7e6b734 100644 --- a/Makefile +++ b/Makefile -@@ -99,7 +99,7 @@ install_udev_rules: - $(INSTALL) -d $(DESTDIR)$(rulesdir) - $(INSTALL) -m 644 $(RULESFILES) $(DESTDIR)/$(rulesdir) +@@ -116,7 +116,7 @@ install_systemd: + $(INSTALL) -d $(DESTDIR)$(systemddir) + $(INSTALL) -m 644 $(SYSTEMDFILES) $(DESTDIR)/$(systemddir) -install_programs: $(PROGRAMS) $(SCRIPTS) +install_programs: $(PROGRAMS) # $(SCRIPTS) @@ -21,5 +21,5 @@ index 80afe86d6558..a35082daa9f9 100644 $(INSTALL) -m 755 $^ $(DESTDIR)$(sbindir) -- -2.14.4 +2.21.0 diff --git a/SOURCES/0028-use-var-lib-iscsi-in-libopeniscsiusr.patch b/SOURCES/0018-use-var-lib-iscsi-in-libopeniscsiusr.patch similarity index 91% rename from SOURCES/0028-use-var-lib-iscsi-in-libopeniscsiusr.patch rename to SOURCES/0018-use-var-lib-iscsi-in-libopeniscsiusr.patch index fb1917d..08d5ed2 100644 --- a/SOURCES/0028-use-var-lib-iscsi-in-libopeniscsiusr.patch +++ b/SOURCES/0018-use-var-lib-iscsi-in-libopeniscsiusr.patch @@ -1,7 +1,7 @@ -From 089cd6910d9f0d1e459e1d8d00b754843437526d Mon Sep 17 00:00:00 2001 +From e2b8215b80cc037ecbcb9eef50e432c31d5e56eb Mon Sep 17 00:00:00 2001 From: rpm-build Date: Wed, 30 May 2018 16:08:30 -0700 -Subject: [PATCH 28/28] use /var/lib/iscsi in libopeniscsiusr +Subject: [PATCH] use /var/lib/iscsi in libopeniscsiusr --- libopeniscsiusr/idbm.h | 3 ++- @@ -12,7 +12,7 @@ Subject: [PATCH 28/28] use /var/lib/iscsi in libopeniscsiusr 5 files changed, 9 insertions(+), 8 deletions(-) diff --git a/libopeniscsiusr/idbm.h b/libopeniscsiusr/idbm.h -index 3fd0864a797d..c84d332ff949 100644 +index 3fd0864..c84d332 100644 --- a/libopeniscsiusr/idbm.h +++ b/libopeniscsiusr/idbm.h @@ -31,7 +31,8 @@ @@ -26,10 +26,10 @@ index 3fd0864a797d..c84d332ff949 100644 #define BOOT_NAME_MAXLEN 256 #define IDBM_DUMP_SIZE 8192 diff --git a/libopeniscsiusr/iface.c b/libopeniscsiusr/iface.c -index e2355bc0fff0..cd9dd7326ae6 100644 +index e7938a5..99ab7b5 100644 --- a/libopeniscsiusr/iface.c +++ b/libopeniscsiusr/iface.c -@@ -383,7 +383,7 @@ int iscsi_default_iface_setup(struct iscsi_context *ctx) +@@ -381,7 +381,7 @@ int iscsi_default_iface_setup(struct iscsi_context *ctx) _good(_iscsi_hids_get(ctx, &hids, &hid_count), rc, out); for (i = 0; i < hid_count; ++i) { @@ -39,7 +39,7 @@ index e2355bc0fff0..cd9dd7326ae6 100644 _good(_iscsi_ifaces_get_from_sysfs(ctx, hids[i], &ifaces, &iface_count), rc, out); diff --git a/libopeniscsiusr/libopeniscsiusr/libopeniscsiusr.h b/libopeniscsiusr/libopeniscsiusr/libopeniscsiusr.h -index 439590249212..81582da9e1e6 100644 +index 4395902..81582da 100644 --- a/libopeniscsiusr/libopeniscsiusr/libopeniscsiusr.h +++ b/libopeniscsiusr/libopeniscsiusr/libopeniscsiusr.h @@ -339,7 +339,7 @@ __DLL_EXPORT void iscsi_session_free(struct iscsi_session *se); @@ -79,7 +79,7 @@ index 439590249212..81582da9e1e6 100644 * by assert. * @iface: diff --git a/libopeniscsiusr/libopeniscsiusr/libopeniscsiusr_iface.h b/libopeniscsiusr/libopeniscsiusr/libopeniscsiusr_iface.h -index a1a255246d20..95b01602fb37 100644 +index a1a2552..95b0160 100644 --- a/libopeniscsiusr/libopeniscsiusr/libopeniscsiusr_iface.h +++ b/libopeniscsiusr/libopeniscsiusr/libopeniscsiusr_iface.h @@ -182,7 +182,7 @@ __DLL_EXPORT const char *iscsi_iface_name_get(struct iscsi_iface *iface); @@ -92,7 +92,7 @@ index a1a255246d20..95b01602fb37 100644 * @iface: * Pointer of 'struct iscsi_iface'. diff --git a/libopeniscsiusr/node.h b/libopeniscsiusr/node.h -index 39e07b3befae..9eba7fa6077c 100644 +index 39e07b3..9eba7fa 100644 --- a/libopeniscsiusr/node.h +++ b/libopeniscsiusr/node.h @@ -44,7 +44,7 @@ struct iscsi_node { @@ -105,5 +105,5 @@ index 39e07b3befae..9eba7fa6077c 100644 /* Might be public in the future */ __DLL_LOCAL void iscsi_node_free(struct iscsi_node *node); -- -2.14.4 +2.21.0 diff --git a/SOURCES/0001-Coverity-scan-fixes.patch b/SOURCES/0019-Coverity-scan-fixes.patch similarity index 89% rename from SOURCES/0001-Coverity-scan-fixes.patch rename to SOURCES/0019-Coverity-scan-fixes.patch index 691474f..1161fd1 100644 --- a/SOURCES/0001-Coverity-scan-fixes.patch +++ b/SOURCES/0019-Coverity-scan-fixes.patch @@ -1,4 +1,4 @@ -From f8e7499e9f69465668fc6e5e7bcfb9ce09e8a457 Mon Sep 17 00:00:00 2001 +From 44bb05de04c0f8819c1fdae8f567dd802a8444e8 Mon Sep 17 00:00:00 2001 From: Chris Leech Date: Wed, 5 Jun 2019 09:08:39 -0700 Subject: [PATCH] Coverity scan fixes @@ -12,7 +12,7 @@ Subject: [PATCH] Coverity scan fixes 5 files changed, 21 insertions(+), 16 deletions(-) diff --git a/iscsiuio/src/unix/libs/qedi.c b/iscsiuio/src/unix/libs/qedi.c -index b7595d5..47300b0 100644 +index 3414cb5..a359700 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) @@ -25,10 +25,10 @@ index b7595d5..47300b0 100644 if (bd_cons != bd_prod) { diff --git a/iscsiuio/src/unix/main.c b/iscsiuio/src/unix/main.c -index 5168e4e..ed41931 100644 +index 5e3f66c..4c50890 100644 --- a/iscsiuio/src/unix/main.c +++ b/iscsiuio/src/unix/main.c -@@ -340,7 +340,10 @@ int main(int argc, char *argv[]) +@@ -341,7 +341,10 @@ int main(int argc, char *argv[]) /* parent: wait for child msg then exit */ close(pipefds[1]); @@ -40,7 +40,7 @@ index 5168e4e..ed41931 100644 exit(0); } -@@ -386,6 +389,9 @@ int main(int argc, char *argv[]) +@@ -387,6 +390,9 @@ int main(int argc, char *argv[]) sigaddset(&set, SIGTERM); sigaddset(&set, SIGUSR1); rc = pthread_sigmask(SIG_SETMASK, &set, NULL); @@ -50,7 +50,7 @@ index 5168e4e..ed41931 100644 /* Spin off the signal handling thread */ pthread_attr_init(&attr); -@@ -415,7 +421,9 @@ int main(int argc, char *argv[]) +@@ -416,7 +422,9 @@ int main(int argc, char *argv[]) if (!foreground) { /* signal parent they can go away now */ close(pipefds[0]); @@ -84,10 +84,10 @@ index d020e6c..342aab5 100644 fd = open(LOCK_FILE, O_RDWR | O_CREAT, 0666); diff --git a/usr/idbm.c b/usr/idbm.c -index 89a6c27..a3343fe 100644 +index 3184c77..0c6870c 100644 --- a/usr/idbm.c +++ b/usr/idbm.c -@@ -1332,12 +1332,10 @@ int idbm_lock(void) +@@ -1339,12 +1339,10 @@ int idbm_lock(void) return 0; } @@ -105,7 +105,7 @@ index 89a6c27..a3343fe 100644 fd = open(LOCK_FILE, O_RDWR | O_CREAT, 0666); diff --git a/usr/iscsid.c b/usr/iscsid.c -index 37c13b3..1891784 100644 +index 8f1c597..96a6452 100644 --- a/usr/iscsid.c +++ b/usr/iscsid.c @@ -489,8 +489,8 @@ int main(int argc, char *argv[]) diff --git a/SOURCES/0020-fix-upstream-build-breakage-of-iscsiuio-LDFLAGS.patch b/SOURCES/0020-fix-upstream-build-breakage-of-iscsiuio-LDFLAGS.patch new file mode 100644 index 0000000..b7d5c02 --- /dev/null +++ b/SOURCES/0020-fix-upstream-build-breakage-of-iscsiuio-LDFLAGS.patch @@ -0,0 +1,29 @@ +From 4142125fa296d21a307fb2370b2d4d7e8487f22c 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 + +--- + iscsiuio/configure.ac | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/iscsiuio/configure.ac b/iscsiuio/configure.ac +index b41df0e..a856cc5 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" ;; + *) 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 +-- +2.21.0 + diff --git a/SOURCES/0021-improve-systemd-service-files-for-boot-session-handl.patch b/SOURCES/0021-improve-systemd-service-files-for-boot-session-handl.patch new file mode 100644 index 0000000..ba53b55 --- /dev/null +++ b/SOURCES/0021-improve-systemd-service-files-for-boot-session-handl.patch @@ -0,0 +1,130 @@ +From 77150edd697669467ff9f8775b93bd9d7a34cadf Mon Sep 17 00:00:00 2001 +From: rpm-build +Date: Mon, 28 Oct 2019 10:20:56 -0700 +Subject: [PATCH] improve systemd service files for boot session handling + +--- + etc/systemd/iscsi-mark-root-nodes | 6 +++++- + etc/systemd/iscsi-onboot.service | 15 +++++++++++++++ + etc/systemd/iscsi-shutdown.service | 1 + + etc/systemd/iscsi.service | 11 ++++------- + etc/systemd/iscsid.service | 4 +--- + etc/systemd/iscsiuio.service | 1 - + 6 files changed, 26 insertions(+), 12 deletions(-) + create mode 100644 etc/systemd/iscsi-onboot.service + +diff --git a/etc/systemd/iscsi-mark-root-nodes b/etc/systemd/iscsi-mark-root-nodes +index c693707..9d48805 100755 +--- a/etc/systemd/iscsi-mark-root-nodes ++++ b/etc/systemd/iscsi-mark-root-nodes +@@ -9,7 +9,11 @@ while read t num p target flash; do + portal=${p%,*} + transport=${t%:} + +- $ISCSIADM -m node -p $portal -T $target -o update -n node.startup -v onboot ++ # use session number to find the iface name in use ++ num=${num#[}; num=${num%]} ++ iface=$(iscsiadm -m session -r $num | grep iface.iscsi_ifacename | cut -d= -f2) ++ ++ $ISCSIADM -m node -p $portal -T $target -I $iface -o update -n node.startup -v onboot + + start_iscsid=1 + +diff --git a/etc/systemd/iscsi-onboot.service b/etc/systemd/iscsi-onboot.service +new file mode 100644 +index 0000000..42ced68 +--- /dev/null ++++ b/etc/systemd/iscsi-onboot.service +@@ -0,0 +1,15 @@ ++[Unit] ++Description=Special handling of early boot iSCSI sessions ++Documentation=man:iscsiadm(8) man:iscsid(8) ++DefaultDependencies=no ++RefuseManualStart=true ++Before=iscsi.service ++After=systemd-remount-fs.service ++ConditionDirectoryNotEmpty=/sys/class/iscsi_session ++ ++[Service] ++Type=oneshot ++ExecStart=-/usr/libexec/iscsi-mark-root-nodes ++ ++[Install] ++WantedBy=sysinit.target +diff --git a/etc/systemd/iscsi-shutdown.service b/etc/systemd/iscsi-shutdown.service +index 69c1c77..caee933 100644 +--- a/etc/systemd/iscsi-shutdown.service ++++ b/etc/systemd/iscsi-shutdown.service +@@ -11,4 +11,5 @@ RefuseManualStop=yes + [Service] + Type=oneshot + RemainAfterExit=true ++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 eadfcec..175cb2c 100644 +--- a/etc/systemd/iscsi.service ++++ b/etc/systemd/iscsi.service +@@ -1,21 +1,18 @@ + [Unit] + Description=Login and scanning of iSCSI devices +-Documentation=man:iscsid(8) man:iscsiadm(8) ++Documentation=man:iscsiadm(8) man:iscsid(8) + DefaultDependencies=no +-Conflicts=shutdown.target +-After=systemd-remount-fs.service network.target iscsid.service iscsiuio.service + 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 +-ConditionDirectoryNotEmpty=|/var/lib/iscsi/nodes +-ConditionDirectoryNotEmpty=|/sys/class/iscsi_session ++ConditionDirectoryNotEmpty=/var/lib/iscsi/nodes + + [Service] + Type=oneshot + RemainAfterExit=true +-ExecStart=-/usr/libexec/iscsi-mark-root-nodes + ExecStart=-/usr/sbin/iscsiadm -m node --loginall=automatic + ExecReload=-/usr/sbin/iscsiadm -m node --loginall=automatic + SuccessExitStatus=21 + + [Install] +-WantedBy=sysinit.target ++WantedBy=remote-fs.target +diff --git a/etc/systemd/iscsid.service b/etc/systemd/iscsid.service +index 8d50cf0..28402fb 100644 +--- a/etc/systemd/iscsid.service ++++ b/etc/systemd/iscsid.service +@@ -1,8 +1,7 @@ + [Unit] + Description=Open-iSCSI +-Documentation=man:iscsid(8) man:iscsiadm(8) ++Documentation=man:iscsid(8) man:iscsiuio(8) man:iscsiadm(8) + DefaultDependencies=no +-Conflicts=shutdown.target + After=network.target iscsiuio.service + Before=remote-fs-pre.target + +@@ -10,7 +9,6 @@ Before=remote-fs-pre.target + Type=notify + NotifyAccess=main + ExecStart=/usr/sbin/iscsid -f +-ExecStop=/usr/sbin/iscsiadm -k 0 2 + KillMode=mixed + Restart=on-failure + +diff --git a/etc/systemd/iscsiuio.service b/etc/systemd/iscsiuio.service +index 8620cde..fc0be93 100644 +--- a/etc/systemd/iscsiuio.service ++++ b/etc/systemd/iscsiuio.service +@@ -2,7 +2,6 @@ + Description=iSCSI UserSpace I/O driver + Documentation=man:iscsiuio(8) + DefaultDependencies=no +-Conflicts=shutdown.target + Requires=iscsid.service + BindTo=iscsid.service + After=network.target +-- +2.21.0 + diff --git a/SOURCES/0020-use-Red-Hat-version-string-to-match-RPM-package-vers.patch b/SOURCES/0022-use-Red-Hat-version-string-to-match-RPM-package-vers.patch similarity index 64% rename from SOURCES/0020-use-Red-Hat-version-string-to-match-RPM-package-vers.patch rename to SOURCES/0022-use-Red-Hat-version-string-to-match-RPM-package-vers.patch index 7dfccec..67d004b 100644 --- a/SOURCES/0020-use-Red-Hat-version-string-to-match-RPM-package-vers.patch +++ b/SOURCES/0022-use-Red-Hat-version-string-to-match-RPM-package-vers.patch @@ -1,25 +1,25 @@ -From 92aac85cf423d1c566d324255a86de0116d33015 Mon Sep 17 00:00:00 2001 +From c589d94293f3bee77c34ca61371ddfbeef71f2af Mon Sep 17 00:00:00 2001 From: Chris Leech Date: Mon, 21 Jan 2013 15:43:36 -0800 -Subject: [PATCH 20/32] use Red Hat version string to match RPM package version +Subject: [PATCH] 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 4dfef4ccfb77..1334d47c6bb3 100644 +index 615f533..a1f6cc2 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.0-877" -+#define ISCSI_VERSION_STR "6.2.0.877-0" +-#define ISCSI_VERSION_STR "2.0-878" ++#define ISCSI_VERSION_STR "6.2.0.878-0" #define ISCSI_VERSION_FILE "/sys/module/scsi_transport_iscsi/version" #endif -- -2.14.4 +2.21.0 diff --git a/SPECS/iscsi-initiator-utils.spec b/SPECS/iscsi-initiator-utils.spec index e7476cc..480545b 100644 --- a/SPECS/iscsi-initiator-utils.spec +++ b/SPECS/iscsi-initiator-utils.spec @@ -1,6 +1,6 @@ %global open_iscsi_version 2.0 -%global open_iscsi_build 877 -%global commit0 f71581bd641dc26d330cb8b97e5ec272dd08f811 +%global open_iscsi_build 878 +%global commit0 d791ce020673381cf3b559866d1f61e0411126a6 %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: 1.git%{shortcommit0}%{?dist} +Release: 0.git%{shortcommit0}%{?dist} Group: System Environment/Daemons License: GPLv2+ URL: http://www.open-iscsi.org @@ -22,25 +22,27 @@ Source4: 04-iscsi Source5: iscsi-tmpfiles.conf Patch0001: 0001-service-file-tweaks.patch -Patch0002: 0001-fix-iscsiuio-build-with-libsystemd.patch -Patch0003: 0001-idmb_rec_write-check-for-tpgt-first.patch -Patch0004: 0002-idbm_rec_write-seperate-old-and-new-style-writes.patch -Patch0005: 0003-idbw_rec_write-pick-tpgt-from-existing-record.patch -Patch0006: 0006-update-initscripts-and-docs.patch -Patch0007: 0007-use-var-for-config.patch -Patch0008: 0008-use-red-hat-for-name.patch -Patch0009: 0009-libiscsi.patch -Patch0010: 0010-remove-the-offload-boot-supported-ifdef.patch -Patch0011: 0013-Revert-iscsiadm-return-error-when-login-fails.patch -Patch0012: 0018-Add-macros-to-release-GIL-lock.patch -Patch0013: 0019-libiscsi-introduce-sessions-API.patch -Patch0014: 0020-use-Red-Hat-version-string-to-match-RPM-package-vers.patch -Patch0015: 0021-libiscsi-fix-discovery-request-timeout-regression.patch -Patch0016: 0022-libiscsi-format-security-build-errors.patch -Patch0017: 0023-libiscsi-fix-build-to-use-libopeniscsiusr.patch -Patch0018: 0024-dont-install-scripts.patch -Patch0019: 0028-use-var-lib-iscsi-in-libopeniscsiusr.patch -Patch0099: 0001-Coverity-scan-fixes.patch +Patch0002: 0002-idmb_rec_write-check-for-tpgt-first.patch +Patch0003: 0003-idbm_rec_write-seperate-old-and-new-style-writes.patch +Patch0004: 0004-idbw_rec_write-pick-tpgt-from-existing-record.patch +Patch0005: 0005-update-initscripts-and-docs.patch +Patch0006: 0006-use-var-for-config.patch +Patch0007: 0007-use-red-hat-for-name.patch +Patch0008: 0008-libiscsi.patch +Patch0009: 0009-Add-macros-to-release-GIL-lock.patch +Patch0010: 0010-libiscsi-introduce-sessions-API.patch +Patch0011: 0011-libiscsi-fix-discovery-request-timeout-regression.patch +Patch0012: 0012-libiscsi-format-security-build-errors.patch +Patch0013: 0013-libiscsi-fix-build-to-use-libopeniscsiusr.patch +Patch0014: 0014-libiscsi-fix-build-against-latest-upstream-again.patch +Patch0015: 0015-remove-the-offload-boot-supported-ifdef.patch +Patch0016: 0016-Revert-iscsiadm-return-error-when-login-fails.patch +Patch0017: 0017-dont-install-scripts.patch +Patch0018: 0018-use-var-lib-iscsi-in-libopeniscsiusr.patch +Patch0019: 0019-Coverity-scan-fixes.patch +Patch0020: 0020-fix-upstream-build-breakage-of-iscsiuio-LDFLAGS.patch +Patch0021: 0021-improve-systemd-service-files-for-boot-session-handl.patch +Patch0022: 0022-use-Red-Hat-version-string-to-match-RPM-package-vers.patch BuildRequires: flex bison doxygen kmod-devel systemd-units BuildRequires: autoconf automake libtool libmount-devel openssl-devel @@ -142,7 +144,7 @@ autoreconf --install %{configure} cd .. -%{__make} OPTFLAGS="%{optflags} %{?__global_ldflags} -DUSE_KMOD -lkmod" +%{__make} OPTFLAGS="%{optflags} %{?__global_ldflags}" pushd libiscsi %if %{with python2} %py2_build @@ -241,10 +243,10 @@ fi %postun /sbin/ldconfig -%systemd_postun +%systemd_postun iscsi.service iscsi-shutdown.service iscsid.service iscsiuio.service iscsid.socket iscsiuio.socket %postun iscsiuio -%systemd_postun +%systemd_postun iscsiuio.service iscsiuio.socket %triggerun -- iscsi-initiator-utils < 6.2.0.873-25 # prior to 6.2.0.873-24 iscsi.service was missing a Wants=remote-fs-pre.target @@ -342,6 +344,11 @@ fi %{python3_sitearch}/* %changelog +* Thu Nov 07 2019 Chris Leech - 6.2.0.878-0.gitd791ce0 +- 1761940 iSCSI CHAP authentication not function with FIPS enabled +- Service file improvements forward ported from RHEL 7.8 +- various static analysis fixes from upstream + * Wed Jun 05 2019 Chris Leech - 6.2.0.877-1.gitf71581b - fix Covscan reported issues from upstream patches