Annotation of embedaddon/libpdel/http/servlet/http_servlet_basicauth.3, revision 1.1.1.1
1.1 misho 1: .\" Copyright (c) 2001-2002 Packet Design, LLC.
2: .\" All rights reserved.
3: .\"
4: .\" Subject to the following obligations and disclaimer of warranty,
5: .\" use and redistribution of this software, in source or object code
6: .\" forms, with or without modifications are expressly permitted by
7: .\" Packet Design; provided, however, that:
8: .\"
9: .\" (i) Any and all reproductions of the source or object code
10: .\" must include the copyright notice above and the following
11: .\" disclaimer of warranties; and
12: .\" (ii) No rights are granted, in any manner or form, to use
13: .\" Packet Design trademarks, including the mark "PACKET DESIGN"
14: .\" on advertising, endorsements, or otherwise except as such
15: .\" appears in the above copyright notice or in the software.
16: .\"
17: .\" THIS SOFTWARE IS BEING PROVIDED BY PACKET DESIGN "AS IS", AND
18: .\" TO THE MAXIMUM EXTENT PERMITTED BY LAW, PACKET DESIGN MAKES NO
19: .\" REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING
20: .\" THIS SOFTWARE, INCLUDING WITHOUT LIMITATION, ANY AND ALL IMPLIED
21: .\" WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE,
22: .\" OR NON-INFRINGEMENT. PACKET DESIGN DOES NOT WARRANT, GUARANTEE,
23: .\" OR MAKE ANY REPRESENTATIONS REGARDING THE USE OF, OR THE RESULTS
24: .\" OF THE USE OF THIS SOFTWARE IN TERMS OF ITS CORRECTNESS, ACCURACY,
25: .\" RELIABILITY OR OTHERWISE. IN NO EVENT SHALL PACKET DESIGN BE
26: .\" LIABLE FOR ANY DAMAGES RESULTING FROM OR ARISING OUT OF ANY USE
27: .\" OF THIS SOFTWARE, INCLUDING WITHOUT LIMITATION, ANY DIRECT,
28: .\" INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, PUNITIVE, OR CONSEQUENTIAL
29: .\" DAMAGES, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, LOSS OF
30: .\" USE, DATA OR PROFITS, HOWEVER CAUSED AND UNDER ANY THEORY OF
31: .\" LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
32: .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
33: .\" THE USE OF THIS SOFTWARE, EVEN IF PACKET DESIGN IS ADVISED OF
34: .\" THE POSSIBILITY OF SUCH DAMAGE.
35: .\"
36: .\" Author: Archie Cobbs <archie@freebsd.org>
37: .\"
38: .\" $Id: http_servlet_basicauth.3,v 1.4 2004/06/02 17:24:37 archie Exp $
39: .\"
40: .Dd April 22, 2002
41: .Dt HTTP_SERVLET_AUTH 3
42: .Os
43: .Sh NAME
44: .Nm http_servlet_basicauth
45: .Nd HTTP basic authentication servlet
46: .Sh LIBRARY
47: PDEL Library (libpdel, \-lpdel)
48: .Sh SYNOPSIS
49: .In sys/types.h
50: .In stdio.h
51: .In netinet/in.h
52: .In openssl/ssl.h
53: .In pdel/http/http_defs.h
54: .In pdel/http/http_server.h
55: .In pdel/http/servlet/basicauth.h
56: .Ft "struct http_servlet *"
57: .Fn http_servlet_basicauth_create "http_servlet_basicauth_t *auth" "void *arg" "void (*destroy)(void *)"
58: .Sh DESCRIPTION
59: .Fn http_servlet_basicauth_create
60: creates a new servlet that implements HTTP basic authentication.
61: The servlet should be registered with a lower order than the other
62: servlets that it protects, so that it executes first.
63: .Pp
64: .Fa auth
65: is a pointer to a function having this type:
66: .Pp
67: .Bd -literal -compact -offset 3n
68: typedef const char *http_servlet_basicauth_t(void *arg,
69: struct http_request *req, const char *username,
70: const char *password);
71: .Ed
72: .Pp
73: .Fa arg
74: is the opaque cookie supplied to
75: .Fn http_servlet_basicauth_create .
76: .Fa req
77: is the HTTP request object and
78: .Fa username
79: and
80: .Fa password
81: are the credentials supplied with the request, or the empty string
82: if none were supplied.
83: .Pp
84: .Fn auth
85: should return
86: .Dv NULL
87: to allow access.
88: Otherwise, it should return the authorization realm string
89: to deny access.
90: This string is not freed by the calling function.
91: .Em Warning :
92: this is reversed from usual semantics; returning
93: .Dv NULL
94: indicates success and allows access.
95: .Pp
96: When the servlet is destroyed, if
97: .Fa destroy
98: is not
99: .Dv NULL ,
100: it will be invoked with
101: .Fa arg
102: as its parameter.
103: .Sh RETURN VALUES
104: On failure,
105: .Fn http_servlet_basicauth_create
106: returns
107: .Dv NULL
108: and sets
109: .Va errno
110: to an appropriate value.
111: .Sh SEE ALSO
112: .Xr http_request 3 ,
113: .Xr http_response 3 ,
114: .Xr http_server 3 ,
115: .Xr http_servlet 3 ,
116: .Xr http_servlet_cookieauth 3 ,
117: .Xr libpdel 3
118: .Rs
119: .%A J. Franks
120: .%A P. Hallam-Baker
121: .%A J. Hostetler
122: .%A S. Lawrence
123: .%A P. Leach
124: .%A A. Luotonen
125: .%A L. Stewart
126: .%T "HTTP Authentication: Basic and Digest Access Authentication"
127: .%O RFC 2617
128: .Re
129: .Sh HISTORY
130: The PDEL library was developed at Packet Design, LLC.
131: .Dv "http://www.packetdesign.com/"
132: .Sh AUTHORS
133: .An Archie Cobbs Aq archie@freebsd.org
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>