From ddde9ba4a0d28452aeb5bf6e76b5e71f6b417701 Mon Sep 17 00:00:00 2001 From: Arthur de Jong Date: Wed, 9 May 2012 20:16:36 +0000 Subject: provide a compatibility definition of SUN_LEN() for systems that lack it git-svn-id: http://arthurdejong.org/svn/nss-pam-ldapd/nss-pam-ldapd@1686 ef36b2f9-881f-0410-afb5-c4e39611909c --- common/nslcd-prot.c | 3 ++- compat/Makefile.am | 4 ++-- compat/nss_compat.h | 2 +- compat/socket.h | 34 ++++++++++++++++++++++++++++++++++ nslcd/nslcd.c | 1 + 5 files changed, 40 insertions(+), 4 deletions(-) create mode 100644 compat/socket.h diff --git a/common/nslcd-prot.c b/common/nslcd-prot.c index 61708d4..c0ecc99 100644 --- a/common/nslcd-prot.c +++ b/common/nslcd-prot.c @@ -2,7 +2,7 @@ nslcd-prot.c - common functions for NSLCD lookups Copyright (C) 2006 West Consulting - Copyright (C) 2006, 2007, 2008 Arthur de Jong + Copyright (C) 2006, 2007, 2008, 2009, 2010, 2012 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -36,6 +36,7 @@ #include "nslcd.h" #include "nslcd-prot.h" +#include "compat/socket.h" /* buffer sizes for I/O */ #define READBUFFER_MINSIZE 1024 diff --git a/compat/Makefile.am b/compat/Makefile.am index 9ff1204..07b5d80 100644 --- a/compat/Makefile.am +++ b/compat/Makefile.am @@ -1,6 +1,6 @@ # Makefile.am - use automake to generate Makefile.in # -# Copyright (C) 2008, 2009, 2010, 2011 Arthur de Jong +# Copyright (C) 2008, 2009, 2010, 2011, 2012 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -26,7 +26,7 @@ EXTRA_DIST = getopt_long.c getopt_long.h \ daemon.c daemon.h \ ether.c ether.h \ strndup.c strndup.h \ - nss_compat.h \ + nss_compat.h socket.h \ ldap_compat.h pagectrl.c ldap_passwd_s.c ldap_initialize.c \ pam_compat.h pam_get_authtok.c pam_prompt.c diff --git a/compat/nss_compat.h b/compat/nss_compat.h index 232519e..74bb979 100644 --- a/compat/nss_compat.h +++ b/compat/nss_compat.h @@ -21,7 +21,7 @@ */ #ifndef COMPAT__NSS_H -#define COMPAT__NSS_H +#define COMPAT__NSS_H 1 #ifdef HAVE_NSS_H #include diff --git a/compat/socket.h b/compat/socket.h new file mode 100644 index 0000000..84eaf91 --- /dev/null +++ b/compat/socket.h @@ -0,0 +1,34 @@ +/* + socket.h - compatibility hacks for socket functions + + Copyright (C) 2012 Arthur de Jong + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301 USA +*/ + +#ifndef COMPAT__SOCKET_H +#define COMPAT__SOCKET_H 1 + +#include +#include +#include + +/* provide a definition for SUN_LEN for systems without it */ +#ifndef SUN_LEN +#define SUN_LEN(addr) (sizeof((addr).sun_family)+strlen((addr).sun_path)+1) +#endif /* not SUN_LEN */ + +#endif /* not COMPAT__SOCKET_H */ diff --git a/nslcd/nslcd.c b/nslcd/nslcd.c index cf6c138..b92ea12 100644 --- a/nslcd/nslcd.c +++ b/nslcd/nslcd.c @@ -63,6 +63,7 @@ #include "common.h" #include "compat/attrs.h" #include "compat/getpeercred.h" +#include "compat/socket.h" /* buffer sizes for I/O */ #define READBUFFER_MINSIZE 32 -- cgit v1.2.3