OXIESEC PANEL
- Current Dir:
/
/
snap
/
certbot
/
4737
/
usr
/
share
/
augeas
/
lenses
/
dist
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
06/12/2025 06:19:48 PM
rwxr-xr-x
📄
access.aug
3.58 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
activemq_conf.aug
1.47 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
activemq_xml.aug
864 bytes
03/31/2024 05:41:49 PM
rw-r--r--
📄
afs_cellalias.aug
1.56 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
aliases.aug
2.18 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
anaconda.aug
775 bytes
03/31/2024 05:41:49 PM
rw-r--r--
📄
anacron.aug
2.49 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
approx.aug
1.26 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
apt_update_manager.aug
1.11 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
aptcacherngsecurity.aug
726 bytes
03/31/2024 05:41:49 PM
rw-r--r--
📄
aptconf.aug
3.9 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
aptpreferences.aug
1.79 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
aptsources.aug
1.98 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
authinfo2.aug
1.44 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
authorized_keys.aug
1.84 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
authselectpam.aug
3.7 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
automaster.aug
3.31 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
automounter.aug
4.05 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
avahi.aug
1.38 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
backuppchosts.aug
1014 bytes
03/31/2024 05:41:49 PM
rw-r--r--
📄
bbhosts.aug
4.24 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
bootconf.aug
3.65 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
build.aug
16.65 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
cachefilesd.aug
2 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
carbon.aug
1.54 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
ceph.aug
719 bytes
03/31/2024 05:41:49 PM
rw-r--r--
📄
cgconfig.aug
3.37 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
cgrules.aug
2.38 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
channels.aug
3.84 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
chrony.aug
13.79 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
clamav.aug
1.72 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
cmdline.aug
506 bytes
03/31/2024 05:41:49 PM
rw-r--r--
📄
cobblermodules.aug
398 bytes
03/31/2024 05:41:49 PM
rw-r--r--
📄
cobblersettings.aug
2.24 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
cockpit.aug
1.96 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
collectd.aug
869 bytes
03/31/2024 05:41:49 PM
rw-r--r--
📄
cpanel.aug
824 bytes
03/31/2024 05:41:49 PM
rw-r--r--
📄
cron.aug
4.05 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
cron_user.aug
1.26 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
crypttab.aug
3.08 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
csv.aug
1.18 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
cups.aug
459 bytes
03/31/2024 05:41:49 PM
rw-r--r--
📄
cyrus_imapd.aug
1.51 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
darkice.aug
773 bytes
03/31/2024 05:41:49 PM
rw-r--r--
📄
debctrl.aug
3.61 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
desktop.aug
1.39 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
devfsrules.aug
619 bytes
03/31/2024 05:41:49 PM
rw-r--r--
📄
device_map.aug
620 bytes
03/31/2024 05:41:49 PM
rw-r--r--
📄
dhclient.aug
6.69 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
dhcpd.aug
20.88 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
dns_zone.aug
2.89 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
dnsmasq.aug
2.16 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
dovecot.aug
3.98 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
dpkg.aug
2.78 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
dput.aug
2.16 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
erlang.aug
4.33 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
ethers.aug
663 bytes
03/31/2024 05:41:49 PM
rw-r--r--
📄
exports.aug
2.37 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
fai_diskconfig.aug
9.28 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
fail2ban.aug
1.79 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
fonts.aug
819 bytes
03/31/2024 05:41:49 PM
rw-r--r--
📄
fstab.aug
1.23 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
fuse.aug
871 bytes
03/31/2024 05:41:49 PM
rw-r--r--
📄
gdm.aug
1.8 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
getcap.aug
1.57 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
group.aug
1.66 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
grub.aug
11.05 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
grubenv.aug
508 bytes
03/31/2024 05:41:49 PM
rw-r--r--
📄
gshadow.aug
2.19 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
gtkbookmarks.aug
855 bytes
03/31/2024 05:41:49 PM
rw-r--r--
📄
host_conf.aug
1.9 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
hostname.aug
435 bytes
03/31/2024 05:41:49 PM
rw-r--r--
📄
hosts.aug
485 bytes
03/31/2024 05:41:49 PM
rw-r--r--
📄
hosts_access.aug
4.32 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
htpasswd.aug
1.02 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
httpd.aug
7.35 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
inetd.aug
6.22 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
inifile.aug
15.49 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
inittab.aug
780 bytes
03/31/2024 05:41:49 PM
rw-r--r--
📄
inputrc.aug
1.62 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
interfaces.aug
4.62 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
iproute2.aug
323 bytes
03/31/2024 05:41:49 PM
rw-r--r--
📄
iptables.aug
2.64 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
iscsid.aug
684 bytes
03/31/2024 05:41:49 PM
rw-r--r--
📄
jaas.aug
1.57 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
jettyrealm.aug
1.52 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
jmxaccess.aug
1.35 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
jmxpassword.aug
1.34 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
json.aug
2.15 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
kdump.aug
3.06 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
keepalived.aug
10.73 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
known_hosts.aug
1.93 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
koji.aug
898 bytes
03/31/2024 05:41:49 PM
rw-r--r--
📄
krb5.aug
6.98 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
ldif.aug
7.65 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
ldso.aug
1.06 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
lightdm.aug
1.75 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
limits.aug
2.02 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
login_defs.aug
615 bytes
03/31/2024 05:41:49 PM
rw-r--r--
📄
logrotate.aug
4.23 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
logwatch.aug
1.44 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
lokkit.aug
2.16 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
lvm.aug
2.03 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
mailscanner.aug
1.66 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
mailscanner_rules.aug
2.84 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
masterpasswd.aug
4.36 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
mcollective.aug
1.09 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
mdadm_conf.aug
10.05 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
memcached.aug
1.24 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
mke2fs.aug
6.29 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
modprobe.aug
3.34 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
modules.aug
741 bytes
03/31/2024 05:41:49 PM
rw-r--r--
📄
modules_conf.aug
1.04 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
mongodbserver.aug
1.17 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
monit.aug
2.13 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
multipath.aug
4.21 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
mysql.aug
1.95 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
nagioscfg.aug
2.09 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
nagiosobjects.aug
1.57 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
netmasks.aug
1.69 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
networkmanager.aug
2.18 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
networks.aug
1.09 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
nginx.aug
3.65 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
nrpe.aug
1.78 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
nslcd.aug
9.87 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
nsswitch.aug
2.33 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
ntp.aug
5.29 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
ntpd.aug
4.75 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
odbc.aug
1.42 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
opendkim.aug
3.1 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
openshift_config.aug
2.46 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
openshift_http.aug
1.03 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
openshift_quickstarts.aug
1.02 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
openvpn.aug
22.28 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
oz.aug
1.35 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
pagekite.aug
2.6 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
pam.aug
2.58 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
pamconf.aug
1.23 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
passwd.aug
3.52 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
pbuilder.aug
638 bytes
03/31/2024 05:41:49 PM
rw-r--r--
📄
pg_hba.aug
2.97 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
pgbouncer.aug
1.43 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
php.aug
2.34 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
phpvars.aug
3.85 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
postfix_access.aug
771 bytes
03/31/2024 05:41:49 PM
rw-r--r--
📄
postfix_main.aug
1.52 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
postfix_master.aug
1.9 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
postfix_passwordmap.aug
1.28 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
postfix_sasl_smtpd.aug
697 bytes
03/31/2024 05:41:49 PM
rw-r--r--
📄
postfix_transport.aug
1.48 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
postfix_virtual.aug
1.32 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
postgresql.aug
2.1 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
properties.aug
2.3 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
protocols.aug
1.05 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
puppet.aug
1.52 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
puppet_auth.aug
1.95 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
puppetfile.aug
2.27 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
puppetfileserver.aug
3.12 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
pylonspaste.aug
2.3 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
pythonpaste.aug
1.99 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
qpid.aug
670 bytes
03/31/2024 05:41:49 PM
rw-r--r--
📄
quote.aug
6.71 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
rabbitmq.aug
4.69 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
radicale.aug
1.48 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
rancid.aug
927 bytes
03/31/2024 05:41:49 PM
rw-r--r--
📄
redis.aug
6.5 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
reprepro_uploaders.aug
5.47 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
resolv.aug
4.03 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
rhsm.aug
1.1 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
rmt.aug
788 bytes
03/31/2024 05:41:49 PM
rw-r--r--
📄
rsyncd.aug
1.97 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
rsyslog.aug
3.27 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
rtadvd.aug
854 bytes
03/31/2024 05:41:49 PM
rw-r--r--
📄
rx.aug
4.2 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
samba.aug
1.71 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
schroot.aug
1.79 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
securetty.aug
450 bytes
03/31/2024 05:41:49 PM
rw-r--r--
📄
semanage.aug
1.02 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
sep.aug
1.28 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
services.aug
2.82 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
shadow.aug
2.35 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
shells.aug
745 bytes
03/31/2024 05:41:49 PM
rw-r--r--
📄
shellvars.aug
12.02 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
shellvars_list.aug
1.74 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
simplelines.aug
1.13 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
simplevars.aug
1.4 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
sip_conf.aug
1.61 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
slapd.aug
5.2 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
smbusers.aug
781 bytes
03/31/2024 05:41:49 PM
rw-r--r--
📄
solaris_system.aug
3.15 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
soma.aug
1.14 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
sos.aug
807 bytes
03/31/2024 05:41:49 PM
rw-r--r--
📄
spacevars.aug
1.42 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
splunk.aug
1.64 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
squid.aug
15.95 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
ssh.aug
4.39 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
sshd.aug
4.74 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
sssd.aug
861 bytes
03/31/2024 05:41:49 PM
rw-r--r--
📄
star.aug
941 bytes
03/31/2024 05:41:49 PM
rw-r--r--
📄
strongswan.aug
1.63 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
stunnel.aug
2.21 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
subversion.aug
2.75 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
sudoers.aug
20.08 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
sysconfig.aug
2.49 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
sysconfig_route.aug
2.55 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
sysctl.aug
1.36 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
syslog.aug
7.33 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
systemd.aug
6 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
termcap.aug
1.03 KB
03/31/2024 05:41:49 PM
rw-r--r--
📁
tests
-
06/12/2025 06:19:49 PM
rwxr-xr-x
📄
thttpd.aug
1.31 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
tinc.aug
1.08 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
tmpfiles.aug
3.16 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
toml.aug
4.24 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
trapperkeeper.aug
4.01 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
tuned.aug
387 bytes
03/31/2024 05:41:49 PM
rw-r--r--
📄
up2date.aug
2.21 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
updatedb.aug
1.13 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
util.aug
4.85 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
vfstab.aug
1.71 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
vmware_config.aug
702 bytes
03/31/2024 05:41:49 PM
rw-r--r--
📄
vsftpd.aug
2.72 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
webmin.aug
1.23 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
wine.aug
1.92 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
xendconfsxp.aug
1.07 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
xinetd.aug
4.02 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
xml.aug
6.33 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
xorg.aug
10.43 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
xymon.aug
2.26 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
xymon_alerting.aug
6.11 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
yaml.aug
1.54 KB
03/31/2024 05:41:49 PM
rw-r--r--
📄
yum.aug
2.19 KB
03/31/2024 05:41:49 PM
rw-r--r--
Editing: syslog.aug
Close
(* Module: Syslog parses /etc/syslog.conf Author: Mathieu Arnold <mat@FreeBSD.org> About: Reference This lens tries to keep as close as possible to `man 5 resolv.conf` where possible. An online source being : http://www.freebsd.org/cgi/man.cgi?query=syslog.conf&sektion=5 About: Licence This file is licensed under the BSD License. About: Lens Usage To be documented About: Configuration files This lens applies to /etc/syslog.conf. See <filter>. *) module Syslog = autoload xfm (************************************************************************ * Group: USEFUL PRIMITIVES *************************************************************************) (* Group: Comments and empty lines *) (* Variable: empty *) let empty = Util.empty (* Variable: eol *) let eol = Util.eol (* Variable: sep_tab *) let sep_tab = del /([ \t]+|[ \t]*\\\\\n[ \t]*)/ "\t" (* Variable: sep_tab_opt *) let sep_tab_opt = del /([ \t]*|[ \t]*\\\\\n[ \t]*)/ "" (* View: comment Map comments into "#comment" nodes Can't use Util.comment as #+ and #! have a special meaning. However, '# !' and '# +' have no special meaning so they should be allowed. *) let comment_gen (space:regexp) (sto:regexp) = [ label "#comment" . del (Rx.opt_space . "#" . space) "# " . store sto . eol ] let comment = let comment_withsign = comment_gen Rx.space /([!+-].*[^ \t\n]|[!+-])/ in let comment_nosign = comment_gen Rx.opt_space /([^ \t\n+!-].*[^ \t\n]|[^ \t\n+!-])/ in comment_withsign | comment_nosign (* Group: single characters macro *) (* Variable: comma Deletes a comma and default to it *) let comma = sep_tab_opt . Util.del_str "," . sep_tab_opt (* Variable: colon Deletes a colon and default to it *) let colon = sep_tab_opt . Util.del_str ":" . sep_tab_opt (* Variable: semicolon Deletes a semicolon and default to it *) let semicolon = sep_tab_opt . Util.del_str ";" . sep_tab_opt (* Variable: dot Deletes a dot and default to it *) let dot = Util.del_str "." (* Variable: pipe Deletes a pipe and default to it *) let pipe = Util.del_str "|" (* Variable: plus Deletes a plus and default to it *) let plus = Util.del_str "+" (* Variable: bang Deletes a bang and default to it *) let bang = Util.del_str "!" (* Variable: opt_hash deletes an optional # sign *) let opt_hash = del /#?/ "" (* Variable: opt_plus deletes an optional + sign *) let opt_plus = del /\+?/ "" (* Group: various macros *) (* Variable: word our version can't start with [_.-] because it would mess up the grammar *) let word = /[A-Za-z0-9][A-Za-z0-9_.-]*/ (* Variable: comparison a comparison is an optional ! with optionally some of [<=>] *) let comparison = /(!|[<=>]+|![<=>]+)/ (* Variable: protocol @ means UDP @@ means TCP *) let protocol = /@{1,2}/ (* Variable: token alphanum or "*" *) let token = /([A-Za-z0-9]+|\*)/ (* Variable: file_r a file begins with a / and get almost anything else after *) let file_r = /\/[^ \t\n;]+/ (* Variable: loghost_r Matches a hostname, that is labels speparated by dots, labels can't start or end with a "-". maybe a bit too complicated for what it's worth *) let loghost_r = /[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?(\.[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?)*/ | "[" . Rx.ipv6 . "]" (* Group: Function *) (* View: label_opt_list Uses Build.opt_list to generate a list of labels Parameters: l:string - the label name r:lens - the lens going after the label s:lens - the separator lens passed to Build.opt_list *) let label_opt_list (l:string) (r:lens) (s:lens) = Build.opt_list [ label l . r ] s (* View: label_opt_list_or Either label_opt_list matches something or it emits a single label with the "or" string. Parameters: l:string - the label name r:lens - the lens going after the label s:lens - the separator lens passed to Build.opt_list or:string - the string used if the label_opt_list does not match anything *) let label_opt_list_or (l:string) (r:lens) (s:lens) (or:string) = ( label_opt_list l r s | [ label l . store or ] ) (************************************************************************ * Group: LENSE DEFINITION *************************************************************************) (* Group: selector *) (* View: facilities a list of facilities, separated by commas *) let facilities = label_opt_list "facility" (store token) comma (* View: selector a selector is a list of facilities, an optional comparison and a level *) let selector = facilities . dot . [ label "comparison" . store comparison]? . [ label "level" . store token ] (* View: selectors a list of selectors, separated by semicolons *) let selectors = label_opt_list "selector" selector semicolon (* Group: action *) (* View: file a file may start with a "-" meaning it does not gets sync'ed everytime *) let file = [ Build.xchgs "-" "no_sync" ]? . [ label "file" . store file_r ] (* View: loghost a loghost is an @ sign followed by the hostname and a possible port *) let loghost = [label "protocol" . store protocol] . [ label "hostname" . store loghost_r ] . (colon . [ label "port" . store /[0-9]+/ ] )? (* View: users a list of users or a "*" *) let users = label_opt_list_or "user" (store word) comma "*" (* View: logprogram a log program begins with a pipe *) let logprogram = pipe . [ label "program" . store /[^ \t\n][^\n]+[^ \t\n]/ ] (* View: discard discards matching messages *) let discard = [ label "discard" . Util.del_str "~" ] (* View: action an action is either a file, a host, users, a program, or discard *) let action = (file | loghost | users | logprogram | discard) (* Group: Entry *) (* View: entry an entry contains selectors and an action *) let entry = [ label "entry" . selectors . sep_tab . [ label "action" . action ] . eol ] (* View: entries entries are either comments/empty lines or entries *) let entries = (empty | comment | entry )* (* Group: Program matching *) (* View: programs a list of programs *) let programs = label_opt_list_or "program" (store word) comma "*" (* View: program a program begins with an optional hash, a bang, and an optional + or - *) let program = [ label "program" . opt_hash . bang . ( opt_plus | [ Build.xchgs "-" "reverse" ] ) . programs . eol . entries ] (* Group: Hostname maching *) (* View: hostnames a list of hostnames *) let hostnames = label_opt_list_or "hostname" (store Rx.word) comma "*" (* View: hostname a program begins with an optional hash, and a + or - *) let hostname = [ label "hostname" . opt_hash . ( plus | [ Build.xchgs "-" "reverse" ] ) . hostnames . eol . entries ] (* Group: Top of the tree *) let include = [ key "include" . sep_tab . store file_r . eol ] (* View: lns generic entries then programs or hostnames matching blocs *) let lns = entries . ( program | hostname | include )* (* Variable: filter all you need is /etc/syslog.conf *) let filter = incl "/etc/syslog.conf" let xfm = transform lns filter