aboutsummaryrefslogtreecommitdiffstats
path: root/src/fnet
diff options
context:
space:
mode:
authorLibravatar Fred Barclay <Fred-Barclay@users.noreply.github.com>2017-05-24 14:13:52 -0500
committerLibravatar Fred Barclay <Fred-Barclay@users.noreply.github.com>2017-05-24 14:13:52 -0500
commit96c920e166b40bbe50f216e294f2efac154a1cb2 (patch)
treefa80a34e81863ab897f2f2b8ec4124b10d023516 /src/fnet
parentremove trailing whitespace from etc/ (diff)
downloadfirejail-96c920e166b40bbe50f216e294f2efac154a1cb2.tar.gz
firejail-96c920e166b40bbe50f216e294f2efac154a1cb2.tar.zst
firejail-96c920e166b40bbe50f216e294f2efac154a1cb2.zip
Remove trailing whitespace from src/
Diffstat (limited to 'src/fnet')
-rw-r--r--src/fnet/Makefile.in1
-rw-r--r--src/fnet/arp.c39
-rw-r--r--src/fnet/interface.c24
-rw-r--r--src/fnet/main.c4
-rw-r--r--src/fnet/veth.c26
5 files changed, 45 insertions, 49 deletions
diff --git a/src/fnet/Makefile.in b/src/fnet/Makefile.in
index 32f08882a..5932737ce 100644
--- a/src/fnet/Makefile.in
+++ b/src/fnet/Makefile.in
@@ -42,4 +42,3 @@ clean:; rm -f *.o fnet *.gcov *.gcda *.gcno
42 42
43distclean: clean 43distclean: clean
44 rm -fr Makefile 44 rm -fr Makefile
45
diff --git a/src/fnet/arp.c b/src/fnet/arp.c
index a7f0a603a..4736f3509 100644
--- a/src/fnet/arp.c
+++ b/src/fnet/arp.c
@@ -48,12 +48,12 @@ void arp_scan(const char *dev, uint32_t ifip, uint32_t ifmask) {
48 48
49// printf("Scanning interface %s (%d.%d.%d.%d/%d)\n", 49// printf("Scanning interface %s (%d.%d.%d.%d/%d)\n",
50// dev, PRINT_IP(ifip & ifmask), mask2bits(ifmask)); 50// dev, PRINT_IP(ifip & ifmask), mask2bits(ifmask));
51 51
52 if (strlen(dev) > IFNAMSIZ) { 52 if (strlen(dev) > IFNAMSIZ) {
53 fprintf(stderr, "Error: invalid network device name %s\n", dev); 53 fprintf(stderr, "Error: invalid network device name %s\n", dev);
54 exit(1); 54 exit(1);
55 } 55 }
56 56
57 // find interface mac address 57 // find interface mac address
58 int sock; 58 int sock;
59 if ((sock = socket(AF_INET, SOCK_RAW, IPPROTO_RAW)) < 0) 59 if ((sock = socket(AF_INET, SOCK_RAW, IPPROTO_RAW)) < 0)
@@ -70,7 +70,7 @@ void arp_scan(const char *dev, uint32_t ifip, uint32_t ifmask) {
70 // open layer2 socket 70 // open layer2 socket
71 if ((sock = socket(PF_PACKET, SOCK_RAW, htons (ETH_P_ALL))) < 0) 71 if ((sock = socket(PF_PACKET, SOCK_RAW, htons (ETH_P_ALL))) < 0)
72 errExit("socket"); 72 errExit("socket");
73 73
74 // try all possible ip addresses in ascending order 74 // try all possible ip addresses in ascending order
75 uint32_t range = ~ifmask + 1; // the number of potential addresses 75 uint32_t range = ~ifmask + 1; // the number of potential addresses
76 // this software is not supported for /31 networks 76 // this software is not supported for /31 networks
@@ -90,7 +90,7 @@ void arp_scan(const char *dev, uint32_t ifip, uint32_t ifmask) {
90 struct timeval ts; 90 struct timeval ts;
91 ts.tv_sec = 2; // 2 seconds receive timeout 91 ts.tv_sec = 2; // 2 seconds receive timeout
92 ts.tv_usec = 0; 92 ts.tv_usec = 0;
93 93
94 while (1) { 94 while (1) {
95 fd_set rfds; 95 fd_set rfds;
96 FD_ZERO(&rfds); 96 FD_ZERO(&rfds);
@@ -101,21 +101,21 @@ void arp_scan(const char *dev, uint32_t ifip, uint32_t ifmask) {
101 int maxfd = sock; 101 int maxfd = sock;
102 102
103 uint8_t frame[ETH_FRAME_LEN]; // includes eht header, vlan, and crc 103 uint8_t frame[ETH_FRAME_LEN]; // includes eht header, vlan, and crc
104 memset(frame, 0, ETH_FRAME_LEN); 104 memset(frame, 0, ETH_FRAME_LEN);
105 105
106 int nready; 106 int nready;
107 if (dest < last) 107 if (dest < last)
108 nready = select(maxfd + 1, &rfds, &wfds, (fd_set *) 0, NULL); 108 nready = select(maxfd + 1, &rfds, &wfds, (fd_set *) 0, NULL);
109 else 109 else
110 nready = select(maxfd + 1, &rfds, (fd_set *) 0, (fd_set *) 0, &ts); 110 nready = select(maxfd + 1, &rfds, (fd_set *) 0, (fd_set *) 0, &ts);
111 111
112 if (nready < 0) 112 if (nready < 0)
113 errExit("select"); 113 errExit("select");
114 114
115 if (nready == 0) { // timeout 115 if (nready == 0) { // timeout
116 break; 116 break;
117 } 117 }
118 118
119 if (FD_ISSET(sock, &wfds) && dest < last) { 119 if (FD_ISSET(sock, &wfds) && dest < last) {
120 // configure layer2 socket address information 120 // configure layer2 socket address information
121 struct sockaddr_ll addr; 121 struct sockaddr_ll addr;
@@ -125,7 +125,7 @@ void arp_scan(const char *dev, uint32_t ifip, uint32_t ifmask) {
125 addr.sll_family = AF_PACKET; 125 addr.sll_family = AF_PACKET;
126 memcpy (addr.sll_addr, mac, 6); 126 memcpy (addr.sll_addr, mac, 6);
127 addr.sll_halen = htons(6); 127 addr.sll_halen = htons(6);
128 128
129 // build the arp packet header 129 // build the arp packet header
130 ArpHdr hdr; 130 ArpHdr hdr;
131 memset(&hdr, 0, sizeof(hdr)); 131 memset(&hdr, 0, sizeof(hdr));
@@ -138,7 +138,7 @@ void arp_scan(const char *dev, uint32_t ifip, uint32_t ifmask) {
138 memcpy(hdr.sender_ip, (uint8_t *)&src, 4); 138 memcpy(hdr.sender_ip, (uint8_t *)&src, 4);
139 uint32_t dst = htonl(dest); 139 uint32_t dst = htonl(dest);
140 memcpy(hdr.target_ip, (uint8_t *)&dst, 4); 140 memcpy(hdr.target_ip, (uint8_t *)&dst, 4);
141 141
142 // build ethernet frame 142 // build ethernet frame
143 uint8_t frame[ETH_FRAME_LEN]; // includes eht header, vlan, and crc 143 uint8_t frame[ETH_FRAME_LEN]; // includes eht header, vlan, and crc
144 memset(frame, 0, sizeof(frame)); 144 memset(frame, 0, sizeof(frame));
@@ -147,16 +147,16 @@ void arp_scan(const char *dev, uint32_t ifip, uint32_t ifmask) {
147 frame[12] = ETH_P_ARP / 256; 147 frame[12] = ETH_P_ARP / 256;
148 frame[13] = ETH_P_ARP % 256; 148 frame[13] = ETH_P_ARP % 256;
149 memcpy (frame + 14, &hdr, sizeof(hdr)); 149 memcpy (frame + 14, &hdr, sizeof(hdr));
150 150
151 // send packet 151 // send packet
152 int len; 152 int len;
153 if ((len = sendto (sock, frame, 14 + sizeof(ArpHdr), 0, (struct sockaddr *) &addr, sizeof (addr))) <= 0) 153 if ((len = sendto (sock, frame, 14 + sizeof(ArpHdr), 0, (struct sockaddr *) &addr, sizeof (addr))) <= 0)
154 errExit("send"); 154 errExit("send");
155//printf("send %d bytes to %d.%d.%d.%d\n", len, PRINT_IP(dest)); 155//printf("send %d bytes to %d.%d.%d.%d\n", len, PRINT_IP(dest));
156 fflush(0); 156 fflush(0);
157 dest++; 157 dest++;
158 } 158 }
159 159
160 if (FD_ISSET(sock, &rfds)) { 160 if (FD_ISSET(sock, &rfds)) {
161 // read the incoming packet 161 // read the incoming packet
162 int len = recvfrom(sock, frame, ETH_FRAME_LEN, 0, NULL, NULL); 162 int len = recvfrom(sock, frame, ETH_FRAME_LEN, 0, NULL, NULL);
@@ -185,24 +185,21 @@ void arp_scan(const char *dev, uint32_t ifip, uint32_t ifmask) {
185 continue; 185 continue;
186 memcpy(&ip, hdr.sender_ip, 4); 186 memcpy(&ip, hdr.sender_ip, 4);
187 ip = ntohl(ip); 187 ip = ntohl(ip);
188 188
189 if (ip == last_ip) // filter duplicates 189 if (ip == last_ip) // filter duplicates
190 continue; 190 continue;
191 last_ip = ip; 191 last_ip = ip;
192 192
193 // printing 193 // printing
194 if (header_printed == 0) { 194 if (header_printed == 0) {
195 printf(" Network scan:\n"); 195 printf(" Network scan:\n");
196 header_printed = 1; 196 header_printed = 1;
197 } 197 }
198 printf(" %02x:%02x:%02x:%02x:%02x:%02x\t%d.%d.%d.%d\n", 198 printf(" %02x:%02x:%02x:%02x:%02x:%02x\t%d.%d.%d.%d\n",
199 PRINT_MAC(hdr.sender_mac), PRINT_IP(ip)); 199 PRINT_MAC(hdr.sender_mac), PRINT_IP(ip));
200 } 200 }
201 } 201 }
202 } 202 }
203 203
204 close(sock); 204 close(sock);
205} 205}
206
207
208
diff --git a/src/fnet/interface.c b/src/fnet/interface.c
index 33ad766ec..8c1fd6ca4 100644
--- a/src/fnet/interface.c
+++ b/src/fnet/interface.c
@@ -40,7 +40,7 @@ static void check_if_name(const char *ifname) {
40void net_bridge_add_interface(const char *bridge, const char *dev) { 40void net_bridge_add_interface(const char *bridge, const char *dev) {
41 check_if_name(bridge); 41 check_if_name(bridge);
42 check_if_name(dev); 42 check_if_name(dev);
43 43
44 // somehow adding the interface to the bridge resets MTU on bridge device!!! 44 // somehow adding the interface to the bridge resets MTU on bridge device!!!
45 // workaround: restore MTU on the bridge device 45 // workaround: restore MTU on the bridge device
46 // todo: put a real fix in 46 // todo: put a real fix in
@@ -82,7 +82,7 @@ void net_bridge_add_interface(const char *bridge, const char *dev) {
82// bring interface up 82// bring interface up
83void net_if_up(const char *ifname) { 83void net_if_up(const char *ifname) {
84 check_if_name(ifname); 84 check_if_name(ifname);
85 85
86 int sock = socket(AF_INET,SOCK_DGRAM,0); 86 int sock = socket(AF_INET,SOCK_DGRAM,0);
87 if (sock < 0) 87 if (sock < 0)
88 errExit("socket"); 88 errExit("socket");
@@ -139,8 +139,8 @@ int net_get_mtu(const char *ifname) {
139 if (ioctl(s, SIOCGIFMTU, (caddr_t)&ifr) == 0) 139 if (ioctl(s, SIOCGIFMTU, (caddr_t)&ifr) == 0)
140 mtu = ifr.ifr_mtu; 140 mtu = ifr.ifr_mtu;
141 close(s); 141 close(s);
142 142
143 143
144 return mtu; 144 return mtu;
145} 145}
146 146
@@ -197,7 +197,7 @@ void net_ifprint(int scan) {
197 sprintf(ipstr, "%d.%d.%d.%d", PRINT_IP(ip)); 197 sprintf(ipstr, "%d.%d.%d.%d", PRINT_IP(ip));
198 char maskstr[30]; 198 char maskstr[30];
199 sprintf(maskstr, "%d.%d.%d.%d", PRINT_IP(mask)); 199 sprintf(maskstr, "%d.%d.%d.%d", PRINT_IP(mask));
200 200
201 // mac address 201 // mac address
202 unsigned char mac[6]; 202 unsigned char mac[6];
203 net_get_mac(ifa->ifa_name, mac); 203 net_get_mac(ifa->ifa_name, mac);
@@ -207,7 +207,7 @@ void net_ifprint(int scan) {
207 else 207 else
208 sprintf(macstr, "%02x:%02x:%02x:%02x:%02x:%02x", PRINT_MAC(mac)); 208 sprintf(macstr, "%02x:%02x:%02x:%02x:%02x:%02x", PRINT_MAC(mac));
209 209
210 // print 210 // print
211 printf("%-17.17s%-19.19s%-17.17s%-17.17s%-6.6s\n", 211 printf("%-17.17s%-19.19s%-17.17s%-17.17s%-6.6s\n",
212 ifa->ifa_name, macstr, ipstr, maskstr, status); 212 ifa->ifa_name, macstr, ipstr, maskstr, status);
213 213
@@ -240,7 +240,7 @@ int net_get_mac(const char *ifname, unsigned char mac[6]) {
240 memset(&ifr, 0, sizeof(ifr)); 240 memset(&ifr, 0, sizeof(ifr));
241 strncpy(ifr.ifr_name, ifname, IFNAMSIZ); 241 strncpy(ifr.ifr_name, ifname, IFNAMSIZ);
242 ifr.ifr_hwaddr.sa_family = ARPHRD_ETHER; 242 ifr.ifr_hwaddr.sa_family = ARPHRD_ETHER;
243 243
244 if (ioctl(sock, SIOCGIFHWADDR, &ifr) == -1) 244 if (ioctl(sock, SIOCGIFHWADDR, &ifr) == -1)
245 errExit("ioctl"); 245 errExit("ioctl");
246 memcpy(mac, ifr.ifr_hwaddr.sa_data, 6); 246 memcpy(mac, ifr.ifr_hwaddr.sa_data, 6);
@@ -262,7 +262,7 @@ void net_if_ip(const char *ifname, uint32_t ip, uint32_t mask, int mtu) {
262 ifr.ifr_addr.sa_family = AF_INET; 262 ifr.ifr_addr.sa_family = AF_INET;
263 263
264 ((struct sockaddr_in *)&ifr.ifr_addr)->sin_addr.s_addr = htonl(ip); 264 ((struct sockaddr_in *)&ifr.ifr_addr)->sin_addr.s_addr = htonl(ip);
265 if (ioctl( sock, SIOCSIFADDR, &ifr ) < 0) 265 if (ioctl( sock, SIOCSIFADDR, &ifr ) < 0)
266 errExit("ioctl"); 266 errExit("ioctl");
267 267
268 if (ip != 0) { 268 if (ip != 0) {
@@ -270,7 +270,7 @@ void net_if_ip(const char *ifname, uint32_t ip, uint32_t mask, int mtu) {
270 if (ioctl( sock, SIOCSIFNETMASK, &ifr ) < 0) 270 if (ioctl( sock, SIOCSIFNETMASK, &ifr ) < 0)
271 errExit("ioctl"); 271 errExit("ioctl");
272 } 272 }
273 273
274 // configure mtu 274 // configure mtu
275 if (mtu > 0) { 275 if (mtu > 0) {
276 ifr.ifr_mtu = mtu; 276 ifr.ifr_mtu = mtu;
@@ -295,7 +295,7 @@ int net_if_mac(const char *ifname, const unsigned char mac[6]) {
295 strncpy(ifr.ifr_name, ifname, IFNAMSIZ); 295 strncpy(ifr.ifr_name, ifname, IFNAMSIZ);
296 ifr.ifr_hwaddr.sa_family = ARPHRD_ETHER; 296 ifr.ifr_hwaddr.sa_family = ARPHRD_ETHER;
297 memcpy(ifr.ifr_hwaddr.sa_data, mac, 6); 297 memcpy(ifr.ifr_hwaddr.sa_data, mac, 6);
298 298
299 if (ioctl(sock, SIOCSIFHWADDR, &ifr) == -1) 299 if (ioctl(sock, SIOCSIFHWADDR, &ifr) == -1)
300 errExit("ioctl"); 300 errExit("ioctl");
301 close(sock); 301 close(sock);
@@ -315,7 +315,7 @@ void net_if_ip6(const char *ifname, const char *addr6) {
315 fprintf(stderr, "Error fnet: invalid IPv6 address %s\n", addr6); 315 fprintf(stderr, "Error fnet: invalid IPv6 address %s\n", addr6);
316 exit(1); 316 exit(1);
317 } 317 }
318 318
319 // extract prefix 319 // extract prefix
320 unsigned long prefix; 320 unsigned long prefix;
321 char *ptr; 321 char *ptr;
@@ -367,6 +367,6 @@ void net_if_ip6(const char *ifname, const char *addr6) {
367 perror("ioctl SIOCSIFADDR"); 367 perror("ioctl SIOCSIFADDR");
368 exit(1); 368 exit(1);
369 } 369 }
370 370
371 close(sock); 371 close(sock);
372} 372}
diff --git a/src/fnet/main.c b/src/fnet/main.c
index 0c55f3141..f44760b5c 100644
--- a/src/fnet/main.c
+++ b/src/fnet/main.c
@@ -41,7 +41,7 @@ int i;
41for (i = 0; i < argc; i++) 41for (i = 0; i < argc; i++)
42 printf("*%s* ", argv[i]); 42 printf("*%s* ", argv[i]);
43printf("\n"); 43printf("\n");
44} 44}
45#endif 45#endif
46 if (argc < 2) { 46 if (argc < 2) {
47 usage(); 47 usage();
@@ -51,7 +51,7 @@ printf("\n");
51 char *quiet = getenv("FIREJAIL_QUIET"); 51 char *quiet = getenv("FIREJAIL_QUIET");
52 if (quiet && strcmp(quiet, "yes") == 0) 52 if (quiet && strcmp(quiet, "yes") == 0)
53 arg_quiet = 1; 53 arg_quiet = 1;
54 54
55 if (strcmp(argv[1], "-h") == 0 || strcmp(argv[1], "--help") == 0 || strcmp(argv[1], "-?") ==0) { 55 if (strcmp(argv[1], "-h") == 0 || strcmp(argv[1], "--help") == 0 || strcmp(argv[1], "-?") ==0) {
56 usage(); 56 usage();
57 return 0; 57 return 0;
diff --git a/src/fnet/veth.c b/src/fnet/veth.c
index 86d9d5190..d37c93a19 100644
--- a/src/fnet/veth.c
+++ b/src/fnet/veth.c
@@ -1,16 +1,16 @@
1/* code based on iproute2 ip/iplink.c, modified to be included in firejail project 1/* code based on iproute2 ip/iplink.c, modified to be included in firejail project
2 * 2 *
3 * Original source code: 3 * Original source code:
4 * 4 *
5 * Information: 5 * Information:
6 * http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2 6 * http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2
7 * 7 *
8 * Download: 8 * Download:
9 * http://www.kernel.org/pub/linux/utils/net/iproute2/ 9 * http://www.kernel.org/pub/linux/utils/net/iproute2/
10 * 10 *
11 * Repository: 11 * Repository:
12 * git://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git 12 * git://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git
13 * 13 *
14 * License: GPL v2 14 * License: GPL v2
15 * 15 *
16 * Original copyright header 16 * Original copyright header
@@ -112,7 +112,7 @@ int net_create_veth(const char *dev, const char *nsdev, unsigned pid) {
112 exit(2); 112 exit(2);
113 113
114 rtnl_close(&rth); 114 rtnl_close(&rth);
115 115
116 return 0; 116 return 0;
117} 117}
118 118
@@ -134,13 +134,13 @@ int net_create_macvlan(const char *dev, const char *parent, unsigned pid) {
134 req.n.nlmsg_flags = NLM_F_REQUEST|NLM_F_CREATE|NLM_F_EXCL; 134 req.n.nlmsg_flags = NLM_F_REQUEST|NLM_F_CREATE|NLM_F_EXCL;
135 req.n.nlmsg_type = RTM_NEWLINK; 135 req.n.nlmsg_type = RTM_NEWLINK;
136 req.i.ifi_family = 0; 136 req.i.ifi_family = 0;
137 137
138 // find parent ifindex 138 // find parent ifindex
139 int parent_ifindex = if_nametoindex(parent); 139 int parent_ifindex = if_nametoindex(parent);
140 if (parent_ifindex <= 0) { 140 if (parent_ifindex <= 0) {
141 fprintf(stderr, "Error: cannot find network device %s\n", parent); 141 fprintf(stderr, "Error: cannot find network device %s\n", parent);
142 exit(1); 142 exit(1);
143 } 143 }
144 144
145 // add parent 145 // add parent
146 addattr_l(&req.n, sizeof(req), IFLA_LINK, &parent_ifindex, 4); 146 addattr_l(&req.n, sizeof(req), IFLA_LINK, &parent_ifindex, 4);
@@ -148,7 +148,7 @@ int net_create_macvlan(const char *dev, const char *parent, unsigned pid) {
148 // add new interface name 148 // add new interface name
149 len = strlen(dev) + 1; 149 len = strlen(dev) + 1;
150 addattr_l(&req.n, sizeof(req), IFLA_IFNAME, dev, len); 150 addattr_l(&req.n, sizeof(req), IFLA_IFNAME, dev, len);
151 151
152 // place the interface in child namespace 152 // place the interface in child namespace
153 addattr_l (&req.n, sizeof(req), IFLA_NET_NS_PID, &pid, 4); 153 addattr_l (&req.n, sizeof(req), IFLA_NET_NS_PID, &pid, 4);
154 154
@@ -176,7 +176,7 @@ int net_create_macvlan(const char *dev, const char *parent, unsigned pid) {
176 exit(2); 176 exit(2);
177 177
178 rtnl_close(&rth); 178 rtnl_close(&rth);
179 179
180 return 0; 180 return 0;
181} 181}
182 182
@@ -197,7 +197,7 @@ int net_move_interface(const char *dev, unsigned pid) {
197 req.n.nlmsg_flags = NLM_F_REQUEST; 197 req.n.nlmsg_flags = NLM_F_REQUEST;
198 req.n.nlmsg_type = RTM_NEWLINK; 198 req.n.nlmsg_type = RTM_NEWLINK;
199 req.i.ifi_family = 0; 199 req.i.ifi_family = 0;
200 200
201 // find ifindex 201 // find ifindex
202 int ifindex = if_nametoindex(dev); 202 int ifindex = if_nametoindex(dev);
203 if (ifindex <= 0) { 203 if (ifindex <= 0) {
@@ -205,7 +205,7 @@ int net_move_interface(const char *dev, unsigned pid) {
205 exit(1); 205 exit(1);
206 } 206 }
207 req.i.ifi_index = ifindex; 207 req.i.ifi_index = ifindex;
208 208
209 // place the interface in child namespace 209 // place the interface in child namespace
210 addattr_l (&req.n, sizeof(req), IFLA_NET_NS_PID, &pid, 4); 210 addattr_l (&req.n, sizeof(req), IFLA_NET_NS_PID, &pid, 4);
211 211
@@ -214,7 +214,7 @@ int net_move_interface(const char *dev, unsigned pid) {
214 exit(2); 214 exit(2);
215 215
216 rtnl_close(&rth); 216 rtnl_close(&rth);
217 217
218 return 0; 218 return 0;
219} 219}
220 220
@@ -233,4 +233,4 @@ int main(int argc, char **argv) {
233 233
234 return 0; 234 return 0;
235} 235}
236*/ \ No newline at end of file 236*/