summaryrefslogtreecommitdiffstats
path: root/src/gss_serialize.c
diff options
context:
space:
mode:
authorSimo Sorce <simo@redhat.com>2014-08-10 11:45:49 -0400
committerSimo Sorce <simo@redhat.com>2014-08-10 14:29:38 -0400
commit20b7ce48d8249e39eae58859bacd4d715b4623dd (patch)
treee73bb60b66b59fc4fc6a193ab19be07d68259f9f /src/gss_serialize.c
parent4149cbd77bba720db460f42fcd88e547ba2bbdfc (diff)
downloadgss-ntlmssp-20b7ce48d8249e39eae58859bacd4d715b4623dd.tar.gz
gss-ntlmssp-20b7ce48d8249e39eae58859bacd4d715b4623dd.tar.xz
gss-ntlmssp-20b7ce48d8249e39eae58859bacd4d715b4623dd.zip
Add more custom error message
This should make error reporting a little bit better.
Diffstat (limited to 'src/gss_serialize.c')
-rw-r--r--src/gss_serialize.c30
1 files changed, 15 insertions, 15 deletions
diff --git a/src/gss_serialize.c b/src/gss_serialize.c
index 5ea47fe..bd2ee27 100644
--- a/src/gss_serialize.c
+++ b/src/gss_serialize.c
@@ -253,18 +253,18 @@ uint32_t gssntlm_export_sec_context(uint32_t *minor_status,
int ret;
if (context_handle == NULL) {
- return GSSERRS(0, GSS_S_CALL_INACCESSIBLE_READ);
+ return GSSERRS(ERR_NOARG, GSS_S_CALL_INACCESSIBLE_READ);
}
if (interprocess_token == NULL) {
- return GSSERRS(0, GSS_S_CALL_INACCESSIBLE_WRITE);
+ return GSSERRS(ERR_NOARG, GSS_S_CALL_INACCESSIBLE_WRITE);
}
ctx = (struct gssntlm_ctx *)*context_handle;
- if (ctx == NULL) return GSSERRS(0, GSS_S_NO_CONTEXT);
+ if (ctx == NULL) return GSSERRS(ERR_BADARG, GSS_S_NO_CONTEXT);
if (ctx->expiration_time && ctx->expiration_time < time(NULL)) {
- return GSSERRS(0, GSS_S_CONTEXT_EXPIRED);
+ return GSSERRS(ERR_EXPIRED, GSS_S_CONTEXT_EXPIRED);
}
/* serialize context */
@@ -459,11 +459,11 @@ static uint32_t import_data_buffer(uint32_t *minor_status,
}
} else {
if (!*len) {
- set_GSSERR(EINVAL);
+ set_GSSERR(ERR_BADARG);
goto done;
}
if (rm->len > *len) {
- set_GSSERRS(0, GSS_S_DEFECTIVE_TOKEN);
+ set_GSSERRS(ERR_BADARG, GSS_S_DEFECTIVE_TOKEN);
goto done;
}
memcpy(*dest, ptr, rm->len);
@@ -536,7 +536,7 @@ static uint32_t import_name(uint32_t *minor_status,
break;
default:
- set_GSSERRS(0, GSS_S_DEFECTIVE_TOKEN);
+ set_GSSERRS(ERR_BADARG, GSS_S_DEFECTIVE_TOKEN);
break;
}
@@ -814,12 +814,12 @@ uint32_t gssntlm_export_cred(uint32_t *minor_status,
int ret;
if (token == NULL) {
- return GSSERRS(0, GSS_S_CALL_INACCESSIBLE_WRITE);
+ return GSSERRS(ERR_NOARG, GSS_S_CALL_INACCESSIBLE_WRITE);
}
cred = (struct gssntlm_cred *)cred_handle;
if (cred_handle == NULL) {
- return GSSERRS(0, GSS_S_NO_CRED);
+ return GSSERRS(ERR_NOARG, GSS_S_NO_CRED);
}
state.exp_size = NEW_SIZE(0, sizeof(struct export_cred));
@@ -912,15 +912,15 @@ uint32_t gssntlm_import_cred(uint32_t *minor_status,
uint32_t retmin;
if (token == NULL) {
- return GSSERRS(0, GSS_S_CALL_INACCESSIBLE_READ);
+ return GSSERRS(ERR_NOARG, GSS_S_CALL_INACCESSIBLE_READ);
}
if (token->length < sizeof(struct export_cred)) {
- return GSSERRS(0, GSS_S_DEFECTIVE_TOKEN);
+ return GSSERRS(ERR_BADARG, GSS_S_DEFECTIVE_TOKEN);
}
if (cred_handle == NULL) {
- return GSSERRS(0, GSS_S_CALL_INACCESSIBLE_WRITE);
+ return GSSERRS(ERR_NOARG, GSS_S_CALL_INACCESSIBLE_WRITE);
}
cred = calloc(1, sizeof(struct gssntlm_cred));
@@ -936,7 +936,7 @@ uint32_t gssntlm_import_cred(uint32_t *minor_status,
state.exp_ptr = 0;
if (ecred->version != le16toh(1)) {
- set_GSSERRS(0, GSS_S_DEFECTIVE_TOKEN);
+ set_GSSERRS(ERR_BADARG, GSS_S_DEFECTIVE_TOKEN);
goto done;
}
@@ -954,7 +954,7 @@ uint32_t gssntlm_import_cred(uint32_t *minor_status,
if (retmaj != GSS_S_COMPLETE) goto done;
if (ecred->nt_hash.len > 16 || ecred->lm_hash.len > 16) {
- set_GSSERRS(0, GSS_S_DEFECTIVE_TOKEN);
+ set_GSSERRS(ERR_BADARG, GSS_S_DEFECTIVE_TOKEN);
goto done;
}
@@ -983,7 +983,7 @@ uint32_t gssntlm_import_cred(uint32_t *minor_status,
if (retmaj != GSS_S_COMPLETE) goto done;
break;
default:
- set_GSSERRS(0, GSS_S_DEFECTIVE_TOKEN);
+ set_GSSERRS(ERR_BADARG, GSS_S_DEFECTIVE_TOKEN);
break;
}