Deleted Added
full compact
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 */