Hi,
 Thanks for your valuable help. This works fine.

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;;

________________________________________________
Kerberos mailing list           [email protected]
https://mailman.mit.edu/mailman/listinfo/kerberos

Reply via email to