X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=asn%2Fproto.c;h=6b6995a7c75d9f886a644f959fefebacb34e32fc;hb=a4d2b1d22b135d53d88c96a452a62d3009197d29;hp=2a5d0d989544c3b23db02bf7c5fafa4c28cea29f;hpb=4e87dd57ceafb4c027d9ad6601e187e6e28b5476;p=yaz-moved-to-github.git diff --git a/asn/proto.c b/asn/proto.c index 2a5d0d9..6b6995a 100644 --- a/asn/proto.c +++ b/asn/proto.c @@ -4,7 +4,16 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: proto.c,v $ - * Revision 1.5 1995-02-14 11:54:22 quinn + * Revision 1.8 1995-03-14 16:59:24 quinn + * Fixed OPTIONAL flag in attributeelement + * + * Revision 1.7 1995/03/07 16:29:33 quinn + * Added authentication stuff. + * + * Revision 1.6 1995/03/01 14:46:03 quinn + * Fixed protocol bug in 8777query. + * + * Revision 1.5 1995/02/14 11:54:22 quinn * Fixing include. * * Revision 1.4 1995/02/10 15:54:30 quinn @@ -68,7 +77,7 @@ int z_InitRequest(ODR o, Z_InitRequest **p, int opt) 5, 0) && odr_implicit(o, odr_integer, &pp->maximumRecordSize, ODR_CONTEXT, 6, 0) && - odr_implicit(o, odr_visiblestring, &pp->idAuthentication, ODR_CONTEXT, + odr_explicit(o, odr_any, &pp->idAuthentication, ODR_CONTEXT, 7, 1) && odr_implicit(o, odr_visiblestring, &pp->implementationId, ODR_CONTEXT, 110, 1) && @@ -107,6 +116,22 @@ int z_InitResponse(ODR o, Z_InitResponse **p, int opt) odr_sequence_end(o); } +int z_NSRAuthentication(ODR o, Z_NSRAuthentication **p, int opt) +{ + if (!odr_sequence_begin(o, p, sizeof(**p))) + return opt; + return + odr_visiblestring(o, &(*p)->user, 0) && + odr_visiblestring(o, &(*p)->password, 0) && + odr_visiblestring(o, &(*p)->account, 0) && + odr_sequence_end(o); +} + +int z_StrAuthentication(ODR o, char **p, int opt) +{ + return odr_visiblestring(o, p, opt); +} + /* ------------------------ SEARCH SERVICE ----------------------- */ int z_ElementSetName(ODR o, char **p, int opt) @@ -177,9 +202,9 @@ int z_AttributeElement(ODR o, Z_AttributeElement **p, int opt) return opt; return odr_implicit(o, odr_integer, &(*p)->attributeType, ODR_CONTEXT, - 120, 1) && + 120, 0) && odr_implicit(o, odr_integer, &(*p)->attributeValue, ODR_CONTEXT, - 121, 1) && + 121, 0) && odr_sequence_end(o); } @@ -291,7 +316,7 @@ int z_Query(ODR o, Z_Query **p, int opt) static Odr_arm arm[] = { {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_Query_type_1, z_RPNQuery}, - {ODR_IMPLICIT, ODR_CONTEXT, 2, Z_Query_type_2, odr_octetstring}, + {ODR_EXPLICIT, ODR_CONTEXT, 2, Z_Query_type_2, odr_octetstring}, {-1, -1, -1, -1, 0} };