summaryrefslogtreecommitdiffstats
path: root/server/providers/krb5/krb5_auth.c
diff options
context:
space:
mode:
authorStephen Gallagher <sgallagh@redhat.com>2009-12-18 13:17:45 -0500
committerStephen Gallagher <sgallagh@redhat.com>2009-12-18 15:41:36 -0500
commitd41919bb06bc1fb66681383bd885dfd593779b9f (patch)
tree7a6c9e7440bbbe7406efd73c8fdcbaac8512a0f2 /server/providers/krb5/krb5_auth.c
parent3a1f8aa6f6464d8e80b79664e204ca3b24663e00 (diff)
downloadsssd-d41919bb06bc1fb66681383bd885dfd593779b9f.tar.gz
sssd-d41919bb06bc1fb66681383bd885dfd593779b9f.tar.xz
sssd-d41919bb06bc1fb66681383bd885dfd593779b9f.zip
Do not blindly accept zero-length passwords
Diffstat (limited to 'server/providers/krb5/krb5_auth.c')
-rw-r--r--server/providers/krb5/krb5_auth.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/server/providers/krb5/krb5_auth.c b/server/providers/krb5/krb5_auth.c
index 74981b19b..a124371ed 100644
--- a/server/providers/krb5/krb5_auth.c
+++ b/server/providers/krb5/krb5_auth.c
@@ -316,7 +316,7 @@ errno_t create_send_buffer(struct krb5child_req *kr, struct io_buffer **io_buf)
return ENOMEM;
}
- buf->size = 8*sizeof(uint32_t) + strlen(kr->pd->upn) + strlen(kr->ccname) +
+ buf->size = 9*sizeof(uint32_t) + strlen(kr->pd->upn) + strlen(kr->ccname) +
strlen(keytab) +
kr->pd->authtok_size;
if (kr->pd->cmd == SSS_PAM_CHAUTHTOK) {
@@ -343,6 +343,9 @@ errno_t create_send_buffer(struct krb5child_req *kr, struct io_buffer **io_buf)
((uint32_t *)(&buf->data[rp]))[0] = validate;
rp += sizeof(uint32_t);
+ ((uint32_t *)(&buf->data[rp]))[0] = kr->is_offline;
+ rp += sizeof(uint32_t);
+
((uint32_t *)(&buf->data[rp]))[0] = (uint32_t) strlen(kr->pd->upn);
rp += sizeof(uint32_t);