Deleted Added
full compact
pam_authenticate.c (92289) pam_authenticate.c (93982)
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/pam_authenticate.c#8 $
34 * $P4: //depot/projects/openpam/lib/pam_authenticate.c#9 $
35 */
36
37#include <sys/param.h>
38
39#include <security/pam_appl.h>
40
41#include "openpam_impl.h"
42

--- 5 unchanged lines hidden (view full) ---

48 */
49
50int
51pam_authenticate(pam_handle_t *pamh,
52 int flags)
53{
54 int pam_err;
55
35 */
36
37#include <sys/param.h>
38
39#include <security/pam_appl.h>
40
41#include "openpam_impl.h"
42

--- 5 unchanged lines hidden (view full) ---

48 */
49
50int
51pam_authenticate(pam_handle_t *pamh,
52 int flags)
53{
54 int pam_err;
55
56 if (flags & ~(PAM_SILENT|PAM_DISALLOW_NULL_AUTHTOK))
57 return (PAM_SYMBOL_ERR);
56 pam_err = openpam_dispatch(pamh, PAM_SM_AUTHENTICATE, flags);
57 pam_set_item(pamh, PAM_AUTHTOK, NULL);
58 return (pam_err);
59}
60
61/*
62 * Error codes:
63 *
64 * =openpam_dispatch
65 * =pam_sm_authenticate
66 * !PAM_IGNORE
67 */
58 pam_err = openpam_dispatch(pamh, PAM_SM_AUTHENTICATE, flags);
59 pam_set_item(pamh, PAM_AUTHTOK, NULL);
60 return (pam_err);
61}
62
63/*
64 * Error codes:
65 *
66 * =openpam_dispatch
67 * =pam_sm_authenticate
68 * !PAM_IGNORE
69 */
70
71/**
72 * The =pam_authenticate function attempts to authenticate the user
73 * associated with the pam context specified by the =pamh argument.
74 *
75 * The application is free to call =pam_authenticate as many times as it
76 * wishes, but some modules may maintain an internal retry counter and
77 * return =PAM_MAXTRIES when it exceeds some preset or hardcoded limit.
78 *
79 * The =flags argument is the binary or of zero or more of the following
80 * values:
81 *
82 * =PAM_SILENT
83 * Do not emit any messages.
84 * =PAM_DISALLOW_NULL_AUTHTOK
85 * Fail if the user's authentication token is null.
86 */