[gestion/*.py] Ré-encodage de certains scripts en UTF-8

Ignore-this: dafa22ed56eaf0d816fd089e42672eb5

darcs-hash:20090309212124-0445d-09ac8ae4052b6f333706be1baa1c7f4d94455fd5.gz
This commit is contained in:
Stephane Glondu 2009-03-09 22:21:24 +01:00
parent 7addc503a8
commit cc31727b60
21 changed files with 1351 additions and 1351 deletions

View file

@ -1,9 +1,9 @@
#! /usr/bin/env python
# -*- coding: iso-8859-15 -*-
# -*- coding: utf-8 -*-
# Serveur SSL qui renvoie la MAC correspondant à une IP
# Ce serveur est utilisé sur Nectaris par les bornes wifi pour faire
# les requêtes ARP.
# Serveur SSL qui renvoie la MAC correspondant à une IP
# Ce serveur est utilisé sur Nectaris par les bornes wifi pour faire
# les requêtes ARP.
# Lancement : twistd -n -y arp.py --pidfile=/var/run/arp.pid
# Pas de -n pour qu'il passe en fond
@ -29,18 +29,18 @@ import re
class ServerContextFactory(ContextFactory):
def getContext(self):
"""Création d'un contexte SSL côté serveur."""
"""Création d'un contexte SSL côté serveur."""
ctx = SSL.Context(SSL.SSLv23_METHOD)
ctx.use_certificate_file('/etc/ssl/certs/nectaris.pem')
ctx.use_privatekey_file('/etc/ssl/private/nectaris.pem')
return ctx
class ARPProtocol(basic.LineReceiver):
"""Protocole de communication pour récupérer une adresse MAC.
"""Protocole de communication pour récupérer une adresse MAC.
Chaque lignee reçue contient une adresse IP et le serveur répond
Chaque lignee reçue contient une adresse IP et le serveur répond
avec l'adresse MAC correspondante ou avec `unknown' si celle-ci
est inconnue (ou non autorisée).
est inconnue (ou non autorisée).
"""
def lineReceived(self, IP):
self.factory.getMac(IP
@ -51,7 +51,7 @@ class ARPProtocol(basic.LineReceiver):
def answerMac(self, m):
"""Renvoie au client la bonne adresse MAC.
`m' peut être None.
`m' peut être None.
"""
if m:
return self.transport.write(str(m) + "\r\n")
@ -59,7 +59,7 @@ class ARPProtocol(basic.LineReceiver):
return self.transport.write("unknown\r\n")
class ARPFactory(protocol.ServerFactory):
"""Backend du serveur. Effectue la résolution IP/MAC."""
"""Backend du serveur. Effectue la résolution IP/MAC."""
protocol = ARPProtocol
def __init__(self, network='0.0.0.0/0'):
@ -70,26 +70,26 @@ class ARPFactory(protocol.ServerFactory):
return defer.succeed(self._getMac(IP))
def _getMac(self, IP):
"""Fonction réelle, synchrone, qui obtient l'adresse MAC."""
"""Fonction réelle, synchrone, qui obtient l'adresse MAC."""
try:
if AddrInNet(IP, self.network):
results = self.ldap.search('ip=%s' % IP)['machine']
if results:
# On a au moins un résultat, on retourne le premier
# On a au moins un résultat, on retourne le premier
return results[0].mac().strip()
else:
# On a rien
return None
else:
# L'IP n'est pas autorisée
# L'IP n'est pas autorisée
return None
except ValueError:
# A priori, ce n'était pas une IP
# A priori, ce n'était pas une IP
return None
# Corps du programme
# On écoute sur le port 5243 et on ne répond qu'aux requêtes concernant le
# sous-réseau wifi
# On écoute sur le port 5243 et on ne répond qu'aux requêtes concernant le
# sous-réseau wifi
application = service.Application('arp')
factory = ARPFactory('138.231.148.0/21')
# Remplacer SSL par TCP pour ne pas utiliser SSL et virer ServerContextFactory