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 | ... | ... |