Commit Graph

59 Commits

Author SHA1 Message Date
Dag-Erling Smørgrav 5758a3eb3b Release documentation for OpenPAM Caliopsis.
Sponsored by:	DARPA, NAI Labs


git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@59 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-13 02:51:17 +00:00
Dag-Erling Smørgrav c7df899506 Check *authtok - pam_get_item(3) will succeed even if the item is
NULL.

Sponsored by:	DARPA, NAI Labs


git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@58 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-13 02:19:05 +00:00
Dag-Erling Smørgrav 105c3d4de7 pam_get_item(3) expects a const void **, not a const void *. Also
check that the pam_conv structure it returns is not NULL.

Sponsored by:	DARPA, NAI Labs


git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@57 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-13 02:17:31 +00:00
Dag-Erling Smørgrav 104cfd8443 Add a missing 'continue' in the code for the PAM_SUCCESS case.
Add more debugging log messages.

Sponsored by:	DARPA, NAI Labs


git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@56 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-13 02:16:03 +00:00
Dag-Erling Smørgrav 39a1582d7e Initialize tmp to NULL so that items can be cleared as intended.
Don't forget to fill the pam_conv structure after allocating it.

Sponsored by:	DARPA, NAI Labs


git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@55 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-13 02:14:55 +00:00
Dag-Erling Smørgrav a9a4681bc5 Constify the last argument.
Sponsored by:	DARPA, NAI Labs


git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@54 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-13 02:12:20 +00:00
Dag-Erling Smørgrav 0ebca05841 Log a debug message before calling the service function.
Accept PAM_SUCCESS and PAM_ABORT as valid return codes, even though
the normal code path will not call _openpam_check_error_code() if
the module returns one of them.

Sponsored by:	DARPA, NAI Labs


git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@53 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-13 00:43:57 +00:00
Dag-Erling Smørgrav f8ad159142 Oops, previous commit would cause sprintf() to overrun the malloc()ed
buffer by exactly one character.  Add some slack.

Sponsored by:	DARPA, NAI Labs


git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@52 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-13 00:41:06 +00:00
Dag-Erling Smørgrav 1840f8c6fe Trim whitespace off the end of the format string, and add exactly
one newline character.

If DEBUG is defined, echo the log message to STDERR.

Sponsored by:	DARPA, NAI Labs


git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@51 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-13 00:39:32 +00:00
Dag-Erling Smørgrav ee40844c72 Sort the function names in the correct order (which is not the
alphabetical order).

Sponsored by:	DARPA, NAI Labs


git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@50 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-13 00:37:01 +00:00
Dag-Erling Smørgrav f62e36ce55 Fix an off-by-one bug that would in some circumstances trim off the
last character of a configuration line.

Sponsored by:	DARPA, NAI Labs


git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@49 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-13 00:34:23 +00:00
Dag-Erling Smørgrav fad3985e61 Fix a showstopping NULL dereference in pam_set_item(3).
Sponsored by:	DARPA, NAI Labs


git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@48 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-12 22:42:52 +00:00
Dag-Erling Smørgrav b2c0c77714 Packaging script.
Sponsored by:	DARPA, NAI Labs


git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@47 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-09 16:52:37 +00:00
Dag-Erling Smørgrav 1a24ed0d99 Release documentation.
Sponsored by:	DARPA, NAI Labs


git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@46 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-09 16:52:20 +00:00
Dag-Erling Smørgrav f59fd06457 Regenerate to incorporate wording tweak and release date.
Sponsored by:	DARPA, NAI Labs


git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@45 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-09 16:14:40 +00:00
Dag-Erling Smørgrav f1d6fc9f30 Wording tweak.
Sponsored by:	DARPA, NAI Labs


git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@44 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-09 16:12:49 +00:00
Dag-Erling Smørgrav 207f71c606 Connect the man pages to the build.
Sponsored by:	DARPA, NAI Labs


git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@43 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-09 15:44:10 +00:00
Dag-Erling Smørgrav 32040ec571 Make C++-safe.
Sponsored by:	DARPA, NAI Labs


git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@42 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-09 15:43:36 +00:00
Dag-Erling Smørgrav 709fbe9015 Regenerate man pages for functions that have changed, and add man
pages for new functions.  The man pages have been backdated to
minimize diffs.

Sponsored by:	DARPA, NAI Labs


git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@41 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-07 12:31:39 +00:00
Dag-Erling Smørgrav b93fb425c5 Reuse the copyright from the last source file for the summary page.
Sponsored by:	DARPA, NAI Labs


git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@40 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-07 12:30:25 +00:00
Dag-Erling Smørgrav a139b62d54 Introduce pam_v{info,error,prompt}().
Move OpenPAM API extensions into <security/openpam.h> to avoid
namespace pollution for apps or modules that do not use them.

Sponsored by:	DARPA, NAI Labs


git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@39 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-07 12:22:08 +00:00
Dag-Erling Smørgrav aada9aaafe Constify.
Sponsored by:	DARPA, NAI Labs


git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@38 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-06 16:03:39 +00:00
Dag-Erling Smørgrav d5943da7f6 Provide a fallback for platforms that don't support varadic macros.
Sponsored by:	DARPA, NAI Labs


git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@37 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-06 16:03:18 +00:00
Dag-Erling Smørgrav c450908f60 PAM_CRED_PRELIM_CHECK is an XSSO typo. The correct name for the
constant is PAM_PRELIM_CHECK.

Sponsored by:	DARPA, NAI Labs


git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@36 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-06 16:02:13 +00:00
Dag-Erling Smørgrav f8a6c31c31 According to bde, it's OK to omit parentheses when taking the size
of an object rather than a type.

Sponsored by:	DARPA, NAI Labs


git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@35 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-06 13:25:36 +00:00
Dag-Erling Smørgrav b55243b5c1 Whoa, don't forget to actually resolve symbols once we've located a
dynamic module.

Sponsored by:	DARPA, NAI Labs


git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@34 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-04 23:39:07 +00:00
Dag-Erling Smørgrav e683738206 Behave more like Solaris when faced with an empty chain, or a chain
that lists modules that don't implement the required functionality.

Sponsored by:	DARPA, NAI Labs


git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@33 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-04 23:36:07 +00:00
Dag-Erling Smørgrav 4166f73f32 Add support for static linking. Also rename a handful of constants
to reduce the chance of every running into a naming conflict.

Sponsored by:	DARPA, NAI Labs


git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@32 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-04 23:22:40 +00:00
Dag-Erling Smørgrav c5802864c3 I suck. This time, test before committing. I apologize for the
acute embarassment you must all feel for knowing me.  I shall
perform Seppuku at sundown to atone for my crimes.

Garçon!  More coffee!


git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@31 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-04 16:52:17 +00:00
Dag-Erling Smørgrav 045b2435f2 Pfffuit, I really ought to be more careful before I commit machine-
generated files.  Fix a couple of mdoc blunders.


git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@30 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-04 16:42:31 +00:00
Dag-Erling Smørgrav a84262fbf9 libpam, not libfetch
git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@29 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-04 16:36:07 +00:00
Dag-Erling Smørgrav 15339e69e4 The dangers of cut'n'paste...
git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@28 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-04 16:35:32 +00:00
Dag-Erling Smørgrav 6bb82f9ffb Man page stubs.
Sponsored by:	DARPA, NAI Labs


git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@27 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-04 16:22:10 +00:00
Dag-Erling Smørgrav 5455407b97 Perl script I used to generate man page stubs.
Sponsored by:	DARPA, NAI Labs


git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@26 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-04 16:21:36 +00:00
Dag-Erling Smørgrav 2e2a611647 Store options, and pass them to modules.
Replace the "dispatching" flag with a pam_chain_t pointer.  It is set
to point at the currently executing module right before calling the
module, and cleared right after the module returns.  Note that this
isn't intended to prevent reentrancy in multi-threaded applications,
but simply to prevent modules from using the application interface.

When recursion is detected, return PAM_ABORT rather than
PAM_SYSTEM_ERR, since this is a programmatical error rather than
a runtime one.

Sponsored by:	DARPA, NAI Labs


git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@25 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-04 15:00:16 +00:00
Dag-Erling Smørgrav 073edc1836 Circumvent constness issues. OpenPAM is now WARNS4-clean.
Sponsored by:	DARPA, NAI Labs


git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@24 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-04 14:53:46 +00:00
Dag-Erling Smørgrav 560591adc6 Remove trailing commas from enum lists.
git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@23 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-04 14:01:26 +00:00
Dag-Erling Smørgrav 93f3359d7a Add the file I forgot in #6131.
Sponsored by:	DARPA, NAI Labs


git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@22 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-02 18:38:02 +00:00
Dag-Erling Smørgrav 292bd9156a Move linker-related code out into a separate file so it'll be easier
to restructure it later on.

Sponsored by:	DARPA, NAI Labs


git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@21 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-02 18:37:08 +00:00
Dag-Erling Smørgrav 46638aa621 Add a flag to struct pam_handle that openpam_dispatch() uses to
detect and prevent indirect recursion.
Fail immediately if the requested chain is empty.
If a module couldn't be loaded, or doesn't provide the requested
service, treat it as a normal failure instead of terminating the
chain.  (Solaris actually ignores this condition!)

Sponsored by:	DARPA, NAI Labs


git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@20 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-02 18:22:20 +00:00
Dag-Erling Smørgrav 99d01aea5e Use 'sizeof(foo)' instead of 'sizeof foo' even where it's not
required.  Although style(9) doesn't say anything about it, this
seems to be the preferred form.

Sponsored by:	DARPA, NAI Labs


git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@19 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-02 18:04:31 +00:00
Dag-Erling Smørgrav a980e1d3da Clear module data.
Clear environment.
Use pam_set_item() rather than free() to clear items so they get
properly clobbered.

Sponsored by:	DARPA, NAI Labs


git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@18 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-02 17:58:58 +00:00
Dag-Erling Smørgrav 298b19ac93 Clobber items before freeing them.
Sponsored by:	DARPA, NAI Labs


git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@17 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-02 17:47:36 +00:00
Dag-Erling Smørgrav 2a23af0e82 Whitespace cleanup + keyword expansion sweep.
Sponsored by:	DARPA, NAI Labs


git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@16 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-01 22:20:07 +00:00
Dag-Erling Smørgrav 4c413f4604 Add a sample application.
Sponsored by:	DARPA, NAI Labs


git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@15 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-01 22:09:36 +00:00
Dag-Erling Smørgrav e106ecde0b Add two sample modules.
Sponsored by:	DARPA, NAI Labs


git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@14 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-01 21:52:02 +00:00
Dag-Erling Smørgrav 236a7d8507 Rename openpam_log() to _openpam_log(), add an argument for the
function name, and wrap it in a macro called openpam_log().

Sponsored by:	DARPA, NAI Labs


git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@13 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-01 21:35:31 +00:00
Dag-Erling Smørgrav 8c50f570da It turns out dlerror() already includes the module's full path
in the error message.  Avoid logging it twice.

Sponsored by:	DARPA, NAI Labs


git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@12 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-01 21:33:58 +00:00
Dag-Erling Smørgrav ed8e188f27 Belatedly add openpam_findenv.c to the Makefile, and add a missing
#include that I hadn't spotted since it wasn't getting compiled.

Sponsored by:	DARPA, NAI Labs


git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@11 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-01 21:19:32 +00:00
Dag-Erling Smørgrav d57c2aa6ec Rename openpam.h to openpam_impl.h to avoid confusion with
<security/openpam.h>.

Sponsored by:	DARPA, NAI Labs


git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@10 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2002-02-01 20:49:12 +00:00