projects
/
yaz-moved-to-github.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ZOOM: diagnostics for invalid ES usage, bug #3893.
[yaz-moved-to-github.git]
/
src
/
zoom-z3950.c
diff --git
a/src/zoom-z3950.c
b/src/zoom-z3950.c
index
2598eae
..
a8cf99b
100644
(file)
--- a/
src/zoom-z3950.c
+++ b/
src/zoom-z3950.c
@@
-324,12
+324,15
@@
static Z_APDU *create_update_package(ZOOM_package p)
p->odr_out);
}
if (!syntax_oid)
p->odr_out);
}
if (!syntax_oid)
+ {
+ ZOOM_set_error(p->connection, ZOOM_ERROR_ES_INVALID_SYNTAX, syntax_str);
return 0;
return 0;
+ }
if (num_db > 0)
first_db = db[0];
if (num_db > 0)
first_db = db[0];
- switch(*version)
+ switch (*version)
{
case '1':
package_oid = yaz_oid_extserv_database_update_first_version;
{
case '1':
package_oid = yaz_oid_extserv_database_update_first_version;
@@
-348,6
+351,7
@@
static Z_APDU *create_update_package(ZOOM_package p)
package_oid = yaz_oid_extserv_database_update;
break;
default:
package_oid = yaz_oid_extserv_database_update;
break;
default:
+ ZOOM_set_error(p->connection, ZOOM_ERROR_ES_INVALID_VERSION, version);
return 0;
}
return 0;
}
@@
-362,7
+366,10
@@
static Z_APDU *create_update_package(ZOOM_package p)
else if (!strcmp(action, "specialUpdate"))
action_no = Z_IUOriginPartToKeep_specialUpdate;
else
else if (!strcmp(action, "specialUpdate"))
action_no = Z_IUOriginPartToKeep_specialUpdate;
else
+ {
+ ZOOM_set_error(p->connection, ZOOM_ERROR_ES_INVALID_ACTION, action);
return 0;
return 0;
+ }
apdu = create_es_package(p, package_oid);
if (apdu)
apdu = create_es_package(p, package_oid);
if (apdu)