Commit Graph

262 Commits

Author SHA1 Message Date
Pierangelo Masarati
4f2ff1c108 uses URL extensions to set socket permissions other than default
URL Syntax:

ldapi://[<path>[/????[!]x-mod=<mod>]]

where <path> is the URL-encoded path of the socket (i.e. use %2F instead
of '/' for UNIX filenames!) and <mod> is 3*[w|-] (all we need is write
permission to the socket, read/execute permissions are ignored; however,
they're set when opening the listener).  The critical flag (the optional
'!' if not used ignores the result of the chmod() operation.
2002-01-28 20:26:55 +00:00
Pierangelo Masarati
eb14feac7e provisions for user-supplied permissions 2002-01-28 17:57:53 +00:00
Pierangelo Masarati
f00f86bf22 another round at cleaning it up: better naming, more attributes and so 2002-01-28 17:21:52 +00:00
Pierangelo Masarati
619f772459 listener monitor 2002-01-11 11:43:35 +00:00
Pierangelo Masarati
5dfbf93687 need this outside for back monitor ... 2002-01-11 10:46:58 +00:00
Kurt Zeilenga
0e2af54a3f Update copyright statements 2002-01-04 21:17:25 +00:00
Howard Chu
bbcb0f8a7f Replace strcat with slap_strcopy 2001-12-26 16:25:18 +00:00
Howard Chu
8ad557e4ec fix from jon@symas.com - inet_ntoa on uninitialized sockaddr 2001-12-17 22:46:59 +00:00
Howard Chu
826056e75b More thorough backend_destroy. Added config_destroy. Destroy slap_listeners.
Plugged other small leaks.
2001-12-15 12:05:58 +00:00
Kurt Zeilenga
b4ccbc2722 ITS#1413 suggested fix
(I think I fixed this by other means, but this does no harm)
2001-12-07 17:25:34 +00:00
Howard Chu
0552b1c53f NT updates from jon@symas.com. 2001-12-07 04:03:25 +00:00
Kurt Zeilenga
b5504a1c36 Clean up some misplaced 'extern' declarations (should be headers) 2001-12-04 19:57:09 +00:00
Pierangelo Masarati
aee3600276 minor cleanup 2001-11-17 16:18:07 +00:00
Mark Adamson
8c16d30087 optimize number of calls to slap_get_time() 2001-11-13 01:38:30 +00:00
Kurt Zeilenga
d03acd7209 Fix uninitialized pointer bug. 2001-11-03 22:02:57 +00:00
Kurt Zeilenga
d9fb94f1a8 Updated busy loop protection 2001-10-23 22:17:41 +00:00
Kurt Zeilenga
17264d1ad4 Experiment with busy loop protection... 2001-10-21 00:48:14 +00:00
Howard Chu
693a81e1db More CLDAP tweaks, to differentiate between real LDAPv2 CLDAP and "other"
LDAP/UDP messages. Slapd marks received CLDAP messages as LDAP_VERSION2.
The client library can generate CLDAP queries if -Protocol 2 is chosen,
otherwise not. LDAPv2 CLDAP cannot query the slapd rootDSE, gets no reply.
2001-10-02 01:02:23 +00:00
Kurt Zeilenga
44146a1cb7 Rework DB_THREAD support. CDB support needs reimplementation. 2001-10-01 06:08:46 +00:00
Stig Venaas
3c28bb413d Removed a superfluous line left after the ai_addr == NULL fix 2001-09-29 09:40:47 +00:00
Kurt Zeilenga
e78265738d Rework getaddrinfo() stuff for ai_addr == NULL 2001-09-29 06:33:54 +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
2f761834b2 Fix NEW_LGGING typo 2001-08-29 19:49:05 +00:00
Stig Venaas
70f7e55344 Changed get_listener_addresses() to not use getaddrinfo() for PF_LOCAL 2001-08-26 11:03:27 +00:00
Randy Kunkee
a9097044ea Remove global_backendsyncfreq code (code has been pushed down into back-ldbm). 2001-06-28 18:02:46 +00:00
Randy Kunkee
d492880870 Add sync_daemon to daemon.c, enabled by global configuration
backendsyncfreq <seconds>.  Setting this automatically enables
dbnosync (because the synchronizer takes care of it).
2001-06-22 08:38:58 +00:00
Kurt Zeilenga
af2ab5f0a5 Make sure we yield() on a failed accept() 2001-05-10 17:39:10 +00:00
Kurt Zeilenga
d523048634 Fix have inet_ntop bug 2001-05-09 23:41:16 +00:00
Kurt Zeilenga
be26f1a9f7 Fix typos 2001-05-04 22:50:51 +00:00
Kurt Zeilenga
383391b460 detect and use fcntl (for BSD/OS)
detect inet_ntop (for MacOSX)
2001-05-03 05:53:34 +00:00
Kurt Zeilenga
3fdbff6923 SLP updates 2001-05-02 19:44:21 +00:00
Gary Williams
7c53c9ba1c fix windows-specific logging line 2001-02-02 14:49:35 +00:00
Kurt Zeilenga
fa21f7fe86 Fix IP= port numbers 2001-01-24 00:08:15 +00:00
Gary Williams
f49fd8a98e fix format 2001-01-17 16:35:53 +00:00
Kurt Zeilenga
8a22a0e0d0 SLP extension derived from patch provided by Caldera Systems.
Copyright 2000, Caldera Systems, Inc All rights reserved.
This software is not subject to any license of Caldera Systems, Inc

This is free software; you can redistribute and use it
under the same terms as OpenLDAP itself
2001-01-16 22:18:33 +00:00
Gary Williams
ffcdc6d11d More new logging (Behind NEW_LOGGING) 2001-01-15 19:17:29 +00:00
Kurt Zeilenga
04e2da58ed ITS#895: gai_strerror fix 2000-11-24 05:30:52 +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
2dbd6c6d0e remove lint 2000-10-18 00:35:09 +00:00
Kurt Zeilenga
a865220fd8 Bump listeners to 10 2000-10-17 06:36:22 +00:00
Kurt Zeilenga
1fb923e6e2 Replace last commit with Stig's improved version 2000-10-16 21:45:35 +00:00
Kurt Zeilenga
820965a412 ITS#839: getaddrinfo portability fix from Gabar Gombas 2000-10-16 20:32:39 +00:00
Kurt Zeilenga
fc227a8816 Remove cpp lint 2000-10-16 20:04:42 +00:00
Kurt Zeilenga
16fcdec8df Import Stig reorganized daemon.c + style changes 2000-10-12 21:59:08 +00:00
Julio Sánchez Fernández
bdf3ec2fb3 Remove lint. 2000-10-09 19:11:46 +00:00
Kurt Zeilenga
5c66902abb Fix typo 2000-10-02 14:10:51 +00:00
Kurt Zeilenga
fcc86b2456 Check for shutdown after successful select() 2000-09-30 05:34:34 +00:00
Kurt Zeilenga
b7b075ba75 Remove unneeded getpeername call (use accept() from).
cleanup #ifdef, localize variables, and misc changes.
2000-09-23 20:39:52 +00:00
Kurt Zeilenga
aa5b7d4d52 Restrict keepalive/nodelay setsockopt to IP streams 2000-09-23 19:14:40 +00:00
Kurt Zeilenga
bbae507a8f Set TCP_NODELAY and SO_KEEPALIVE after every accept() as some accept()
implementations do not create new socket with all properties of
listening socket.
2000-09-21 19:08:17 +00:00
Mark Adamson
bf1ee530ea Implementation of SASL authorization. 2000-09-21 17:32:54 +00:00
Kurt Zeilenga
434b0738dd Don't check fd_sets until after we check fd < dtblsize 2000-09-18 19:01:21 +00:00
Kurt Zeilenga
d4a89d30f8 Minor IPv6 changes (ITS#716) suggested by Stig Venass <venaas@uninett.no> 2000-09-06 19:03:33 +00:00
Kurt Zeilenga
1c328aa9c7 Minor typedef and other clean ups 2000-08-26 01:14:05 +00:00
Kurt Zeilenga
60c474a4a0 ITS#681: Fix for problems with IPv6 and ACLs
from Stig Venaas <venaas@uninett.no>
---
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-08-24 18:34:48 +00:00
Kurt Zeilenga
f286380c82 Check for IP using != AF_LOCAL instead of = AF_INET 2000-08-17 04:22:36 +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
3ad45a0662 Clean up WSAENOTSOCK code (no functional change) 2000-07-25 20:04:23 +00:00
Kurt Zeilenga
cd5aed0bbe Use sigaction to set SA_RESTART (if appropriate).
Portability of this code needs to tested.
2000-07-22 00:37:51 +00:00
Kurt Zeilenga
27f674a926 Share function declarations between varients 2000-07-21 22:47:46 +00:00
Kurt Zeilenga
3c91b7e05a Clarify message logged upon host_access() failure 2000-07-18 03:12:55 +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
1f1993989a s/enable-unix/enable-local/
s/LDAP_PF_UNIX/LDAP_PF_LOCAL/
s/AF_UNIX/AF_LOCAL/
s/PF_UNIX/PF_LOCAL/
2000-07-09 21:49:36 +00:00
Kurt Zeilenga
8670bb6ba2 Add missing sockerr call 2000-06-26 05:23:33 +00:00
Kurt Zeilenga
5f20cf1ed5 Modify ldapsearch(1) significantly. Now handles LDAPv3 search
references, extended results, and extended partial results.  LDIF
extended to support these new features and reported version 2.
-L now limits output to LDIFv1 for compatibility reasons.  No
-L is now LDIFv2.  Old alternative form is no longer supported.

Use LDAP_TMPDIR (in ldap_config.h) instead of hardcoded /tmp
Use LDAP_FILE_URI_PREFIX (in ldap_config.h) instead of hardcoded
	file://tmp/
2000-06-25 00:35:17 +00:00
Kurt Zeilenga
ec426532b2 Reworked thread code to better support thread-library specific
r/w locks and thread pools.  Hide internal structures (using
pthread'ish technics).  Place common code in threads.c.  Move
no-thread code to thr_stub.c.  Move thread pool code to tpool.c.
Removed setconcurrency call from initializer, added 'concurrency'
directive to slapd.  Tested code under pthreads, pth, and no-threads.
2000-06-13 02:42:13 +00:00
Kurt Zeilenga
1ef14875db Thought I fixed these errors previously... oh well. 2000-06-10 23:06:08 +00:00
Mark Valence
3cad129608 Removed active_threads count and associated mutex/cond. Replaced with
ldap_pvt_thread_pool_backload() as needed.  All tests run OK on pthre
ads (linux), cthreads, NT threads, and Pth.
2000-06-10 06:40:03 +00:00
Kurt Zeilenga
55dba4395f Update PF_INET6 and PF_UNIX detection, both default to auto 2000-06-09 23:09:51 +00:00
Kurt Zeilenga
140a579e32 Additional IPv6 changes from Stig Venaas
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-09 17:00:22 +00:00
Kurt Zeilenga
bb9d8a0f20 Initialize peername with EOS. 2000-06-08 23:12:52 +00:00
Mark Valence
7ec6a4363f Use thread pool for operation threads. 2000-06-07 19:27:33 +00:00
Kurt Zeilenga
60d6c13d73 Use ldap_pvt_url_scheme2tls() to test for ldaps:// 2000-06-07 17:50:58 +00:00
Mark Valence
185641cb12 ldap_is_ldaps_url takes a char *. Is there a better fix, since the ur
l is already parsed?
2000-06-07 17:28:01 +00:00
Kurt Zeilenga
e5ebc553ac Rework URI parser to provide true scheme not proto/properties.
Plus more pthread rwlock code
2000-06-07 01:09:40 +00:00
Kurt Zeilenga
64d7227821 Basic IPv6 support...
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-06 20:23:22 +00:00
Kurt Zeilenga
60802201e3 Const'ification
SASL mech removed from backend bind callback (as SASL is managed by frontend)
Changes to some backends are untested (as I don't have all dependent
  software install)
2000-05-22 03:46:57 +00:00
Kurt Zeilenga
4bc786f34b Y2k copyright update 2000-05-13 02:47:56 +00:00
Howard Chu
2e5e4c3f20 More fixes for NT support:
liblutil/ntservice.c change registry key path used for non-default
  	service names.
  slapd/Makefile.in change to generate slapd.syms dynamically
  slapd/daemon.c fix to make NT service ignore SIGBREAK
  slapd/main.c fix to allow NT to retrieve listening url from registry
  slapd/nt_svc.c fix for exported symbols
  slapd/result.c change use of strerror to sock_errstr
  slapd/slapd.syms no longer needed
2000-05-11 20:50:20 +00:00
Kurt Zeilenga
a16943d645 Per ITS#419, don't require SLAPD_RLOOKUPS when HAVE_TCPD 2000-01-11 01:12:08 +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
Kurt Zeilenga
b1639dadd6 Remove lint
Add copyrights
1999-12-13 04:53:59 +00:00
Kurt Zeilenga
7c28aa058c Add password check and generation check.
Modify tests to use -h "ldap://localhost:port/" instead of -p port.
1999-12-12 18:45:06 +00:00
Mark Valence
31eea5f43c On Windows, WSAENOTSOCK is treated the same as EBADF. This is needed because of a race condition (sock is selected just after another thread closes it), which needs a proper fix. 1999-12-09 22:05:00 +00:00
Howard Chu
d1841b5c1f Fix WAKE_LISTENER hang in single-threaded server 1999-12-02 03:45:54 +00:00
Howard Chu
7eec31c8f6 Don't call FD_SET for an fd if it is already set. This causes major problems
on NT due to their fd_set implementation.
1999-12-02 03:21:06 +00:00
Howard Chu
e63364baac Read a full buffer from wake_sds whenever we wake up from select(). 1999-11-28 04:05:59 +00:00
Kurt Zeilenga
b7af076fee Use centralized output directories.
Update single debug/release not to use service manager nor event manager.
Likely breaks MINGW32 port.
1999-11-01 21:25:22 +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
Howard Chu
f68db53909 Fix Winsock-related warnings and/or bugs.
See README 1.27 log
1999-10-28 07:14:25 +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
f3880e5633 Remove lint 1999-09-06 04:42:20 +00:00
Hallvard Furuseth
1cde481298 Move `#include "ldap_defaults.h"' into slap.h, which #ifdefs on it. 1999-09-03 23:10:05 +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
Kurt Zeilenga
5b8d286d40 Fix idle timeout code. 1999-09-01 06:37:46 +00:00
Kurt Zeilenga
ac8b5468aa Clean up soctpair for NT. Add USE_PAIR to allow pair(2) use. 1999-08-31 16:47:42 +00:00
Kurt Zeilenga
b509dd4d8c sockpair cleanup including:
provide prototype in lutil.h
use LBER_SOCKET_T instead of int in prototype.  (didn't use
	ber_socket_t so all of lber.h wouldn't have be dragged in)
rename signal handlers, use RETSIGTYPE, and make SIGHUP wake
rename fd to sd to reflect descriptor must be usable as a socket.
renamed sel_exit_fds to wake_sds to reflect current use
improve readability of sockpeer.c including removing obtuse goto.
1999-08-31 05:18:06 +00:00
Howard Chu
0319dcad17 Use lutil_pair(), WAKE_LISTENER now uses this socket. 1999-08-31 03:26:35 +00:00
Kurt Zeilenga
9826f704b5 Back out to simple sock_errno sock_errstr macros and use WSAGetErrorString
instead of WSAGetLastErrorString to preserve errno like semantics.
1999-08-29 23:33:35 +00:00
Howard Chu
3925d53ccd Replaced sock_errno()/sock_errstr() macros with SOCK_ERR(num,str) 1999-08-29 23:09:27 +00:00