From 617d78c63e7a502367abc3504f192770aa537482 Mon Sep 17 00:00:00 2001 From: Adam Dickmeiss Date: Thu, 17 Jun 1999 10:54:44 +0000 Subject: [PATCH] Added facility to specify implementation version - and name for server. --- include/backend.h | 8 +++++++- server/seshigh.c | 31 ++++++++++++++++++++++++++++++- 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/include/backend.h b/include/backend.h index 7dbd211..6177c17 100644 --- a/include/backend.h +++ b/include/backend.h @@ -24,7 +24,11 @@ * OF THIS SOFTWARE. * * $Log: backend.h,v $ - * Revision 1.25 1999-06-01 14:29:12 adam + * Revision 1.26 1999-06-17 10:54:44 adam + * Added facility to specify implementation version - and name + * for server. + * + * Revision 1.25 1999/06/01 14:29:12 adam * Work on Extended Services. * * Revision 1.24 1999/03/31 11:18:24 adam @@ -245,6 +249,8 @@ typedef struct bend_initrequest ODR stream; /* encoding stream */ Z_ReferenceId *referenceId;/* reference ID */ + char *implementation_name; + char *implementation_version; int (*bend_sort) (void *handle, bend_sort_rr *rr); int (*bend_search) (void *handle, bend_search_rr *rr); int (*bend_present) (void *handle, bend_present_rr *rr); diff --git a/server/seshigh.c b/server/seshigh.c index 9646fa7..33c7b06 100644 --- a/server/seshigh.c +++ b/server/seshigh.c @@ -4,7 +4,11 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: seshigh.c,v $ - * Revision 1.91 1999-06-01 14:29:12 adam + * Revision 1.92 1999-06-17 10:54:45 adam + * Added facility to specify implementation version - and name + * for server. + * + * Revision 1.91 1999/06/01 14:29:12 adam * Work on Extended Services. * * Revision 1.90 1999/05/27 13:02:20 adam @@ -799,6 +803,8 @@ static Z_APDU *process_initRequest(association *assoc, request *reqb) binitreq.configname = "default-config"; binitreq.auth = req->idAuthentication; binitreq.referenceId = req->referenceId; + binitreq.implementation_version = 0; + binitreq.implementation_name = 0; binitreq.bend_sort = NULL; binitreq.bend_search = NULL; binitreq.bend_present = NULL; @@ -890,7 +896,30 @@ static Z_APDU *process_initRequest(association *assoc, request *reqb) assoc->preferredMessageSize = assoc->maximumRecordSize; resp->preferredMessageSize = &assoc->preferredMessageSize; resp->maximumRecordSize = &assoc->maximumRecordSize; + resp->implementationName = "Index Data/YAZ Generic Frontend Server"; + + if (binitreq.implementation_name) + { + char *nv = (char *) + odr_malloc (assoc->encode, + strlen(binitreq.implementation_name) + 3 + + strlen(resp->implementationName)); + sprintf (nv, "%s %s", + resp->implementationName, binitreq.implementation_name); + resp->implementationName = nv; + } + if (binitreq.implementation_version) + { + char *nv = (char *) + odr_malloc (assoc->encode, + strlen(binitreq.implementation_version) + 3 + + strlen(resp->implementationVersion)); + sprintf (nv, "%s %s", + resp->implementationVersion, binitreq.implementation_version); + resp->implementationVersion = nv; + } + if (binitres->errcode) { logf(LOG_LOG, "Connection rejected by backend."); -- 1.7.10.4