petites modifs pour le greylisting qui est maintenant oprationel

darcs-hash:20051123210943-4ec08-6f15a8304951121c5869a0389170ba4cb3df1bd7.gz
This commit is contained in:
chove 2005-11-23 22:09:43 +01:00
parent c21e75fea8
commit 3d3f114ed2
3 changed files with 35 additions and 11 deletions

View file

@ -210,7 +210,7 @@ class crans_ldap:
'club': [ 'nom', 'chbre' ] }
# Champs de recherche pour la recherche manuelle (en plus de la recherche auto)
non_auto_search_champs = { 'adherent': [ 'etudes', 'paiement', 'carteEtudiant', 'aid' , 'postalAddress', 'historique' ,'blacklist', 'droits', 'uidNumber', 'uid', 'info', 'solde' , 'controle' ], \
non_auto_search_champs = { 'adherent': [ 'etudes', 'paiement', 'carteEtudiant', 'aid' , 'postalAddress', 'historique' ,'blacklist', 'droits', 'uidNumber', 'uid', 'info', 'solde' , 'controle' , 'contourneGreylist' ], \
'machine': [ 'mid' , 'ipsec', 'historique', 'blacklist' , 'puissance', 'canal', 'portTCPin', 'portTCPout', 'portUDPin', 'portUDPout', 'prise' , 'info', 'exempt' ] ,
'club': [ 'cid' , 'responsable', 'paiement', 'historique', 'blacklist', 'mailAlias', 'info', 'controle' ] }
@ -884,9 +884,13 @@ class base_classes_crans(crans_ldap):
valeur_initiale = 'N/A'
else:
valeur_initiale = self._init_data[champ][0]
if not self._data.get(champ,[]):
valeur_finale = 'N/A'
else:
valeur_finale = self._data[champ][0]
modif[modif.index(champ)] = '%s (%s -> %s)' % (champ,
valeur_initiale,
self._data[champ][0])
valeur_finale)
# Formate les entrées de l'historique de la forme champ+diff-diff
for champ in ['droits', 'controle', 'paiement', 'carteEtudiant', 'mailAlias', 'hostAlias', 'exempt']:
@ -1203,20 +1207,35 @@ class base_proprietaire(base_classes_crans):
def contourneGreylist(self,contourneGreylist=None):
""" Retourne ou change la greylist pour le compte
OK : contourne la greyliste
NOK : ne contourne pas la greyliste """
True : contourne le GreyListing
False :ne contourne pas le greylisting """
# Pour postfix il faut retourner :
# OK : contourne la greyliste
# cf. man 5 access
# si l'adhérent n'a pas de compte, on lève une exeption
if not self.compte():
raise NotImplementedError, u"L'adhérent na pas de compte"
elif contourneGreylist==None:
return self._data.get('contourneGreylist',['NOK'])[0]
# tente de modifier la valeur
if contourneGreylist==None:
pass
elif contourneGreylist not in ['OK','NOK']:
raise ValueError, u"contourneGreylist : il faut fournir OK/NOK comme argument"
elif contourneGreylist == True:
self._set('contourneGreylist',['OK'])
elif contourneGreylist == False:
self._set('contourneGreylist',[])
else:
self._set('contourneGreylist',[contourneGreylist])
return contourneGreylist
raise ValueError, u"contourneGreylist prend un booléen comme argument"
# renvoie la valeur trouvée dans la base
if self._data.get('contourneGreylist',[]) == []:
return False
else:
return True
def home(self):
""" Retourne le home de l'adhérent """