# absentd configuration file
#
# Absent configurations look somewhat like apache virtual host configs;
# each <port>...</port> section represents a listener on the given port.
# this way, you can use a single absent daemon to front-end many internal
# services.  we've never found any other internal services we could conceive
# of wanting to do this for, but we have a habit of overgeneralizing our
# software.  sorry.  
# Configuration keywords in this file are case-insensitive, while their
# arguments (everything to the right of the '=') tend to be case-preserving.
# the config file parser eats whitespace at the beginning of lines and around
# '='.
#
# Port 443 is the default HTTP-over-SSL port.  you'll almost always want
# an entry for it.
<port 443>
 #
 # keyfile is the location of the shared secret used to authenticate control 
 # messages.  must be the same key as in the KeyFile value in the pushweb
 # configuration file
 KeyFile=/usr/local/absent/etc/MACkey
 #
 # controlport is the port on which absentd will listen for control connections
 # from pushweb; you'll want to make sure TCP packets destined for this port
 # can pass outbound through your firewall.
 ControlPort=4431
 #
 # the PushwebPort is the base port on which pushweb will "call back" to absent
 # with a connection that'll be used to carry data.  again, this needs
 # to pass through your firewall.
 PushwebPort = 4500
 #
 # the local hostname on which the above ports are located.  this isn't
 # as silly as it first seems.  besides providing some resource savings
 # on multihomed hosts, if you like you can have absent bind on a private
 # interface with its own wire through your firewall.
 absenthost = absent.yoyodyne.com
 #
 # external name which resolves to the IP of your internal pushweb host;
 # this is just done so the daemon can do double-reverse DNS on the incoming
 # connections.  If this isn't in the DNS (as it won't be most places), you
 # could add it to /etc/hosts on absent.
 PushwebHost=pushweb.yoyodyne.com
 #
 # This is the host on which the port in the <Port ... > is bound.  see the
 # note about AbsentHost for an explanation of why bother; this is the
 # "outward" face of absent (as opposed to the "inward" face, absenthost
 ClientHost = absent.yoyodyne.com
 #
 # how frequently (in seconds) "ping" messages will be sent along the
 # control channel to ensure it's alive.  if your firewall likes to tear
 # down long-lived connections, set this to something smaller than the
 # frequently with which connections are reaped.  higher values for
 # this option will reduce traffic on the control channel, but
 # increase the time required to detect a lost control channel when
 # absent is quiescent.
 PingFreq = 180
 #
 # how long (in seconds) to allow between pings and replies before
 # assuming a dead control channel.
 PingTimeOut=15
 #
 # how long, in seconds, to wait on a silent client connection before
 # giving up the connection.  the higher this is, the more vulnerable
 # absent is to "slow-drip" denial of service attacks.
 ClientTimeOut=60
 # 
 # should we insist on PTR records for clients?  if 1, absent will
 # throw away a connection if it can't obtain the name associated with
 # a client's address.  this is almost NEVER a good idea, especially
 # if you've got travelling users.  don't set it unless you're
 # ABSOLUTELY positive your security policy requires it.  it provides
 # no appreciable gain in security.
 Paranoid=0
 #
 # Max active clients this daemon will serve at once; once MaxClients
 # connections have arrived, absentd will wait for someone to die
 # before accept()ing a new connection. 
 MaxClients=256
 #
 # size of the buffer between the client and pushweb.  this is  just a
 # tuning variable, and probably actually shouldn't be  much more than
 # the MTU of the network you're on.   however, absent will sensibly
 # buffer data up to this size to make up somewhat for speed
 # differences between its two sides, so you might want to make this big.
 # bear in mind, though, that absent statically allocates this.  You
 # will ALWAYS use at least MaxClients * BuffSize bytes of memory that
 # the swapper tends to stay away from while running absentd.
 BuffSize=32767
 #
 # user and group who should run absent.  besides being able to read the
 # KeyFile, this user should be TOTALLY unprivileged.  DO NOT USE ROOT
 # HERE.  everyone will point and laugh at you if you do.
 User=wnobody
 Group=wnobody
</port>
