Return to privsep.h CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / ipsec-tools / src / racoon |
1.1 ! misho 1: /* $NetBSD: privsep.h,v 1.6 2008/12/08 06:00:54 tteras Exp $ */ ! 2: ! 3: /* Id: privsep.h,v 1.5 2005/06/07 12:22:11 fredsen Exp */ ! 4: ! 5: /* ! 6: * Copyright (C) 2004 Emmanuel Dreyfus ! 7: * All rights reserved. ! 8: * ! 9: * Redistribution and use in source and binary forms, with or without ! 10: * modification, are permitted provided that the following conditions ! 11: * are met: ! 12: * 1. Redistributions of source code must retain the above copyright ! 13: * notice, this list of conditions and the following disclaimer. ! 14: * 2. Redistributions in binary form must reproduce the above copyright ! 15: * notice, this list of conditions and the following disclaimer in the ! 16: * documentation and/or other materials provided with the distribution. ! 17: * 3. Neither the name of the project nor the names of its contributors ! 18: * may be used to endorse or promote products derived from this software ! 19: * without specific prior written permission. ! 20: * ! 21: * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND ! 22: * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ! 23: * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ! 24: * ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE ! 25: * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ! 26: * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ! 27: * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ! 28: * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ! 29: * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ! 30: * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ! 31: * SUCH DAMAGE. ! 32: */ ! 33: ! 34: #ifndef _PRIVSEP_H ! 35: #define _PRIVSEP_H ! 36: ! 37: #define PRIVSEP_EAY_GET_PKCS1PRIVKEY 0x0801 /* admin_com_bufs follows */ ! 38: #define PRIVSEP_SCRIPT_EXEC 0x0803 /* admin_com_bufs follows */ ! 39: #define PRIVSEP_GETPSK 0x0804 /* admin_com_bufs follows */ ! 40: #define PRIVSEP_XAUTH_LOGIN_SYSTEM 0x0805 /* admin_com_bufs follows */ ! 41: #define PRIVSEP_ACCOUNTING_PAM 0x0806 /* admin_com_bufs follows */ ! 42: #define PRIVSEP_XAUTH_LOGIN_PAM 0x0807 /* admin_com_bufs follows */ ! 43: #define PRIVSEP_CLEANUP_PAM 0x0808 /* admin_com_bufs follows */ ! 44: #define PRIVSEP_ACCOUNTING_SYSTEM 0x0809 /* admin_com_bufs follows */ ! 45: #define PRIVSEP_SETSOCKOPTS 0x080A /* admin_com_bufs follows */ ! 46: #define PRIVSEP_BIND 0x080B /* admin_com_bufs follows */ ! 47: #define PRIVSEP_SOCKET 0x080C /* admin_com_bufs follows */ ! 48: ! 49: #define PRIVSEP_NBUF_MAX 24 ! 50: #define PRIVSEP_BUFLEN_MAX 4096 ! 51: struct admin_com_bufs { ! 52: size_t buflen[PRIVSEP_NBUF_MAX]; ! 53: /* Followed by the buffers */ ! 54: }; ! 55: ! 56: struct privsep_com_msg { ! 57: struct admin_com hdr; ! 58: struct admin_com_bufs bufs; ! 59: }; ! 60: ! 61: int privsep_init __P((void)); ! 62: ! 63: vchar_t *privsep_eay_get_pkcs1privkey __P((char *)); ! 64: int privsep_script_exec __P((char *, int, char * const *)); ! 65: int privsep_setsockopt __P((int, int, int, const void *, socklen_t)); ! 66: int privsep_socket __P((int, int, int)); ! 67: int privsep_bind __P((int, const struct sockaddr *, socklen_t)); ! 68: vchar_t *privsep_getpsk __P((const char *, const int)); ! 69: int privsep_xauth_login_system __P((char *, char *)); ! 70: #ifdef HAVE_LIBPAM ! 71: int privsep_accounting_pam __P((int, int)); ! 72: int privsep_xauth_login_pam __P((int, struct sockaddr *, char *, char *)); ! 73: void privsep_cleanup_pam __P((int)); ! 74: #endif ! 75: int privsep_accounting_system __P((int, struct sockaddr *, char *, int)); ! 76: #endif /* _PRIVSEP_H */