1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
|
=pod
=head1 NAME
The Validator Shim Library
=head1 DESCRIPTION
The validator shim library (I<libval_shim.so>) is a shared library
designed to be dynamically loaded using the 'LD_PRELOAD' mechanism
(I<ld.so(8)>) supported on linux and various other unix-like
platforms. The shim library implements wrappers for a number of DNS
related functions and in turn calls equivalent DNSSEC-aware validating
functions from I<libval(3)>, mapping the results to return codes
recognized by the original functions. In this way a wide variety of
applications can be made DNSSEC aware without code changes and
recompilation.
The method of mapping return codes assumes that any 'untrusted' or
failure result from the I<libval(3)> function is reflected as a
failure to the original calling function.
=head2 I<Usage:>
To load the library set LD_PRELOAD variable within the environment of
the the target application prior to execution:
=over 4
export LD_PRELOAD=libval_shim.so
=back
=back
=head2 I<Validation Policy:>
The validator shim library will create a policy context and cache it
for all subsequent I<libval(3)> calls. A I<NULL> policy label will be
passed to create the context. The policy is chosen according to rules
defined for I<libval(3)>.
See I<dnsval.conf(1)> for information on policy labels and definition.
=head2 I<Logging:>
Logging for the I<libval(3)> functions may be enabled in the shim
library by setting an environment variable.
See I<dt-validate(1)> for specifics.
=head1 NOTES
=head2 setuid/setgid programs
setuid and setgid root programs (e.g., I<ping(8)>) do not honor the
LD_PRELOAD setting. These application may still use the LD_PRELOAD
mechanism when run directly from a root shell.
=head1 COPYRIGHT
Copyright 2004-2012 SPARTA, Inc. All rights reserved.
See the COPYING file included with the dnssec-tools package for details.
=head1 AUTHORS
G. S. Marzot
=head1 SEE ALSO
I<libsres(3)>, I<libval(3)>, I<dnsval.conf(1)>, I<gethostbyname(3)>
I<gethostbyaddr(3)>, I<getnameinfo(3)>, I<getaddrinfo(3)>, I<res_query(3)>
|