Move ui/exit_codes.h to include/

This commit is contained in:
João Valverde 2023-02-06 22:16:37 +00:00
parent 25cf3e2e98
commit c62aa67d2c
19 changed files with 284 additions and 280 deletions

View File

@ -3812,6 +3812,7 @@ set(SHARK_PUBLIC_HEADERS
include/ws_codepoints.h
include/ws_compiler_tests.h
include/ws_diag_control.h
include/ws_exit_codes.h
include/ws_log_defs.h
include/ws_posix_compat.h
include/ws_symbol_export.h

View File

@ -51,6 +51,7 @@
#include <locale.h>
#include <errno.h>
#include <ws_exit_codes.h>
#include <wsutil/ws_getopt.h>
#include <glib.h>
@ -58,7 +59,6 @@
#include <wiretap/wtap.h>
#include <ui/cmdarg_err.h>
#include <ui/exit_codes.h>
#include <wsutil/filesystem.h>
#include <wsutil/privileges.h>
#include <cli_main.h>
@ -1606,7 +1606,7 @@ main(int argc, char *argv[])
ws_log_init("capinfos", vcmdarg_err);
/* Early logging command-line initialization. */
ws_log_parse_args(&argc, argv, vcmdarg_err, INVALID_OPTION);
ws_log_parse_args(&argc, argv, vcmdarg_err, WS_EXIT_INVALID_OPTION);
ws_noisy("Finished log init and parsing command line log arguments");
@ -1819,7 +1819,7 @@ main(int argc, char *argv[])
case '?': /* Bad flag - print usage message */
print_usage(stderr);
overall_error_status = INVALID_OPTION;
overall_error_status = WS_EXIT_INVALID_OPTION;
goto exit;
break;
}
@ -1827,7 +1827,7 @@ main(int argc, char *argv[])
if ((argc - ws_optind) < 1) {
print_usage(stderr);
overall_error_status = INVALID_OPTION;
overall_error_status = WS_EXIT_INVALID_OPTION;
goto exit;
}

View File

@ -25,12 +25,13 @@
#include <glib.h>
#include <ws_exit_codes.h>
#include "capture_opts.h"
#include "ringbuffer.h"
#include <ui/clopts_common.h>
#include <ui/cmdarg_err.h>
#include <ui/exit_codes.h>
#include <wsutil/file_util.h>
#include <wsutil/ws_pipe.h>
#include <wsutil/ws_assert.h>
@ -1075,7 +1076,7 @@ capture_opts_print_if_capabilities(if_capabilities_t *caps,
if (caps->data_link_types == NULL) {
cmdarg_err("The capture device \"%s\" has no data link types.",
interface_opts->name);
return IFACE_HAS_NO_LINK_TYPES;
return WS_EXIT_IFACE_HAS_NO_LINK_TYPES;
}
if (caps->can_set_rfmon)
printf("Data link types of interface %s when %sin monitor mode (use option -y to set):\n",
@ -1100,7 +1101,7 @@ capture_opts_print_if_capabilities(if_capabilities_t *caps,
if (caps->timestamp_types == NULL) {
cmdarg_err("The capture device \"%s\" has no timestamp types.",
interface_opts->name);
return IFACE_HAS_NO_TIMESTAMP_TYPES;
return WS_EXIT_IFACE_HAS_NO_TIMESTAMP_TYPES;
}
printf("Timestamp types of the interface (use option --time-stamp-type to set):\n");
for (ts_entry = caps->timestamp_types; ts_entry != NULL;

View File

@ -19,6 +19,8 @@
#include <glib.h>
#include <ws_exit_codes.h>
#include <epan/epan.h>
#include <epan/timestamp.h>
#include <epan/prefs.h>
@ -39,7 +41,6 @@
#include "ui/cmdarg_err.h"
#include "ui/failure_message.h"
#include "ui/version_info.h"
#include "ui/exit_codes.h"
static int opt_verbose = 0;
#define DFTEST_LOG_NONE 0
@ -281,13 +282,13 @@ main(int argc, char **argv)
case 1000:
if (strlen(ws_optarg) > 1 || !g_ascii_isdigit(*ws_optarg)) {
printf("Error: \"%s\" is not a valid number 0-9\n", ws_optarg);
print_usage(INVALID_OPTION);
print_usage(WS_EXIT_INVALID_OPTION);
}
errno = 0;
opt_optimize = strtol(ws_optarg, NULL, 10);
if (errno) {
printf("Error: %s\n", g_strerror(errno));
print_usage(INVALID_OPTION);
print_usage(WS_EXIT_INVALID_OPTION);
}
break;
case 2000:
@ -399,7 +400,7 @@ main(int argc, char **argv)
/* Expand macros. */
expanded_text = expand_filter(text, timer);
if (expanded_text == NULL) {
exit_status = INVALID_FILTER;
exit_status = WS_EXIT_INVALID_FILTER;
goto out;
}
@ -408,7 +409,7 @@ main(int argc, char **argv)
/* Compile it */
if (!compile_filter(expanded_text, &df, timer)) {
exit_status = INVALID_FILTER;
exit_status = WS_EXIT_INVALID_FILTER;
goto out;
}
@ -419,7 +420,7 @@ main(int argc, char **argv)
if (df == NULL) {
printf("Filter is empty.\n");
exit_status = INVALID_FILTER;
exit_status = WS_EXIT_INVALID_FILTER;
goto out;
}

View File

@ -33,6 +33,7 @@
#include <unistd.h>
#endif
#include <ws_exit_codes.h>
#include <wsutil/ws_getopt.h>
#include <wiretap/secrets-types.h>
@ -48,7 +49,6 @@
#include <ui/clopts_common.h>
#include <ui/cmdarg_err.h>
#include <ui/exit_codes.h>
#include <wsutil/filesystem.h>
#include <wsutil/file_util.h>
#include <wsutil/plugins.h>
@ -1256,7 +1256,7 @@ main(int argc, char *argv[])
ws_log_init("editcap", vcmdarg_err);
/* Early logging command-line initialization. */
ws_log_parse_args(&argc, argv, vcmdarg_err, INVALID_OPTION);
ws_log_parse_args(&argc, argv, vcmdarg_err, WS_EXIT_INVALID_OPTION);
ws_noisy("Finished log init and parsing command line log arguments");
@ -1308,7 +1308,7 @@ main(int argc, char *argv[])
if (sscanf(ws_optarg, "%u", &seed) != 1) {
fprintf(stderr, "editcap: \"%s\" isn't a valid seed\n\n",
ws_optarg);
ret = INVALID_OPTION;
ret = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
valid_seed = TRUE;
@ -1329,14 +1329,14 @@ main(int argc, char *argv[])
if (secrets_type_id == 0) {
fprintf(stderr, "editcap: \"%s\" isn't a valid secrets type\n", splitted[0]);
g_strfreev(splitted);
ret = INVALID_OPTION;
ret = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
secrets_filename = splitted[1];
} else {
fprintf(stderr, "editcap: no secrets type was specified for --inject-secrets\n");
g_strfreev(splitted);
ret = INVALID_OPTION;
ret = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
if (!dsb_filenames) {
@ -1368,7 +1368,7 @@ main(int argc, char *argv[])
/* It doesn't fit. Tell the user and give up. */
cmdarg_err("Capture comment %u is too large to save in a capture file.",
capture_comments->len + 1);
ret = INVALID_OPTION;
ret = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
@ -1401,7 +1401,7 @@ main(int argc, char *argv[])
if ((sscanf(ws_optarg, "%u:%n", &frame_number, &string_start_index) < 1) || (string_start_index == 0)) {
fprintf(stderr, "editcap: \"%s\" isn't a valid <frame>:<comment>\n\n",
ws_optarg);
ret = INVALID_OPTION;
ret = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
@ -1416,7 +1416,7 @@ main(int argc, char *argv[])
/* It doesn't fit. Tell the user and give up. */
cmdarg_err("A comment for frame %u is too large to save in a capture file.",
frame_number);
ret = INVALID_OPTION;
ret = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
@ -1449,7 +1449,7 @@ main(int argc, char *argv[])
else {
fprintf(stderr, "editcap: \"%s\" isn't a valid date and time\n\n",
ws_optarg);
ret = INVALID_OPTION;
ret = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
}
@ -1474,7 +1474,7 @@ main(int argc, char *argv[])
default:
fprintf(stderr, "editcap: \"%s\" isn't a valid chop length or offset:length\n",
ws_optarg);
ret = INVALID_OPTION;
ret = WS_EXIT_INVALID_OPTION;
goto clean_exit;
break;
}
@ -1508,7 +1508,7 @@ main(int argc, char *argv[])
if (dup_window > MAX_DUP_DEPTH) {
fprintf(stderr, "editcap: \"%d\" duplicate window value must be between 0 and %d inclusive.\n",
dup_window, MAX_DUP_DEPTH);
ret = INVALID_OPTION;
ret = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
break;
@ -1518,7 +1518,7 @@ main(int argc, char *argv[])
if (p == ws_optarg || err_prob < 0.0 || err_prob > 1.0) {
fprintf(stderr, "editcap: probability \"%s\" must be between 0.0 and 1.0\n",
ws_optarg);
ret = INVALID_OPTION;
ret = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
break;
@ -1529,7 +1529,7 @@ main(int argc, char *argv[])
fprintf(stderr, "editcap: \"%s\" isn't a valid capture file type\n\n",
ws_optarg);
list_capture_types(stderr);
ret = INVALID_OPTION;
ret = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
break;
@ -1545,7 +1545,7 @@ main(int argc, char *argv[])
double spb = get_positive_double(ws_optarg, "time interval");
if (spb == 0.0) {
cmdarg_err("The specified interval is zero");
ret = INVALID_OPTION;
ret = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
@ -1571,7 +1571,7 @@ main(int argc, char *argv[])
case 'r':
if (keep_em) {
cmdarg_err("-r was specified twice");
ret = INVALID_OPTION;
ret = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
keep_em = TRUE;
@ -1583,7 +1583,7 @@ main(int argc, char *argv[])
case 'S':
if (!set_strict_time_adj(ws_optarg)) {
ret = INVALID_OPTION;
ret = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
do_strict_time_adjustment = TRUE;
@ -1591,7 +1591,7 @@ main(int argc, char *argv[])
case 't':
if (!set_time_adjustment(ws_optarg)) {
ret = INVALID_OPTION;
ret = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
break;
@ -1602,7 +1602,7 @@ main(int argc, char *argv[])
fprintf(stderr, "editcap: \"%s\" isn't a valid encapsulation type\n\n",
ws_optarg);
list_encap_types(stderr);
ret = INVALID_OPTION;
ret = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
break;
@ -1610,7 +1610,7 @@ main(int argc, char *argv[])
case 'V':
if (verbose) {
cmdarg_err("-V was specified twice");
ret = INVALID_OPTION;
ret = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
verbose = TRUE;
@ -1626,7 +1626,7 @@ main(int argc, char *argv[])
dup_detect_by_time = TRUE;
dup_window = MAX_DUP_DEPTH;
if (!set_rel_time(ws_optarg)) {
ret = INVALID_OPTION;
ret = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
break;
@ -1647,7 +1647,7 @@ main(int argc, char *argv[])
fprintf(stderr, "editcap: option requires an argument -- '%c'\n", ws_optopt);
}
print_usage(stderr);
ret = INVALID_OPTION;
ret = WS_EXIT_INVALID_OPTION;
break;
}
goto clean_exit;
@ -1661,7 +1661,7 @@ main(int argc, char *argv[])
if ((argc - ws_optind) < 2) {
print_usage(stderr);
ret = INVALID_OPTION;
ret = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
@ -1683,14 +1683,14 @@ main(int argc, char *argv[])
if (have_starttime && have_stoptime &&
nstime_cmp(&starttime, &stoptime) > 0) {
fprintf(stderr, "editcap: start time is after the stop time\n");
ret = INVALID_OPTION;
ret = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
if (split_packet_count != 0 && !nstime_is_unset(&secs_per_block)) {
fprintf(stderr, "editcap: can't split on both packet count and time interval\n");
fprintf(stderr, "editcap: at the same time\n");
ret = INVALID_OPTION;
ret = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
@ -1698,7 +1698,7 @@ main(int argc, char *argv[])
if (!wth) {
cfile_open_failure_message(argv[ws_optind], read_err, read_err_info);
ret = INVALID_FILE;
ret = WS_EXIT_INVALID_FILE;
goto clean_exit;
}
@ -1711,7 +1711,7 @@ main(int argc, char *argv[])
if (ignored_bytes != 0) {
fprintf(stderr, "editcap: can't skip radiotap headers and %d byte(s)\n", ignored_bytes);
fprintf(stderr, "editcap: at the start of packet at the same time\n");
ret = INVALID_OPTION;
ret = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
@ -1725,7 +1725,7 @@ main(int argc, char *argv[])
wtap_encap_description(WTAP_ENCAP_IEEE_802_11_RADIOTAP),
wtap_encap_description(wtap_file_encap(wth)));
}
ret = INVALID_OPTION;
ret = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
}
@ -1777,7 +1777,7 @@ main(int argc, char *argv[])
if (!g_file_get_contents(secrets_filename, &data, &data_len, &err)) {
fprintf(stderr, "editcap: \"%s\" could not be read: %s\n", secrets_filename, err->message);
g_clear_error(&err);
ret = INVALID_OPTION;
ret = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
if (data_len == 0) {
@ -1886,7 +1886,7 @@ main(int argc, char *argv[])
cfile_dump_open_failure_message(filename,
write_err, write_err_info,
out_file_type_subtype);
ret = INVALID_FILE;
ret = WS_EXIT_INVALID_FILE;
goto clean_exit;
}
} /* first packet only handling */
@ -1939,7 +1939,7 @@ main(int argc, char *argv[])
write_err,
write_err_info,
out_file_type_subtype);
ret = INVALID_FILE;
ret = WS_EXIT_INVALID_FILE;
goto clean_exit;
}
}
@ -1969,7 +1969,7 @@ main(int argc, char *argv[])
cfile_dump_open_failure_message(filename,
write_err, write_err_info,
out_file_type_subtype);
ret = INVALID_FILE;
ret = WS_EXIT_INVALID_FILE;
goto clean_exit;
}
}
@ -2382,7 +2382,7 @@ main(int argc, char *argv[])
cfile_dump_open_failure_message(filename,
write_err, write_err_info,
out_file_type_subtype);
ret = INVALID_FILE;
ret = WS_EXIT_INVALID_FILE;
goto clean_exit;
}
}

26
include/ws_exit_codes.h Normal file
View File

@ -0,0 +1,26 @@
/** @file
*
* Definition of exit codes for programs.
*
* Wireshark - Network traffic analyzer
* By Gerald Combs <gerald@wireshark.org>
* Copyright 1998 Gerald Combs
*
* SPDX-License-Identifier: GPL-2.0-or-later
*/
#ifndef __WS_EXIT_CODES_H__
#define __WS_EXIT_CODES_H__
/* Exit codes */
#define WS_EXIT_INVALID_OPTION 1
#define WS_EXIT_INVALID_INTERFACE 2
#define WS_EXIT_INVALID_FILE 3
#define WS_EXIT_INVALID_FILTER 4
#define WS_EXIT_INVALID_CAPABILITY 5
#define WS_EXIT_IFACE_HAS_NO_LINK_TYPES 6
#define WS_EXIT_IFACE_HAS_NO_TIMESTAMP_TYPES 7
#define WS_EXIT_INIT_FAILED 8
#define WS_EXIT_OPEN_ERROR 9
#endif /* __WS_EXIT_CODES_H__ */

View File

@ -16,10 +16,11 @@
#include <stdio.h>
#include <stdlib.h>
#include <ws_exit_codes.h>
#include <ui/clopts_common.h>
#include <ui/failure_message.h>
#include <ui/cmdarg_err.h>
#include <ui/exit_codes.h>
#include <wsutil/file_util.h>
#include <wsutil/filesystem.h>
#include <wsutil/privileges.h>
@ -134,7 +135,7 @@ main(int argc, char *argv[])
ws_log_init("randpkt", vcmdarg_err);
/* Early logging command-line initialization. */
ws_log_parse_args(&argc, argv, vcmdarg_err, INVALID_OPTION);
ws_log_parse_args(&argc, argv, vcmdarg_err, WS_EXIT_INVALID_OPTION);
ws_noisy("Finished log init and parsing command line log arguments");
@ -169,7 +170,7 @@ main(int argc, char *argv[])
produce_max_bytes = get_positive_int(ws_optarg, "max bytes");
if (produce_max_bytes > 65536) {
cmdarg_err("max bytes is > 65536");
ret = INVALID_OPTION;
ret = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
break;
@ -193,7 +194,7 @@ main(int argc, char *argv[])
default:
usage(TRUE);
ret = INVALID_OPTION;
ret = WS_EXIT_INVALID_OPTION;
goto clean_exit;
break;
}
@ -204,7 +205,7 @@ main(int argc, char *argv[])
produce_filename = argv[ws_optind];
} else {
usage(TRUE);
ret = INVALID_OPTION;
ret = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
@ -214,7 +215,7 @@ main(int argc, char *argv[])
example = randpkt_find_example(produce_type);
if (!example) {
ret = INVALID_OPTION;
ret = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
@ -232,7 +233,7 @@ main(int argc, char *argv[])
produce_type = randpkt_parse_type(NULL);
example = randpkt_find_example(produce_type);
if (!example) {
ret = INVALID_OPTION;
ret = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
ret = randpkt_example_init(example, produce_filename, produce_max_bytes);
@ -247,7 +248,7 @@ main(int argc, char *argv[])
example = randpkt_find_example(produce_type);
if (!example) {
ret = INVALID_OPTION;
ret = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
example->dump = savedump;

View File

@ -36,13 +36,13 @@
#include <errno.h>
#include <ws_exit_codes.h>
#include <wsutil/ws_getopt.h>
#include <glib.h>
#include <epan/epan.h>
#include <ui/cmdarg_err.h>
#include <ui/exit_codes.h>
#include <wsutil/filesystem.h>
#include <wsutil/file_util.h>
#include <wsutil/socket.h>
@ -450,7 +450,7 @@ main(int argc, char *argv[])
ws_log_init("rawshark", vcmdarg_err);
/* Early logging command-line initialization. */
ws_log_parse_args(&argc, argv, vcmdarg_err, INVALID_OPTION);
ws_log_parse_args(&argc, argv, vcmdarg_err, WS_EXIT_INVALID_OPTION);
ws_noisy("Finished log init and parsing command line log arguments");
@ -514,7 +514,7 @@ main(int argc, char *argv[])
dissectors, and we must do it before we read the preferences, in
case any dissectors register preferences. */
if (!epan_init(NULL, NULL, TRUE)) {
ret = INIT_FAILED;
ret = WS_EXIT_INIT_FAILED;
goto clean_exit;
}
@ -542,7 +542,7 @@ main(int argc, char *argv[])
case 'd': /* Payload type */
if (!set_link_type(ws_optarg)) {
cmdarg_err("Invalid link type or protocol \"%s\"", ws_optarg);
ret = INVALID_OPTION;
ret = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
break;
@ -576,7 +576,7 @@ main(int argc, char *argv[])
if(setrlimit(RLIMIT_AS, &limit) != 0) {
cmdarg_err("setrlimit() returned error");
ret = INVALID_OPTION;
ret = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
break;
@ -589,7 +589,7 @@ main(int argc, char *argv[])
if (badopt != '\0') {
cmdarg_err("-N specifies unknown resolving option '%c'; valid options are 'd', m', 'n', 'N', and 't'",
badopt);
ret = INVALID_OPTION;
ret = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
break;
@ -606,19 +606,19 @@ main(int argc, char *argv[])
cmdarg_err("Invalid -o flag \"%s\"%s%s", ws_optarg,
errmsg ? ": " : "", errmsg ? errmsg : "");
g_free(errmsg);
ret = INVALID_OPTION;
ret = WS_EXIT_INVALID_OPTION;
goto clean_exit;
break;
case PREFS_SET_NO_SUCH_PREF:
cmdarg_err("-o flag \"%s\" specifies unknown preference", ws_optarg);
ret = INVALID_OPTION;
ret = WS_EXIT_INVALID_OPTION;
goto clean_exit;
break;
case PREFS_SET_OBSOLETE:
cmdarg_err("-o flag \"%s\" specifies obsolete preference", ws_optarg);
ret = INVALID_OPTION;
ret = WS_EXIT_INVALID_OPTION;
goto clean_exit;
break;
}
@ -636,7 +636,7 @@ main(int argc, char *argv[])
}
else {
cmdarg_err("Too many display filters");
ret = INVALID_OPTION;
ret = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
break;
@ -646,7 +646,7 @@ main(int argc, char *argv[])
case 'S': /* Print string representations */
if (!parse_field_string_format(ws_optarg)) {
cmdarg_err("Invalid field string format");
ret = INVALID_OPTION;
ret = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
break;
@ -684,7 +684,7 @@ main(int argc, char *argv[])
"\"u\" for absolute UTC, \"ud\" for absolute UTC with YYYY-MM-DD date,");
cmdarg_err_cont(
"or \"udoy\" for absolute UTC with YYYY/DOY date.");
ret = INVALID_OPTION;
ret = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
break;
@ -696,7 +696,7 @@ main(int argc, char *argv[])
default:
case '?': /* Bad flag - print usage message */
print_usage(stderr);
ret = INVALID_OPTION;
ret = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
}
@ -725,7 +725,7 @@ main(int argc, char *argv[])
if (n_rfilters != 0) {
cmdarg_err("Read filters were specified both with \"-R\" "
"and with additional command-line arguments");
ret = INVALID_OPTION;
ret = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
rfilters[n_rfilters] = get_args_as_string(argc, argv, ws_optind);
@ -735,7 +735,7 @@ main(int argc, char *argv[])
/* Make sure we got a dissector handle for our payload. */
if (encap == WTAP_ENCAP_UNKNOWN) {
cmdarg_err("No valid payload dissector specified.");
ret = INVALID_OPTION;
ret = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
@ -745,7 +745,7 @@ main(int argc, char *argv[])
cmdarg_err("%s", err_msg);
g_free(err_msg);
cmdarg_err_cont("%s", please_report_bug());
ret = INIT_FAILED;
ret = WS_EXIT_INIT_FAILED;
goto clean_exit;
}
@ -783,7 +783,7 @@ main(int argc, char *argv[])
relinquish_special_privs_perm();
if (raw_cf_open(&cfile, pipe_name) != CF_OK) {
ret = OPEN_ERROR;
ret = WS_EXIT_OPEN_ERROR;
goto clean_exit;
}
@ -804,13 +804,13 @@ main(int argc, char *argv[])
/* Process the packets in the file */
if (!load_cap_file(&cfile)) {
ret = OPEN_ERROR;
ret = WS_EXIT_OPEN_ERROR;
goto clean_exit;
}
} else {
/* If you want to capture live packets, use TShark. */
cmdarg_err("Input file or pipe name not specified.");
ret = OPEN_ERROR;
ret = WS_EXIT_OPEN_ERROR;
goto clean_exit;
}

View File

@ -16,12 +16,12 @@
#include <string.h>
#include <glib.h>
#include <ws_exit_codes.h>
#include <wsutil/ws_getopt.h>
#include <wiretap/wtap.h>
#include <ui/cmdarg_err.h>
#include <ui/exit_codes.h>
#include <wsutil/filesystem.h>
#include <wsutil/file_util.h>
#include <wsutil/privileges.h>
@ -205,7 +205,7 @@ main(int argc, char *argv[])
ws_log_init("reordercap", vcmdarg_err);
/* Early logging command-line initialization. */
ws_log_parse_args(&argc, argv, vcmdarg_err, INVALID_OPTION);
ws_log_parse_args(&argc, argv, vcmdarg_err, WS_EXIT_INVALID_OPTION);
ws_noisy("Finished log init and parsing command line log arguments");
@ -248,7 +248,7 @@ main(int argc, char *argv[])
goto clean_exit;
case '?':
print_usage(stderr);
ret = INVALID_OPTION;
ret = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
}
@ -261,7 +261,7 @@ main(int argc, char *argv[])
}
else {
print_usage(stderr);
ret = INVALID_OPTION;
ret = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
@ -271,7 +271,7 @@ main(int argc, char *argv[])
wth = wtap_open_offline(infile, WTAP_TYPE_AUTO, &err, &err_info, TRUE);
if (wth == NULL) {
cfile_open_failure_message(infile, err, err_info);
ret = OPEN_ERROR;
ret = WS_EXIT_OPEN_ERROR;
goto clean_exit;
}
DEBUG_PRINT("file_type_subtype is %d\n", wtap_file_type_subtype(wth));

View File

@ -66,8 +66,8 @@
#include "sharkd.h"
#define INIT_FAILED 1
#define EPAN_INIT_FAIL 2
#define SHARKD_INIT_FAILED 1
#define SHARKD_EPAN_INIT_FAIL 2
capture_file cfile;
@ -123,7 +123,7 @@ main(int argc, char *argv[])
ws_log_init("sharkd", vcmdarg_err);
/* Early logging command-line initialization. */
ws_log_parse_args(&argc, argv, vcmdarg_err, INIT_FAILED);
ws_log_parse_args(&argc, argv, vcmdarg_err, SHARKD_INIT_FAILED);
ws_noisy("Finished log init and parsing command line log arguments");
@ -153,7 +153,7 @@ main(int argc, char *argv[])
if (sharkd_init(argc, argv) < 0)
{
printf("cannot initialize sharkd\n");
ret = INIT_FAILED;
ret = SHARKD_INIT_FAILED;
goto clean_exit;
}
@ -175,7 +175,7 @@ main(int argc, char *argv[])
dissectors, and we must do it before we read the preferences, in
case any dissectors register preferences. */
if (!epan_init(NULL, NULL, TRUE)) {
ret = EPAN_INIT_FAIL;
ret = SHARKD_EPAN_INIT_FAIL;
goto clean_exit;
}

View File

@ -64,7 +64,7 @@ class LoggingPopen(subprocess.Popen):
super().__init__(proc_args, *args, **kwargs)
self.stdout_str = ''
self.stderr_str = ''
@staticmethod
def trim_output(out_log, max_lines):
lines = out_log.splitlines(True)
@ -119,7 +119,7 @@ class SubprocessTestCase(unittest.TestCase):
super().__init__(*args, **kwargs)
self.exit_ok = 0
# See ui/exit_codes.h
# See ws_exit_codes.h
self.exit_command_line = 1
self.exit_invalid_interface = 2
self.exit_invalid_file_error = 3

View File

@ -73,7 +73,6 @@
#include <wsutil/file_util.h>
#include <cli_main.h>
#include <ui/cmdarg_err.h>
#include <ui/exit_codes.h>
#include <ui/text_import.h>
#include <ui/version_info.h>
#include <ui/failure_message.h>
@ -86,6 +85,7 @@
#include <glib.h>
#include <ws_exit_codes.h>
#include <wsutil/str_util.h>
#include <wsutil/strnatcmp.h>
#include <wsutil/wslog.h>
@ -403,7 +403,7 @@ parse_options(int argc, char *argv[], text_import_info_t * const info, wtap_dump
if (!ws_strtou8(ws_optarg, NULL, &radix)) {
cmdarg_err("Bad argument for '-b': %s", ws_optarg);
print_usage(stderr);
return INVALID_OPTION;
return WS_EXIT_INVALID_OPTION;
}
switch (radix) {
case 2: info->regex.encoding = ENCODING_PLAIN_BIN; break;
@ -413,7 +413,7 @@ parse_options(int argc, char *argv[], text_import_info_t * const info, wtap_dump
default:
cmdarg_err("Bad argument for '-b': %s", ws_optarg);
print_usage(stderr);
return INVALID_OPTION;
return WS_EXIT_INVALID_OPTION;
}
break;
}
@ -422,7 +422,7 @@ parse_options(int argc, char *argv[], text_import_info_t * const info, wtap_dump
if (ws_optarg[0] != 'h' && ws_optarg[0] != 'o' && ws_optarg[0] != 'd' && ws_optarg[0] != 'n') {
cmdarg_err("Bad argument for '-o': %s", ws_optarg);
print_usage(stderr);
return INVALID_OPTION;
return WS_EXIT_INVALID_OPTION;
}
switch (ws_optarg[0]) {
case 'o': info->hexdump.offset_type = OFFSET_OCT; break;
@ -437,7 +437,7 @@ parse_options(int argc, char *argv[], text_import_info_t * const info, wtap_dump
if (sscanf(ws_optarg, "%x", &hdr_ethernet_proto) < 1) {
cmdarg_err("Bad argument for '-e': %s", ws_optarg);
print_usage(stderr);
return INVALID_OPTION;
return WS_EXIT_INVALID_OPTION;
}
break;
@ -446,7 +446,7 @@ parse_options(int argc, char *argv[], text_import_info_t * const info, wtap_dump
if (wtap_encap_type < 0) {
cmdarg_err("\"%s\" isn't a valid encapsulation type", ws_optarg);
list_encap_types();
return INVALID_OPTION;
return WS_EXIT_INVALID_OPTION;
}
break;
@ -455,7 +455,7 @@ parse_options(int argc, char *argv[], text_import_info_t * const info, wtap_dump
if (file_type_subtype < 0) {
cmdarg_err("\"%s\" isn't a valid capture file type", ws_optarg);
list_capture_types();
return INVALID_OPTION;
return WS_EXIT_INVALID_OPTION;
}
break;
@ -465,7 +465,7 @@ parse_options(int argc, char *argv[], text_import_info_t * const info, wtap_dump
if (!ws_strtou8(ws_optarg, NULL, &ip_proto)) {
cmdarg_err("Bad argument for '-i': %s", ws_optarg);
print_usage(stderr);
return INVALID_OPTION;
return WS_EXIT_INVALID_OPTION;
}
set_hdr_ip_proto(ip_proto);
break;
@ -487,13 +487,13 @@ parse_options(int argc, char *argv[], text_import_info_t * const info, wtap_dump
cmdarg_err("%s", gerror->message);
g_error_free(gerror);
print_usage(stderr);
return INVALID_OPTION;
return WS_EXIT_INVALID_OPTION;
} else {
if (g_regex_get_string_number(regex, "data") == -1) {
cmdarg_err("Regex missing capturing group data (use (?<data>(...)) )");
g_regex_unref(regex);
print_usage(stderr);
return INVALID_OPTION;
return WS_EXIT_INVALID_OPTION;
}
}
break;
@ -507,12 +507,12 @@ parse_options(int argc, char *argv[], text_import_info_t * const info, wtap_dump
if (p == ws_optarg || (*p != ',' && *p != '\0')) {
cmdarg_err("Bad src port for '-%c'", c);
print_usage(stderr);
return INVALID_OPTION;
return WS_EXIT_INVALID_OPTION;
}
if (*p == '\0') {
cmdarg_err("No dest port specified for '-%c'", c);
print_usage(stderr);
return INVALID_OPTION;
return WS_EXIT_INVALID_OPTION;
}
p++;
ws_optarg = p;
@ -520,12 +520,12 @@ parse_options(int argc, char *argv[], text_import_info_t * const info, wtap_dump
if (p == ws_optarg || (*p != ',' && *p != '\0')) {
cmdarg_err("Bad dest port for '-s'");
print_usage(stderr);
return INVALID_OPTION;
return WS_EXIT_INVALID_OPTION;
}
if (*p == '\0') {
cmdarg_err("No tag specified for '-%c'", c);
print_usage(stderr);
return INVALID_OPTION;
return WS_EXIT_INVALID_OPTION;
}
p++;
ws_optarg = p;
@ -533,7 +533,7 @@ parse_options(int argc, char *argv[], text_import_info_t * const info, wtap_dump
if (p == ws_optarg || *p != '\0') {
cmdarg_err("Bad tag for '-%c'", c);
print_usage(stderr);
return INVALID_OPTION;
return WS_EXIT_INVALID_OPTION;
}
set_hdr_ip_proto(132);
@ -548,12 +548,12 @@ parse_options(int argc, char *argv[], text_import_info_t * const info, wtap_dump
if (p == ws_optarg || (*p != ',' && *p != '\0')) {
cmdarg_err("Bad src port for '-%c'", c);
print_usage(stderr);
return INVALID_OPTION;
return WS_EXIT_INVALID_OPTION;
}
if (*p == '\0') {
cmdarg_err("No dest port specified for '-%c'", c);
print_usage(stderr);
return INVALID_OPTION;
return WS_EXIT_INVALID_OPTION;
}
p++;
ws_optarg = p;
@ -561,12 +561,12 @@ parse_options(int argc, char *argv[], text_import_info_t * const info, wtap_dump
if (p == ws_optarg || (*p != ',' && *p != '\0')) {
cmdarg_err("Bad dest port for '-s'");
print_usage(stderr);
return INVALID_OPTION;
return WS_EXIT_INVALID_OPTION;
}
if (*p == '\0') {
cmdarg_err("No ppi specified for '-%c'", c);
print_usage(stderr);
return INVALID_OPTION;
return WS_EXIT_INVALID_OPTION;
}
p++;
ws_optarg = p;
@ -574,7 +574,7 @@ parse_options(int argc, char *argv[], text_import_info_t * const info, wtap_dump
if (p == ws_optarg || *p != '\0') {
cmdarg_err("Bad ppi for '-%c'", c);
print_usage(stderr);
return INVALID_OPTION;
return WS_EXIT_INVALID_OPTION;
}
set_hdr_ip_proto(132);
@ -595,12 +595,12 @@ parse_options(int argc, char *argv[], text_import_info_t * const info, wtap_dump
if (p == ws_optarg || (*p != ',' && *p != '\0')) {
cmdarg_err("Bad src port for '-u'");
print_usage(stderr);
return INVALID_OPTION;
return WS_EXIT_INVALID_OPTION;
}
if (*p == '\0') {
cmdarg_err("No dest port specified for '-u'");
print_usage(stderr);
return INVALID_OPTION;
return WS_EXIT_INVALID_OPTION;
}
p++;
ws_optarg = p;
@ -608,7 +608,7 @@ parse_options(int argc, char *argv[], text_import_info_t * const info, wtap_dump
if (p == ws_optarg || *p != '\0') {
cmdarg_err("Bad dest port for '-u'");
print_usage(stderr);
return INVALID_OPTION;
return WS_EXIT_INVALID_OPTION;
}
set_hdr_ip_proto(17);
break;
@ -622,12 +622,12 @@ parse_options(int argc, char *argv[], text_import_info_t * const info, wtap_dump
if (p == ws_optarg || (*p != ',' && *p != '\0')) {
cmdarg_err("Bad src port for '-T'");
print_usage(stderr);
return INVALID_OPTION;
return WS_EXIT_INVALID_OPTION;
}
if (*p == '\0') {
cmdarg_err("No dest port specified for '-u'");
print_usage(stderr);
return INVALID_OPTION;
return WS_EXIT_INVALID_OPTION;
}
p++;
ws_optarg = p;
@ -635,7 +635,7 @@ parse_options(int argc, char *argv[], text_import_info_t * const info, wtap_dump
if (p == ws_optarg || *p != '\0') {
cmdarg_err("Bad dest port for '-T'");
print_usage(stderr);
return INVALID_OPTION;
return WS_EXIT_INVALID_OPTION;
}
set_hdr_ip_proto(6);
break;
@ -652,7 +652,7 @@ parse_options(int argc, char *argv[], text_import_info_t * const info, wtap_dump
if (!p) {
cmdarg_err("Bad source param addr for '-%c'", c);
print_usage(stderr);
return INVALID_OPTION;
return WS_EXIT_INVALID_OPTION;
}
*p = '\0';
@ -672,13 +672,13 @@ parse_options(int argc, char *argv[], text_import_info_t * const info, wtap_dump
if (!ws_inet_pton6(ws_optarg, &hdr_ipv6_src_addr)) {
cmdarg_err("Bad src addr -%c '%s'", c, p);
print_usage(stderr);
return INVALID_OPTION;
return WS_EXIT_INVALID_OPTION;
}
} else {
if (!ws_inet_pton4(ws_optarg, &hdr_ip_src_addr)) {
cmdarg_err("Bad src addr -%c '%s'", c, p);
print_usage(stderr);
return INVALID_OPTION;
return WS_EXIT_INVALID_OPTION;
}
}
@ -686,20 +686,20 @@ parse_options(int argc, char *argv[], text_import_info_t * const info, wtap_dump
if (*p == '\0') {
cmdarg_err("No dest addr specified for '-%c'", c);
print_usage(stderr);
return INVALID_OPTION;
return WS_EXIT_INVALID_OPTION;
}
if (hdr_ipv6 == TRUE) {
if (!ws_inet_pton6(p, &hdr_ipv6_dest_addr)) {
cmdarg_err("Bad dest addr for -%c '%s'", c, p);
print_usage(stderr);
return INVALID_OPTION;
return WS_EXIT_INVALID_OPTION;
}
} else {
if (!ws_inet_pton4(p, &hdr_ip_dest_addr)) {
cmdarg_err("Bad dest addr for -%c '%s'", c, p);
print_usage(stderr);
return INVALID_OPTION;
return WS_EXIT_INVALID_OPTION;
}
}
break;
@ -709,31 +709,31 @@ parse_options(int argc, char *argv[], text_import_info_t * const info, wtap_dump
switch(ws_optopt) {
case 'E':
list_encap_types();
return INVALID_OPTION;
return WS_EXIT_INVALID_OPTION;
break;
case 'F':
list_capture_types();
return INVALID_OPTION;
return WS_EXIT_INVALID_OPTION;
break;
}
/* FALLTHROUGH */
default:
print_usage(stderr);
return INVALID_OPTION;
return WS_EXIT_INVALID_OPTION;
}
}
if (ws_optind >= argc || argc-ws_optind < 2) {
cmdarg_err("Must specify input and output filename");
print_usage(stderr);
return INVALID_OPTION;
return WS_EXIT_INVALID_OPTION;
}
if (max_offset > WTAP_MAX_PACKET_SIZE_STANDARD) {
cmdarg_err("Maximum packet length cannot be more than %d bytes",
WTAP_MAX_PACKET_SIZE_STANDARD);
return INVALID_OPTION;
return WS_EXIT_INVALID_OPTION;
}
/* Some validation */
@ -748,7 +748,7 @@ parse_options(int argc, char *argv[], text_import_info_t * const info, wtap_dump
}
if (g_regex_get_string_number(regex, "time") > -1 && info->timestamp_format == NULL) {
cmdarg_err("Regex with <time> capturing group requires time format (-t)");
return INVALID_OPTION;
return WS_EXIT_INVALID_OPTION;
}
}
@ -763,7 +763,7 @@ parse_options(int argc, char *argv[], text_import_info_t * const info, wtap_dump
if (!have_hdr_ip_proto && (hdr_ip || hdr_ipv6)) {
/* if -4 or -6 option is specified without an IP protocol then fail */
cmdarg_err("IP protocol requires a next layer protocol number");
return INVALID_OPTION;
return WS_EXIT_INVALID_OPTION;
}
if ((hdr_tcp || hdr_udp || hdr_sctp) && !(hdr_ip || hdr_ipv6)) {
@ -776,7 +776,7 @@ parse_options(int argc, char *argv[], text_import_info_t * const info, wtap_dump
if (hdr_export_pdu && wtap_encap_type != WTAP_ENCAP_WIRESHARK_UPPER_PDU) {
cmdarg_err("Export PDU (-P) requires WIRESHARK_UPPER_PDU link type (252)");
return INVALID_OPTION;
return WS_EXIT_INVALID_OPTION;
}
/* The other dummy headers require a IPv4 or IPv6 header. Allow
@ -797,7 +797,7 @@ parse_options(int argc, char *argv[], text_import_info_t * const info, wtap_dump
default:
cmdarg_err("Dummy IPv4 header not supported with encapsulation %s (%s)", wtap_encap_description(wtap_encap_type), wtap_encap_name(wtap_encap_type));
return INVALID_OPTION;
return WS_EXIT_INVALID_OPTION;
}
} else if (hdr_ipv6) {
switch (wtap_encap_type) {
@ -813,7 +813,7 @@ parse_options(int argc, char *argv[], text_import_info_t * const info, wtap_dump
default:
cmdarg_err("Dummy IPv6 header not supported with encapsulation %s (%s)", wtap_encap_description(wtap_encap_type), wtap_encap_name(wtap_encap_type));
return INVALID_OPTION;
return WS_EXIT_INVALID_OPTION;
}
}
@ -824,13 +824,13 @@ parse_options(int argc, char *argv[], text_import_info_t * const info, wtap_dump
if (gerror) {
cmdarg_err("%s", gerror->message);
g_error_free(gerror);
return OPEN_ERROR;
return WS_EXIT_OPEN_ERROR;
}
} else {
input_file = ws_fopen(input_filename, "rb");
if (!input_file) {
open_failure_message(input_filename, errno, FALSE);
return OPEN_ERROR;
return WS_EXIT_OPEN_ERROR;
}
}
} else {
@ -846,7 +846,7 @@ parse_options(int argc, char *argv[], text_import_info_t * const info, wtap_dump
cmdarg_err("%s", gerror->message);
cmdarg_err("regex import requires memory-mapped I/O and cannot be used with terminals or pipes");
g_error_free(gerror);
return INVALID_OPTION;
return WS_EXIT_INVALID_OPTION;
}
}
input_filename = "Standard input";
@ -886,7 +886,7 @@ parse_options(int argc, char *argv[], text_import_info_t * const info, wtap_dump
file_type_subtype);
g_free(params->idb_inf);
wtap_dump_params_cleanup(params);
return OPEN_ERROR;
return WS_EXIT_OPEN_ERROR;
}
info->import_text_filename = input_filename;
@ -1009,7 +1009,7 @@ main(int argc, char *argv[])
ws_log_init("text2pcap", vcmdarg_err);
/* Early logging command-line initialization. */
ws_log_parse_args(&argc, argv, vcmdarg_err, INVALID_OPTION);
ws_log_parse_args(&argc, argv, vcmdarg_err, WS_EXIT_INVALID_OPTION);
ws_noisy("Finished log init and parsing command line log arguments");

View File

@ -19,6 +19,7 @@
#include <locale.h>
#include <limits.h>
#include <ws_exit_codes.h>
#include <wsutil/ws_getopt.h>
#include <errno.h>
@ -30,7 +31,6 @@
#include <ui/clopts_common.h>
#include <ui/cmdarg_err.h>
#include <ui/exit_codes.h>
#include <ui/urls.h>
#include <wsutil/filesystem.h>
#include <wsutil/file_util.h>
@ -337,7 +337,7 @@ main(int argc, char *argv[])
ws_log_init("tfshark", vcmdarg_err);
/* Early logging command-line initialization. */
ws_log_parse_args(&argc, argv, vcmdarg_err, INVALID_OPTION);
ws_log_parse_args(&argc, argv, vcmdarg_err, WS_EXIT_INVALID_OPTION);
ws_noisy("Finished log init and parsing command line log arguments");
@ -399,7 +399,7 @@ main(int argc, char *argv[])
pf_dir_path, g_strerror(errno));
g_free(pf_dir_path);
exit_status = INVALID_FILE;
exit_status = WS_EXIT_INVALID_FILE;
goto clean_exit;
}
if (copy_persconffile_profile(ws_optarg, ws_optarg, TRUE, &pf_filename,
@ -410,7 +410,7 @@ main(int argc, char *argv[])
g_free(pf_filename);
g_free(pf_dir_path);
g_free(pf_dir_path2);
exit_status = INVALID_FILE;
exit_status = WS_EXIT_INVALID_FILE;
goto clean_exit;
}
set_profile_name (ws_optarg);
@ -475,7 +475,7 @@ main(int argc, char *argv[])
dissectors, and we must do it before we read the preferences, in
case any dissectors register preferences. */
if (!epan_init(NULL, NULL, TRUE)) {
exit_status = INIT_FAILED;
exit_status = WS_EXIT_INIT_FAILED;
goto clean_exit;
}
@ -541,7 +541,7 @@ main(int argc, char *argv[])
glossary_option_help();
else {
cmdarg_err("Invalid \"%s\" option for -G flag, enter -G ? for more help.", argv[2]);
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
}
@ -587,7 +587,7 @@ main(int argc, char *argv[])
if (!output_fields_set_option(output_fields, ws_optarg)) {
cmdarg_err("\"%s\" is not a valid field output option=value pair.", ws_optarg);
output_fields_list_options(stderr);
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
break;
@ -637,19 +637,19 @@ main(int argc, char *argv[])
cmdarg_err("Invalid -o flag \"%s\"%s%s", ws_optarg,
errmsg ? ": " : "", errmsg ? errmsg : "");
g_free(errmsg);
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
break;
case PREFS_SET_NO_SUCH_PREF:
cmdarg_err("-o flag \"%s\" specifies unknown preference", ws_optarg);
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
break;
case PREFS_SET_OBSOLETE:
cmdarg_err("-o flag \"%s\" specifies obsolete preference", ws_optarg);
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
break;
}
@ -708,7 +708,7 @@ main(int argc, char *argv[])
"\t packets, or a multi-line view of the details of each of the\n"
"\t packets, depending on whether the -V flag was specified.\n"
"\t This is the default.");
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
break;
@ -744,7 +744,7 @@ main(int argc, char *argv[])
if (!process_stat_cmd_arg(ws_optarg)) {
cmdarg_err("Invalid -z argument \"%s\"; it must be one of:", ws_optarg);
list_stat_cmd_args();
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
break;
@ -757,14 +757,14 @@ main(int argc, char *argv[])
case LONGOPT_DISABLE_HEURISTIC: /* disable heuristic dissection of protocol */
case LONGOPT_ENABLE_PROTOCOL: /* enable dissection of protocol (that is disabled by default) */
if (!dissect_opts_handle_opt(opt, ws_optarg)) {
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
break;
default:
case '?': /* Bad flag - print usage message */
print_usage(stderr);
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
break;
}
@ -779,7 +779,7 @@ main(int argc, char *argv[])
cmdarg_err("\"-Tfields\" was specified, but no fields were "
"specified with \"-e\".");
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
@ -796,7 +796,7 @@ main(int argc, char *argv[])
if (dfilter != NULL) {
cmdarg_err("Display filters were specified both with \"-Y\" "
"and with additional command-line arguments.");
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
dfilter = get_args_as_string(argc, argv, ws_optind);
@ -808,14 +808,14 @@ main(int argc, char *argv[])
if (arg_error) {
print_usage(stderr);
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
if (print_hex) {
if (output_action != WRITE_TEXT) {
cmdarg_err("Raw packet hex data can only be printed as text or PostScript");
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
}
@ -825,7 +825,7 @@ main(int argc, char *argv[])
if (!print_details) {
cmdarg_err("-O requires -V");
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
@ -837,7 +837,7 @@ main(int argc, char *argv[])
if (rfilter != NULL && !perform_two_pass_analysis) {
cmdarg_err("-R without -2 is deprecated. For single-pass filtering use -Y.");
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
@ -851,7 +851,7 @@ main(int argc, char *argv[])
* command-line options.
*/
if (!setup_enabled_and_disabled_protocols()) {
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
@ -862,7 +862,7 @@ main(int argc, char *argv[])
if (!dfilter_compile(rfilter, &rfcode, &df_err)) {
cmdarg_err("%s", df_err->msg);
dfilter_error_free(df_err);
exit_status = INVALID_FILTER;
exit_status = WS_EXIT_INVALID_FILTER;
goto clean_exit;
}
}
@ -872,7 +872,7 @@ main(int argc, char *argv[])
if (!dfilter_compile(dfilter, &dfcode, &df_err)) {
cmdarg_err("%s", df_err->msg);
dfilter_error_free(df_err);
exit_status = INVALID_FILTER;
exit_status = WS_EXIT_INVALID_FILTER;
goto clean_exit;
}
}
@ -916,7 +916,7 @@ main(int argc, char *argv[])
/* TODO: if tfshark is ever changed to give the user a choice of which
open_routine reader to use, then the following needs to change. */
if (cf_open(&cfile, cf_name, WTAP_TYPE_AUTO, FALSE, &err) != CF_OK) {
exit_status = OPEN_ERROR;
exit_status = WS_EXIT_OPEN_ERROR;
goto clean_exit;
}

146
tshark.c
View File

@ -37,9 +37,9 @@
#include <epan/exceptions.h>
#include <epan/epan.h>
#include <ws_exit_codes.h>
#include <ui/clopts_common.h>
#include <ui/cmdarg_err.h>
#include <ui/exit_codes.h>
#include <ui/urls.h>
#include <wsutil/filesystem.h>
#include <wsutil/file_util.h>
@ -892,7 +892,7 @@ main(int argc, char *argv[])
ws_log_init("tshark", vcmdarg_err);
/* Early logging command-line initialization. */
ws_log_parse_args(&argc, argv, vcmdarg_err, INVALID_OPTION);
ws_log_parse_args(&argc, argv, vcmdarg_err, WS_EXIT_INVALID_OPTION);
ws_noisy("Finished log init and parsing command line log arguments");
ws_debug("tshark started with %d args", argc);
@ -973,7 +973,7 @@ main(int argc, char *argv[])
pf_dir_path, g_strerror(errno));
g_free(pf_dir_path);
exit_status = INVALID_FILE;
exit_status = WS_EXIT_INVALID_FILE;
goto clean_exit;
}
if (copy_persconffile_profile(ws_optarg, ws_optarg, TRUE, &pf_filename,
@ -984,13 +984,13 @@ main(int argc, char *argv[])
g_free(pf_filename);
g_free(pf_dir_path);
g_free(pf_dir_path2);
exit_status = INVALID_FILE;
exit_status = WS_EXIT_INVALID_FILE;
goto clean_exit;
}
set_profile_name (ws_optarg);
} else {
cmdarg_err("Configuration Profile \"%s\" does not exist", ws_optarg);
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
break;
@ -1042,7 +1042,7 @@ main(int argc, char *argv[])
#ifndef HAVE_LUA
if (ex_opt_count("lua_script") > 0) {
cmdarg_err("This version of TShark was not built with support for Lua scripting.");
exit_status = INIT_FAILED;
exit_status = WS_EXIT_INIT_FAILED;
goto clean_exit;
}
#endif /* HAVE_LUA */
@ -1073,7 +1073,7 @@ main(int argc, char *argv[])
dissectors, and we must do it before we read the preferences, in
case any dissectors register preferences. */
if (!epan_init(NULL, NULL, TRUE)) {
exit_status = INIT_FAILED;
exit_status = WS_EXIT_INIT_FAILED;
goto clean_exit;
}
@ -1163,7 +1163,7 @@ main(int argc, char *argv[])
glossary_option_help();
else {
cmdarg_err("Invalid \"%s\" option for -G flag, enter -G help for more help.", argv[2]);
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
}
@ -1278,7 +1278,7 @@ main(int argc, char *argv[])
cmdarg_err("%s", err_str);
g_free(err_str);
}
exit_status = INVALID_INTERFACE;
exit_status = WS_EXIT_INVALID_INTERFACE;
goto clean_exit;
}
capture_opts_print_interfaces(if_list);
@ -1299,7 +1299,7 @@ main(int argc, char *argv[])
if (!output_fields_set_option(output_fields, ws_optarg)) {
cmdarg_err("\"%s\" is not a valid field output option=value pair.", ws_optarg);
output_fields_list_options(stderr);
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
break;
@ -1308,13 +1308,13 @@ main(int argc, char *argv[])
if (out_file_type < 0) {
cmdarg_err("\"%s\" isn't a valid capture file type", ws_optarg);
list_capture_types();
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
break;
case 'G':
cmdarg_err("-G only valid as first option");
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
break;
case 'j':
@ -1337,7 +1337,7 @@ main(int argc, char *argv[])
} else {
cmdarg_err("Invalid -W argument \"%s\"; it must be one of:", ws_optarg);
cmdarg_err_cont("\t'n' write network address resolution information (pcapng only)");
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
break;
@ -1345,7 +1345,7 @@ main(int argc, char *argv[])
if (! add_hosts_file(ws_optarg))
{
cmdarg_err("Can't read host entries from \"%s\"", ws_optarg);
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
out_file_name_res = TRUE;
@ -1412,19 +1412,19 @@ main(int argc, char *argv[])
cmdarg_err("Invalid -o flag \"%s\"%s%s", ws_optarg,
errmsg ? ": " : "", errmsg ? errmsg : "");
g_free(errmsg);
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
break;
case PREFS_SET_NO_SUCH_PREF:
cmdarg_err("-o flag \"%s\" specifies unknown preference", ws_optarg);
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
break;
case PREFS_SET_OBSOLETE:
cmdarg_err("-o flag \"%s\" specifies obsolete preference", ws_optarg);
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
break;
}
@ -1453,7 +1453,7 @@ main(int argc, char *argv[])
/* output_action has been already set. It means multiple -T. */
if (output_action > WRITE_NONE) {
cmdarg_err("Multiple -T parameters are unsupported");
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
print_packet_info = TRUE;
@ -1522,14 +1522,14 @@ main(int argc, char *argv[])
"\t\"tabs\" Similar to the text report except that each column of the\n"
"\t human-readable one-line summary is delimited with an ASCII\n"
"\t horizontal tab character.");
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
break;
case 'U': /* Export PDUs to file */
if (strcmp(ws_optarg, "") == 0 || strcmp(ws_optarg, "?") == 0) {
list_export_pdu_taps();
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
pdu_export_arg = g_strdup(ws_optarg);
@ -1575,7 +1575,7 @@ main(int argc, char *argv[])
if (!process_stat_cmd_arg(ws_optarg)) {
cmdarg_err("Invalid -z argument \"%s\"; it must be one of:", ws_optarg);
list_stat_cmd_args();
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
break;
@ -1590,7 +1590,7 @@ main(int argc, char *argv[])
case LONGOPT_DISABLE_HEURISTIC: /* disable heuristic dissection of protocol */
case LONGOPT_ENABLE_PROTOCOL: /* enable dissection of protocol (that is disabled by default) */
if (!dissect_opts_handle_opt(opt, ws_optarg)) {
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
break;
@ -1602,7 +1602,7 @@ main(int argc, char *argv[])
goto clean_exit;
}
if (!eo_tap_opt_add(ws_optarg)) {
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
break;
@ -1642,7 +1642,7 @@ main(int argc, char *argv[])
} else {
fprintf(stderr, "tshark: \"%s\" is an invalid value for --hexdump <hexoption>\n", ws_optarg);
fprintf(stderr, "For valid <hexoption> values enter: tshark --hexdump help\n");
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
break;
@ -1651,7 +1651,7 @@ main(int argc, char *argv[])
* Only active in two-pass mode. */
if (!ws_strtou32(ws_optarg, &endptr, &selected_frame_number) || *endptr != '\0') {
fprintf(stderr, "tshark: \"%s\" is not a valid frame number\n", ws_optarg);
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
break;
@ -1664,7 +1664,7 @@ main(int argc, char *argv[])
default:
print_usage(stderr);
}
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
break;
}
@ -1689,7 +1689,7 @@ main(int argc, char *argv[])
if (no_duplicate_keys && output_action != WRITE_JSON && output_action != WRITE_JSON_RAW) {
cmdarg_err("--no-duplicate-keys can only be used with \"-T json\" and \"-T jsonraw\"");
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
@ -1697,13 +1697,13 @@ main(int argc, char *argv[])
if ((WRITE_FIELDS != output_action && WRITE_XML != output_action && WRITE_JSON != output_action && WRITE_EK != output_action) && 0 != output_fields_num_fields(output_fields)) {
cmdarg_err("Output fields were specified with \"-e\", "
"but \"-Tek, -Tfields, -Tjson or -Tpdml\" was not specified.");
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
} else if (WRITE_FIELDS == output_action && 0 == output_fields_num_fields(output_fields)) {
cmdarg_err("\"-Tfields\" was specified, but no fields were "
"specified with \"-e\".");
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
@ -1723,7 +1723,7 @@ main(int argc, char *argv[])
if (dfilter != NULL) {
cmdarg_err("Display filters were specified both with \"-Y\" "
"and with additional command-line arguments.");
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
dfilter = get_args_as_string(argc, argv, ws_optind);
@ -1734,7 +1734,7 @@ main(int argc, char *argv[])
if (global_capture_opts.default_options.cfilter) {
cmdarg_err("A default capture filter was specified both with \"-f\""
" and with additional command-line arguments.");
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
for (i = 0; i < global_capture_opts.ifaces->len; i++) {
@ -1745,7 +1745,7 @@ main(int argc, char *argv[])
} else {
cmdarg_err("A capture filter was specified both with \"-f\""
" and with additional command-line arguments.");
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
}
@ -1771,7 +1771,7 @@ main(int argc, char *argv[])
if (strcmp(save_file, "-") == 0 && print_packet_info) {
cmdarg_err("You can't write both raw packet data and dissected packets"
" to the standard output.");
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
}
@ -1782,14 +1782,14 @@ main(int argc, char *argv[])
#endif
if (arg_error) {
print_usage(stderr);
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
if (print_hex) {
if (output_action != WRITE_TEXT && output_action != WRITE_JSON && output_action != WRITE_JSON_RAW && output_action != WRITE_EK) {
cmdarg_err("Raw packet hex data can only be printed as text, PostScript, JSON, JSONRAW or EK JSON");
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
}
@ -1799,7 +1799,7 @@ main(int argc, char *argv[])
if (!print_details) {
cmdarg_err("-O requires -V");
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
@ -1816,7 +1816,7 @@ main(int argc, char *argv[])
if (rfilter != NULL && !perform_two_pass_analysis) {
cmdarg_err("-R without -2 is deprecated. For single-pass filtering use -Y.");
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
@ -1828,13 +1828,13 @@ main(int argc, char *argv[])
/* Yes - that's bogus. */
cmdarg_err("You can't specify %s and a capture file to be read.",
caps_queries & CAPS_QUERY_LINK_TYPES ? "-L" : "--list-time-stamp-types");
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
/* No - did they specify a ring buffer option? */
if (global_capture_opts.multi_files_on) {
cmdarg_err("Ring buffer requested, but a capture isn't being done.");
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
} else {
@ -1850,37 +1850,37 @@ main(int argc, char *argv[])
if (global_capture_opts.default_options.cfilter) {
cmdarg_err("Only read filters, not capture filters, "
"can be specified when reading a capture file.");
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
if (global_capture_opts.multi_files_on) {
cmdarg_err("Multiple capture files requested, but "
"a capture isn't being done.");
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
if (global_capture_opts.has_file_duration) {
cmdarg_err("Switching capture files after a time period was specified, but "
"a capture isn't being done.");
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
if (global_capture_opts.has_file_interval) {
cmdarg_err("Switching capture files after a time interval was specified, but "
"a capture isn't being done.");
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
if (global_capture_opts.has_ring_num_files) {
cmdarg_err("A ring buffer of capture files was specified, but "
"a capture isn't being done.");
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
if (global_capture_opts.has_autostop_files) {
cmdarg_err("A maximum number of capture files was specified, but "
"a capture isn't being done.");
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
@ -1891,7 +1891,7 @@ main(int argc, char *argv[])
if (global_capture_opts.has_autostop_duration) {
cmdarg_err("A maximum capture time was specified, but "
"a capture isn't being done.");
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
} else {
@ -1905,7 +1905,7 @@ main(int argc, char *argv[])
* to buffer packets until we've read all of them, but a live capture
* has no useful/meaningful definition of "all" */
cmdarg_err("Live captures do not support two-pass analysis.");
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
@ -1919,12 +1919,12 @@ main(int argc, char *argv[])
use_pcapng = FALSE;
} else {
cmdarg_err("Live captures can only be saved in pcap or pcapng format.");
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
if (capture_comments != NULL && !use_pcapng) {
cmdarg_err("Capture comments can only be written to a pcapng file.");
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
if (global_capture_opts.multi_files_on) {
@ -1935,13 +1935,13 @@ main(int argc, char *argv[])
if (strcmp(global_capture_opts.save_file, "-") == 0) {
cmdarg_err("Multiple capture files requested, but "
"the capture is being written to the standard output.");
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
if (global_capture_opts.output_to_pipe) {
cmdarg_err("Multiple capture files requested, but "
"the capture file is a pipe.");
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
if (!global_capture_opts.has_autostop_filesize &&
@ -1950,7 +1950,7 @@ main(int argc, char *argv[])
!global_capture_opts.has_file_packets) {
cmdarg_err("Multiple capture files requested, but "
"no maximum capture file size, duration, interval or packets were specified.");
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
}
@ -1958,12 +1958,12 @@ main(int argc, char *argv[])
and saving the packets. */
if (rfilter != NULL) {
cmdarg_err("Read filters aren't supported when capturing and saving the captured packets.");
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
if (dfilter != NULL) {
cmdarg_err("Display filters aren't supported when capturing and saving the captured packets.");
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
global_capture_opts.use_pcapng = use_pcapng;
@ -1974,19 +1974,19 @@ main(int argc, char *argv[])
if (global_capture_opts.has_autostop_filesize) {
cmdarg_err("Maximum capture file size specified, but "
"capture isn't being saved to a file.");
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
if (global_capture_opts.multi_files_on) {
cmdarg_err("Multiple capture files requested, but "
"the capture isn't being saved to a file.");
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
if (capture_comments != NULL) {
cmdarg_err("Capture comments were specified, but "
"the capture isn't being saved to a file.");
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
}
@ -2018,13 +2018,13 @@ main(int argc, char *argv[])
cmdarg_err_cont(" %s - %s", wtap_file_type_subtype_name(ft),
wtap_file_type_subtype_description(ft));
}
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
}
else {
cmdarg_err("Capture comments were specified, but you aren't writing a capture file.");
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
}
@ -2035,7 +2035,7 @@ main(int argc, char *argv[])
cmdarg_err("%s", err_msg);
g_free(err_msg);
cmdarg_err_cont("%s", please_report_bug());
exit_status = INIT_FAILED;
exit_status = WS_EXIT_INIT_FAILED;
goto clean_exit;
}
@ -2060,7 +2060,7 @@ main(int argc, char *argv[])
cmdarg_err_cont("\t%s", (gchar *)it->data);
}
g_slist_free(invalid_fields);
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
}
@ -2071,12 +2071,12 @@ main(int argc, char *argv[])
global_capture_opts.output_to_pipe) {
if (tap_listeners_require_dissection()) {
cmdarg_err("Taps aren't supported when saving to a pipe.");
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
if (print_packet_info) {
cmdarg_err("Printing dissected packets isn't supported when saving to a pipe.");
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
}
@ -2088,7 +2088,7 @@ main(int argc, char *argv[])
if (in_file_type == WTAP_TYPE_AUTO) {
cmdarg_err("\"%s\" isn't a valid read file format type", name? name : "");
list_read_capture_types();
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
}
@ -2100,7 +2100,7 @@ main(int argc, char *argv[])
* command-line options.
*/
if (!setup_enabled_and_disabled_protocols()) {
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
@ -2122,7 +2122,7 @@ main(int argc, char *argv[])
warn_about_capture_filter(rfilter);
#endif
exit_status = INVALID_INTERFACE;
exit_status = WS_EXIT_INVALID_INTERFACE;
goto clean_exit;
}
}
@ -2138,7 +2138,7 @@ main(int argc, char *argv[])
warn_about_capture_filter(dfilter);
#endif
exit_status = INVALID_FILTER;
exit_status = WS_EXIT_INVALID_FILTER;
goto clean_exit;
}
}
@ -2175,7 +2175,7 @@ main(int argc, char *argv[])
if (!cf_name) {
cmdarg_err("PDUs export requires a capture file (specify with -r).");
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
/* Take ownership of the '-w' output file. */
@ -2186,7 +2186,7 @@ main(int argc, char *argv[])
#endif
if (exp_pdu_filename == NULL) {
cmdarg_err("PDUs export requires an output file (-w).");
exit_status = INVALID_OPTION;
exit_status = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}
@ -2207,7 +2207,7 @@ main(int argc, char *argv[])
exp_fd = ws_open(exp_pdu_filename, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY, 0644);
if (exp_fd == -1) {
cmdarg_err("%s: %s", exp_pdu_filename, file_open_error_message(errno, TRUE));
exit_status = INVALID_FILE;
exit_status = WS_EXIT_INVALID_FILE;
goto clean_exit;
}
}
@ -2238,7 +2238,7 @@ main(int argc, char *argv[])
if (cf_open(&cfile, cf_name, in_file_type, FALSE, &err) != CF_OK) {
epan_cleanup();
extcap_cleanup();
exit_status = INVALID_FILE;
exit_status = WS_EXIT_INVALID_FILE;
goto clean_exit;
}
@ -2364,7 +2364,7 @@ main(int argc, char *argv[])
cmdarg_err("%s%s%s", err_str, err_str_secondary ? "\n" : "", err_str_secondary ? err_str_secondary : "");
g_free(err_str);
g_free(err_str_secondary);
exit_status = INVALID_CAPABILITY;
exit_status = WS_EXIT_INVALID_CAPABILITY;
break;
}
exit_status = capture_opts_print_if_capabilities(caps, interface_opts,
@ -2412,7 +2412,7 @@ main(int argc, char *argv[])
if (print_packet_info) {
if (!write_preamble(&cfile)) {
show_print_file_io_error();
exit_status = INVALID_FILE;
exit_status = WS_EXIT_INVALID_FILE;
goto clean_exit;
}
}

View File

@ -16,13 +16,13 @@
#include <stdio.h>
#include <stdlib.h>
#include <ws_exit_codes.h>
#include <wsutil/ws_getopt.h>
#include <ui/version_info.h>
#include <ui/clopts_common.h>
#include <ui/cmdarg_err.h>
#include <ui/exit_codes.h>
#include <wsutil/filesystem.h>
#include <wsutil/ws_assert.h>
#ifdef _WIN32
@ -275,7 +275,7 @@ void commandline_early_options(int argc, char *argv[])
pf_dir_path, g_strerror(errno));
g_free(pf_dir_path);
exit(INVALID_FILE);
exit(WS_EXIT_INVALID_FILE);
}
if (copy_persconffile_profile(ws_optarg, ws_optarg, TRUE, &pf_filename,
&pf_dir_path, &pf_dir_path2) == -1) {
@ -285,7 +285,7 @@ void commandline_early_options(int argc, char *argv[])
g_free(pf_filename);
g_free(pf_dir_path);
g_free(pf_dir_path2);
exit(INVALID_FILE);
exit(WS_EXIT_INVALID_FILE);
}
set_profile_name (ws_optarg);
} else {
@ -303,7 +303,7 @@ void commandline_early_options(int argc, char *argv[])
cmdarg_err("%s", err_str);
g_free(err_str);
}
exit(INVALID_INTERFACE);
exit(WS_EXIT_INVALID_INTERFACE);
}
#ifdef _WIN32
create_console();

View File

@ -1,26 +0,0 @@
/** @file
*
* Definition of exit codes for programs.
*
* Wireshark - Network traffic analyzer
* By Gerald Combs <gerald@wireshark.org>
* Copyright 1998 Gerald Combs
*
* SPDX-License-Identifier: GPL-2.0-or-later
*/
#ifndef __EXIT_CODES_H__
#define __EXIT_CODES_H__
/* Exit codes */
#define INVALID_OPTION 1
#define INVALID_INTERFACE 2
#define INVALID_FILE 3
#define INVALID_FILTER 4
#define INVALID_CAPABILITY 5
#define IFACE_HAS_NO_LINK_TYPES 6
#define IFACE_HAS_NO_TIMESTAMP_TYPES 7
#define INIT_FAILED 8
#define OPEN_ERROR 9
#endif /* __EXIT_CODES_H__ */

View File

@ -22,9 +22,9 @@
#include <wsutil/console_win32.h>
#endif
#include <ws_exit_codes.h>
#include <ui/clopts_common.h>
#include <ui/cmdarg_err.h>
#include <ui/exit_codes.h>
#include <ui/urls.h>
#include <wsutil/filesystem.h>
#include <wsutil/privileges.h>
@ -531,7 +531,7 @@ int main(int argc, char *qt_argv[])
#endif /* _WIN32 */
/* Early logging command-line initialization. */
ws_log_parse_args(&argc, argv, vcmdarg_err, INVALID_OPTION);
ws_log_parse_args(&argc, argv, vcmdarg_err, WS_EXIT_INVALID_OPTION);
ws_noisy("Finished log init and parsing command line log arguments");
/*
@ -660,7 +660,7 @@ int main(int argc, char *qt_argv[])
cmdarg_err("%s", err_msg);
g_free(err_msg);
cmdarg_err_cont("%s", please_report_bug());
ret_val = INIT_FAILED;
ret_val = WS_EXIT_INIT_FAILED;
goto clean_exit;
}
@ -732,7 +732,7 @@ int main(int argc, char *qt_argv[])
case any dissectors register preferences. */
if (!epan_init(splash_update, NULL, TRUE)) {
SimpleDialog::displayQueuedMessages(main_w);
ret_val = INIT_FAILED;
ret_val = WS_EXIT_INIT_FAILED;
goto clean_exit;
}
#ifdef DEBUG_STARTUP_TIME
@ -861,7 +861,7 @@ int main(int argc, char *qt_argv[])
cmdarg_err("%s%s%s", err_str, err_str_secondary ? "\n" : "", err_str_secondary ? err_str_secondary : "");
g_free(err_str);
g_free(err_str_secondary);
ret_val = INVALID_CAPABILITY;
ret_val = WS_EXIT_INVALID_CAPABILITY;
break;
}
ret_val = capture_opts_print_if_capabilities(caps, interface_opts,
@ -912,7 +912,7 @@ int main(int argc, char *qt_argv[])
* command-line options.
*/
if (!setup_enabled_and_disabled_protocols()) {
ret_val = INVALID_OPTION;
ret_val = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}

View File

@ -22,9 +22,9 @@
#include <wsutil/console_win32.h>
#endif
#include <ws_exit_codes.h>
#include <ui/clopts_common.h>
#include <ui/cmdarg_err.h>
#include <ui/exit_codes.h>
#include <ui/urls.h>
#include <wsutil/filesystem.h>
#include <wsutil/privileges.h>
@ -557,7 +557,7 @@ int main(int argc, char *qt_argv[])
#endif /* _WIN32 */
/* Early logging command-line initialization. */
ws_log_parse_args(&argc, argv, vcmdarg_err, INVALID_OPTION);
ws_log_parse_args(&argc, argv, vcmdarg_err, WS_EXIT_INVALID_OPTION);
ws_noisy("Finished log init and parsing command line log arguments");
/*
@ -694,7 +694,7 @@ int main(int argc, char *qt_argv[])
cmdarg_err("%s", err_msg);
g_free(err_msg);
cmdarg_err_cont("%s", please_report_bug());
ret_val = INIT_FAILED;
ret_val = WS_EXIT_INIT_FAILED;
goto clean_exit;
}
@ -766,7 +766,7 @@ int main(int argc, char *qt_argv[])
case any dissectors register preferences. */
if (!epan_init(splash_update, NULL, TRUE)) {
SimpleDialog::displayQueuedMessages(main_w);
ret_val = INIT_FAILED;
ret_val = WS_EXIT_INIT_FAILED;
goto clean_exit;
}
#ifdef DEBUG_STARTUP_TIME
@ -890,7 +890,7 @@ int main(int argc, char *qt_argv[])
cmdarg_err("%s%s%s", err_str, err_str_secondary ? "\n" : "", err_str_secondary ? err_str_secondary : "");
g_free(err_str);
g_free(err_str_secondary);
ret_val = INVALID_CAPABILITY;
ret_val = WS_EXIT_INVALID_CAPABILITY;
break;
}
ret_val = capture_opts_print_if_capabilities(caps, interface_opts,
@ -941,7 +941,7 @@ int main(int argc, char *qt_argv[])
* command-line options.
*/
if (!setup_enabled_and_disabled_protocols()) {
ret_val = INVALID_OPTION;
ret_val = WS_EXIT_INVALID_OPTION;
goto clean_exit;
}

View File

@ -81,6 +81,7 @@
#include <stdlib.h>
#include <string.h>
#include <wsutil/file_util.h>
#include <ws_exit_codes.h>
#include <time.h>
#include <glib.h>
@ -92,7 +93,6 @@
#include <wsutil/crc32.h>
#include <epan/in_cksum.h>
#include <ui/exit_codes.h>
#include <wsutil/report_message.h>
#include <wsutil/exported_pdu_tlvs.h>
@ -1569,7 +1569,7 @@ text_import(text_import_info_t * const info)
* Windows builds with 64 bit time_t by default now), so....
*/
report_failure("localtime(right now) failed");
return INIT_FAILED;
return WS_EXIT_INIT_FAILED;
}
timecode_default = *now_tm;
timecode_default.tm_isdst = -1; /* Unknown for now, depends on time given to the strptime() function */
@ -1692,20 +1692,20 @@ text_import(text_import_info_t * const info)
case (WTAP_ENCAP_RAW_IP4):
if (info->ipv6) {
report_failure("Encapsulation %s only supports IPv4 headers, not IPv6", wtap_encap_name(info->encapsulation));
return INVALID_OPTION;
return WS_EXIT_INVALID_OPTION;
}
break;
case (WTAP_ENCAP_RAW_IP6):
if (!info->ipv6) {
report_failure("Encapsulation %s only supports IPv6 headers, not IPv4", wtap_encap_name(info->encapsulation));
return INVALID_OPTION;
return WS_EXIT_INVALID_OPTION;
}
break;
default:
report_failure("Dummy IP header not supported with encapsulation: %s (%s)", wtap_encap_name(info->encapsulation), wtap_encap_description(info->encapsulation));
return INVALID_OPTION;
return WS_EXIT_INVALID_OPTION;
}
}
@ -1722,7 +1722,7 @@ text_import(text_import_info_t * const info)
* error, unlike malloc or g_try_malloc.
*/
report_failure("FATAL ERROR: no memory for packet buffer");
return INIT_FAILED;
return WS_EXIT_INIT_FAILED;
}
if (info->mode == TEXT_IMPORT_HEXDUMP) {
@ -1732,11 +1732,11 @@ text_import(text_import_info_t * const info)
ret = 0;
break;
case (IMPORT_FAILURE):
ret = INVALID_FILE;
ret = WS_EXIT_INVALID_FILE;
break;
case (IMPORT_INIT_FAILED):
report_failure("Can't initialize scanner: %s", g_strerror(errno));
ret = INIT_FAILED;
ret = WS_EXIT_INIT_FAILED;
break;
default:
ret = 0;
@ -1747,10 +1747,10 @@ text_import(text_import_info_t * const info)
info->num_packets_read = ret;
ret = 0;
} else if (ret < 0) {
ret = INVALID_FILE;
ret = WS_EXIT_INVALID_FILE;
}
} else {
ret = INVALID_OPTION;
ret = WS_EXIT_INVALID_OPTION;
}
g_free(packet_buf);
return ret;