Commit a887bf87036ca3112e16a1f69429328021a09f8e
1 parent
1e9f6627
Exists in
master
and in
3 other branches
Fixing unexpected hangs on windows version.
Showing
8 changed files
with
44 additions
and
26 deletions
Show diff stats
.gitignore
locale/pt_BR.po
... | ... | @@ -5,7 +5,7 @@ msgid "" |
5 | 5 | msgstr "" |
6 | 6 | "Project-Id-Version: pw3270 5.0\n" |
7 | 7 | "Report-Msgid-Bugs-To: \n" |
8 | -"POT-Creation-Date: 2020-07-04 14:53-0300\n" | |
8 | +"POT-Creation-Date: 2020-07-09 20:22-0300\n" | |
9 | 9 | "PO-Revision-Date: 2020-05-08 00:52-0300\n" |
10 | 10 | "Last-Translator: Perry Werneck <perry.werneck@gmail.com>\n" |
11 | 11 | "Language-Team: Português <>\n" |
... | ... | @@ -265,8 +265,8 @@ msgstr "Não foi possível criar requisição HTTP" |
265 | 265 | msgid "Can't decode CRL" |
266 | 266 | msgstr "Não foi possível decodificar arquivo CRL" |
267 | 267 | |
268 | -#: src/ssl/windows/ldap.c:259 src/ssl/windows/http.c:74 | |
269 | -#: src/ssl/windows/curl.c:264 | |
268 | +#: src/ssl/windows/curl.c:264 src/ssl/windows/http.c:74 | |
269 | +#: src/ssl/windows/ldap.c:259 | |
270 | 270 | msgid "Can't decode certificate revocation list" |
271 | 271 | msgstr "Não foi possível decodificar a lista de certificados revogados" |
272 | 272 | |
... | ... | @@ -371,7 +371,7 @@ msgstr "Não foi possível iniciar transferência de arquivo." |
371 | 371 | msgid "Can't use winsock version %d.%d" |
372 | 372 | msgstr "Não posso usar versão winsock %d.%d" |
373 | 373 | |
374 | -#: src/ssl/negotiate.c:370 src/ssl/crl.c:165 | |
374 | +#: src/ssl/crl.c:165 src/ssl/negotiate.c:370 | |
375 | 375 | msgid "Can't verify." |
376 | 376 | msgstr "Não foi possível verificar" |
377 | 377 | |
... | ... | @@ -637,12 +637,12 @@ msgstr "Apagar campos" |
637 | 637 | msgid "Error" |
638 | 638 | msgstr "Erro" |
639 | 639 | |
640 | -#: src/core/ft/ft_dft.c:454 src/core/ft/ft_cut.c:423 | |
640 | +#: src/core/ft/ft_cut.c:423 src/core/ft/ft_dft.c:454 | |
641 | 641 | #, c-format |
642 | 642 | msgid "Error \"%s\" reading from local file (rc=%d)" |
643 | 643 | msgstr "Erro \"%s\" lendo arquivo local (rc=%d)" |
644 | 644 | |
645 | -#: src/core/ft/ft_dft.c:332 src/core/ft/ft_cut.c:528 | |
645 | +#: src/core/ft/ft_cut.c:528 src/core/ft/ft_dft.c:332 | |
646 | 646 | #, c-format |
647 | 647 | msgid "Error \"%s\" writing to local file (rc=%d)" |
648 | 648 | msgstr "Erro \"%s\" gravando arquivo local (rc=%d)" |
... | ... | @@ -1006,8 +1006,8 @@ msgstr "Move o cursor para o primeiro branco após o último não branco no camp |
1006 | 1006 | msgid "Move to first unprotected field on screen" |
1007 | 1007 | msgstr "Move para o primeiro campo desprotegido" |
1008 | 1008 | |
1009 | -#: src/core/telnet.c:320 src/core/windows/event_dispatcher.c:149 | |
1010 | -#: src/core/windows/connect.c:78 | |
1009 | +#: src/core/telnet.c:320 src/core/windows/connect.c:78 | |
1010 | +#: src/core/windows/event_dispatcher.c:149 | |
1011 | 1011 | msgid "Network error" |
1012 | 1012 | msgstr "Erro de rede" |
1013 | 1013 | |
... | ... | @@ -1282,22 +1282,22 @@ msgstr "Pesquisa não produziu nenhum valor" |
1282 | 1282 | msgid "Secure connection was successful." |
1283 | 1283 | msgstr "Conexão segura efetuada com sucesso." |
1284 | 1284 | |
1285 | -#: src/ssl/negotiate.c:107 src/ssl/negotiate.c:241 src/ssl/negotiate.c:275 | |
1286 | -#: src/ssl/negotiate.c:369 src/ssl/negotiate.c:391 src/ssl/negotiate.c:412 | |
1287 | -#: src/ssl/crl.c:164 src/ssl/windows/ldap.c:108 src/ssl/windows/ldap.c:122 | |
1288 | -#: src/ssl/windows/ldap.c:151 src/ssl/windows/ldap.c:165 | |
1289 | -#: src/ssl/windows/ldap.c:180 src/ssl/windows/ldap.c:210 | |
1290 | -#: src/ssl/windows/ldap.c:222 src/ssl/windows/ldap.c:234 | |
1291 | -#: src/ssl/windows/ldap.c:258 src/ssl/windows/init.c:91 | |
1292 | -#: src/ssl/windows/init.c:112 src/ssl/windows/init.c:138 | |
1293 | -#: src/ssl/windows/init.c:149 src/ssl/windows/http.c:57 | |
1294 | -#: src/ssl/windows/http.c:73 src/ssl/windows/getcrl.c:57 | |
1295 | -#: src/ssl/windows/getcrl.c:74 src/ssl/windows/getcrl.c:86 | |
1296 | -#: src/ssl/windows/getcrl.c:118 src/ssl/windows/curl.c:188 | |
1285 | +#: src/ssl/crl.c:164 src/ssl/negotiate.c:107 src/ssl/negotiate.c:241 | |
1286 | +#: src/ssl/negotiate.c:275 src/ssl/negotiate.c:369 src/ssl/negotiate.c:391 | |
1287 | +#: src/ssl/negotiate.c:412 src/ssl/windows/curl.c:188 | |
1297 | 1288 | #: src/ssl/windows/curl.c:218 src/ssl/windows/curl.c:242 |
1298 | 1289 | #: src/ssl/windows/curl.c:263 src/ssl/windows/curl.c:272 |
1299 | 1290 | #: src/ssl/windows/curl.c:300 src/ssl/windows/curl.c:333 |
1300 | -#: src/ssl/windows/curl.c:369 | |
1291 | +#: src/ssl/windows/curl.c:369 src/ssl/windows/getcrl.c:57 | |
1292 | +#: src/ssl/windows/getcrl.c:74 src/ssl/windows/getcrl.c:86 | |
1293 | +#: src/ssl/windows/getcrl.c:118 src/ssl/windows/http.c:57 | |
1294 | +#: src/ssl/windows/http.c:73 src/ssl/windows/init.c:91 | |
1295 | +#: src/ssl/windows/init.c:112 src/ssl/windows/init.c:138 | |
1296 | +#: src/ssl/windows/init.c:149 src/ssl/windows/ldap.c:108 | |
1297 | +#: src/ssl/windows/ldap.c:122 src/ssl/windows/ldap.c:151 | |
1298 | +#: src/ssl/windows/ldap.c:165 src/ssl/windows/ldap.c:180 | |
1299 | +#: src/ssl/windows/ldap.c:210 src/ssl/windows/ldap.c:222 | |
1300 | +#: src/ssl/windows/ldap.c:234 src/ssl/windows/ldap.c:258 | |
1301 | 1301 | msgid "Security error" |
1302 | 1302 | msgstr "Erro de segurança" |
1303 | 1303 | |
... | ... | @@ -1781,8 +1781,8 @@ msgstr "Mostrar posição do cursor" |
1781 | 1781 | msgid "Transfer cancelled by host" |
1782 | 1782 | msgstr "Transferência cancelada pelo host" |
1783 | 1783 | |
1784 | -#: src/core/ft/ft_dft.c:230 src/core/ft/ft_dft.c:373 src/core/ft/ft_cut.c:400 | |
1785 | -#: src/core/ft/ft_cut.c:495 | |
1784 | +#: src/core/ft/ft_cut.c:400 src/core/ft/ft_cut.c:495 src/core/ft/ft_dft.c:230 | |
1785 | +#: src/core/ft/ft_dft.c:373 | |
1786 | 1786 | msgid "Transfer cancelled by user" |
1787 | 1787 | msgstr "Transferência cancelada pelo usuário" |
1788 | 1788 | ... | ... |
src/core/connect.c
... | ... | @@ -115,6 +115,10 @@ |
115 | 115 | } |
116 | 116 | |
117 | 117 | #if defined(HAVE_LIBSSL) |
118 | + debug("%s: TLS/SSL is %s",__FUNCTION__,hSession->ssl.enabled ? "ENABLED" : "DISABLED") | |
119 | + trace_dsn(hSession,"TLS/SSL is %s\n", hSession->ssl.enabled ? "enabled" : "disabled" ); | |
120 | + | |
121 | + if(hSession->ssl.enabled) | |
118 | 122 | { |
119 | 123 | SSL_ERROR_MESSAGE ssl_error; |
120 | 124 | memset(&ssl_error,0,sizeof(ssl_error)); | ... | ... |
src/core/iocalls.c
... | ... | @@ -575,6 +575,8 @@ int non_blocking(H3270 *hSession, Boolean on) |
575 | 575 | |
576 | 576 | #endif |
577 | 577 | |
578 | + debug("Socket %d is now %s",hSession->connection.sock,(on ? "Non Blocking" : "Blocking")); | |
579 | + | |
578 | 580 | lib3270_set_poll_state(hSession,hSession->xio.read, on); |
579 | 581 | lib3270_set_poll_state(hSession,hSession->xio.write, on); |
580 | 582 | lib3270_set_poll_state(hSession,hSession->xio.except, on); | ... | ... |
src/core/linux/connect.c
... | ... | @@ -196,8 +196,6 @@ static void net_connected(H3270 *hSession, int GNUC_UNUSED(fd), LIB3270_IO_FLAG |
196 | 196 | hSession->ever_3270 = False; |
197 | 197 | |
198 | 198 | #if defined(HAVE_LIBSSL) |
199 | - debug("%s: TLS/SSL is %s",__FUNCTION__,hSession->ssl.enabled ? "ENABLED" : "DISABLED") | |
200 | - trace_dsn(hSession,"TLS/SSL is %s\n", hSession->ssl.enabled ? "enabled" : "disabled" ); | |
201 | 199 | if(hSession->ssl.enabled) |
202 | 200 | { |
203 | 201 | hSession->ssl.host = 1; | ... | ... |
src/core/telnet.c
src/core/windows/connect.c
... | ... | @@ -190,19 +190,22 @@ static void sockstart(H3270 *session) |
190 | 190 | for(rp = result; hSession->connection.sock < 0 && rp != NULL; rp = rp->ai_next) |
191 | 191 | { |
192 | 192 | hSession->connection.sock = socket(rp->ai_family, rp->ai_socktype, rp->ai_protocol); |
193 | + | |
193 | 194 | if(hSession->connection.sock < 0) |
194 | 195 | { |
195 | 196 | ((struct resolver *) host)->rc = errno; |
196 | 197 | ((struct resolver *) host)->message = strerror(errno); |
198 | + debug("Socket error %d: %s",((struct resolver *) host)->rc,((struct resolver *) host)->message); | |
197 | 199 | continue; |
198 | 200 | } |
199 | 201 | |
200 | 202 | // Connected! |
201 | 203 | if(connect(hSession->connection.sock, rp->ai_addr, rp->ai_addrlen)) |
202 | 204 | { |
203 | - SOCK_CLOSE(hSession); | |
204 | 205 | ((struct resolver *) host)->rc = errno; |
205 | 206 | ((struct resolver *) host)->message = strerror(errno); |
207 | + debug("Connection error %d: %s",((struct resolver *) host)->rc,((struct resolver *) host)->message); | |
208 | + SOCK_CLOSE(hSession); | |
206 | 209 | continue; |
207 | 210 | } |
208 | 211 | |
... | ... | @@ -210,6 +213,8 @@ static void sockstart(H3270 *session) |
210 | 213 | |
211 | 214 | freeaddrinfo(result); |
212 | 215 | |
216 | + debug("%s: Connected using socket %d",__FUNCTION__,hSession->connection.sock); | |
217 | + | |
213 | 218 | return 0; |
214 | 219 | |
215 | 220 | } |
... | ... | @@ -314,6 +319,7 @@ int net_reconnect(H3270 *hSession, int seconds) |
314 | 319 | |
315 | 320 | if(hSession->ssl.enabled) |
316 | 321 | { |
322 | + debug("%s: Enabling SSL ****************************",__FUNCTION__); | |
317 | 323 | hSession->ssl.host = 1; |
318 | 324 | if(ssl_init(hSession)) |
319 | 325 | return errno = ENOTCONN; | ... | ... |
src/testprogram/testprogram.c
... | ... | @@ -36,6 +36,10 @@ static void online_group_state_changed(H3270 GNUC_UNUSED(*hSession), void GNUC_U |
36 | 36 | |
37 | 37 | int main(int argc, char *argv[]) |
38 | 38 | { |
39 | +#ifdef _WIN32 | |
40 | + printf("Process %s running on pid %u\n",argv[0],(unsigned int) GetCurrentProcessId()); | |
41 | +#endif // _WIN32 | |
42 | + | |
39 | 43 | #ifdef LC_ALL |
40 | 44 | setlocale( LC_ALL, "" ); |
41 | 45 | #endif | ... | ... |