Commit Graph

311 Commits

Author SHA1 Message Date
Michael Brown 95206577a7 Trivial ASN.1 decoding functions. 2007-04-21 18:53:26 +00:00
Anselm Martin Hoffmeister ed7dc02a95 hoffmeis: Preparations for syslog support (LOGSERVER in DHCP, linewise
output buffering defintions and the like)
2007-04-09 18:01:43 +00:00
Michael Brown 520d9c36af Updated ISAPnP, EISA, MCA and ISA buses to current device model.
ISA 3c509 is currently non-functional, although the EISA (3c509-eisa) and
MCA (3c529) variants should build OK.

None of this code is yet tested.
2007-03-10 18:08:33 +00:00
Michael Brown 0050378f51 SHA1_DIGEST_SIZE also available as a static constant 2007-02-01 06:36:45 +00:00
Michael Brown cc8f9e4b7f Make context sizes available for statically-allocated structures 2007-02-01 05:48:56 +00:00
Michael Brown f5776dbef1 Fix prototypes 2007-02-01 02:18:56 +00:00
Michael Brown a1f021db96 Placeholder 2007-02-01 02:17:33 +00:00
Michael Brown 1ae70e12e5 Added wrapper for AXTLS AES code 2007-01-31 18:09:20 +00:00
Michael Brown 0d07657296 Added setiv method 2007-01-31 17:58:36 +00:00
Michael Brown c1aa1d0764 Add wrapper around axtls' sha1 code 2007-01-31 12:24:01 +00:00
Michael Brown a3695b1ff6 Placeholder for TLS insertion 2007-01-31 03:47:42 +00:00
Michael Brown 1f5f900595 Add HTTPS port 2007-01-31 03:44:38 +00:00
Michael Brown 21f3789ec8 Swap downstream/upstream order so that debug messages for filters show
up in the same colour as debug messages for the application stream.
2007-01-31 03:43:40 +00:00
Michael Brown e38e516463 Add insert_filter() function 2007-01-31 03:04:56 +00:00
Michael Brown a008f9e85b Add null crypto algorithm 2007-01-31 03:04:31 +00:00
Michael Brown 6d32f0e6e2 Changed to use the generic stream API. 2007-01-31 02:09:13 +00:00
Michael Brown 811db204a6 Added cipher wrapper functions 2007-01-30 22:54:20 +00:00
Michael Brown b3e4418ea8 Missing check-in 2007-01-30 22:53:59 +00:00
Michael Brown db2fde474e Generalise digest_algorithm to crypto_algorithm. 2007-01-30 14:55:17 +00:00
Michael Brown 2f7eac1646 Low-overhead filter streams 2007-01-30 12:17:03 +00:00
Michael Brown ddf3b56d47 Definition of a (hopefully) generic stream API 2007-01-30 12:16:36 +00:00
Michael Brown 1a79437888 Added async_block_progress() and default SIGUPDATE handler. 2007-01-29 04:15:24 +00:00
Michael Brown c42a384709 Moved most buffer debug messages to DBG2.
Make expand_buffer() a non-inline function, so that we can add debug
messages.

Expandable buffers now don't *always* round up to the next power of two.
This allows e.g. loading a 137MB ISO image on a machine with only 256MB
RAM...
2007-01-29 04:12:29 +00:00
Michael Brown bf9ec8102f Add 64-bit rotates 2007-01-26 02:53:30 +00:00
Michael Brown da9dc834b1 Help quick testing of building Linux code inside gPXE 2007-01-24 23:38:05 +00:00
Michael Brown 9cf5c4557d Add Linux-compatible rol32/ror32 functions. Amazingly, gcc will
optimise these down to the correct single "roll"/"rorl" instruction.
2007-01-24 23:31:58 +00:00
Michael Brown f4c1e564a1 vsprintf.h is gPXE-specific; move it to include/gpxe 2007-01-19 01:17:23 +00:00
Michael Brown 4e3976711d A working name resolution framework 2007-01-18 22:38:13 +00:00
Michael Brown 075f8144ff Have DHCP set the nameserver, rather than DNS read the DHCP nameserver
value.
2007-01-18 21:22:03 +00:00
Michael Brown c014f607a8 Use total free memory as advertised window. This seems to be sufficient
to avoid drops even on slow NICs.
2007-01-18 20:39:17 +00:00
Michael Brown 6d4e37cf42 Move include/malloc.h to include/gpxe/malloc.h, since everything in there
is now gPXE-specific.  (The standard malloc() et al have been in stdlib.h
for a while).

Add free memory counter.
2007-01-18 20:11:04 +00:00
Michael Brown 5b00fbade3 Increase window size to 64kB. Line rate downloads on a 100Mbps link,
anyone?
2007-01-18 16:39:55 +00:00
Michael Brown c8b3e969a0 Allow buffers to be pre-expanded on demand. 2007-01-18 15:13:41 +00:00
Michael Brown dd6d94004f HTTP/DNS now working fully asynchronously. HTTP/IP addresses and any
other protocol won't work at the moment.
2007-01-18 03:39:45 +00:00
Michael Brown 0b11733b75 Replacement for fetch() which operates asynchronously and identifies
protocols by URI scheme.
2007-01-18 03:37:05 +00:00
Michael Brown 99e58865c7 Use struct sockaddr rather than struct sockaddr_tcpip
Tidy up code
2007-01-18 03:35:00 +00:00
Michael Brown 6601a7da6a Added async_uninit() to simplify failure paths. 2007-01-18 03:29:40 +00:00
Michael Brown 5a807994d8 Add utility function to parse port from URI 2007-01-18 03:28:55 +00:00
Michael Brown 8ffbbebf11 Ensure that struct sockaddr is long enough... 2007-01-18 03:28:29 +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 ff8528ea9a Create and use async_block() macro; it cuts down on the visual overhead
of blocking on asynchronous operations, when that isn't an important
aspect of the code.
2007-01-16 08:10:54 +00:00
Michael Brown 9af12d5fba A working DNS resolver (not yet tied in to anything) 2007-01-15 17:31:35 +00:00
Michael Brown df0397f334 Update TFTP and FTP to take the same temporary URI scheme as HTTP 2007-01-15 09:58:26 +00:00
Michael Brown c676591cd1 Unmaintained example code is probably worse than useless. 2007-01-15 09:06:12 +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 26166cf5e0 Added a URI parser that should be standards conformant. (It can certainly
handle something as convoluted as

  ftp://joe:secret@insecure.org:8081/hidden/path/to?what=is#this
2007-01-14 23:48:31 +00:00
Michael Brown 99272f958b Typo 2007-01-14 15:13:33 +00:00
Michael Brown 10c9b03cdb Actually, the initrd image should be architecture-independent. 2007-01-14 15:07:11 +00:00
Michael Brown 784e10635a Can almost start a kernel now. It dies with "No setup signature found" 2007-01-14 06:36:20 +00:00
Michael Brown 797edf28b7 Replace image->entry with image->priv. 2007-01-14 04:04:28 +00:00