Create a branch for the NSS libk5crypto back end

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/nss@24243 dc483132-0cff-0310-8789-dd5450dbe970
Merge changes from branches/krb5-1-8-nss.  Omit the t_encrypt.c changes
as they are already handled in a different way on trunk.

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/nss@24244 dc483132-0cff-0310-8789-dd5450dbe970
Simplify the nss backend configure changes

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/nss@24245 dc483132-0cff-0310-8789-dd5450dbe970
Make NSS back-end build when the build directory is separate from the
source directory.

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/nss@24246 dc483132-0cff-0310-8789-dd5450dbe970
Remove unneeded file in NSS back end

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/nss@24247 dc483132-0cff-0310-8789-dd5450dbe970
Style pass over the NSS back end

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/nss@24248 dc483132-0cff-0310-8789-dd5450dbe970
Document the nss branch purpose and current issues

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/nss@24249 dc483132-0cff-0310-8789-dd5450dbe970
k5_ as an internal prefix is now formally okay, so remove that bullet
point in the nss branch README.BRANCH.

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/nss@24252 dc483132-0cff-0310-8789-dd5450dbe970
In the NSS mit_des_string_to_key_int, zero out pbe_params before
filling it in, to avoid passing uninitialized fields to
PK11_RawPBEKeyGen.

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/nss@24305 dc483132-0cff-0310-8789-dd5450dbe970
In the NSS crypto back end, add mutex protection and fork protection
to the libnss context.

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/nss@24348 dc483132-0cff-0310-8789-dd5450dbe970
When NSS is the crypto implementation, use the NSS PRNG.  Avoids the
issue that Yarrow's entropy pools would be invalidated by a fork.

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/nss@24349 dc483132-0cff-0310-8789-dd5450dbe970
When using stream ciphers with NSS, use a loopback pointer instead of
a bogus length to detect copying, and remember the pid to detect use
across fork.

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/nss@24355 dc483132-0cff-0310-8789-dd5450dbe970
Fix cleanup handler in k5_nss_init to return an error if there is one

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/nss@24361 dc483132-0cff-0310-8789-dd5450dbe970
Revert unintended change in last commit to k5_nss_init()

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/nss@24364 dc483132-0cff-0310-8789-dd5450dbe970
Use the PK11_DestroyContext() instead of PK11_Finalize() to destroy
crypto contexts in enc_gen.c; the latter seems to leak references.

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/nss@24365 dc483132-0cff-0310-8789-dd5450dbe970
Use the PK11_DestroyContext() instead of PK11_Finalize() to destroy
crypto contexts in hmac.c as well.

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/nss@24366 dc483132-0cff-0310-8789-dd5450dbe970
Clean up hash and digest contexts in the back end to avoid refcount
leaks.

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/nss@24367 dc483132-0cff-0310-8789-dd5450dbe970
Remove NSS_LOOKUP_STRING code since we aren't likely to need it

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/nss@24374 dc483132-0cff-0310-8789-dd5450dbe970
Make USE_OPAQUE_KEYS unconditional in the NSS back end

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/nss@24379 dc483132-0cff-0310-8789-dd5450dbe970
Make DO_FAST_XOR code unconditional in the NSS back end

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/nss@24380 dc483132-0cff-0310-8789-dd5450dbe970