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
configure.ac
... ... @@ -188,10 +188,10 @@ AC_SUBST(GTK_CFLAGS)
188 188  
189 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 196 #--[ Libraries ]----------------------------------------------------------------------------------------------------------------------------------------------
197 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 70 gtk_dialog_run(GTK_DIALOG (dialog));
71 71 gtk_widget_destroy(dialog);
72 72  
73   -
74 73 return 0;
75 74 }
76 75  
... ...
src/lib3270/Makefile.in
... ... @@ -29,15 +29,15 @@
29 29 PACKAGE=@PACKAGE_NAME@
30 30  
31 31 CFLAGS=@CFLAGS@ -DAPPDATA=\"$(datarootdir)/$(PACKAGE_NAME)\" -I../../src/include
32   -SSL_CFLAGS=@SSL_CFLAGS@
  32 +SSL_CFLAGS=@LIBSSL_CFLAGS@
33 33  
34 34 DLL_FLAGS=@DLL_FLAGS@
35 35 LDFLAGS=@LDFLAGS@
36 36  
37   -LIBS=@LIBS@ @SSL_LIBS@ @SOCKET_LIBS@
  37 +LIBS=@LIBS@ @LIBSSL_LIBS@ @SOCKET_LIBS@
38 38  
39 39 DEBUG_CFLAGS=-DDEBUG=1 -g
40   -DEPENDS ?= *.h ../../src/include/*.h
  40 +DEPENDS ?= *.h ../../src/include/*.h Makefile
41 41  
42 42 #---[ Tools ]------------------------------------------------------------------
43 43  
... ... @@ -79,7 +79,7 @@ SOURCES = XtGlue.c actions.c ansi.c charset.c ctlr.c \
79 79 #---[ Misc targets ]-----------------------------------------------------------
80 80  
81 81 Debug: $(BINDBG)/@DLLPREFIX@3270@DLLEXT@
82   -
  82 +
83 83  
84 84 $(BINDBG)/@DLLPREFIX@3270@DLLEXT@: $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC)@OBJEXT@)
85 85 @echo $@ ...
... ...
src/lib3270/host.c
... ... @@ -258,8 +258,10 @@ split_host(H3270 *hSession, char *s, char *ansi, char *std_ds, char *passthru,
258 258 /* Strip leading whitespace. */
259 259 while (*s && isspace(*s))
260 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 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 288 case 'N':
287 289 *non_e = True;
288 290 break;
289   -#if defined(HAVE_LIBSSL) /*[*/
  291 +#if defined(HAVE_LIBSSL)
290 292 case 'l':
291 293 case 'L':
292 294 *secure = True;
293 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 307 case 'c':
296 308 case 'C':
297 309 *no_login = True;
298 310 break;
299 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 317 goto split_fail;
302 318 }
303 319 *needed = True;
... ...
src/lib3270/telnet.c
... ... @@ -1009,7 +1009,7 @@ void net_input(H3270 *session)
1009 1009 trace_dsn("RCVD SSL_read error %ld (%s)\n", e,
1010 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 1013 host_disconnect(session,True);
1014 1014 return;
1015 1015 }
... ... @@ -2019,7 +2019,7 @@ net_rawout(unsigned const char *buf, int len)
2019 2019 e = ERR_get_error();
2020 2020 (void) ERR_error_string(e, err_buf);
2021 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 2023 host_disconnect(&h3270,False);
2024 2024 return;
2025 2025 }
... ... @@ -3216,7 +3216,7 @@ ssl_init(void)
3216 3216 ssl_initted = True;
3217 3217 ssl_ctx = SSL_CTX_new(SSLv23_method());
3218 3218 if (ssl_ctx == NULL) {
3219   - popup_an_error("SSL_CTX_new failed");
  3219 + popup_an_error(NULL,"SSL_CTX_new failed");
3220 3220 h3270.ssl_host = False;
3221 3221 return;
3222 3222 }
... ... @@ -3225,7 +3225,7 @@ ssl_init(void)
3225 3225  
3226 3226 ssl_con = SSL_new(ssl_ctx);
3227 3227 if (ssl_con == NULL) {
3228   - popup_an_error("SSL_new failed");
  3228 + popup_an_error(NULL,"SSL_new failed");
3229 3229 h3270.ssl_host = False;
3230 3230 }
3231 3231 SSL_set_verify(ssl_con, 0/*xxx*/, NULL);
... ... @@ -3243,7 +3243,7 @@ ssl_init(void)
3243 3243 e = ERR_get_error();
3244 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 3247 "\"%s\") failed:\n%s",
3248 3248 appres.cert_file, err_buf);
3249 3249 }
... ... @@ -3338,7 +3338,7 @@ continue_tls(unsigned char *sbbuf, int len)
3338 3338 if (len < 2 || sbbuf[1] != TLS_FOLLOWS) {
3339 3339 /* Trace the junk. */
3340 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 3342 net_disconnect();
3343 3343 return;
3344 3344 }
... ...