Michael Brown
f6a8158eed
Make seek information part of the xfer metadata, rather than an entirely
separate xfer method.
Add missing .alloc_iob entries to several xfer_interface_operations
structures.
16年前
Michael Brown
82bae302b1
Fix off-by-one error (discovered by Shao Miller).
16年前
Michael Brown
df868476e7
Various warnings fixups for OpenBSD with gcc-3.3.5.
17年前
Michael Brown
c194b0c4bf
Work around a bug in the OpenSolaris iSCSI target.
We didn't specify values for MaxRecvDataSegmentLength and
MaxBurstLength (to save space, since we were happy with the
RFC-defined default values of 8kB and 256kB respectively). However,
the OpenSolaris target (incorrectly) assumes default values of zero
for these parameters.
The upshot was that the OpenSolaris target would get stuck in an
endless loop trying to send us the first 512-byte sector, zero bytes
at a time, and would eventually run out of memory and core-dump.
Fixed by explicitly specifying the default values for these two
parameters.
17年前
Michael Brown
9fd6a0418f
Allowed zero-cost enforced ordering of features in startup banner
list.
Added FEATURE() macros to most relevant (non-driver) files.
17年前
Michael Brown
67afe84292
Use otherwise-useless byte in DHCP feature option as a version number
17年前
Michael Brown
0acb016840
Add FEATURE() macro, plus code to display features at startup time,
and generate DHCP options to indicate features to DHCP server (and to
PXE NBPs).
17年前
Michael Brown
bf3d8fb1aa
Allowed HTTPS to be a separately configurable feature.
17年前
Michael Brown
6fc9ed167e
TLS now working again.
17年前
Holger Lubitz
e6cfa7ced9
make http_open static
17年前
Michael Brown
47a86bca2d
Prepare for iBFT merge when possible. iscsiboot.c contains a really,
really ugly hack at present, but that doesn't hugely matter since I'm
aiming to change the interface to iSCSI devices anyway within the next
week.
17年前
Michael Brown
94415b7669
Added missing "static" declarations
17年前
Michael Brown
b3e44a24b1
May be required in some disconnect scenarios
17年前
Michael Brown
fd4fcb57db
Add missing static
17年前
Michael Brown
fabd0f5fec
Fix TX state machine and miscellaneous other bits.
17年前
Michael Brown
ef9fd938d0
Fix root-path parsing.
17年前
Michael Brown
b94420a52b
Ready to start testing
17年前
Michael Brown
edd1b173a7
Code in place to use a hypothetical SCSI interface.
17年前
Michael Brown
f2fa390ae6
Everything except the SCSI interface should now be present
17年前
Michael Brown
9b28b25332
iSCSI updated to use data-xfer interface on the socket side (TCP).
SCSI interface not yet implemented.
17年前
Michael Brown
b34d4d0449
Separate the "is data ready" function of xfer_seek() into an
xfer_window() function, which can return a scalar rather than a
boolean.
17年前
Michael Brown
ca4c6f9eee
Kill off unused request() method in data-xfer interface.
17年前
Holger Lubitz
7872b890fe
convert to zalloc
17年前
Holger Lubitz
7fa85d19b9
convert to zalloc
17年前
Michael Brown
8156f6bd19
Switch compiler warning on tcp_open() to a #warning
17年前
Michael Brown
a5f33ea283
Added missing line to set return status code.
17年前
Michael Brown
95adce0ce1
Add concept of transfer metadata, to be used by UDP in order to
implement sendto()/recvfrom() equivalents.
17年前
Michael Brown
335b99a39d
Move [v]ssnprintf() from iscsi.c into vsprintf.c; we need them
elsewhere as well.
17年前
Michael Brown
4ccd1e8198
Should call ftp_done() if constructor fails.
17年前
Michael Brown
735e07268e
Update HTTP to use data-xfer interface.
17年前
Michael Brown
0dfd5b84fd
Updated FTP to use data-xfer API.
17年前
Michael Brown
af3149d18e
Allow queries in GET requests
17年前
Michael Brown
a3695b1ff6
Placeholder for TLS insertion
17年前
Michael Brown
6d32f0e6e2
Changed to use the generic stream API.
17年前
Michael Brown
bde8878eef
Keep HTTP progress updated, and display a progress indicator during the
download
17年前
Michael Brown
73b09ecba6
Use stdio.h instead of vsprintf.h
17年前
Michael Brown
4e3976711d
A working name resolution framework
17年前
Michael Brown
6c72bf13a1
Presize the download buffer when we see the Content-Length header;
this saves around 70us per received packet (which is around 50% of the
overall packet processing time).
17年前
Michael Brown
08da93a311
Reorder functions to more closely reflect the flow of control
17年前
Michael Brown
dd6d94004f
HTTP/DNS now working fully asynchronously. HTTP/IP addresses and any
other protocol won't work at the moment.
17年前
Michael Brown
143d14614d
Quickly hack in DNS resolution as a proof of concept
17年前
Michael Brown
df0397f334
Update TFTP and FTP to take the same temporary URI scheme as HTTP
17年前
Michael Brown
afa752f5fb
Protocol's get() method no longer takes ownership of the URI. HTTP is the
exception rather than the rule; we may as well keep things clean for other
protocols.
17年前
Michael Brown
1f92c6b3e8
Must free http on the error path; nothing else will do it
17年前
Michael Brown
c676591cd1
Unmaintained example code is probably worse than useless.
17年前
Michael Brown
4e20d73bb5
Gave asynchronous operations approximate POSIX signal semantics. This
will enable us to cascade async operations, which is necessary in order to
properly support DNS. (For example, an HTTP request may have to redirect
to a new location and will have to perform a new DNS lookup, so we can't
just rely on doing the name lookup at the time of parsing the initial
URL).
Anything other than HTTP is probably broken right now; I'll fix the others
up asap.
17年前
Michael Brown
497c3a5aad
Fixed HTTP
17年前
Michael Brown
ad22cccc09
No need to maintain a received byte count; we always fill in sequential
order so we can just use buffer->fill.
17年前
Michael Brown
6918cf9e9e
Change FTP to use a data buffer rather than a callback function.
17年前
Michael Brown
aaca21a2b6
We can't assert that the RX engine is idle in iscsi_done(), because it
may be called during the RX data processor, before the RX engine
transitions back to idle. It doesn't really matter if the RX engine
isn't idle when iscsi_done() is called, because it will just pick up
where it left off on the next call. (The same is not true for the TX
engine, so keep the TX engine assertion.)
17年前