1 /*
2  * (c) Copyright 1992 by Panagiotis Tsirigotis
3  * (c) Sections Copyright 1998-2001 by Rob Braun
4  * All rights reserved.  The file named COPYRIGHT specifies the terms
5  * and conditions for redistribution.
6  */
7 
8 
9 #include "config.h"
10 #include <sys/types.h>
11 #include <sys/socket.h>
12 #include <syslog.h>
13 
14 #include "nvlists.h"
15 #include "sconf.h"
16 
17 
18 /*
19  * A NULL value for the name field marks the end of the table
20  */
21 
22 const struct name_value service_types[] =
23    {
24 #ifndef NO_RPC
25       { "RPC",                        ST_RPC                  },
26 #endif
27       { "INTERNAL",                   ST_INTERNAL             },
28       { "UNLISTED",                   ST_UNLISTED             },
29       { "SPECIAL",                    ST_SPECIAL              },
30       { "TCPMUX",                     ST_TCPMUX               },
31       { "TCPMUXPLUS",                 ST_TCPMUXPLUS           },
32       { CHAR_NULL,                    0                       }
33    } ;
34 
35 
36 /* REUSE is only used for backward compatibility.  All services are now reuse */
37 const struct name_value service_flags[] =
38    {
39       { "REUSE",                      SF_REUSE               },
40       { "INTERCEPT",                  SF_INTERCEPT           },
41       { "NORETRY",                    SF_NORETRY             },
42       { "IDONLY",                     SF_IDONLY              },
43       { "NAMEINARGS",                 SF_NAMEINARGS          },
44       { "NODELAY",                    SF_NODELAY             },
45       { "KEEPALIVE",                  SF_KEEPALIVE           },
46       { "NOLIBWRAP",                  SF_NOLIBWRAP           },
47       { "SENSOR",                     SF_SENSOR              },
48       { "IPv4",                       SF_IPV4                },
49       { "IPv6",                       SF_IPV6                },
50       { "LABELED",                    SF_LABELED             },
51       { CHAR_NULL,                    0                      }
52    } ;
53 
54 
55 const struct name_value socket_types[] =
56    {
57       { "stream",                     SOCK_STREAM           },
58       { "dgram",                      SOCK_DGRAM            },
59       { "raw",                        SOCK_RAW              },
60       { "seqpacket",                  SOCK_SEQPACKET        },
61       { CHAR_NULL,                    1                     },
62       { "BAD SOCKET TYPE",            0                     }
63    } ;
64 
65 
66 const struct name_value success_log_options[] =
67    {
68       { "HOST",        LO_HOST     },
69       { "DURATION",    LO_DURATION },
70       { "EXIT",        LO_EXIT     },
71       { "PID",         LO_PID      },
72       { "USERID",      LO_USERID   },
73       { "TRAFFIC",     LO_TRAFFIC  },
74       { CHAR_NULL,     0           }
75    } ;
76 
77 
78 const struct name_value failure_log_options[] =
79    {
80       { "HOST",        LO_HOST     },
81       { "ATTEMPT",     LO_ATTEMPT  },
82       { "USERID",      LO_USERID   },
83       { CHAR_NULL,     0           }
84    } ;
85 
86 
87 
88 const struct name_value syslog_facilities[] =
89    {
90       { "daemon",         LOG_DAEMON      },
91       { "auth",           LOG_AUTH        },
92 #ifdef linux
93       { "authpriv",       LOG_AUTHPRIV    },
94 #endif
95       { "user",           LOG_USER        },
96 #ifdef LOG_MAIL
97       { "mail",           LOG_MAIL        },
98 #endif
99 #ifdef LOG_LPR
100       { "lpr",            LOG_LPR         },
101 #endif
102 #ifdef LOG_NEWS
103       { "news",           LOG_NEWS        },
104 #endif
105 #ifdef LOG_UUCP
106       { "uucp",           LOG_UUCP        },
107 #endif
108 #ifdef LOG_FTP
109       { "ftp",            LOG_FTP         },
110 #endif
111       { "local0",         LOG_LOCAL0      },
112       { "local1",         LOG_LOCAL1      },
113       { "local2",         LOG_LOCAL2      },
114       { "local3",         LOG_LOCAL3      },
115       { "local4",         LOG_LOCAL4      },
116       { "local5",         LOG_LOCAL5      },
117       { "local6",         LOG_LOCAL6      },
118       { "local7",         LOG_LOCAL7      },
119       { CHAR_NULL,        1               },
120       { "BAD FACILITY",   0               }
121    } ;
122 
123 
124 const struct name_value syslog_levels[] =
125    {
126       { "emerg",         LOG_EMERG      },
127       { "alert",         LOG_ALERT      },
128       { "crit",          LOG_CRIT       },
129       { "err",           LOG_ERR        },
130       { "warning",       LOG_WARNING    },
131       { "notice",        LOG_NOTICE     },
132       { "info",          LOG_INFO       },
133       { "debug",         LOG_DEBUG      },
134       { CHAR_NULL,       1              },
135       { "BAD LEVEL",     0              }
136    } ;
137 
138