comment fr_packet_cmp() a bit more
Don't use DHCP-Server-IP-Address for source IP

use Packet-Src-IP-Address instead.
And don't use server identifier for SIADDR
Ensure structs are set to zero
No need for packets to be in a packet list

They should just go into an rbtree
Re-arrange request_finish()

So that internally proxied packets get passed through the post-auth
section.
Precompile regexes into xlat_struct.

So that references to unknown attributes are caught at load time,
and not at run time
Simplify pre-parsing of regexes
Added cf_section_parse_pass2() for pass2 checks of config items

and PW_TYPE_XLAT, too.

Modules can now tell the server core that config items will
be dynamically expanded.  For now, this means that the server
can parse them in pass2, and complain at compile time about
syntax errors.

We will later expand this to allowing CONF_PAIRs to have compiled
xlat's, which should be faster at run time
Call cf_section_parse_pass2() after loading all of the modules
Add PW_TYPE_XLAT to most modules

We still need to convert the SQL queries, as they are buried
inside of randomly named sections
Add PW_TYPE_XLAT to sql queries, too
Parse accounting && post-auth sections statically

instead of in code.  This allows the pass2 compilation to check
that the "reference" config item passes xlat parsing.

It will also allow us to do a later xlat compilation checks
on the queries, too
Track auto-created subsections

The subsection will exist, but the "reference = foo" CONF_PAIR
won't exist.  So key off of that to determine if we run the section.

We need this because the default config has no "reference"
for "post-auth" in queries.conf.  So setting it to NULL is a bad
idea.
Don't use "goto error" and variable named "error"