// Copyright 2021, Free Software Foundation, Inc. Licensed under Creative Commons Attribution 4.0 International license
// https://creativecommons.org/licenses/by/4.0/
// https://stackoverflow.com/questions/7008355/how-to-make-links-in-an-embedded-svg-file-open-in-the-main-window-not-in-a-sepa
digraph "Incoming email to @gnu.org" {
label="Incoming email to @gnu.org"
tooltip=" "
labelloc=t
rankdir=LR
compound=true
fontname="'Roboto', sans-serif"
graph[style=filled fillcolor=grey94]
node [style=filled fontname="'Roboto', sans-serif" tooltip=" "]
edge [fontname="'Roboto', sans-serif" tooltip=" "]
// this makes things more compact, but
// not quite as pretty imo
//node [shape="box" margin=".05"]
ranksep=".1"
subgraph cluster_eggs {
label="eggs.gnu.org"
eggsp0f [
target="_top"
URL="https://lcamtuf.coredump.cx/p0f3/"
label=<p0f>]
eximeggs [label=exim]
spamassassin [target="_top"
URL="https://spamassassin.apache.org/"
label=<SpamAssassin>
]
clamav [
target="_top"
URL="https://www.clamav.net/"
label=<ClamAV>
]
fail2ban [
target="_top"
URL="https://www.fail2ban.org"
label=<Fail2ban>
]
iptables [
target="_top"
URL="https://www.netfilter.org/projects/iptables/index.html"
label=<iptables>
]
subgraph cluster_linux {
target="_top"
URL="https://www.kernel.org/"
label=<Linux>
mod_iptables [label="ip_tables
module"
shape=box]
}
eximlogs [label="exim
log file"
shape=folder
]
}
subgraph cluster_fencepost {
label="fencepost.gnu.org"
eximfp [label=exim]
localfp [label="user
inbox
files"
shape=folder]
userprocfp [label="user
defined
processes"
]
}
subgraph cluster_lists {
target="_top"
URL="https://lists.gnu.org"
label=<lists.gnu.org>
eximlists [label=exim]
mailmanlists [
target="_top" URL="https://list.org/"
label=<GNU
Mailman>
]
}
subgraph cluster_rt {
label="rt.gnu.org"
eximrt [label=exim]
rtspam [label="spam
inbox
files"
shape=folder]
rt [
target="_top"
URL="https://bestpractical.com/request-tracker"
label=<Request
Tracker>]
}
//eximeggs -> eximfp [minlen=2]
eximeggs -> eximfp
eximeggs -> eggsp0f [dir=both color="black:black"]
eximeggs -> spamassassin [dir=both color="black:black"]
eximeggs -> clamav [dir=both color="black:black"]
internet [label="smtp
rcpt to:
*@gnu.org"
shape=plain
style=solid]
internet -> mod_iptables [constraint=false lhead=cluster_linux]
mod_iptables -> eximeggs [ltail=cluster_linux]
eximeggs -> eximlogs
fail2ban -> eximlogs [dir=back]
fail2ban -> iptables [constraint=false]
mod_iptables -> iptables [style=invis]
iptables -> mod_iptables [constraint=false]
eximfp -> localfp
eximfp -> userprocfp
eximfp -> eximfp [label="user
defined
forwards"]
//eximeggs -> eximlists [minlen=2]
eximeggs -> eximlists
eximlists -> mailmanlists
eximeggs -> eximrt
eximrt -> rtspam
eximrt -> rt
subgraph cluster_debbugs {
target="_top"
URL="https://debbugs.gnu.org"
label=<debbugs.gnu.org>
eximdebbugs [label=exim]
debbugs [
target="_top"
URL="https://en.wikipedia.org/wiki/Debbugs"
label=<debbugs>
]
}
eximdebbugs -> debbugs
eximlists -> debbugs [style=invis]
eximlists -> eximdebbugs [constraint=false]
//{ rank=same eximlists eximdebbugs }
}