openpam_dynamic.c (94880) | openpam_dynamic.c (95908) |
---|---|
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 * | 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/lib/openpam_dynamic.c#4 $ | 34 * $P4: //depot/projects/openpam/lib/openpam_dynamic.c#5 $ |
35 */ 36 37#include <dlfcn.h> 38#include <stdio.h> 39#include <stdlib.h> 40#include <string.h> 41 42#include <security/pam_appl.h> --- 32 unchanged lines hidden (view full) --- 75 free(vpath); 76 if ((module->path = strdup(path)) == NULL) 77 goto buf_err; 78 module->dlh = dlh; 79 for (i = 0; i < PAM_NUM_PRIMITIVES; ++i) { 80 module->func[i] = dlsym(dlh, _pam_sm_func_name[i]); 81 if (module->func[i] == NULL) 82 openpam_log(PAM_LOG_DEBUG, "%s: %s(): %s", | 35 */ 36 37#include <dlfcn.h> 38#include <stdio.h> 39#include <stdlib.h> 40#include <string.h> 41 42#include <security/pam_appl.h> --- 32 unchanged lines hidden (view full) --- 75 free(vpath); 76 if ((module->path = strdup(path)) == NULL) 77 goto buf_err; 78 module->dlh = dlh; 79 for (i = 0; i < PAM_NUM_PRIMITIVES; ++i) { 80 module->func[i] = dlsym(dlh, _pam_sm_func_name[i]); 81 if (module->func[i] == NULL) 82 openpam_log(PAM_LOG_DEBUG, "%s: %s(): %s", |
83 vpath, _pam_sm_func_name[i], dlerror()); | 83 path, _pam_sm_func_name[i], dlerror()); |
84 } 85 return (module); 86 buf_err: 87 openpam_log(PAM_LOG_ERROR, "%m"); 88 dlclose(dlh); 89 free(module); 90 return (NULL); 91} 92 93/* 94 * NOPARSE 95 */ | 84 } 85 return (module); 86 buf_err: 87 openpam_log(PAM_LOG_ERROR, "%m"); 88 dlclose(dlh); 89 free(module); 90 return (NULL); 91} 92 93/* 94 * NOPARSE 95 */ |