diff options
author | Darren Tucker <dtucker@zip.com.au> | 2003-08-13 20:48:07 +1000 |
---|---|---|
committer | Darren Tucker <dtucker@zip.com.au> | 2003-08-13 20:48:07 +1000 |
commit | f38ea77c03a5473ec43fe07ec24cfb1ca7f27034 (patch) | |
tree | 9f7f70786068993c2cbe450f110863b841c6b454 | |
parent | 1c52ee3e6f2653a474c8a31aafa5a7e595dd8081 (diff) |
- (dtucker) [configure.ac openbsd-compat/bsd-misc.c openbsd-compat/bsd-misc.h]
Add a tcsendbreak function for platforms that don't have one, based on the
one from OpenBSD.
Any more of these and I'll split them out into bsd-termio.[ch].
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | configure.ac | 6 | ||||
-rw-r--r-- | openbsd-compat/bsd-misc.c | 22 | ||||
-rw-r--r-- | openbsd-compat/bsd-misc.h | 8 |
4 files changed, 34 insertions, 7 deletions
@@ -13,6 +13,9 @@ | |||
13 | - markus@cvs.openbsd.org 2003/08/13 09:07:10 | 13 | - markus@cvs.openbsd.org 2003/08/13 09:07:10 |
14 | [readconf.c ssh.c] | 14 | [readconf.c ssh.c] |
15 | socks4->socks, since with support both 4 and 5; dtucker@zip.com.au | 15 | socks4->socks, since with support both 4 and 5; dtucker@zip.com.au |
16 | - (dtucker) [configure.ac openbsd-compat/bsd-misc.c openbsd-compat/bsd-misc.h] | ||
17 | Add a tcsendbreak function for platforms that don't have one, based on the | ||
18 | one from OpenBSD. | ||
16 | 19 | ||
17 | 20030811 | 20 | 20030811 |
18 | - (dtucker) OpenBSD CVS Sync | 21 | - (dtucker) OpenBSD CVS Sync |
@@ -831,4 +834,4 @@ | |||
831 | - Fix sshd BindAddress and -b options for systems using fake-getaddrinfo. | 834 | - Fix sshd BindAddress and -b options for systems using fake-getaddrinfo. |
832 | Report from murple@murple.net, diagnosis from dtucker@zip.com.au | 835 | Report from murple@murple.net, diagnosis from dtucker@zip.com.au |
833 | 836 | ||
834 | $Id: ChangeLog,v 1.2892 2003/08/13 10:38:36 dtucker Exp $ | 837 | $Id: ChangeLog,v 1.2893 2003/08/13 10:48:07 dtucker Exp $ |
diff --git a/configure.ac b/configure.ac index 68fa5c1f2..9644dcaf2 100644 --- a/configure.ac +++ b/configure.ac | |||
@@ -1,4 +1,4 @@ | |||
1 | # $Id: configure.ac,v 1.138 2003/08/02 12:24:49 dtucker Exp $ | 1 | # $Id: configure.ac,v 1.139 2003/08/13 10:48:07 dtucker Exp $ |
2 | 2 | ||
3 | AC_INIT | 3 | AC_INIT |
4 | AC_CONFIG_SRCDIR([ssh.c]) | 4 | AC_CONFIG_SRCDIR([ssh.c]) |
@@ -695,8 +695,8 @@ AC_CHECK_FUNCS(\ | |||
695 | setdtablesize setegid setenv seteuid setgroups setlogin setpcred \ | 695 | setdtablesize setegid setenv seteuid setgroups setlogin setpcred \ |
696 | setproctitle setregid setresgid setresuid setreuid setrlimit \ | 696 | setproctitle setregid setresgid setresuid setreuid setrlimit \ |
697 | setsid setvbuf sigaction sigvec snprintf socketpair strerror \ | 697 | setsid setvbuf sigaction sigvec snprintf socketpair strerror \ |
698 | strlcat strlcpy strmode strnvis sysconf tcgetpgrp truncate utimes \ | 698 | strlcat strlcpy strmode strnvis sysconf tcgetpgrp tcsendbreak \ |
699 | vhangup vsnprintf waitpid \ | 699 | truncate utimes vhangup vsnprintf waitpid \ |
700 | ) | 700 | ) |
701 | 701 | ||
702 | AC_SEARCH_LIBS(nanosleep, rt posix4, AC_DEFINE(HAVE_NANOSLEEP)) | 702 | AC_SEARCH_LIBS(nanosleep, rt posix4, AC_DEFINE(HAVE_NANOSLEEP)) |
diff --git a/openbsd-compat/bsd-misc.c b/openbsd-compat/bsd-misc.c index da8f77046..d4c793724 100644 --- a/openbsd-compat/bsd-misc.c +++ b/openbsd-compat/bsd-misc.c | |||
@@ -25,7 +25,7 @@ | |||
25 | #include "includes.h" | 25 | #include "includes.h" |
26 | #include "xmalloc.h" | 26 | #include "xmalloc.h" |
27 | 27 | ||
28 | RCSID("$Id: bsd-misc.c,v 1.16 2003/08/02 14:36:16 dtucker Exp $"); | 28 | RCSID("$Id: bsd-misc.c,v 1.17 2003/08/13 10:48:07 dtucker Exp $"); |
29 | 29 | ||
30 | /* | 30 | /* |
31 | * NB. duplicate __progname in case it is an alias for argv[0] | 31 | * NB. duplicate __progname in case it is an alias for argv[0] |
@@ -180,3 +180,23 @@ tcgetpgrp(int fd) | |||
180 | } | 180 | } |
181 | #endif /* HAVE_TCGETPGRP */ | 181 | #endif /* HAVE_TCGETPGRP */ |
182 | 182 | ||
183 | #ifndef HAVE_TCSENDBREAK | ||
184 | int | ||
185 | tcsendbreak(int fd, int duration) | ||
186 | { | ||
187 | # if defined(TIOCSBRK) && defined(TIOCCBRK) | ||
188 | struct timeval sleepytime; | ||
189 | |||
190 | sleepytime.tv_sec = 0; | ||
191 | sleepytime.tv_usec = 400000; | ||
192 | if (ioctl(fd, TIOCSBRK, 0) == -1) | ||
193 | return (-1); | ||
194 | (void)select(0, 0, 0, 0, &sleepytime); | ||
195 | if (ioctl(fd, TIOCCBRK, 0) == -1) | ||
196 | return (-1); | ||
197 | return (0); | ||
198 | # else | ||
199 | return -1; | ||
200 | # endif | ||
201 | } | ||
202 | #endif /* HAVE_TCSENDBREAK */ | ||
diff --git a/openbsd-compat/bsd-misc.h b/openbsd-compat/bsd-misc.h index 03a1f3af0..f2fbdc2e3 100644 --- a/openbsd-compat/bsd-misc.h +++ b/openbsd-compat/bsd-misc.h | |||
@@ -22,7 +22,7 @@ | |||
22 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 22 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
23 | */ | 23 | */ |
24 | 24 | ||
25 | /* $Id: bsd-misc.h,v 1.9 2003/08/02 13:31:42 dtucker Exp $ */ | 25 | /* $Id: bsd-misc.h,v 1.10 2003/08/13 10:48:07 dtucker Exp $ */ |
26 | 26 | ||
27 | #ifndef _BSD_MISC_H | 27 | #ifndef _BSD_MISC_H |
28 | #define _BSD_MISC_H | 28 | #define _BSD_MISC_H |
@@ -91,6 +91,10 @@ int nanosleep(const struct timespec *, struct timespec *); | |||
91 | 91 | ||
92 | #ifndef HAVE_TCGETPGRP | 92 | #ifndef HAVE_TCGETPGRP |
93 | pid_t tcgetpgrp(int); | 93 | pid_t tcgetpgrp(int); |
94 | #endif /* HAVE_TCGETPGRP */ | 94 | #endif |
95 | |||
96 | #ifndef HAVE_TCSENDBREAK | ||
97 | int tcsendbreak(int, int); | ||
98 | #endif | ||
95 | 99 | ||
96 | #endif /* _BSD_MISC_H */ | 100 | #endif /* _BSD_MISC_H */ |