Declare _pam_func_name and _pam_err_name.
Add a member to the pam_handle structure indicating which primitive is currently executing. Add a ton of debugging macros. git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@185 185d5e19-27fe-0310-9dcf-9bff6b9f3609
This commit is contained in:
parent
2fb80ca71d
commit
b0ba976453
|
@ -31,7 +31,7 @@
|
|||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* $P4: //depot/projects/openpam/lib/openpam_impl.h#16 $
|
||||
* $P4: //depot/projects/openpam/lib/openpam_impl.h#17 $
|
||||
*/
|
||||
|
||||
#ifndef _OPENPAM_IMPL_H_INCLUDED
|
||||
|
@ -39,7 +39,9 @@
|
|||
|
||||
#include <security/openpam.h>
|
||||
|
||||
extern const char *_pam_func_name[PAM_NUM_PRIMITIVES];
|
||||
extern const char *_pam_sm_func_name[PAM_NUM_PRIMITIVES];
|
||||
extern const char *_pam_err_name[PAM_NUM_ERRORS];
|
||||
|
||||
/*
|
||||
* Control flags
|
||||
|
@ -83,6 +85,7 @@ struct pam_handle {
|
|||
/* chains */
|
||||
pam_chain_t *chains[PAM_NUM_CHAINS];
|
||||
pam_chain_t *current;
|
||||
int primitive;
|
||||
|
||||
/* items and data */
|
||||
void *item[PAM_NUM_ITEMS];
|
||||
|
@ -118,4 +121,41 @@ pam_module_t *openpam_static(const char *);
|
|||
#endif
|
||||
pam_module_t *openpam_dynamic(const char *);
|
||||
|
||||
#ifdef DEBUG
|
||||
#define ENTER() openpam_log(PAM_LOG_DEBUG, "entering")
|
||||
#define RETURNV() openpam_log(PAM_LOG_DEBUG, "returning")
|
||||
#define RETURNC(c) do { \
|
||||
if ((c) >= 0 && (c) < PAM_NUM_ERRORS)
|
||||
openpam_log(PAM_LOG_DEBUG, "returning %s", _pam_err_name[c]); \
|
||||
else \
|
||||
openpam_log(PAM_LOG_DEBUG, "returning %d!", (c)); \
|
||||
return (c); \
|
||||
} while (0)
|
||||
#define RETURNI(n) do { \
|
||||
openpam_log(PAM_LOG_DEBUG, "returning %d", (n)); \
|
||||
return (n); \
|
||||
} while (0)
|
||||
#define RETURNP(p) do { \
|
||||
if ((p) == NULL) \
|
||||
openpam_log(PAM_LOG_DEBUG, "returning NULL"); \
|
||||
else \
|
||||
openpam_log(PAM_LOG_DEBUG, "returning %p", (p)); \
|
||||
return (p); \
|
||||
} while (0)
|
||||
#define RETURNS(s) do { \
|
||||
if ((s) == NULL) \
|
||||
openpam_log(PAM_LOG_DEBUG, "returning NULL"); \
|
||||
else \
|
||||
openpam_log(PAM_LOG_DEBUG, "returning '%s'", (s)); \
|
||||
return (s); \
|
||||
} while (0)
|
||||
#else
|
||||
#define ENTER()
|
||||
#define RETURNV() return
|
||||
#define RETURNC(c) return (c)
|
||||
#define RETURNI(n) return (i)
|
||||
#define RETURNP(p) return (p)
|
||||
#define RETURNS(s) return (s)
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue