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>tags/v1.20.1
|
|
||
151 |
|
151 |
|
152 |
|
152 |
|
153 |
|
153 |
|
154 |
|
|
|
|
154 |
|
|
155 |
|
155 |
|
156 |
|
156 |
|
157 |
|
157 |
|
158 |
|
158 |
|
159 |
|
159 |
|
160 |
|
160 |
|
161 |
|
|
|
162 |
|
|
|
|
161 |
|
|
|
162 |
|
|
|
163 |
|
|
163 |
|
164 |
|
164 |
|
165 |
|
165 |
|
166 |
|
166 |
|
167 |
|
|
168 |
|
|
|
169 |
|
|
|
170 |
|
|
|
171 |
|
|
|
172 |
|
|
|
173 |
|
|
|
174 |
|
|
|
175 |
|
|
|
176 |
|
|
|
177 |
|
|
|
178 |
|
|
|
179 |
|
|
|
180 |
|
|
|
181 |
|
|
|
182 |
|
|
|
183 |
|
|
|
184 |
|
|
|
185 |
|
|
|
186 |
|
|
|
187 |
|
|
|
188 |
|
|
|
189 |
|
|
167 |
|
190 |
|
|
191 |
|
|
168 |
|
192 |
|
169 |
|
193 |
|
170 |
|
194 |
|
171 |
|
|
|
172 |
|
|
|
173 |
|
|
|
174 |
|
|
|
175 |
|
|
|
176 |
|
|
|
|
195 |
|
|
|
196 |
|
|
|
197 |
|
|
177 |
|
198 |
|
178 |
|
199 |
|
179 |
|
200 |
|
|
|
||
56 |
|
56 |
|
57 |
|
57 |
|
58 |
|
58 |
|
59 |
|
|
|
|
59 |
|
|
60 |
|
60 |
|
61 |
|
61 |
|
62 |
|
62 |
|
|
|
||
132 |
|
132 |
|
133 |
|
133 |
|
134 |
|
134 |
|
|
135 |
|
|
|
136 |
|
|
|
137 |
|
|
135 |
|
138 |
|
136 |
|
139 |
|
137 |
|
140 |
|
|
|
||
171 |
|
174 |
|
172 |
|
175 |
|
173 |
|
176 |
|
|
177 |
|
|
|
178 |
|
|
|
179 |
|
|
|
180 |
|
|
|
181 |
|
|
|
182 |
|
|
|
183 |
|
|
|
184 |
|
|
|
185 |
|
|
|
186 |
|
|
|
187 |
|
|
|
188 |
|
|
174 |
|
189 |
|
175 |
|
190 |
|
176 |
|
191 |
|