OSDN Git Service

avconv: move top_field_first to options context.
[coroid/libav_saccubus.git] / libavformat / httpauth.h
index 47d11af..d2a4a55 100644 (file)
@@ -2,20 +2,20 @@
  * HTTP authentication
  * Copyright (c) 2010 Martin Storsjo
  *
- * This file is part of FFmpeg.
+ * This file is part of Libav.
  *
- * FFmpeg is free software; you can redistribute it and/or
+ * Libav is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
  * License as published by the Free Software Foundation; either
  * version 2.1 of the License, or (at your option) any later version.
  *
- * FFmpeg is distributed in the hope that it will be useful,
+ * Libav is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
- * License along with FFmpeg; if not, write to the Free Software
+ * License along with Libav; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
@@ -29,8 +29,22 @@ typedef enum HTTPAuthType {
     HTTP_AUTH_NONE = 0,    /**< No authentication specified */
     HTTP_AUTH_BASIC,       /**< HTTP 1.0 Basic auth from RFC 1945
                              *  (also in RFC 2617) */
+    HTTP_AUTH_DIGEST,      /**< HTTP 1.1 Digest auth from RFC 2617 */
 } HTTPAuthType;
 
+typedef struct {
+    char nonce[300];       /**< Server specified nonce */
+    char algorithm[10];    /**< Server specified digest algorithm */
+    char qop[30];          /**< Quality of protection, containing the one
+                             *  that we've chosen to use, from the
+                             *  alternatives that the server offered. */
+    char opaque[300];      /**< A server-specified string that should be
+                             *  included in authentication responses, not
+                             *  included in the actual digest calculation. */
+    int nc;                /**< Nonce count, the number of earlier replies
+                             *  where this particular nonce has been used. */
+} DigestParams;
+
 /**
  * HTTP Authentication state structure. Must be zero-initialized
  * before used with the functions below.
@@ -44,6 +58,10 @@ typedef struct {
      * Authentication realm
      */
     char realm[200];
+    /**
+     * The parameters specifiec to digest authentication.
+     */
+    DigestParams digest_params;
 } HTTPAuthState;
 
 void ff_http_auth_handle_header(HTTPAuthState *state, const char *key,