digraph suphp {
margin=0;
size = "10,10";
rankdir=TB;

edge [fontsize=12, style=dotted, labelfloat=true, arrowsize=0.5];

{ rank=same;
client [label="Client", shape=polygon,sides=6,peripheries=2,style=filled];
apache [label="Apache", shape=Mdiamond];
mod_suphp [label="mod_suphp", shape=Mdiamond];
}

{ rank=same;
usr_sbin_suphp [label="/usr/sbin/suphp", shape=hexagon];
usr_bin_php_cgi [label="/usr/bin/php.cgi", shape=hexagon];
script_php [label="script.php", shape=record, width=.1, height=.4];
}

client -> apache [label="HTTP"];
apache -> mod_suphp [fontname="Times-Italic", label="internal call"];
mod_suphp -> usr_sbin_suphp [label="fork(); exec()"];

usr_bin_php_cgi -> usr_sbin_suphp [label="seteuid(); fork(); exec()", dir=back];
script_php -> usr_bin_php_cgi [label="open(); read()", dir=back];

script_php -> client [style=invis];

}


