Overview
Comment: | *** empty log message *** |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
0d55961d2fde5d15fb3e4ba086d34828 |
User & Date: | stanton on 2000-06-01 22:34:01 |
Other Links: | manifest | tags |
Context
2000-06-02
| ||
05:14 | Removed printf check-in: fa28281e24 user: welch tags: trunk | |
2000-06-01
| ||
22:34 | *** empty log message *** check-in: 0d55961d2f user: stanton tags: trunk | |
19:26 | *** empty log message *** check-in: a16da7868e user: stanton tags: trunk | |
Changes
Modified ChangeLog
from [77b95843ac]
to [5ef64b5c12].
1 2 3 4 5 6 7 | 2000-06-01 Scott Stanton <[email protected]> * tlsIO.c: Restore the previous version. Fixed the CloseProc so it unregisters the channel handler on the superceded channel instead of the upper channel. Also removed the call to Tcl_NotifyChannel in the ChannelHandler because this will result in an infinite loop if data is ever buffered in the BIO | > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | 2000-06-01 Scott Stanton <[email protected]> * tlsIO.c: Restored call to Tcl_NotifyChannel from ChannelHandler to ensure that events propagate from the lower driver. This may result in an infinite loop in some cases, so this is not a total fix. This may be sufficient for now, however. [Bug: 5623] 2000-06-01 Scott Stanton <[email protected]> * tlsIO.c: Restore the previous version. Fixed the CloseProc so it unregisters the channel handler on the superceded channel instead of the upper channel. Also removed the call to Tcl_NotifyChannel in the ChannelHandler because this will result in an infinite loop if data is ever buffered in the BIO |
︙ | ︙ |
Modified tlsIO.c
from [e27842c796]
to [f528e682ea].
1 2 3 | /* * Copyright (C) 1997-2000 Matt Newman <[email protected]> * | | | 1 2 3 4 5 6 7 8 9 10 11 | /* * Copyright (C) 1997-2000 Matt Newman <[email protected]> * * $Header: /home/rkeene/tmp/cvs2fossil/../tcltls/tls/tls/tlsIO.c,v 1.5 2000/06/01 22:34:01 stanton Exp $ * * TLS (aka SSL) Channel - can be layered on any bi-directional * Tcl_Channel (Note: Requires Trf Core Patch) * * This was built from scratch based upon observation of OpenSSL 0.9.2B * * Addition credit is due for Andreas Kupries ([email protected]), for |
︙ | ︙ | |||
479 480 481 482 483 484 485 486 487 488 489 490 491 492 | if (BIO_wpending(statePtr->bio)) { mask |= TCL_WRITABLE; } if (BIO_pending(statePtr->bio)) { mask |= TCL_READABLE; } if (statePtr->timer != (Tcl_TimerToken)NULL) { Tcl_DeleteTimerHandler(statePtr->timer); statePtr->timer = (Tcl_TimerToken)NULL; } if ((mask & TCL_READABLE) && Tcl_InputBuffered (statePtr->self) > 0) { /* * Data is waiting, flush it out in short time | > > > > > > > > > > > > > > > > > > > > > > > > | 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 | if (BIO_wpending(statePtr->bio)) { mask |= TCL_WRITABLE; } if (BIO_pending(statePtr->bio)) { mask |= TCL_READABLE; } /* * The following NotifyChannel calls seems to be important, but * we don't know why. It looks like if the mask is ever non-zero * that it will enter an infinite loop. */ if (mask & TCL_WRITABLE) { fprintf(stderr, "ChannelHandler: mask is writable\n"); } if (mask & TCL_READABLE) { fprintf(stderr, "ChannelHandler: mask is readable\n"); } /* * Notify the upper channel of the current BIO state so the event * continues to propagate up the chain. * * stanton: It looks like this could result in an infinite loop if * the upper channel doesn't cause ChannelHandler to be removed * before Tcl_NotifyChannel calls channel handlers on the lower channel. */ Tcl_NotifyChannel(statePtr->self, mask); if (statePtr->timer != (Tcl_TimerToken)NULL) { Tcl_DeleteTimerHandler(statePtr->timer); statePtr->timer = (Tcl_TimerToken)NULL; } if ((mask & TCL_READABLE) && Tcl_InputBuffered (statePtr->self) > 0) { /* * Data is waiting, flush it out in short time |
︙ | ︙ |