Ronnie Sahlberg
a2c041ee32
Merge pull request #450 from glagolig/master
...
iscsi-inq: binary values in hex
2025-06-28 10:00:02 +10:00
Anatoliy Glagolev
e7c44b802f
iscsi-inq: binary values in hex
...
While printing device identification information format
binary values as hex instead of ASCII characters.
2025-06-27 17:21:44 -06:00
Ronnie Sahlberg
914eb5d578
Fix compiler warning/error from the previous commit
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com >
2025-06-18 10:06:54 +10:00
Ronnie Sahlberg
3a6cfc1273
Merge pull request #449 from lishiao144/master
...
fix ExpStatSN handling for Data-Out PDUs
2025-06-18 09:55:59 +10:00
lishiao
8ebfb20c55
Optimize the judgment conditions
2025-06-17 12:24:40 +08:00
lishiao
a81eacc0b1
iscsi: compute Data Digest for out_data segments
2025-06-17 11:57:38 +08:00
lishiao144
cbba36e150
fix ExpStatSN handling for Data-Out PDUs
2025-06-12 18:26:19 +08:00
Ronnie Sahlberg
54ef3353a2
Merge pull request #448 from lishiao144/master
...
Fix length check to exclude padding when comparing against initiator
2025-06-12 18:55:23 +10:00
lishiao144
484adf5017
Fix length check to exclude padding when comparing against initiator_max_recv_data_segment_length
2025-06-12 16:41:53 +08:00
Ronnie Sahlberg
2803276f60
Merge remote-tracking branch 'refs/remotes/origin/master'
2025-05-30 10:53:25 +10:00
Ronnie Sahlberg
37e324c370
Merge pull request #447 from lishiao144/master
...
Fix CHAP_C Encoding and CHAP_R Comparison in CHAP Authentication
2025-05-30 10:47:06 +10:00
lishiao144
de86745f14
Update login.c
2025-05-29 14:00:53 +08:00
lishiao144
a57f51708c
Incorrect handling of CHAP_C encoding during CHAP_R computation
2025-05-29 11:51:50 +08:00
lishiao144
676afd07a0
Signed vs. unsigned byte mismatch in CHAP_R comparison
2025-05-29 11:50:20 +08:00
Ronnie Sahlberg
35cb001a39
Merge pull request #446 from lishiao144/master
...
Fix CHAP response buffer zero-init and increase MAX_CHAP_R_SIZE to support SHA-256
2025-05-28 19:16:18 +10:00
lishiao144
7254f954ff
zero-initialize target_chap_c to avoid relying on stack memory
2025-05-28 15:59:27 +08:00
lishiao144
b4d1cd7907
MAX_CHAP_R_SIZE updata
2025-05-28 15:57:40 +08:00
Ronnie Sahlberg
bd439878c0
New version 1.20.2
...
- Fix for Apple as their pthreads do not provide spinlock support.
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com >
2025-05-05 16:20:09 +10:00
Ronnie Sahlberg
fa37a2136c
Apple: use mutexes instead of spinlocks on apple
...
Apple do not support spinlocks so we must remap to the much slower
mutexes instead if we think we are compiling for apple.
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com >
2025-05-03 20:49:46 +10:00
Ronnie Sahlberg
8cd2381476
New version 1.20.1
...
Add sha1/sha256/sha3 authentication
Add multithreading support
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com >
2025-05-03 10:02:42 +10:00
Ronnie Sahlberg
eb19863f77
Fix race between queueing the pdu and update the task data
...
After we have called iscsi_queue_pdu from iscsi_scsi_command_async
the pdu might have already completed if we are using multithreading
so we should not dereference pdu at that point.
Move the assignment of task->cmdsn and task->itt we need for
task management into iscsi_pdu_set_cmdsn instead.
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com >
2025-04-26 11:55:47 +10:00
Ronnie Sahlberg
d5e3bf6175
Merge branch 'tst'
2025-04-26 11:30:58 +10:00
Ronnie Sahlberg
7e86ed7962
Add multithreaded example using the async API
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com >
2025-04-26 11:28:57 +10:00
Ronnie Sahlberg
31fd95dc8f
README: add blurb about multithreading
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com >
2025-04-26 08:59:28 +10:00
Ronnie Sahlberg
edd7d9b843
Remove the small allocations
...
This is not compatible with multithreading and would require a complete
re-design.
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com >
2025-04-26 08:56:16 +10:00
Ronnie Sahlberg
8047421868
Protect some variables in iscsi_context by the spinlock
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com >
2025-04-26 08:56:16 +10:00
Ronnie Sahlberg
91cc1e4197
Protect outqueue and waitpdu with a spinlock
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com >
2025-04-26 08:56:16 +10:00
Ronnie Sahlberg
4593746363
Add spinlock primitives
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com >
2025-04-26 08:56:16 +10:00
Ronnie Sahlberg
3fc5d2996b
iscsi_queue_pdu() can never fail, make it void
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com >
2025-04-26 08:56:16 +10:00
Ronnie Sahlberg
37bc6fcd81
TCP: immediately trigger the service thread to write PDU
...
IF qe queue a new PDU to an empty outqueue then the mt service thread
will still be stuck in poll() until it timesout or the socket becomes
readable.
Fix this by sending SIGUSR1 to the service thread when we queue a PDU
to an empty queue. This will break out of poll() and we can immediately
go and write to the socket.
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com >
2025-04-26 08:56:16 +10:00
Ronnie Sahlberg
f63ed0b76e
Remove two global variables used to set the initial seed
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com >
2025-04-26 08:56:16 +10:00
Ronnie Sahlberg
ca0df22ede
Add iscsi-pthreads-readloop
...
This is a tool to create multiple contexts and threads and run read operations on all
of them in a loop.
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com >
2025-04-26 08:56:16 +10:00
Ronnie Sahlberg
5b391ad188
Pass iscsi to iscsi_init_sync_state
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com >
2025-04-26 08:56:16 +10:00
Ronnie Sahlberg
09ec037e34
Make the mutex symbols always available
...
so we do not need to wrap them inside an ifdef.
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com >
2025-04-26 08:56:16 +10:00
Ronnie Sahlberg
1f91358c8a
Flag variables in iscsi_context for multithreading audit
...
These variables may need to be protected by a mutex.
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com >
2025-04-26 08:56:16 +10:00
Ronnie Sahlberg
3c48aea225
Add initial multithreading support and example
...
This is the basic support for doing i/o in a separate worker thread.
It is still not threads safe but a start.
Now we need to protect all variables such as outqueue, waitpdu
and friends.
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com >
2025-04-26 08:56:16 +10:00
Ronnie Sahlberg
ecc8a10212
Merge pull request #440 from plieven/small_fixes
...
Small fixes
2025-03-27 09:38:01 +10:00
Peter Lieven
eb0853e36e
fix: use correct maximum length for TargetName and InitiatorName
...
Signed-off-by: Peter Lieven <pl@dlhnet.de >
2025-03-26 13:28:23 +00:00
Peter Lieven
90036a167d
refactor(TODO): cleanup todos that have been implemented for ages
...
Signed-off-by: Peter Lieven <pl@dlhnet.de >
2025-03-26 13:19:47 +00:00
Ronnie Sahlberg
e968a37c4d
Merge pull request #439 from plieven/feat/improve_logging
...
Add some logging improvements
2025-03-26 08:23:30 +10:00
Peter Lieven
696c946a9b
feat(socket): log resolved ip addresses if portal is a hostname
...
Signed-off-by: Peter Lieven <pl@dlhnet.de >
2025-03-25 22:06:21 +00:00
Peter Lieven
98f0f2f7f1
fix(socket): restore logging of local ip and port
...
commit a92b413 removed the logging of local ip and port.
For debugging puposes these information can be important.
Restore functionality by using the new thread safe replacement
for inet_ntoa called inet_ntop.
Signed-off-by: Peter Lieven <pl@dlhnet.de >
2025-03-25 22:06:19 +00:00
Peter Lieven
7f0a8597d6
feat(logging): include LUN into log messages
...
a process might have a connection to different LUNs on the same target.
To be able to distinguish the different connections add the LUN id to the target
to log messages.
Signed-off-by: Peter Lieven <pl@dlhnet.de >
2025-03-25 22:06:15 +00:00
Ronnie Sahlberg
cb44ad4e26
Add multithreading helpers
...
Add an abstraction for mutexts and threads
that handles both pthread api and native win32 api
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com >
2025-03-07 08:46:47 +10:00
Ronnie Sahlberg
f8542ab5cc
Add checks if pthreads are available and enable HAVE_MULTITHREADING
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com >
2025-03-07 07:04:17 +10:00
Ronnie Sahlberg
b8d9fbf5e3
Add CHAP SHA3-256 support
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com >
2025-01-04 14:20:28 +10:00
Ronnie Sahlberg
34e83f7dbd
Add support for CHAP with SHA-256
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com >
2025-01-04 09:09:02 +10:00
Ronnie Sahlberg
95a0d98cfd
Add support for CHAP using SHA1
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com >
2025-01-04 00:59:02 +10:00
Ronnie Sahlberg
a92b41318c
Don't use inet_ntoa, it is deprecated
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com >
2025-01-03 15:48:51 +10:00
Ronnie Sahlberg
9637e1371e
Merge pull request #434 from raywang-dev/fix-stack-corruption
...
fix: scan PDUs before exiting event_loop due to connect timedout
2024-12-07 01:30:47 -05:00