Hi,

  I noticed issue below and I propose a solution for it. Can I ask for
comments?

  Every extcap tool has --debug and --debug-file options, but when they
are used, it do "nothing". File is created, but it is empty.
  Later I found that it must be used with --log-level=debug to really
log messages.
  The issue is that when you increase --log-level, it logs to console
(STDERR). So when extcap is started from Wireshark, it mixes log output
with packet data and wireshark gets confused and I found no way how to
make it operational.
  In other words you can't use debug of extcap from Wireshark.

  In code I found that the reason is that wsutils/wscode.c writes every
message to STDERR. If application registers additional file, it is
copied to it too, but output to STDERR is made in every case.
  Applications can replace default writer to STDERR, but no extcap do it.

  My proposal is to modify extcap/extcap-base.c:
1) When --debug is used, set log level to debug so you don't have to add
--log-level
2) If --log-file used, register custom log writer with
ws_log_init_with_writer() which will discard all messages so just write
to file will be made.
3) Update log init in every extcap

  Change is quite simple, but involves all extcaps. I already tested it
and it works. I'm just not sure every extcap.
  I'm ready to prepare patch.

                                        Best regards,

                                                Jirka
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev@wireshark.org>
Archives:    https://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-requ...@wireshark.org?subject=unsubscribe

Reply via email to