~ubuntu-branches/ubuntu/precise/nss-pam-ldapd/precise-security

« back to all changes in this revision

Viewing changes to tests/common.h

  • Committer: Package Import Robot
  • Author(s): Arthur de Jong
  • Date: 2011-09-04 21:00:00 UTC
  • mfrom: (14.1.4 experimental)
  • Revision ID: package-import@ubuntu.com-20110904210000-pe3u91iga88vtr16
Tags: 0.8.4
* Upload to unstable
* switch to using the member attribute by default instead of
  uniqueMember (backwards incompatible change)
* only return "x" as a password hash when the object has the shadowAccount
  objectClass and nsswitch.conf is configured to do shadow lookups using
  LDAP (this avoids some problems with pam_unix)
* fix problem with partial attribute name matches in DN (thanks Timothy
  White)
* fix a problem with objectSid mappings with recent versions of OpenLDAP
  (patch by Wesley Mason)
* set the socket timeout in a connection callback to avoid timeout
  issues during the SSL handshake (patch by Stefan Völkel)
* check for unknown variables in pam_authz_search
* only check password expiration when authenticating, only check account
  expiration when doing authorisation
* make buffer sizes consistent and grow all buffers holding string
  representations of numbers to be able to hold 64-bit numbers
* update AX_PTHREAD from autoconf-archive
* support querying DNS SRV records from a different domain than the current
  one (based on a patch by James M. Leddy)
* fix a problem with uninitialised memory while parsing the tls_ciphers
  option (closes: #638872) (but doesn't work yet due to #640384)
* implement bounds checking of numeric values read from LDAP (patch by
  Jakub Hrozek)
* correctly support large uid and gid values from LDAP (patch by Jakub
  Hrozek)
* improvements to the configure script (patch by Jakub Hrozek)
* switch to dh for debian/rules and bump debhelper compatibility to 8
* build Debian packages with multiarch support
* ship shlibs (but still no symbol files) for libnss-ldapd since that was
  the easiest way to support multiarch
* fix output in init script when restarting nslcd (closes: #637132)
* correctly handle leading and trailing spaces in preseeded debconf uri
  option (patch by Andreas B. Mundt) (closes: #637863)
* support spaces around database names in /etc/nsswitch.conf while
  configuring package (closes: #640185)
* updated Russian debconf translation by Yuri Kozlov (closes: #637751)
* updated French debconf translation by Christian Perrier (closes: #637756)
* added Slovak debconf translation by Slavko (closes: #637759)
* updated Danish debconf translation by Joe Hansen (closes :#637763)
* updated Brazilian Portuguese debconf translation by Denis Doria
* updated Portuguese debconf translation by Américo Monteiro
* updated Japanese debconf translation by Kenshi Muto (closes: #638195)
* updated Czech debconf translation by Miroslav Kure (closes: #639026)
* updated German debconf translation by Chris Leick (closes: #639107)
* updated Spanish debconf translation by Francisco Javier Cuadrado
  (closes: #639236)
* updated Dutch debconf translation by Arthur de Jong with help from Paul
  Gevers and Jeroen Schot

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
   common.h - common test routines
 
3
   This file is part of the nss-pam-ldapd library.
 
4
 
 
5
   Copyright (C) 2011 Arthur de Jong
 
6
 
 
7
   This library is free software; you can redistribute it and/or
 
8
   modify it under the terms of the GNU Lesser General Public
 
9
   License as published by the Free Software Foundation; either
 
10
   version 2.1 of the License, or (at your option) any later version.
 
11
 
 
12
   This library is distributed in the hope that it will be useful,
 
13
   but WITHOUT ANY WARRANTY; without even the implied warranty of
 
14
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 
15
   Lesser General Public License for more details.
 
16
 
 
17
   You should have received a copy of the GNU Lesser General Public
 
18
   License along with this library; if not, write to the Free Software
 
19
   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 
20
   02110-1301 USA
 
21
*/
 
22
 
 
23
#ifndef TEST__COMMON_H
 
24
#define TEST__COMMON_H 1
 
25
 
 
26
#include <errno.h>
 
27
 
 
28
#ifndef __ASSERT_FUNCTION
 
29
#define __ASSERT_FUNCTION ""
 
30
#endif /* not __ASSERT_FUNCTION */
 
31
 
 
32
/* try to find the actual assert function */
 
33
#ifndef HAVE___ASSERT_FAIL
 
34
/* for Solaris: */
 
35
#define __assert_fail(assertion,file,line,function) __assert(assertion,file,line)
 
36
#endif /* not HAVE___ASSERT_FAIL */
 
37
 
 
38
/* extra assertion function that epxects both strings to be the same
 
39
   (special macro because strcmp() can be a macro that turns ugly in assert) */
 
40
#define assertstreq(str1,str2) \
 
41
  (assertstreq_impl(str1,str2,"strcmp(" __STRING(str1) "," __STRING(str2) ")==0", \
 
42
                    __FILE__, __LINE__, __ASSERT_FUNCTION))
 
43
 
 
44
static inline void assertstreq_impl(const char *str1,const char *str2,
 
45
                             const char *assertion,const char *file,
 
46
                             int line,const char *function)
 
47
{
 
48
  if (strcmp(str1,str2)!=0)
 
49
    __assert_fail(assertion,file,line,function);
 
50
}
 
51
 
 
52
/* extra assertion function that expects expr to be valid and prints an
 
53
   error message that include errno otherwise */
 
54
#define assertok(expr) \
 
55
  ((expr) \
 
56
   ? (void) (0) \
 
57
   : __assertok_fail(__STRING(expr),__FILE__,__LINE__,__ASSERT_FUNCTION))
 
58
 
 
59
 
 
60
static inline void __assertok_fail(const char *expr,const char *file,
 
61
                            int line,const char *function)
 
62
{
 
63
  char msg[120];
 
64
  snprintf(msg,sizeof(msg),"%s (errno=\"%s\")",expr,strerror(errno));
 
65
  __assert_fail(msg,file,line,function);
 
66
}
 
67
 
 
68
 
 
69
#endif /* not TEST__COMMON_H */