Move ui/exit_codes.h to include/

master
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>