File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / curl / tests / data / test153
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 Digest auth
    7: </keywords>
    8: </info>
    9: 
   10: # Server-side
   11: <reply>
   12: # First reply back and ask for Digest auth
   13: <data1>
   14: HTTP/1.1 401 Authorization Required swsclose
   15: Server: Apache/1.3.27 (Darwin) PHP/4.1.2
   16: WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
   17: Content-Type: text/html; charset=iso-8859-1
   18: Content-Length: 26
   19: 
   20: This is not the real page
   21: </data1>
   22: 
   23: # second reply back
   24: <data2>
   25: HTTP/1.1 401 Authorization Required swsclose
   26: Server: Apache/1.3.27 (Darwin) PHP/4.1.2
   27: WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
   28: Content-Type: text/html; charset=iso-8859-1
   29: Content-Length: 26
   30: 
   31: This is not the real page
   32: </data2>
   33: 
   34: # This is supposed to be returned when the server gets a
   35: # Authorization: Digest line passed-in from the client
   36: <data1001>
   37: HTTP/1.1 200 OK
   38: Server: Apache/1.3.27 (Darwin) PHP/4.1.2
   39: Content-Type: text/html; charset=iso-8859-1
   40: Content-Length: 23
   41: 
   42: This IS the real page!
   43: </data1001>
   44: 
   45: #
   46: # This is the second request, and this sends back a response saying that
   47: # the request contained stale data. We want an update. Set swsbounce to
   48: # bounce on to data1003 on the second request.
   49: <data1002>
   50: HTTP/1.1 401 Authorization re-negotiation please swsbounce
   51: Server: Apache/1.3.27 (Darwin) PHP/4.1.2
   52: WWW-Authenticate: Digest realm="testrealm", algorithm=MD5, nonce="999999", stale=true, qop="auth"
   53: Content-Type: text/html; charset=iso-8859-1
   54: Content-Length: 26
   55: 
   56: This is not the real page
   57: </data1002>
   58: 
   59: # The second request to the 1002 section will bounce this one back instead
   60: # thanks to the swsbounce keyword up there
   61: <data1003>
   62: HTTP/1.1 200 OK
   63: Server: Apache/1.3.27 (Darwin) PHP/4.1.2
   64: Content-Type: text/html; charset=iso-8859-1
   65: Content-Length: 30
   66: 
   67: This IS the second real page!
   68: </data1003>
   69: </reply>
   70: 
   71: # Client-side
   72: <client>
   73: <server>
   74: http
   75: </server>
   76: <features>
   77: !SSPI
   78: crypto
   79: </features>
   80:  <name>
   81: HTTP with Digest authorization with stale=true
   82:  </name>
   83:  <command>
   84: http://%HOSTIP:%HTTPPORT/1530001 -u testuser:testpass --digest http://%HOSTIP:%HTTPPORT/1530002
   85: </command>
   86: </client>
   87: 
   88: # Verify data after the test has been "shot"
   89: <verify>
   90: <strip>
   91: ^Authorization.*cnonce
   92: ^User-Agent:.*
   93: </strip>
   94: <protocol>
   95: GET /1530001 HTTP/1.1
   96: Host: %HOSTIP:%HTTPPORT
   97: Accept: */*
   98: 
   99: GET /1530001 HTTP/1.1
  100: Host: %HOSTIP:%HTTPPORT
  101: Authorization: Digest username="testuser", realm="testrealm", nonce="1053604145", uri="/1530001", response="f4f83139396995bac665f24a1f1055c7"
  102: User-Agent: curl/7.10.5 (i686-pc-linux-gnu) libcurl/7.10.5 OpenSSL/0.9.7a ipv6 zlib/1.1.3
  103: Accept: */*
  104: 
  105: GET /1530002 HTTP/1.1
  106: Host: %HOSTIP:%HTTPPORT
  107: User-Agent: curl/7.11.0-CVS (i686-pc-linux-gnu) libcurl/7.11.0-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS
  108: Accept: */*
  109: 
  110: GET /1530002 HTTP/1.1
  111: Host: %HOSTIP:%HTTPPORT
  112: Authorization: Digest username="testuser", realm="testrealm", nonce="1053604145", uri="/1530002", response="f84511b014fdd0ba6494f42871079c32"
  113: User-Agent: curl/7.11.0-CVS (i686-pc-linux-gnu) libcurl/7.11.0-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS
  114: Accept: */*
  115: 
  116: GET /1530002 HTTP/1.1
  117: Host: %HOSTIP:%HTTPPORT
  118: Authorization: Digest username="testuser", realm="testrealm", nonce="999999", uri="/1530002", cnonce="MTA4MzIy", nc="00000001", qop="auth", response="25291c357671604a16c0242f56721c07", algorithm=MD5
  119: User-Agent: curl/7.11.0-CVS (i686-pc-linux-gnu) libcurl/7.11.0-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS
  120: Accept: */*
  121: 
  122: </protocol>
  123: <stdout>
  124: HTTP/1.1 401 Authorization Required swsclose
  125: Server: Apache/1.3.27 (Darwin) PHP/4.1.2
  126: WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
  127: Content-Type: text/html; charset=iso-8859-1
  128: Content-Length: 26
  129: 
  130: HTTP/1.1 200 OK
  131: Server: Apache/1.3.27 (Darwin) PHP/4.1.2
  132: Content-Type: text/html; charset=iso-8859-1
  133: Content-Length: 23
  134: 
  135: This IS the real page!
  136: HTTP/1.1 401 Authorization Required swsclose
  137: Server: Apache/1.3.27 (Darwin) PHP/4.1.2
  138: WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
  139: Content-Type: text/html; charset=iso-8859-1
  140: Content-Length: 26
  141: 
  142: HTTP/1.1 401 Authorization re-negotiation please swsbounce
  143: Server: Apache/1.3.27 (Darwin) PHP/4.1.2
  144: WWW-Authenticate: Digest realm="testrealm", algorithm=MD5, nonce="999999", stale=true, qop="auth"
  145: Content-Type: text/html; charset=iso-8859-1
  146: Content-Length: 26
  147: 
  148: HTTP/1.1 200 OK
  149: Server: Apache/1.3.27 (Darwin) PHP/4.1.2
  150: Content-Type: text/html; charset=iso-8859-1
  151: Content-Length: 30
  152: 
  153: This IS the second real page!
  154: </stdout>
  155: </verify>
  156: </testcase>

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