File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / curl / tests / data / test2026
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 Digest auth, wrong password -->
   17: <data100>
   18: HTTP/1.1 401 Need Basic or Digest auth
   19: Server: Microsoft-IIS/5.0
   20: Content-Type: text/html; charset=iso-8859-1
   21: Content-Length: 27
   22: WWW-Authenticate: Digest realm="testrealm", nonce="1"
   23: WWW-Authenticate: Basic realm="testrealm"
   24: 
   25: This is not the real page!
   26: </data100>
   27: 
   28: <data1100>
   29: HTTP/1.1 401 Sorry wrong password
   30: Server: Microsoft-IIS/5.0
   31: Content-Type: text/html; charset=iso-8859-1
   32: Content-Length: 29
   33: WWW-Authenticate: Basic realm="testrealm"
   34: WWW-Authenticate: Digest realm="testrealm", nonce="2"
   35: 
   36: This is a bad password page!
   37: </data1100>
   38: 
   39: <!-- Second request has Basic auth, right password -->
   40: <data200>
   41: HTTP/1.1 200 Things are fine in server land
   42: Server: Microsoft-IIS/5.0
   43: Content-Type: text/html; charset=iso-8859-1
   44: Content-Length: 32
   45: 
   46: Finally, this is the real page!
   47: </data200>
   48: 
   49: <!-- Third request has Digest auth, wrong password -->
   50: <data300>
   51: HTTP/1.1 401 Need Basic or Digest auth (2)
   52: Server: Microsoft-IIS/5.0
   53: Content-Type: text/html; charset=iso-8859-1
   54: Content-Length: 27
   55: WWW-Authenticate: Digest realm="testrealm", nonce="3"
   56: WWW-Authenticate: Basic realm="testrealm"
   57: 
   58: This is not the real page!
   59: </data300>
   60: 
   61: <data1300>
   62: HTTP/1.1 401 Sorry wrong password (2)
   63: Server: Microsoft-IIS/5.0
   64: Content-Type: text/html; charset=iso-8859-1
   65: Content-Length: 29
   66: WWW-Authenticate: Basic realm="testrealm"
   67: WWW-Authenticate: Digest realm="testrealm", nonce="4"
   68: 
   69: This is a bad password page!
   70: </data1300>
   71: 
   72: <!-- Fourth request has Basic auth, wrong password -->
   73: <data400>
   74: HTTP/1.1 401 Sorry wrong password (3)
   75: Server: Microsoft-IIS/5.0
   76: Content-Type: text/html; charset=iso-8859-1
   77: Content-Length: 29
   78: WWW-Authenticate: Digest realm="testrealm", nonce="5"
   79: WWW-Authenticate: Basic realm="testrealm"
   80: 
   81: This is a bad password page!
   82: </data400>
   83: 
   84: <!-- Fifth request has Basic auth, right password -->
   85: <data500>
   86: HTTP/1.1 200 Things are fine in server land (2)
   87: Server: Microsoft-IIS/5.0
   88: Content-Type: text/html; charset=iso-8859-1
   89: Content-Length: 32
   90: 
   91: Finally, this is the real page!
   92: </data500>
   93: 
   94: <datacheck>
   95: HTTP/1.1 401 Need Basic or Digest auth
   96: Server: Microsoft-IIS/5.0
   97: Content-Type: text/html; charset=iso-8859-1
   98: Content-Length: 27
   99: WWW-Authenticate: Digest realm="testrealm", nonce="1"
  100: WWW-Authenticate: Basic realm="testrealm"
  101: 
  102: HTTP/1.1 401 Sorry wrong password
  103: Server: Microsoft-IIS/5.0
  104: Content-Type: text/html; charset=iso-8859-1
  105: Content-Length: 29
  106: WWW-Authenticate: Basic realm="testrealm"
  107: WWW-Authenticate: Digest realm="testrealm", nonce="2"
  108: 
  109: This is a bad password page!
  110: HTTP/1.1 200 Things are fine in server land
  111: Server: Microsoft-IIS/5.0
  112: Content-Type: text/html; charset=iso-8859-1
  113: Content-Length: 32
  114: 
  115: Finally, this is the real page!
  116: HTTP/1.1 401 Need Basic or Digest auth (2)
  117: Server: Microsoft-IIS/5.0
  118: Content-Type: text/html; charset=iso-8859-1
  119: Content-Length: 27
  120: WWW-Authenticate: Digest realm="testrealm", nonce="3"
  121: WWW-Authenticate: Basic realm="testrealm"
  122: 
  123: HTTP/1.1 401 Sorry wrong password (2)
  124: Server: Microsoft-IIS/5.0
  125: Content-Type: text/html; charset=iso-8859-1
  126: Content-Length: 29
  127: WWW-Authenticate: Basic realm="testrealm"
  128: WWW-Authenticate: Digest realm="testrealm", nonce="4"
  129: 
  130: This is a bad password page!
  131: HTTP/1.1 401 Sorry wrong password (3)
  132: Server: Microsoft-IIS/5.0
  133: Content-Type: text/html; charset=iso-8859-1
  134: Content-Length: 29
  135: WWW-Authenticate: Digest realm="testrealm", nonce="5"
  136: WWW-Authenticate: Basic realm="testrealm"
  137: 
  138: This is a bad password page!
  139: HTTP/1.1 200 Things are fine in server land (2)
  140: Server: Microsoft-IIS/5.0
  141: Content-Type: text/html; charset=iso-8859-1
  142: Content-Length: 32
  143: 
  144: Finally, this is the real page!
  145: </datacheck>
  146: 
  147: </reply>
  148: 
  149: # Client-side
  150: <client>
  151: <server>
  152: http
  153: </server>
  154: <features>
  155: !SSPI
  156: crypto
  157: </features>
  158: <tool>
  159: libauthretry
  160: </tool>
  161: 
  162:  <name>
  163: HTTP authorization retry (Digest switching to Basic)
  164:  </name>
  165:  <setenv>
  166: # we force our own host name, in order to make the test machine independent
  167: CURL_GETHOSTNAME=curlhost
  168: # we try to use the LD_PRELOAD hack, if not a debug build
  169: LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
  170:  </setenv>
  171:  <command>
  172: http://%HOSTIP:%HTTPPORT/2026 digest basic
  173: </command>
  174: <precheck>
  175: chkhostname curlhost
  176: </precheck>
  177: </client>
  178: 
  179: # Verify data after the test has been "shot"
  180: <verify>
  181: <strip>
  182: ^User-Agent:.*
  183: </strip>
  184: <protocol>
  185: GET /20260100 HTTP/1.1
  186: Host: %HOSTIP:%HTTPPORT
  187: Accept: */*
  188: 
  189: GET /20260100 HTTP/1.1
  190: Host: %HOSTIP:%HTTPPORT
  191: Authorization: Digest username="testuser", realm="testrealm", nonce="1", uri="/20260100", response="5f992a2e761ab926256419f7c685f85b"
  192: Accept: */*
  193: 
  194: GET /20260200 HTTP/1.1
  195: Host: %HOSTIP:%HTTPPORT
  196: Authorization: Basic dGVzdHVzZXI6dGVzdHBhc3M=
  197: Accept: */*
  198: 
  199: GET /20260300 HTTP/1.1
  200: Host: %HOSTIP:%HTTPPORT
  201: Accept: */*
  202: 
  203: GET /20260300 HTTP/1.1
  204: Host: %HOSTIP:%HTTPPORT
  205: Authorization: Digest username="testuser", realm="testrealm", nonce="3", uri="/20260300", response="132242e602882251929be93228c830ae"
  206: Accept: */*
  207: 
  208: GET /20260400 HTTP/1.1
  209: Host: %HOSTIP:%HTTPPORT
  210: Authorization: Basic dGVzdHVzZXI6d3JvbmdwYXNz
  211: Accept: */*
  212: 
  213: GET /20260500 HTTP/1.1
  214: Host: %HOSTIP:%HTTPPORT
  215: Authorization: Basic dGVzdHVzZXI6dGVzdHBhc3M=
  216: Accept: */*
  217: 
  218: </protocol>
  219: </verify>
  220: </testcase>

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