When determining what to put in to param->negotiated, it is *NOT*
sufficient to just pick one of offer_tx or offer_rx -- we may need to
use answer_rx or answer_tx as the negotiated parameter. Failure to
pay attention to which case we are handling means we will occasionally
get "old parameter values" stuffed into responses, resulting in
obscure behavior (such as getting luns mixed up after a normal
connection is made) that is very difficult to replicate.
macro which was never changed. This is the QAD fix, longer term we will
move to use native md5 routines if available.
Should go some way to fixing authentication problems when using an
initiator and target of different endianness.
Revert Max LBA calculation when returning the Maximum LBA from the target
to the iinitiator, following an email conversation with Jonathan Kollasch,
who points out a number of things:
+ the NetBSD scsipi driver reads the value returned by the drive and adds
one to it, so that standard SCSI drives return the 0-based Max LBA in a
READ CAPACITY command.
+ it is up to the initiator to add 1 to the Max LBA to find out the size
of the LUN (Jonathan verified this by using the UNH iSCSI initiator on
to a NetBSD target)
+ an analogous change to the NetBSD initiator (revision 1.4 of
iscsifs.c) is needed.
is not used by the NetBSD reachover framework).
Get rid of the misplaced bin directory during the build phase, it's not
necessary.
Add commands to build the NetBSD iSCSI initiator.
Initial import of the Automated Testing Framework, version 0.3, a project
that provides a framework to easily implement test cases for the NetBSD
operating system and some tools to run them and generate reports with the
results.
Note that this is just the framework (libraries and tools), which is and
will be maintained externally. The tests themselves will come later, will
be put under the 'tests' hierarchy and will be managed exclusively under
the NetBSD CVS tree given that they are tied to the operating system.
The work done until version 0.1 was sponsored by the Google Summer of Code
2007 program and mentored by martin@.
- reject absolute names in +CONTENT
- fix size issues with pkg_add -u and buffer handling
- print file name of failed renames in pkgdb during pkg_add -u
- remove warning when running pkg_add as non-root
- remove more traces of master/slave mode
- update URLs for new ftp.netbsd.org layout
- make warning of broken symlinks separate from warning for non-existant
files
- FETCH_PRE_ARGS option for download-vulnerability-list
- print only base package name in FILE_NAME for pkg_info -X
- don't leak memory in Dewey, it is called a lot more often now and
makes a difference
- just allocate in vfcexec and free, don't bother caching the exec
buffer
- remove some FTP debugging code
- make more allocation errors in the pkgdb iteration code fatal
- glob patterns and simple patterns are checked for being version-free
as well
- try harder to get setgid permissions correctly when extracting as
non-root
- fix waitpid to correctly handle EINTR
code to retry on SIOCGIFCONF not returning all interfaces is broken,
this unreasonably large buffer should handle the case of a machine
with lots of (usually virtual) interfaces. dhcpd 4 uses a different
method to get interface configuration, so this kludge should go away
on upgrade.
Fix based on understanding of the code, but has been compile-tested
only, to address failure report received from Michael Graff.
Pay closer attention to the TSIH value that is assigned by the target -
rather than a simple (session id + 1) value, which cycles after 16 sessions
are used, use a central counter, and increment that whenever a TSIH is
apportioned. This fixes some problems for me with multiple targets being
ignored, and only the first target being used. Tested with the Microsoft
initiator, and the embryonic NetBSD initiator.
Use more enumerated types, rather than cpp definitions.
Use enumerated types also in preference to magic numbers.
In the iSCSI test harness, use the -t argument to specify a disk target
exported by the NetBSD iSCSI target. This allows us to test for the
situation outlined above.
Add my copyright to the test harness - there's no Intel code left anymore.
Modify the way initiator login and logout information is presented to the
user. This is only of concern to people who use this with the target in
non-detached (non-daemon) mode.
Get rid of the MODE_SENSE_10 and MODE_SELECT_10 cases in the disk switch,
since they do not return responses in the correct format yet.
functions. Code contributed by Aleksey Cheusov in PR#36394, and slightly
tweaked for closer-to-KNF conventions by me. Also slightly improved checks
of error returns.
- include <stdbool.h> so bool is available _KERNEL for sys/condvar.h
- include <sys/mutex.h> before defining _KERNEL so it won't try to
include <machine/intr.h> which isn't available to userland.
fixes builds on sparc64.
+ fix a reported problem with newer versions of FreeBSD which require
a block of data to be read and written, rather than a single byte.
+ add support for Extended Inquiry Data VPD Page (0x86), reported to be
necessary to interoperate with the AIX initiator.
+ add preliminary support for the Write and Verify SCSI operation (0x2e).
writable, do the touch(1) dance with 512 bytes of information, rather
than just a single byte - the single byte read and write causes
problems on newer versions of FreeBSD, I am informed. Patch from
Andrey Yakovlev, cleaned up to compile by myself.
Add support for Extended Inquiry Data VPD Page (0x86), reported to be
necessary to interoperate with the AIX initiator.
Add preliminary support for the Write and Verify SCSI operation (0x2e).
http://www.ludd.ltu.se/~ragge/pcc/
This is based on the original Portable C Compiler by S. C. Johnson,
written in the late 70's. Even though much of the compiler has been
rewritten, some of the basics still remain.
The goal of pcc is to produce a small, simple, fast and understandable
C99 compiler under a BSD licence.
next ifreq is sizeof(struct ifreq) after the current one unless the
sockaddr is bigger than the union in ifreq that holds it.
In the original 4.4BSD code, this interpretation results in the same
behavior as the "is the sockaddr bigger than struct sockaddr", because
sizeof(struct sockaddr) and sizeof(ifc->ifr_ifru) are the same.
Add comments pointing out problems in the 'need bigger buffer' code,
and copying excessive amounts of data.