1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-29 10:18:30 +00:00
freebsd-ports/mail/imap-uw/files/patch-ai
Edwin Groothuis 8d7b1f988b [patch] update mail/imap-uw to version 2006j
The c-client and imap-uw ports are still at version 2004g. The attached
	patch updates imap-uw to version 2006j.

PR:		ports/114834
Submitted by:	"Pedro J. Lobo" <pjlobo@sec.upm.es>
Approved by:	maintainer timeout
2007-09-30 05:59:04 +00:00

104 lines
2.5 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

*** src/imapd/imapd.c.orig Wed Jul 11 22:08:16 2007
--- src/imapd/imapd.c Mon Jul 23 17:48:56 2007
***************
*** 38,43 ****
--- 38,48 ----
#include "newsrc.h"
#include <sys/stat.h>
+ #ifdef DRAC_AUTH
+ #include <netinet/in.h>
+ #include <arpa/inet.h>
+ #include <stdlib.h>
+ #endif /* DRAC_AUTH */
#define CRLF PSOUT ("\015\012") /* primary output terpri */
***************
*** 203,208 ****
--- 208,219 ----
/* Global storage */
+ #ifdef DRAC_AUTH
+ #define DRACTIMEOUT 10*60 /* check every 10 minutes */
+ time_t lastdrac = 0; /* time of last drac check */
+ extern char *getenv ();
+ #endif /* DRAC_AUTH */
+
char *version = "389"; /* edit number of this server */
char *logout = "Logout"; /* syslogreason for logout */
char *goodbye = NIL; /* bye reason */
***************
*** 277,283 ****
msg_string_next, /* get next byte in string structure */
msg_string_setpos /* set position in string structure */
};
!
/* Main program */
int main (int argc,char *argv[])
--- 288,337 ----
msg_string_next, /* get next byte in string structure */
msg_string_setpos /* set position in string structure */
};
!
! #ifdef DRAC_AUTH
! /* DRAC Authorization
! */
! void drac_auth ()
! {
! if (time (0) > lastdrac + DRACTIMEOUT)
! {
! FILE *dracconf;
! char host[100];
! char *drachost;
! char *err;
! char *p;
!
! if ( (dracconf = fopen(ETC_DIR "/dracd.host", "r")) == NULL)
! {
! syslog (LOG_INFO, "dracd: error opening %s/dracd.host config file",ETC_DIR);
! exit(1);
! }
!
! fgets(host, 100, dracconf);
! p = strchr(host, '\n');
! if(p != NULL)
! *p = '\0';
! fclose(dracconf);
!
! if( drachost = (host) )
! {
! struct sockaddr_in sin;
! int sinlen = sizeof (struct sockaddr_in);
! char *client = getpeername (0,(struct sockaddr *) &sin,(void *) &sinlen) ?
! "UNKNOWN" : inet_ntoa (sin.sin_addr);
!
! lastdrac = time(0);
!
! if (dracauth(drachost, inet_addr(client), &err) != 0)
! syslog (LOG_INFO, err);
! else
! syslog (LOG_INFO, "dracd: authorized ip %s", client);
! }
! }
! }
! #endif /* DRAC_AUTH */
!
/* Main program */
int main (int argc,char *argv[])
***************
*** 1501,1506 ****
--- 1555,1563 ----
lasterror ());
return;
}
+ #ifdef DRAC_AUTH
+ drac_auth();
+ #endif /* DRAC_AUTH */
/* change in number of messages? */
if (existsquelled || (nmsgs != stream->nmsgs)) {
PSOUT ("* ");