Closed makkus closed 13 years ago
Hi, github markdown has deleted the snippets of how the form target URL was encoded - pasting again, escaped properly:
In earlier versions, the address where the form should be submitted was specified as:
<form action="https://slcstest.arcs.org.au/Shibboleth.sso/SAML2/POST" method="post">
but in IdP 2.3.0+, it is
<form action="https://slcstest.arcs.org.au/Shibboleth.sso/SAML2/POST" method="post">
PS: I think the fix could be quite easy - just wrapping the URL into an XML entity decode call.
The hard part would be finding where to insert the wrapping and what exactly should the URL be wrapped into :-)
could you please send me a full copy of the html, i'll add an intergration test to handle it. I have a fair idea where to add the decode call but it would be better if i can expand the tests while i do it.
Hi,
This is the HTML ... trying to figure out if I can attach a file, but so far pasting here:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<body onload="document.forms[0].submit()">
<noscript>
<p>
<strong>Note:</strong> Since your browser does not support JavaScript,
you must press the Continue button once to proceed.
</p>
</noscript>
<form action="https://slcstest.arcs.org.au/Shibboleth.sso/SAML2/POST" method="post">
<div>
<input type="hidden" name="RelayState" value="cookie:58a2faee"/>
<input type="hidden" name="SAMLResponse" value="PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c2FtbDJwOlJlc3BvbnNlIHhtbG5zOnNhbWwycD0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOnByb3RvY29sIiBEZXN0aW5hdGlvbj0iaHR0cHM6Ly9zbGNzdGVzdC5hcmNzLm9yZy5hdS9TaGliYm9sZXRoLnNzby9TQU1MMi9QT1NUIiBJRD0iXzA4M2EwMmI2OTc0ODY3NDBhODM0MjZiZDRjNzU0NmRkIiBJblJlc3BvbnNlVG89Il8xZGI5MWUzOGIxMmFiNmEyNWE3YTU4MWMwMzIxYTliMCIgSXNzdWVJbnN0YW50PSIyMDExLTA4LTE0VDIyOjE4OjIxLjIxMFoiIFZlcnNpb249IjIuMCI+PHNhbWwyOklzc3VlciB4bWxuczpzYW1sMj0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOmFzc2VydGlvbiIgRm9ybWF0PSJ1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6bmFtZWlkLWZvcm1hdDplbnRpdHkiPmh0dHBzOi8vdmlydHVhbGhvbWUudGVzdC50dWFraXJpLmFjLm56L2lkcC9zaGliYm9sZXRoPC9zYW1sMjpJc3N1ZXI+PHNhbWwycDpTdGF0dXM+PHNhbWwycDpTdGF0dXNDb2RlIFZhbHVlPSJ1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6c3RhdHVzOlN1Y2Nlc3MiLz48L3NhbWwycDpTdGF0dXM+PHNhbWwyOkVuY3J5cHRlZEFzc2VydGlvbiB4bWxuczpzYW1sMj0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOmFzc2VydGlvbiI+PHhlbmM6RW5jcnlwdGVkRGF0YSB4bWxuczp4ZW5jPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA0L3htbGVuYyMiIElkPSJfOWM5YTc4ZjdiNzZiODE2ZjdkZDg0YTYxNDM3ZGQ3MDAiIFR5cGU9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvMDQveG1sZW5jI0VsZW1lbnQiPjx4ZW5jOkVuY3J5cHRpb25NZXRob2QgQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA0L3htbGVuYyNhZXMxMjgtY2JjIiB4bWxuczp4ZW5jPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA0L3htbGVuYyMiLz48ZHM6S2V5SW5mbyB4bWxuczpkcz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC8wOS94bWxkc2lnIyI+PHhlbmM6RW5jcnlwdGVkS2V5IElkPSJfY2E0ZjA1NTYxYmQ2ZmVhYzE5MTE5MGZiZjIwMGYyNTMiIHhtbG5zOnhlbmM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvMDQveG1sZW5jIyI+PHhlbmM6RW5jcnlwdGlvbk1ldGhvZCBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvMDQveG1sZW5jI3JzYS1vYWVwLW1nZjFwIiB4bWxuczp4ZW5jPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA0L3htbGVuYyMiPjxkczpEaWdlc3RNZXRob2QgQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjc2hhMSIgeG1sbnM6ZHM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDkveG1sZHNpZyMiLz48L3hlbmM6RW5jcnlwdGlvbk1ldGhvZD48ZHM6S2V5SW5mbz48ZHM6WDUwOURhdGE+PGRzOlg1MDlDZXJ0aWZpY2F0ZT5NSUlETERDQ0FoU2dBd0lCQWdJSkFQck5UMUcwMnFFcE1BMEdDU3FHU0liM0RRRUJCUVVBTUI4eEhUQWJCZ05WQkFNVEZITnNZM04wClpYTjBMbUZ5WTNNdWIzSm5MbUYxTUI0WERUQTVNRGd3TWpJek5UZ3pPVm9YRFRFeU1EZ3dNVEl6TlRnek9Wb3dIekVkTUJzR0ExVUUKQXhNVWMyeGpjM1JsYzNRdVlYSmpjeTV2Y21jdVlYVXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFDNwp4bmY2aXgvR1pRaUY0OFdXVHVKNmRYN2liVzZ3bTZqN254dEhlRTFuamZpc1J3SkxJdzF6NEQzUzhmZDVuZ1FsQXdDb0t4dW9vZ2g4CjVFRjFWdEw3U0hPK1YxcTg0SkhZM051bUlWU3JyeFFyUFg4Um5vL0dqL0EwTnRvMHh2TlhFS2JsSjBRTC96ci9mdzlhWXAxYnBqWkkKYlY2cThUWUFWbEl1M1hYNEFJTks5bEltUnNTM2NmTDAvejlJWE1lYmorVmpVY3VmZGFZYkRSZUpRQVFtNnVSV04zeUdmQTliNG1ySQpaeUFHeVNPL091dW5sdGZNMnBua0x6SEYyRy9senZCcjAyUDNDVmpyaGREQlJ6L09idHJDNUdUTUh4SkwzUFUvSVoxMlk4TERRZG9CCjgvOVFSUHVNRGRncFl3eFN3K0U5VE0wREk3WEJRMDF5dHlPM0FnTUJBQUdqYXpCcE1CMEdBMVVkRGdRV0JCUXVJYXNyUyszRmlWSFYKbk1YN3NsMWdjSE1nSURCSUJnTlZIUkVFUVRBL2doUnpiR056ZEdWemRDNWhjbU56TG05eVp5NWhkWVluYUhSMGNITTZMeTl6YkdOegpkR1Z6ZEM1aGNtTnpMbTl5Wnk1aGRTOXphR2xpWW05c1pYUm9NQTBHQ1NxR1NJYjNEUUVCQlFVQUE0SUJBUUJwOXF6OHRJT1JCRkpqCm15bXVwM3JOZE0vWkx4dHUzRlppb0ljc2hCbjlTMmJOaWxWRXFNYml4TXB0TWYvOEpHeU1udHdIUVA4VFBBQllyZlhBOVpxK2N3dWgKTUhXRUZXTUxWV2F2VTRMVVRveENuQTBxTTRTcW1TaUYwVERGbWM1SDh4UW03MGlaRzYwcjRNWnkrc3hNSThuMkpzekFueGx3TlVLagpLUmtVUzZ0MVM1VTdmNXc2dUFpVjNsbDE4bGdTTUFTV3piN1BkVDcyQSt4d0tFamUzcGxNYXpncG13T1o4cS9xcEhJaHpKT083N01iCnNwekc3cUg4ZzNFdEZDVU0wenZSdEUzVHZyeDdYNWJ5M050SmRpYTA4TGUvSDIybzZuMkhYbUliZ0g4RFJMT1ZVSDdaUzRNbExpY24KTzU0ZWcxVkJsc2ovTmlLVVJyQ2lRWStZPC9kczpYNTA5Q2VydGlmaWNhdGU+PC9kczpYNTA5RGF0YT48L2RzOktleUluZm8+PHhlbmM6Q2lwaGVyRGF0YSB4bWxuczp4ZW5jPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA0L3htbGVuYyMiPjx4ZW5jOkNpcGhlclZhbHVlPkRPK2RrakErb3k3eGxNZWFyV1lZd0VkQzZ6b0phSWJzOVViWmJ5akI2ZVhyK09wdmY1bjJZeUpaSVFQSzFBYjRIZXdyaDdERVljNUhEeU9aS0phVDJPOWdreUtzU1YyVjg5WjlrcGRraUhxOFZPQ0VoVndaOERoT3dkTFpnMWhSN3hNdXdWR21YMm9ycW13NU55ZXVhWENPclpnZUxrbHJqS24vVmJTcDdwM0lvN0ZjNXMrMjlCcXJIa00xYmJ3aGVGME1wMmJpUGRnUnZKRWlxTTIrMXVwekkzM0RTa1RIdk10V2k2emdBQ3dYRWFsT1RmQ2o3NHNXKzh6WnE2am40QWZkRXpmbjN2ZllHbndET1FOcEJpbnY0dkhOUVlnaWxmcm9tem5XVGhBOW9lYXRNV3BMenlCaTB4L0ovVGZISG1YSUJLWm0zQ1VrWVgraFU1Sm9kQT09PC94ZW5jOkNpcGhlclZhbHVlPjwveGVuYzpDaXBoZXJEYXRhPjwveGVuYzpFbmNyeXB0ZWRLZXk+PC9kczpLZXlJbmZvPjx4ZW5jOkNpcGhlckRhdGEgeG1sbnM6eGVuYz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS8wNC94bWxlbmMjIj48eGVuYzpDaXBoZXJWYWx1ZT5yVDFmTTdyWDVmMFpXbEVxQVcwRU5IMUNPcnFHQVZDMXErem9qTEdTR3NNalJvclBWYmEwZ1V5ZHpyZlRpSjkySFVhU3c2YnhmekUzeTY2Yk4yREU3VHFSRzM0Q2ZvL0ZSblRkZDA1ZHVvY24wdmR3SU9HOUtVR3A4QlpxUE9sQ05yVXQ2UG1GaWJPak0yM0tzdnYvZzZFUWN2SllDUHNobktzY0hQOHh3K1BBK3FNeStSSmZ4REpucGxEMkIwYTE0OW9GYnhWTWhBcnJHZmVJYzBsM1ppUlNKOGdZcDZnS1ZHODl5M2w2NzN1bHRjZlFBeDFHaXpVa1F6UlZJVzFxUlZhTDFtM3BRWUFyN3JUMlVpT3VrckIzTHlYZWZIKys5Z1pSQXZ3clVMY21vTDlvMHJEckF4Y1R4eEp5UThsWHMwaVdFZFkvM1BXYUYzVXZ5NWpLaTNqS0hRZS9lQlcxVC9RaGYzajdSZDJrckxmbk9QbTRCVjl6Z0w0OUxHQmtTSFQxcGdvOFpKRXlMRmFLQmkxR2lnbGV3Nk12YWl1ZXB4RG9kTU1qMW1Uc1dnQ1Vza1Zybkh3TVVjVWJOUmplTTBVNHEwYllTK2xqdm15K0FDSy9NSnZhRzFkY1BLMERLaFg2OE5LNDBBZ3A2RVM0TFpIVEJ2WjBlYmhOcXRHcmNhL2VEZ0RrbGxuaUUwU05wcldQVXI3emh1YmhseEd0czl5Rmo4TnFBWnRGTE1GaVVYU05mc2NBNnI4Rm9yVllSMDlucy9hYXlQSWw4R0hRZ3pzd2hlUkNINmRCcHUrTFpGcU9LVTBTeU9ENGVyR3BwQXJaeFY3aHlrdUltY3kzeFpqSzRsbm9XakNaU2dxQk51aldqc29TazJnVEVmcGJkTnU5RXMxMFBWb0NBZXBod2pWY2x4bDZ1MFpKd3htNnZjNThkVEhxVW1pcXI4MUM4MGhLNW14WE1PR0pkdlppMjFSWVVFNWZrMGFXbWpJU1pBeHZPV1E2aVNSVjdoa296cUJ4ZjB1SjJXc1RObWpvZFo1ZmJFWXYzZVRzTmVDeEROeDdJbWdxUlRrZG9UeVpyNndmS3pUSmZvYTkwU3VFN0ZCUGxxOFFkVjVRVGVJN3YvNDFwejdOQkRzOGQ3SHJ0dkFNeWtqTGpOYzFJRER1bHdEUCswRkJvbnFMZEZCSFNmR3orY3lET1JnTGNya2ZvQzVTbFVybE0yaURpV0dCQnlwS2NXNndRY1hMRHA0bjJodmZEZlU3YkQ4Q3pDRWhNQytzV0YvNnVkMGcxY2pqc1lmWEo5dXR4N0djVjJWcFdqQ2VlUGdIS2RzV0ZtbEI3UnpWdERNZ3RwODhIcGpRS2RqNHI3WXNEWWNIS0xmZjFWZi9Dbkptejc3MTdqK0FhTHpkMWNyK2ZkTWlwM2QrMFpHeitFNkp2azM5KytScUllRTIyRi9odkZSbDhjZ20vMnlhcCtBVnQ0K3hPd25yRko2ZzBvaDRhdmNMd2RWVklGMEpaREM1UzA5bk5LOCt4NllRUTBBeGtKSWxPUW9HdmhiMVRFRlE2STRzNWhUMlUzTERjOXl0ZHNhRHYxSjVIazhSZG5UV21yVjE1YVJjSFcybTFpdno0cUhzVU00YkNENEk1U3lNOTZJYUNwQU5zYjlxRmpodnhzeXY1blkwVUlqUEYvdmJJZ3Zyd3Uyc283ZWJPMDdVa3RzVXMwZWNSSzg4cVZaSXFreVVod0ZsbStORlB1YThRdld5YnJ0ODYxSTNtMmZCVEkzSjNFNzhUVTU5ZmhXTUFvMGI0Q2k0Q1UybUU0ZWltWkdISWhRTStkTFVxT1ZoNGZ0TEs1SWRBN1dubG9iZG4yK3ZVY3FiK2NLYVJucndoQVJySlN0eDJEYVc1UEUveVJLVG5SVENWRHFxRWVmU3Bsb0tTY1RoWHpNamRZZjlvL2NLRWdHVnRNMkw1UktyU0dTTzdla3NXSjNUQWhzdUgreG1lV0RzVFZ6RnMxS0lGQkgyVmlPcGVET3Z6aThHc0lmcHU1RjUyOG0wYThOMzFaVDNLUllodm05U25ncDAxTldBMTJSLzdPV0tvTGZ1dlRLeGJDYUl6ZEdZNENTNlR6U21tNGhsS3FKVi9QK0tsVXpobVJpMDd2dEJQMkZtcmJnNW9qaXdjc0ZzTEc1blJzSTdsVkp5MU45VW9PandTakhyUTRFMGoydEN1Rjc4TDdJTzZLY0tnTTBSRnA4VzdrUjMrOHVNbEFzcUJpV2F4Zy93ZDVkcjRYSkNhQjFBOGk2MFVWSVVYVkpHS0JnSFhpQVRGclpvWklITlpPV0RNUUl5Y3VQblo5TzNZZFlyK1dYMWFTYXBkTE81R0x1Q3AvQWRBdlZjUURoZ2h0OXNQY2FJT2c3UUpnYWtURzhqZ3l5UGRjY2cxSnVtVDNJMlNHeUJsNXVCLzlSaWd3dlJ0S1hscEpLYlBpWnpUSEo3Q2tsTXpKdmlqSVV3cnJ4dkVlaUtFODZXR0g2WGVwbnNkTFd0blRON0g3MjVuYml5cG55alhpUE1tR3A0VGRVbzR5ZCs1SkJIQzVwSjEzb1gyY1dNUnFKMHc1aExQSzJjeDBJR3pDOWl2OEVZYmZ3eVJqejJkMDE2TEJEWk5xdHRyUFg3aEp3S2ZRU2dTM3ZMbk9kcnJ1OStiME5adVNQR0NnOExRcERtcVF3SDM2T1I0VFJBUkoxbTFmckRRNmdrQ2dkMzQ5NW90RndocC9HZHV0b0xiaHVkQ3krQ09ucjNkL0gvSVA3R01LVUFVK0FpTEUybStKRUpBRkN2MURHTHpsMUVQRERJZ1VEZ2JpOG9nK1l4R1hwOS8wNmsrWExOY1lsRzNvUGk3QjZuNXdkY1NZL0s5TXNncHh0QTkxY1RQVUtGd25vNk1hcVdyU1Y0RVVNT3J0ZmZjakVPZXU4OGs0eFlaWURLVGZ1YjdnZmNoKy83N2NXVXpsUG00enhiZmxXSUtiSVNFMjNBWVB6S0JvTjlNa21wZDJQWVR6bHhpWGF4dlBpaG1MZElJMG1kdGxPMWxUUCtaY2lmUDBnRWpLSGNUN1JhRmdtM3hpQXdlZFZNb2QvZ1ZiZ1VwUkVJaVprZTdTc2E3Q0lMdUxmSDk2ZFpqbW5LbThscUJFdlBodkpOb0xxcXAwc2V2WWRUOVV4aTh5dnR1eTVhekkxZjNXWXA0TFhoUUtqQnhGM2c5emRIcWxvbjZYekJCa25DUHB4VmdtVUE3QkNVcTBoTHQ1amhGczhXcTRSZmorQnBDZUlaRlVQU2IrcjVTQXBqeXhRUU1HNkU1dEE1aU5DUm16dGR1NUZxMlYrMTVCL2F6Q3J2UmQ0OGpZdWlZZzRzc3duWXlnaFJOcHIxWjU2YmlneS9KaU5weWpTOTBwTGFxdC9qSnFUVWdaSlhoZE1STzhSeHlMTW1zV0VCYzV4QnNhOWgvaExzRFZMQmNTMkk1YjFpczBSbkUzd25la05iZG4yei9rcWU2RldoaHNtV0dwb2lIbzhZQmFGNVBxR2ExemZ3bE9pM09JemNYYnlTczdjSHpYbjkrRjRNc1JQT0NKMkM4K2NjdkZjeUx1SGxEMHk2aG9Bd0xzbWlUN3FBZGlUZjJrQmpVUXBueHVJeG9VSktUQUwwT0NqZ21mSEVwa3B5b2hjUkNITDFXVVdsb2d0WmxpUGFxVFY5NzI2UU4wUDFZUTh0YWN3bmxjNGFpYUNvNFNFK2JOdWhubjhPSEJORU15dmtEbVBYT3h4QUZkNWpPZm51Y2VXUDVOdTJYeWpJRVVEWmRkWXFwMDhFZkV2MUxMZ2FmYXFab0ZHWjVXa3g5N21qN2x1VUw3SFRhajNOd1JWY0UrN3pIczVrSHVUZ0RGckJjYkJhK3RtRUpvU3ZMVSsvMm12bmZyR1V4a2cxcW5URTl3SnVjckZEV3EvdmY4MWQvdzBRaEo1NjF6YS9pbzVrQ2VWSTV0d01FeFZUMURraHJxNWRWRkRtYTJYenM1amFEUVV4WWVMeVFRN2NzWHlKZEVYR2ZpSkRVNXB6dFo1ZElYK1ZNWXAwQUQ4VDgzTFo2L0U2YTlPUENORmlXaW1kWEU3WnhSWVJrcVZyZHFzcjVkZ0d4eStyNFFRS0FyY3dpcmwza3daN2VXeG5QT1BPU2t4b2FwTWZEZWIycktlaHJXL3IxYkNGZFowd2UvYmF3b0lMYURQM0ZOMDFyTE9tVnNWMUY2eExyN1BBMEgrVHpFYnpoU0hMQ3pHTENJSnpzaXVSRWRBcjZTcVRNNCtKV0IzSUNPdU1jc0lNcVpsOXMvWCtURkpFQ1V1RFhJcjN6cVFadURodmxTOGZ3VmRKOGNtQ3JxZkE0VjFHUUpCT1cxMmw4ZEhhU0pCMVVZUTdkaUtrMTcwK3RlYmZLQXc5akNsT3B6RStEZHh4Q1NwTkNoUDhCQUhwZjl4cStWQlJieDRwUlZuelZ6a2M3YVFOYWZiUE9TME1QbnRpSzBPbWpoVGY5UzhTemU5N2xnR2wyRDNwK2xqSUNFV0NkcjB6K0F3eTJMS2x5bTEzUjd4eVlyaDBpcHRaZ3hoR3BvQlFDUmFsSE9URzhKaUtocGRVUFE0YmJWQXo0bS92Rjl1ZndiMVFQZ2dXTUpzWklKVVdLODhmVDdha0ppT0hVZ0RkR21ROEJub3BlYUVTMUJBcnlGK2FtK2Q3cnFObzBRVUUxMm1CSnZQU2V1UGhmQkx4RXd2WkJVV2NzWHFVZXhkZzd6dG5pd0RHdzk4WUFzRWhxSm9HVmUwMHEyOUpIdzVpQVVlVzJxdlIwWG02ZHk0RzZJTzNyaDVjTDlsTXVXcGhJVUtoRkhoQldPSzhkRWhCdUMyM05zNkJoeGlpMHE1bm5pOEN2aHVucXdIRC9jbHdiOHVISVZsVzlFYUZ6VHRqM1d0SFQ5K2FDNkI1OENjUTZCaW5wZWxKT01jQ243UURHOTl3ekZWdmdQdVI1S0Zwc2ErZ000T2VFN2syR3pHakVacFBqQ3BaaWtGcVpXaG5mRmpwRFJ1TThwSHEyajNhQm01Tlc0Yk1NbDcwUnp4b1FRYnZVVlpGTXpRYWRxZklXc25DRVlFMjNSaXRWTTMxTUx6RWZEa3Zkc05aWiswOW9uVUcwQXpqQUhZdW4zd1pwSkhHVHdRenRJSkZLTFlZVzcxZlFEU3pJZmdXT3k1dEpPYis2blNabkNXWFVKVlhlSm5KOERITmtHSzVoVkNxaXJqclpWN2RxdXdVbXlET1BSRGdEQ2FyK0J3VXdMRDFSVjUzUHlZZUJQYUdNbnRYeCt4MUFsMWUxR3BaWTdpNWhVeDFsZG41Q3lmcWVZUy9SclJyREt0SDBGdk5jVUtKWnpTTDBCaFFrRVNEOS94b0s1NnpCRUxvNlIvZ05NeHNIckdSK2Z1WVRjbjYxZHNxTUo3MzJLS05WSmJsZlZrQ0tkZS9uQTFpVmVjZnMrdDhzZzhtc0NNZ2V5S0hBY3l6WmFVSTdHZElpK2dEbCszdkd0S3duNXpsb2IzaFNiM3ZWeGtDSDZweDdGWHVBSDhGNlZvR3NtTnAzTkUxK3RlTktVRDJBdDN2dkxRcWZLbVN4OHRmdXZIRVdmalpSelZVSHN0UklVcjlsSG4vVjFCbjB6MVRLQ0xTdG85WFVSdFA1NDR2Q1VGZHhQTjNYaG4zU25OZm1uVXMvVG1JRitOcllreGVlaVVhcTJvVG5IK1JpY3RXRHZ0TTkyQlRrcjZaSng1dXhWcFZibWc4OWp4a1VEQlNMTTE1TVRCOGpaRmpCWjBTZEE3VFdmWERycExaMitVTDQwbEM2NitrdWZjc0V4d0FuZzFnRm9yV2NrN2RyMUs1RUVCdjFXQTkvWFY1elMyMkpkekdZN3NZa0Q0eGpyUTRNclZZaTVtQUJXNG9Jdy9uRUpNd1BiVi9saGYvZ1E4VnZ3SlZKU29mV3JzdDlCTXdBVVVlWEJWenBybnZHOFZuVGlhSExaeU1FNmk0WnJwa3NmRXo5WHQzRndPZk1LaDlmeTlHWEhyVjVDdXdqL00rMHNYNHBCZ0E5SFI1Qm5rWlpRWTk4Q0VMd05PNmhtaGM3R1l0aGM3cnU1bGZwaTRRQ0ZxbmFFVFZJSDhjVk5xWXQvWGVOVTZoSjR2WFVFTXhHNzRuT01nTllZOVFEVFFjZGF1VGxwNm1YaHlVK1IxSFpXZGxheDVveW4rVmgxbE4wS2kwdFl1WjUzWnFJaDcyMkpFWlV6RTU3SnNuOGxzeDJkdCtsWEFyVyt1Z1hLcTRyVU5BdmNQWUFTZjYyZFV5WitsZWdiTEhVVndhMnp6bVFUVmsxMmlBNHZGdllnck1VMThuUlZSVjhuQ1p6WHJNb21QdzBCNEVZMXFXZ3FKMVYzOWw0YmlDSkNiSG9rTUdGam1tOGxobU03cU5kRjd4bkcxZzRhYlVXeEhyQml4d1dSclFveWpIQnNGK3pUV0xUSTBLMWhlL0ZNTm5jLytlR0pPVjB2YVozcjl1cXpncnFZRjZFblg4MjljeTZ1eElNaWpmdzFIMkxOWkpQcUwrVytPTWdCTUJOb0lFVFRBbzNXWUVWL1lKM1ZLUy9BVEJETlN3azdVZU03YXdoa1dTczBLNkJGTE8rRGMwWmJjQmxkaHF4UmtGeldYdTMzWlJwQWN6NTV1cHRuTDl1TTc2cmhXL1JodVBNQU8welYwQ1I5UFBRT3BXYTZKdHBORitFY01rTUE4cnVJclFWUXhzVmU1R0Q0WXE2NHhETmZrdzlHVHlVMGpGU1BhL1ZObnBHNnBmZ1ZvSnBPWmI4anQ5ZGE5U0FLZVBvV2V1aEpiTDJFZFNsRFJsd2JmWUxtcndUbkFtci9PeW8xVmtOT1JSSTduc2I5VFp4QThVOEo5TC9CRk9OMFJMWDRRWW9oU1VNMUJHMUd5cFJDQ3JmeGJvWmY0aHB2Q3dOS3dUZGFaemo4aW03WGpDN1RmTGM1cVhGZGZhY0FZZ1hHTmkzVkhpdGpJODh0SU9pUzQwRE9xNXJVV2FlazhEQVJHY3NPbnZVZFRQdnNIZGY0NGRoMnpheGpZaTRvdlVpcFYwakpaSCtLeTV3eG9PWU8zOEU4aGJUcUc4VGVRdlB2cmwya0V2am9FNkNJSnp6TC9KYnl6bW9ISGxsc212QXB3WmVyb0tyQ3J3ZCtiWXNzRkhXVXBYS0xLYktDa0l3a1UyMkZaMUx0ejRCc2QyaHhZRFNJclFEY2VZaXhGQ3dMZWdxVituQWtSR293Y0VLZEpUditORW5pNDRhYy9NcVhkS3lPVFFxa0lLemhVNUdXRTYvUjREWTlHb1pqNkhCUkhyOHhXVWllbVBGc28raVFVYmxGZG10TWlxYVlFZ2ppTlI4MDFGWjZ6bWJ2M1M1RDQyNlMxODFVNVRseDN3a0UySU1oRmpVcFozTjlDM2p3VnZKUWRKUUVuTi9ScHJObFVQNnhLNzhyWCsxakpsMjEwT3NSbWZKdkZsSG9aT3M0WEdqYzR3NXZpU2RUaVVkR0pJejlhNi9zMXVtZE8ySUVVODBuRTVKK2kxTXlBN3RvOUoxVFd4MlRtY2U2ZVlmcTN5eG40cG5WRTRua3QybzFqNjR6N20yRHNuNmkyUzY5M2lGY1NlcFI1UnBvbldFWHkveGJQVjhjcTZVdnpwSlhEWDdVYXQ0SnpNQWIveDBIOHdHQThqTElOaHFrWjFka1JQK3l3cHJmOW8vWnlUQkVXWERTQnQrMjR1SDRuRkxtZmRZaEh2RWozVmtGTUhQWStyUnlQOFV1Qno5L3lXczZTV3M2TVZIdnBqRzBYYm1hZVpaa1MwbWs0VE5ScFNBbStMTlEwTVF4OEw3YmxuZ3UzaklxNkRPVVJkUDkxOXZKT3VsSzV3b1pBMEtXQml0Tnh0WUNwajVFMzBFVlN1WFRWcWd3SzBBaUpFYk9vMHQ1OXhHREt5Q0tpRVFIY1lXVjc3WUdmY2FsNGdFbTBUbHpyNE5Gci9KdUJ2L2VIaXptOEhHSHRSc2dTL2lBbWFzUFBJOHBqQTZHTVlCMzUyRkk1c0xocjU3Y3hscmtLUHVER0syUWQ1QTNXMUVBRGdmd2wySVpoTVhFMDUycUs2SDlnU0xKN1pLcTlIWU5mN0pxSWJBODZaUFdmamVtdlVYN09LZkh4Zk43aVU4bmFpSHZSMm5hMlhtbEFMQlUwVHNVTlNRZW8wRUV5cmlQYklGb3BLYUlrOCtFZjFwWCsxbzBSTFNSTFNUVURqSG44dWxjWWttR2V6SkNFeUFqSHVxN2dSRzVmaEpGb1NTR0ZxYzltak96TktBTDA0K2ZhemM1bFh4dGVlcFRNVGhCVkhDM21kVi9EVGs1OVJmZGxJT2E5ZWFmMmwySzF2My8wK0s4OFpQWUx1T3IwcHdXV3h4ZlkrQXV3NXREYmZKRHkvcUhNdDN2WnRHTkJxaFZ3Y1hhRjVKSGlmRUtWdWt1dEdROHZOeE1CZHY5cWMyeU10aVJWK3Z6ak16Uko4Q0psRm1yMjNMVDd5bzRxOERVTVJuRE5WOHppK1NpL1U1bHFKN2ZBMUkwRDRUbTRSSDZGTHdCWjJvWjl2QVZaWCttTSsvYlIwZysrQ3I5SFZjMXRhY2g1amwvQ2VsUHNrSEhzckdjb3dIbStlZHFNZ1FFUnExbmZ6R0ZEYVY1VGxXbWNNbzFRUDMvYVhTMjlJRGRyT2Q1NU9NT2dWUjRiRzIxak1tRk5tOEpmZm1zYnVpZ2JaSlFNSnBETzdvL3Vhc3FSTlI3Y2dxRE1udTB6WVAvMDdzZ205VUVCeTNHNEZnWU1TZGt6SHF5eHplZzhuSmplV3R6RjJuTW9YZnhHNXBwTWlVL3dzTWc1d1F2SEZBcU54cEZZK1Q0V1N2ZWx4dE9JY3F3YWowaE9JRTJTZzg3dElDZmllQWgyUER4eGtKYjNQbCtvdXQrQklpZE85NWIxd1NWWjNSeTdaUU4zaS9aaG5OT3lYWWEyRlpKeE9lN3pWVVhrNXZJajIwUT09PC94ZW5jOkNpcGhlclZhbHVlPjwveGVuYzpDaXBoZXJEYXRhPjwveGVuYzpFbmNyeXB0ZWREYXRhPjwvc2FtbDI6RW5jcnlwdGVkQXNzZXJ0aW9uPjwvc2FtbDJwOlJlc3BvbnNlPg=="/>
</div>
<noscript>
<div>
<input type="submit" value="Continue"/>
</div>
</noscript>
</form>
</body>
</html>
Hi Russell,
The HTML survived the pasting quite well (and I can't see an "Attach file to this issue" function), so I hope this will be enough for you.
Thanks for looking into this!
Cheers, Vlad
Hey Vlad.
Can you test this http://code.ceres.auckland.ac.nz/snapshot-downloads/grisu-template-dev.jar
please? Not sure which IdP to test it against...
Hi Markus, Russel,
Sorry, still doesn't work, still doing the same thing.
The Grisu Template Client gives me:
Login Error
Error while trying to login.
Details:
Could not do slcs login: null
On the console, I can see this stack trace:
118722 [Thread-48] WARN grisu.frontend.control.login.LoginManager - java.lang.NullPointerException: in is null
139768 [Thread-48] ERROR grisu.frontend.control.login.LoginManager - Traceback (most recent call last):
File "__pyclasspath__/sibboleth/shibboleth.py", line 171, in openurl
File "__pyclasspath__/sibboleth/shibboleth.py", line 192, in _Shibboleth__follow_chain
File "__pyclasspath__/sibboleth/forms.py", line 83, in prompt
File "__pyclasspath__/sibboleth/shibboleth.py", line 209, in run
File "__pyclasspath__/sibboleth/shibboleth.py", line 192, in _Shibboleth__follow_chain
File "__pyclasspath__/sibboleth/forms.py", line 181, in prompt
File "__pyclasspath__/sibboleth/shibboleth.py", line 209, in run
File "__pyclasspath__/sibboleth/shibboleth.py", line 198, in _Shibboleth__follow_chain
File "__pyclasspath__/sibboleth/shibboleth.py", line 200, in _Shibboleth__follow_chain
Exception: Unknown error: Shibboleth auth chain lead to nowhere
And in the Apache logs on the IdP, I can see:
132.181.65.178 - - [17/Aug/2011:09:39:46 +1000] "GET /idp/profile/SAML2/Redirect/SSO?SAMLRequest=fZLNboMwEIRfBfkeHCAkxQpINDk0UtqiQHvopTLGCZaMTbymP29fCGmbHpqj%0A5Z2ZnU%2B7BNrIlqSdrdWOHzsO1vlopAJy%2BohRZxTRFAQQRRsOxDKSp%2Fdb4rtT%0A0hptNdMSOSkAN1ZotdIKuoabnJs3wfjTbhuj2toWCMYgGXguNQxcbQ4u7XBe%0Ai7LUktvaBdB4MPZx9pgXyFn3mwhFB89fB1G1Ljt2Lq%2B6Qd4%2Fcb%2FDXkh%2B1u54%0AJQxnFuf5I3I26xi9lnsalsxnkU8XNAy8MpqF4T6gQRgswiia92MAHd8osFTZ%0AGPlTz5tMbybevPADEkRkFr4gJztXvRWqEupwnUs5DgG5K4psMvZ55gZOXfoB%0AlCwHuuQUbC54X7el35BR8j9S%2BEG6xBchY2JLHnrXzTrTUrBPJ5VSv68Mp5bH%0AyEM4GSV%2FzyH5Ag%3D%3D%0A&RelayState=cookie%3Ae92f33e3 HTTP/1.1" 302 -
132.181.65.178 - - [17/Aug/2011:09:39:46 +1000] "GET /idp/AuthnEngine HTTP/1.1" 302 -
132.181.65.178 - - [17/Aug/2011:09:39:47 +1000] "GET /idp/Authn/UserPassword HTTP/1.1" 200 2916
132.181.65.178 - - [17/Aug/2011:09:39:47 +1000] "POST /idp/Authn/UserPassword HTTP/1.1" 302 -
132.181.65.178 - - [17/Aug/2011:09:39:48 +1000] "GET /idp/profile/SAML2/Redirect/SSO HTTP/1.1" 200 11699
132.181.65.178 - - [17/Aug/2011:09:40:05 +1000] "POST /idp/profile/SAML2/Redirect/https://slcs1.arcs.org.au/Shibboleth.sso/SAML2/POST HTTP/1.1" 200 813
The last line shows that the SLCS client lbirary is still interpreting the target URL as a relative link - because it did not decode the colons and slashes.
As for where to test it: you need a valid login at an IdP running at least 2.3.0. I'm testing this at CQU (which is an IdP I did setup and I have a valid login there). VPAC is running the same version. Not sure who else is running 2.3.x...
Thanks both for looking into it!
Cheers, Vlad
Hi Markus, Russell,
Have you been able to look into this again? Is there any new version I could test?
Thanks a lot in advance.
Cheers, Vlad
Hi Vlad,
sorry, forgot about this, got sidetracked...
Not sure what's happening, I might have messed up when packaging...
Will keep you posted.
Thanks Markus!
Ok, try link above again. This one has definitely the latest code from Russell in it. If that's not working, we need to think about how to set up a test environment or so...
Hi Markus, WORKING ALL GOOD, thanks.
Can you please do a build of:
Ok. Will do. Might take a day or 2.
Gricli: that will be included in the next release, did you try the current release candidate on login node? Does that work already? It should...
Hi Markus,
Thanks.
Sorry about Gricli - had not tried out the RC yet and and not thought about trying it first. Just checked now: working all fine with gricli-rc (I'm getting an issue there which I'll report against gricli, but SLCS login itself works all fine).
Thanks again!
Cheers, Vlad
PS: When rebuilding Grix: can you please do both an Australian and NZ version? Sam confirmed Grix was breaking on VPAC IdP and would be nice to give them the fix as well....
All right: Grix
http://code.ceres.auckland.ac.nz/stable-downloads/
Please test. Note, those binaries are not signed. Grisu-v02 to follow...
Ok, Grisu v02 is in same folder now to be tested, also not signed. Sooner rather than later we have to let that one die though, I'm getting deeper and deeper into dependency hell... Also it's always taking me quite a bit of time to build this.
Hi Markus.
Thanks, just testing now.
Regarding "retiring" Grisu02: do we already have a new version to replace this with? I.e., is the Grisu Template Client stable enough so that I should be directing users to use that one instead?
Thanks a lot for your help with this!
Cheers, Vlad
PS: The error I got with Grisu02 was this stack trace: Login error
(blank message)
Traceback (most recent call last):
File "__pyclasspath__/sibboleth/shibboleth.py", line 171, in openurl
File "__pyclasspath__/sibboleth/shibboleth.py", line 192, in _Shibboleth__follow_chain
File "__pyclasspath__/sibboleth/forms.py", line 83, in prompt
File "__pyclasspath__/sibboleth/shibboleth.py", line 209, in run
File "__pyclasspath__/sibboleth/shibboleth.py", line 192, in _Shibboleth__follow_chain
File "__pyclasspath__/sibboleth/forms.py", line 181, in prompt
File "__pyclasspath__/sibboleth/shibboleth.py", line 209, in run
File "__pyclasspath__/sibboleth/shibboleth.py", line 198, in _Shibboleth__follow_chain
File "__pyclasspath__/sibboleth/shibboleth.py", line 200, in _Shibboleth__follow_chain
Exception: Unknown error: Shibboleth auth chain lead to nowhere
And this in the IdP log: still the same:
132.181.65.178 - - [29/Aug/2011:09:48:31 +1000] "GET /idp/profile/SAML2/Redirect/SSO?SAMLRequest=fZJfT4MwFMW%2FCun7KGVTsRkkuD24ZDoy0AdfTCllNCkt6y3%2B%2BfayMXU%2BuMem%0A95xzzy93DqxVHU171%2Bit2PcCnPfRKg30%2BBGj3mpqGEigmrUCqOM0Tx%2FWNPQD%0A2lnjDDcKeSmAsE4avTAa%2BlbYXNg3ycXTdh2jxrkOKMagOBCfWQ6%2BsTuf9Thv%0AZFkaJVzjAxh8MA5xtskL5C2HTaRmB89fB1l1Pt%2F3vqj6g3x44mGHWipx0m5F%0AJa3gDuf5BnmrZYxeozAipApvK1IG9dU0qHl5MwujikfkelbfsmEMoBcrDY5p%0AF6MwIGQSRJMwKsIpnUV0Sl6Ql52q3kldSb27zKUch4DeF0U2Gfs8CwvHLsMA%0ASuYHuvQYbM94X7Zl35BR8j9S%2BEE6x2chY2JHHwfX1TIzSvJPL1XKvC%2BsYE7E%0AiCCcjJK%2F55B8AQ%3D%3D%0A&RelayState=cookie%3Aa5c510ad HTTP/1.1" 302 -
132.181.65.178 - - [29/Aug/2011:09:48:32 +1000] "GET /idp/AuthnEngine HTTP/1.1" 302 -
132.181.65.178 - - [29/Aug/2011:09:48:32 +1000] "GET /idp/Authn/UserPassword HTTP/1.1" 200 2916
132.181.65.178 - - [29/Aug/2011:09:48:33 +1000] "POST /idp/Authn/UserPassword HTTP/1.1" 302 -
132.181.65.178 - - [29/Aug/2011:09:48:34 +1000] "GET /idp/profile/SAML2/Redirect/SSO HTTP/1.1" 200 15171
132.181.65.178 - - [29/Aug/2011:09:48:35 +1000] "POST /idp/profile/SAML2/Redirect/https://slcs1.arcs.org.au/Shibboleth.sso/SAML2/POST HTTP/1.1" 200 813
PS2: I just found that both versions of Grix were packaged without a vomses.zip file. Which makes Grix say "No groups configured" on a system that does not have a .glite directory populated yet.
Was that intentional ... or just an omission? If re-packaging with a vomses file, would it be worth also including a file for voms.bestgrid.org/nz ?
PS3: I've tried adding a vomses.zip file myself but I'm getting quite lost: Grix seems to be quite random at which files it adds to ~/.glite/vomses
(the active VOs, all files from vomses.zip are copied into ~/.glite/vomses_available
). It either leaves the vomses dir empty (and later saying No Groups Configured), or when I add "nz" to the list, it puts just "nz" into the vomses dir. Can you please shed any light into this?
Also, I noticed the button for managing the active VOs has disappeared, which makes an ordinary user stuck with "I can't see any VOs".
Hmmm..., this (both the behavior with the vomses dir and the missing button) is not new to this version - has been in the currently deployed as well.
Not sure what is going on with the vomses.zip file, too long ago and the dependencies have changed quite a bit in the meantime, so there might be something incompatible between Grix and JGrith (the auth library that is used). I'll have a look later on.
For now, I re-build and deployed Grisu-legacy, can you please have another look? Not sure what happened there...
Hi Markus, great, thanks, Grisu 02 is now working all fine.
Hi Markus, I've now also found a workaround for the vomses.zip issue.
Empirical observation: from whatever I put into vomses.zip, only a file named "nz" would get copied into the vomses directory, other files went only into vomses_available. Regardless of the contents of the file.
Solution: merge all voms files into a single file called "nz". There can be multiple entries in a voms file and the file name does not matter. So this works, though it looks ugly.
I've built a BeSTGRID jar, signed it and put into into test - http://ngportal.canterbury.ac.nz/grid/grix-jdk5-bestgrid-test.jnlp
I'll ask couple more people to test and then deploy. I'll ask Sam to deploy Grisu02. Thanks for the help!
Ah right, I think I remember now. It behaves like that because "nz" is our default VO now. If one wants "ARCS", one has to manually copy it from vomses_available to vomes. At the moment that's hardcoded and there's no way to configure that via a file or so. Not sure if that is necessary though. We need to get rid of /ARCS sooner rather than later anyway, so I guess it's ok to make it a bit harder to use it?
Hi Markus,
Aha - thanks, that explains it. So a hard-coded name for a single file that gets copied there.
Just wondering: this hard-coding also applies to the Australian version? Also needing a file called "nz" ?
I've already deployed the BeSTGRID version with a single "nz" file that has all the relevant VOs in it. As many of our users are still USING VOs based at the /ARCS server, and need Grix to know about the VOs not just to request membership but also to create a VOMS proxy certificate, I'd leave that in.
I think you can close this issue now - thanks for your help!
Cheers, Vlad
Hardcoded "nz" is also for Oz version. Will change that the next time I touch the code...
Pasted from an Email from @vladimir-mencl-eresearch :
Just found the SLCS client library breaks with IdP 2.3.0+
And I've so far tracked it down to the point where the IdP returns back the auto-submit form with the signed assertion to be posted to the SP.
In earlier versions, the address where the form should be submitted was specified as: