Commit graph

185 commits

Author SHA1 Message Date
Kurt Zeilenga
dab6bdaaad First cut at -V (version) argument. Needs work. 2003-01-20 20:11:57 +00:00
Hallvard Furuseth
120e39b533 Cast ctype.h arguments to unsigned char. 2003-01-19 14:05:23 +00:00
Kurt Zeilenga
6939c53170 Happy new year 2003-01-03 20:20:47 +00:00
Hallvard Furuseth
b84c33ce31 Plug memory leaks from ldap_get_option(). 2002-12-18 09:37:21 +00:00
Hallvard Furuseth
5b8302f655 Factor out common client code to file common.c 2002-12-12 16:32:26 +00:00
Kurt Zeilenga
da76c1951e First-cut proxy authorization support. 2002-12-03 06:11:32 +00:00
Hallvard Furuseth
416aeb9347 Never let ldif_parse_line() return a NULL value with success. 2002-12-02 22:46:07 +00:00
Hallvard Furuseth
334ff687d6 Esthetic change: Move break; out of if() to before the next case: 2002-12-02 15:46:53 +00:00
Kurt Zeilenga
ca84693b12 Clean up error messages 2002-11-29 02:49:11 +00:00
Kurt Zeilenga
e918c3b5a7 Add -e authzid argument processing 2002-11-28 05:56:19 +00:00
Kurt Zeilenga
235973571a proxy authz control (client only)
Misc control cleanups (client only)
2002-11-28 02:26:55 +00:00
Kurt Zeilenga
6b7cee69c2 Patch: 'ldapmodify -c' should return error on failure (ITS#2133)
Written by Hallvard B. Furuseth and placed into the public domain.
This software is not subject to any license of the University of Oslo.

'ldapmodify -c' returned the error status from the _last_ LDIF entry,
so a bad entry followed by a good entry returns success.
This patch makes it return the status of the last _failed_ entry,
or 0 if all entries succeeded.
2002-10-12 04:35:42 +00:00
Kurt Zeilenga
a83cc88edd Move ldap_control_dup() to ldap_pvt.h 2002-09-04 02:14:12 +00:00
Pierangelo Masarati
fd3302699e add ldif control support (ITS#2060, patch from David Steck <dsteck@novell.com>) 2002-08-31 12:02:39 +00:00
Kurt Zeilenga
4ce42af196 Add client-side subentries control support.
Make sure client controls are not specified multiple times.
NT port updates.
2002-08-30 07:05:12 +00:00
Kurt Zeilenga
26e4960c1c Remove those #ifdefs NOOP just added. 2002-08-30 05:43:47 +00:00
Kurt Zeilenga
0517278aff Place NOOP behind #ifdef 2002-08-30 05:02:20 +00:00
Kurt Zeilenga
d912c2c711 Rework client control parsing... need to implement
common controls across all tools.
2002-08-29 21:36:36 +00:00
Pierangelo Masarati
87f092bc49 improve control support thru -E switch 2002-08-29 10:41:10 +00:00
Kurt Zeilenga
8de258d2e2 Patch: 'ldapmodify -y file' reads password from file (ITS#2031)
================
Written by Hallvard B. Furuseth and placed into the public domain.
This software is not subject to any license of the University of Oslo.
            ================
Adapted by Kurt Zeilenga for inclusion in OpenLDAP.  My comments are
marked with enclosed with square brackets (e.g. [Kurt's comment] below.
            ================

If I run ldapmodify & co from a script, I don't want to use '-W password'
because the password shows up in the output of 'ps' for everyone,
and I can't pipe the password to 'ldapmodify -w' because -w uses
getpassphrase() which reads from the tty instead of stdin.
So I added '-y file' which reads the password from file.  The programs
exit if the file cannot be read.

[Complete contents of file is used as password.  Use:
	echo -n "secret" > password
to create a file with "secret" as the password.  The -n avoids
adding a newline (which would invalidate the password).  Note
that echo is a builtin and hence its arguments are not visible
to 'ps'.]

I changed ldapmodify, ldapmodrdn, ldapdelete, ldapsearch, ldapcompare.
I did not bother to change ldappasswd and ldapwhoami, because they
prompt for many passwords.  [I fixed up ldapwhoami.]

Rerun autoconf after applying this patch. [Done.]

Note:  I do not know if Windows NT has fstat(), so I set HAVE_FSTAT to
undef in portable.nt.  (fstat() is used to warn if the file is publicly
readable or writeable.)  [I used fstat() to set the buffer size to
read.]

[Note: using the contents of a file extends the tools to support
passwords which could not normally be provided using getpassphrase()
or via the command line.]

Hallvard B. Furuseth <h.b.furuseth@usit.uio.no>, Aug 2002.
[Kurt D. Zeilenga <kurt@openldap.org>, Aug 2002.]
2002-08-24 05:47:17 +00:00
Pierangelo Masarati
3996936bf7 remove warnings 2002-08-09 13:50:29 +00:00
Kurt Zeilenga
5972fb95f4 Fix LDIF LF / CRLF handling.
Patch suggested by Matthew Backes <lucca@csun.edu>
2002-08-05 19:48:50 +00:00
Howard Chu
d8929296b8 Use lutil_progname, #include <lutil.h> to get it. 2002-07-27 00:06:27 +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
91088eaa84 Full_Name: Norbert Klasen
Version: head
OS: SuSE Linux 7.3
URL: ftp://ftp.openldap.org/incoming/norbert.klasen.rejects.20020605.patch
Submission from: (NULL) (62.104.216.66)

This patch adds an '-S' option to ldapmodify. If a filename is specified with
this option, records which could not successfully be added/modified/deleted from
the LDAP server will be written to the specified file. Most useful in
conjunction with '-c' option.
2002-06-06 00:31:09 +00:00
Kurt Zeilenga
709ce4fa6c Re: Patch: ctype functions require 'unsigned char' args (ITS#1678)
================
Written by Hallvard B. Furuseth and placed into the public domain.
This software is not subject to any license of the University of Oslo.
			================

Here are fixes for more places where the argument to ctype.h functions
should be in the range of `unsigned char'.

Explanation of the last patch (to schema_init.c:bvcasechr()):
TOLOWER() and TOUPPER() return values in the range of `unsigned char',
but bvcasechr() then compares those values with a plain `char'.  So I
convert the return values from TOLOWER()/TOUPPER() to `char' first.

Hallvard B. Furuseth <h.b.furuseth@usit.uio.no>, April 2002.
2002-04-15 20:42:42 +00:00
Kurt Zeilenga
ac6df28e7d Fix misplaced "search" references 2002-02-08 19:10:06 +00:00
Pierangelo Masarati
0c952c8893 fixes ITS#1578 2002-02-06 08:43:32 +00:00
Kurt Zeilenga
0e2af54a3f Update copyright statements 2002-01-04 21:17:25 +00:00
Kurt Zeilenga
b64374fba1 Fix typo in last commit 2001-12-20 05:27:55 +00:00
Kurt Zeilenga
a07ab15ea1 Minor cleanup 2001-12-20 03:00:53 +00:00
Kurt Zeilenga
2a24264098 Remove lint 2001-12-19 21:19:41 +00:00
Howard Chu
331a7bd1c5 More from jon@symas.com - argv[0] comparison must exclude EXEEXT. 2001-12-12 00:26:42 +00:00
Howard Chu
e6d6faf3c9 From jon@symas.com - patches for consistent use of directory separators
in pathnames.
2001-12-07 01:46:26 +00:00
Kurt Zeilenga
6ba3b26c09 Enhance error messages from Walter.Mueller@uibk.ac.at 2001-12-05 03:13:50 +00:00
Pierangelo Masarati
77dc11ba3c liberal treatment of trailing spaces in changetype and mod op lines in ldif files (needs -DLIBERAL_CHANGETYPE_MODOP) 2001-09-29 10:29:24 +00:00
Kurt Zeilenga
2c1273cd17 ITS#1328 LDIFv1 CR/LF fix 2001-09-25 18:48:48 +00:00
Kurt Zeilenga
0c13c5bbdd Use parens for clarity 2001-08-28 00:35:34 +00:00
Kurt Zeilenga
db71f0c8a7 Clean up some logic, based upon Novell patches 2001-05-02 19:52:09 +00:00
Kurt Zeilenga
867ed1c7c8 use "authcid" instead of "username". 2001-01-18 08:04:56 +00:00
Kurt Zeilenga
ed9bacc1a6 Change start tls warning message 2001-01-16 04:32:13 +00:00
Kurt Zeilenga
ba37cbc233 Fix passwd clearing bug 2000-11-06 15:53:02 +00:00
Gary Williams
3a002e8768 enable new logging functions (behind NEW_LOGGING) 2000-10-25 15:03:22 +00:00
Kurt Zeilenga
9e1458724b Use LDAP_VERSION3 instead of 3 2000-10-13 18:30:24 +00:00
Kurt Zeilenga
9e450558d8 Fix add of empty value. 2000-10-03 22:05:28 +00:00
Kurt Zeilenga
3d47cb33c1 Fix spelling error 2000-09-19 20:47:22 +00:00
Ben Collins
bca61801a1 Fix fprintf\'s, missing `prog\' argument 2000-09-15 02:48:10 +00:00
Kurt Zeilenga
e366aefffc Fix ldap_init/initialize error checking 2000-09-13 21:49:31 +00:00
Kurt Zeilenga
8d2c074a80 Fix -R processing 2000-09-07 01:15:52 +00:00
Kurt Zeilenga
fb6590f8db Add -H to usage 2000-09-05 18:52:10 +00:00
Kurt Zeilenga
f6a1c05b68 Add missing fprintf param 2000-08-25 23:51:10 +00:00
Kurt Zeilenga
ef3fb24f39 Fix typo which escaped my obviously flawed midnight test
(I must have been dreamed that the 'make test' completed
successfully)
2000-08-25 23:46:09 +00:00
Kurt Zeilenga
e97cdfb7a9 Add support of "-H uri" 2000-08-25 05:31:29 +00:00
Randy Kunkee
45ef1d2c90 Clean up lint. 2000-08-23 22:49:44 +00:00
Kurt Zeilenga
0f5c87a41c Clean up usage() 2000-07-17 21:54:20 +00:00
Kurt Zeilenga
6393523ffa Expose sasl flags to -lldap (so they can be quiet)
Fix interactive and automatic modes.  Quiet needs work.
2000-07-17 21:23:59 +00:00
Kurt Zeilenga
95eea5accc First cut SASL "interactive" and "quiet" modes (default is "automatic") 2000-07-17 00:56:29 +00:00
Kurt Zeilenga
1e562b0d1f Make it all work. 2000-07-16 00:14:08 +00:00
Kurt Zeilenga
4d45c61600 Cleanup previous commit 2000-07-15 23:34:27 +00:00
Kurt Zeilenga
d2b05a3858 Rework SASL command line arguments. Default is now to authenticate
using best available mechanism.  (authzid prompting to be disabled)
To use simple bind, -x is required (implied if -P 2) with -D/-[Ww]
To use simple "anonymous" bind, just -x will do.
2000-07-15 23:25:46 +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
3f6e23cb0c Add LDAPv3 rename support 2000-06-29 19:35:51 +00:00
Kurt Zeilenga
1a862732ee Fail if ldap_set_option fails 2000-06-25 18:17:47 +00:00
Kurt Zeilenga
bf9231ac40 Round 2 of tools work.
-R now ignored
-C added to chase.  No rebind proc yet, no checking of appropriate authentication.
complain if non-critical TLS was not started.
Fail if requested version is not supported.
ldapdelete:
  deletechildren modified to use ldap_search_ext_s()
  fixed deletechildren dn memory leak
ldapsearch:
  modified to use ldap_search_ext()
2000-06-25 18:07:15 +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
49f4147385 Added -llber 'N' ber_printf format which inserts a NULL if
an internal flag set.  Used for SEQUENCE testing.  Flag must
be set using debugger.  Modified ber_printf to use new format
were needed for extensibility testing.

Added first cut -lldap support for extended responses.
Modified ldapsearch(1) to handle v3 search references when not
chasing.  Also added extended/unsolicited notification handling
and extended partial response handling.  Changes include a
number of LDIF enhancements.

Fixed getpassphrase() returns NULL bugs
2000-06-24 01:40:39 +00:00
Kurt Zeilenga
f48234f5bf No need to include <lber.h> 2000-06-20 17:02:19 +00:00
Kurt Zeilenga
e7791e2f93 Adjust -Z[Z] usage statements
Change ldapsearch to only produce LDIF.
2000-06-19 16:19:59 +00:00
Kurt Zeilenga
701cc91e8d Fix getpassword bug 2000-06-14 03:07:33 +00:00
Kurt Zeilenga
5417fdfea7 Rename ldap_start_tls() to ldap_start_tls_s() for consistency sake.
Misc other header changes.
2000-06-13 20:45:30 +00:00
Kurt Zeilenga
8045b54124 Use getpassphrase() instead of getpass() if available. 2000-05-19 18:41:26 +00:00
Kurt Zeilenga
9267700fb9 Fix password handling for SASL 2000-05-16 02:16:54 +00:00
Kurt Zeilenga
0bb431d3b3 Y2k copyright update 2000-05-13 02:25:54 +00:00
Kurt Zeilenga
fe8be04237 Fix typos in version checking 2000-04-25 10:30:42 +00:00
Kurt Zeilenga
4ecf780e48 StartTLS requires LDAPv3
Set version to required protocol.
2000-04-20 14:15:39 +00:00
Kurt Zeilenga
c02d7e2cb6 ITS#503: Extend ldap tools to support SASL/TLS
Submitted by Gabor Gombas <gombasg@inf.elte.hu>
2000-04-20 09:23:51 +00:00
Kurt Zeilenga
72c0de5d95 #define LDAP_LDIF to default to LDIF input
Fix ldaphost == NULL bug
2000-04-12 01:03:51 +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
Kurt Zeilenga
cd5c29cdc4 Add checks to ensure arguments are consistent (v2 vs v3). 1999-12-12 05:05:20 +00:00
Kurt Zeilenga
9d6c0aa00a Allow replace with no values
dn: cn=foo
	changetype: modify
	replace: bar
	-
1999-09-10 01:55:46 +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
Kurt Zeilenga
ed0e5393b4 Disable REFERRALS. Should add -C/-CC/-R options (chase w/ prompting,
chase w/o prompting, disable referrals).
1999-09-05 19:20:01 +00:00
Hallvard Furuseth
33cc7d4cf1 Introduce and use LDAP_GCCATTR() = __attributes__() in gcc 1999-09-03 21:06:33 +00:00
Kurt Zeilenga
c1b5068fe4 Apply Hallvard's memory leak plugs... 1999-08-20 00:55:22 +00:00
Kurt Zeilenga
a3269d3625 Allow null dn. 1999-08-13 22:53:11 +00:00
Kurt Zeilenga
dd53a83946 Wrap prints of DN and other strings in double quotes so user can easily
determine if string contains leading/trailing whitespace.
1999-08-09 18:33:17 +00:00
Kurt Zeilenga
df8f7cbb9b s/exit(1)/exit(EXIT_FAILURE)/
s/exit(0)/exit(EXIT_SUCCESS)/
add <ac/stdlib.h> where needed and other minor header adjustments
1999-08-03 18:14:24 +00:00
Kurt Zeilenga
9160692ab1 Remove "const" error... and add prototype for yet unimplemented
ldif_fetch_url().
1999-07-31 02:17:26 +00:00
Kurt Zeilenga
07b734035d Kludge ldapmodify to accept "version: 1" in LDIF input. 1999-07-31 00:35:30 +00:00
Kurt Zeilenga
b73b0c6158 Enhance LDIF handling
ldapsearch:
    use draft guidelines for determining when to use
    -t only writes binary attributes to files
    -tt writes all attributes to files
    output now lists URL instead of path to such files
    -T dir can be used to specify directory to create temp files in
    -V urlprefix can be used to change the URL prefix
    LDIF is now commented (can be disabled using -LL)
    LDIF now contains version attribute (can be disabled with -LLL)
LDIF:
    put interface changed to allow caller to specify how to encode
    put interface uses draft guidelines for determine when to base64 encode
    wrapping kludged to match old off by one bug
Tests:
    removed trailing space from some attributes (to avoid base64 encoding)
    enabled -LLL in defines.sh (should sed output to remove
        wrapping/comments/redundant separators)
Misc:
    updated codes outputting LDIF to use new put interface
TODO:
    handling of version attribute on input
    handling of URLs on input (ie: fetch URL)
1999-07-30 23:00:02 +00:00
Kurt Zeilenga
17a975b6fb Very crude LDIF changes:
add MODRDN newSuperior support
	add '#' support to ldapmodify (but not slurpd and ldbm tools)
1999-07-29 21:25:39 +00:00
Kurt Zeilenga
73276e84ae Import experimental referral implementation from OPENLDAP_DEVEL_REFERRALS.
Includes support for update referral for each replicated backend.
	Reworked replication test to use update referral.
Includes major rewrite of response encoding codes (result.c).
Includes reworked alias support and eliminates old suffix alias codes
(can be emulated using named alias).
Includes (untested) support for the Manage DSA IT control.
Works in LDAPv2 world.  Still testing in LDAPv3 world.
Added default referral (test009) test.
1999-07-16 02:45:46 +00:00
Kurt Zeilenga
341e3681d6 s/NULL/'\0'/ where appropriate 1999-07-01 04:39:42 +00:00
Kurt Zeilenga
757631d205 Attempt to whip user password from command line. 1999-06-29 18:59:11 +00:00
Kurt Zeilenga
bf8eaf1f1e ldapmodify/add: Fix -P option
tests: use "ldapadd" instead of "ldapmodify -a"
1999-06-29 01:17:58 +00:00
Kurt Zeilenga
4dfba74846 Check for not LDAP_OPT_SUCCESS instead of LDAP_OPT_ERROR. 1999-06-22 05:47:14 +00:00
Kurt Zeilenga
21e081dc5b Separate autoconf generated values from "defaults".
ldap_defaults.h incorporates non-generated ldapconfig.h values.
	ldap_config.h.in is new template for autoconf generated defaults
		(namely directories and paths)
	ldap_config.h.nt, NT template (must be manually copied)
	s/<ldapconfig.h>/<ldap_defaults.h>/
	s/DIRSEP/LDAP_DIRSEP/ & s/DEFAULT_/LDAP_/
1999-06-17 03:54:25 +00:00
Kurt Zeilenga
21c70857f1 s/<stdlib.h>/<ac/stdlib.h>/ 1999-06-03 00:37:44 +00:00
Kurt Zeilenga
f61625264f Use ber_strdup() as needed. 1999-06-02 22:33:57 +00:00
Kurt Zeilenga
388d51fe2d Use ldap_mods_free() instead of local routine.
More memory handling changes.  Need to sort out how to deal with strdup().
1999-06-01 19:05:07 +00:00