summaryrefslogtreecommitdiff
path: root/mail/yatsvrs/patches/patch-at
blob: ef4c0d823ad2756c6a67c7f27bcb0c0bbfa19e36 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
$NetBSD: patch-at,v 1.3 2004/12/15 13:18:02 taca Exp $

--- yatd/entry.c.orig	2001-07-09 12:32:52.000000000 +0900
+++ yatd/entry.c
@@ -106,6 +106,7 @@ struct SYS_DAT SysData = {
 
   {  0, 0 },               /* flags */
 
+  0,			   /* allow_xtnd */
 };
 
 /* Autherization-User state commands */
@@ -338,7 +339,7 @@ int CheckArgs(argc, argv)
     LOG_LOCAL4, LOG_LOCAL5, LOG_LOCAL6, LOG_LOCAL7,
   };
 
-  while ((c = getopt(argc, argv, "d01234567s:")) != EOF) {
+  while ((c = getopt(argc, argv, "d01234567s:x")) != EOF) {
     switch (c) {
     case 'd': /* DEBUG option */
       SysData.fDebug = 1;
@@ -346,6 +347,9 @@ int CheckArgs(argc, argv)
     case 's': /* System Directory */
       strcpy(SysData.szSysDir, optarg);
       break;
+    case 'x':
+      SysData.allow_xtnd = 1;
+      break;
     default:
       if ((c < '0') || ('7' < c)) {
 	fprintf(stderr, "Usage: %.256s [-d]\n", argv[0]);
@@ -431,7 +435,7 @@ int main (argc, argv)
   Msg2Cli(SUCCESS, "%.512s @%.256s",
 	  szGreeting , SysData.szMyHost);
 #else
-  Msg2Cli(SUCCESS, "%.512s <%u.%u@%.256s>",
+  Msg2Cli(SUCCESS, "%.512s <%u.%ld@%.256s>",
 	  szGreeting,
 	  SysData.pid, SysData.timeStart, SysData.szMyHost);
 #endif
@@ -560,34 +564,30 @@ int main (argc, argv)
 #ifdef HAVE_SIGACTION 
 
 static void signal_handler(int signum){
-  CONST char * pMsg;
   int    codeErr;
 
   /* sigaction - handler is not re-entrant */
 
-  /*
+#if 0
     static int fSigHandled = 0;
     if (fSigHandled){
     return ;
     }
     fSigHandled = 1;
     SigBlock();
-  */
+#endif
 
-  pMsg = NULL;
   syslog( LOG_DEBUG , "signal_handler call ");
   switch (signum) {
   case SIGALRM:
     codeErr = ERRYS_TIMEOUT;
+    WARNING(codeErr, 0, NULL);
     break;
-  case SIGHUP:
-  case SIGTERM:
   default:
     codeErr = ERRYS_SIGNAL;
-    pMsg = "#%d";
+    WARNING(codeErr, 0, "#%d", signum);
     break;
   }
-  WARNING(codeErr, 0, pMsg, signum);
 
   if (SysData.Flags.pidFile)
     DelPidFile(1);
@@ -602,7 +602,7 @@ static void signal_handler(int signum){
   }
 #endif
 
-  ErrSetData(codeErr, 0, pMsg, signum);
+  ErrSetData(codeErr, 0, (codeErr == ERRYS_SIGNAL)? "#%d": NULL, signum);
   Msg2Cli(FAILURE, NULL);
 
   exit(1);