home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!spool.mu.edu!enterpoop.mit.edu!senator-bedfellow.mit.edu!athena.mit.edu!jik
- From: jik@athena.mit.edu (Jonathan I. Kamens)
- Newsgroups: comp.protocols.kerberos
- Subject: V5 beta: make popper work
- Date: 6 Jan 1993 21:37:16 GMT
- Organization: Massachusetts Institute of Technology
- Lines: 161
- Distribution: world
- Message-ID: <1ifjecINNslp@senator-bedfellow.MIT.EDU>
- NNTP-Posting-Host: pit-manager.mit.edu
-
- 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
-