diff options
Diffstat (limited to 'ipa-server')
-rwxr-xr-x | ipa-server/freeipa-server.spec | 2 | ||||
-rw-r--r-- | ipa-server/ipa-kpasswd/ipa_kpasswd.c | 10 |
2 files changed, 10 insertions, 2 deletions
diff --git a/ipa-server/freeipa-server.spec b/ipa-server/freeipa-server.spec index 579582b1..a4915079 100755 --- a/ipa-server/freeipa-server.spec +++ b/ipa-server/freeipa-server.spec @@ -1,5 +1,5 @@ Name: freeipa-server -Version: 0.3.0 +Version: 0.4.0 Release: 1%{?dist} Summary: FreeIPA authentication server diff --git a/ipa-server/ipa-kpasswd/ipa_kpasswd.c b/ipa-server/ipa-kpasswd/ipa_kpasswd.c index c59db44b..325f6aa0 100644 --- a/ipa-server/ipa-kpasswd/ipa_kpasswd.c +++ b/ipa-server/ipa-kpasswd/ipa_kpasswd.c @@ -842,7 +842,15 @@ pid_t handle_conn(int fd, int type) #endif /* children */ - handle_krb_packets(request, reqlen, &from, &reply, &replen); + + /* TCP packets prepend the lenght as a 32bit network order field, + * this information seem to be just redundant, so let's simply + * skip it */ + if (type == KPASSWD_TCP) { + handle_krb_packets(request+4, reqlen-4, &from, &reply, &replen); + } else { + handle_krb_packets(request, reqlen, &from, &reply, &replen); + } if (replen) { /* we have something to reply */ if (type == KPASSWD_TCP) { |