Commit Graph

155 Commits

Author SHA1 Message Date
Howard Chu
1a198bea0f Fix typo in select call 2004-10-19 03:18:22 +00:00
Kurt Zeilenga
547ebf66c4 Move POLL_* macros to <ac/socket.h> 2004-10-18 22:08:37 +00:00
Kurt Zeilenga
1adf003977 Catch POLLERR and POLLHUP. 2004-10-18 21:56:07 +00:00
Kurt Zeilenga
8715d97409 Fix bug in last commit 2004-10-18 21:45:13 +00:00
Kurt Zeilenga
86c216d10c Rough but working poll(2) implementation for -lldap 2004-10-18 21:09:17 +00:00
Kurt Zeilenga
d611a4b49a unifdef -UNEW_LOGGING 2004-09-04 04:54:28 +00:00
Kurt Zeilenga
fe6e3ba3ef Instead of removing AI_ADDRCONFIG, place behind #ifdef (of undefined
macro).  Add comment indicating configure test needed.
2004-08-27 18:59:34 +00:00
Howard Chu
eb25111b9a Revert rev 1.92, AI_ADDRCONFIG is not a legal flag for getaddrinfo 2004-08-15 23:15:55 +00:00
Kurt Zeilenga
ecebe3d051 basic poll(2) implementation for connect(2) (needs work)
Need to deal with selectinfo...
2004-07-09 19:29:46 +00:00
Kurt Zeilenga
f0bd9b3a5b Mark areas needed poll(2) support with HAVE_POLL. 2004-07-09 17:50:22 +00:00
Howard Chu
c558bd49bc ITS#2992 Windows fixes from Alexey Melnikov 2004-03-05 12:24:06 +00:00
Kurt Zeilenga
3c598e89fb Happy new year 2004-01-01 19:15:16 +00:00
Kurt Zeilenga
4590651cf9 Revert #if 0 2003-12-21 08:25:55 +00:00
Kurt Zeilenga
a379dd4faf Misc cleanup 2003-11-30 01:07:47 +00:00
Kurt Zeilenga
159de0f135 Updated notices and acknowledgements 2003-11-26 07:16:36 +00:00
Stig Venaas
6c08d96597 use AI_ADDRCONFIG if possible to not lookup AAAA when no IPv6 addresses are configured 2003-10-29 14:49:35 +00:00
Hallvard Furuseth
42de322f06 Make all debug output macros conditional on defined(LDAP_DEBUG). 2003-06-06 13:56:18 +00:00
Kurt Zeilenga
d7a326be26 Don't do (unsafe) DNS reverse lookups.
HEADS UP: May break some Kerberos deployments.
2003-04-22 01:17:23 +00:00
Kurt Zeilenga
3f6a9a7e57 More ldap_connect_to_host() tweaks. 2003-04-21 18:45:46 +00:00
Kurt Zeilenga
ca52123a60 Fix builds when getaddrinfo is not detected but getnameinfo is.
This does not happen normally.
2003-04-21 18:28:08 +00:00
Kurt Zeilenga
978c94a223 ITS#2459 (partial) fix. Eliminate address parameter all together.
Need to look closely at the memcpy.  (It likely can be eliminated
as well.)
2003-04-21 17:06:37 +00:00
Howard Chu
7e7db2578d Added ldap_pvt_get_hname. Use instead of ldap_pvt_gethostbyaddr_a when
all you want is the hostname. Supports IPv6 addresses.
2003-03-05 01:35:39 +00:00
Kurt Zeilenga
22215a396c Remove lint 2003-02-10 19:59:32 +00:00
Kurt Zeilenga
6939c53170 Happy new year 2003-01-03 20:20:47 +00:00
Howard Chu
95a512f849 Fix typo in UDP logmsg 2002-12-16 18:17:20 +00:00
Kurt Zeilenga
9ba95dd027 ITS#2221: getaddrinfo(3) not thread-safe on some platforms (namely
due to res_() routines).  Change all res_() dependent routines to
share same mutex.
2002-12-03 01:15:03 +00:00
Kurt Zeilenga
ca5aa3b615 Some more sockaddr_in v sockaddr_storage cleanup 2002-08-10 03:48:09 +00:00
Kurt Zeilenga
b3bbe586b6 ITS#2018: use sockaddr_storage
based upon patch provided by <thorild@Update.UU.SE>
2002-08-09 22:14:43 +00:00
Kurt Zeilenga
dc4413349e Fix up restart code for EINTR 2002-07-28 05:30:39 +00:00
Stig Venaas
bf5e3a15ca Use AF_INET instead of AF_UNSPEC when IPv6 disabled 2002-07-12 15:36:33 +00:00
Julius Enarusai
6107ba67d2 Coverted LDAP_LOG macro to use subsystem ID int values instead of string values 2002-07-11 20:33:24 +00:00
Kurt Zeilenga
0371c61073 Add monitorContext rootDSE attribute 2002-06-19 06:44:16 +00:00
Pierangelo Masarati
4a8ab5dbf2 Mostly based on patches provided by Hallvard B. Furuseth
ITS#1677 - cast away const warnings
ITS#1678 - unsigned char args to ctype funcs
ITS#1682 - don't redefine ldap_debug
ITS#1683 - uninitialized vars
ITS#1703 - ldo_debug initialization
ITS#1705 - unsigned testing
ITS#1706 - socklen_t args
ITS#1719 - back-tcl update (other cleanups/fixes/improvements; yet untested)
ITS#1724 - integerNormalize/integerFilter/integerIndexer bugs
ITS#1725 - libdes not required

Implement back-null (/dev/null style backend)
Cleanup some misc warnings ("%lu" format, unused/uninitialized vars,
        ambiguous operator precedence)

Kurt, please regenerate configure
2002-04-08 09:43:22 +00:00
Julius Enarusai
b7bd4368d9 Added LDAP_LOG messages 2002-03-29 17:46:28 +00:00
Kurt Zeilenga
3d9cf98dad If port is zero, use default. 2002-02-21 15:39:35 +00:00
Kurt Zeilenga
dffb050d81 Remove lint 2002-01-10 05:30:23 +00:00
Howard Chu
627d354b98 For Windows, use getsockopt() to retrieve error if connect() fails.
Don't use ldap_pvt_is_socket_ready() at all on Windows, it is
totally unneeded and getpeername() misbehaves on W2K.
2002-01-10 05:12:11 +00:00
Kurt Zeilenga
0e2af54a3f Update copyright statements 2002-01-04 21:17:25 +00:00
Kurt Zeilenga
883196d348 Clean up some symbol scoping 2001-12-24 06:36:44 +00:00
Kurt Zeilenga
e2cca72bdc Fix ntohs/htons issues 2001-10-07 02:40:16 +00:00
Kurt Zeilenga
44146a1cb7 Rework DB_THREAD support. CDB support needs reimplementation. 2001-10-01 06:08:46 +00:00
Kurt Zeilenga
712295ef4b Rework getaddrinfo/inet_ntop not to segfault with ai_addr is (bogusly) NULL 2001-09-29 06:32:58 +00:00
Howard Chu
647b5f84ee Resurrection/rewrite of CLDAP (RFC1798 Connectionless LDAP).
Compile with -DLDAP_CONNECTIONLESS to use this code.
For slapd, use "-h cldap://" to listen on UDP.
For ldapsearch, use "-H cldap://" to query on UDP.
Client-side support is very minimal:
  no automatic timeout/retries
  no basedn wildcard expansion on results
  no support for specifying multiple servers at once.
2001-09-28 00:18:40 +00:00
Kurt Zeilenga
803e84fcdd TLS doesn't need ldap_host_connected_to() 2001-06-25 21:44:41 +00:00
Kurt Zeilenga
c4f5497ac6 move TLS ctx to lconn struct in prep for supporting TLS with referrals
need to rework cert check to use per lconn host name
2001-06-25 07:33:42 +00:00
Kurt Zeilenga
7522d3fcab Add HAVE_INET_NTOP 2001-05-09 23:41:38 +00:00
Kurt Zeilenga
9e7accb034 This patch replaces gai_strerror with AC_GAI_STRERROR in daemon.c and also
uses AC_GAI_STRERROR to report getaddrinfo failures in os-ip.c
-- Stig Venass
2000-10-19 18:05:11 +00:00
Kurt Zeilenga
ffe1320bf5 fix SOCKET_ERROR typos 2000-10-18 03:24:50 +00:00
Kurt Zeilenga
ce373d3800 Use SOCKET_ERROR instead of -1 2000-10-18 00:27:31 +00:00
Ben Collins
9946e999c8 move some vars to where they are actually used to avoid compiler warnings 2000-09-15 03:04:04 +00:00
Ben Collins
5a33b7509b Fix error in if() statement (==, not =) 2000-09-13 21:47:12 +00:00
Kurt Zeilenga
25a9f7427d Remove CLDAP cruft 2000-08-18 04:25:00 +00:00
Kurt Zeilenga
2ae410bd1b Treat INADDR_LOOPBACK (as well as INADDR_ANY) as local host. 2000-08-15 02:13:00 +00:00
Kurt Zeilenga
5b856458a2 s/SAFEMEMCPY/AC_MEMCPY/
Use AC_FMEMCPY where appropriate (-llber)
2000-07-28 01:07:07 +00:00
Kurt Zeilenga
5fc22599e2 Update SASL code to reuse context through life of session.
Replace 'negotiated' with 'interactive' bind
Add hooks for SASL/EXTERNAL
Disable SASL security layers
Rework SASL command line and config file parameters
2000-07-13 22:54:38 +00:00
Kurt Zeilenga
0c484042a0 Fix typo in last commit 2000-06-16 19:40:49 +00:00
Kurt Zeilenga
ac659e20d3 Add 1st libldap IPv6 patch (ITS#594) from Stig Venass.
Copyright 2000 Stig Venaas, UNINETT
All rights reserved.

Redistribution and use in source and binary forms are permitted
without restriction or fee of any kind as long as this notice is
preserved. The name of UNINETT may not be used to endorse or promote
products derived from this software without specific prior written
permission. This software is provided ``as is'' without express or
implied warranty.
2000-06-16 19:15:08 +00:00
Kurt Zeilenga
a56c161bdb Misc code cleanup. 2000-06-10 22:39:30 +00:00
Kurt Zeilenga
6ad1c45bd3 Use LDAP_VFREE and friends. Other misc code cleanup. 2000-06-07 05:17:29 +00:00
Kurt Zeilenga
2e0912622b ITS#537: lber io rewrite from Gambor Gombas.
Copyright 2000 Gábor Gombás. All rights reserved.
This is free software. You may redistribute and use it under the same
terms as OpenLDAP itself.
2000-06-01 20:59:21 +00:00
Kurt Zeilenga
29d9fa20a2 Y2k copyright update 2000-05-13 02:36:07 +00:00
Howard Chu
d706765e56 Fix error detection for NT 2000-05-11 09:47:55 +00:00
Kurt Zeilenga
6437785a82 Initial implementation of Kerberos password verification for
simple bind via:
	{KERBEROS}principal
Code is disabled by default (for security reasons).  Use
--enable-kpasswd to enable.  Behind SLAPD_KPASSWD.
Reworked Kerberos detection and split out KBIND as independent
feature (--disable-kbind) (LDAP_API_FEATURE_X_OPENLDAP_V2_KBIND).
KBIND depends upon detection of KRB4 (or KRB425) support.  Detection,
building with eBones (as distributed with FreeBSD 3.4) okay, but
wasn't able to test as I don't have a K4 KDC handy.
--with-kerberos has a number of detection options... most likely
don't work properly.
2000-01-08 18:42:11 +00:00
Luke Howard
9b4e3b2234 Merged in preliminary support for Cyrus SASL library;
support for DCE slash-delimited, left-to-right DNs;
support for a domain socket transport (enable with
--enable-ldapi); and extensions to URL parsing to
support the latter transport.
2000-01-02 01:21:25 +00:00
Mark Valence
7d98b59dfa Removed unused local var. 1999-12-05 22:19:08 +00:00
Kurt Zeilenga
baa34f752b Do not attempt to obtain sizeof(sin_addr.s_addr) or &sin_addr.s_addr
as s_addr member of in_addr may be a bitfield.
1999-10-30 04:58:06 +00:00
Kurt Zeilenga
a5ac8f57f8 Complain if setsockopt TCP_NODELAY fails 1999-10-19 19:07:24 +00:00
Kurt Zeilenga
403f4479bc Add OpenLDAP RCSid to *.[ch] in clients, libraries, and servers.
Replace old Id as needed (back-tcl).
Leave updating of contribWare to contributors (for now).
1999-09-08 19:06:24 +00:00
Hallvard Furuseth
c09a2c63e7 Cleanup:
Fix printf formats, remove unused variables, add missing prototypes in slapd,
add static/const, add some return types or change to void return type.
1999-09-02 08:05:17 +00:00
Hallvard Furuseth
fa4c4448c4 Add const, to fix "cast away from const" warnings 1999-08-17 21:09:26 +00:00
Kurt Zeilenga
3820b35870 Use -llber set_nonblock implementation.
Use ldap_int_tblsize instead of s+1 in select.
Need to eliminate all to read(2).
1999-08-04 18:32:38 +00:00
Kurt Zeilenga
b3ce9d497c non-blocking connect needs special handling under Winsock. 1999-08-04 00:40:03 +00:00
Kurt Zeilenga
2b79ff2c48 Initial inet_aton() detection. 1999-08-03 20:02:44 +00:00
Kurt Zeilenga
1b41dfbce0 LDAP_OPT_NETWORK_TIMEOUT feature (ITS#239) from Lars Uffmann.
Needs a bit more work.
	- global net/api timeouts are not inherited on session creation.
	- need configure check for inet_aton() (coming soon)
	- ioctl/fcntl portability issues (should share implementation
		with lber routines)
1999-08-03 19:27:22 +00:00
Kurt Zeilenga
b217a4fc51 Remove lint, remove YEAR_PEDANTIC macro, update comment. 1999-07-27 00:36:33 +00:00
Kurt Zeilenga
d147e609d2 Implement TCP_NODELAY on both client and server side. 1999-07-22 21:49:35 +00:00
Hallvard Furuseth
5ab862aee7 Pass socklen_t* instead of int* to getsockopt, accept, getpeername, recvfrom 1999-07-16 18:43:10 +00:00
Hallvard Furuseth
354702b94e ldap-int.h 1999-07-13 06:21:14 +00:00
Kurt Zeilenga
669b8f4047 ber_int_t, ber_tag_t, ber_socket_t, ber_len_t
added lber_types.h.nt, lber_types.h.in
removal of NULLxxx internal macros (in favor of NULL).
ch_free added to slapd,slurpd/ch_malloc.c
#define free ch_free (should be removed after s/free/ch_free/g) in proto-slap.h
ch_malloc and friends use ber_memalloc and friends
1999-06-18 23:53:05 +00:00
Kurt Zeilenga
21c70857f1 s/<stdlib.h>/<ac/stdlib.h>/ 1999-06-03 00:37:44 +00:00
Kurt Zeilenga
1f52f6e43e Add ber_strdup(), remove ldap_int_strdup(), add LDAP_STRDUP macro
and ripple change through -lldap.
1999-06-02 22:28:22 +00:00
Kurt Zeilenga
1bcec8bf6a Add LBER_ and LDAP_ memory allocators/deallocators for internal
library use:
  LBER_ macros expand to system routines.
  LDAP_ macros expand to new ber_ allocators.

Add ber_ and ldap_ memory allocators/deallocator:
  ber_ routines are wrappers of LBER_ macros.
  ldap_ routines are wrappers of ber_ routines.

Removed safe_realloc() macro from various files.  This issue
(if an issue) should be resolved across whole package.

ldapmodify.c now uses ber_ allocators to resolve ber_bvfree()
vs. WIN32 multiple heaps issue.

These changes should facilate implementation of
  ber_set_option( NULL, LBER_OPT_MEMORY_FN, ...)
and
  ldap_set_option( NULL, LDAP_OPT_MEMORY_FN, ...).
1999-05-29 01:19:14 +00:00
Kurt Zeilenga
22d98c85c3 ldap.h:
added comments
 removed LDAP_MAX_ATTR_LEN
 removed LDAP_COMPAT* from <ldap.h> but not code.
 move LDAP_DEFAULT_REFHOPCOUNT to ldap-int.h
 added experimental options macros
 added LDAP_CONTROL_REFERRALS macros
libldap:
 Replace ld_attrbuffer with per use allocated attributed.
 ldap_first/next_attribute attributes now must be freed (as per draft).
 unifdef -DLDAP_API_FEATURE_X_OPENLDAP_V2_REFERRALS
1999-05-22 06:11:48 +00:00
Kurt Zeilenga
dc07e765f2 Vienna Bulk Commit
This commit includes many changes.  All changes compile under NT but
have not been tested under UNIX.

A Summary of changes (likely incomplete):

NT changes:
	Removed lint.
	Clean up configuration support for "Debug", "Release", "SDebug",
		and "SRelease" configurations.
	Share output directories for clients, libraries,
		and slapd.  (maybe they should be combined further
		and moved to build/{,S}{Debug,Release}).
	Enable threading when _MT is defined.
	Enable debuging when _DEBUG is defined.
	Disable setting of NDEBUG under Release/SRelease.  Asserts
		are disabled in <ac/assert.h> when LDAP_DEBUG is not
		defined.
	Added 'build/main.dsp' Master project.
	Removed non-slapd projects from slapd.dsp (see main.dsp).
	Removed replaced many uses of _WIN32 macro with feature based
		macros.

ldap_cdefs.h changes
	#define LDAP_CONST const
		(see below)
	#define LDAP_F(type) LDAP_F_PRE type LDAP_F_POST
		To allow specifiers to be added before and after
		the type declaration.  (For DLL handling)

LBER/LDAP changes
	Namespace changes:
		s/lber_/ber_/ for here and there.
		s/NAME_ERROR/LDAP_NAME_ERROR/g
	Deleted NULLMSG and other NULL* macros for namespace reasons.
	"const" libraries.  Installed headers (ie: lber.h, ldap.h)
		use LDAP_CONST macro.  Normally set to 'const' when
		__STDC__.  Can be set externally to enable/disable
		'constification' of external interface.  Internal
		interface always uses 'const'.  Did not fix warnings
		in -lldif (in lieu of new LDIF parser).

	Added _ext API implementations (excepting search and bind).
		Need to implement ldap_int_get_controls() for reponses
		with controls.

	Added numberous assert() checks.

LDAP_R
	_MT defines HAVE_NT_THREADS
	Added numberous assert() checks.
	Changed ldap_pthread_t back to unsigned long.  Used cast
	to HANDLE in _join().

LDBM
	Replaced _WIN32 with HAVE_SYSLOG

ud
	Added version string if MKVERSION is not defined.  (MKVERSION
		needs to be set under UNIX).

slapd
	Made connection sockbuf field a pointer to a sockbuf.  This
		removed slap.h dependency on lber-int.h.  lber-int.h now only
		included by those files needing to mess with the sockbuf.
	Used ber_* functions/macros to access sockbuf internals whenever
		possible.
	Added version string if MKVERSION is not defined.  (MKVERSION
		needs to be set under UNIX).
	Removed FD_SET unsigned lint

slapd/tools
	Used EXEEXT to added ".exe" to routines.  Need to define EXEEXT
		under UNIX.

ldappasswd
	Added ldappasswd.dsp.  Ported to NT.  Used getpid() to seed rand().

nt_debug
	Minor cleanup.  Added "portable.h" include and used <ac/*.h> where
	appropriate.  Added const to char* format argument.
1999-05-19 01:12:33 +00:00
Kurt Zeilenga
db721ca821 Add ioctl_t for arg type (Unix requires 'int', Winsock requires 'u_long'). 1999-03-29 05:28:29 +00:00
Bart Hartgers
8153a4039b The new&improved Sockbuf. This adds the infrastructure on which
support for TLS and SASL will be build.

Please inform me of any problems.
1999-03-02 20:23:14 +00:00
Bart Hartgers
027d2fadc6 Updates regarding threads and names. 1999-01-15 14:49:03 +00:00
Kurt Zeilenga
4d2761a6a6 Add simple copyright notice. 1998-12-28 20:53:15 +00:00
Kurt Zeilenga
0024cf2f4b -lldap reentrantancy improvements from Bart Hartgers <A.Hartgers@phys.tue.nl>
including use of ctime_r, gethostby*_r, etc..  Also reworked ldap_sort_entries
to be reentrant.
Need to add code to properly set LDAP_API_FEATURE_THREAD_SAFE.
1998-12-19 01:27:20 +00:00
Hallvard Furuseth
c24d932b02 add ldap_strdup and eliminate strdup in libldap 1998-11-19 06:18:23 +00:00
Kurt Zeilenga
86fc474a50 Make sure tblsize in initialized in ldap_new_select_info()
Regenerate configure.
1998-11-16 23:55:37 +00:00
Hallvard Furuseth
7e6ad5100c Protoized, moved extern definitions to .h files, fixed related bugs.
Most function and variable definitions are now preceded by its extern
definition, for error checking.  Retyped a number of functions, usually
to return void.  Fixed a number of printf format errors.

API changes (in ldap/include):
  Added avl_dup_ok, avl_prefixapply, removed ber_fatten (probably typo
  for ber_flatten), retyped ldap_sort_strcasecmp, grew lutil.h.

A number of `extern' declarations are left (some added by protoize), to
be cleaned away later.  Mostly strdup(), strcasecmp(), mktemp(), optind,
optarg, errno.
1998-11-15 22:40:11 +00:00
Hallvard Furuseth
ce5dcbc522 Check if inet_addr() returns 0xffffffff as well as -1.
It returns (int)0xffffffff on OSF1 which has 64-bit long, so
`unsigned long address; ... if((address = inet_addr(str)) == -1)' fails.
1998-11-12 02:24:43 +00:00
Kurt Zeilenga
a48b606a2f Initial LDAP_API_FEATURE_X_OPENLDAP commit:
configure generates ldap_features.h based from ldap_features.h.in
  LDAP_REFERRALS -> LDAP_API_FEATURE_OPENLDAP_V2_REFERRALS
  LDAP_DNS -> LDAP_API_FEATURE_OPENLDAP_V2_DNS
1998-11-09 19:41:09 +00:00
Kurt Zeilenga
36378ea411 Updated MSVC5 workspaces and projects.
Added ac/stdarg.h and updated liblber encode/decode to use it.
1998-11-06 01:18:49 +00:00
Hallvard Furuseth
6b0a490026 Some gcc -W... cleanup 1998-11-05 06:05:52 +00:00
Kurt Zeilenga
702109706b update ldap/lber headers towards ldapext-ldap-c-api-01 1998-10-26 01:18:41 +00:00
Kurt Zeilenga
a57b7a5bb0 replace with ac version 1998-10-25 02:02:31 +00:00
Kurt Zeilenga
a9fff6ae9d Whoops. 1998-10-22 23:28:20 +00:00
Kurt Zeilenga
5ee53ca851 Add in WINSOCK2 ifdefs (ugh). 1998-10-22 23:25:45 +00:00