Joshua Oreman
3d9dd93a14
[uri] Decode/encode URIs when parsing/unparsing
...
Currently, handling of URI escapes is ad-hoc; escaped strings are
stored as-is in the URI structure, and it is up to the individual
protocol to unescape as necessary. This is error-prone and expensive
in terms of code size. Modify this behavior by unescaping in
parse_uri() and escaping in unparse_uri() those fields that typically
handle URI escapes (hostname, user, password, path, query, fragment),
and allowing unparse_uri() to accept a subset of fields to print so
it can be easily used to generate e.g. the escaped HTTP path?query
request.
Signed-off-by: Joshua Oreman <oremanj@rwcr.net>
Signed-off-by: Marty Connor <mdc@etherboot.org>
2010-01-20 18:14:28 -05:00
Michael Brown
c9e5b12473
[i386] Add explicit flags and type on all .section declarations
...
Try to avoid future problems caused by implicit section flags and/or
type information by instituting a policy that all .section
declarations must explicitly state the flags and type.
Most of this change was achieved using
perl -pi \
-e 's/".text"$/".text", "ax", \@progbits/ ; ' \
-e 's/".text16"$/".text16", "ax", \@progbits/ ; ' \
-e 's/".text16.null"$/".text16.null", "ax", \@progbits/ ; ' \
-e 's/".text16.data"$/".text16.data", "aw", \@progbits/ ; ' \
-e 's/".data"$/".data", "aw", \@progbits/ ; ' \
-e 's/".data16"$/".data16", "aw", \@progbits/ ; ' \
-e 's/".bss"$/".bss", "aw", \@nobits/ ; ' \
-e 's/".bss16"$/".bss16", "aw", \@nobits/ ; ' \
-e 's/".prefix"$/".prefix", "ax", \@progbits/ ; ' \
-e 's/".prefix.lib"$/".prefix.lib", "awx", \@progbits/ ; ' \
-e 's/".prefix.data"$/".prefix.data", "aw", \@progbits/ ; ' \
-e 's/".weak"$/".weak", "a", \@nobits/ ; ' \
`git grep -l '\.section'`
2009-02-15 10:59:53 +00:00
Daniel Verkamp
e8b22f203f
[comboot] Add COMBOOT and COM32 support
2008-08-28 23:52:19 +01:00
Stefan Hajnoczi
3715c8c721
[GDB] Zero-extend 16-bit segment registers
...
When the 16-bit segment registers are accessed using 32-bit instructions
the high order bytes are undefined on older CPUs. We now explicitly
zero the high order bytes when snapshotting the CPU state. This ensures
that the GDB stub reports consistent values for the segment registers.
2008-06-30 19:19:48 +01:00
Stefan Hajnoczi
19386ec2c8
[GDB] Add watch and rwatch hardware watchpoints
2008-06-30 19:19:48 +01:00
Stefan Hajnoczi
6e670b5f38
[GDB] Remote debugging over UDP
...
This commit implements GDB over UDP. Using UDP is more complex than
serial and has required some restructuring.
The GDB stub is now built using one or both of GDBSERIAL and GDBUDP
config.h options.
To enter the debugger, execute the gPXE shell command:
gdbstub <transport> [<options>...]
Where <transport> is "serial" or "udp". For "udp", the name of a
configured network device is required:
gdbstub udp net0
The GDB stub listens on UDP port 43770 by default.
2008-06-30 19:19:48 +01:00
Stefan Hajnoczi
59b5465b30
[GDB] Handle kill and detach packets.
...
This commit also includes a test to ensure that single stepping works,
since continue, kill, detach, and single step all share code.
2008-06-30 19:19:48 +01:00
Stefan Hajnoczi
4180815a90
[GDB] Test suite for the GDB stub
2008-06-05 00:45:51 +01:00
Michael Brown
720e256c50
[Misc] Kill off long-redundant tests/dhcptest.c
2008-03-21 00:07:36 +00:00
Michael Brown
43013da9bf
Quick hack to get AoE back in to the tree, on a par with the current
...
iSCSI hack.
2007-07-29 02:31:14 +01:00
Michael Brown
487dc5be56
Fix up iscsiboot missing prototype warnings
2007-07-09 01:10:32 +01:00
Michael Brown
b94420a52b
Ready to start testing
2007-07-08 22:01:49 +01:00
Marty Connor
ec0da04e7d
Warnings purge iscsiboot.c
2007-07-03 16:20:54 -04:00
Michael Brown
01b3dd4fc3
Line buffer API changed a while ago
2007-07-03 21:21:50 +01:00
Michael Brown
15f8323055
Removing obsolete files.
2007-07-01 15:30:12 +01:00
Michael Brown
07dc294de8
Update DHCP to use data-xfer interface (not yet tested).
2007-06-27 23:20:36 +01:00
Michael Brown
b7ccdb7948
Add a couple of tests for the URI parsing and resolving code.
2007-06-03 02:15:00 +00:00
Michael Brown
73b09ecba6
Use stdio.h instead of vsprintf.h
2007-01-19 01:13:12 +00:00
Michael Brown
a213876382
Typo
2007-01-19 00:48:13 +00:00
Michael Brown
544fa25928
Rename e{malloc,realloc,free} to u{malloc,realloc,free}, to more obviously
...
reflect the fact that they allocate and deallocate user memory (i.e.
things reached through a userptr_t).
2007-01-16 08:36:42 +00:00
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.
2007-01-15 08:49:10 +00:00
Michael Brown
698bbe0155
Obsolete
2007-01-14 04:28:42 +00:00
Michael Brown
497c3a5aad
Fixed HTTP
2007-01-12 19:18:13 +00:00
Michael Brown
83b7933f8a
Damn it; my lovely resilient scheme falls down when you have a protocol
...
that switches from line-oriented to byte-oriented partway through, such as
HTTP.
2007-01-12 18:09:14 +00:00
Michael Brown
996b091b50
Added generic line-buffering code (a la stdio)
2007-01-12 17:08:37 +00:00
Michael Brown
112d7f9d79
Code used for load buffer and multiboot image testing
2007-01-12 10:12:11 +00:00
Michael Brown
132a8fe49d
Quick and dirty test for emalloc()
2007-01-12 03:27:05 +00:00
Michael Brown
c810baad37
Use generic "struct image" rather than "struct elf".
2007-01-11 16:10:32 +00:00
Michael Brown
d84ec0e5d5
Had this file lying around for ages; may as well check it in.
2007-01-11 15:31:50 +00:00
Michael Brown
91ac92bc86
Try image as ELF file first. (Don't yet actually try to execute it).
2007-01-11 15:27:06 +00:00
Michael Brown
3460860bef
Print informative error message when boot fails.
2007-01-11 15:26:17 +00:00
Michael Brown
0010e10ef3
Update TFTP to use a struct buffer rather than a callback.
...
Add debug autocolourisation to TFTP.
2007-01-11 15:14:54 +00:00
Michael Brown
fbfed96965
buffer.c should be using copy_{to,from}_user, rather than
...
copy_{to,from}_phys.
2007-01-11 05:42:06 +00:00
Michael Brown
6918cf9e9e
Change FTP to use a data buffer rather than a callback function.
2007-01-11 04:51:20 +00:00
Michael Brown
c0ef730ec4
Fix bug in buffer.c, add buffer mini-unit test.
2007-01-11 04:46:41 +00:00
Michael Brown
d45c5e7ce7
Add "route" command (which currently only displays the routing table; it
...
can't modify it).
2007-01-10 20:51:14 +00:00
Michael Brown
d9ba8f790b
Add route() function to display routing table.
2007-01-10 20:38:20 +00:00
Michael Brown
649b789e93
DHCP transmits via specified net device, so no need to create a dummy
...
routing table entry just to fool ipv4.c any more.
2007-01-10 02:37:23 +00:00
Michael Brown
98b6154c3e
Add "name" field to network device, to facilitate netdev commands.
2007-01-09 23:48:18 +00:00
Michael Brown
61ed298bc7
Merge changes from mcb-tcp-fixes branch.
2006-12-27 23:09:46 +00:00
Michael Brown
a2e3357825
Cannot immediately overwrite the peer address when we parse
...
TargetAddress from the login response, because we still need the old
address while we close the connection!
2006-12-22 12:24:12 +00:00
Michael Brown
9485478acc
ibft_fill_data() prototype change.
2006-12-21 18:42:51 +00:00
Michael Brown
024809d454
Use a bigger buffer for the initiator IQN
2006-12-21 17:42:02 +00:00
Michael Brown
ab242a760d
Add ability to shut down iSCSI connection
2006-12-21 17:17:47 +00:00
Michael Brown
286db6ffa3
Print explicit error message on iSCSI boot failure, and add
...
"Permission denied" as an error text to strerror().
2006-12-21 16:16:24 +00:00
Michael Brown
8e460de6be
Obsolete, and no longer functions
2006-12-19 00:34:54 +00:00
Michael Brown
2ed2b2efe8
Use iskey() and getchar() to interact with console, rather than object
...
abstraction.
2006-12-18 16:46:25 +00:00
Michael Brown
c0ec119ede
Typo
2006-12-12 16:18:42 +00:00
Michael Brown
72b1629cee
Add placeholder ibft.h
2006-12-08 16:16:21 +00:00
Michael Brown
9aa3e10d7c
Use root-path option (as per RFC 4173) rather than filename option to
...
determine iSCSI boot parameters.
2006-12-08 15:53:49 +00:00