pam_winbind.h

来自「samba-3.0.22.tar.gz 编译smb服务器的源码」· C头文件 代码 · 共 100 行

H
100
字号
/* pam_winbind header file    (Solaris needs some macros from Linux for common PAM code)   Shirish Kalele 2000*/#ifdef HAVE_FEATURES_H#include <features.h>#endif#include <stdlib.h>#include <unistd.h>#include <string.h>#include <syslog.h>#include <stdarg.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <errno.h>#include <config.h>#define MODULE_NAME "pam_winbind"#define PAM_SM_AUTH#define PAM_SM_ACCOUNT#define PAM_SM_PASSWORD#if defined(SUNOS5) || defined(SUNOS4) || defined(HPUX) || defined(FREEBSD)/* Solaris always uses dynamic pam modules */#define PAM_EXTERN extern#include <security/pam_appl.h> #ifndef PAM_AUTHTOK_RECOVER_ERR#define PAM_AUTHTOK_RECOVER_ERR PAM_AUTHTOK_RECOVERY_ERR#endif#endif#ifdef HAVE_SECURITY_PAM_MODULES_H#include <security/pam_modules.h>#endif#ifdef HAVE_SECURITY__PAM_MACROS_H#include <security/_pam_macros.h>#else/* Define required macros from (Linux PAM 0.68) security/_pam_macros.h */#define _pam_drop_reply(/* struct pam_response * */ reply, /* int */ replies) \do {                                              \    int reply_i;                                  \                                                  \    for (reply_i=0; reply_i<replies; ++reply_i) { \        if (reply[reply_i].resp) {                \            _pam_overwrite(reply[reply_i].resp);  \            free(reply[reply_i].resp);            \        }                                         \    }                                             \    if (reply)                                    \        free(reply);                              \} while (0)#define _pam_overwrite(x)        \do {                             \     register char *__xx__;      \     if ((__xx__=(x)))           \          while (*__xx__)        \               *__xx__++ = '\0'; \} while (0)/* * Don't just free it, forget it too. */#define _pam_drop(X) SAFE_FREE(X)#define  x_strdup(s)  ( (s) ? strdup(s):NULL )     #endif#define WINBIND_DEBUG_ARG (1<<0)#define WINBIND_USE_AUTHTOK_ARG (1<<1)#define WINBIND_UNKNOWN_OK_ARG (1<<2)#define WINBIND_TRY_FIRST_PASS_ARG (1<<3)#define WINBIND_USE_FIRST_PASS_ARG (1<<4)#define WINBIND__OLD_PASSWORD (1<<5)#define WINBIND_REQUIRED_MEMBERSHIP (1<<6)#define PAM_WINBIND_NEW_AUTHTOK_REQD "PAM_WINBIND_NEW_AUTHTOK_REQD"/* * here is the string to inform the user that the new passwords they * typed were not the same. */#define MISTYPED_PASS "Sorry, passwords do not match"#define on(x, y) (x & y)#define off(x, y) (!(x & y))#include "winbind_client.h"

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?