summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimo Sorce <ssorce@redhat.com>2007-08-20 15:38:47 -0400
committerSimo Sorce <ssorce@redhat.com>2007-08-20 15:38:47 -0400
commitaacfce9cf17862dfa7f44a529e5b2eb2753e35bd (patch)
tree9e31b496cf8a895fa28ddeb33d6e0acb8b1d16b2
parent14d78e9170e6b3a338cb18e412602925ee6a42a5 (diff)
downloadfreeipa-aacfce9cf17862dfa7f44a529e5b2eb2753e35bd.tar.gz
freeipa-aacfce9cf17862dfa7f44a529e5b2eb2753e35bd.tar.xz
freeipa-aacfce9cf17862dfa7f44a529e5b2eb2753e35bd.zip
Remove dependncy on libmhash and use openssl md4 functions
Remove all dependencies on mhash Remove code optimizatrion from Makefiles, right now these are developers targeted builds, so it is better to have debugging symbols around
-rwxr-xr-xipa-server/freeipa-server.spec4
-rw-r--r--ipa-server/freeipa-server.spec.in4
-rw-r--r--ipa-server/ipa-install/README2
-rw-r--r--ipa-server/ipa-kpasswd/Makefile2
-rw-r--r--ipa-server/ipa-slapi-plugins/ipa-pwd-extop/Makefile4
-rw-r--r--ipa-server/ipa-slapi-plugins/ipa-pwd-extop/ipa_pwd_extop.c25
6 files changed, 26 insertions, 15 deletions
diff --git a/ipa-server/freeipa-server.spec b/ipa-server/freeipa-server.spec
index 9e564914..05d84bc7 100755
--- a/ipa-server/freeipa-server.spec
+++ b/ipa-server/freeipa-server.spec
@@ -9,9 +9,9 @@ URL: http://www.freeipa.org
Source0: %{name}-%{version}.tgz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildRequires: fedora-ds-base-devel openldap-devel krb5-devel nss-devel mozldap-devel openssl-devel mhash-devel
+BuildRequires: fedora-ds-base-devel openldap-devel krb5-devel nss-devel mozldap-devel openssl-devel
-Requires: python fedora-ds-base krb5-server krb5-server-ldap nss-tools openldap-clients httpd mod_python mod_auth_kerb python-ldap freeipa-python ntp cyrus-sasl-gssapi nss TurboGears libmhash
+Requires: python fedora-ds-base krb5-server krb5-server-ldap nss-tools openldap-clients httpd mod_python mod_auth_kerb python-ldap freeipa-python ntp cyrus-sasl-gssapi nss TurboGears
%define httpd_conf /etc/httpd/conf.d
%define plugin_dir /usr/lib/dirsrv/plugins
diff --git a/ipa-server/freeipa-server.spec.in b/ipa-server/freeipa-server.spec.in
index d5121362..4071a409 100644
--- a/ipa-server/freeipa-server.spec.in
+++ b/ipa-server/freeipa-server.spec.in
@@ -9,9 +9,9 @@ URL: http://www.freeipa.org
Source0: %{name}-%{version}.tgz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildRequires: fedora-ds-base-devel openldap-devel krb5-devel nss-devel mozldap-devel openssl-devel mhash-devel
+BuildRequires: fedora-ds-base-devel openldap-devel krb5-devel nss-devel mozldap-devel openssl-devel
-Requires: python fedora-ds-base krb5-server krb5-server-ldap nss-tools openldap-clients httpd mod_python mod_auth_kerb python-ldap freeipa-python ntp cyrus-sasl-gssapi nss TurboGears libmhash
+Requires: python fedora-ds-base krb5-server krb5-server-ldap nss-tools openldap-clients httpd mod_python mod_auth_kerb python-ldap freeipa-python ntp cyrus-sasl-gssapi nss TurboGears
%define httpd_conf /etc/httpd/conf.d
%define plugin_dir /usr/lib/dirsrv/plugins
diff --git a/ipa-server/ipa-install/README b/ipa-server/ipa-install/README
index 33e1533d..fd6b7473 100644
--- a/ipa-server/ipa-install/README
+++ b/ipa-server/ipa-install/README
@@ -9,7 +9,7 @@ cyrus-sasl-gssapi
httpd
mod_auth_kerb
ntp
-mhash / libgcrypt / mhash-devel
+openssl-devel
Installation example:
diff --git a/ipa-server/ipa-kpasswd/Makefile b/ipa-server/ipa-kpasswd/Makefile
index 7384ed88..5fd90a69 100644
--- a/ipa-server/ipa-kpasswd/Makefile
+++ b/ipa-server/ipa-kpasswd/Makefile
@@ -3,7 +3,7 @@ SBIN = $(PREFIX)/sbin
INITDIR = $(DESTDIR)/etc/rc.d/init.d
LDFLAGS +=-lkrb5 -llber -lldap
-CFLAGS ?= -Wall -Wshadow -O2
+CFLAGS ?= -g -Wall -Wshadow
OBJS = $(patsubst %.c,%.o,$(wildcard *.c))
diff --git a/ipa-server/ipa-slapi-plugins/ipa-pwd-extop/Makefile b/ipa-server/ipa-slapi-plugins/ipa-pwd-extop/Makefile
index 0b644319..7d676146 100644
--- a/ipa-server/ipa-slapi-plugins/ipa-pwd-extop/Makefile
+++ b/ipa-server/ipa-slapi-plugins/ipa-pwd-extop/Makefile
@@ -5,8 +5,8 @@ LIB64DIR ?= $(PREFIX)/lib64/$(DIRSRV)/plugins
SHAREDIR = $(DESTDIR)/usr/share/ipa
SONAME = libipa_pwd_extop.so
-LDFLAGS += -lkrb5 -llber -lldap -lmhash -llber -lssl
-CFLAGS ?= -Wall -Wshadow -O2
+LDFLAGS += -lkrb5 -llber -lldap -llber -lssl
+CFLAGS ?= -g -Wall -Wshadow
CFLAGS += -I/usr/include/$(DIRSRV) -I/usr/include/nss3 -I/usr/include/mozldap -I/usr/include/nspr4 -fPIC -DPIC
OBJS = $(patsubst %.c,%.o,$(wildcard *.c))
diff --git a/ipa-server/ipa-slapi-plugins/ipa-pwd-extop/ipa_pwd_extop.c b/ipa-server/ipa-slapi-plugins/ipa-pwd-extop/ipa_pwd_extop.c
index b4dafb84..f3771204 100644
--- a/ipa-server/ipa-slapi-plugins/ipa-pwd-extop/ipa_pwd_extop.c
+++ b/ipa-server/ipa-slapi-plugins/ipa-pwd-extop/ipa_pwd_extop.c
@@ -66,8 +66,8 @@
#include <lber.h>
#include <time.h>
#include <iconv.h>
-#include <mhash.h>
#include <openssl/des.h>
+#include <openssl/md4.h>
/* Type of connection for this operation;*/
#define LDAP_EXTOP_PASSMOD_CONN_SECURE
@@ -576,7 +576,7 @@ static int encode_ntlm_keys(char *newPasswd, unsigned int flags, struct ntlm_key
size_t cs, il, ol, sl;
char *inc, *outc;
char *ucs2Passwd;
- MHASH td;
+ MD4_CTX md4ctx;
/* TODO: must store the dos charset somewhere in the directory */
cd = iconv_open(KTF_UCS2, KTF_UTF8);
@@ -615,20 +615,31 @@ static int encode_ntlm_keys(char *newPasswd, unsigned int flags, struct ntlm_key
sl = 28;
}
- td = mhash_init(MHASH_MD4);
- if (td == MHASH_FAILED) {
+ ret = MD4_Init(&md4ctx);
+ if (ret == 0) {
+ ret = -1;
+ free(ucs2Passwd);
+ goto done;
+ }
+ ret = MD4_Update(&md4ctx, ucs2Passwd, sl);
+ if (ret == 0) {
+ ret = -1;
+ free(ucs2Passwd);
+ goto done;
+ }
+ ret = MD4_Final(keys->nt, &md4ctx);
+ if (ret == 0) {
ret = -1;
free(ucs2Passwd);
goto done;
}
-
- mhash(td, ucs2Passwd, sl);
- mhash_deinit(td, keys->nt);
} else {
memset(keys->nt, 0, 16);
}
+ ret = 0;
+
done:
return ret;
}