1/*- 2 * Copyright (c) 2002 Networks Associates Technology, Inc. 3 * All rights reserved. 4 * 5 * This software was developed for the FreeBSD Project by ThinkSec AS and 6 * NAI Labs, the Security Research Division of Network Associates, Inc. 7 * under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the 8 * DARPA CHATS research program. --- 17 unchanged lines hidden (view full) --- 26 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 27 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 28 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 29 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 30 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 31 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 32 * SUCH DAMAGE. 33 * |
34 * $P4: //depot/projects/openpam/include/security/openpam.h#14 $ |
35 */ 36 37#ifndef _SECURITY_OPENPAM_H_INCLUDED 38#define _SECURITY_OPENPAM_H_INCLUDED 39 40/* 41 * Annoying but necessary header pollution 42 */ --- 17 unchanged lines hidden (view full) --- 60 61int 62pam_error(pam_handle_t *_pamh, 63 const char *_fmt, 64 ...); 65 66int 67pam_get_authtok(pam_handle_t *_pamh, |
68 int _item, |
69 const char **_authtok, 70 const char *_prompt); 71 72int 73pam_info(pam_handle_t *_pamh, 74 const char *_fmt, 75 ...); 76 --- 35 unchanged lines hidden (view full) --- 112 PAM_LOG_VERBOSE, 113 PAM_LOG_NOTICE, 114 PAM_LOG_ERROR 115}; 116 117/* 118 * Log to syslog 119 */ |
120void 121_openpam_log(int _level, |
122 const char *_func, 123 const char *_fmt, 124 ...); 125 |
126#if defined(__STDC__) && (__STDC_VERSION__ >= 199901L) |
127#define openpam_log(lvl, fmt, ...) \ 128 _openpam_log((lvl), __func__, fmt, __VA_ARGS__) |
129#elif defined(__GNUC__) && (__GNUC__ >= 2) && (__GNUC_MINOR__ >= 95) 130#define openpam_log(lvl, fmt, ...) \ 131 _openpam_log((lvl), __func__, fmt, ##fmt) 132#elif defined(__GNUC__) && defined(__FUNCTION__) |
133#define openpam_log(lvl, fmt...) \ |
134 _openpam_log((lvl), __FUNCTION__, ##fmt) |
135#else |
136void 137openpam_log(int _level, 138 const char *_format, 139 ...); |
140#endif 141 142/* 143 * Generic conversation function 144 */ 145struct pam_message; 146struct pam_response; 147int openpam_ttyconv(int _n, --- 44 unchanged lines hidden (view full) --- 192 pam_module_t *prev; 193 pam_module_t *next; 194}; 195 196/* 197 * Infrastructure for static modules using GCC linker sets. 198 * You are not expected to understand this. 199 */ |
200#if defined(__FreeBSD__) 201#define PAM_SOEXT ".so" 202#else |
203#ifndef NO_STATIC_MODULES 204#define NO_STATIC_MODULES |
205#endif |
206#endif 207#if defined(__GNUC__) && !defined(__PIC__) && !defined(NO_STATIC_MODULES) |
208/* gcc, static linking */ 209#include <sys/cdefs.h> 210#include <linker_set.h> 211#define OPENPAM_STATIC_MODULES 212#define PAM_EXTERN static 213#define PAM_MODULE_ENTRY(name) \ 214static char _pam_name[] = name PAM_SOEXT; \ 215static struct pam_module _pam_module = { _pam_name, { \ --- 15 unchanged lines hidden --- |