ich hab zwar immer wieder in Python Programmiert, aber immer nur kleiner Sachen und dazwischen größere Pausen mit anderen Sprachen verbracht.
Nun will ich mich wieder mehr mit Python beschäftigen. FUSE und Netfilter.
Mein Problem nun:
Ich will Reguläre Ausdrücke Zeilenweise aus einer Textdatei Laden. Dies klappt auch so weit. Nur wenn ich die Reguläre Ausdrücke aus dieser Datei verwenden will gibts kein "matching" mehr. Also keiner der Ausdrücke ist passend. Wenn ich diese als String einfüge, also direkt in den Quellcode, dann funktioniert es.
Code: Alles auswählen
#! /usr/bin/env python
# -*- UTF8 -*-
import re
import ipqueue
f = open('/etc/l7-filter.reg', 'r')
regex = f.readlines()
f.close();
q = ipqueue.IPQ(ipqueue.IPQ_COPY_PACKET)
print "fileno is", q.fileno()
while 1:
ipqueue_send=False
t = q.read()
for reg in regex:
p = re.compile(reg.replace("\n", ""), re.IGNORECASE)
m = p.match(t[9])
if m:
print "Drop returned:", q.set_verdict(t[0], ipqueue.NF_DROP)
ipqueue_send=True
break
if ipqueue_send==False:
print "Accept returned:", q.set_verdict(t[0], ipqueue.NF_ACCEPT)
lg Richi