Ticket UUID: | 533025 | |||
Title: | sendmessage: response too short | |||
Type: | Bug | Version: | None | |
Submitter: | nobody | Created on: | 2002-03-21 12:00:53 | |
Subsystem: | smtp | Assigned To: | mrose | |
Priority: | 7 High | Severity: | ||
Status: | Closed | Last Modified: | 2002-04-04 23:29:52 | |
Resolution: | Accepted | Closed By: | andreas_kupries | |
Closed on: | 2002-04-04 16:29:52 | |||
Description: |
smtp::sendmessage can return the error "response too short" when sending through a mail server that responds very quickly. This is due to smtp::readable not handling the "no full-line available" condition. I have attached a fix that works for me, in the form of a diff against smtp.tcl from tcllib0.6.1. Regards Simon Scott | |||
User Comments: |
andreas_kupries added on 2002-04-04 23:29:52:
Logged In: YES user_id=75003 And committed. andreas_kupries added on 2002-04-04 23:28:39: File Added - 20572: 533025.diff Logged In: YES user_id=75003 Here is the final patch. sjscott added on 2002-04-03 15:26:59: Logged In: YES user_id=255303 I've downloaded tcllib-1.2, will generate patch and send it along. Thanks andreas_kupries added on 2002-04-03 10:39:55: Logged In: YES user_id=75003 I got a 'go' by marshall. I don't have tcllib 0.6.1 available and therefore ask the submitter to generate a patch against tcllib 1.2. Please use the option "-u" when executing "diff". This will generate a "unified diff" which is generally easier to read and also easier to apply as patch will get some context to check against. Either attach the patch here or send it to me. nobody added on 2002-03-21 19:04:20: Logged In: NO Looks like the attachment didn't get there, here are the diffs: 1065c1065 < vwait [subst $token](readable) --- > vwait $token 1144c1144,1147 < if {[catch { gets $state(sd) state(line) } result]} { --- > if {[eof $state(sd)]} { > set state(readable) -3 > set state(error) "premature end-of-file from server" > } elseif {[catch { gets $state(sd) state(line) } result]} { 1147,1151d1149 < } elseif {$result == -1} { < if {[eof $state(sd)]} { < set state(readable) -3 < set state(error) "premature end-of-file from server" < } 1160c1158 < if {$state(readable) < 0} { --- > if {$state(readable) != 1} { |
Attachments:
- 533025.diff [download] added by andreas_kupries on 2002-04-04 23:28:39. [details]