Hi all,

Here is a small patch to manage a timeout in the pop3login command.

regrads
Alain

diff -ruN courier-imap-4.3.0.orig/imap/pop3login.c 
courier-imap-4.3.0/imap/pop3login.c
--- courier-imap-4.3.0.orig/imap/pop3login.c    2006-05-28 17:32:19.000000000 
+0200
+++ courier-imap-4.3.0/imap/pop3login.c 2008-02-19 16:31:32.000000000 +0100
@@ -240,6 +240,26 @@
        return (rc);
 }
 
+static RETSIGTYPE bye(int signum)
+{
+const  char *remoteip;
+const  char *remoteport;
+
+       if ((remoteip=getenv("TCPREMOTEIP")) == NULL)
+               remoteip="127.0.0.1";
+
+       if ((remoteport=getenv("TCPREMOTEPORT")) == NULL)
+               remoteport="0";
+
+       fprintf(stderr, "INFO: TIMEOUT, ip=[%s] port=[%s]\n",
+                                       remoteip,
+                                       remoteport);
+       exit(0);
+#if    RETSIGTYPE != void
+       return (0);
+#endif
+}
+
 int main(int argc, char **argv)
 {
 char   *user=0;
@@ -272,7 +292,8 @@
 
        fflush(stdout);
        fflush(stderr);
-       while (fgets(buf, sizeof(buf), stdin))
+       signal(SIGALRM, bye);
+       while (alarm(300), fgets(buf, sizeof(buf), stdin))
        {
                c=1;
                for (p=buf; *p; p++)
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
courier-users mailing list
[email protected]
Unsubscribe: https://lists.sourceforge.net/lists/listinfo/courier-users

Reply via email to