Commit c27cafca authored by Pierre DAVID's avatar Pierre DAVID

Rename WebDNS to Netmagis.

parent c9bed146
Proposition d'évolutions de l'application WebDNS
Proposition d'évolutions de l'application Netmagis
Ce document a pour but de présenter les évolutions prévues de
l'application WebDNS (qui regroupe également les actuelles applications
l'application Netmagis (qui regroupe également les actuelles applications
topo et mac) dans les prochaines semaines et de prioriser ces
évolutions.
......@@ -36,7 +36,7 @@ topo et mac) dans les prochaines semaines et de prioriser ces
2- Affichage de l'adresse IP courante
Cette option est accessible depuis le bandeau de gauche
de WebDNS (lien "Où suis-je ?")
de Netmagis (lien "Où suis-je ?")
https://www-crc.u-strasbg.fr/applis/devdns/bin/accueil
Affichage de l'adresse du client Web
......@@ -95,7 +95,7 @@ topo et mac) dans les prochaines semaines et de prioriser ces
- l'application sera ouverte aux correspondants réseau
- les droits d'accès sur les vlans sont déduits des droits
d'accès sur les sous-réseaux IP associés (modèle de
droits de topo dérivé de WebDNS)
droits de topo dérivé de Netmagis)
Mécanisme :
- les modifications sont décrites dans la base de données
......@@ -169,7 +169,7 @@ topo et mac) dans les prochaines semaines et de prioriser ces
6- Fluidifier la navigation entre les différents composants
Actuellement, les applications WebDNS, topo et métro, mac, dhcp
Actuellement, les applications Netmagis, topo et métro, mac, dhcp
sont des modules séparés et non communicants.
La proposition consiste à simplifier l'interface utilisateur
......@@ -233,7 +233,7 @@ X- Ajout de l'équipement et du numéro de port dans la liste des
Statut :
- pas encore codé
- difficulté = facile, mais nécessite convergence WebDNS/Topo/Mac
- difficulté = facile, mais nécessite convergence Netmagis/Topo/Mac
(qui est difficile)
X- Import de machines à partir d'un fichier CSV
......@@ -286,7 +286,7 @@ X- Création d'un profil DHCP
X- Exploitation des logs
L'application génère des logs des modifications de WebDNS dans
L'application génère des logs des modifications de Netmagis dans
une table. Pour l'instant, pour lire ces logs, il faut utiliser
psql et faire des interrogations en SQL.
La proposition consiste à rendre ces logs visibles par les
......@@ -300,7 +300,7 @@ X- Convergence des logs
La mise en exploitation de topod, anaconf et la modification
des ports des équipements génèrent des informations de statut
qu'il faudrait faire converger avec le log de WebDNS.
qu'il faudrait faire converger avec le log de Netmagis.
Statut :
- pas encore codé
......
WebDNS standard file hierarchy
Netmagis standard file hierarchy
Common part for all components
------------------------------
This is the standard hierarchy for common files on nearly all
WebDNS servers.
Netmagis servers.
/usr/local/
.../etc/
.../webdns.conf
.../netmagis.conf
.../bin
.../webdns-config
.../netmagis-config
.../lib/
.../webdns/
.../netmagis/
.../libdns.tcl
.../pkgtcl/
.../pkgIndex.tcl [generated by Makefile]
......@@ -30,16 +30,16 @@ Database server
/usr/local/
[same standard hierarchy as for all machines]
.../lib/
.../webdns/
.../netmagis/
.../defaults
.../crontab.dns [example crontab]
.../upgrade/
.../sbin/
.../webdns-daily
.../webdns-backup
.../netmagis-daily
.../netmagis-backup
++++++++++++++ TOUS LES PROGRAMMES D'INSTALL
/var/db/
.../webdns/
.../netmagis/
.../backup/
*.dump [postgresql dump files]
......@@ -49,7 +49,7 @@ Web server
/usr/local/
[same standard hierarchy as for all machines]
.../lib/
.../webdns/
.../netmagis/
.../ps2pdf
.../tmpl/
.../fr/
......@@ -71,9 +71,9 @@ Web server
.../htg2html
.../htgtcl
.../www
.../webdns
.../netmagis
.../* [all CGI scripts]
.../css/ [symlink to lib/webdns/htg/models/defaults/css]
.../css/ [symlink to lib/netmagis/htg/models/defaults/css]
.../* [CSS files]
.../images/
.../* [logo, pictures]
......@@ -98,7 +98,7 @@ DNS server
/usr/local/
[same standard hierarchy as for all machines]
.../lib/
.../webdns/
.../netmagis/
.../defaults
.../crontab.bind [example crontab]
.../sbin/
......@@ -111,7 +111,7 @@ DHCP server
/usr/local/
[same standard hierarchy as for all machines]
.../lib/
.../webdns/
.../netmagis/
.../defaults
.../crontab.dhcp [example crontab]
.../sbin/
......@@ -124,7 +124,7 @@ SMTP relay server
/usr/local/
[same standard hierarchy as for all machines]
.../lib/
.../webdns/
.../netmagis/
.../defaults
.../crontab.relay [example crontab]
.../sbin/
......@@ -137,7 +137,7 @@ Topo server
/usr/local/
[same standard hierarchy as for all machines]
.../lib/
.../webdns/
.../netmagis/
.../topo/
.../anaconf
.../analyze
......@@ -154,12 +154,12 @@ Topo server
.../toposendd
.../topographd
.../var/
.../webdns/
.../netmagis/
.../eqvirt/
.../rancid/ [standard rancid base dir on FreeBSD]
/var/db/
.../webdns/
.../netmagis/
.../eqgen/
.../network.graph
......
......@@ -2,9 +2,9 @@ DESTDIR = /usr/local
TCLSH = /usr/local/bin/tclsh
SINSTALL = inst/install-script
SUBST = $(TCLSH) \
$(DESTDIR)/lib/webdns/libdns.tcl \
$(DESTDIR)/etc/webdns.conf \
$(DESTDIR)/bin/webdns-config
$(DESTDIR)/lib/netmagis/libdns.tcl \
$(DESTDIR)/etc/netmagis.conf \
$(DESTDIR)/bin/netmagis-config
# for www/htg/src
TCLCONF = /usr/local/lib/tcl8.6/tclConfig.sh
......
Application WebDNS
------------------
Netmagis Application
--------------------
Objectif
--------
L'objectif premier est de déléguer la gestion du DNS et de DHCP
d'un ensemble de domaines et de réseaux IPv4/IPv6 à des correspondants
réseau
Avec l'utilisation de WebDNS, il est également possible de :
- constituer le début d'un système d'information réseau.
- gérer les routages de messagerie d'un domaine
- gérer les exceptions dans le cadre de la mise en place de SMTP
authentifié sur un domaine
About
-----
Voir
- l'article présenté aux JRES 2003
Primary goal of the Netmagis application is to delegate DNS and
DHCP administration of some IPv4/v6 networks and domains to
users.
Netmagis is also the heart of a Network Information System. It
allows to:
- consult informations about a set of network equipments (map of
equipments, of VLANS, of IP networks)
- modify configuration of equipments: delegate VLAN assignment
to some users
- manage mail routing of a set of domains
- manage exceptions in mail routing
- manage exceptions in a SMTP authentified policy
For more information, see:
- JRES 2003 paper (in french)
http://2003.jres.org/actes/paper.144.pdf
- l'article présenté aux JRES 2005
- JRES 2005 paper (in french)
http://2005.jres.org/paper/82.pdf
- l'article présenté aux JRES 2009
- JRES 2009 paper (in french)
http://2009.jres.org/planning_files/article/pdf/124.pdf
Auteurs
Authors
-------
Pierre DAVID (pda@unistra.fr)
Jean BENOIT (jean@unistra.fr)
Sebastien BOGGIA (boggia@unistra.fr)
Version
-------
1.5
2.0
Site Web
Web Site
--------
http://webdns.u-strasbg.fr
http://www.netmagis.org /
Forge
-----
http://github.com/pdav/webdns
http://github.com/pdav/netmagis
......@@ -2,11 +2,11 @@ DESTDIR = /usr/local
TCLSH = /usr/local/bin/tclsh
SINSTALL = ../../inst/install-script
SUBST = $(TCLSH) \
$(DESTDIR)/lib/webdns/libdns.tcl \
$(DESTDIR)/etc/webdns.conf \
$(DESTDIR)/bin/webdns-config
$(DESTDIR)/lib/netmagis/libdns.tcl \
$(DESTDIR)/etc/netmagis.conf \
$(DESTDIR)/bin/netmagis-config
install:
@echo ">>> Making install in `pwd`"
mkdir -p $(DESTDIR)/bin
$(SINSTALL) -m 0755 $(SUBST) webdns-config $(DESTDIR)/bin
$(SINSTALL) -m 0755 $(SUBST) netmagis-config $(DESTDIR)/bin
......@@ -2,11 +2,11 @@ DESTDIR = /usr/local
TCLSH = /usr/local/bin/tclsh
SINSTALL = ../../inst/install-script
SUBST = $(TCLSH) \
$(DESTDIR)/lib/webdns/libdns.tcl \
$(DESTDIR)/etc/webdns.conf \
$(DESTDIR)/bin/webdns-config
$(DESTDIR)/lib/netmagis/libdns.tcl \
$(DESTDIR)/etc/netmagis.conf \
$(DESTDIR)/bin/netmagis-config
install:
@echo ">>> Making install in `pwd`"
mkdir -p $(DESTDIR)/etc
install -m 0644 webdns.conf $(DESTDIR)/etc/webdns.conf.sample
install -m 0644 netmagis.conf $(DESTDIR)/etc/netmagis.conf.sample
#
# Standard webdns.conf file
# Standard netmagis.conf file
#
##############################################################################
......@@ -16,9 +16,9 @@ macdbname mac
macdbuser dns
macdbpassword password-of-macdbuser
pkgtcl /usr/local/lib/webdns/pkgtcl
pkgtcl /usr/local/lib/netmagis/pkgtcl
msgsdir /usr/local/lib/webdns/msgs
msgsdir /usr/local/lib/netmagis/msgs
# just display my login name
whoami "id -u -n"
......@@ -29,9 +29,9 @@ debug no
# Web module
##############################################################################
templatedir /usr/local/lib/webdns/tmpl
templatedir /usr/local/lib/netmagis/tmpl
nologinfile /usr/local/etc/webdns.nologin
nologinfile /usr/local/etc/netmagis.nologin
# list of users who can bypass the nologin test, separated by one space
rootusers "pda jean"
......@@ -41,15 +41,15 @@ passwdurl "" # internal
neato /usr/local/bin/neato
dot /usr/local/bin/dot
ps2pdf /usr/local/lib/webdns/ps2pdf
ps2pdf /usr/local/lib/netmagis/ps2pdf
# empty string = localhost
topohost ""
topouser ""
# topo* keys are used also by the web and the topo modules
topobindir /usr/local/lib/webdns/topo
topograph /var/webdns/network.graph
topobindir /usr/local/lib/netmagis/topo
topograph /var/netmagis/network.graph
metrohost metro.mycompany.com
......@@ -73,8 +73,8 @@ fpingcmd /usr/local/sbin/fping %s
# takes a message on stdin and write it in the syslog
logger /usr/bin/logger -i -p local0.err -t topod
eqvirtdir /usr/local/var/webdns/eqvirt
eqgendir /var/webdns/eqgen
eqvirtdir /usr/local/var/netmagis/eqvirt
eqgendir /var/netmagis/eqgen
# check if router interfaces are declared in the DNS (yes/no)
checkrouterif no # not yet ready
......
......@@ -2,16 +2,16 @@ DESTDIR = /usr/local
TCLSH = /usr/local/bin/tclsh
SINSTALL = ../../inst/install-script
SUBST = $(TCLSH) \
$(DESTDIR)/lib/webdns/libdns.tcl \
$(DESTDIR)/etc/webdns.conf \
$(DESTDIR)/bin/webdns-config
$(DESTDIR)/lib/netmagis/libdns.tcl \
$(DESTDIR)/etc/netmagis.conf \
$(DESTDIR)/bin/netmagis-config
install:
@echo ">>> Making install in `pwd`"
mkdir -p $(DESTDIR)/lib/webdns
$(SINSTALL) -m 0644 $(SUBST) libdns.tcl $(DESTDIR)/lib/webdns
mkdir -p $(DESTDIR)/lib/webdns/pkgtcl
cd pkgtcl && make DESTDIR=$(DESTDIR)/lib/webdns/pkgtcl clean install
mkdir -p $(DESTDIR)/lib/webdns/msgs
tar cf - msgs | tar xvf - -C $(DESTDIR)/lib/webdns
mkdir -p $(DESTDIR)/lib/netmagis
$(SINSTALL) -m 0644 $(SUBST) libdns.tcl $(DESTDIR)/lib/netmagis
mkdir -p $(DESTDIR)/lib/netmagis/pkgtcl
cd pkgtcl && make DESTDIR=$(DESTDIR)/lib/netmagis/pkgtcl clean install
mkdir -p $(DESTDIR)/lib/netmagis/msgs
tar cf - msgs | tar xvf - -C $(DESTDIR)/lib/netmagis
#
# TCL library for WebDNS
# TCL library for Netmagis
#
#
# History
......@@ -32,7 +32,7 @@
#
proc read-local-conf-file {file} {
global webdnsconf
global netmagisconf
if {[catch {set fd [open "$file" "r"]} msg]} then {
puts stderr "Cannot open configuration file '$file'"
......@@ -45,9 +45,9 @@ proc read-local-conf-file {file} {
regsub {\s*$} $line {} line
if {$line ne ""} then {
if {[regexp {(\S+)\s+"(.*)"} $line m key val]} then {
set webdnsconf($key) $val
set netmagisconf($key) $val
} elseif {[regexp {(\S+)\s+(.*)} $line m key val]} then {
set webdnsconf($key) $val
set netmagisconf($key) $val
} else {
puts stderr "$file($lineno): unrecognized line $line"
set errors true
......@@ -76,10 +76,10 @@ proc read-local-conf-file {file} {
#
proc get-local-conf {key} {
global webdnsconf
global netmagisconf
if {[info exists webdnsconf($key)]} then {
set v $webdnsconf($key)
if {[info exists netmagisconf($key)]} then {
set v $netmagisconf($key)
} else {
set v ""
}
......@@ -339,14 +339,14 @@ array set libconf {
##############################################################################
# WebDNS application framework
# Netmagis application framework
##############################################################################
#
# WebDNS access class
# Netmagis access class
#
# This class is a simple way to initialize the whole context of all
# WebDNS programs (CGI scripts, daemons, command line utilities).
# Netmagis programs (CGI scripts, daemons, command line utilities).
#
# Methods:
# init-cgi
......@@ -392,7 +392,7 @@ array set libconf {
# History
# 2001/06/18 : pda : design
# 2002/12/26 : pda : update and usage
# 2003/05/13 : pda/jean : integration in webdns and auth class usage
# 2003/05/13 : pda/jean : integration in netmagis and auth class usage
# 2007/10/05 : pda/jean : adaptation to "authuser" and "authbase" objects
# 2007/10/26 : jean : add log
# 2010/10/25 : pda : add dnsconfig
......@@ -403,7 +403,7 @@ array set libconf {
#
snit::type ::dnscontext {
# WebDNS version
# Netmagis version
variable version "1.5"
# database handle
......@@ -430,7 +430,7 @@ snit::type ::dnscontext {
# HTML home page
variable homepage "accueil"
# in order to come back from a travel in the WebDNS application
# in order to come back from a travel in the Netmagis application
variable dnextprog ""
variable dnextargs ""
......@@ -601,7 +601,7 @@ snit::type ::dnscontext {
upvar $_tabuid tabuid
#
# Access to WebDNS database
# Access to Netmagis database
#
set conninfo [get-conninfo "dnsdb"]
......@@ -616,7 +616,7 @@ snit::type ::dnscontext {
#
set log [::webapp::log create %AUTO% \
-subsys webdns \
-subsys netmagis \
-method opened-postgresql \
-medium [list "db" $dbfd table global.log] \
]
......@@ -740,7 +740,7 @@ snit::type ::dnscontext {
# - URL is a local one (does not begin with "http://")
# - URL is external (begins with "http://")
# In the last case, don't add default arguments which are
# specific to WebDNS application.
# specific to Netmagis application.
#
if {! [regexp {^https?://} $path]} then {
......@@ -844,7 +844,7 @@ snit::type ::dnscontext {
###########################################################################
# Initialize access to WebDNS, for a CGI script
# Initialize access to Netmagis, for a CGI script
#
# Input:
# - module : current module we are in ("dns", "admin" or "topo")
......@@ -859,7 +859,7 @@ snit::type ::dnscontext {
# idcor, idgrp, present)
# Output:
# - return value: none
# - object d : WebDNS context
# - object d : Netmagis context
# - object $ah : access to authentication base
#
......@@ -1029,7 +1029,7 @@ snit::type ::dnscontext {
}
###########################################################################
# Initialize access to WebDNS, for an autonomous program (command
# Initialize access to Netmagis, for an autonomous program (command
# line utility, daemon, etc.)
#
# Input:
......@@ -1040,7 +1040,7 @@ snit::type ::dnscontext {
# idcor, idgrp, present)
# Output:
# - return value: error message or empty string
# - object d : WebDNS context
# - object d : Netmagis context
# - object $ah : access to authentication base
#
......@@ -1078,7 +1078,7 @@ snit::type ::dnscontext {
}
###########################################################################
# Ends access to WebDNS (CGI script or autonomous program)
# Ends access to Netmagis (CGI script or autonomous program)
#
# Input:
# - none
......@@ -1345,7 +1345,7 @@ snit::type ::dnscontext {
# Configuration parameters class
#
# This class is a simple way to access to configuration parameters
# of the WebDNS application.
# of the Netmagis application.
#
# Methods:
# - setdb $dbfd
......@@ -1682,7 +1682,7 @@ proc display-group {dbfd idgrp} {
} else {
set droitmac [mc "no"]
}
lappend lines [list DROIT [mc "WebDNS administration"] $admin]
lappend lines [list DROIT [mc "Netmagis administration"] $admin]
lappend lines [list DROIT [mc "SMTP authorization management"] $droitsmtp]
lappend lines [list DROIT [mc "TTL management"] $droitttl]
lappend lines [list DROIT [mc "MAC module access"] $droitmac]
......@@ -1970,7 +1970,7 @@ proc fermer-base {dbfd} {
#
# History
# 2000/07/26 : pda : design
# 2002/05/03 : pda/jean : use in webdns
# 2002/05/03 : pda/jean : use in netmagis
# 2002/05/06 : pda/jean : groups
# 2010/11/29 : pda : i18n
#
......@@ -2065,7 +2065,7 @@ proc read-user {dbfd login _tabuid _msg} {
$u destroy
#
# WebDNS specific characteristics
# Netmagis specific characteristics
#
set qlogin [::pgsql::quote $login]
......@@ -2085,7 +2085,7 @@ proc read-user {dbfd login _tabuid _msg} {
}
if {$tabuid(idcor) == -1} then {
set msg [mc "User '%s' is not in the WebDNS base" $login]
set msg [mc "User '%s' is not in the Netmagis base" $login]
return -1
}
......@@ -3972,7 +3972,7 @@ proc read-dhcp-profile {dbfd text} {
}
##############################################################################
# WebDNS standard HTML menus
# Netmagis standard HTML menus
##############################################################################
#
......
#
# WebDNS translation messages
# Netmagis translation messages
#
###############################################################################
......@@ -19,7 +19,7 @@
cfg:dnsupdateperiod:desc {DNS update period}
cfg:dnsupdateperiod:help {Duration between DNS zone generations on the DNS server (should be kept in sync with the associated CRON period)}
cfg:defuser:desc {Default user}
cfg:defuser:help {Default user is used in WebDNS command line programs, when the user's login is not found in the WebDNS database}
cfg:defuser:help {Default user is used in Netmagis command line programs, when the user's login is not found in the Netmagis database}
cfg:dhcp {DHCP parameters}
......
#
# WebDNS translation messages
# Netmagis translation messages
#
###############################################################################
......@@ -74,7 +74,7 @@
cfg:dnsupdateperiod:desc {Délai de mise à jour DNS}
cfg:dnsupdateperiod:help {Durée entre deux générations de zones DNS sur le serveur DNS (doit être identique à la valeur CRON correspondante)}
cfg:defuser:desc {Utilisateur par défaut}
cfg:defuser:help {L'utilisateur par défaut est utilisé dans les programmes WebDNS en ligne de commande lorsque le login de l'utilisateur n'existe pas dans la base WebDNS.}
cfg:defuser:help {L'utilisateur par défaut est utilisé dans les programmes Netmagis en ligne de commande lorsque le login de l'utilisateur n'existe pas dans la base Netmagis.}
cfg:dhcp {Paramètres DHCP}
......@@ -190,7 +190,7 @@
{Authentication base problem: %s} {Problème dans la base d'authentification : %s}
{User '%s' is not in the authentication base} {L'utilisateur '%s' n'est pas dans la base d'authentification}
{Found more than one entry for login '%s' in the authentication base} {Plus d'une entrée trouvée pour le login '%s' dans la base d'authentification}
{User '%s' is not in the WebDNS base} {L'utilisateur '%s' n'est pas dans la base de WebDNS}
{User '%s' is not in the Netmagis base} {L'utilisateur '%s' n'est pas dans la base de Netmagis}
{Invalid input} {Données invalides}
{Invalid input '%s'} {Données invalides '%s'}
{Cannot lock table(s) %1$s: %2$s} {Verrouillage impossible pour la/les table(s) %1$s : %2$s}
......@@ -312,7 +312,7 @@
{No profile} {Aucun profil}
{yes} {oui}
{no} {non}
{WebDNS administration} {Administration de WebDNS}
{Netmagis administration} {Administration de Netmagis}
{SMTP authorizations management} {Gestion des émetteurs SMTP}
{TTL management} {Gestion du TTL}
{MAC module access} {Accès au module MAC}
......
......@@ -37,7 +37,7 @@ set conf(etabl) {UM ESIATF INCONNU}
set conf(commu) {Enseignement Administration Recherche INCONNUE}
##############################################################################
# Liste du ou des groupes WebDNS ayant le droit d'administrer la base
# Liste du ou des groupes Netmagis ayant le droit d'administrer la base
set conf(admin) {sysadm}
......
......@@ -2,9 +2,9 @@ DESTDIR = /usr/local
TCLSH = /usr/local/bin/tclsh
SINSTALL = ../../inst/install-script
SUBST = $(TCLSH) \
$(DESTDIR)/lib/webdns/libdns.tcl \
$(DESTDIR)/etc/webdns.conf \
$(DESTDIR)/bin/webdns-config
$(DESTDIR)/lib/netmagis/libdns.tcl \
$(DESTDIR)/etc/netmagis.conf \
$(DESTDIR)/bin/netmagis-config
all:
@echo ">>> Making all in `pwd`"
......
......@@ -38,7 +38,7 @@ table <netsmtp> const { \
##############################################################################
# Mail :