summaryrefslogtreecommitdiffstats
path: root/ipa-server
diff options
context:
space:
mode:
authorSimo Sorce <ssorce@redhat.com>2007-09-12 11:51:16 -0400
committerSimo Sorce <ssorce@redhat.com>2007-09-12 11:51:16 -0400
commit5898ae527aab2358780abf56fbd33542336af54e (patch)
tree831a109935029cbc57c372cddf5e032af2a9f897 /ipa-server
parent182fbe30945a8de005f00b460968dca7973342fb (diff)
downloadfreeipa-5898ae527aab2358780abf56fbd33542336af54e.tar.gz
freeipa-5898ae527aab2358780abf56fbd33542336af54e.tar.xz
freeipa-5898ae527aab2358780abf56fbd33542336af54e.zip
In the TCP case there is an extra (redundant) lenght
field before the packet data, address the problem.
Diffstat (limited to 'ipa-server')
-rwxr-xr-xipa-server/freeipa-server.spec2
-rw-r--r--ipa-server/ipa-kpasswd/ipa_kpasswd.c10
2 files changed, 10 insertions, 2 deletions
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) {