Mercurial > hg > quicktun
comparison src/common.c @ 67:c87212fe8883
Renamed debian directory to prepare for debian packaging, fixed possible crash in PI mode 2
author | Ivo Smits <Ivo@UCIS.nl> |
---|---|
date | Fri, 27 Jan 2017 20:33:19 +0100 |
parents | fa53d1c54886 |
children |
comparison
equal
deleted
inserted
replaced
66:9499cbd71871 | 67:c87212fe8883 |
---|---|
355 else if (fds[0].revents & (POLLERR | POLLHUP | POLLNVAL)) return errorexit("poll error on tap device"); | 355 else if (fds[0].revents & (POLLERR | POLLHUP | POLLNVAL)) return errorexit("poll error on tap device"); |
356 else if (fds[1].revents & (POLLHUP | POLLNVAL)) return errorexit("poll error on udp socket"); | 356 else if (fds[1].revents & (POLLHUP | POLLNVAL)) return errorexit("poll error on udp socket"); |
357 if (len == 0 && p->idle) p->idle(&session); | 357 if (len == 0 && p->idle) p->idle(&session); |
358 if (fds[0].revents & POLLIN) { | 358 if (fds[0].revents & POLLIN) { |
359 len = read(ttfd, buffer_raw + p->offset_raw, p->buffersize_raw + pi_length); | 359 len = read(ttfd, buffer_raw + p->offset_raw, p->buffersize_raw + pi_length); |
360 if (len < pi_length) errorexit("read packet smaller than header from tun device"); | 360 if (len < pi_length) return errorexit("read packet smaller than header from tun device"); |
361 if (session.remote_float == 0 || session.remote_float == 2) { | 361 if (session.remote_float == 0 || session.remote_float == 2) { |
362 len = p->encode(&session, buffer_raw + pi_length, buffer_enc, len - pi_length); | 362 len = p->encode(&session, buffer_raw + pi_length, buffer_enc, len - pi_length); |
363 if (len < 0) return len; | 363 if (len < 0) return len; |
364 if (len == 0) continue; //encoding is not yet possible | 364 if (len == 0) continue; //encoding is not yet possible |
365 qtsendnetworkpacket(&session, buffer_enc + p->offset_enc, len); | 365 qtsendnetworkpacket(&session, buffer_enc + p->offset_enc, len); |