1 --- net-tools-1.60/netstat.c.sctp-addrs 2008-06-18 14:41:29.000000000 +0200
2 +++ net-tools-1.60/netstat.c 2008-06-18 14:12:03.000000000 +0200
3 @@ -1299,23 +1299,21 @@ static void sctp_eps_do_one(int lnr, cha
7 - const char *pladdr_str;
11 - /* ENDPT SOCK STY SST HBKT LPORT uid inode pladdr LADDRS*/
12 + /* ENDPT SOCK STY SST HBKT LPORT UID INODE LADDRS */
16 - strtok(line," \t\n"); /*skip ptr*/
17 - strtok(0," \t\n"); /*skip ptr*/
18 + strtok(line," \t\n"); /*skip endpt*/
19 + strtok(0," \t\n"); /*skip sock*/
20 sty_str = strtok(0," \t\n");
21 sst_str = strtok(0," \t\n");
22 strtok(0," \t\n"); /*skip hash bucket*/
23 lport_str=strtok(0," \t\n");
24 uid_str = strtok(0," \t\n");
25 inode_str = strtok(0," \t\n");
26 - pladdr_str = strtok(0," \t\n");
27 laddrs_str=strtok(0,"\t\n");
30 @@ -1323,61 +1321,35 @@ static void sctp_eps_do_one(int lnr, cha
31 port = atoi(lport_str);
33 inode = strtoul(inode_str,0,0);
36 - /* only print the primary address */
37 - char local_addr[64];
38 - char local_port[16];
40 - ap = process_sctp_addr_str(pladdr_str, (struct sockaddr*)&localaddr);
42 - safe_strncpy(local_addr,
43 - ap->sprint((struct sockaddr *) &localaddr, flag_not),
44 - sizeof(local_addr));
46 - sprintf(local_addr,_("unsupported address family %d"), ((struct sockaddr*)&localaddr)->sa_family);
48 - snprintf(local_port, sizeof(local_port), "%s",
49 - get_sname(htons(port), "sctp",
50 - flag_not & FLAG_NUM_PORT));
53 - sprintf(buffer,"%s:%s", local_addr, local_port);
54 - printf("%-47s", buffer);
55 - printf(" %-12s", sctp_socket_state_str(state));
57 - /*print all addresses*/
58 - const char *this_local_addr;
60 - char local_port[16];
61 - snprintf(local_port, sizeof(local_port), "%s",
62 - get_sname(htons(port), "sctp",
63 - flag_not & FLAG_NUM_PORT));
64 - for(this_local_addr=strtok(laddrs_str," \t\n");
66 - this_local_addr=strtok(0," \t\n"))
68 - char local_addr[64];
69 - ap = process_sctp_addr_str(this_local_addr, (struct sockaddr*)&localaddr);
71 - safe_strncpy(local_addr,
72 - ap->sprint((struct sockaddr *) &localaddr, flag_not),
73 - sizeof(local_addr));
75 - sprintf(local_addr,_("unsupported address family %d"), ((struct sockaddr*)&localaddr)->sa_family);
77 - if(!first) printf("\n");
82 - sprintf(buffer,"%s:%s", local_addr, local_port);
83 - printf("%-47s", buffer);
84 - printf(" %-12s", first?sctp_socket_state_str(state):"");
87 + const char *this_local_addr;
89 + char local_port[16];
90 + snprintf(local_port, sizeof(local_port), "%s",
91 + get_sname(htons(port), "sctp", flag_not & FLAG_NUM_PORT));
92 + for(this_local_addr=strtok(laddrs_str," \t\n");
94 + this_local_addr=strtok(0," \t\n"))
96 + char local_addr[64];
97 + ap = process_sctp_addr_str(this_local_addr, (struct sockaddr*)&localaddr);
99 + safe_strncpy(local_addr,
100 + ap->sprint((struct sockaddr *) &localaddr, flag_not),
101 + sizeof(local_addr));
103 + sprintf(local_addr,_("unsupported address family %d"), ((struct sockaddr*)&localaddr)->sa_family);
105 + if(!first) printf("\n");
110 + sprintf(buffer,"%s:%s", local_addr, local_port);
111 + printf("%-55s", buffer);
112 + printf(" %-12s", first?sctp_socket_state_str(state):"");
116 finish_this_one(uid,inode,"");
119 @@ -1403,32 +1375,29 @@ static void sctp_assoc_do_one(int lnr, c
120 const char *lport_str,*rport_str;
122 const char *inode_str;
123 - const char *pladdr_str;
125 - const char *praddr_str;
130 - /* ASSOC SOCK STY SST ST HBKT tx_queue rx_queue uid inode LPORT RPORT pladdr praddr LADDRS <-> RADDRS*/
131 + /* ASSOC SOCK STY SST ST HBKT ASSOC-ID TX_QUEUE RX_QUEUE UID INODE LPORT RPORT LADDRS <-> RADDRS */
135 - strtok(line," \t\n"); /*skip ptr*/
136 - strtok(0," \t\n"); /*skip ptr*/
138 + strtok(line," \t\n"); /*skip assoc*/
139 + strtok(0," \t\n"); /*skip sock*/
140 sty_str = strtok(0," \t\n");
141 sst_str = strtok(0," \t\n");
142 st_str = strtok(0," \t\n");
143 strtok(0," \t\n"); /*skip hash bucket*/
144 + strtok(0," \t\n"); /*skip hash assoc-id*/
145 txqueue_str = strtok(0," \t\n");
146 rxqueue_str = strtok(0," \t\n");
147 uid_str = strtok(0," \t\n");
148 inode_str = strtok(0," \t\n");
149 lport_str=strtok(0," \t\n");
150 rport_str=strtok(0," \t\n");
151 - pladdr_str = strtok(0," \t\n");
152 - praddr_str = strtok(0," \t\n");
153 - laddrs_str=strtok(0,"<->\t\n");
154 - raddrs_str=strtok(0,"<->\t\n");
155 + laddrs_str = strtok(0,"<->\t\n");
156 + raddrs_str = strtok(0,"<->\t\n");
158 type = atoi(sty_str);
159 state = atoi(sst_str);
160 @@ -1439,116 +1408,81 @@ static void sctp_assoc_do_one(int lnr, c
161 inode = strtoul(inode_str,0,0);
162 lport = atoi(lport_str);
163 rport = atoi(rport_str);
166 - /* only print the primary addresses */
167 - char local_addr[64];
168 - char local_port[16];
169 - char remote_addr[64];
170 - char remote_port[16];
172 - ap = process_sctp_addr_str(pladdr_str, (struct sockaddr*)&localaddr);
174 - safe_strncpy(local_addr,
175 - ap->sprint((struct sockaddr *) &localaddr, flag_not),
176 - sizeof(local_addr));
178 - sprintf(local_addr,_("unsupported address family %d"), ((struct sockaddr*)&localaddr)->sa_family);
180 - snprintf(local_port, sizeof(local_port), "%s",
181 - get_sname(htons(lport), "sctp",
182 - flag_not & FLAG_NUM_PORT));
184 - ap = process_sctp_addr_str(praddr_str, (struct sockaddr*)&remoteaddr);
186 - safe_strncpy(remote_addr,
187 - ap->sprint((struct sockaddr *) &remoteaddr, flag_not),
188 - sizeof(remote_addr));
190 - sprintf(remote_addr,_("unsupported address family %d"), ((struct sockaddr*)&remoteaddr)->sa_family);
192 - snprintf(remote_port, sizeof(remote_port), "%s",
193 - get_sname(htons(rport), "sctp",
194 - flag_not & FLAG_NUM_PORT));
197 - printf(" %6u %6u ", rxqueue, txqueue);
198 - sprintf(buffer,"%s:%s", local_addr, local_port);
199 - printf("%-23s", buffer);
201 - sprintf(buffer,"%s:%s", remote_addr, remote_port);
202 - printf("%-23s", buffer);
203 - printf(" %-12s", sctp_socket_state_str(state));
205 - /*print all addresses*/
206 - const char *this_local_addr;
207 - const char *this_remote_addr;
210 - char local_port[16];
211 - char remote_port[16];
212 - snprintf(local_port, sizeof(local_port), "%s",
213 - get_sname(htons(lport), "sctp",
214 - flag_not & FLAG_NUM_PORT));
215 - snprintf(remote_port, sizeof(remote_port), "%s",
216 - get_sname(htons(rport), "sctp",
217 - flag_not & FLAG_NUM_PORT));
219 - this_local_addr=strtok_r(laddrs_str," \t\n",&ss1);
220 - this_remote_addr=strtok_r(raddrs_str," \t\n",&ss2);
221 - while(this_local_addr || this_remote_addr) {
222 - char local_addr[64];
223 - char remote_addr[64];
224 - if(this_local_addr) {
225 - ap = process_sctp_addr_str(this_local_addr, (struct sockaddr*)&localaddr);
227 - safe_strncpy(local_addr,
228 - ap->sprint((struct sockaddr *) &localaddr, flag_not),
229 - sizeof(local_addr));
231 - sprintf(local_addr,_("unsupported address family %d"), ((struct sockaddr*)&localaddr)->sa_family);
233 - if(this_remote_addr) {
234 - ap = process_sctp_addr_str(this_remote_addr, (struct sockaddr*)&remoteaddr);
236 - safe_strncpy(remote_addr,
237 - ap->sprint((struct sockaddr *) &remoteaddr, flag_not),
238 - sizeof(remote_addr));
240 - sprintf(remote_addr,_("unsupported address family %d"), ((struct sockaddr*)&remoteaddr)->sa_family);
243 - if(!first) printf("\n");
245 - printf("sctp %6u %6u ", rxqueue, txqueue);
248 - if(this_local_addr) {
250 - sprintf(buffer,"%s:%s", local_addr, local_port);
251 + /*print all addresses*/
252 + const char *this_local_addr;
253 + const char *this_remote_addr;
256 + char local_port[16];
257 + char remote_port[16];
258 + snprintf(local_port, sizeof(local_port), "%s",
259 + get_sname(htons(lport), "sctp",
260 + flag_not & FLAG_NUM_PORT));
261 + snprintf(remote_port, sizeof(remote_port), "%s",
262 + get_sname(htons(rport), "sctp",
263 + flag_not & FLAG_NUM_PORT));
265 + this_local_addr=strtok_r(laddrs_str," \t\n",&ss1);
266 + this_remote_addr=strtok_r(raddrs_str," \t\n",&ss2);
267 + while(this_local_addr || this_remote_addr) {
268 + char local_addr[64];
269 + char remote_addr[64];
271 + if(this_local_addr) {
272 + if (this_local_addr[0] == '*') {
276 + ap = process_sctp_addr_str(this_local_addr, (struct sockaddr*)&localaddr);
278 + safe_strncpy(local_addr,
279 + ap->sprint((struct sockaddr *) &localaddr, flag_not), sizeof(local_addr));
281 - sprintf(buffer,"%s", local_addr);
282 - printf("%-23s", buffer);
284 - printf("%-23s", "");
286 - if(this_remote_addr) {
288 - sprintf(buffer,"%s:%s", remote_addr, remote_port);
289 + sprintf(local_addr,_("unsupported address family %d"), ((struct sockaddr*)&localaddr)->sa_family);
291 + if(this_remote_addr) {
292 + if (this_remote_addr[0] == '*') {
294 + this_remote_addr++;
296 + ap = process_sctp_addr_str(this_remote_addr, (struct sockaddr*)&remoteaddr);
298 + safe_strncpy(remote_addr,
299 + ap->sprint((struct sockaddr *) &remoteaddr, flag_not), sizeof(remote_addr));
301 - sprintf(buffer,"%s", remote_addr);
302 - printf("%-23s", buffer);
304 - printf("%-23s", "");
306 - printf(" %-12s", first?sctp_socket_state_str(state):"");
307 + sprintf(remote_addr,_("unsupported address family %d"), ((struct sockaddr*)&remoteaddr)->sa_family);
311 - this_local_addr=strtok_r(0," \t\n",&ss1);
312 - this_remote_addr=strtok_r(0," \t\n",&ss2);
314 + if(!first) printf("\n");
316 + printf("sctp %6u %6u ", rxqueue, txqueue);
319 + if(this_local_addr) {
321 + sprintf(buffer,"%s:%s", local_addr, local_port);
323 + sprintf(buffer,"%s", local_addr);
324 + printf("%-27s", buffer);
326 + printf("%-27s", "");
328 + if(this_remote_addr) {
330 + sprintf(buffer,"%s:%s", remote_addr, remote_port);
332 + sprintf(buffer,"%s", remote_addr);
333 + printf("%-27s", buffer);
335 + printf("%-27s", "");
337 + printf(" %-12s", first?sctp_socket_state_str(state):"");
340 + this_local_addr=strtok_r(0," \t\n",&ss1);
341 + this_remote_addr=strtok_r(0," \t\n",&ss2);
344 finish_this_one(uid,inode,"");