Summary: | ASTERISK-01583: [patch] MIME boundary text can trigger delays in email from voicemail | ||
Reporter: | stevegaarder (stevegaarder) | Labels: | |
Date Opened: | 2004-05-10 11:38:23 | Date Closed: | 2008-01-15 14:54:27.000-0600 |
Priority: | Minor | Regression? | No |
Status: | Closed/Complete | Components: | Applications/app_voicemail |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ( 0) app_voicemail.diff.txt | |
Description: | Voicemail messages sent by email from Asterisk were getting delayed by our provider for no apparent reason. When I changed the word "boundary" in the MIME boundary text the problem went away. ****** ADDITIONAL INFORMATION ****** app_voicemail.c, line 758 reads: snprintf(bound, sizeof(bound), "Boundary=%d%s%d", msgnum, mailbox, getpid()); Thus, it sets the MIME boundary to a piece of text that starts with the word "Boundary=" This produces a header line in the message that looks like this: Content-Type: MULTIPART/MIXED; BOUNDARY="Boundary=1010123421336" I believe that the two strings "boundary=" must confuse something at the provider's, possibly their virus scanner. This change solved the problem: snprintf(bound, sizeof(bound), "Mxyzptlk=%d%s%d", msgnum, mailbox, getpid()); | ||
Comments: | By: Brian West (bkw918) 2004-05-10 14:03:19 Find me the RFC that says we are doing it wrong and we will fix it. bkw By: Brian West (bkw918) 2004-05-10 14:05:11 I see exactly what you are talking about but what is correct is all i'm after. By: Brian West (bkw918) 2004-05-10 14:10:50 accually it just needs to loose the = but I think voicemail_ is a better replacement... :) By: stevegaarder (stevegaarder) 2004-05-10 14:17:28 All RFC 1341 says is that the boundary string must not appear anywhere except the boundary; the string itself can be any arbitrary text. It does not need to contain the word "boundary," like Asterisk's does, but there's nothing that says it can't. I think that Asterisk's boundary is perfectly legal, but it just happens to tickle a bug in whatever software the email provider is using. It's easier for me to fix Asterisk than to browbeat the provider into doing something. cheers, Steve By: Brian West (bkw918) 2004-05-10 14:38:33 ya I think this change will fix it. By: Olle Johansson (oej) 2004-05-10 16:09:57 Maybe the equal sign is the problem. By: Olle Johansson (oej) 2004-05-10 16:18:24 RFC 2046 is the current RFC. Here's the problem: Content-Type: MULTIPART/MIXED; BOUNDARY="Boundary=19300012359" and later: --Boundary=19300012359 We're not using the boundary we set, which should be --Boundary="Boundary=19300012359" Removing the first "Boundary=" is correct. By: Brian West (bkw918) 2004-05-10 17:05:45 yep so I just changed it to voicemail_ makes more sense anyway. By: Mark Spencer (markster) 2004-05-11 10:53:42 Fixed in CVS head ONLY! By: Digium Subversion (svnbot) 2008-01-15 14:54:27.000-0600 Repository: asterisk Revision: 2946 U trunk/apps/app_voicemail.c ------------------------------------------------------------------------ r2946 | markster | 2008-01-15 14:54:27 -0600 (Tue, 15 Jan 2008) | 2 lines Change "boundary" to be less likely to cause e-mail conflicts (bug ASTERISK-1583) ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=2946 |