+ if (q->auth) {
+ if (q->auth->which == Z_IdAuthentication_open) {
+ char *openpass = xstrdup (q->auth->u.open);
+ char *cp = strchr (openpass, '/');
+ if (cp) {
+ *cp = '\0';
+ user = nmem_strdup (odr_getmem (q->stream), openpass);
+ passwd = nmem_strdup (odr_getmem (q->stream), cp + 1);
+ }
+ xfree(openpass);
+ }
+ hv_store(href, "USER", 4, newSVpv(user, 0), 0);
+ hv_store(href, "PASS", 4, newSVpv(passwd, 0), 0);
+ }