about summary refs log tree commit diff stats
path: root/WWW/Library/Implementation/HTAuth.h
blob: f81eb1ebe9fa311cb2d61e826aaada56c8af4d02 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
/*                                   AUTHENTICATION MODULE
                                             
   This is the authentication module. By modifying the function HTAA_authenticate() it can
   be made to support external authentication methods.
   
 */

#ifndef HTAUTH_H
#define HTAUTH_H

#ifndef HTUTILS_H
#include <HTUtils.h>
#endif /* HTUTILS_H */
#include <HTAAUtil.h>
#include <HTAAProt.h>


#ifdef SHORT_NAMES
#define HTAAauth        HTAA_authenticate
#endif /* SHORT_NAMES */


/*
** Server's representation of a user (fields in authentication string)
*/
typedef struct {
    HTAAScheme  scheme;         /* Scheme used to authenticate this user */
    char *      username;
    char *      password;
    char *      inet_addr;
    char *      timestamp;
    char *      secret_key;
} HTAAUser;
/*

User Authentication

 */

/* SERVER PUBLIC                                        HTAA_authenticate()
**                      AUTHENTICATE USER
** ON ENTRY:
**      scheme          used authentication scheme.
**      scheme_specifics the scheme specific parameters
**                      (authentication string for Basic and
**                      Pubkey schemes).
**      prot            is the protection information structure
**                      for the file.
**
** ON EXIT:
**      returns         NULL, if authentication failed.
**                      Otherwise a pointer to a structure
**                      representing authenticated user,
**                      which should not be freed.
*/
PUBLIC HTAAUser *HTAA_authenticate PARAMS((HTAAScheme   scheme,
                                           char *       scheme_specifics,
                                           HTAAProt *   prot));
/*

 */

#endif /* not HTAUTH_H */
/*

   End of file HTAuth.h.  */