Retain passwords read from passwdfd in memory if redial is enabled.

Keeping passwords in memory might be a security risk, but let's leave that
choice in the hands of the user.  If they configure xl2tpd to redial then
they should expect that their password will be retained in memory.  If they
don't, then wipe it away once we no longer need it.

Without this, pppd will fail to connect on a redial with an otherwise
mysterious authentication failure.
Avoid type punning: it makes gcc grumpy.

Compilers don't like it when we write to memory as one type and read from it
as another.  Use memcpy instead of typecast games to avoid doing that.
Fix an uninitialize memory access.

new_tunnel() initializes its 'self' field by calling new_call() and passing
the partly-initialized struct tunnel as an argument.  new_call() checks to
see if that 'self' field is NULL.  Let's avoid any ambiguity by using calloc
to initialize the new tunnel's contents to zero before we start populating
it.  This also lets us remove a bunch of explicit initialization and
ensures that all of the 'peer' field is initialized regardless of packing.
Make it possible to prevent xl2tpd from overwriting ppp's ipparam

Many people like to configure their ppp by specifying an ipparam in their
ppp.options and using that in their ip-up/ip-down scripts to configure
routes and such.  Allow those who don't need to know the L2TP peer's IP
address the opportunity to use ipparam in this way by setting
'pass peer = no' in their xl2tpd configuration file.
Document the default duration of the redial timeout option.

It's useful information that's not available anywhere else.
Respect CFLAGS for xl2tpd-control.
Merge remote-tracking branch 'tphelps/master' into testing
Merge remote-tracking branch 'floppym/master' into testing
Fix kernel support for 2.6.23+

Kernel support was broken since 2.6.23+
This patch fixes it.
Many thanks to wl500g.googlecode.com project for idea and help.
Remove if_pppol2tp.h header

if_pppol2tp.h header is not compatible with newer kernels.
We may drop it to use /usr/include/linux one.
Enable kernel-mode by default
Actually force userspace when using SAref.

Currently only warning is printed, but value don't switch actually.
Wrap connect_pppol2tp() with ifdef

Eliminate excess function call if USE_KERNEL is disabled.
Merge remote-tracking branch 'sigwall/kernel' into testing
Cope with comment lines that extend beyond 120 characters.  Otherwise xl2tpd
will try to interpret the 120th character of the line as the start of the
next line, which will usually end in a cryptic error message.  See also
Fedora BZ#806963.
Increase the size of the buffer used to read config file lines.

The config file format treats any character after a semicolon as a comment,
so that people can comment config after the line.  The current line limit
of 120 characters is easy enough to overflow with this sort of (sane)
documentation style; let's increase it to 1024 bytes.  Patch from Fedora's
bz#806963.
Don't call grantpt().

Use of grantpt() is fraught: we run with a SIGCHLD handler, which
can lead to undefined results on systems that exec a setuid child
process to fiddle the ownership/permissions of the slave pty when a
child pppd process dies at just the right moment.  In addition, it
reportedly interacts badly with SELinux.

It turns out that there's no need to call grantpt() anyway.  Child pppd
processes run as root and so should be able to access the slave ptys with
their original ownership and permissions.  On FreeBSD/Mac OS X, grantpt()
doesn't actually do anything interesting and has been presumably been
working fine.  Fedora has been shipping with a patch to disable the call
to grantpt, and OpenBSD is completely unaffected, so this looks pretty
safe.
Quash more valgrind warnings.

Valgrind warns that not all fields in the sockaddr_pppol2tp struct are
getting initialized.  Use memset to ensure that everything not explicitly
set will be cleared to zero, which should ensure that this continues to work
even if Linux adds new fields to the struct.
Merge pull request #7 from tphelps/master

Minor tweaks
Merge pull request #8 from floppym/master

Respect CFLAGS for xl2tpd-control