From 5898ae527aab2358780abf56fbd33542336af54e Mon Sep 17 00:00:00 2001 From: Simo Sorce Date: Wed, 12 Sep 2007 11:51:16 -0400 Subject: [PATCH] In the TCP case there is an extra (redundant) lenght field before the packet data, address the problem. --- ipa-admintools/freeipa-admintools.spec | 4 ++-- ipa-client/freeipa-client.spec | 4 ++-- ipa-python/freeipa-python.spec | 4 ++-- ipa-server/freeipa-server.spec | 2 +- ipa-server/ipa-kpasswd/ipa_kpasswd.c | 10 +++++++++- 5 files changed, 16 insertions(+), 8 deletions(-) diff --git a/ipa-admintools/freeipa-admintools.spec b/ipa-admintools/freeipa-admintools.spec index 466c7cce5..270266b8e 100755 --- a/ipa-admintools/freeipa-admintools.spec +++ b/ipa-admintools/freeipa-admintools.spec @@ -1,6 +1,6 @@ Name: freeipa-admintools -Version: 0.3.0 -Release: 4%{?dist} +Version: 0.4.0 +Release: 1%{?dist} Summary: FreeIPA authentication server Group: System Environment/Base diff --git a/ipa-client/freeipa-client.spec b/ipa-client/freeipa-client.spec index d81300a09..67e241d64 100755 --- a/ipa-client/freeipa-client.spec +++ b/ipa-client/freeipa-client.spec @@ -1,6 +1,6 @@ Name: freeipa-client -Version: 0.2.0 -Release: 2%{?dist} +Version: 0.3.0 +Release: 1%{?dist} Summary: FreeIPA client Group: System Environment/Base diff --git a/ipa-python/freeipa-python.spec b/ipa-python/freeipa-python.spec index fe4ccc366..f2403582b 100755 --- a/ipa-python/freeipa-python.spec +++ b/ipa-python/freeipa-python.spec @@ -1,6 +1,6 @@ Name: freeipa-python -Version: 0.3.0 -Release: 4%{?dist} +Version: 0.4.0 +Release: 1%{?dist} Summary: FreeIPA authentication server Group: System Environment/Base diff --git a/ipa-server/freeipa-server.spec b/ipa-server/freeipa-server.spec index 579582b1e..a49150795 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 c59db44bc..325f6aa01 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) {