URL encoded Targetnames

Assume target names are URL encoded with '%' as the special character.

Any sequence of '%' followed by two bytes in the target name will be replaced
with the byte that the second two bytes represent in hexadecimal.

Example
iqn.ronnie.test%3A1234
will be translated to iqn.ronnie.test:1234
Update libiscsi.def/.syms for iscsi_set_bind_interfaces

Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
Change a u_int32_t to uint32_t

Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
Add a cast to ssize_t
Add _U_ to some variables that might be unused
Flag another argument as _U_
Don't use -Wwrite-strings on Solaris

They have a weirdass struct option {} so we can't use this warning.
Solaris: older versions of solaris needs to link with nsl/socket
README  Update readme and indicate solaris 11 needs gmake, not make
Use PRIu64 for format string
TESTS: Some targets just discard a command with "unexpected" r/w flags

Set timeout for the read10 invalid test for a read10 with w flag set
and fail the test if we have not received any reply at all within 3 seconds.
scsi-lowlevel: do not use unsafe pointer casts

Casting unsigned char * pointers to uint32_t * may cause wrong
results if the pointers are not correctly aligned.  Instead,
build up the big-endian values from each byte with multiple
dereferences of the original pointer.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Merge pull request #66 from bonzini/master

scsi-lowlevel: do not use unsafe pointer casts
TESTS: Add tests for the reserved bits/bytes in SANITIZE
TESTS: SANITIZE, Add tests for WABEREQ/WACEREQ
TESTS:SANITIZE verify that if BLOCK_ERASE is available we have LBPME==1
TESTS: Sanitize check that after block erase all blocks are unmapped
TESTS: Add helper function for READ10 that returns a task*
TESTS: Rename the tests and strip off the redundant prefix for the individual tests

We dont need to repeat the opcode all the time so remove it from the indiviual tests

SCSI.Read10.Read10Simple -> SCSI.Read10.Simple
TESTS: Verify that WACEREQ is 0 if SANITIZE CRYPTO ERASE is not supported