\section{Univention System Setup event registration}

Any necessary changes will be made for standard system features of a
\ucsUCS{} system when a system feature is changed. For local
extensions there is the possibility of storing shell scripts, which
are then run by \ucsUSS{} when system features are changed.

Scripts in the following directories are run before or after the
changing of a system feature in alphabetical order: 

\begin{longtable}{|p{.6\textwidth}|p{.3\textwidth}|}
\hline
 /var/lib/univention-system-setup/hostname.pre & Host name\\
\hline
 /var/lib/univention-system-setup/hostname.post & Host name \\
\hline
 /var/lib/univention-system-setup/domainname.pre & Domain name \\ 
\hline
 /var/lib/univention-system-setup/domainname.post & Domain name  \\ 
\hline
 /var/lib/univention-system-setup/ldapbase.pre & LDAP base \\ 
\hline
 /var/lib/univention-system-setup/ldapbase.post & LDAP base \\ 
\hline
 /var/lib/univention-system-setup/windowsdomain.pre & Windows domain \\ 
\hline
 /var/lib/univention-system-setup/windowsdomain.post & Windows domain \\ 
\hline
 /var/lib/univention-system-setup/interfaces.post & Network interface settings\\ 
\hline
 /var/lib/univention-system-setup/gateway.post & Network gateway\\ 
\hline
 /var/lib/univention-setup/nameserver.post & Name server \\ 
\hline
 /var/lib/univention-setup/dnsforwarder.post & DNS forwarder \\ 
\hline
 /var/lib/univention-setup/httpproxy.post & HTTP proxy \\ 
\hline
\end{longtable}

Scripts with file names which end in \emph{pre} are run before the
change is adopted, and scripts with \emph{post} afterwards. The file
names of the scripts must not include any additional full stops.
 
For the respective shell script the old value is taken as the first
and the new value as the second parameter. For some module several
values must be transferred to the scripts. These are summarised to one
value in a special syntax.

The syntax for network interfaces is:

\begin{verbatim}
#DEVICE-IP-NETWORK-NETMASK(..)
\end{verbatim}

For example, if the user changes the IP address of the first network
card \emph{eth0} from \emph{10.200.3.100} to \emph{10.200.3.200}
whilst keeping the network properties the same, the parameters
\emph{\#eth0-10.200.3.100-10.200.100.0-255.255.255} and
\emph{\#eth0-10.200.3.200-10.200.100.0-255.255.255} would be
transferred to the shell script.

The syntax for forwarders and name servers is: 
\begin{verbatim}
#SERVER1#SERVER2#SERVER3
\end{verbatim}

For example, if two name servers are configured for one system, the
value \emph{\#nameserver1.firma.com\#nameserver2.firma.com} would be
transferred to the shell script.
