DEBIAN_DIST="wheezy squeeze"
UBUNTU_DIST="quantal precise oneiric lucid"
CENTOS_DIST="centos5 centos6"
-VERSION=4.2.67
+VERSION=4.2.68
+--- 4.2.68 2013/09/23
+
+GFS: pass additionalSearchInfo to search memeber search_input if
+given. Otherwise pass otherInfo. Request for facets and other search
+related things will be passed there in future versions of YAZ.
+
+New ZOOM setting, authenticationMode, which allows authentication
+paramters to be encoded in the URL rather than via HTTP Basic auth.
+YAZ-686
+
+rpn2solr: fix nested AND/OR handling. YAZ-685
+
+Add comparison routines for some Z-types, such as NamePlusRecord,
+RPNQuery, Query, RecordComposition and OtherInformation.
+
--- 4.2.67 2013/09/19
Don't decode MAB as MARC. Just like we don't attempt to decode
+yaz (4.2.68-1indexdata) unstable; urgency=low
+
+ * Upstream.
+
+ -- Adam Dickmeiss <adam@indexdata.dk> Mon, 23 Sep 2013 10:10:59 +0200
+
yaz (4.2.67-1indexdata) unstable; urgency=low
* Upstram.
dh_fixperms
# dh_perl
# dh_python
- dh_makeshlibs -V 'libyaz4 (>= 4.2.67)'
+ dh_makeshlibs -V 'libyaz4 (>= 4.2.68)'
dh_installdeb
dh_shlibdeps -l debian/libyaz4/usr/lib
dh_gencontrol
password</entry><entry>Authentication password.
</entry><entry>none</entry></row>
<row><entry>
+ authenticationMode</entry><entry>How authentication is encoded.
+ </entry><entry>basic</entry></row>
+ <row><entry>
host</entry><entry>Target host. This setting is "read-only".
It's automatically set internally when connecting to a target.
</entry><entry>none</entry></row>
<sect2 id="zoom.sru.init.behavior">
<title>SRU/Solr Protocol behavior</title>
<para>
- The HTTP based protocols (SRU, SRW, Solr) doesn't feature an Inititialize Request, so
- the connection phase merely establishes a TCP/IP connection
- with the SOAP service.
+ The HTTP based protocols (SRU, SRW, Solr) doesn't feature an
+ Inititialize Request, so the connection phase merely establishes a
+ TCP/IP connection with the HTTP server.
</para>
<para>Most of the ZOOM connection options do not
affect SRU/Solr and they are ignored. However, future versions
The <literal>charset</literal> is used in the Content-Type header
of HTTP requests.
</para>
+ <para>
+ Setting <literal>authentcationMode</literal> specifies how
+ authentication parameters are encoded for HTTP. The default is
+ "<literal>basic</literal>" where <literal>user</literal> and
+ <literal>password</literal> are encoded by using HTTP basic
+ authentication.
+ </para>
+ <para>
+ If <literal>authentcationMode</literal> is "<literal>url</literal>", then
+ user and password are encoded in the URL by parameters
+ <literal>x-username</literal> and <literal>x-password</literal> as
+ given by the SRU standard.
+ </para>
</sect2>
</sect1>
<sect1 id="zoom.query"><title>Queries</title>
Z_SRW_extra_arg **ea = &sr->extra_args;
yaz_uri_to_array(extra_args, odr, &name, &val);
+ /** append rather than override */
+ while (*ea)
+ ea = &(*ea)->next;
while (*name)
{
*ea = (Z_SRW_extra_arg *) odr_malloc(odr, sizeof(**ea));
c->user = 0;
c->group = 0;
c->password = 0;
+ c->url_authentication = 0;
c->maximum_record_size = 0;
c->preferred_message_size = 0;
val = ZOOM_options_get(c->options, "password");
if (!val)
val = ZOOM_options_get(c->options, "pass");
-
if (val && *val)
c->password = xstrdup(val);
+ val = ZOOM_options_get(c->options, "authenticationMode");
+ if (val && !strcmp(val, "url"))
+ c->url_authentication = 1;
+ else
+ c->url_authentication = 0;
+
c->maximum_record_size =
ZOOM_options_get_int(c->options, "maximumRecordSize", 64*1024*1024);
c->preferred_message_size =
char *user;
char *group;
char *password;
+ int url_authentication;
int async;
int support_named_resultsets;
static Z_SRW_PDU *ZOOM_srw_get_pdu(ZOOM_connection c, int type)
{
Z_SRW_PDU *sr = yaz_srw_get_pdu(c->odr_out, type, c->sru_version);
- sr->username = c->user;
- sr->password = c->password;
+ if (c->url_authentication && c->user)
+ {
+ Z_SRW_extra_arg **ea = &sr->extra_args;
+ while (*ea)
+ ea = &(*ea)->next;
+ *ea = (Z_SRW_extra_arg *) odr_malloc(c->odr_out, sizeof(**ea));
+ (*ea)->name = "x-username";
+ (*ea)->value = c->user;
+ ea = &(*ea)->next;
+ if (c->password)
+ {
+ *ea = (Z_SRW_extra_arg *) odr_malloc(c->odr_out, sizeof(**ea));
+ (*ea)->name = "x-password";
+ (*ea)->value = c->password;
+ ea = &(*ea)->next;
+ }
+ *ea = 0;
+ }
+ else
+ {
+ sr->username = c->user;
+ sr->password = c->password;
+ }
return sr;
}
#endif