Thread View: comp.protocols.kerberos
1 messages
1 total messages
Started by Jonathan I. Kamens
Wed, 06 Jan 1993 21:37
V5 beta: make popper work
Author: Jonathan I. Kamens
Date: Wed, 06 Jan 1993 21:37
Date: Wed, 06 Jan 1993 21:37
161 lines
4203 bytes
4203 bytes
The following patches, to be applied in appl/popper, make it work (it wouldn't
even compile as shippped).
In more detail, they make the following changes:
pop_enter.c:
1) Fix a reversed "if" statement.
2) Use "com_err" to report errors.
pop_init.c:
In general, fix it and make it work.
pop_updt.c:
Fix it to recognize the "From " line format produced by SunOS /bin/mail.
*** 1.1 1992/12/03 21:58:05
--- pop_enter.c 1992/12/03 22:19:17
***************
*** 10,16 ****
#include <sys/stat.h>
#include <sys/file.h>
#include <mit-copyright.h>
!
#ifdef ZEPHYR
#include <zephyr/zephyr.h>
--- 10,17 ----
#include <sys/stat.h>
#include <sys/file.h>
#include <mit-copyright.h>
! #include <com_err.h>
!
#ifdef ZEPHYR
#include <zephyr/zephyr.h>
***************
*** 43,49 ****
while (--argc > 0)
{
! if(open_drop(argv[i]) < 0)
{
lseek(newmail, 0, L_SET);
if(new_message(maildrop, newmail) < 0)
--- 44,50 ----
while (--argc > 0)
{
! if(open_drop(argv[i]) != -1)
{
lseek(newmail, 0, L_SET);
if(new_message(maildrop, newmail) < 0)
***************
*** 51,58 ****
if(close(maildrop) < 0)
{
status = 1;
! sprintf(buffer, "%s: error on close", argv[i]);
! error(buffer, errno);
}
notify_recipient(argv[i]);
}
--- 52,58 ----
if(close(maildrop) < 0)
{
status = 1;
! com_err(argv[i], errno, "error on close");
}
notify_recipient(argv[i]);
}
*** 1.1 1992/11/16 20:06:57
--- pop_init.c 1992/12/17 20:49:44
***************
*** 24,29 ****
--- 24,34 ----
#include "popper.h"
#ifdef KERBEROS
+ #ifndef KRB4
+ #ifndef KRB5
+ #error you must use one of KRB4, KRB5 if KERBEROS is enabled
+ #endif /* ! KRB5 */
+ #endif /* ! KRB4 */
#ifdef KRB4
#ifdef KRB5
#error you can only use one of KRB4, KRB5
***************
*** 302,310 ****
strcpy(p->user, kdata.pname);
krb5_init_ets();
! if (retval = krb5_sname_to_principal(p->myhost, "pop", TRUE, &server)) {
pop_msg(p, POP_FAILURE,
"server mis-configured, can't get principal--%s",
error_message(retval));
--- 307,322 ----
strcpy(p->user, kdata.pname);
+ #else /* must be krb5 */
+ int retval;
+ int sock = 0;
+ krb5_principal server;
+ krb5_data *tmpdata;
+
krb5_init_ets();
! if (retval = krb5_sname_to_principal(p->myhost, "pop", KRB5_NT_SRV_HST,
! &server)) {
pop_msg(p, POP_FAILURE,
"server mis-configured, can't get principal--%s",
error_message(retval));
***************
*** 341,347 ****
pop_log(p, POP_DEBUG, "%s (%s): ok", client_name, inet_ntoa(addr->sin_addr));
#endif /* DEBUG */
! #endif /* KRB5 */
#endif /* KERBEROS */
return(POP_SUCCESS);
--- 353,363 ----
pop_log(p, POP_DEBUG, "%s (%s): ok", client_name, inet_ntoa(addr->sin_addr));
#endif /* DEBUG */
! tmpdata = krb5_princ_component(ext_client, 0);
! strncpy(p->user, tmpdata->data, tmpdata->length);
! p->user[tmpdata->length] = '\0';
!
! #endif /* KRB4 */
#endif /* KERBEROS */
return(POP_SUCCESS);
*** 1.1 1992/12/03 22:16:52
--- pop_updt.c 1992/12/03 22:17:33
***************
*** 252,258 ****
if(*line++ != ' ')
return(0);
! if(strlen(line) < 28)
return(0);
/* Tue */
--- 252,258 ----
if(*line++ != ' ')
return(0);
! if(strlen(line) < 20)
return(0);
/* Tue */
--
Jonathan Kamens jik@MIT.Edu
Aktis, Inc. Moderator, news.answers
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads