diff options
| author | David M. Syzdek <david.syzdek@acsalaska.com> | 2020-02-10 12:46:37 -0900 |
|---|---|---|
| committer | David M. Syzdek <david.syzdek@acsalaska.com> | 2020-02-10 12:46:37 -0900 |
| commit | f83640705731dbc6f576abfdd7519384aaaaa583 (patch) | |
| tree | 593b551e3697ad5b540e60d5c03b9e3d46677c1e /src | |
| parent | 94f676d590baa0d72ec99674d33f15314385d385 (diff) | |
| download | akcom-udpecho-f83640705731dbc6f576abfdd7519384aaaaa583.tar.gz akcom-udpecho-f83640705731dbc6f576abfdd7519384aaaaa583.tar.bz2 akcom-udpecho-f83640705731dbc6f576abfdd7519384aaaaa583.tar.xz akcom-udpecho-f83640705731dbc6f576abfdd7519384aaaaa583.zip | |
akcom-udpechod: replacing udpecho struct member with static variable
Diffstat (limited to 'src')
| -rw-r--r-- | src/akcom-udpechod.c | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/src/akcom-udpechod.c b/src/akcom-udpechod.c index bb90c7d..44de4e6 100644 --- a/src/akcom-udpechod.c +++ b/src/akcom-udpechod.c | |||
| @@ -148,7 +148,6 @@ static int should_stop = 0; | |||
| 148 | 148 | ||
| 149 | struct app_config | 149 | struct app_config |
| 150 | { | 150 | { |
| 151 | uint16_t echoplus; // enable echo plus | ||
| 152 | int drop_perct; // drop percentage | 151 | int drop_perct; // drop percentage |
| 153 | useconds_t delay; // Delay range in microseconds | 152 | useconds_t delay; // Delay range in microseconds |
| 154 | int32_t verbose; // runtime verbosity | 153 | int32_t verbose; // runtime verbosity |
| @@ -160,7 +159,6 @@ struct app_config | |||
| 160 | }; | 159 | }; |
| 161 | static struct app_config cnf = | 160 | static struct app_config cnf = |
| 162 | { | 161 | { |
| 163 | .echoplus = 0, | ||
| 164 | .drop_perct = 0, | 162 | .drop_perct = 0, |
| 165 | .delay = 0, | 163 | .delay = 0, |
| 166 | .verbose = 0, | 164 | .verbose = 0, |
| @@ -173,6 +171,7 @@ static struct app_config cnf = | |||
| 173 | static const char * prog_name = "a.out"; | 171 | static const char * prog_name = "a.out"; |
| 174 | static const char * cnf_pidfile = "/var/run/" PROGRAM_NAME ".pid"; | 172 | static const char * cnf_pidfile = "/var/run/" PROGRAM_NAME ".pid"; |
| 175 | static uint16_t cnf_port = 30006; | 173 | static uint16_t cnf_port = 30006; |
| 174 | static int cnf_echoplus = 0; | ||
| 176 | 175 | ||
| 177 | 176 | ||
| 178 | ////////////////// | 177 | ////////////////// |
| @@ -282,7 +281,7 @@ int main(int argc, char * argv[]) | |||
| 282 | break; | 281 | break; |
| 283 | 282 | ||
| 284 | case 'e': | 283 | case 'e': |
| 285 | cnf.echoplus = 1; | 284 | cnf_echoplus = 1; |
| 286 | break; | 285 | break; |
| 287 | 286 | ||
| 288 | case 'f': | 287 | case 'f': |
| @@ -344,7 +343,7 @@ int main(int argc, char * argv[]) | |||
| 344 | break; | 343 | break; |
| 345 | 344 | ||
| 346 | case 'r': | 345 | case 'r': |
| 347 | cnf.echoplus = 0; | 346 | cnf_echoplus = 0; |
| 348 | break; | 347 | break; |
| 349 | 348 | ||
| 350 | case 'u': | 349 | case 'u': |
| @@ -681,7 +680,7 @@ int my_daemonize(void) | |||
| 681 | // opens syslog | 680 | // opens syslog |
| 682 | openlog(prog_name, LOG_PID | (((cnf.dont_fork)) ? LOG_PERROR : 0), cnf.facility); | 681 | openlog(prog_name, LOG_PID | (((cnf.dont_fork)) ? LOG_PERROR : 0), cnf.facility); |
| 683 | syslog(LOG_NOTICE, "%s v%s", PROGRAM_NAME, PACKAGE_VERSION); | 682 | syslog(LOG_NOTICE, "%s v%s", PROGRAM_NAME, PACKAGE_VERSION); |
| 684 | syslog(LOG_NOTICE, "echo plus enabled: %s", ((cnf.echoplus)) ? "yes" : "no"); | 683 | syslog(LOG_NOTICE, "echo plus enabled: %s", ((cnf_echoplus)) ? "yes" : "no"); |
| 685 | syslog(LOG_NOTICE, "random delay: %u us", cnf.delay); | 684 | syslog(LOG_NOTICE, "random delay: %u us", cnf.delay); |
| 686 | syslog(LOG_NOTICE, "drop probability: %u%%", cnf.drop_perct); | 685 | syslog(LOG_NOTICE, "drop probability: %u%%", cnf.drop_perct); |
| 687 | syslog(LOG_NOTICE, "running as UID: %u", getuid()); | 686 | syslog(LOG_NOTICE, "running as UID: %u", getuid()); |
| @@ -766,7 +765,7 @@ int my_log_conn(int mode, size_t * connp, union my_sa * sap, | |||
| 766 | }; | 765 | }; |
| 767 | 766 | ||
| 768 | // log connection | 767 | // log connection |
| 769 | if ((cnf.echoplus)) | 768 | if ((cnf_echoplus)) |
| 770 | { | 769 | { |
| 771 | syslog(LOG_INFO, | 770 | syslog(LOG_INFO, |
| 772 | "conn %zu: client: [%s]:%hu; %s bytes: %zi; timestamp: %lu.%09lu; seq: %u; delta: %u us; delay: %u us;", | 771 | "conn %zu: client: [%s]:%hu; %s bytes: %zi; timestamp: %lu.%09lu; seq: %u; delta: %u us; delay: %u us;", |
| @@ -849,7 +848,7 @@ int my_loop(int s, size_t * connp) | |||
| 849 | my_log_conn(MY_RECV, connp, &sa, &udpbuff.msg, ssize, &ts, 0); | 848 | my_log_conn(MY_RECV, connp, &sa, &udpbuff.msg, ssize, &ts, 0); |
| 850 | 849 | ||
| 851 | // process echo+ packet | 850 | // process echo+ packet |
| 852 | if ((cnf.echoplus)) | 851 | if ((cnf_echoplus)) |
| 853 | { | 852 | { |
| 854 | syslog(LOG_DEBUG, "conn %zu: intializing echo plus header", *connp); | 853 | syslog(LOG_DEBUG, "conn %zu: intializing echo plus header", *connp); |
| 855 | udpbuff.msg.res_sn = udpbuff.msg.req_sn; | 854 | udpbuff.msg.res_sn = udpbuff.msg.req_sn; |
| @@ -884,7 +883,7 @@ int my_loop(int s, size_t * connp) | |||
| 884 | us += (uint64_t)ts.tv_nsec / 1000; | 883 | us += (uint64_t)ts.tv_nsec / 1000; |
| 885 | 884 | ||
| 886 | // send response | 885 | // send response |
| 887 | if ((cnf.echoplus)) | 886 | if ((cnf_echoplus)) |
| 888 | { | 887 | { |
| 889 | syslog(LOG_DEBUG, "conn %zu: updating echo plus header", *connp); | 888 | syslog(LOG_DEBUG, "conn %zu: updating echo plus header", *connp); |
| 890 | udpbuff.msg.reply_time = htonl(us & 0xFFFFFFFFLL); | 889 | udpbuff.msg.reply_time = htonl(us & 0xFFFFFFFFLL); |
| @@ -914,7 +913,7 @@ void my_usage(void) | |||
| 914 | printf("OPTIONS:\n"); | 913 | printf("OPTIONS:\n"); |
| 915 | printf(" -d num, --drop=num set packet drop probability [0-99] (default: %u)\n", cnf.drop_perct); | 914 | printf(" -d num, --drop=num set packet drop probability [0-99] (default: %u)\n", cnf.drop_perct); |
| 916 | printf(" -D usec, --delay=usec set echo delay range to microseconds (default: %u us)\n", cnf.delay); | 915 | printf(" -D usec, --delay=usec set echo delay range to microseconds (default: %u us)\n", cnf.delay); |
| 917 | printf(" -e, --echoplus enable echo plus, not RFC compliant%s\n", ((cnf.echoplus)) ? " (default)" : ""); | 916 | printf(" -e, --echoplus enable echo plus, not RFC compliant%s\n", ((cnf_echoplus)) ? " (default)" : ""); |
| 918 | printf(" -f str, --facility=str set syslog facility (default: daemon)\n"); | 917 | printf(" -f str, --facility=str set syslog facility (default: daemon)\n"); |
| 919 | printf(" -g gid, --group=gid setgid to gid (default: none)\n"); | 918 | printf(" -g gid, --group=gid setgid to gid (default: none)\n"); |
| 920 | printf(" -h, --help print this help and exit\n"); | 919 | printf(" -h, --help print this help and exit\n"); |
| @@ -922,7 +921,7 @@ void my_usage(void) | |||
| 922 | printf(" -n, --foreground do not fork\n"); | 921 | printf(" -n, --foreground do not fork\n"); |
| 923 | printf(" -p port, --port=port list on port number (default: %u)\n", cnf_port); | 922 | printf(" -p port, --port=port list on port number (default: %u)\n", cnf_port); |
| 924 | printf(" -P file, --pidfile=file PID file (default: %s)\n", cnf_pidfile); | 923 | printf(" -P file, --pidfile=file PID file (default: %s)\n", cnf_pidfile); |
| 925 | printf(" -r, --rfc RFC compliant echo protocol%s\n", (!(cnf.echoplus)) ? " (default)" : ""); | 924 | printf(" -r, --rfc RFC compliant echo protocol%s\n", (!(cnf_echoplus)) ? " (default)" : ""); |
| 926 | printf(" -u uid, --user=uid setuid to uid (default: none)\n"); | 925 | printf(" -u uid, --user=uid setuid to uid (default: none)\n"); |
| 927 | printf(" -v, --verbose enable verbose output\n"); | 926 | printf(" -v, --verbose enable verbose output\n"); |
| 928 | printf(" -V, --version print version number and exit\n"); | 927 | printf(" -V, --version print version number and exit\n"); |
