You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by "Stefano Bagnara (JIRA)" <se...@james.apache.org> on 2007/08/14 15:51:31 UTC

[jira] Created: (JSPF-53) Missing support for SPF type and IllegalStateException checking a gmail account.

Missing support for SPF type and IllegalStateException checking a gmail account.
--------------------------------------------------------------------------------

                 Key: JSPF-53
                 URL: https://issues.apache.org/jira/browse/JSPF-53
             Project: jSPF
          Issue Type: Bug
    Affects Versions: 0.9b4
            Reporter: Stefano Bagnara
            Assignee: Stefano Bagnara
             Fix For: 0.9.5


Here is the message wrote by Michael Kulovits from the mailing list:
----------------------------------------------------
i've got a problem with jspf-0.9b4 when trying to check a mail whose domain uses the redirect modifier. for instance gmail uses redirect to point to _spf.google.com. it would produce IllegalStateExceptions.

is this a bug or is it my mistake?

i'm not running james but solely the jspf-lib inside my own server process. this is how i invoke the spf check:

Logger logger = new Log4JLogger( org.apache.log4j.Logger.getLogger(this.getClass()) );
DNSService dns = new DNSServiceXBillImpl(logger);
SPF spf = new SPF( dns, logger);
SPFResult spfResult = spf.checkSPF(
    serverIp, returnPath, serverHostname );

and this is an excerpt from the logs:


--------------------------------------------------------------------------------------------------------------------------------------------
15:37:05,963 INFO  [SpfCheck] Perfoming SPF check on CheckableMail:12364:null
15:37:05,971 DEBUG [termsfactory] Add following class as known mechanismn: org.apache.james.jspf.terms.AllMechanism
15:37:05,972 DEBUG [termsfactory] Add following class as known mechanismn: org.apache.james.jspf.terms.AMechanism
15:37:05,972 DEBUG [termsfactory] Add following class as known mechanismn: org.apache.james.jspf.terms.ExistsMechanism
15:37:05,972 DEBUG [termsfactory] Add following class as known mechanismn: org.apache.james.jspf.terms.IncludeMechanism
15:37:05,972 DEBUG [termsfactory] Add following class as known mechanismn: org.apache.james.jspf.terms.IP4Mechanism
15:37:05,972 DEBUG [termsfactory] Add following class as known mechanismn: org.apache.james.jspf.terms.IP6Mechanism
15:37:05,972 DEBUG [termsfactory] Add following class as known mechanismn: org.apache.james.jspf.terms.MXMechanism
15:37:05,972 DEBUG [termsfactory] Add following class as known mechanismn: org.apache.james.jspf.terms.PTRMechanism
15:37:05,979 DEBUG [termsfactory] Add following class as known modifier: org.apache.james.jspf.terms.ExpModifier
15:37:05,979 DEBUG [termsfactory] Add following class as known modifier: org.apache.james.jspf.terms.RedirectModifier
15:37:05,979 DEBUG [termsfactory] Add following class as known modifier: org.apache.james.jspf.terms.UnknownModifier
15:37:05,985 DEBUG [parser] Parsing catch group positions: Modifiers[1] Qualifier[9] Mechanism[10]
15:37:05,985 DEBUG [parser] 0) null
15:37:05,985 DEBUG [parser] 1) null
15:37:05,985 DEBUG [parser] 2) [eE][xX][pP]\=((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)))
15:37:05,985 DEBUG [parser] 3) [eE][xX][pP]\=((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)))
15:37:05,985 DEBUG [parser] 4) [rR][eE][dD][iI][rR][eE][cC][tT]\=((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)))
15:37:05,986 DEBUG [parser] 5) [rR][eE][dD][iI][rR][eE][cC][tT]\=((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)))
15:37:05,986 DEBUG [parser] 6) ([a-zA-Z]{1}[A-Za-z0-9\-\_\.]*)\=((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*)
15:37:05,986 DEBUG [parser] 7) ([a-zA-Z]{1}[A-Za-z0-9\-\_\.]*)\=((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*)
15:37:05,986 DEBUG [parser] 8) ([a-zA-Z]{1}[A-Za-z0-9\-\_\.]*)\=((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*)
15:37:05,986 DEBUG [parser] 9) null
15:37:05,986 DEBUG [parser] 10) null
15:37:05,986 DEBUG [parser] 11) [aA][lL][lL]
15:37:05,986 DEBUG [parser] 12) [aA](?:\:((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-))))?(?:(?:/(\d+))?(?://(\d+))?)?
15:37:05,986 DEBUG [parser] 13) [aA](?:\:((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-))))?(?:(?:/(\d+))?(?://(\d+))?)?
15:37:05,987 DEBUG [parser] 14) [aA](?:\:((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-))))?(?:(?:/(\d+))?(?://(\d+))?)?
15:37:05,987 DEBUG [parser] 15) [aA](?:\:((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-))))?(?:(?:/(\d+))?(?://(\d+))?)?
15:37:05,987 DEBUG [parser] 16) [eE][xX][iI][sS][tT][sS]\:((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)))
15:37:05,987 DEBUG [parser] 17) [eE][xX][iI][sS][tT][sS]\:((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)))
15:37:05,987 DEBUG [parser] 18) [iI][nN][cC][lL][uU][dD][eE]\:((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)))
15:37:05,987 DEBUG [parser] 19) [iI][nN][cC][lL][uU][dD][eE]\:((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)))
15:37:05,987 DEBUG [parser] 20) [iI][pP][4]\:([0-9.]+)(?:/(\d+))?
15:37:05,987 DEBUG [parser] 21) [iI][pP][4]\:([0-9.]+)(?:/(\d+))?
15:37:05,988 DEBUG [parser] 22) [iI][pP][4]\:([0-9.]+)(?:/(\d+))?
15:37:05,988 DEBUG [parser] 23) [iI][pP][6]\:([0-9A-Fa-f\:\.]+)(?:/(\d+))?
15:37:05,988 DEBUG [parser] 24) [iI][pP][6]\:([0-9A-Fa-f\:\.]+)(?:/(\d+))?
15:37:05,988 DEBUG [parser] 25) [iI][pP][6]\:([0-9A-Fa-f\:\.]+)(?:/(\d+))?
15:37:05,988 DEBUG [parser] 26) [mM][xX](?:\:((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-))))?(?:(?:/(\d+))?(?://(\d+))?)?
15:37:05,988 DEBUG [parser] 27) [mM][xX](?:\:((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-))))?(?:(?:/(\d+))?(?://(\d+))?)?
15:37:05,988 DEBUG [parser] 28) [mM][xX](?:\:((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-))))?(?:(?:/(\d+))?(?://(\d+))?)?
15:37:05,988 DEBUG [parser] 29) [mM][xX](?:\:((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-))))?(?:(?:/(\d+))?(?://(\d+))?)?
15:37:05,988 DEBUG [parser] 30) [pP][tT][rR](?:\:((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-))))?
15:37:05,989 DEBUG [parser] 31) [pP][tT][rR](?:\:((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-))))?
15:37:05,989 DEBUG [SpfCheck] Start SPF-Record lookup for : gmail.com
15:37:05,989 DEBUG [SpfCheck] Found 0 SPF-Records
15:37:05,990 DEBUG [SpfCheck] Start TXT-Record lookup for : gmail.com
15:37:05,990 DEBUG [SpfCheck] Found 1 TXT-Records
15:37:05,990 DEBUG [parser] Start parsing SPF-Record: v=spf1 redirect=_spf.google.com
15:37:05,994 ERROR [SpfCheck] Unexpected error creating term: Unexpected error adding dependencies to term: Illegal argument invoking enabled service: interface org.apache.james.jspf.wiring.SPFCheckEnabled
java.lang.IllegalStateException: Unexpected error creating term: Unexpected error adding dependencies to term: Illegal argument invoking enabled service: interface org.apache.james.jspf.wiring.SPFCheckEnabled
        at org.apache.james.jspf.parser.DefaultSPF1Parser.lookupAndCreateTerm(DefaultSPF1Parser.java:343)
        at org.apache.james.jspf.parser.DefaultSPF1Parser.parse(DefaultSPF1Parser.java:288)
        at org.apache.james.jspf.policies.ParseRecordPolicy.getSPFRecordPostFilter(ParseRecordPolicy.java:44)
        at org.apache.james.jspf.policies.AbstractNestedPolicy.getSPFRecord(AbstractNestedPolicy.java:46)
        at org.apache.james.jspf.policies.AbstractNestedPolicy.getSPFRecord(AbstractNestedPolicy.java:42)
        at org.apache.james.jspf.policies.AbstractNestedPolicy.getSPFRecord(AbstractNestedPolicy.java:42)
        at org.apache.james.jspf.policies.AbstractNestedPolicy.getSPFRecord(AbstractNestedPolicy.java:42)
        at org.apache.james.jspf.policies.AbstractNestedPolicy.getSPFRecord(AbstractNestedPolicy.java:42)
        at org.apache.james.jspf.policies.ChainPolicy.getSPFRecord(ChainPolicy.java:61)
        at org.apache.james.jspf.SPF.checkSPF(SPF.java:165)
        at org.apache.james.jspf.SPF.checkSPF(SPF.java:134)
        at com.emarsys.modules.serverchecks.mail.SpfCheck.performSpfCheck(SpfCheck.java:183)
        at com.emarsys.modules.serverchecks.mail.SpfCheck.check(SpfCheck.java:124)
        at com.emarsys.modules.serverchecks.mail.SpfCheck.check(SpfCheck.java:60)
        at com.emarsys.modules.serverchecks.toolkit.AbstractServerCheckable.check(AbstractServerCheckable.java:34)
        at com.emarsys.modules.serverchecks.entity.ServerCheck.execute(ServerCheck.java:141)
        at com.emarsys.services.serverchecks.ServerCheckServiceMBean.executeNextCheck(ServerCheckServiceMBean.java:76)
        at com.emarsys.services.serverchecks.ServerCheckServiceMBean.trigger(ServerCheckServiceMBean.java:48)
        at com.emarsys.services.ScheduledService$ServiceTrigger.run(ScheduledService.java:166)
15:37:05,996 INFO  [SpfCheck] [ipAddress=66.249.92.169] [mailFrom=<somelocaladdress>@gmail.com] [helo=ug-out-1314.google.com] => ?
15:37:06,023 DEBUG [ServerCheckServiceMBean] round ended (took: 0s) 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[jira] Resolved: (JSPF-53) Missing support for SPF type and IllegalStateException checking a gmail account.

Posted by "Stefano Bagnara (JIRA)" <se...@james.apache.org>.
     [ https://issues.apache.org/jira/browse/JSPF-53?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Stefano Bagnara resolved JSPF-53.
---------------------------------

    Resolution: Fixed

Checked that SPF is currently supported.
Checked that even disabling SPF support the result is correct and doesn't raise an IllegalStateException.

> Missing support for SPF type and IllegalStateException checking a gmail account.
> --------------------------------------------------------------------------------
>
>                 Key: JSPF-53
>                 URL: https://issues.apache.org/jira/browse/JSPF-53
>             Project: jSPF
>          Issue Type: Bug
>    Affects Versions: 0.9b4
>            Reporter: Stefano Bagnara
>            Assignee: Stefano Bagnara
>             Fix For: 0.9.5
>
>
> Here is the message wrote by Michael Kulovits from the mailing list:
> ----------------------------------------------------
> i've got a problem with jspf-0.9b4 when trying to check a mail whose domain uses the redirect modifier. for instance gmail uses redirect to point to _spf.google.com. it would produce IllegalStateExceptions.
> is this a bug or is it my mistake?
> i'm not running james but solely the jspf-lib inside my own server process. this is how i invoke the spf check:
> Logger logger = new Log4JLogger( org.apache.log4j.Logger.getLogger(this.getClass()) );
> DNSService dns = new DNSServiceXBillImpl(logger);
> SPF spf = new SPF( dns, logger);
> SPFResult spfResult = spf.checkSPF(
>     serverIp, returnPath, serverHostname );
> and this is an excerpt from the logs:
> --------------------------------------------------------------------------------------------------------------------------------------------
> 15:37:05,963 INFO  [SpfCheck] Perfoming SPF check on CheckableMail:12364:null
> 15:37:05,971 DEBUG [termsfactory] Add following class as known mechanismn: org.apache.james.jspf.terms.AllMechanism
> 15:37:05,972 DEBUG [termsfactory] Add following class as known mechanismn: org.apache.james.jspf.terms.AMechanism
> 15:37:05,972 DEBUG [termsfactory] Add following class as known mechanismn: org.apache.james.jspf.terms.ExistsMechanism
> 15:37:05,972 DEBUG [termsfactory] Add following class as known mechanismn: org.apache.james.jspf.terms.IncludeMechanism
> 15:37:05,972 DEBUG [termsfactory] Add following class as known mechanismn: org.apache.james.jspf.terms.IP4Mechanism
> 15:37:05,972 DEBUG [termsfactory] Add following class as known mechanismn: org.apache.james.jspf.terms.IP6Mechanism
> 15:37:05,972 DEBUG [termsfactory] Add following class as known mechanismn: org.apache.james.jspf.terms.MXMechanism
> 15:37:05,972 DEBUG [termsfactory] Add following class as known mechanismn: org.apache.james.jspf.terms.PTRMechanism
> 15:37:05,979 DEBUG [termsfactory] Add following class as known modifier: org.apache.james.jspf.terms.ExpModifier
> 15:37:05,979 DEBUG [termsfactory] Add following class as known modifier: org.apache.james.jspf.terms.RedirectModifier
> 15:37:05,979 DEBUG [termsfactory] Add following class as known modifier: org.apache.james.jspf.terms.UnknownModifier
> 15:37:05,985 DEBUG [parser] Parsing catch group positions: Modifiers[1] Qualifier[9] Mechanism[10]
> 15:37:05,985 DEBUG [parser] 0) null
> 15:37:05,985 DEBUG [parser] 1) null
> 15:37:05,985 DEBUG [parser] 2) [eE][xX][pP]\=((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)))
> 15:37:05,985 DEBUG [parser] 3) [eE][xX][pP]\=((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)))
> 15:37:05,985 DEBUG [parser] 4) [rR][eE][dD][iI][rR][eE][cC][tT]\=((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)))
> 15:37:05,986 DEBUG [parser] 5) [rR][eE][dD][iI][rR][eE][cC][tT]\=((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)))
> 15:37:05,986 DEBUG [parser] 6) ([a-zA-Z]{1}[A-Za-z0-9\-\_\.]*)\=((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*)
> 15:37:05,986 DEBUG [parser] 7) ([a-zA-Z]{1}[A-Za-z0-9\-\_\.]*)\=((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*)
> 15:37:05,986 DEBUG [parser] 8) ([a-zA-Z]{1}[A-Za-z0-9\-\_\.]*)\=((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*)
> 15:37:05,986 DEBUG [parser] 9) null
> 15:37:05,986 DEBUG [parser] 10) null
> 15:37:05,986 DEBUG [parser] 11) [aA][lL][lL]
> 15:37:05,986 DEBUG [parser] 12) [aA](?:\:((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-))))?(?:(?:/(\d+))?(?://(\d+))?)?
> 15:37:05,986 DEBUG [parser] 13) [aA](?:\:((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-))))?(?:(?:/(\d+))?(?://(\d+))?)?
> 15:37:05,987 DEBUG [parser] 14) [aA](?:\:((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-))))?(?:(?:/(\d+))?(?://(\d+))?)?
> 15:37:05,987 DEBUG [parser] 15) [aA](?:\:((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-))))?(?:(?:/(\d+))?(?://(\d+))?)?
> 15:37:05,987 DEBUG [parser] 16) [eE][xX][iI][sS][tT][sS]\:((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)))
> 15:37:05,987 DEBUG [parser] 17) [eE][xX][iI][sS][tT][sS]\:((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)))
> 15:37:05,987 DEBUG [parser] 18) [iI][nN][cC][lL][uU][dD][eE]\:((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)))
> 15:37:05,987 DEBUG [parser] 19) [iI][nN][cC][lL][uU][dD][eE]\:((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)))
> 15:37:05,987 DEBUG [parser] 20) [iI][pP][4]\:([0-9.]+)(?:/(\d+))?
> 15:37:05,987 DEBUG [parser] 21) [iI][pP][4]\:([0-9.]+)(?:/(\d+))?
> 15:37:05,988 DEBUG [parser] 22) [iI][pP][4]\:([0-9.]+)(?:/(\d+))?
> 15:37:05,988 DEBUG [parser] 23) [iI][pP][6]\:([0-9A-Fa-f\:\.]+)(?:/(\d+))?
> 15:37:05,988 DEBUG [parser] 24) [iI][pP][6]\:([0-9A-Fa-f\:\.]+)(?:/(\d+))?
> 15:37:05,988 DEBUG [parser] 25) [iI][pP][6]\:([0-9A-Fa-f\:\.]+)(?:/(\d+))?
> 15:37:05,988 DEBUG [parser] 26) [mM][xX](?:\:((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-))))?(?:(?:/(\d+))?(?://(\d+))?)?
> 15:37:05,988 DEBUG [parser] 27) [mM][xX](?:\:((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-))))?(?:(?:/(\d+))?(?://(\d+))?)?
> 15:37:05,988 DEBUG [parser] 28) [mM][xX](?:\:((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-))))?(?:(?:/(\d+))?(?://(\d+))?)?
> 15:37:05,988 DEBUG [parser] 29) [mM][xX](?:\:((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-))))?(?:(?:/(\d+))?(?://(\d+))?)?
> 15:37:05,988 DEBUG [parser] 30) [pP][tT][rR](?:\:((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-))))?
> 15:37:05,989 DEBUG [parser] 31) [pP][tT][rR](?:\:((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-))))?
> 15:37:05,989 DEBUG [SpfCheck] Start SPF-Record lookup for : gmail.com
> 15:37:05,989 DEBUG [SpfCheck] Found 0 SPF-Records
> 15:37:05,990 DEBUG [SpfCheck] Start TXT-Record lookup for : gmail.com
> 15:37:05,990 DEBUG [SpfCheck] Found 1 TXT-Records
> 15:37:05,990 DEBUG [parser] Start parsing SPF-Record: v=spf1 redirect=_spf.google.com
> 15:37:05,994 ERROR [SpfCheck] Unexpected error creating term: Unexpected error adding dependencies to term: Illegal argument invoking enabled service: interface org.apache.james.jspf.wiring.SPFCheckEnabled
> java.lang.IllegalStateException: Unexpected error creating term: Unexpected error adding dependencies to term: Illegal argument invoking enabled service: interface org.apache.james.jspf.wiring.SPFCheckEnabled
>         at org.apache.james.jspf.parser.DefaultSPF1Parser.lookupAndCreateTerm(DefaultSPF1Parser.java:343)
>         at org.apache.james.jspf.parser.DefaultSPF1Parser.parse(DefaultSPF1Parser.java:288)
>         at org.apache.james.jspf.policies.ParseRecordPolicy.getSPFRecordPostFilter(ParseRecordPolicy.java:44)
>         at org.apache.james.jspf.policies.AbstractNestedPolicy.getSPFRecord(AbstractNestedPolicy.java:46)
>         at org.apache.james.jspf.policies.AbstractNestedPolicy.getSPFRecord(AbstractNestedPolicy.java:42)
>         at org.apache.james.jspf.policies.AbstractNestedPolicy.getSPFRecord(AbstractNestedPolicy.java:42)
>         at org.apache.james.jspf.policies.AbstractNestedPolicy.getSPFRecord(AbstractNestedPolicy.java:42)
>         at org.apache.james.jspf.policies.AbstractNestedPolicy.getSPFRecord(AbstractNestedPolicy.java:42)
>         at org.apache.james.jspf.policies.ChainPolicy.getSPFRecord(ChainPolicy.java:61)
>         at org.apache.james.jspf.SPF.checkSPF(SPF.java:165)
>         at org.apache.james.jspf.SPF.checkSPF(SPF.java:134)
>         at com.emarsys.modules.serverchecks.mail.SpfCheck.performSpfCheck(SpfCheck.java:183)
>         at com.emarsys.modules.serverchecks.mail.SpfCheck.check(SpfCheck.java:124)
>         at com.emarsys.modules.serverchecks.mail.SpfCheck.check(SpfCheck.java:60)
>         at com.emarsys.modules.serverchecks.toolkit.AbstractServerCheckable.check(AbstractServerCheckable.java:34)
>         at com.emarsys.modules.serverchecks.entity.ServerCheck.execute(ServerCheck.java:141)
>         at com.emarsys.services.serverchecks.ServerCheckServiceMBean.executeNextCheck(ServerCheckServiceMBean.java:76)
>         at com.emarsys.services.serverchecks.ServerCheckServiceMBean.trigger(ServerCheckServiceMBean.java:48)
>         at com.emarsys.services.ScheduledService$ServiceTrigger.run(ScheduledService.java:166)
> 15:37:05,996 INFO  [SpfCheck] [ipAddress=66.249.92.169] [mailFrom=<somelocaladdress>@gmail.com] [helo=ug-out-1314.google.com] => ?
> 15:37:06,023 DEBUG [ServerCheckServiceMBean] round ended (took: 0s) 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[jira] Commented: (JSPF-53) Missing support for SPF type and IllegalStateException checking a gmail account.

Posted by "Stefano Bagnara (JIRA)" <se...@james.apache.org>.
    [ https://issues.apache.org/jira/browse/JSPF-53?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12519675 ] 

Stefano Bagnara commented on JSPF-53:
-------------------------------------

The user already checked current trunk and this fixed the problem.
Adding anyway the issue for historical tracking purpose and to perform additional checks.

> Missing support for SPF type and IllegalStateException checking a gmail account.
> --------------------------------------------------------------------------------
>
>                 Key: JSPF-53
>                 URL: https://issues.apache.org/jira/browse/JSPF-53
>             Project: jSPF
>          Issue Type: Bug
>    Affects Versions: 0.9b4
>            Reporter: Stefano Bagnara
>            Assignee: Stefano Bagnara
>             Fix For: 0.9.5
>
>
> Here is the message wrote by Michael Kulovits from the mailing list:
> ----------------------------------------------------
> i've got a problem with jspf-0.9b4 when trying to check a mail whose domain uses the redirect modifier. for instance gmail uses redirect to point to _spf.google.com. it would produce IllegalStateExceptions.
> is this a bug or is it my mistake?
> i'm not running james but solely the jspf-lib inside my own server process. this is how i invoke the spf check:
> Logger logger = new Log4JLogger( org.apache.log4j.Logger.getLogger(this.getClass()) );
> DNSService dns = new DNSServiceXBillImpl(logger);
> SPF spf = new SPF( dns, logger);
> SPFResult spfResult = spf.checkSPF(
>     serverIp, returnPath, serverHostname );
> and this is an excerpt from the logs:
> --------------------------------------------------------------------------------------------------------------------------------------------
> 15:37:05,963 INFO  [SpfCheck] Perfoming SPF check on CheckableMail:12364:null
> 15:37:05,971 DEBUG [termsfactory] Add following class as known mechanismn: org.apache.james.jspf.terms.AllMechanism
> 15:37:05,972 DEBUG [termsfactory] Add following class as known mechanismn: org.apache.james.jspf.terms.AMechanism
> 15:37:05,972 DEBUG [termsfactory] Add following class as known mechanismn: org.apache.james.jspf.terms.ExistsMechanism
> 15:37:05,972 DEBUG [termsfactory] Add following class as known mechanismn: org.apache.james.jspf.terms.IncludeMechanism
> 15:37:05,972 DEBUG [termsfactory] Add following class as known mechanismn: org.apache.james.jspf.terms.IP4Mechanism
> 15:37:05,972 DEBUG [termsfactory] Add following class as known mechanismn: org.apache.james.jspf.terms.IP6Mechanism
> 15:37:05,972 DEBUG [termsfactory] Add following class as known mechanismn: org.apache.james.jspf.terms.MXMechanism
> 15:37:05,972 DEBUG [termsfactory] Add following class as known mechanismn: org.apache.james.jspf.terms.PTRMechanism
> 15:37:05,979 DEBUG [termsfactory] Add following class as known modifier: org.apache.james.jspf.terms.ExpModifier
> 15:37:05,979 DEBUG [termsfactory] Add following class as known modifier: org.apache.james.jspf.terms.RedirectModifier
> 15:37:05,979 DEBUG [termsfactory] Add following class as known modifier: org.apache.james.jspf.terms.UnknownModifier
> 15:37:05,985 DEBUG [parser] Parsing catch group positions: Modifiers[1] Qualifier[9] Mechanism[10]
> 15:37:05,985 DEBUG [parser] 0) null
> 15:37:05,985 DEBUG [parser] 1) null
> 15:37:05,985 DEBUG [parser] 2) [eE][xX][pP]\=((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)))
> 15:37:05,985 DEBUG [parser] 3) [eE][xX][pP]\=((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)))
> 15:37:05,985 DEBUG [parser] 4) [rR][eE][dD][iI][rR][eE][cC][tT]\=((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)))
> 15:37:05,986 DEBUG [parser] 5) [rR][eE][dD][iI][rR][eE][cC][tT]\=((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)))
> 15:37:05,986 DEBUG [parser] 6) ([a-zA-Z]{1}[A-Za-z0-9\-\_\.]*)\=((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*)
> 15:37:05,986 DEBUG [parser] 7) ([a-zA-Z]{1}[A-Za-z0-9\-\_\.]*)\=((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*)
> 15:37:05,986 DEBUG [parser] 8) ([a-zA-Z]{1}[A-Za-z0-9\-\_\.]*)\=((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*)
> 15:37:05,986 DEBUG [parser] 9) null
> 15:37:05,986 DEBUG [parser] 10) null
> 15:37:05,986 DEBUG [parser] 11) [aA][lL][lL]
> 15:37:05,986 DEBUG [parser] 12) [aA](?:\:((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-))))?(?:(?:/(\d+))?(?://(\d+))?)?
> 15:37:05,986 DEBUG [parser] 13) [aA](?:\:((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-))))?(?:(?:/(\d+))?(?://(\d+))?)?
> 15:37:05,987 DEBUG [parser] 14) [aA](?:\:((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-))))?(?:(?:/(\d+))?(?://(\d+))?)?
> 15:37:05,987 DEBUG [parser] 15) [aA](?:\:((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-))))?(?:(?:/(\d+))?(?://(\d+))?)?
> 15:37:05,987 DEBUG [parser] 16) [eE][xX][iI][sS][tT][sS]\:((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)))
> 15:37:05,987 DEBUG [parser] 17) [eE][xX][iI][sS][tT][sS]\:((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)))
> 15:37:05,987 DEBUG [parser] 18) [iI][nN][cC][lL][uU][dD][eE]\:((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)))
> 15:37:05,987 DEBUG [parser] 19) [iI][nN][cC][lL][uU][dD][eE]\:((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)))
> 15:37:05,987 DEBUG [parser] 20) [iI][pP][4]\:([0-9.]+)(?:/(\d+))?
> 15:37:05,987 DEBUG [parser] 21) [iI][pP][4]\:([0-9.]+)(?:/(\d+))?
> 15:37:05,988 DEBUG [parser] 22) [iI][pP][4]\:([0-9.]+)(?:/(\d+))?
> 15:37:05,988 DEBUG [parser] 23) [iI][pP][6]\:([0-9A-Fa-f\:\.]+)(?:/(\d+))?
> 15:37:05,988 DEBUG [parser] 24) [iI][pP][6]\:([0-9A-Fa-f\:\.]+)(?:/(\d+))?
> 15:37:05,988 DEBUG [parser] 25) [iI][pP][6]\:([0-9A-Fa-f\:\.]+)(?:/(\d+))?
> 15:37:05,988 DEBUG [parser] 26) [mM][xX](?:\:((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-))))?(?:(?:/(\d+))?(?://(\d+))?)?
> 15:37:05,988 DEBUG [parser] 27) [mM][xX](?:\:((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-))))?(?:(?:/(\d+))?(?://(\d+))?)?
> 15:37:05,988 DEBUG [parser] 28) [mM][xX](?:\:((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-))))?(?:(?:/(\d+))?(?://(\d+))?)?
> 15:37:05,988 DEBUG [parser] 29) [mM][xX](?:\:((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-))))?(?:(?:/(\d+))?(?://(\d+))?)?
> 15:37:05,988 DEBUG [parser] 30) [pP][tT][rR](?:\:((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-))))?
> 15:37:05,989 DEBUG [parser] 31) [pP][tT][rR](?:\:((?:\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-)|[\x21-\x24\x26-\x7e]{1})*(?:\.(?:[a-zA-Z0-9]*[a-zA-Z]{1}[a-zA-Z0-9]*|(?:[a-zA-Z0-9]+\-(?:[a-zA-Z0-9]|\-)*[a-zA-Z0-9]))\.?|\%(?:\{[rctlsodipvhRCTLSODIPVH]\d*[r]?[\.\-\+,/_\=]*\}|\%|\_|\-))))?
> 15:37:05,989 DEBUG [SpfCheck] Start SPF-Record lookup for : gmail.com
> 15:37:05,989 DEBUG [SpfCheck] Found 0 SPF-Records
> 15:37:05,990 DEBUG [SpfCheck] Start TXT-Record lookup for : gmail.com
> 15:37:05,990 DEBUG [SpfCheck] Found 1 TXT-Records
> 15:37:05,990 DEBUG [parser] Start parsing SPF-Record: v=spf1 redirect=_spf.google.com
> 15:37:05,994 ERROR [SpfCheck] Unexpected error creating term: Unexpected error adding dependencies to term: Illegal argument invoking enabled service: interface org.apache.james.jspf.wiring.SPFCheckEnabled
> java.lang.IllegalStateException: Unexpected error creating term: Unexpected error adding dependencies to term: Illegal argument invoking enabled service: interface org.apache.james.jspf.wiring.SPFCheckEnabled
>         at org.apache.james.jspf.parser.DefaultSPF1Parser.lookupAndCreateTerm(DefaultSPF1Parser.java:343)
>         at org.apache.james.jspf.parser.DefaultSPF1Parser.parse(DefaultSPF1Parser.java:288)
>         at org.apache.james.jspf.policies.ParseRecordPolicy.getSPFRecordPostFilter(ParseRecordPolicy.java:44)
>         at org.apache.james.jspf.policies.AbstractNestedPolicy.getSPFRecord(AbstractNestedPolicy.java:46)
>         at org.apache.james.jspf.policies.AbstractNestedPolicy.getSPFRecord(AbstractNestedPolicy.java:42)
>         at org.apache.james.jspf.policies.AbstractNestedPolicy.getSPFRecord(AbstractNestedPolicy.java:42)
>         at org.apache.james.jspf.policies.AbstractNestedPolicy.getSPFRecord(AbstractNestedPolicy.java:42)
>         at org.apache.james.jspf.policies.AbstractNestedPolicy.getSPFRecord(AbstractNestedPolicy.java:42)
>         at org.apache.james.jspf.policies.ChainPolicy.getSPFRecord(ChainPolicy.java:61)
>         at org.apache.james.jspf.SPF.checkSPF(SPF.java:165)
>         at org.apache.james.jspf.SPF.checkSPF(SPF.java:134)
>         at com.emarsys.modules.serverchecks.mail.SpfCheck.performSpfCheck(SpfCheck.java:183)
>         at com.emarsys.modules.serverchecks.mail.SpfCheck.check(SpfCheck.java:124)
>         at com.emarsys.modules.serverchecks.mail.SpfCheck.check(SpfCheck.java:60)
>         at com.emarsys.modules.serverchecks.toolkit.AbstractServerCheckable.check(AbstractServerCheckable.java:34)
>         at com.emarsys.modules.serverchecks.entity.ServerCheck.execute(ServerCheck.java:141)
>         at com.emarsys.services.serverchecks.ServerCheckServiceMBean.executeNextCheck(ServerCheckServiceMBean.java:76)
>         at com.emarsys.services.serverchecks.ServerCheckServiceMBean.trigger(ServerCheckServiceMBean.java:48)
>         at com.emarsys.services.ScheduledService$ServiceTrigger.run(ScheduledService.java:166)
> 15:37:05,996 INFO  [SpfCheck] [ipAddress=66.249.92.169] [mailFrom=<somelocaladdress>@gmail.com] [helo=ug-out-1314.google.com] => ?
> 15:37:06,023 DEBUG [ServerCheckServiceMBean] round ended (took: 0s) 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org