- (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.
This commit is contained in:
Darren Tucker 2003-08-07 15:58:28 +10:00
parent 89f4cf0d29
commit f315224d7c
2 changed files with 24 additions and 3 deletions

View File

@ -2,7 +2,10 @@
- (dtucker) [session.c] Have session_break_req not attempt to send a break
if TIOCSBRK and TIOCCBRK are not defined (eg Cygwin).
- (dtucker) [canohost.c] Bug #336: Only check ip options if IP_OPTIONS is
defined (eg really old Linux).
defined (fixes compile error on really old Linuxes).
- (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.
20030802
- (dtucker) [monitor.h monitor_wrap.h] Remove excess ident tags.
@ -791,4 +794,4 @@
- Fix sshd BindAddress and -b options for systems using fake-getaddrinfo.
Report from murple@murple.net, diagnosis from dtucker@zip.com.au
$Id: ChangeLog,v 1.2881 2003/08/07 03:29:04 dtucker Exp $
$Id: ChangeLog,v 1.2882 2003/08/07 05:58:28 dtucker Exp $

View File

@ -25,7 +25,7 @@
#ifndef _DEFINES_H
#define _DEFINES_H
/* $Id: defines.h,v 1.99 2003/06/11 12:51:32 djm Exp $ */
/* $Id: defines.h,v 1.100 2003/08/07 05:58:28 dtucker Exp $ */
/* Constants */
@ -577,4 +577,22 @@ struct winsize {
/** end of login recorder definitions */
#ifndef CMSG_DATA
/* given pointer to struct cmsghdr, return pointer to data */
#define CMSG_DATA(cmsg) \
((u_char *)(cmsg) + (((u_int)(sizeof(struct cmsghdr)) \
(sizeof(int) - 1)) &~ (sizeof(int) - 1)))
#endif /* CMSG_DATA */
#ifndef CMSG_FIRSTHDR
/*
* RFC 2292 requires to check msg_controllen, in case that the kernel returns
* an empty list for some reasons.
*/
# define CMSG_FIRSTHDR(mhdr) \
((mhdr)->msg_controllen >= sizeof(struct cmsghdr) ? \
(struct cmsghdr *)(mhdr)->msg_control : \
(struct cmsghdr *)NULL)
#endif /* CMSG_FIRSTHDR */
#endif /* _DEFINES_H */