opengnsys_ipxe/src
Michael Brown 65bc070b05 [interface] Allow for non-pass-through interface methods
xfer_vredirect() should not be allowed to propagate to a pass-through
interface.  For example, when an HTTPS connection is opened, the
redirect message should cause the TLS layer to reopen the TCP socket,
rather than causing the HTTP layer to disconnect from the TLS layer.

Fix by allowing for non-pass-through interface methods, and setting
xfer_vredirect() to be one such method.

This is slightly ugly, in that it complicates the notion of an
interface method call by adding a "pass-through" / "non-pass-through"
piece of metadata.  However, the only current user of xfer_vredirect()
is iscsi.c, which uses it only because we don't yet have an
ioctl()-style call for retrieving the underlying socket address.
The new interface infrastructure allows for such a call to be created,
at which time this sole user of xfer_vredirect() can be removed,
xfer_vredirect() can cease to be an interface method and become simply
a wrapper around xfer_vreopen(), and the concept of a non-pass-through
interface method can be reverted.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
2010-06-22 19:12:40 +01:00
..
arch [interface] Convert all data-xfer interfaces to generic interfaces 2010-06-22 15:50:31 +01:00
bin Rename .cvsignore files to .gitignore 2007-06-09 22:57:00 +01:00
config [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
core [interface] Allow for non-pass-through interface methods 2010-06-22 19:12:40 +01:00
crypto [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
doc [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
drivers [interface] Convert all data-xfer interfaces to generic interfaces 2010-06-22 15:50:31 +01:00
hci [libc] Enable automated extraction of error usage reports 2010-05-31 03:11:57 +01:00
image [refcnt] Add ref_init() wrapper function 2010-06-22 14:26:40 +01:00
include [interface] Allow for non-pass-through interface methods 2010-06-22 19:12:40 +01:00
interface [efi] Add the "snpnet" driver 2010-06-02 15:15:29 +01:00
libgcc [build] Mark __intel_new_proc_init with __libgcc rather than cdecl 2009-08-03 15:56:10 +01:00
net [interface] Convert all data-xfer interfaces to generic interfaces 2010-06-22 15:50:31 +01:00
tests [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
usr [libc] Enable automated extraction of error usage reports 2010-05-31 03:11:57 +01:00
util [libc] Enable automated extraction of error usage reports 2010-05-31 03:11:57 +01:00
.gitignore [build] Add support for local configuration files 2010-03-26 19:07:22 +00:00
Makefile [efi] Add the "snpnet" driver 2010-06-02 15:15:29 +01:00
Makefile.housekeeping [libc] Enable automated extraction of error usage reports 2010-05-31 03:11:57 +01:00
doxygen.cfg [build] Remove PACKED macro 2010-05-29 23:49:47 +01:00