OpenCoverage

port-net.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/openssh/src/openbsd-compat/port-net.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6-
7-
8-
9-
10-
11-
12-
13-
14-
15-
16-
17int-
18sys_tun_open(int tun, int mode, char **ifname)-
19{-
20 struct ifreq ifr;-
21 int fd = -1;-
22 const char *name = -
23 ((void *)0)-
24 ;-
25-
26 if (ifname !=
ifname != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
27 ((void *)0)
ifname != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
28 )-
29 *
never executed: *ifname = ((void *)0) ;
ifname =
never executed: *ifname = ((void *)0) ;
0
30 ((void *)0)
never executed: *ifname = ((void *)0) ;
0
31 ;
never executed: *ifname = ((void *)0) ;
0
32-
33 if ((
(fd = open("/d...", 02 )) == -1Description
TRUEnever evaluated
FALSEnever evaluated
fd = open("/dev/net/tun",
(fd = open("/d...", 02 )) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
34 02
(fd = open("/d...", 02 )) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
35 )) == -1
(fd = open("/d...", 02 )) == -1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
36 debug("%s: failed to open tunnel control interface: %s",-
37 __func__, strerror(-
38 (*__errno_location ())-
39 ));-
40 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
41 }-
42-
43 bzero(&ifr, sizeof(ifr));-
44-
45 if (mode == 0x02
mode == 0x02Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
46 ifr.-
47 ifr_ifru.ifru_flags -
48 = -
49 0x0002-
50 ;-
51 name = "tap%d";-
52 }
never executed: end of block
else {
0
53 ifr.-
54 ifr_ifru.ifru_flags -
55 = -
56 0x0001-
57 ;-
58 name = "tun%d";-
59 }
never executed: end of block
0
60 ifr.-
61 ifr_ifru.ifru_flags -
62 |= -
63 0x1000-
64 ;-
65-
66 if (tun != 0x7fffffff
tun != 0x7fffffffDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
67 if (tun > (0x7fffffff - 2)
tun > (0x7fffffff - 2)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
68 debug("%s: invalid tunnel id %x: %s", __func__,-
69 tun, strerror(-
70 (*__errno_location ())-
71 ));-
72 goto
never executed: goto failed;
failed;
never executed: goto failed;
0
73 }-
74 snprintf(ifr.-
75 ifr_ifrn.ifrn_name-
76 , sizeof(ifr.-
77 ifr_ifrn.ifrn_name-
78 ), name, tun);-
79 }
never executed: end of block
0
80-
81 if (ioctl(fd,
ioctl(fd, (((1... , &ifr) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
82 (((1U) << (((0 +8)+8)+14)) | ((('T')) << (0 +8)) | (((202)) << 0) | ((((sizeof(int)))) << ((0 +8)+8)))
ioctl(fd, (((1... , &ifr) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
83 , &ifr) == -1
ioctl(fd, (((1... , &ifr) == -1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
84 debug("%s: failed to configure tunnel (mode %d): %s", __func__,-
85 mode, strerror(-
86 (*__errno_location ())-
87 ));-
88 goto
never executed: goto failed;
failed;
never executed: goto failed;
0
89 }-
90-
91 if (tun == 0x7fffffff
tun == 0x7fffffffDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
92 debug("%s: tunnel mode %d fd %d", __func__, mode, fd);
never executed: debug("%s: tunnel mode %d fd %d", __func__, mode, fd);
0
93 else-
94 debug("%s: %s mode %d fd %d", __func__, ifr.
never executed: debug("%s: %s mode %d fd %d", __func__, ifr. ifr_ifrn.ifrn_name , mode, fd);
0
95 ifr_ifrn.ifrn_name
never executed: debug("%s: %s mode %d fd %d", __func__, ifr. ifr_ifrn.ifrn_name , mode, fd);
0
96 , mode, fd);
never executed: debug("%s: %s mode %d fd %d", __func__, ifr. ifr_ifrn.ifrn_name , mode, fd);
0
97-
98 if (ifname !=
ifname != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
99 ((void *)0)
ifname != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
100 && (*
(*ifname = (__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
ifname =
(*ifname = (__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
101 (__extension__ (__builtin_constant_p (
__builtin_cons...frn.ifrn_name)Description
TRUEnever evaluated
FALSEnever evaluated
(*ifname = (__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
102 ifr.
__builtin_cons...frn.ifrn_name)Description
TRUEnever evaluated
FALSEnever evaluated
(*ifname = (__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
103 ifr_ifrn.ifrn_name)
__builtin_cons...frn.ifrn_name)Description
TRUEnever evaluated
FALSEnever evaluated
&& ((
((size_t)(cons...rn_name) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
size_t)(const void *)((
((size_t)(cons...rn_name) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
(*ifname = (__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
104 ifr.
((size_t)(cons...rn_name) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
(*ifname = (__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
105 ifr_ifrn.ifrn_name) + 1) - (size_t)(const void *)(
((size_t)(cons...rn_name) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
(*ifname = (__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
106 ifr.
((size_t)(cons...rn_name) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
(*ifname = (__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
107 ifr_ifrn.ifrn_name) == 1)
((size_t)(cons...rn_name) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
? (((const char *) (
((const char *...e))[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
0
108 ifr.
(*ifname = (__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
((const char *...e))[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
0
109 ifr_ifrn.ifrn_name))[0] == '\0' ? (char *) calloc ((size_t) 1, (size_t) 1) : ({ size_t __len = strlen (
(*ifname = (__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
110 ifr.
(*ifname = (__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
111 ifr_ifrn.ifrn_name) + 1; char *__retval = (char *) malloc (__len); if (__retval != ((void *)0)) __retval = (char *) memcpy (__retval,
never executed: __retval = (char *) memcpy (__retval, ifr. ifr_ifrn.ifrn_name, __len);
0
112 ifr.
(*ifname = (__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
never executed: __retval = (char *) memcpy (__retval, ifr. ifr_ifrn.ifrn_name, __len);
0
113 ifr_ifrn.ifrn_name, __len); __retval; })) : __strdup (
(*ifname = (__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
114 ifr.
(*ifname = (__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
115 ifr_ifrn.ifrn_name)))
(*ifname = (__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
116 ) ==
(*ifname = (__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
117 ((void *)0)
(*ifname = (__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
118 )-
119 goto
never executed: goto failed;
failed;
never executed: goto failed;
0
120-
121 return
never executed: return (fd);
(fd);
never executed: return (fd);
0
122-
123 failed:-
124 close(fd);-
125 return
never executed: return (-1);
(-1);
never executed: return (-1);
0
126}-
127int-
128sys_tun_infilter(struct ssh *ssh, struct Channel *c, char *buf, int _len)-
129{-
130 int r;-
131 size_t len;-
132 char *ptr = buf;-
133-
134 char rbuf[(16*1024)];-
135 struct ip iph;-
136-
137-
138 u_int32_t af;-
139-
140-
141-
142 if (_len < 0
_len < 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
143 return
never executed: return -1;
-1;
never executed: return -1;
0
144 len = _len;-
145-
146-
147 if (len <= sizeof(iph)
len <= sizeof(iph)Description
TRUEnever evaluated
FALSEnever evaluated
|| len > sizeof(rbuf) - 4
len > sizeof(rbuf) - 4Description
TRUEnever evaluated
FALSEnever evaluated
)
0
148 return
never executed: return -1;
-1;
never executed: return -1;
0
149-
150 memcpy(&iph, buf, sizeof(iph));-
151 af = iph.ip_v == 6
iph.ip_v == 6Description
TRUEnever evaluated
FALSEnever evaluated
? 24 : 2;
0
152-
153 memcpy(rbuf + 4, buf, len);-
154 len += 4;-
155 do { const u_int32_t __v = (af); ((u_char *)(rbuf))[0] = (__v >> 24) & 0xff; ((u_char *)(rbuf))[1] = (__v >> 16) & 0xff; ((u_char *)(rbuf))[2] = (__v >> 8) & 0xff; ((u_char *)(rbuf))[3] = __v & 0xff; } while (0);-
156 ptr = rbuf;-
157 if ((
(r = sshbuf_pu...tr, len)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put_string(c->input, ptr, len)) != 0
(r = sshbuf_pu...tr, len)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
158 fatal("%s: buffer error: %s", __func__, ssh_err(r));
never executed: fatal("%s: buffer error: %s", __func__, ssh_err(r));
0
159 return
never executed: return (0);
(0);
never executed: return (0);
0
160}-
161-
162u_char *-
163sys_tun_outfilter(struct ssh *ssh, struct Channel *c,-
164 u_char **data, size_t *dlen)-
165{-
166 u_char *buf;-
167 u_int32_t af;-
168 int r;-
169-
170-
171 if ((
(r = sshbuf_ge...a, dlen)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_get_string(c->output, data, dlen)) != 0
(r = sshbuf_ge...a, dlen)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
172 fatal("%s: buffer error: %s", __func__, ssh_err(r));
never executed: fatal("%s: buffer error: %s", __func__, ssh_err(r));
0
173 if (*
*dlen < sizeof(af)Description
TRUEnever evaluated
FALSEnever evaluated
dlen < sizeof(af)
*dlen < sizeof(af)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
174 return
never executed: return ( ((void *)0) );
(
never executed: return ( ((void *)0) );
0
175 ((void *)0)
never executed: return ( ((void *)0) );
0
176 );
never executed: return ( ((void *)0) );
0
177 buf = *data;-
178-
179-
180-
181 *dlen -= sizeof(af);-
182 buf = *data + sizeof(af);-
183-
184-
185-
186-
187-
188 return
never executed: return (buf);
(buf);
never executed: return (buf);
0
189}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2