When one puts wild animals in a zoo and provides them with everything they need, you would expect that the “wild” would be bred out of the animal over the generations. This seems to have happened at the Highland Wildlife Park. A pack of wolves have been deemed to be not wild any more and have been destroyed. Well, the words used are far more sinister:
“…experts said the six animals had to be euthanised because they were not portraying their natural behaviour…”
I find that both staggering and frightening. Presumably they no longer fit with the business needs of a “wildlife” park. What’s the problem? Did they not frighten the guests any more? It’s called evolution stupid. What next? Are they going to “euthanase” all furry animals due to global warming making fur unnecessary?
“…The welfare of the animal is always paramount in our minds and no decision is made until a full investigation has been carried out…”
yes, the investigation has found them surplus to business requirements. They’re no longer displaying “wild” tendancies. Don’t let the genes and appearance fool you. These are no longer “wild” animals according to Highland Wildlife Park.
The wolves have been there since 1972, not enjoying the freedom of their natural habitat but making Highland Wildlife Park money. Now they’ve passed their best and have been “euthanased”. They have, however, been replaced by a new pack. Well, until the visitors don’t find them frightening enough either and they’ll be “euthanased” too.
It’s a sad sorry world that can put wild animals in enclosed parks and just destroy them when they no longer fit into the grand scheme of things.
No-one batted an eyelid when the family of wolves were destroyed to due an “expert’s” interpretation of their behaviour and yet on the other hand, Lloyds TSB put up a 100, yes ONE HUNDRED pound reward for the return of a PLASTIC COO.
Yes, kill as many creatures as you like but don’t touch that plastic coo.
There was an issue with the Guanxi Guard where it was losing POST parameters, i.e.if you submitted a form who’s action was protected by a Guard, the form fields would never reach the protected application.
The reason was that the Pod was storing a reference to the original Map containing the request parameters. According to the servlet spec, the servlet container is free to do what it wants when the request is finished, so those references aren’t guaranteed to point to anything useful once the request has completed.
Simply storing the reference in the Pod wasn’t enough. When the GuardRequest was created after the SAML workflow was finished, the original parameters in the Pod were gone.
The solution was to force a copy and not reference in the Pod. Storing the parameters as a completely new HashMap using HashMap.putAll(Map) to copy the params into the Pod.
HashMap requestParameters = new HashMap();
requestParameters.putAll(request.getParameterMap);
That was ok but then it left me needing to implement the parameter methods of HttpServletRequestWrapper, one of which returns an Enumeration. What a drag. In the end it was easy enough using an iterator over the key Set of the HashMap.
public Enumeration getParameterNames() {
return new Enumeration() {
Iterator names = requestPod.getRequestParameters().keySet().iterator();
public boolean hasMoreElements() {
return names.hasNext();
}
public Object nextElement() {
return names.next();
}
};
}
An interesting side effect of implementing HttpServletRequestWrapper.getParameter() was discovering that the servlet container stores each parameter as a String[], even if it only has one value. So, doing this:
requestPod.getRequestParameters().get(name);
to get the value of a parameter from the original set, returns a String[].
So that’s that wee problem sorted. Must get on and finish the Guard registration module as it’s experimental at the moment.
Peacefully minding it’s own business until Mr. Big Game-Hunter turns up and blows it away. Why I wonder? Who knows. Anyway, the twats who are discussing it are avidly seeking a name for this new creature that’s never been seen in the wild. “Grolar bears” or “pizzlies” they say. What about “dead”, coz it is, innit?
Another gun toting twat reduces the wildlife population
IdP
- v1.2.7
- org.guanxi.idp.attributors.LDAPAttributor – Added more debug logging info on attribute values and providerId.
- WEB-INF/web.xml – Removed leading / from log-dir param to fix bug running under Windows.
- Updated org.guanxi.idp.attributors.BodingtonAttributor to get all the groups of a user.
- Updated WEB-INF/guanxi_idp/jsp/shibboleth/ists/browser_post_response.jsp to return target parameter.
- Updated org.guanxi.idp.Setup to use XMLBeans to create the config file idp.xml
- Updated build.xml to copy guanxibeans.jar, xbeans.jar and jsr173_1.0_api.jar
SAMUEL
- v1.3.2
- Updated org.guanxi.samuel.utils.SUtils.addAttributeAssertions() to handle eduPersonScopedAffiliation.
- Updated org.guanxi.samuel.saml.AttributeValue to hack round the Internet2 Shibboleth SP 1.2.x bug. This is the equivalent of schemaHack.
SP
- v1.1.0
- Updated org.guanxi.sp.guard.Guard to add the query string to the protected URL.
- Updated org.guanxi.sp.guard.Guard to pass session ID in the target parameter to WAYF/IdP to fix metadata problems at IdP.
- Updated org.guanxi.sp.engine.Engine to get Guard session ID from the target parameter coming from IdP.
- Updated guanxi_idp/sp_error.jsp to fox images not displaying problem.
- Added guanxi_idp/stylesheet/guanxi_sp.css
- Added guanxi_idp/request_guard.jsp
- Added org.guanxi.sp.engine.CA for creating signed certificates and keystores for Guards.
- Updated WEB-INF/_xml/engine-servlet.xml to add CA servlet.
- Updated WEB-INF/_xml/engine-servlet-mapping.xml to add CA servlet mapping.
- Updated build.xml to copy bouncycastle.jar to support CA.
- Updated org.guanxi.sp.engine.Engine to use new guanxibeans.jar
- Updated org.guanxi.sp.engine.X509Chain to use new guanxibeans.jar
- Added the attributePrefix init param to the Guard filter
- Updated org.guanxi.sp.guard.GuardRequest to prepend the init param defined attributePrefix to attributes
- Updated org.guanxi.sp.guard.GuardRequest to not put non standard attributes in the headers
- Updated org.guanxi.sp.guard.Guard to only add query string if it’s present
- Changed the way org.guanxi.sp.engine.Engine to loads Guard metadata. Each Guard now has it’s own directory which contains it’s XML metadata file and a ZIP archive of it’s installation at the remote site
- Updated org.guanxi.sp.Engine to build SOAP messages using XMLBeans instead of javax.xml.soap
- Updated org.guanxi.sp.engine.Engine to use XMLBeans for all Guard and IdP metadata
- Updated org.guanxi.sp.engine.Engine to use XMLBeans for all SAML processing
- Updated org.guanxi.sp.engine.X509Chain to use new guanxibeans pacakge structure
- Updated org.guanxi.sp.guard.GuardRequest to prefix attributes with configurable prefix string
- Updated org.guanxi.sp.guard.Guard to prefix attributes with configurable prefix string. Fixed bug where it was adding null query string if one didn’t exist. Now sends it’s session ID in target parameter
Core
- 1.0.1
- Updated messages/errors.properties – added ID_NEED_ALL_PARAMETERS, ID_GUARD_ID_TAKEN, ID_IDP_CERT_VERIFY_FAILED, ID_IDP_AUTH_PARSE_FAILURE.
- Added messages/sp_request_guard_en.properties
- Added xmlbeans directory with config and build scripts. Now builds guanxibeans.jar direct to gx_lib
- Added Keystore and KeystorePassword to guardRoleDescriptorExtensionsType in xsd/guanxi-saml-ext.xsd
Common
- v1.2.7
- Updated org.guanxi.common.AttributeMap to allow passthrough of mapped attribute’s original value if no value rules are specified.
- Added org.guanxi.common.Utils.zipDirectory()
- Added org.guanxi.comm.security.ssl package
- Added org.guanxi.comm.security.ssl.SSL for identity masquerading in the SP
- Added org.guanxi.comm.security.ssl.GuanxiHostVerifier for identity masquerading in the SP
- Added org.guanxi.comm.security.ssl.GuanxiX509KeyManager for identity masquerading in the SP
- Added org.guanxi.common.EntityConnection to wrap secure and non secure HTTP connections
gx_lib
- v1.3.2.
- Removed saml-1.1.jar
- Added guanxibeans.jar – built from Core/xmlbeans
Guanxi codename “bigyin” is now released on sourceforge and ready for downloading.
More details:
Download Guanxi
The Guanxi Wiki