[procmail] startende lege regel matchen in body

Pagina: 1
Acties:

  • usr-local-dick
  • Registratie: September 2001
  • Niet online
Hoi

Ik ben aan het testen met integrit, een soort local IDS, op mijn debian machines.
Dit checkt allerlei dingen van belangrijke files en mailt een rapport.
Als ik alles op zijn plaats heb en er is niets aan mijn systeem veranderd bevat de body van deze mail nog steeds de volgende drie regels:

----

integrit: current-state db md5sum --------------
integrit: 05fd2f3eb70fc4a4ba56ac282dbfc842 /var/lib/integrit/current.cdb
----

Let op de eerste regel is dus leeg.

Omdat ik deze berichten niet iedere ochtend wil lezen (zeker niet van tig servers ;))wil ik mbv procmail alle mail met een body zoals deze laten filteren en in een logfiles mailbox laten stoppen.
Het enige dat anders mag zijn is de checksum. Ik heb nu het volgende gebakken:
code:
1
2
3
4
5
6
7
8
:0
* ^Subject: \\[integrit\] report on changes in the filesystem
{
   :0 B
   * ^integrit: .* /var/lib/integrit/current.cdb
   * ^integrit: current-state db md5sum --------------
   $HOME/mail/logfiles/integrit
}


Maar nu worden ook bodies zoals:

----


changed: /etc/integrit m(20031110-141744:20031110-142359) c(20031110-141744:20031110-142359)
changed: /etc/integrit/integrit.conf
s(6252271600bc1ec71559efe5ec6191e4cc16943c:a72dcaa24542cb5bbed65417b5a44d3756e67cb3)
changed: /etc/integrit/integrit.conf i(15158:15155) m(20031110-141744:20031110-142359)
c(20031110-141744:20031110-142359)
changed: /root m(20031110-141744:20031110-142359) c(20031110-141744:20031110-142359)
missing: /dev/ptmx p(666) u(0) g(5) z(0) m(20031110-142053)
integrit: current-state db md5sum --------------
integrit: f72e043810cb4ca2d56fd081c4049e12 /var/lib/integrit/current.cdb
----

gematched. Die wil ik nou juist wel lezen :(

Hoe kan ik in procmail aangeven dat hij precies de 3 eerder genoemde regels matched, en dus ook die lege eerste regel meeneemt?
PS ben geen noob dus heb al de usual docs geraadpleegd...

  • GiLuX
  • Registratie: Juni 1999
  • Laatst online: 12-11-2025
ik snap niet waarom je die 2 regels omdraait?
wellicht een typfout?
volgens mij kan je ook niet vrolijk een 2e expressie beginnen dus denk ik eerder aan:
code:
1
2
3
4
5
6
7
8
:0
* ^Subject: \\[integrit\] report on changes in the filesystem
{
   :0 B
   * ^.*$integrit: current-state db md5sum -------------.*$integrit: .* /var/lib/integrit/current.cdb

   $HOME/mail/logfiles/integrit
}


oftewel:

begin van regel "^"
gevolgd door alles behalve een newline ".*"
gevolgd door een newline "$" (want regel is leeg zeg je)
gevolgs door regel 2 "integrit: current-state db md5sum -------------"
gevolgd door alles behalve een newline ".*"
gevolgd door een newline "$"
gevolgd door 3e regel "integrit: "
gevolgd door whatever je checksum is ".*"
gevolgd door rest van de regel "/var/lib/integrit/current.cdb"

ik vindt trouwens raar dat jouw expressie alles zou matchen...?

"I disagree with what you are saying, but I will defend to the death your right to say it." -- not clear who


  • usr-local-dick
  • Registratie: September 2001
  • Niet online
ik snap niet waarom je die 2 regels omdraait?
wellicht een typfout?
yep typefout :)
volgens mij kan je ook niet vrolijk een 2e expressie beginnen dus denk ik eerder aan:
code:
1
2
3
4
5
6
7
8
:0
* ^Subject: \\[integrit\] report on changes in the filesystem
{
   :0 B
   * ^.*$integrit: current-state db md5sum -------------.*$integrit: .* /var/lib/integrit/current.cdb

   $HOME/mail/logfiles/integrit
}


oftewel:

begin van regel "^"
gevolgd door alles behalve een newline ".*"
gevolgd door een newline "$" (want regel is leeg zeg je)
gevolgs door regel 2 "integrit: current-state db md5sum -------------"
gevolgd door alles behalve een newline ".*"
gevolgd door een newline "$"
gevolgd door 3e regel "integrit: "
gevolgd door whatever je checksum is ".*"
gevolgd door rest van de regel "/var/lib/integrit/current.cdb"
Dit werkt, alleen als er nu nog meer regels na de current.cdb komen matchen die ook...

Heb net al geprobeerd een $ op het eind te zetten maar dat werkt nie...

  • wica
  • Registratie: Februari 2002
  • Laatst online: 14-01 16:59

wica

De duivel jacht op me

procmail link
En dan even kijken bij "Interesting and Useful Links"
Staan zeer goede en breikbare voorbeelden bij

RFC | The Linux Document Project | gentoo.


  • usr-local-dick
  • Registratie: September 2001
  • Niet online
OK het volgende lijkt wel te werken:
code:
1
* ^^.*$integrit: current-state db md5sum -------------.*$integrit: .* /var/lib/integrit/current.cdb.*$^


Er moest ook nog een ^ aan het begin, zodat ie echt aan het begin van de tekst een lege regel matcht.
Thanks :)

  • bartvb
  • Registratie: Oktober 1999
  • Laatst online: 05-01 14:41
Eeeehm, is het niet een heel stuk handiger om Integrit even aan te passen zodat deze gewoon niets mail als er niets veranderd is? ;)

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 16:25

curry684

left part of the evil twins

Procmail configuratie heeft weinig van doen met Programming & Webscripting :z

Op naar Non-Windows Operating Systems :P

Professionele website nodig?

Pagina: 1