Re: pypolicyd-spf crashing with IndexError exception
John Clements <[email protected]> Tue, 20 Oct 2009 10:18:24 -0700
| Newsgroups | gmane.mail.spam.spf.devel |
|---|---|
| Message-ID | <[email protected]> |
--Apple-Mail-6-726521158
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
charset=us-ascii;
format=flowed;
delsp=yes
On Oct 19, 2009, at 8:54 PM, Erik de Castro Lopo wrote:
> Hi,
>
> I raised the following bug in the Ubuntu bug tracker:
>
> https://bugs.launchpad.net/ubuntu/+source/pypolicyd-spf/+bug/455991
>
> The problem is code like:
>
> sender_domain = string.split(sender, '@', 1)
> if spf.domainmatch(reject_domain_list, sender_domain[1]):
>
> If sender has no '@' character, sender_domain ends up as a single
> element list and trying to index it by [1] results in an IndexError
> exception.
>
> A robust solution to this (available for python >= 2.5) is:
>
> sender_domain = sender.partition ('@')[2]
> if spf.domainmatch(reject_domain_list, sender_domain):
>
> The parition method applied to the sender string is guaranteed to
> return
> a 3 element tuple of which the [2] indexing grabs the last element.
Yep; I reported this problem back in April:
http://snurl.com/sm6pr
My solution was just to grab the last element of the list. This will
differ only when there are multiple '@'s; I'm guessing this isn't a
problem.
John Clements
-------------------------------------------
Sender Policy Framework: http://www.openspf.org [http://www.openspf.org]
Modify Your Subscription: http://www.listbox.com/member/ [http://www.listbox.com/member/]
Archives: https://www.listbox.com/member/archive/1007/=now
RSS Feed: https://www.listbox.com/member/archive/rss/1007/
Powered by Listbox: http://www.listbox.com
--Apple-Mail-6-726521158
Content-Disposition: attachment;
filename=smime.p7s
Content-Type: application/pkcs7-signature;
name=smime.p7s
Content-Transfer-Encoding: base64
MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEH
AQAAoIIGZjCCAx8wggKIoAMCAQICEHJ+EkGR37a5IToZ9cXjMlgwDQYJKoZI
hvcNAQEFBQAwYjELMAkGA1UEBhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25z
dWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQZXJzb25hbCBG
cmVlbWFpbCBJc3N1aW5nIENBMB4XDTA5MDQwMTE4NDQ0N1oXDTEwMDQwMTE4
NDQ0N1owfjERMA8GA1UEBBMIQ2xlbWVudHMxGjAYBgNVBCoTEUpvaG4gQnJp
bmNrZXJob2ZmMSMwIQYDVQQDExpKb2huIEJyaW5ja2VyaG9mZiBDbGVtZW50
czEoMCYGCSqGSIb3DQEJARYZY2xlbWVudHNAYnJpbmNrZXJob2ZmLm9yZzCC
ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALCXj+0En7xyTFxGmlHy
/EGab+Qo3I5rT44NJ4U7/CGWWXLFL3oiIrE+aldmxtUSVD/tfgBZqde4IUPy
ue14e5Qr42Uagk2ctTy3+OZS/esZ2/qDWqMZ3/2g0QxdM5W1cU1L3R0XzPus
vkpwKhr/tmkMC7fWVCFJjOqlnxK15BOJYgHxZJh69GFgFEIZPc0S98x8ATVi
ZMC75zV88rmt04ocgyZkA1q7cFBtZ9H7gVwdrSc2nj4u83IlfboVwKHWmipM
IFoCNJel0x0CiRP2q+zKFFbzjoEzztHNs9vyuHpNXO/NRLJzqUEcgaDNKiFV
O2y9clMMDrm4sshr3x+u8kcCAwEAAaM2MDQwJAYDVR0RBB0wG4EZY2xlbWVu
dHNAYnJpbmNrZXJob2ZmLm9yZzAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEB
BQUAA4GBAD12ultvwiXn211hMSo1XFh288pr5Nv4cyIRcfzqS+1jgVi0mEJI
qskNTmuHwm2ToNY1DRVtAVMIFQ8vyF5QIeuDK01J6BEh8S5HOMqmK9n+oTJd
1Q4hx9Y039ECLusmRwYmN4VpVeTOP/YVD9A8NuWSxDMjgieWkMmkncAF6WNZ
MIIDPzCCAqigAwIBAgIBDTANBgkqhkiG9w0BAQUFADCB0TELMAkGA1UEBhMC
WkExFTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3du
MRowGAYDVQQKExFUaGF3dGUgQ29uc3VsdGluZzEoMCYGA1UECxMfQ2VydGlm
aWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEkMCIGA1UEAxMbVGhhd3RlIFBl
cnNvbmFsIEZyZWVtYWlsIENBMSswKQYJKoZIhvcNAQkBFhxwZXJzb25hbC1m
cmVlbWFpbEB0aGF3dGUuY29tMB4XDTAzMDcxNzAwMDAwMFoXDTEzMDcxNjIz
NTk1OVowYjELMAkGA1UEBhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0
aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQZXJzb25hbCBGcmVl
bWFpbCBJc3N1aW5nIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDE
pjxVc1X7TrnKmVoeaMB1BHCd3+n/ox7svc31W/Iadr1/DDph8r9RzgHU5VAK
MNcCY1osiRVwjt3J8CuFWqo/cVbLrzwLB+fxH5E2JCoTzyvV84J3PQO+K/67
GD4Hv0CAAmTXp6a7n2XRxSpUhQ9IBH+nttE8YQRAHmQZcmC3+wIDAQABo4GU
MIGRMBIGA1UdEwEB/wQIMAYBAf8CAQAwQwYDVR0fBDwwOjA4oDagNIYyaHR0
cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVBlcnNvbmFsRnJlZW1haWxDQS5j
cmwwCwYDVR0PBAQDAgEGMCkGA1UdEQQiMCCkHjAcMRowGAYDVQQDExFQcml2
YXRlTGFiZWwyLTEzODANBgkqhkiG9w0BAQUFAAOBgQBIjNFQg+oLLswNo2as
Zw9/r6y+whehQ5aUnX9MIbj4Nh+qLZ82L8D0HFAgk3A8/a3hYWLD2ToZfoSx
mRsAxRoLgnSeJVCUYsfbJ3FXJY3dqZw5jowgT2Vfldr394fWxghOrvbqNOUQ
Gls1TXfjViF4gtwhGTXeJLHTHUb/XV9lTzGCAxAwggMMAgEBMHYwYjELMAkG
A1UEBhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0
ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5n
IENBAhByfhJBkd+2uSE6GfXF4zJYMAkGBSsOAwIaBQCgggFvMBgGCSqGSIb3
DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTA5MTAyMDE3MTgy
NVowIwYJKoZIhvcNAQkEMRYEFNZDdwIYDf7M62xWHSI42IwpL+hMMIGFBgkr
BgEEAYI3EAQxeDB2MGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3dGUg
Q29uc3VsdGluZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVyc29u
YWwgRnJlZW1haWwgSXNzdWluZyBDQQIQcn4SQZHftrkhOhn1xeMyWDCBhwYL
KoZIhvcNAQkQAgsxeKB2MGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3
dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVy
c29uYWwgRnJlZW1haWwgSXNzdWluZyBDQQIQcn4SQZHftrkhOhn1xeMyWDAN
BgkqhkiG9w0BAQEFAASCAQB+wgFlI4ohvImPIObsy+5OsK4QiG9xw1zMMeAT
FJfq/xogdNXqgg3s8i70mjxdPrkXSBuKJl6qZfkXhG/oXUkCPPZ068ZjE2dS
RsKVx2MIwkGVWWj81zl5m+Yhx9ayi1ujw1dsckuHXYUFLsEPg7jfUAMmGXu4
9jXcvKuOuMIsb4oXmcKFwNDPBfJohtgHsH5UMVF18kYP84WeopP5m3Is/j1+
jOQpssWJS9td3412HViOdw8y9gIz1giXsYyh8OFAiCrPQV+5HeLpgg0UkOjt
kxGdz1DoheK3D+7NsxHbqa0OKQIZMW00dYYMP1MsWGs/QeDuKRfKG/etSuPY
JptNAAAAAAAA
--Apple-Mail-6-726521158--