All pastes #39004 Raw Edit

cheek

public text v1 · immutable
#39004 ·published 2006-01-29 14:30 UTC
rendered paste body
\section{Refinement and Implementation}
	\subsection{First-Level Refinement}
		\frame
		{
			\frametitle{First-Level Refinement}
			Pseudocode Implementation
			\lstset{language=pascal,basicstyle=\tiny}
			\lstinputlisting{D:/acl.pseudo}
		}
		
	\subsection{Second-Level Refinement}
		\frame
		{
			\frametitle{Second-Level Refinement}
			Pseudocode Transfer 
			\begin{itemize}
	  		\item<1-> role account
		  		\begin{itemize}
		  			\item<2-> \lstinline|struct uid_t|
		  		\end{itemize}	  		
	  		\item<3-> commands 
	  			\begin{itemize}
		  			\item<4-> \lstinline|char *[]|
		  		\end{itemize}
		  	\item<5-> definiertes Interface := \lstinline|int accessOk(uid_t rname, char *cmd[]);|
  		\end{itemize}
		}

	\subsection{Functions}
		\frame
		{
			The missing three
			\begin{itemize}
  			\item<2-> Obtaining Location
  			\item<3-> parse ACL Records
  			\item<4-> Error Handling
		  \end{itemize}			
		}		
		
	\subsubsection{Obtaining Location}
		\frame
		{
			\frametitle{Obtaining Location}
			utmp File
			\begin{itemize}
	  		\item<1-4> user account
				\item<2-4> login terminal
				\item<3-4> login time
				\item<4-4> remotehost $|$ localhost
				\item<5-> (user,tty,time,host)
			\end{itemize}			
			
			\begin{itemize}
	  		\item<6->	Parse utmp File
	  		\item<7-> $\rightarrow$ 2 neue Probleme
		  		\begin{itemize}
		  		
		  			\item<8-> I Jeder Prozess kann utmp verändern? 
		  				\begin{itemize}
	  						\item<9-9> $\rightarrow$ utmp ist nicht Vertrauenswürdig
	  					\end{itemize}	
	  							
		  			\item<10-> II Entkoppelte Prozesse (Terminallos)
		  				\begin{itemize}
	  						\item<11-12> User kann sich mehrfach anmelden
								\item<12-12> $\rightarrow$ Prozess an Terminal binden
	  					\end{itemize}
	  					
		  			\item<13-> umtp nicht Vertrauenswürdig $\Longrightarrow$ Design
		  			\item<14-> Zugriff verweigern, wenn nicht *any* angegeben
		  		\end{itemize}	  		
  		\end{itemize}
		}
		
	\subsubsection{ACL Record}
		\frame
		{
			\frametitle{ACL Record}
			\begin{itemize}
	  		\item<1-6> \lstinline|role rname|
	  		\item<2-6> \lstinline|string user|
	  		\item<3-6> \lstinline|string location|
	  		\item<4-6> \lstinline|string timeofday|
	  		\item<5-6> \lstinline|string commands[]|
	  		\item<6-6> \lstinline|int numcommands|
	  		\item<7->
			\lstset{language=pascal,basicstyle=\tiny}
			\lstinputlisting{D:/record.pseudo}
			\end{itemize}
		}
		
	\subsubsection{Error Handling}
		\frame
		{
		
		}