Left Up Right Nisserver mit mehreren Typen von Maps

Bemerkungen zur Implementierung und weitere Ideen

Zu den internen Strukturen:

Hier läuft die Suche zweistufig, erst die Domain, dann die Map. Eine Hash-Tabelle (Domainname,Mapname) -> Map ist sicher schneller (fällt mir e ein, wo ich fertig bin)

Zur Adabas-Datenbankanbindung

Es ist durchaus denkbar, daß verschiedene Domains auch in verschiedenen SERVERDBs sind. Dies ist hier aber noch nicht eingebaut.
Die Klasse Adabasconnection müßte hierzu erweitert werden und eine Verwaltung für mehrere Instanzen gebaut werden.

Mehrere Maps greifen auf die selbe Relation zu, man denke nur an passwd.byname und passwd.byuid. In der Datenbank wird dis durch verschiedene Indices realisiert.

Zur rpc-Schnittstelle

Beim Neubau würde ich sie so generieren:
cp /usr/include/rpcsvc/yp.x .
rpcgen yp.x 
rpcgen -Ss /usr/include/rpcsvc/yp.x > yp_server.c
Torsten Kukuk hat aber das yp.h aufgeräumt, auf den zweiten blick hat er hauptsächlich die ifdef-Alternativen sortiert Alle rpc generierten Dateien wurden verbessert. Daher werden sie übernommen.

weitere Ideen

firstkey und nextkey - Methoden mit Parameter präfix erweitern, wo der erste Satz zurückgeliefert wird, dessen key nicht mit dem Präfix beginnt. Müssen die YP_??? in der Map stehen ? YP_MASTER könnte ja auch in der Konfigurationsdatei stehen.

Eine Alternative für firstkey und nextkey wäre ein Iterator, der auf in der Dmap-Schnittstelle.


Rudolf Weber Informatik und Netzwerkverein Ravensburg e.V