Commit b749aacbbb5ad45cda6be8605ad4a4f9105f9b32

Authored by Perry Werneck
1 parent c3a6a256

Adding SSL trace option

Fixing trace window segfault.
@@ -56,11 +56,6 @@ @@ -56,11 +56,6 @@
56 <Unit filename="android/Makefile" /> 56 <Unit filename="android/Makefile" />
57 <Unit filename="android/jni/Android.mk" /> 57 <Unit filename="android/jni/Android.mk" />
58 <Unit filename="android/jni/globals.h" /> 58 <Unit filename="android/jni/globals.h" />
59 - <Unit filename="android/jni/main.cpp" />  
60 - <Unit filename="android/jni/misc.cpp" />  
61 - <Unit filename="android/jni/text.cpp" />  
62 - <Unit filename="android/src/br/com/bb/pw3270/PW3270Activity.java" />  
63 - <Unit filename="android/src/br/com/bb/pw3270/lib3270.java" />  
64 <Unit filename="autogen.sh" /> 59 <Unit filename="autogen.sh" />
65 <Unit filename="configure.ac" /> 60 <Unit filename="configure.ac" />
66 <Unit filename="man/man1/pw3270.1" /> 61 <Unit filename="man/man1/pw3270.1" />
@@ -101,26 +96,6 @@ @@ -101,26 +96,6 @@
101 <Option target="Debug" /> 96 <Option target="Debug" />
102 <Option target="Release" /> 97 <Option target="Release" />
103 </Unit> 98 </Unit>
104 - <Unit filename="src/java/sample/bbsample.java">  
105 - <Option target="Debug" />  
106 - <Option target="Release" />  
107 - </Unit>  
108 - <Unit filename="src/java/sample/efglobe.java">  
109 - <Option target="Debug" />  
110 - <Option target="Release" />  
111 - </Unit>  
112 - <Unit filename="src/java/sample/popup.java">  
113 - <Option target="Debug" />  
114 - <Option target="Release" />  
115 - </Unit>  
116 - <Unit filename="src/java/terminal.java">  
117 - <Option target="Debug" />  
118 - <Option target="Release" />  
119 - </Unit>  
120 - <Unit filename="src/java/testprogram.java">  
121 - <Option target="Debug" />  
122 - <Option target="Release" />  
123 - </Unit>  
124 <Unit filename="src/lib3270/3270ds.h" /> 99 <Unit filename="src/lib3270/3270ds.h" />
125 <Unit filename="src/lib3270/Makefile.in" /> 100 <Unit filename="src/lib3270/Makefile.in" />
126 <Unit filename="src/lib3270/ansic.h" /> 101 <Unit filename="src/lib3270/ansic.h" />
@@ -170,20 +145,13 @@ @@ -170,20 +145,13 @@
170 <Unit filename="src/libpw3270cpp/session.cc" /> 145 <Unit filename="src/libpw3270cpp/session.cc" />
171 <Unit filename="src/libpw3270cpp/testprogram.cc" /> 146 <Unit filename="src/libpw3270cpp/testprogram.cc" />
172 <Unit filename="src/loffice/Makefile.in" /> 147 <Unit filename="src/loffice/Makefile.in" />
173 - <Unit filename="src/loffice/connect.cc" />  
174 <Unit filename="src/loffice/description.txt" /> 148 <Unit filename="src/loffice/description.txt" />
175 <Unit filename="src/loffice/description.xml" /> 149 <Unit filename="src/loffice/description.xml" />
176 <Unit filename="src/loffice/description.xml.in" /> 150 <Unit filename="src/loffice/description.xml.in" />
177 - <Unit filename="src/loffice/get.cc" />  
178 <Unit filename="src/loffice/globals.hpp" /> 151 <Unit filename="src/loffice/globals.hpp" />
179 - <Unit filename="src/loffice/info.cc" />  
180 - <Unit filename="src/loffice/init.cc" />  
181 <Unit filename="src/loffice/manifest.xml" /> 152 <Unit filename="src/loffice/manifest.xml" />
182 <Unit filename="src/loffice/manifest.xml.in" /> 153 <Unit filename="src/loffice/manifest.xml.in" />
183 <Unit filename="src/loffice/pw3270.idl" /> 154 <Unit filename="src/loffice/pw3270.idl" />
184 - <Unit filename="src/loffice/service.cc" />  
185 - <Unit filename="src/loffice/set.cc" />  
186 - <Unit filename="src/loffice/testprogram.cc" />  
187 <Unit filename="src/oxt/Makefile.in" /> 155 <Unit filename="src/oxt/Makefile.in" />
188 <Unit filename="src/oxt/description.txt" /> 156 <Unit filename="src/oxt/description.txt" />
189 <Unit filename="src/oxt/description.xml.in" /> 157 <Unit filename="src/oxt/description.xml.in" />
@@ -191,14 +159,9 @@ @@ -191,14 +159,9 @@
191 <Unit filename="src/oxt/manifest.xml.in" /> 159 <Unit filename="src/oxt/manifest.xml.in" />
192 <Unit filename="src/oxt/pw3270.idl" /> 160 <Unit filename="src/oxt/pw3270.idl" />
193 <Unit filename="src/php/Makefile.in" /> 161 <Unit filename="src/php/Makefile.in" />
194 - <Unit filename="src/php/get.cc" />  
195 - <Unit filename="src/php/init.cc" />  
196 - <Unit filename="src/php/main.cc" />  
197 - <Unit filename="src/php/misc.cc" />  
198 <Unit filename="src/php/php.ini" /> 162 <Unit filename="src/php/php.ini" />
199 <Unit filename="src/php/php3270.h" /> 163 <Unit filename="src/php/php3270.h" />
200 <Unit filename="src/php/sample.php" /> 164 <Unit filename="src/php/sample.php" />
201 - <Unit filename="src/php/set.cc" />  
202 <Unit filename="src/plugins/dbus3270/Makefile.in" /> 165 <Unit filename="src/plugins/dbus3270/Makefile.in" />
203 <Unit filename="src/plugins/dbus3270/daemon.c"> 166 <Unit filename="src/plugins/dbus3270/daemon.c">
204 <Option compilerVar="CC" /> 167 <Option compilerVar="CC" />
@@ -342,41 +305,8 @@ @@ -342,41 +305,8 @@
342 <Unit filename="src/pw3270/v3270/private.h" /> 305 <Unit filename="src/pw3270/v3270/private.h" />
343 <Unit filename="src/pw3270/v3270/sources.mak" /> 306 <Unit filename="src/pw3270/v3270/sources.mak" />
344 <Unit filename="src/pw3270/v3270ft/Makefile.in" /> 307 <Unit filename="src/pw3270/v3270ft/Makefile.in" />
345 - <Unit filename="src/pw3270/v3270ft/filelist.c">  
346 - <Option compilerVar="CC" />  
347 - </Unit>  
348 <Unit filename="src/pw3270/v3270ft/genmarshal" /> 308 <Unit filename="src/pw3270/v3270ft/genmarshal" />
349 - <Unit filename="src/pw3270/v3270ft/get.c">  
350 - <Option compilerVar="CC" />  
351 - </Unit>  
352 - <Unit filename="src/pw3270/v3270ft/load.c">  
353 - <Option compilerVar="CC" />  
354 - </Unit>  
355 - <Unit filename="src/pw3270/v3270ft/misc.c">  
356 - <Option compilerVar="CC" />  
357 - </Unit>  
358 <Unit filename="src/pw3270/v3270ft/private.h" /> 309 <Unit filename="src/pw3270/v3270ft/private.h" />
359 - <Unit filename="src/pw3270/v3270ft/save.c">  
360 - <Option compilerVar="CC" />  
361 - </Unit>  
362 - <Unit filename="src/pw3270/v3270ft/select.c">  
363 - <Option compilerVar="CC" />  
364 - </Unit>  
365 - <Unit filename="src/pw3270/v3270ft/set.c">  
366 - <Option compilerVar="CC" />  
367 - </Unit>  
368 - <Unit filename="src/pw3270/v3270ft/tables.c">  
369 - <Option compilerVar="CC" />  
370 - </Unit>  
371 - <Unit filename="src/pw3270/v3270ft/transfer.c">  
372 - <Option compilerVar="CC" />  
373 - </Unit>  
374 - <Unit filename="src/pw3270/v3270ft/v3270ft.c">  
375 - <Option compilerVar="CC" />  
376 - </Unit>  
377 - <Unit filename="src/pw3270/v3270ft/v3270ftprogress.c">  
378 - <Option compilerVar="CC" />  
379 - </Unit>  
380 <Unit filename="src/pw3270/window.c"> 310 <Unit filename="src/pw3270/window.c">
381 <Option compilerVar="CC" /> 311 <Option compilerVar="CC" />
382 </Unit> 312 </Unit>
src/pw3270/actions.c
@@ -363,6 +363,8 @@ static void lib3270_toggle_action(GtkToggleAction *action,GtkWidget *widget) @@ -363,6 +363,8 @@ static void lib3270_toggle_action(GtkToggleAction *action,GtkWidget *widget)
363 { 363 {
364 LIB3270_TOGGLE toggle = (LIB3270_TOGGLE) GPOINTER_TO_INT(g_object_get_data(G_OBJECT(action),"toggle_id")); 364 LIB3270_TOGGLE toggle = (LIB3270_TOGGLE) GPOINTER_TO_INT(g_object_get_data(G_OBJECT(action),"toggle_id"));
365 365
  366 + trace("Action %s toggled on widget %p (id=%d)\n",gtk_action_get_name(GTK_ACTION(action)),widget,(int) toggle);
  367 +
366 lib3270_trace_event(v3270_get_session(widget),"Action %s toggled on widget %p (id=%d)\n",gtk_action_get_name(GTK_ACTION(action)),widget,(int) toggle); 368 lib3270_trace_event(v3270_get_session(widget),"Action %s toggled on widget %p (id=%d)\n",gtk_action_get_name(GTK_ACTION(action)),widget,(int) toggle);
367 369
368 if(toggle == TOGGLE_GDKDEBUG) 370 if(toggle == TOGGLE_GDKDEBUG)
@@ -438,6 +440,8 @@ static void action_set_toggle(GtkAction *action, GtkWidget *widget) @@ -438,6 +440,8 @@ static void action_set_toggle(GtkAction *action, GtkWidget *widget)
438 { 440 {
439 LIB3270_TOGGLE id = (LIB3270_TOGGLE) GPOINTER_TO_INT(g_object_get_data(G_OBJECT(action),"toggle_id")); 441 LIB3270_TOGGLE id = (LIB3270_TOGGLE) GPOINTER_TO_INT(g_object_get_data(G_OBJECT(action),"toggle_id"));
440 442
  443 + trace("Action %s activated on widget %p toggle=%d\n",gtk_action_get_name(action),widget,id);
  444 +
441 lib3270_trace_event(v3270_get_session(widget),"Action %s activated on widget %p toggle=%d\n",gtk_action_get_name(action),widget,id); 445 lib3270_trace_event(v3270_get_session(widget),"Action %s activated on widget %p toggle=%d\n",gtk_action_get_name(action),widget,id);
442 lib3270_set_toggle(v3270_get_session(widget),id,1); 446 lib3270_set_toggle(v3270_get_session(widget),id,1);
443 } 447 }
@@ -445,6 +449,9 @@ static void action_set_toggle(GtkAction *action, GtkWidget *widget) @@ -445,6 +449,9 @@ static void action_set_toggle(GtkAction *action, GtkWidget *widget)
445 static void action_reset_toggle(GtkAction *action, GtkWidget *widget) 449 static void action_reset_toggle(GtkAction *action, GtkWidget *widget)
446 { 450 {
447 LIB3270_TOGGLE id = (LIB3270_TOGGLE) GPOINTER_TO_INT(g_object_get_data(G_OBJECT(action),"toggle_id")); 451 LIB3270_TOGGLE id = (LIB3270_TOGGLE) GPOINTER_TO_INT(g_object_get_data(G_OBJECT(action),"toggle_id"));
  452 +
  453 + trace("Action %s activated on widget %p toggle=%d\n",gtk_action_get_name(action),widget,id);
  454 +
448 lib3270_trace_event(v3270_get_session(widget),"Action %s activated on widget %p toggle=%d\n",gtk_action_get_name(action),widget,id); 455 lib3270_trace_event(v3270_get_session(widget),"Action %s activated on widget %p toggle=%d\n",gtk_action_get_name(action),widget,id);
449 lib3270_set_toggle(v3270_get_session(widget),id,0); 456 lib3270_set_toggle(v3270_get_session(widget),id,0);
450 } 457 }
src/pw3270/tools.c
@@ -136,6 +136,8 @@ LIB3270_EXPORT gboolean pw3270_set_toggle_by_name(GtkWidget *widget, const gchar @@ -136,6 +136,8 @@ LIB3270_EXPORT gboolean pw3270_set_toggle_by_name(GtkWidget *widget, const gchar
136 H3270 * hSession = pw3270_get_session(widget); 136 H3270 * hSession = pw3270_get_session(widget);
137 LIB3270_TOGGLE id = lib3270_get_toggle_id(name); 137 LIB3270_TOGGLE id = lib3270_get_toggle_id(name);
138 138
  139 + trace("%s(%s) id=%u",__FUNCTION__,name,id);
  140 +
139 if(!hSession || id == (LIB3270_TOGGLE) -1) 141 if(!hSession || id == (LIB3270_TOGGLE) -1)
140 return FALSE; 142 return FALSE;
141 143
src/pw3270/window.c
@@ -257,13 +257,36 @@ @@ -257,13 +257,36 @@
257 lib3270_set_toggle(hSession,LIB3270_TOGGLE_NETWORK_TRACE,0); 257 lib3270_set_toggle(hSession,LIB3270_TOGGLE_NETWORK_TRACE,0);
258 } 258 }
259 259
  260 + struct trace_data
  261 + {
  262 + H3270 * hSession;
  263 + gchar * text;
  264 + };
260 265
261 - static void trace_window(G_GNUC_UNUSED H3270 *hSession, G_GNUC_UNUSED void * userdata, const char *fmt, va_list args) 266 + static gboolean bg_trace_window(struct trace_data *data)
262 { 267 {
263 - GtkWidget * widget = v3270_trace_new_from_session(hSession); 268 + GtkWidget * widget = v3270_trace_new_from_session(data->hSession,data->text);
  269 +
264 v3270_trace_set_destroy_on_close(widget,TRUE); 270 v3270_trace_set_destroy_on_close(widget,TRUE);
265 - g_signal_connect(widget, "destroy", G_CALLBACK(trace_window_destroy), hSession);  
266 - gtk_widget_show(widget); 271 +
  272 + g_signal_connect(widget, "destroy", G_CALLBACK(trace_window_destroy), data->hSession);
  273 +
  274 + gtk_widget_show_all(widget);
  275 +
  276 + g_free(data->text);
  277 +
  278 + return FALSE;
  279 + }
  280 +
  281 + static void trace_window(G_GNUC_UNUSED H3270 *hSession, G_GNUC_UNUSED void * userdata, const char *fmt, va_list args)
  282 + {
  283 + struct trace_data * data = g_new0(struct trace_data,1);
  284 +
  285 + data->hSession = hSession;
  286 + data->text = g_strdup_vprintf(fmt,args);
  287 +
  288 + g_idle_add_full(G_PRIORITY_DEFAULT_IDLE,(GSourceFunc) bg_trace_window, data, g_free);
  289 +
267 } 290 }
268 291
269 GtkWidget * pw3270_new(const gchar *host, const gchar *systype, unsigned short colors) 292 GtkWidget * pw3270_new(const gchar *host, const gchar *systype, unsigned short colors)
@@ -292,7 +315,7 @@ @@ -292,7 +315,7 @@
292 if(*ptr) 315 if(*ptr)
293 { 316 {
294 pw3270_set_url(widget,ptr); 317 pw3270_set_url(widget,ptr);
295 - connct = pw3270_get_toggle(widget,LIB3270_TOGGLE_CONNECT_ON_STARTUP) ? TRUE : FALSE; 318 +// connct = pw3270_get_toggle(widget,LIB3270_TOGGLE_CONNECT_ON_STARTUP) ? TRUE : FALSE;
296 } 319 }
297 g_free(ptr); 320 g_free(ptr);
298 } 321 }
@@ -318,8 +341,10 @@ @@ -318,8 +341,10 @@
318 341
319 v3270_set_scaled_fonts(GTK_PW3270(widget)->terminal,get_boolean_from_config("terminal","sfonts",FALSE)); 342 v3270_set_scaled_fonts(GTK_PW3270(widget)->terminal,get_boolean_from_config("terminal","sfonts",FALSE));
320 343
  344 + /*
321 if(connct) 345 if(connct)
322 pw3270_connect(widget); 346 pw3270_connect(widget);
  347 + */
323 348
324 return widget; 349 return widget;
325 } 350 }
ui/98trace.xml
@@ -37,6 +37,7 @@ @@ -37,6 +37,7 @@
37 <menuitem action='toggle' id='screentrace' label='Trace screen contents' /> 37 <menuitem action='toggle' id='screentrace' label='Trace screen contents' />
38 <menuitem action='toggle' id='nettrace' label='Trace network data flow' /> 38 <menuitem action='toggle' id='nettrace' label='Trace network data flow' />
39 <menuitem action='toggle' id='eventtrace' label='Trace user interface events' /> 39 <menuitem action='toggle' id='eventtrace' label='Trace user interface events' />
  40 + <menuitem action='toggle' id='ssltrace' label='Trace SSL negotiation' />
40 </menu> 41 </menu>
41 <menuitem action='toggle' id='fieldattr' label='Field Delimiters' /> 42 <menuitem action='toggle' id='fieldattr' label='Field Delimiters' />
42 </menu> 43 </menu>