Check-in [b52b3ab189]
Overview
Comment:Comment updates
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | tls-1.8
Files: files | file ages | folders
SHA3-256: b52b3ab1891bd25c3f3a0d6a9c56c3d93ddefca6811210867c98ac52061915f8
User & Date: bohagan on 2024-11-01 01:09:56
Other Links: branch diff | manifest | tags
Context
2024-11-01
22:01
Makefile updates for tls.tcl.h to work for sh. Needed for FreeBSD. Made makefile optimizations. check-in: 97047919d0 user: bohagan tags: tls-1.8
01:09
Comment updates check-in: b52b3ab189 user: bohagan tags: tls-1.8
2024-10-26
22:32
Updated windows makefile to preserve manifest.uuid file if it already exists. Added checks for git repo. check-in: 50fb4f4fc1 user: bohagan tags: tls-1.8
Changes

Modified generic/tlsBIO.c from [f962f31c62] to [461b7f06d1].

98
99
100
101
102
103
104
105

106
107
108
109

110
111
112
113


114
115
116
117
118
119
120
98
99
100
101
102
103
104

105
106
107
108

109
110
111


112
113
114
115
116
117
118
119
120







-
+



-
+


-
-
+
+








    if (ret > 0) {
	dprintf("Successfully wrote %" TCL_SIZE_MODIFIER "d bytes of data", ret);

    } else if (ret == 0) {
	if (is_eof) {
	    dprintf("Got EOF while writing, returning a Connection Reset error which maps to Soft EOF");
	Tcl_SetErrno(ECONNRESET);
	    Tcl_SetErrno(ECONNRESET);
	    BIO_set_flags(bio, BIO_FLAGS_IN_EOF);

	} else {
	dprintf("Got 0 from Tcl_WriteRaw, and EOF is not set; ret = 0");
	    dprintf("Got 0 from Tcl_WriteRaw, and EOF is not set; ret = 0");
	    BIO_set_retry_write(bio);

	dprintf("Setting retry read flag");
	BIO_set_retry_read(bio);
	    dprintf("Setting retry read flag");
	    BIO_set_retry_read(bio);
	}

    } else {
	dprintf("We got some kind of I/O error");

	if (BIOShouldRetry(tclErrno)) {
	    dprintf("Try again for: %i=%s", tclErrno, Tcl_ErrnoMsg(tclErrno));
182
183
184
185
186
187
188
189

190
191
192
193

194
195
196
197
198
199
200
201
182
183
184
185
186
187
188

189
190
191
192

193

194
195
196
197
198
199
200







-
+



-
+
-








    if (ret > 0) {
	dprintf("Successfully read %" TCL_SIZE_MODIFIER "d bytes of data", ret);

    } else if (ret == 0) {
	if (is_eof) {
	    dprintf("Got EOF while reading, returning a Connection Reset error which maps to Soft EOF");
	   Tcl_SetErrno(ECONNRESET);
	    Tcl_SetErrno(ECONNRESET);
	    BIO_set_flags(bio, BIO_FLAGS_IN_EOF);

	} else if (is_blocked) {
	    dprintf("Got input blocked from Tcl_ReadRaw");
	    dprintf("Got input blocked from Tcl_ReadRaw. Setting retry read flag");
	    dprintf("Setting retry read flag");
	    BIO_set_retry_read(bio);
	}

    } else {
	dprintf("We got some kind of I/O error");

	if (BIOShouldRetry(tclErrno)) {

Modified generic/tlsIO.c from [28f229b1c5] to [f1c5ac114b].

509
510
511
512
513
514
515
516

517
518
519
520
521
522
523
509
510
511
512
513
514
515

516
517
518
519
520
521
522
523







-
+







	    bytesRead = -1;
	    statePtr->want |= TCL_READABLE;
	    Tls_Error(statePtr, "SSL_ERROR_WANT_READ");
	    BIO_set_retry_read(statePtr->bio);
	    break;

	case SSL_ERROR_WANT_WRITE:
	    /* Op did not complete due to unable to sent all data to the BIO. Retry later. */
	    /* Op did not complete due to unable to send all data to the BIO. Retry later. */
	    dprintf("Got SSL_ERROR_WANT_WRITE, mapping this to EAGAIN");
	    *errorCodePtr = EAGAIN;
	    bytesRead = -1;
	    statePtr->want |= TCL_WRITABLE;
	    Tls_Error(statePtr, "SSL_ERROR_WANT_WRITE");
	    BIO_set_retry_write(statePtr->bio);
	    break;
735
736
737
738
739
740
741
742

743
744
745
746
747
748
749
735
736
737
738
739
740
741

742
743
744
745
746
747
748
749







-
+







	    written = -1;
	    statePtr->want |= TCL_READABLE;
	    Tls_Error(statePtr, "SSL_ERROR_WANT_READ");
	    BIO_set_retry_read(statePtr->bio);
	    break;

	case SSL_ERROR_WANT_WRITE:
	    /* Op did not complete due to unable to sent all data to the BIO. Retry later. */
	    /* Op did not complete due to unable to send all data to the BIO. Retry later. */
	    dprintf("Got SSL_ERROR_WANT_WRITE, mapping it to EAGAIN");
	    *errorCodePtr = EAGAIN;
	    written = -1;
	    statePtr->want |= TCL_WRITABLE;
	    Tls_Error(statePtr, "SSL_ERROR_WANT_WRITE");
	    BIO_set_retry_write(statePtr->bio);
	    break;