Respect LDFLAGS, original author unknown
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.

Conflicts:
	CHANGES
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.

Conflicts:
	control.c
	file.c
	file.h
Document the default duration of the redial timeout option.

It's useful information that's not available anywhere else.
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.
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.
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.
* fix merge artifact