Commit 3b6d0324c7bf4f6685c6f0ddf22e249a50c5101a

Authored by perry.werneck@gmail.com
1 parent 8d37354a

Implementando dialogo de popup, corrigindo teste da libssl e incluindo popup qua…

…ndo não está disponível
@@ -188,10 +188,10 @@ AC_SUBST(GTK_CFLAGS) @@ -188,10 +188,10 @@ AC_SUBST(GTK_CFLAGS)
188 188
189 #--[ SSL ]---------------------------------------------------------------------------------------------------------------------------------------------------- 189 #--[ SSL ]----------------------------------------------------------------------------------------------------------------------------------------------------
190 190
191 -PKG_CHECK_MODULES( [SSL], [libssl], AC_DEFINE(HAVE_SSL), AC_MSG_NOTICE([libssl not present.]) ) 191 +PKG_CHECK_MODULES( [LIBSSL], [libssl], AC_DEFINE(HAVE_LIBSSL), AC_MSG_NOTICE([libssl not present.]) )
192 192
193 -AC_SUBST(SSL_LIBS)  
194 -AC_SUBST(SSL_CFLAGS) 193 +AC_SUBST(LIBSSL_LIBS)
  194 +AC_SUBST(LIBSSL_CFLAGS)
195 195
196 #--[ Libraries ]---------------------------------------------------------------------------------------------------------------------------------------------- 196 #--[ Libraries ]----------------------------------------------------------------------------------------------------------------------------------------------
197 AC_SEARCH_LIBS( [sin], [m], AC_DEFINE(HAVE_LIBM), AC_MSG_NOTICE([libm not present.])) 197 AC_SEARCH_LIBS( [sin], [m], AC_DEFINE(HAVE_LIBM), AC_MSG_NOTICE([libm not present.]))
src/gtk/main.c
@@ -70,7 +70,6 @@ static int popup_handler(H3270 *session, LIB3270_NOTIFY type, const char *title, @@ -70,7 +70,6 @@ static int popup_handler(H3270 *session, LIB3270_NOTIFY type, const char *title,
70 gtk_dialog_run(GTK_DIALOG (dialog)); 70 gtk_dialog_run(GTK_DIALOG (dialog));
71 gtk_widget_destroy(dialog); 71 gtk_widget_destroy(dialog);
72 72
73 -  
74 return 0; 73 return 0;
75 } 74 }
76 75
src/lib3270/Makefile.in
@@ -29,15 +29,15 @@ @@ -29,15 +29,15 @@
29 PACKAGE=@PACKAGE_NAME@ 29 PACKAGE=@PACKAGE_NAME@
30 30
31 CFLAGS=@CFLAGS@ -DAPPDATA=\"$(datarootdir)/$(PACKAGE_NAME)\" -I../../src/include 31 CFLAGS=@CFLAGS@ -DAPPDATA=\"$(datarootdir)/$(PACKAGE_NAME)\" -I../../src/include
32 -SSL_CFLAGS=@SSL_CFLAGS@ 32 +SSL_CFLAGS=@LIBSSL_CFLAGS@
33 33
34 DLL_FLAGS=@DLL_FLAGS@ 34 DLL_FLAGS=@DLL_FLAGS@
35 LDFLAGS=@LDFLAGS@ 35 LDFLAGS=@LDFLAGS@
36 36
37 -LIBS=@LIBS@ @SSL_LIBS@ @SOCKET_LIBS@ 37 +LIBS=@LIBS@ @LIBSSL_LIBS@ @SOCKET_LIBS@
38 38
39 DEBUG_CFLAGS=-DDEBUG=1 -g 39 DEBUG_CFLAGS=-DDEBUG=1 -g
40 -DEPENDS ?= *.h ../../src/include/*.h 40 +DEPENDS ?= *.h ../../src/include/*.h Makefile
41 41
42 #---[ Tools ]------------------------------------------------------------------ 42 #---[ Tools ]------------------------------------------------------------------
43 43
@@ -79,7 +79,7 @@ SOURCES = XtGlue.c actions.c ansi.c charset.c ctlr.c \ @@ -79,7 +79,7 @@ SOURCES = XtGlue.c actions.c ansi.c charset.c ctlr.c \
79 #---[ Misc targets ]----------------------------------------------------------- 79 #---[ Misc targets ]-----------------------------------------------------------
80 80
81 Debug: $(BINDBG)/@DLLPREFIX@3270@DLLEXT@ 81 Debug: $(BINDBG)/@DLLPREFIX@3270@DLLEXT@
82 - 82 +
83 83
84 $(BINDBG)/@DLLPREFIX@3270@DLLEXT@: $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC)@OBJEXT@) 84 $(BINDBG)/@DLLPREFIX@3270@DLLEXT@: $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC)@OBJEXT@)
85 @echo $@ ... 85 @echo $@ ...
src/lib3270/host.c
@@ -258,8 +258,10 @@ split_host(H3270 *hSession, char *s, char *ansi, char *std_ds, char *passthru, @@ -258,8 +258,10 @@ split_host(H3270 *hSession, char *s, char *ansi, char *std_ds, char *passthru,
258 /* Strip leading whitespace. */ 258 /* Strip leading whitespace. */
259 while (*s && isspace(*s)) 259 while (*s && isspace(*s))
260 s++; 260 s++;
261 - if (!*s) {  
262 - popup_an_error(NULL,_( "Empty hostname" )); 261 +
  262 + if (!*s)
  263 + {
  264 + popup_an_error(hSession,_( "Empty hostname" ));
263 goto split_fail; 265 goto split_fail;
264 } 266 }
265 267
@@ -286,18 +288,32 @@ split_host(H3270 *hSession, char *s, char *ansi, char *std_ds, char *passthru, @@ -286,18 +288,32 @@ split_host(H3270 *hSession, char *s, char *ansi, char *std_ds, char *passthru,
286 case 'N': 288 case 'N':
287 *non_e = True; 289 *non_e = True;
288 break; 290 break;
289 -#if defined(HAVE_LIBSSL) /*[*/ 291 +#if defined(HAVE_LIBSSL)
290 case 'l': 292 case 'l':
291 case 'L': 293 case 'L':
292 *secure = True; 294 *secure = True;
293 break; 295 break;
294 -#endif /*]*/ 296 +#else
  297 + case 'l':
  298 + case 'L':
  299 + popup_system_error(hSession, _( "SSL error" ),
  300 + _( "Unable to connect to secure hosts" ),
  301 + "%s",
  302 + _( "This version of " PACKAGE_NAME " was built without support for secure sockets layer (SSL)." )
  303 + );
  304 +
  305 + goto split_fail;
  306 +#endif // HAVE_LIBSSL
295 case 'c': 307 case 'c':
296 case 'C': 308 case 'C':
297 *no_login = True; 309 *no_login = True;
298 break; 310 break;
299 default: 311 default:
300 - popup_system_error(hSession,NULL,_("Hostname syntax error"),_("Option '%c:' not supported"),*s); 312 + popup_system_error(hSession, _( "Hostname syntax error" ),
  313 + _( "Can't connect to host" ),
  314 + _( "Option '%c:' is not supported" ),
  315 + *s );
  316 +
301 goto split_fail; 317 goto split_fail;
302 } 318 }
303 *needed = True; 319 *needed = True;
src/lib3270/telnet.c
@@ -1009,7 +1009,7 @@ void net_input(H3270 *session) @@ -1009,7 +1009,7 @@ void net_input(H3270 *session)
1009 trace_dsn("RCVD SSL_read error %ld (%s)\n", e, 1009 trace_dsn("RCVD SSL_read error %ld (%s)\n", e,
1010 err_buf); 1010 err_buf);
1011 1011
1012 - popup_an_error("SSL_read:\n%s", err_buf); 1012 + popup_an_error(NULL,"SSL_read:\n%s", err_buf);
1013 host_disconnect(session,True); 1013 host_disconnect(session,True);
1014 return; 1014 return;
1015 } 1015 }
@@ -2019,7 +2019,7 @@ net_rawout(unsigned const char *buf, int len) @@ -2019,7 +2019,7 @@ net_rawout(unsigned const char *buf, int len)
2019 e = ERR_get_error(); 2019 e = ERR_get_error();
2020 (void) ERR_error_string(e, err_buf); 2020 (void) ERR_error_string(e, err_buf);
2021 trace_dsn("RCVD SSL_write error %ld (%s)\n", e,err_buf); 2021 trace_dsn("RCVD SSL_write error %ld (%s)\n", e,err_buf);
2022 - popup_an_error("SSL_write:\n%s", err_buf); 2022 + popup_an_error(NULL,"SSL_write:\n%s", err_buf);
2023 host_disconnect(&h3270,False); 2023 host_disconnect(&h3270,False);
2024 return; 2024 return;
2025 } 2025 }
@@ -3216,7 +3216,7 @@ ssl_init(void) @@ -3216,7 +3216,7 @@ ssl_init(void)
3216 ssl_initted = True; 3216 ssl_initted = True;
3217 ssl_ctx = SSL_CTX_new(SSLv23_method()); 3217 ssl_ctx = SSL_CTX_new(SSLv23_method());
3218 if (ssl_ctx == NULL) { 3218 if (ssl_ctx == NULL) {
3219 - popup_an_error("SSL_CTX_new failed"); 3219 + popup_an_error(NULL,"SSL_CTX_new failed");
3220 h3270.ssl_host = False; 3220 h3270.ssl_host = False;
3221 return; 3221 return;
3222 } 3222 }
@@ -3225,7 +3225,7 @@ ssl_init(void) @@ -3225,7 +3225,7 @@ ssl_init(void)
3225 3225
3226 ssl_con = SSL_new(ssl_ctx); 3226 ssl_con = SSL_new(ssl_ctx);
3227 if (ssl_con == NULL) { 3227 if (ssl_con == NULL) {
3228 - popup_an_error("SSL_new failed"); 3228 + popup_an_error(NULL,"SSL_new failed");
3229 h3270.ssl_host = False; 3229 h3270.ssl_host = False;
3230 } 3230 }
3231 SSL_set_verify(ssl_con, 0/*xxx*/, NULL); 3231 SSL_set_verify(ssl_con, 0/*xxx*/, NULL);
@@ -3243,7 +3243,7 @@ ssl_init(void) @@ -3243,7 +3243,7 @@ ssl_init(void)
3243 e = ERR_get_error(); 3243 e = ERR_get_error();
3244 (void) ERR_error_string(e, err_buf); 3244 (void) ERR_error_string(e, err_buf);
3245 3245
3246 - popup_an_error("SSL_CTX_use_certificate_chain_file(" 3246 + popup_an_error(NULL,"SSL_CTX_use_certificate_chain_file("
3247 "\"%s\") failed:\n%s", 3247 "\"%s\") failed:\n%s",
3248 appres.cert_file, err_buf); 3248 appres.cert_file, err_buf);
3249 } 3249 }
@@ -3338,7 +3338,7 @@ continue_tls(unsigned char *sbbuf, int len) @@ -3338,7 +3338,7 @@ continue_tls(unsigned char *sbbuf, int len)
3338 if (len < 2 || sbbuf[1] != TLS_FOLLOWS) { 3338 if (len < 2 || sbbuf[1] != TLS_FOLLOWS) {
3339 /* Trace the junk. */ 3339 /* Trace the junk. */
3340 trace_dsn("%s ? %s\n", opt(TELOPT_STARTTLS), cmd(SE)); 3340 trace_dsn("%s ? %s\n", opt(TELOPT_STARTTLS), cmd(SE));
3341 - popup_an_error("TLS negotiation failure"); 3341 + popup_an_error(NULL,"TLS negotiation failure");
3342 net_disconnect(); 3342 net_disconnect();
3343 return; 3343 return;
3344 } 3344 }