Kerberos + Qpopper Build fails

Viji vijayalakshmi_k at hotpop.com
Wed Jul 27 02:41:53 EDT 2005


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



More information about the Kerberos mailing list