Kerberos + Qpopper Build fails
Douglas E. Engert
deengert at anl.gov
Tue Jul 26 17:39:14 EDT 2005
Try something like this with qpopper-4.0.5 and krb5-1.4.1.
--- ./qpopper4.0.5/popper/,pop_init.c Mon Mar 17 13:08:52 2003
+++ ./qpopper4.0.5/popper/pop_init.c Wed Jul 13 13:04:05 2005
@@ -313,6 +313,7 @@
* _both_ V5 and V4 pop services.
*/
+#ifdef KRB5_KRB4_COMPAT
retval = krb5_compat_recvauth ( pop_context, &auth_context,
(krb5_pointer) &sock,
KRB5_APPL_VERSION, server,
@@ -330,6 +331,13 @@
NULL, /* Key schedule (unused) */
&v4_version /* V4 version */
);
+#else
+ auth_sys = KRB5_RECVAUTH_V5;
+ retval = krb5_recvauth_version(pop_context, &auth_context,
+ (krb5_pointer) &sock,
+ NULL, 0, NULL, &ticket, &v4_version);
+#endif
+
if ( retval ) {
pop_msg ( p, POP_FAILURE, HERE, "recvauth failed--%s",
error_message(retval) );
@@ -418,6 +426,7 @@
EXIT ( -1 );
} /* krb5_aname_to_localname failed */
# endif /* NO_CROSSREALM */
+ p->AuthType = kerberos;
}
# endif /* KRB5 */
#else /* not KERBEROS */
--- ./qpopper4.0.5/popper/,pop_updt.c Wed Jan 1 20:39:03 2003
+++ ./qpopper4.0.5/popper/pop_updt.c Tue Jul 12 08:37:13 2005
@@ -293,7 +293,7 @@
DEBUG_LOG0 ( p, "Checking to see if all messages were deleted" );
if ( p->bStats ) {
- pop_log ( p, POP_PRIORITY, HERE, "Stats: %s %d %ld %d %ld %s %s",
+ pop_log ( p, LOG_CRIT/*POP_PRIORITY*/, HERE, "Stats: %s %d %ld %d %ld %s %s",
p->user, p->msgs_deleted, p->bytes_deleted,
p->msg_count - p->msgs_deleted,
p->drop_size - p->bytes_deleted,
--- ./qpopper4.0.5/popper/,pop_user.c Wed Mar 12 20:06:38 2003
+++ ./qpopper4.0.5/popper/pop_user.c Wed Jul 13 14:10:06 2005
@@ -235,6 +235,7 @@
# endif /* APOP_ONLY */
#endif /* SCRAM_ONLY */
+ if (p->AuthType != kerberos) {
#ifdef AUTHON
@@ -425,6 +426,8 @@
} while ( 0 ); /* so a break will work */
#endif /* defined(__bsdi__) && _BSDI_VERSION >= 199608 */
+
+} /* p->AuthType != kerberos */
if ( p->AuthType == noauth ) /* If authentication method is unknown (i.e. */
p->AuthType = plain; /* not Kerberos) then assume plain text */
--- ./qpopper4.0.5/,configure.in Tue Feb 4 21:06:08 2003
+++ ./qpopper4.0.5/configure.in Tue Jul 12 15:08:53 2005
@@ -630,8 +630,8 @@
fi
AC_DEFINE(KERBEROS)
AC_DEFINE(KRB5)
- AC_DEFINE(KRB5_KRB4_COMPAT)
- KERBEROS_LIBS="$KERBEROS_LIBS -lkrb5util -lkrb5 -ldes425 -lcom_err"
+ dnl DEE NO KRB4 AC_DEFINE(KRB5_KRB4_COMPAT)
+ KERBEROS_LIBS="$KERBEROS_LIBS -lkrb5 -ldes425 -lcom_err"
AC_CHECK_LIB( k5crypto, krb5_c_string_to_key, KERBEROS_LIBS="$KERBEROS_LIBS -lk5crypto" )
AC_CHECK_LIB( crypto, krb5_c_string_to_key, KERBEROS_LIBS="$KERBEROS_LIBS -lcrypto" )
AC_CHECK_LIB( krb4, krb_create_ticket, KERBEROS_LIBS="$KERBEROS_LIBS -lkrb4" )
@@ -929,7 +929,7 @@
[5]*) OS_DEFS="$OS_DEFS -DSOLARIS2 -DGNU_PASS"
OS_DEFS="$OS_DEFS -DNO_GETLINE -DCONTENT_LENGTH=1"
if test $krb5_prefix != "no" -a $krb5_prefix != "yes"; then
- KERBEROS_LIBS="$KERBEROS_LIBS -R${krb5_prefix}/lib"
+ KERBEROS_LIBS="$KERBEROS_LIBS "
fi;;
[4]*) OS_DEFS="$OS_DEFS -DSUNOS4"
IS_SUNOS4=yes;;
--- ./qpopper4.0.5/,configure Tue Feb 4 21:06:30 2003
+++ ./qpopper4.0.5/configure Tue Jul 12 15:08:04 2005
@@ -3175,11 +3175,7 @@
#define KRB5 1
EOF
- cat >>confdefs.h <<\EOF
-#define KRB5_KRB4_COMPAT 1
-EOF
-
- KERBEROS_LIBS="$KERBEROS_LIBS -lkrb5util -lkrb5 -ldes425 -lcom_err"
+ KERBEROS_LIBS="$KERBEROS_LIBS -lkrb5 -ldes425 -lcom_err"
echo "$as_me:3183: checking for krb5_c_string_to_key in -lk5crypto" >&5
echo $ECHO_N "checking for krb5_c_string_to_key in -lk5crypto... $ECHO_C" >&6
if test "${ac_cv_lib_k5crypto_krb5_c_string_to_key+set}" = set; then
@@ -3895,7 +3891,7 @@
5*) OS_DEFS="$OS_DEFS -DSOLARIS2 -DGNU_PASS"
OS_DEFS="$OS_DEFS -DNO_GETLINE -DCONTENT_LENGTH=1"
if test $krb5_prefix != "no" -a $krb5_prefix != "yes"; then
- KERBEROS_LIBS="$KERBEROS_LIBS -R${krb5_prefix}/lib"
+ KERBEROS_LIBS="$KERBEROS_LIBS "
fi;;
4*) OS_DEFS="$OS_DEFS -DSUNOS4"
IS_SUNOS4=yes;;
Viji wrote:
> Hi All,
>
> I am using kerberos version 1.4.1. Till kerberos version 1.2.8 "libkrb5util" library was available. But from 1.3 series "libkrb5util" library is not available.
>
> I want to build qpopper with kerberos. Qpopper requires "libkrb5util" library. What do i need to do to get this library? Or Is there any other way to build qpopper with kerberos?
>
> I have used the following build steps.
> kerberos (1.4.1) build
> #./configure --prefix=/usr/local/krb5 --with-krb4
> #gmake
> #gmake install
>
> Qpopper(4.0.8) Build
> #./configure --prefix=/usr/local/qpopper --with-kerberos5=/usr/local/krb5
> No problem with configure.
> #gmake
> gcc pop_dele.o pop_dropcopy.o pop_get_command.o pop_get_subcommand.o pop_init.o pop_last.o pop_list.o pop_log.o pop_lower.o pop_msg.o pop_parse.o pop_pass.o pop_quit.o pop_rset.o pop_send.o pop_stat.o pop_updt.o pop_user.o pop_xtnd.o pop_xmit.o popper.o pop_bull.o xtnd_xlst.o pop_uidl.o mktemp.o pop_rpop.o pop_apop.o md5.o pop_auth.o pop_pope.o pop_extend.o scram.o hmac.o base64.o pop_util.o get_sub_opt.o msg_ptr.o drac.o pop_config.o pop_tls.o pop_tls_openssl.o pop_tls_sslplus.o sslplus_utils.o main.o pop_cache.o genpath.o -o popper ../mmangle/libmangle.a \
> -I../common ../common/libcommon.a \
> -lnsl -L/usr/local/krb5/lib -lkrb5util -lkrb5 -ldes425 -lcom_err -lk5crypto -lsec -lcrypt -lpam
> /usr/ccs/bin/ld: Can't find library: "krb5util"
> collect2: ld returned 1 exit status
> gmake[1]: *** [popper] Error 1
>
> kerberos version 1.4.1 doesnot contain this "libkrb5util" library. Previously i used kerberos 1.2.2, it is having "libkrb5util" library. But i want to update to the latest version(1.4.1) of kerberos. What i need to do to make qpopper to work with kerberos 1.4.1?
>
> Any help will be useful to me.
>
> Thanks in advance,
> Vijayalakshmi.
>
> ________________________________________________
> Kerberos mailing list Kerberos at mit.edu
> https://mailman.mit.edu/mailman/listinfo/kerberos
>
>
>
--
Douglas E. Engert <DEEngert at anl.gov>
Argonne National Laboratory
9700 South Cass Avenue
Argonne, Illinois 60439
(630) 252-5444
More information about the Kerberos
mailing list