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           [email protected]
https://mailman.mit.edu/mailman/listinfo/kerberos




--

 Douglas E. Engert  <[EMAIL PROTECTED]>
 Argonne National Laboratory
 9700 South Cass Avenue
 Argonne, Illinois  60439
 (630) 252-5444
________________________________________________
Kerberos mailing list           [email protected]
https://mailman.mit.edu/mailman/listinfo/kerberos

Reply via email to