FreeCalypso > hg > themwi-system-sw
annotate sip-out/readconf.c @ 154:e54b0a9e322f
beginning of themwi-sip-out
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Tue, 11 Oct 2022 23:04:01 -0800 | 
| parents | sip-in/readconf.c@7e04d28fae8b | 
| children | 0bacca1f2f7b | 
| rev | line source | 
|---|---|
| 
47
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1 /* | 
| 
154
 
e54b0a9e322f
beginning of themwi-sip-out
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
124 
diff
changeset
 | 
2 * In this module we implement the reading of /var/gsm/themwi-sip-out.cfg: | 
| 
47
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3 * the main settings are bind-ip and bind-port, but we also have some | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
4 * optional config settings. | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
5 */ | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
6 | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
7 #include <sys/types.h> | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
8 #include <sys/socket.h> | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
9 #include <netinet/in.h> | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
10 #include <arpa/inet.h> | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
11 #include <ctype.h> | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
12 #include <stdio.h> | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
13 #include <stdlib.h> | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
14 #include <string.h> | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
15 #include <strings.h> | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
16 | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
17 struct in_addr sip_bind_ip; | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
18 unsigned sip_bind_port; | 
| 
68
 
709b78a4ebf0
sip-in: implement retransmission of INVITE responses
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
47 
diff
changeset
 | 
19 unsigned cfg_retrans_timeout = 500; | 
| 
 
709b78a4ebf0
sip-in: implement retransmission of INVITE responses
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
47 
diff
changeset
 | 
20 unsigned cfg_retrans_count = 10; | 
| 
92
 
a9137bdb6047
sip-in: make BYE Max-Forwards configurable
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
91 
diff
changeset
 | 
21 unsigned max_forwards = 70; | 
| 
154
 
e54b0a9e322f
beginning of themwi-sip-out
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
124 
diff
changeset
 | 
22 unsigned sip_linger_timeout = 10; | 
| 
 
e54b0a9e322f
beginning of themwi-sip-out
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
124 
diff
changeset
 | 
23 unsigned sip_linger_invite_err = 10; | 
| 
109
 
9b87894704eb
sip-in: first step toward final call clearing
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
108 
diff
changeset
 | 
24 unsigned sip_linger_gotbye = 30; | 
| 
154
 
e54b0a9e322f
beginning of themwi-sip-out
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
124 
diff
changeset
 | 
25 unsigned sip_linger_bye_out_ok = 5; | 
| 
 
e54b0a9e322f
beginning of themwi-sip-out
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
124 
diff
changeset
 | 
26 unsigned sip_linger_bye_out_err = 180; | 
| 
 
e54b0a9e322f
beginning of themwi-sip-out
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
124 
diff
changeset
 | 
27 int block_1900_numbers = 1; | 
| 
47
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
28 | 
| 
154
 
e54b0a9e322f
beginning of themwi-sip-out
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
124 
diff
changeset
 | 
29 static char config_file_pathname[] = "/var/gsm/themwi-sip-out.cfg"; | 
| 
47
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
30 | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
31 struct parse_state { | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
32 int lineno; | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
33 int set_mask; | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
34 }; | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
35 | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
36 static void | 
| 
89
 
e64d4d44025d
sip-in/readconf.c: first step toward non-trivial settings
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
68 
diff
changeset
 | 
37 require_one_arg(st, kw, arg) | 
| 
 
e64d4d44025d
sip-in/readconf.c: first step toward non-trivial settings
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
68 
diff
changeset
 | 
38 struct parse_state *st; | 
| 
 
e64d4d44025d
sip-in/readconf.c: first step toward non-trivial settings
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
68 
diff
changeset
 | 
39 char *kw, *arg; | 
| 
 
e64d4d44025d
sip-in/readconf.c: first step toward non-trivial settings
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
68 
diff
changeset
 | 
40 { | 
| 
 
e64d4d44025d
sip-in/readconf.c: first step toward non-trivial settings
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
68 
diff
changeset
 | 
41 char *cp; | 
| 
 
e64d4d44025d
sip-in/readconf.c: first step toward non-trivial settings
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
68 
diff
changeset
 | 
42 | 
| 
 
e64d4d44025d
sip-in/readconf.c: first step toward non-trivial settings
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
68 
diff
changeset
 | 
43 if (*arg == '\0' || *arg == '#') { | 
| 
 
e64d4d44025d
sip-in/readconf.c: first step toward non-trivial settings
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
68 
diff
changeset
 | 
44 inv_syntax: fprintf(stderr, | 
| 
 
e64d4d44025d
sip-in/readconf.c: first step toward non-trivial settings
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
68 
diff
changeset
 | 
45 "%s line %d: %s setting requires one argument\n", | 
| 
 
e64d4d44025d
sip-in/readconf.c: first step toward non-trivial settings
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
68 
diff
changeset
 | 
46 config_file_pathname, st->lineno, kw); | 
| 
 
e64d4d44025d
sip-in/readconf.c: first step toward non-trivial settings
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
68 
diff
changeset
 | 
47 exit(1); | 
| 
 
e64d4d44025d
sip-in/readconf.c: first step toward non-trivial settings
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
68 
diff
changeset
 | 
48 } | 
| 
 
e64d4d44025d
sip-in/readconf.c: first step toward non-trivial settings
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
68 
diff
changeset
 | 
49 for (cp = arg; *cp && !isspace(*cp); cp++) | 
| 
 
e64d4d44025d
sip-in/readconf.c: first step toward non-trivial settings
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
68 
diff
changeset
 | 
50 ; | 
| 
 
e64d4d44025d
sip-in/readconf.c: first step toward non-trivial settings
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
68 
diff
changeset
 | 
51 if (*cp) | 
| 
 
e64d4d44025d
sip-in/readconf.c: first step toward non-trivial settings
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
68 
diff
changeset
 | 
52 *cp++ = '\0'; | 
| 
 
e64d4d44025d
sip-in/readconf.c: first step toward non-trivial settings
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
68 
diff
changeset
 | 
53 while (isspace(*cp)) | 
| 
 
e64d4d44025d
sip-in/readconf.c: first step toward non-trivial settings
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
68 
diff
changeset
 | 
54 cp++; | 
| 
 
e64d4d44025d
sip-in/readconf.c: first step toward non-trivial settings
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
68 
diff
changeset
 | 
55 if (*cp != '\0' && *cp != '#') | 
| 
 
e64d4d44025d
sip-in/readconf.c: first step toward non-trivial settings
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
68 
diff
changeset
 | 
56 goto inv_syntax; | 
| 
 
e64d4d44025d
sip-in/readconf.c: first step toward non-trivial settings
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
68 
diff
changeset
 | 
57 } | 
| 
 
e64d4d44025d
sip-in/readconf.c: first step toward non-trivial settings
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
68 
diff
changeset
 | 
58 | 
| 
 
e64d4d44025d
sip-in/readconf.c: first step toward non-trivial settings
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
68 
diff
changeset
 | 
59 static void | 
| 
90
 
736c2d68595f
sip-in/readconf.c: second step toward non-trivial settings
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
89 
diff
changeset
 | 
60 handle_ip(st, kw, arg, var) | 
| 
47
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
61 struct parse_state *st; | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
62 char *kw, *arg; | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
63 struct in_addr *var; | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
64 { | 
| 
89
 
e64d4d44025d
sip-in/readconf.c: first step toward non-trivial settings
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
68 
diff
changeset
 | 
65 require_one_arg(st, kw, arg); | 
| 
47
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
66 var->s_addr = inet_addr(arg); | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
67 if (var->s_addr == INADDR_NONE) { | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
68 fprintf(stderr, | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
69 "%s line %d: invalid IP address argument \"%s\"\n", | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
70 config_file_pathname, st->lineno, arg); | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
71 exit(1); | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
72 } | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
73 } | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
74 | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
75 static void | 
| 
90
 
736c2d68595f
sip-in/readconf.c: second step toward non-trivial settings
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
89 
diff
changeset
 | 
76 handle_num(st, kw, arg, var) | 
| 
47
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
77 struct parse_state *st; | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
78 char *kw, *arg; | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
79 unsigned *var; | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
80 { | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
81 char *endp; | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
82 | 
| 
89
 
e64d4d44025d
sip-in/readconf.c: first step toward non-trivial settings
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
68 
diff
changeset
 | 
83 require_one_arg(st, kw, arg); | 
| 
47
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
84 *var = strtoul(arg, &endp, 10); | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
85 if (*endp) { | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
86 fprintf(stderr, "%s line %d: invalid numeric argument \"%s\"\n", | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
87 config_file_pathname, st->lineno, arg); | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
88 exit(1); | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
89 } | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
90 } | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
91 | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
92 static void | 
| 
90
 
736c2d68595f
sip-in/readconf.c: second step toward non-trivial settings
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
89 
diff
changeset
 | 
93 handle_bool(st, kw, arg, var) | 
| 
47
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
94 struct parse_state *st; | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
95 char *kw, *arg; | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
96 int *var; | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
97 { | 
| 
89
 
e64d4d44025d
sip-in/readconf.c: first step toward non-trivial settings
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
68 
diff
changeset
 | 
98 require_one_arg(st, kw, arg); | 
| 
47
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
99 if (!strcmp(arg, "true") || !strcmp(arg, "on") || !strcmp(arg, "yes") | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
100 || !strcmp(arg, "1")) { | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
101 *var = 1; | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
102 return; | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
103 } | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
104 if (!strcmp(arg, "false") || !strcmp(arg, "off") || !strcmp(arg, "no") | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
105 || !strcmp(arg, "0")) { | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
106 *var = 0; | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
107 return; | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
108 } | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
109 fprintf(stderr, "%s line %d: invalid boolean argument \"%s\"\n", | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
110 config_file_pathname, st->lineno, arg); | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
111 exit(1); | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
112 } | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
113 | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
114 static void | 
| 
91
 
fd23e2747b45
sip-in: add sip-udp-retrans configuration setting
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
90 
diff
changeset
 | 
115 handle_retrans_conf(st, kw, arg) | 
| 
 
fd23e2747b45
sip-in: add sip-udp-retrans configuration setting
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
90 
diff
changeset
 | 
116 struct parse_state *st; | 
| 
 
fd23e2747b45
sip-in: add sip-udp-retrans configuration setting
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
90 
diff
changeset
 | 
117 char *kw, *arg; | 
| 
 
fd23e2747b45
sip-in: add sip-udp-retrans configuration setting
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
90 
diff
changeset
 | 
118 { | 
| 
 
fd23e2747b45
sip-in: add sip-udp-retrans configuration setting
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
90 
diff
changeset
 | 
119 char *cp = arg; | 
| 
 
fd23e2747b45
sip-in: add sip-udp-retrans configuration setting
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
90 
diff
changeset
 | 
120 | 
| 
 
fd23e2747b45
sip-in: add sip-udp-retrans configuration setting
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
90 
diff
changeset
 | 
121 if (!isdigit(*cp)) { | 
| 
 
fd23e2747b45
sip-in: add sip-udp-retrans configuration setting
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
90 
diff
changeset
 | 
122 inv: fprintf(stderr, | 
| 
 
fd23e2747b45
sip-in: add sip-udp-retrans configuration setting
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
90 
diff
changeset
 | 
123 "%s line %d: %s setting requires two numeric arguments\n", | 
| 
 
fd23e2747b45
sip-in: add sip-udp-retrans configuration setting
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
90 
diff
changeset
 | 
124 config_file_pathname, st->lineno, kw); | 
| 
 
fd23e2747b45
sip-in: add sip-udp-retrans configuration setting
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
90 
diff
changeset
 | 
125 exit(1); | 
| 
 
fd23e2747b45
sip-in: add sip-udp-retrans configuration setting
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
90 
diff
changeset
 | 
126 } | 
| 
 
fd23e2747b45
sip-in: add sip-udp-retrans configuration setting
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
90 
diff
changeset
 | 
127 cfg_retrans_timeout = strtoul(cp, &cp, 10); | 
| 
 
fd23e2747b45
sip-in: add sip-udp-retrans configuration setting
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
90 
diff
changeset
 | 
128 while (isspace(*cp)) | 
| 
 
fd23e2747b45
sip-in: add sip-udp-retrans configuration setting
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
90 
diff
changeset
 | 
129 cp++; | 
| 
 
fd23e2747b45
sip-in: add sip-udp-retrans configuration setting
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
90 
diff
changeset
 | 
130 if (!isdigit(*cp)) | 
| 
 
fd23e2747b45
sip-in: add sip-udp-retrans configuration setting
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
90 
diff
changeset
 | 
131 goto inv; | 
| 
 
fd23e2747b45
sip-in: add sip-udp-retrans configuration setting
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
90 
diff
changeset
 | 
132 cfg_retrans_count = strtoul(cp, &cp, 10); | 
| 
 
fd23e2747b45
sip-in: add sip-udp-retrans configuration setting
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
90 
diff
changeset
 | 
133 while (isspace(*cp)) | 
| 
 
fd23e2747b45
sip-in: add sip-udp-retrans configuration setting
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
90 
diff
changeset
 | 
134 cp++; | 
| 
 
fd23e2747b45
sip-in: add sip-udp-retrans configuration setting
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
90 
diff
changeset
 | 
135 if (*cp != '\0' && *cp != '#') | 
| 
 
fd23e2747b45
sip-in: add sip-udp-retrans configuration setting
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
90 
diff
changeset
 | 
136 goto inv; | 
| 
 
fd23e2747b45
sip-in: add sip-udp-retrans configuration setting
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
90 
diff
changeset
 | 
137 } | 
| 
 
fd23e2747b45
sip-in: add sip-udp-retrans configuration setting
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
90 
diff
changeset
 | 
138 | 
| 
 
fd23e2747b45
sip-in: add sip-udp-retrans configuration setting
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
90 
diff
changeset
 | 
139 static void | 
| 
47
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
140 process_line(st, line) | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
141 struct parse_state *st; | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
142 char *line; | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
143 { | 
| 
89
 
e64d4d44025d
sip-in/readconf.c: first step toward non-trivial settings
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
68 
diff
changeset
 | 
144 char *cp, *kw; | 
| 
47
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
145 void (*handler)(), *var; | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
146 int set_id; | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
147 | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
148 if (!index(line, '\n')) { | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
149 fprintf(stderr, "%s line %d: too long or missing newline\n", | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
150 config_file_pathname, st->lineno); | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
151 exit(1); | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
152 } | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
153 for (cp = line; isspace(*cp); cp++) | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
154 ; | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
155 if (*cp == '\0' || *cp == '#') | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
156 return; | 
| 
89
 
e64d4d44025d
sip-in/readconf.c: first step toward non-trivial settings
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
68 
diff
changeset
 | 
157 for (kw = cp; *cp && !isspace(*cp); cp++) | 
| 
47
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
158 ; | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
159 if (*cp) | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
160 *cp++ = '\0'; | 
| 
89
 
e64d4d44025d
sip-in/readconf.c: first step toward non-trivial settings
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
68 
diff
changeset
 | 
161 if (!strcmp(kw, "bind-ip")) { | 
| 
47
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
162 handler = handle_ip; | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
163 var = &sip_bind_ip; | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
164 set_id = 1; | 
| 
89
 
e64d4d44025d
sip-in/readconf.c: first step toward non-trivial settings
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
68 
diff
changeset
 | 
165 } else if (!strcmp(kw, "bind-port")) { | 
| 
47
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
166 handler = handle_num; | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
167 var = &sip_bind_port; | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
168 set_id = 2; | 
| 
91
 
fd23e2747b45
sip-in: add sip-udp-retrans configuration setting
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
90 
diff
changeset
 | 
169 } else if (!strcmp(kw, "sip-udp-retrans")) { | 
| 
 
fd23e2747b45
sip-in: add sip-udp-retrans configuration setting
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
90 
diff
changeset
 | 
170 handler = handle_retrans_conf; | 
| 
 
fd23e2747b45
sip-in: add sip-udp-retrans configuration setting
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
90 
diff
changeset
 | 
171 var = (void *) 0; | 
| 
 
fd23e2747b45
sip-in: add sip-udp-retrans configuration setting
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
90 
diff
changeset
 | 
172 set_id = 0; | 
| 
154
 
e54b0a9e322f
beginning of themwi-sip-out
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
124 
diff
changeset
 | 
173 } else if (!strcmp(kw, "sip-linger-timeout")) { | 
| 
109
 
9b87894704eb
sip-in: first step toward final call clearing
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
108 
diff
changeset
 | 
174 handler = handle_num; | 
| 
154
 
e54b0a9e322f
beginning of themwi-sip-out
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
124 
diff
changeset
 | 
175 var = &sip_linger_timeout; | 
| 
 
e54b0a9e322f
beginning of themwi-sip-out
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
124 
diff
changeset
 | 
176 set_id = 0; | 
| 
 
e54b0a9e322f
beginning of themwi-sip-out
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
124 
diff
changeset
 | 
177 } else if (!strcmp(kw, "sip-linger-invite-error")) { | 
| 
 
e54b0a9e322f
beginning of themwi-sip-out
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
124 
diff
changeset
 | 
178 handler = handle_num; | 
| 
 
e54b0a9e322f
beginning of themwi-sip-out
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
124 
diff
changeset
 | 
179 var = &sip_linger_invite_err; | 
| 
109
 
9b87894704eb
sip-in: first step toward final call clearing
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
108 
diff
changeset
 | 
180 set_id = 0; | 
| 
 
9b87894704eb
sip-in: first step toward final call clearing
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
108 
diff
changeset
 | 
181 } else if (!strcmp(kw, "sip-linger-got-bye")) { | 
| 
 
9b87894704eb
sip-in: first step toward final call clearing
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
108 
diff
changeset
 | 
182 handler = handle_num; | 
| 
 
9b87894704eb
sip-in: first step toward final call clearing
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
108 
diff
changeset
 | 
183 var = &sip_linger_gotbye; | 
| 
 
9b87894704eb
sip-in: first step toward final call clearing
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
108 
diff
changeset
 | 
184 set_id = 0; | 
| 
154
 
e54b0a9e322f
beginning of themwi-sip-out
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
124 
diff
changeset
 | 
185 } else if (!strcmp(kw, "sip-linger-bye-out-ok")) { | 
| 
109
 
9b87894704eb
sip-in: first step toward final call clearing
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
108 
diff
changeset
 | 
186 handler = handle_num; | 
| 
154
 
e54b0a9e322f
beginning of themwi-sip-out
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
124 
diff
changeset
 | 
187 var = &sip_linger_bye_out_ok; | 
| 
 
e54b0a9e322f
beginning of themwi-sip-out
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
124 
diff
changeset
 | 
188 set_id = 0; | 
| 
 
e54b0a9e322f
beginning of themwi-sip-out
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
124 
diff
changeset
 | 
189 } else if (!strcmp(kw, "sip-linger-bye-out-error")) { | 
| 
 
e54b0a9e322f
beginning of themwi-sip-out
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
124 
diff
changeset
 | 
190 handler = handle_num; | 
| 
 
e54b0a9e322f
beginning of themwi-sip-out
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
124 
diff
changeset
 | 
191 var = &sip_linger_bye_out_err; | 
| 
109
 
9b87894704eb
sip-in: first step toward final call clearing
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
108 
diff
changeset
 | 
192 set_id = 0; | 
| 
92
 
a9137bdb6047
sip-in: make BYE Max-Forwards configurable
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
91 
diff
changeset
 | 
193 } else if (!strcmp(kw, "max-forwards")) { | 
| 
 
a9137bdb6047
sip-in: make BYE Max-Forwards configurable
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
91 
diff
changeset
 | 
194 handler = &handle_num; | 
| 
 
a9137bdb6047
sip-in: make BYE Max-Forwards configurable
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
91 
diff
changeset
 | 
195 var = &max_forwards; | 
| 
 
a9137bdb6047
sip-in: make BYE Max-Forwards configurable
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
91 
diff
changeset
 | 
196 set_id = 0; | 
| 
154
 
e54b0a9e322f
beginning of themwi-sip-out
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
124 
diff
changeset
 | 
197 } else if (!strcmp(kw, "block-1900")) { | 
| 
 
e54b0a9e322f
beginning of themwi-sip-out
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
124 
diff
changeset
 | 
198 handler = handle_bool; | 
| 
 
e54b0a9e322f
beginning of themwi-sip-out
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
124 
diff
changeset
 | 
199 var = &block_1900_numbers; | 
| 
 
e54b0a9e322f
beginning of themwi-sip-out
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
124 
diff
changeset
 | 
200 set_id = 0; | 
| 
47
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
201 } else { | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
202 fprintf(stderr, "%s line %d: non-understood keyword \"%s\"\n", | 
| 
89
 
e64d4d44025d
sip-in/readconf.c: first step toward non-trivial settings
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
68 
diff
changeset
 | 
203 config_file_pathname, st->lineno, kw); | 
| 
47
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
204 exit(1); | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
205 } | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
206 if (st->set_mask & set_id) { | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
207 fprintf(stderr, "%s line %d: duplicate %s setting\n", | 
| 
89
 
e64d4d44025d
sip-in/readconf.c: first step toward non-trivial settings
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
68 
diff
changeset
 | 
208 config_file_pathname, st->lineno, kw); | 
| 
47
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
209 exit(1); | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
210 } | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
211 while (isspace(*cp)) | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
212 cp++; | 
| 
90
 
736c2d68595f
sip-in/readconf.c: second step toward non-trivial settings
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
89 
diff
changeset
 | 
213 handler(st, kw, cp, var); | 
| 
47
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
214 st->set_mask |= set_id; | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
215 } | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
216 | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
217 read_config_file() | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
218 { | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
219 FILE *inf; | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
220 struct parse_state pst; | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
221 char linebuf[256]; | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
222 | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
223 inf = fopen(config_file_pathname, "r"); | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
224 if (!inf) { | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
225 perror(config_file_pathname); | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
226 exit(1); | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
227 } | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
228 pst.set_mask = 0; | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
229 for (pst.lineno = 1; fgets(linebuf, sizeof linebuf, inf); pst.lineno++) | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
230 process_line(&pst, linebuf); | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
231 fclose(inf); | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
232 if (pst.set_mask != 3) { | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
233 fprintf(stderr, "error: %s did not set all required settings\n", | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
234 config_file_pathname); | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
235 exit(1); | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
236 } | 
| 
 
62f39c7cee15
themwi-sip-in skeleton started
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
237 } | 
