FFmpeg
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
Examples
File List
Globals
•
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
libavformat
httpauth.h
Go to the documentation of this file.
1
/*
2
* HTTP authentication
3
* Copyright (c) 2010 Martin Storsjo
4
*
5
* This file is part of FFmpeg.
6
*
7
* FFmpeg is free software; you can redistribute it and/or
8
* modify it under the terms of the GNU Lesser General Public
9
* License as published by the Free Software Foundation; either
10
* version 2.1 of the License, or (at your option) any later version.
11
*
12
* FFmpeg is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
* Lesser General Public License for more details.
16
*
17
* You should have received a copy of the GNU Lesser General Public
18
* License along with FFmpeg; if not, write to the Free Software
19
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20
*/
21
22
#ifndef AVFORMAT_HTTPAUTH_H
23
#define AVFORMAT_HTTPAUTH_H
24
25
/**
26
* Authentication types, ordered from weakest to strongest.
27
*/
28
typedef
enum
HTTPAuthType
{
29
HTTP_AUTH_NONE
= 0,
/**< No authentication specified */
30
HTTP_AUTH_BASIC
,
/**< HTTP 1.0 Basic auth from RFC 1945
31
* (also in RFC 2617) */
32
HTTP_AUTH_DIGEST
,
/**< HTTP 1.1 Digest auth from RFC 2617 */
33
}
HTTPAuthType
;
34
35
typedef
struct
DigestParams
{
36
char
nonce
[300];
/**< Server specified nonce */
37
char
algorithm
[10];
/**< Server specified digest algorithm */
38
char
qop
[30];
/**< Quality of protection, containing the one
39
* that we've chosen to use, from the
40
* alternatives that the server offered. */
41
char
opaque
[300];
/**< A server-specified string that should be
42
* included in authentication responses, not
43
* included in the actual digest calculation. */
44
char
stale
[10];
/**< The server indicated that the auth was ok,
45
* but needs to be redone with a new, non-stale
46
* nonce. */
47
int
nc
;
/**< Nonce count, the number of earlier replies
48
* where this particular nonce has been used. */
49
}
DigestParams
;
50
51
/**
52
* HTTP Authentication state structure. Must be zero-initialized
53
* before used with the functions below.
54
*/
55
typedef
struct
HTTPAuthState
{
56
/**
57
* The currently chosen auth type.
58
*/
59
HTTPAuthType
auth_type
;
60
/**
61
* Authentication realm
62
*/
63
char
realm
[200];
64
/**
65
* The parameters specifiec to digest authentication.
66
*/
67
DigestParams
digest_params
;
68
/**
69
* Auth ok, but needs to be resent with a new nonce.
70
*/
71
int
stale
;
72
}
HTTPAuthState
;
73
74
void
ff_http_auth_handle_header
(
HTTPAuthState
*
state
,
const
char
*key,
75
const
char
*
value
);
76
char
*
ff_http_auth_create_response
(
HTTPAuthState
*
state
,
const
char
*auth,
77
const
char
*path,
const
char
*method);
78
79
#endif
/* AVFORMAT_HTTPAUTH_H */
Generated on Fri Dec 5 2014 04:42:11 for FFmpeg by
1.8.2