annotate utils/themwi-check-own.c @ 117:c93c339271a7

sip-in CDR syslog: put a safety limit on string length
author Mychaela Falconia <falcon@freecalypso.org>
date Wed, 28 Sep 2022 23:07:46 -0800
parents 26b98505684e
children 697fe2c87fec
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
13
26b98505684e themwi-check-own utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 /*
26b98505684e themwi-check-own utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 * This utility performs a lookup in ThemWi number database to see
26b98505684e themwi-check-own utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 * if a given NANP number is owned by us.
26b98505684e themwi-check-own utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 */
26b98505684e themwi-check-own utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5
26b98505684e themwi-check-own utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 #include <stdio.h>
26b98505684e themwi-check-own utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 #include <stdlib.h>
26b98505684e themwi-check-own utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 #include <syslog.h>
26b98505684e themwi-check-own utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9
26b98505684e themwi-check-own utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 main(argc, argv)
26b98505684e themwi-check-own utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 char **argv;
26b98505684e themwi-check-own utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 {
26b98505684e themwi-check-own utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 char nanp[11];
26b98505684e themwi-check-own utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14
26b98505684e themwi-check-own utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 if (argc != 2) {
26b98505684e themwi-check-own utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 usage: fprintf(stderr, "usage: %s 10-digit-number\n", argv[0]);
26b98505684e themwi-check-own utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 exit(1);
26b98505684e themwi-check-own utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 }
26b98505684e themwi-check-own utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 if (grok_number_string(argv[1], 1) != 10)
26b98505684e themwi-check-own utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 goto usage;
26b98505684e themwi-check-own utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 dehyphen_number_string(argv[1], nanp);
26b98505684e themwi-check-own utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 if (!is_nanp_valid_prefix(nanp)) {
26b98505684e themwi-check-own utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 fprintf(stderr, "error: number violates NANP rules\n");
26b98505684e themwi-check-own utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 exit(1);
26b98505684e themwi-check-own utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 }
26b98505684e themwi-check-own utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26 openlog("themwi-check-own", 0, LOG_LOCAL5);
26b98505684e themwi-check-own utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27 if (read_number_db() < 0) {
26b98505684e themwi-check-own utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 fprintf(stderr, "error reading number database\n");
26b98505684e themwi-check-own utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 exit(1);
26b98505684e themwi-check-own utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30 }
26b98505684e themwi-check-own utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 printf("+1-%.3s-%.3s-%s is %s\n", nanp, nanp+3, nanp+6,
26b98505684e themwi-check-own utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32 is_nanp_locally_owned(nanp) ? "locally owned"
26b98505684e themwi-check-own utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33 : "NOT owned by us");
26b98505684e themwi-check-own utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34 exit(0);
26b98505684e themwi-check-own utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35 }