File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / curl / tests / data / test2024
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Wed Jun 3 10:01:16 2020 UTC (5 years ago) by misho
Branches: curl, MAIN
CVS tags: v7_70_0p4, HEAD
curl

    1: <testcase>
    2: <info>
    3: <keywords>
    4: HTTP
    5: HTTP GET
    6: HTTP Basic auth
    7: HTTP Digest auth
    8: </keywords>
    9: </info>
   10: # Server-side
   11: <reply>
   12: 
   13: <!-- Alternate the order that Basic and Digest headers appear in responses to
   14: ensure that the order doesn't matter. -->
   15: 
   16: <!-- First request has Basic auth, wrong password -->
   17: <data100>
   18: HTTP/1.1 401 Sorry wrong password
   19: Server: Microsoft-IIS/5.0
   20: Content-Type: text/html; charset=iso-8859-1
   21: Content-Length: 29
   22: WWW-Authenticate: Digest realm="testrealm", nonce="1"
   23: WWW-Authenticate: Basic realm="testrealm"
   24: 
   25: This is a bad password page!
   26: </data100>
   27: 
   28: <!-- Second request has Digest auth, right password -->
   29: <data1200>
   30: HTTP/1.1 200 Things are fine in server land
   31: Server: Microsoft-IIS/5.0
   32: Content-Type: text/html; charset=iso-8859-1
   33: Content-Length: 32
   34: 
   35: Finally, this is the real page!
   36: </data1200>
   37: 
   38: <!-- Third request has Basic auth, wrong password -->
   39: <data300>
   40: HTTP/1.1 401 Sorry wrong password (2)
   41: Server: Microsoft-IIS/5.0
   42: Content-Type: text/html; charset=iso-8859-1
   43: Content-Length: 29
   44: WWW-Authenticate: Digest realm="testrealm", nonce="2"
   45: WWW-Authenticate: Basic realm="testrealm"
   46: 
   47: This is a bad password page!
   48: </data300>
   49: 
   50: <!-- Fourth request has Digest auth, wrong password -->
   51: <data1400>
   52: HTTP/1.1 401 Sorry wrong password (3)
   53: Server: Microsoft-IIS/5.0
   54: Content-Type: text/html; charset=iso-8859-1
   55: Content-Length: 29
   56: WWW-Authenticate: Digest realm="testrealm", nonce="3"
   57: WWW-Authenticate: Basic realm="testrealm"
   58: 
   59: This is a bad password page!
   60: </data1400>
   61: 
   62: <!-- Fifth request has Digest auth, right password -->
   63: <data1500>
   64: HTTP/1.1 200 Things are fine in server land (2)
   65: Server: Microsoft-IIS/5.0
   66: Content-Type: text/html; charset=iso-8859-1
   67: Content-Length: 32
   68: 
   69: Finally, this is the real page!
   70: </data1500>
   71: 
   72: <datacheck>
   73: HTTP/1.1 401 Sorry wrong password
   74: Server: Microsoft-IIS/5.0
   75: Content-Type: text/html; charset=iso-8859-1
   76: Content-Length: 29
   77: WWW-Authenticate: Digest realm="testrealm", nonce="1"
   78: WWW-Authenticate: Basic realm="testrealm"
   79: 
   80: This is a bad password page!
   81: HTTP/1.1 200 Things are fine in server land
   82: Server: Microsoft-IIS/5.0
   83: Content-Type: text/html; charset=iso-8859-1
   84: Content-Length: 32
   85: 
   86: Finally, this is the real page!
   87: HTTP/1.1 401 Sorry wrong password (2)
   88: Server: Microsoft-IIS/5.0
   89: Content-Type: text/html; charset=iso-8859-1
   90: Content-Length: 29
   91: WWW-Authenticate: Digest realm="testrealm", nonce="2"
   92: WWW-Authenticate: Basic realm="testrealm"
   93: 
   94: This is a bad password page!
   95: HTTP/1.1 401 Sorry wrong password (3)
   96: Server: Microsoft-IIS/5.0
   97: Content-Type: text/html; charset=iso-8859-1
   98: Content-Length: 29
   99: WWW-Authenticate: Digest realm="testrealm", nonce="3"
  100: WWW-Authenticate: Basic realm="testrealm"
  101: 
  102: This is a bad password page!
  103: HTTP/1.1 200 Things are fine in server land (2)
  104: Server: Microsoft-IIS/5.0
  105: Content-Type: text/html; charset=iso-8859-1
  106: Content-Length: 32
  107: 
  108: Finally, this is the real page!
  109: </datacheck>
  110: 
  111: </reply>
  112: 
  113: # Client-side
  114: <client>
  115: <server>
  116: http
  117: </server>
  118: <features>
  119: !SSPI
  120: crypto
  121: </features>
  122: <tool>
  123: libauthretry
  124: </tool>
  125: 
  126:  <name>
  127: HTTP authorization retry (Basic switching to Digest)
  128:  </name>
  129:  <setenv>
  130: # we force our own host name, in order to make the test machine independent
  131: CURL_GETHOSTNAME=curlhost
  132: # we try to use the LD_PRELOAD hack, if not a debug build
  133: LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
  134:  </setenv>
  135:  <command>
  136: http://%HOSTIP:%HTTPPORT/2024 basic digest
  137: </command>
  138: <precheck>
  139: chkhostname curlhost
  140: </precheck>
  141: </client>
  142: 
  143: # Verify data after the test has been "shot"
  144: <verify>
  145: <strip>
  146: ^User-Agent:.*
  147: </strip>
  148: <protocol>
  149: GET /20240100 HTTP/1.1
  150: Host: %HOSTIP:%HTTPPORT
  151: Authorization: Basic dGVzdHVzZXI6d3JvbmdwYXNz
  152: Accept: */*
  153: 
  154: GET /20240200 HTTP/1.1
  155: Host: %HOSTIP:%HTTPPORT
  156: Authorization: Digest username="testuser", realm="testrealm", nonce="1", uri="/20240200", response="ed646c565f79e2dd9fa37cb5a621213c"
  157: Accept: */*
  158: 
  159: GET /20240300 HTTP/1.1
  160: Host: %HOSTIP:%HTTPPORT
  161: Authorization: Basic dGVzdHVzZXI6d3JvbmdwYXNz
  162: Accept: */*
  163: 
  164: GET /20240400 HTTP/1.1
  165: Host: %HOSTIP:%HTTPPORT
  166: Authorization: Digest username="testuser", realm="testrealm", nonce="2", uri="/20240400", response="9741ced8caacc6124770187b36f007c5"
  167: Accept: */*
  168: 
  169: GET /20240500 HTTP/1.1
  170: Host: %HOSTIP:%HTTPPORT
  171: Authorization: Digest username="testuser", realm="testrealm", nonce="3", uri="/20240500", response="5bc77ec8c2d443b27a1b55f1fd8fbb13"
  172: Accept: */*
  173: 
  174: </protocol>
  175: </verify>
  176: </testcase>

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>