Commit Graph

1080 Commits

Author SHA1 Message Date
Bart Van Assche
9c7092e85c test tool: Fix a memory leak in testunitready_clear_ua()
Avoid leaking 'task' if task->status != SCSI_STATUS_GOOD.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>
2013-10-23 05:34:36 -07:00
Bart Van Assche
9f89f220f5 test tool, WRITESAME(16) UNMAP test: Avoid leaking 'buf' if a precondition fails
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
2013-10-23 05:34:04 -07:00
Bart Van Assche
64e800a437 test tool, RESERVE(6) tests: Avoid leaking 'iscsi2'
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
2013-10-23 05:33:35 -07:00
Bart Van Assche
3fdc3f2327 lib: Fix a memory leak in scsi_cdb_persistent_reserve_out()
If scsi_cdb_persistent_reserve_out() succeeds a call to
scsi_free_scsi_task() won't free any memory allocated with scsi_malloc()
in this function because the memset() call in this function overwrites
the task->mem pointer. Move the memset() call up such that it doesn't
clear task->mem. This makes it possible for the caller of this function
to free the memory allocated by this function by calling
scsi_free_scsi_task(). Merge the error handling code such that the code
for freeing memory only occurs once.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>
2013-10-23 05:33:07 -07:00
Bart Van Assche
afa076b537 lib: Make scsi_free_scsi_task() accept a NULL task pointer
Several cleanup paths can be simplified if it is allowed to pass a
NULL pointer to scsi_free_scsi_task(). Hence modify this function
such that it returns immediately if passed a NULL task pointer.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>
2013-10-23 05:32:21 -07:00
Ronnie Sahlberg
f6a52d11c0 New version 1.10
- Add manpages for iscsi-ls/iscsi-inq and iscsi-swp
 - Many new tests and updates to the testsuite.
 - Fix memory leak in iscsi_reconnect
 - Fixes to the persistent reservation tests
 - AROS support
 - Fix/restore windows support
 - Switch to libgcrypt for the MD5 support.
 - Fix buffer overflow in the persistent reserver unmarshalling code.
 - And many more minor fixes.
2013-10-20 16:54:35 -07:00
Ronnie Sahlberg
ccacae482f Merge branch 'master' of github.com:sahlberg/libiscsi 2013-10-14 06:16:31 -07:00
Ronnie Sahlberg
1f4ebc7771 Merge pull request #81 from trasz/master
Fix segv.
2013-10-14 06:16:12 -07:00
Edward Tomasz Napierala
dd1ca33094 Freebsd build fixes. 2013-10-13 15:35:00 +02:00
Edward Tomasz Napierala
1daddebdb2 Merge remote-tracking branch 'upstream/master' 2013-10-13 15:28:52 +02:00
Edward Tomasz Napierala
5f46119899 Fix segv. 2013-10-12 23:51:16 +02:00
Ronnie Sahlberg
fe72f69dfd We dont need _snprintf_s since we have a compatibility function for windows 2013-10-05 21:05:42 -07:00
Ronnie Sahlberg
dfdf2091d4 typo 2013-10-05 17:25:06 -07:00
Ronnie Sahlberg
305d6e1644 Get rid of a lot of WIN32 ifdefs by providing a compatibility function instead 2013-10-05 17:23:46 -07:00
Ronnie Sahlberg
eec84c2805 Add PowerOnOccured as a sense code we allow and ignore during connect 2013-10-05 17:06:21 -07:00
Ronnie Sahlberg
bca9e3d022 We don't have __attribute__ on visual studio 2013-10-05 15:39:09 -07:00
Ronnie Sahlberg
d7b7c7727a Fix win32 so it works again 2013-10-05 15:34:56 -07:00
Ronnie Sahlberg
27b82512d5 Remove 'inline'. Some compilers do not support it. 2013-10-05 13:50:55 -07:00
Ronnie Sahlberg
1828481ba2 Portability fixes. Declare variables at the start of a scope only. 2013-10-05 13:48:00 -07:00
Ronnie Sahlberg
720e426c92 Always declare variables at the start of a new scope. 2013-10-05 13:43:10 -07:00
Ronnie Sahlberg
8c87941b00 Don't use variadic macros of the form args... This is a GCC extension and is not portable. 2013-10-05 13:36:02 -07:00
Bart Van Assche
e5ba667cea test_writesame16_unmap: Do not leak memory if WRITESAME16 is not supported
Detected by Valgrind.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>
2013-10-01 06:27:50 -07:00
Bart Van Assche
1337185fe9 test_read6_simple: Avoid triggering a use-after-free
Do not use the 'task' pointer after the memory it points at has been freed.
Detected via valgrind.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>
2013-10-01 06:24:55 -07:00
Bart Van Assche
4653cd8df4 iscsi_reconnect: Fix a use-after-free
This patch fixes the following Valgrind complaint:

Invalid read of size 4
   at 0x524A858: iscsi_reconnect (connect.c:378)
   by 0x5258794: iscsi_service (socket.c:707)
   by 0x52599C4: event_loop (sync.c:67)
   by 0x525AFD7: iscsi_reserve6_sync (sync.c:1096)
   by 0x40A40A: reserve6 (iscsi-support.c:3291)
   by 0x422C95: test_reserve6_target_warm_reset (test_reserve6_target_warm_reset.c:39)
   by 0x503B05F: ??? (in /usr/lib/libcunit.so.1.0.1)
   by 0x503B375: ??? (in /usr/lib/libcunit.so.1.0.1)
   by 0x503B69F: CU_run_all_tests (in /usr/lib/libcunit.so.1.0.1)
   by 0x403171: main (iscsi-test-cu.c:1258)
 Address 0x6443958 is 3,032 bytes inside a block of size 4,120 free'd
   at 0x4C2B83A: free (vg_replace_malloc.c:468)
   by 0x524A846: iscsi_reconnect (connect.c:374)
   by 0x5258794: iscsi_service (socket.c:707)
   by 0x52599C4: event_loop (sync.c:67)
   by 0x525AFD7: iscsi_reserve6_sync (sync.c:1096)
   by 0x40A40A: reserve6 (iscsi-support.c:3291)
   by 0x422C95: test_reserve6_target_warm_reset (test_reserve6_target_warm_reset.c:39)
   by 0x503B05F: ??? (in /usr/lib/libcunit.so.1.0.1)
   by 0x503B375: ??? (in /usr/lib/libcunit.so.1.0.1)
   by 0x503B69F: CU_run_all_tests (in /usr/lib/libcunit.so.1.0.1)
   by 0x403171: main (iscsi-test-cu.c:1258)

Signed-off-by: Bart Van Assche <bvanassche@acm.org>
2013-10-01 06:24:07 -07:00
Bart Van Assche
bd948c959e Port to CUnit version 2
Linux distributions like openSUSE 12.3 include CUnit version 2.
Apparently libiscsi uses some CUnit version 1 data structures that
have been modified in CUnit version 2. This causes the libiscsi
build to fail against CUnit version 2. Fix this by detecting the
CUnit version during the configure step.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>
2013-10-01 06:22:06 -07:00
Ronnie Sahlberg
766d92221c Reconnect: recalculate the header digest when we re-queue after a reconnect 2013-09-26 18:26:29 -07:00
Ronnie Sahlberg
286df50244 Add more status codes : CONDITIONS_MET/TASK_SET_FULL/ACA_ACTIVE/TASK_ABORTED 2013-09-25 20:26:00 -07:00
Ronnie Sahlberg
99d7107ada Merge pull request #80 from sitsofe/initiator2
Fix incorrect second initiator
2013-09-25 19:23:09 -07:00
Sitsofe Wheeler
69867d23a8 Fix incorrect second initiator
Use the second initiator name in all files found by
ack "iscsic2 = "
2013-09-25 23:05:01 +01:00
Ronnie Sahlberg
8aa6d9de8f TESTS: Add a test for COMPARE_AND_WRITE when the data to verify does not match 2013-09-23 21:58:55 -07:00
Ronnie Sahlberg
e7c7a99ede Merge pull request #79 from trasz/master
Replace alloca.h with stdlib.h; the former doesn't exist on FreeBSD.
2013-09-23 07:28:00 -07:00
Edward Tomasz Napierala
ae298ec940 Fix test to actually do what the comment says and send too low CmdSN. 2013-09-23 13:14:43 +02:00
Edward Tomasz Napierala
f9d4c742a2 Replace alloca.h with stdlib.h; the former doesn't exist on FreeBSD. 2013-09-23 11:34:06 +02:00
Ronnie Sahlberg
a9b75b96a3 SCSI: Add definitions for some more 0x29xx ASCQs
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2013-09-22 17:09:11 -07:00
Ronnie Sahlberg
9f1a28f753 TESTS: Add an initial simple test for COMPARE_AND_WRITE
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2013-09-22 17:02:30 -07:00
Ronnie Sahlberg
baf0910331 Merge branch 'master' of github.com:sahlberg/libiscsi 2013-09-21 14:57:27 -07:00
Bart Van Assche
31f40b2e53 test-tool/1120_persistent_register_simple.c: Spelling fix
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
2013-09-21 14:57:00 -07:00
Ronnie Sahlberg
b1a6e5923a Merge pull request #78 from sitsofe/makefile
Fix Makefile.am breakage.
2013-09-19 15:02:00 -07:00
Sitsofe Wheeler
7417a6fcf5 Fix Makefile.am breakage.
Complete the changes made in commit 7692027.
2013-09-18 17:02:56 +01:00
Ronnie Sahlberg
657a7a4f7f Merge branch 'master' of github.com:sahlberg/libiscsi 2013-09-17 09:17:53 -07:00
Ronnie Sahlberg
158f2226c0 TEST: read10invalid use the reported blocksize instead of a hardcoded value 2013-09-17 09:16:59 -07:00
Ronnie Sahlberg
8958a88ae9 Merge pull request #76 from sitsofe/osx
Fix compilation on OS X
2013-09-10 06:24:30 -07:00
Ronnie Sahlberg
9b40f0a94d Merge pull request #75 from sitsofe/clang
Fix compilation issues under clang
2013-09-10 06:24:08 -07:00
Ronnie Sahlberg
b61a3bb4ca Merge pull request #74 from sitsofe/compareandwrite
TESTS: Fix COMPAREANDWRITE tests to send write data
2013-09-10 06:22:59 -07:00
Sitsofe Wheeler
2fda87160c Fix compilation on OS X
OS X doesn't implement SOL_TCP so workaround this the same way as on
FreeBSD/Solaris.
2013-09-09 19:38:00 +01:00
Sitsofe Wheeler
7692027d6c Fix compilation issues under clang
clang defaults to c99 so remove inline statements
(http://clang.llvm.org/compatibility.html#inline ) on functions shared
across different translation units.
clang's linker doesn't like major numbers over 255 so change how SOREL
is generated in Makefile.am.
2013-09-09 18:04:06 +01:00
Sitsofe Wheeler
0b6b12ba53 TESTS: Fix COMPAREANDWRITE tests to send write data
Previously COMPAREANDWRITE was only sending verify instance data which
can cause targets to generate COMMAND ABORTED/NOT ENOUGH UNSOLICITED
DATA errors due to the buffer being obviously too small to contain
verify AND write instance data.

The buffer size check has been modified and compareandwrite tests
updated to pass a larger buffer with interesting write instance data.
2013-09-09 17:48:13 +01:00
Ronnie Sahlberg
45a3752d16 TESTS: Abort READ6 test if lun is bigger than what READ6 can address 2013-09-02 12:19:24 -07:00
Ronnie Sahlberg
2627d371fd Merge pull request #73 from sitsofe/master
Fix incorrect second initiator
2013-09-02 11:57:43 -07:00
Sitsofe Wheeler
489f9b27e3 Fix incorrect second initiator. 2013-08-30 09:14:37 +01:00