chiark
/
gitweb
/
~ian
/
userv-utils.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
2c31040
)
Bugfixes - works now.
author
ian
<ian>
Sat, 25 Sep 1999 01:12:14 +0000
(
01:12
+0000)
committer
ian
<ian>
Sat, 25 Sep 1999 01:12:14 +0000
(
01:12
+0000)
ipif/udptunnel
patch
|
blob
|
history
diff --git
a/ipif/udptunnel
b/ipif/udptunnel
index dff18ed0160795764ca2cb3e6766bfca50285444..a40dce06180e6e60060b22de804815729669d42e 100755
(executable)
--- a/
ipif/udptunnel
+++ b/
ipif/udptunnel
@@
-175,17
+175,17
@@
if ($keepalive) { $nextsendka= now(); }
for (;;) {
if ($keepalive) {
$now= now();
for (;;) {
if ($keepalive) {
$now= now();
- $timeout= $nextsendka-$now;
- if ($timeout < 0) {
+ $t
hist
imeout= $nextsendka-$now;
+ if ($t
hist
imeout < 0) {
defined(send L,"\300",0,$rs)
or warning("transmit keepalive error: $!");
$nextsendka= $now+$keepalive;
defined(send L,"\300",0,$rs)
or warning("transmit keepalive error: $!");
$nextsendka= $now+$keepalive;
- $timeout= $keepalive;
+ $t
hist
imeout= $keepalive;
}
} else {
}
} else {
- $timeout= undef;
+ $t
hist
imeout= undef;
}
}
- select($readfds=$wantreadfds,'','',$timeout);
+ select($readfds=$wantreadfds,'','',$t
hist
imeout);
for (;;) {
if (!defined($r= sysread(UR,$upbuf,$mtu*2+3,length($upbuf)))) {
$! == EAGAIN || warning("tunnel endpoint read error: $!");
for (;;) {
if (!defined($r= sysread(UR,$upbuf,$mtu*2+3,length($upbuf)))) {
$! == EAGAIN || warning("tunnel endpoint read error: $!");
@@
-195,13
+195,16
@@
for (;;) {
quit "tunnel endpoint closed by system";
}
while (($p= index($upbuf,"\300")) >= 0) {
quit "tunnel endpoint closed by system";
}
while (($p= index($upbuf,"\300")) >= 0) {
- if (!defined(send L,substr($upbuf,0,$p),0,$rs)) {
+ if (!defined(send L,substr($upbuf,0,$p
+1
),0,$rs)) {
warning("transmit error: $!");
warning("transmit error: $!");
- } elsif (!$upyet) {
- $upyet= 1;
- debug($downyet ? "tunnel open at this end" : "transmit channel open");
+ } else {
+ if (!$upyet) {
+ $upyet= 1;
+ debug($downyet ? "tunnel open at this end" : "transmitting");
+ }
+ if ($keepalive) { $nextsendka= now()+$keepalive; }
}
}
- $upbuf= substr($upbuf
+1,$p
);
+ $upbuf= substr($upbuf
,$p+1
);
}
}
while (defined($rs_from= recv L,$downbuf,$mtu*2+3,0)) {
}
}
while (defined($rs_from= recv L,$downbuf,$mtu*2+3,0)) {
@@
-217,7
+220,7
@@
for (;;) {
} else {
if (!$downyet) {
$downyet= 1;
} else {
if (!$downyet) {
$downyet= 1;
- debug($upyet ? "tunnel open at this end" : "receiv
e channel open
");
+ debug($upyet ? "tunnel open at this end" : "receiv
ing
");
}
alarm($timeout) if $timeout;
}
}
alarm($timeout) if $timeout;
}