summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDarren Tucker <dtucker@zip.com.au>2003-08-07 15:58:28 +1000
committerDarren Tucker <dtucker@zip.com.au>2003-08-07 15:58:28 +1000
commitf315224d7c7ced4f012ddaef1a6b4f4bf7883b25 (patch)
tree5c076ebdf79ef0703be87c567e3a045fb90eeeca
parent89f4cf0d29c3cfbdd4ef697944afde7a887b5b1a (diff)
- (dtucker) [defines.h] Bug #336: Add CMSG_DATA and CMSG_FIRSTHDR macros if
not already defined (eg Linux with some versions of libc5), based on those from OpenBSD.
-rw-r--r--ChangeLog7
-rw-r--r--defines.h20
2 files changed, 24 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 0f2f798e1..513799d3d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,7 +2,10 @@
2 - (dtucker) [session.c] Have session_break_req not attempt to send a break 2 - (dtucker) [session.c] Have session_break_req not attempt to send a break
3 if TIOCSBRK and TIOCCBRK are not defined (eg Cygwin). 3 if TIOCSBRK and TIOCCBRK are not defined (eg Cygwin).
4 - (dtucker) [canohost.c] Bug #336: Only check ip options if IP_OPTIONS is 4 - (dtucker) [canohost.c] Bug #336: Only check ip options if IP_OPTIONS is
5 defined (eg really old Linux). 5 defined (fixes compile error on really old Linuxes).
6 - (dtucker) [defines.h] Bug #336: Add CMSG_DATA and CMSG_FIRSTHDR macros if
7 not already defined (eg Linux with some versions of libc5), based on those
8 from OpenBSD.
6 9
720030802 1020030802
8 - (dtucker) [monitor.h monitor_wrap.h] Remove excess ident tags. 11 - (dtucker) [monitor.h monitor_wrap.h] Remove excess ident tags.
@@ -791,4 +794,4 @@
791 - Fix sshd BindAddress and -b options for systems using fake-getaddrinfo. 794 - Fix sshd BindAddress and -b options for systems using fake-getaddrinfo.
792 Report from murple@murple.net, diagnosis from dtucker@zip.com.au 795 Report from murple@murple.net, diagnosis from dtucker@zip.com.au
793 796
794$Id: ChangeLog,v 1.2881 2003/08/07 03:29:04 dtucker Exp $ 797$Id: ChangeLog,v 1.2882 2003/08/07 05:58:28 dtucker Exp $
diff --git a/defines.h b/defines.h
index ec610d0db..3679ea549 100644
--- a/defines.h
+++ b/defines.h
@@ -25,7 +25,7 @@
25#ifndef _DEFINES_H 25#ifndef _DEFINES_H
26#define _DEFINES_H 26#define _DEFINES_H
27 27
28/* $Id: defines.h,v 1.99 2003/06/11 12:51:32 djm Exp $ */ 28/* $Id: defines.h,v 1.100 2003/08/07 05:58:28 dtucker Exp $ */
29 29
30 30
31/* Constants */ 31/* Constants */
@@ -577,4 +577,22 @@ struct winsize {
577 577
578/** end of login recorder definitions */ 578/** end of login recorder definitions */
579 579
580#ifndef CMSG_DATA
581/* given pointer to struct cmsghdr, return pointer to data */
582#define CMSG_DATA(cmsg) \
583 ((u_char *)(cmsg) + (((u_int)(sizeof(struct cmsghdr)) \
584 (sizeof(int) - 1)) &~ (sizeof(int) - 1)))
585#endif /* CMSG_DATA */
586
587#ifndef CMSG_FIRSTHDR
588/*
589 * RFC 2292 requires to check msg_controllen, in case that the kernel returns
590 * an empty list for some reasons.
591 */
592# define CMSG_FIRSTHDR(mhdr) \
593 ((mhdr)->msg_controllen >= sizeof(struct cmsghdr) ? \
594 (struct cmsghdr *)(mhdr)->msg_control : \
595 (struct cmsghdr *)NULL)
596#endif /* CMSG_FIRSTHDR */
597
580#endif /* _DEFINES_H */ 598#endif /* _DEFINES_H */