~ubuntu-branches/ubuntu/saucy/curl/saucy-security

« back to all changes in this revision

Viewing changes to tests/libtest/lib590.c

  • Committer: Package Import Robot
  • Author(s): Andres Rodriguez
  • Date: 2012-05-22 14:53:29 UTC
  • mfrom: (3.4.28 sid)
  • Revision ID: package-import@ubuntu.com-20120522145329-hbf1n3zr7qh08qab
Tags: 7.25.0-1ubuntu1
* Merge from Debian testing (LP: #1003049).  Remaining changes:
  - Drop dependencies not in main:
    + Build-Depends: Drop stunnel4 and libssh2-1-dev.
    + Drop libssh2-1-dev from libcurl4-openssl-dev's Depends.
  - Add new libcurl3-udeb package.
  - Add new curl-udeb package.
  - Also closes (LP: #855291)
* debian/patches/CVE-2012-0036.patch: Dropped. CVE resolved upstream.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/***************************************************************************
 
2
 *                                  _   _ ____  _
 
3
 *  Project                     ___| | | |  _ \| |
 
4
 *                             / __| | | | |_) | |
 
5
 *                            | (__| |_| |  _ <| |___
 
6
 *                             \___|\___/|_| \_\_____|
 
7
 *
 
8
 * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
 
9
 *
 
10
 * This software is licensed as described in the file COPYING, which
 
11
 * you should have received as part of this distribution. The terms
 
12
 * are also available at http://curl.haxx.se/docs/copyright.html.
 
13
 *
 
14
 * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 
15
 * copies of the Software, and permit persons to whom the Software is
 
16
 * furnished to do so, under the terms of the COPYING file.
 
17
 *
 
18
 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
 
19
 * KIND, either express or implied.
 
20
 *
 
21
 ***************************************************************************/
 
22
#include "test.h"
 
23
 
 
24
/*
 
25
  Based on a bug report recipe by Rene Bernhardt in
 
26
  http://curl.haxx.se/mail/lib-2011-10/0323.html
 
27
 
 
28
  It is reproducible by the following steps:
 
29
 
 
30
  - Use a proxy that offers NTLM and Negotiate ( CURLOPT_PROXY and
 
31
  CURLOPT_PROXYPORT )
 
32
  - Tell libcurl NOT to use Negotiate  CURL_EASY_SETOPT(CURLOPT_PROXYAUTH,
 
33
  CURLAUTH_BASIC | CURLAUTH_DIGEST | CURLAUTH_NTLM )
 
34
  - Start the request
 
35
*/
 
36
 
 
37
#include "memdebug.h"
 
38
 
 
39
int test(char *URL)
 
40
{
 
41
  CURLcode res;
 
42
  CURL *curl;
 
43
 
 
44
  if (curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) {
 
45
    fprintf(stderr, "curl_global_init() failed\n");
 
46
    return TEST_ERR_MAJOR_BAD;
 
47
  }
 
48
 
 
49
  if ((curl = curl_easy_init()) == NULL) {
 
50
    fprintf(stderr, "curl_easy_init() failed\n");
 
51
    curl_global_cleanup();
 
52
    return TEST_ERR_MAJOR_BAD;
 
53
  }
 
54
 
 
55
  test_setopt(curl, CURLOPT_URL, URL);
 
56
  test_setopt(curl, CURLOPT_HEADER, 1L);
 
57
  test_setopt(curl, CURLOPT_PROXYAUTH,
 
58
              CURLAUTH_BASIC | CURLAUTH_DIGEST | CURLAUTH_NTLM);
 
59
  test_setopt(curl, CURLOPT_PROXY, libtest_arg2); /* set in first.c */
 
60
  test_setopt(curl, CURLOPT_PROXYUSERPWD, "me:password");
 
61
 
 
62
  res = curl_easy_perform(curl);
 
63
 
 
64
  test_cleanup:
 
65
 
 
66
  curl_easy_cleanup(curl);
 
67
  curl_global_cleanup();
 
68
 
 
69
  return (int)res;
 
70
}
 
71