Changes On Branch bug-6ca52aec14
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Changes In Branch bug-6ca52aec14 Excluding Merge-Ins

This is equivalent to a diff from 7709c518bc to 8d81ec63d5

2017-05-09
11:30
Fix [6ca52aec14e0b33543d3cd9895f060b852ac4dbc|6ca52aec14]: HTTP package: Memory leak if client reque... check-in: 8dab861767 user: jan.nijtmans tags: core-8-6-branch
2017-02-26
15:32
[25842c161f] Ensure that finalization of a zlib stream works. check-in: 23af13880c user: dkf tags: core-8-6-branch
2017-02-25
15:57
merge core-8-6-branch check-in: c23bce69eb user: jan.nijtmans tags: zipfs
2017-02-12
12:57
fix chan leak with http keepalive vs close (bug [6ca52aec14]) Closed-Leaf check-in: 8d81ec63d5 user: aspect tags: bug-6ca52aec14
2017-02-11
05:06
zlib stream finalize calls deflate with no input - this case (and this case only) must be allowed. ... check-in: be8c38b974 user: aspect tags: bug-25842c161f
2017-02-07
12:27
Code cleanup (based on feedback from RenĂ© Zaumseil): Only call GetInvalidIntFromObj() when Tcl_GetI... check-in: 74f0e5f884 user: jan.nijtmans tags: trunk
12:11
Code cleanup (based on feedback from RenĂ© Zaumseil): Only call GetInvalidIntFromObj() when Tcl_GetI... check-in: 7709c518bc user: jan.nijtmans tags: core-8-6-branch
2017-02-06
21:54
s/then/than/ in Eval.3 manpage check-in: 9790a775de user: bch tags: core-8-6-branch

Changes to library/http/http.tcl.
193
194
195
196
197
198
199
200
201

202
203
204
205
206
207
208
209
    variable $token
    upvar 0 $token state
    global errorInfo errorCode
    if {$errormsg ne ""} {
	set state(error) [list $errormsg $errorInfo $errorCode]
	set state(status) "error"
    }
    if {
	($state(status) eq "timeout") || ($state(status) eq "error") ||

	([info exists state(connection)] && ($state(connection) eq "close"))
    } {
        CloseSocket $state(sock) $token
    }
    if {[info exists state(after)]} {
	after cancel $state(after)
    }
    if {[info exists state(-command)] && !$skipCB







|
|
>
|







193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
    variable $token
    upvar 0 $token state
    global errorInfo errorCode
    if {$errormsg ne ""} {
	set state(error) [list $errormsg $errorInfo $errorCode]
	set state(status) "error"
    }
    if { ($state(status) eq "timeout") 
       || ($state(status) eq "error")
       || ([info exists state(-keepalive)] && !$state(-keepalive))
       || ([info exists state(connection)] && ($state(connection) eq "close"))
    } {
        CloseSocket $state(sock) $token
    }
    if {[info exists state(after)]} {
	after cancel $state(after)
    }
    if {[info exists state(-command)] && !$skipCB
Changes to tests/http.test.
588
589
590
591
592
593
594








595
596
597
598
599
600
601
    set token [http::geturl //not_a_host.tcl.tk -timeout 1000 -command \#]
    http::wait $token
    http::status $token
    # error codes vary among platforms.
} -cleanup {
    catch {http::cleanup $token}
} -returnCodes 1 -match glob -result "couldn't open socket*"









test http-5.1 {http::formatQuery} {
    http::formatQuery name1 value1 name2 "value two"
} {name1=value1&name2=value%20two}
# test http-5.2 obsoleted by 5.4 and 5.5 with http 2.5
test http-5.3 {http::formatQuery} {
    http::formatQuery lines "line1\nline2\nline3"







>
>
>
>
>
>
>
>







588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
    set token [http::geturl //not_a_host.tcl.tk -timeout 1000 -command \#]
    http::wait $token
    http::status $token
    # error codes vary among platforms.
} -cleanup {
    catch {http::cleanup $token}
} -returnCodes 1 -match glob -result "couldn't open socket*"
test http-1.15 {Leak with Close vs Keepalive (bug [6ca52aec14]} -body {
    set before [chan names]
    set token [http::geturl $url -headers {X-Connection keep-alive}]
    http::cleanup $token
    update
    set after [chan names]
    expr {$before eq $after}
} -result 1

test http-5.1 {http::formatQuery} {
    http::formatQuery name1 value1 name2 "value two"
} {name1=value1&name2=value%20two}
# test http-5.2 obsoleted by 5.4 and 5.5 with http 2.5
test http-5.3 {http::formatQuery} {
    http::formatQuery lines "line1\nline2\nline3"