Commit graph

3900 commits

Author SHA1 Message Date
Howard Chu
ee3f050000 Merge branch 'mdb.master' of /home/hyc/OD/mdb 2011-09-06 13:55:02 -07:00
Howard Chu
5e6a864513 Guarantee nodes are 2-byte aligned
Also fix xcursor_init1 md_dirty flag
Also another mdb_cmp refactoring fix
2011-09-06 13:50:51 -07:00
Howard Chu
293df78b2b Change MDB_node to depend on 2-byte alignment 2011-09-06 05:17:24 -07:00
Howard Chu
e071488c85 Merge remote branch 'mdb/mdb.master' 2011-09-05 16:56:02 -07:00
Howard Chu
807841b1aa Fix for mdb_cmp refactoring 2011-09-05 16:54:39 -07:00
Howard Chu
13ad0aedcc More merge fix 2011-09-05 16:20:31 -07:00
Howard Chu
513d96105d Fix bad merge 2011-09-05 16:15:36 -07:00
Howard Chu
ffdf3d7afb Merge remote branch 'mdb/mdb.master' 2011-09-05 15:19:41 -07:00
Howard Chu
963c421a97 Minor cleanup 2011-09-05 14:22:46 -07:00
Howard Chu
e44d4cf06a Use mdb_midl_append/sort instead of _insert 2011-09-05 02:37:43 -07:00
Howard Chu
2cde97ae94 Use mdb_midl_append/sort instead of _insert 2011-09-05 02:36:24 -07:00
Howard Chu
221be39208 mdb_cmp refactoring 2011-09-05 01:19:24 -07:00
Howard Chu
0609aa45b3 Reimplement basic ops as cursor ops 2011-09-05 01:19:24 -07:00
Howard Chu
23790cf390 Add MDB_{FIRST,LAST}_DUP for cursor_get 2011-09-05 01:17:13 -07:00
Howard Chu
9cfbea8e8f Cleanup midl, start documenting internals 2011-09-05 01:16:44 -07:00
Howard Chu
0f679e9386 Tweak docs 2011-09-05 01:16:33 -07:00
Howard Chu
70a4f6f29d mdb_cmp refactoring 2011-09-05 00:46:32 -07:00
Howard Chu
7bb14a2e79 Cursor stuff working, no major perf gain 2011-09-04 21:33:57 -07:00
Howard Chu
1843fe0b53 Cursors in-progress, broken 2011-09-04 21:33:57 -07:00
Howard Chu
8d89a53165 Use cursor->mc_flags 2011-09-04 21:33:57 -07:00
Howard Chu
7f46832ec5 Begin reimplementing basic ops as cursor ops 2011-09-04 21:33:57 -07:00
Howard Chu
f6edbd7793 Add MDB_{FIRST,LAST}_DUP for cursor_get 2011-09-04 21:33:57 -07:00
Howard Chu
2197928aaa Fix mdb_split, fix MDB_GET_BOTH 2011-09-03 20:12:09 -07:00
Howard Chu
9d821c26c3 Fix mdb_split, fix MDB_GET_BOTH 2011-09-03 20:11:07 -07:00
Howard Chu
e91dae3ed5 Cleanup midl, start documenting internals 2011-09-03 14:27:07 -07:00
Howard Chu
b30d0266e7 Tweak docs 2011-09-02 01:09:11 -07:00
Howard Chu
02cff39398 Merge remote branch 'mdb4/master' 2011-09-01 16:50:26 -07:00
Howard Chu
30736a0ff5 Ugly-as-sin initial Windows port 2011-09-01 16:31:10 -07:00
Howard Chu
2510bea718 API cleanup, doxygen docs for public API 2011-09-01 16:31:10 -07:00
Howard Chu
0f459dd773 Cleanup, fix freelist alloc
Don't allow new pages for free list to come from the free list.
Otherwise a nasty data self-reference occurs that is too much
trouble to unwind.
2011-09-01 16:31:10 -07:00
Howard Chu
f7aa0d5e4a Tweak locks, fix race conditions 2011-09-01 16:31:10 -07:00
Howard Chu
d27a7754f3 Reduce excessive memcpy in mdb_split 2011-09-01 16:31:10 -07:00
Howard Chu
027e1daa10 Fix mdb_split, tweak split_indx if space is tight 2011-09-01 16:31:10 -07:00
Howard Chu
01b9fc59fb Fix update of big data items 2011-09-01 16:31:10 -07:00
Howard Chu
13c663f666 Fix free page reclaim and dbs table update
Can re-use free pages 1 txn earlier
Must update all dbs tables on txn commit
2011-09-01 16:31:10 -07:00
Howard Chu
94718fab00 More debug, fix MDB_DEL_DUP 2011-09-01 16:31:10 -07:00
Howard Chu
ee69051a7c More debug output 2011-09-01 16:31:10 -07:00
Howard Chu
d54eb7dd81 Add txn_reset / txn_renew 2011-09-01 16:31:10 -07:00
Howard Chu
590c728044 First cut at DUPFIXED support
Also in cursor_set, check the current page (if already set from
before) before starting over again from the root.
2011-09-01 16:31:10 -07:00
Howard Chu
720c4b0a3d Set MINKEYS to 2
For better space utilization
2011-09-01 16:31:10 -07:00
Howard Chu
66a647e55d Keep re-using dpages instead of freeing them 2011-09-01 16:31:10 -07:00
Hallvard B Furuseth
ca496bd357 Avoid cast-away-const for errstr[] 2011-09-01 16:31:10 -07:00
Hallvard B Furuseth
5b3b522313 Wrap O_DSYNC in MDB_DSYNC.
If O_DSYNC is not defined, that may be due to poor compiler options.
We could fall back to the less efficient O_SYNC, but it seems better
to let the user learn of the problem and give better compiler options.
2011-09-01 16:31:10 -07:00
Hallvard B Furuseth
cb7c955220 Simplify: Replace IDL*_CMP() with CMP() 2011-09-01 16:31:10 -07:00
Hallvard B Furuseth
3029bb694d Macro cleanup: Parenthesize, simplify, remove a ; 2011-09-01 16:31:10 -07:00
Hallvard B Furuseth
a1b4144b80 Drop gcc extension ,##__VA_ARGS__. Add DPUTS().
C99 says DPRINTF(fmt, ...) must get at least 2 args.  Using DPUTS for 1 arg.
2011-09-01 16:31:10 -07:00
Howard Chu
8f77043372 Fix cursor_set for dups
Also make sure dups are counted in md_entries
2011-09-01 16:31:10 -07:00
Howard Chu
edf9d8e51b Sorted dups fix
Write the first datum normally. Convert to a sub-db if
additional items for the same key are written.
2011-09-01 16:31:10 -07:00
Howard Chu
e15d4d16b6 Don't alloc in cursor_push/pop 2011-09-01 16:31:10 -07:00
Howard Chu
1ceae5c2c0 Fix multi-page commits 2011-09-01 16:31:10 -07:00
Howard Chu
6d924c1dda Fix overflow page read 2011-09-01 16:31:10 -07:00
Howard Chu
3dd815162c Sub-DB init/dirty fixes 2011-09-01 16:31:10 -07:00
Howard Chu
11308a190d Fix dupsort fetch 2011-09-01 16:31:10 -07:00
Howard Chu
697e00a8e2 More txn/cursor cleanup 2011-09-01 16:31:10 -07:00
Howard Chu
e29660566c Update DB tables on commit even if no dirty pages 2011-09-01 16:31:10 -07:00
Howard Chu
bab6be8077 Add mdb_strerror(), mdb_env_set_flags() 2011-09-01 16:31:10 -07:00
Howard Chu
9902a7764e allow silent commit of read-only TXNs 2011-09-01 16:31:10 -07:00
Howard Chu
9860d5a43f Protect err codes 2011-09-01 16:31:10 -07:00
Howard Chu
5e3a3db1f2 Error cleanup
Replace MDB_FAIL with more specific codes
Return MDB_PANIC after failure to write meta page
2011-09-01 16:31:09 -07:00
Howard Chu
5ef6c43acf Get rid of AC_MEMCPY 2011-09-01 16:31:09 -07:00
Howard Chu
1aa5105b67 Use IDL2 for dirty page list 2011-09-01 16:31:09 -07:00
Howard Chu
88a5f35c43 Use O_DSYNC on metafd.
Use sync writes in mtest.
2011-09-01 16:31:09 -07:00
Howard Chu
3e1c72a08e Minor cleanup 2011-09-01 16:31:09 -07:00
Howard Chu
19f5eebff8 Better defs for locker structures 2011-09-01 16:31:09 -07:00
Howard Chu
af0b49aa60 Silence stupid warning 2011-09-01 16:31:09 -07:00
Howard Chu
f9f0ec92a9 Add mdb_version() 2011-09-01 16:31:09 -07:00
Howard Chu
76d7ca8ce0 Rationalize mdbenv namespace 2011-09-01 16:31:09 -07:00
Howard Chu
c378b2525c Move MDB_VERSION to mdb.h, use major/minor/patch 2011-09-01 16:17:08 -07:00
Howard Chu
af70c0d9ce Tweak MDB_val to match struct berval 2011-09-01 16:17:08 -07:00
Howard Chu
985f765dc5 Rename idl to midl 2011-09-01 16:17:08 -07:00
Howard Chu
f5297dfc25 Add another FIXME comment 2011-09-01 16:17:07 -07:00
Howard Chu
35fca0f6af Add mtest2 and 3 2011-09-01 16:17:07 -07:00
Howard Chu
b070f7bff9 Portability tweak 2011-09-01 16:17:07 -07:00
Howard Chu
170703b0e4 Make a shared library too 2011-09-01 16:17:07 -07:00
Howard Chu
785d8e184c Start using as a library 2011-09-01 16:17:07 -07:00
Howard Chu
920115f747 Sorted dup fixes 2011-09-01 16:17:07 -07:00
Howard Chu
ce9456d95c Add MDB_INTEGERKEY db flag 2011-09-01 16:17:07 -07:00
Howard Chu
d499c244cd Allow setting DB flags on main DB 2011-09-01 16:17:07 -07:00
Howard Chu
2f7ddb4103 Cleanup, add mdb_cursor_count() 2011-09-01 16:17:07 -07:00
Howard Chu
2e776bd36e More DB checks 2011-09-01 16:17:07 -07:00
Howard Chu
b834dc05b3 Consolidate stat functions 2011-09-01 16:17:07 -07:00
Howard Chu
11204d176a Header cleanup 2011-09-01 16:17:07 -07:00
Howard Chu
40df306d52 More subDB fixes 2011-09-01 16:17:07 -07:00
Howard Chu
39817f6e85 Parameter cleanup 2011-09-01 16:17:07 -07:00
Howard Chu
819d98169e Valgrind complaints 2011-09-01 16:17:07 -07:00
Howard Chu
01c2f7816f More subDB stuff 2011-09-01 16:17:07 -07:00
Howard Chu
2fe9fbd1a3 Make sure subDB info is saved after writes 2011-09-01 16:17:07 -07:00
Howard Chu
314ac28938 Sorted dups basically completed, needs testing 2011-09-01 16:17:07 -07:00
Howard Chu
f586e57742 Added cursor_get for sorted dups 2011-09-01 16:17:07 -07:00
Howard Chu
f48f085ed8 Add mdb_get for sorted dups 2011-09-01 16:17:07 -07:00
Howard Chu
e3703ab58c Add mdb_del for sorted dups 2011-09-01 16:17:07 -07:00
Howard Chu
bb6a034e28 Add mdb_put for sorted dups 2011-09-01 16:17:07 -07:00
Howard Chu
51e210c604 Fix reader txn locking 2011-09-01 16:17:07 -07:00
Howard Chu
e3b668e84a Don't malloc the free_pgs list every time 2011-09-01 16:17:07 -07:00
Howard Chu
9f0b00b467 Setup context for sorted dups 2011-09-01 16:17:07 -07:00
Howard Chu
e5cf84495b Add explicit md_dirty flag to dbxs 2011-09-01 16:17:07 -07:00
Howard Chu
edf7869466 Add cursor_prev 2011-09-01 16:17:07 -07:00
Howard Chu
cc56ba04fb Use BDB cursor terminology 2011-09-01 16:17:07 -07:00
Howard Chu
60550e14ee Add some legalese
Note derived from Martin Hedenfalk's btree.c; the code
is significantly reworked but owes a lot to the original.
2011-09-01 16:17:07 -07:00
Howard Chu
36b0883564 Additional debug, fixes
Fixed order of mdb_del0 operations
Drop in-memory free list from env on txn_abort
2011-09-01 16:17:07 -07:00
Howard Chu
4ba37eed5e Save free-list in DB 2011-09-01 16:17:07 -07:00
Howard Chu
852ac0e3bc More sub-db stuff 2011-09-01 16:17:07 -07:00
Howard Chu
a687f2dc3c Use STAILQ instead of SIMPLEQ
For compat with ancient BSD. Will probably just copy <ldap_queue.h> instead.
2011-09-01 16:17:07 -07:00
Howard Chu
1f3fdc811e More subdb stuff, add cursor_last() 2011-09-01 16:17:07 -07:00
Howard Chu
9b4c689601 Tweak mt_dbxs array 2011-09-01 16:17:07 -07:00
Howard Chu
8211dd3960 Fix free page re-use 2011-09-01 16:17:07 -07:00
Howard Chu
415d98755d Fixup metapage writes 2011-09-01 16:17:06 -07:00
Howard Chu
4fd0f278d2 Tweaks to txn handling 2011-09-01 16:17:06 -07:00
Howard Chu
f89d0cc4b7 More subDBs, compiles now 2011-09-01 16:17:06 -07:00
Howard Chu
cb45191793 Start DB restructuring 2011-09-01 16:17:06 -07:00
Howard Chu
194334b2f7 Replace ulong with ULONG macro 2011-09-01 16:17:06 -07:00
Howard Chu
2766e88eeb More prep for subdatabases 2011-09-01 16:17:06 -07:00
Howard Chu
86e78566e3 Tweak comment about overflow allocations 2011-09-01 16:17:06 -07:00
Howard Chu
bc0ca49d16 Use an environment directory
Go back to using an mmap'd lock file
2011-09-01 16:17:06 -07:00
Howard Chu
5a72c6a294 No longer need -lssl 2011-09-01 15:53:33 -07:00
Howard Chu
5e6f32243c Fix db_stat stuff 2011-09-01 15:53:33 -07:00
Howard Chu
3f025d1d4c More fixes for seeking 2011-09-01 15:53:33 -07:00
Howard Chu
27ab75ef36 Re-use old pages 2011-09-01 15:53:33 -07:00
Howard Chu
8d74f717ff For test063
add hex timestamp to lutil_debug() output
Fix LASTMOD race condition in accesslog.c
Set refreshInterval even if using refreshAndPersist, since
fallbacks will use refresh params
2011-08-30 19:16:39 -07:00
Howard Chu
6546ecd39c ITS#7022 cleanup prev commit 2011-08-24 15:37:52 -07:00
Rich Megginson
a7aac14d2a ITS#7022 NSS_Init* functions are not thread safe
The NSS_InitContext et. al, and their corresponding shutdown functions,
are not thread safe.  There can only be one thread at a time calling
these functions.  Protect the calls with a mutex.  Create the mutex
using a PR_CallOnce to ensure that the mutex is only created once and
not used before created.  Move the registration of the nss shutdown
callback to also use a PR_CallOnce.  Removed the call to
SSL_ClearSessionCache() because it is always called at shutdown, and we must
not call it more than once.
2011-08-24 15:34:47 -07:00
Jan Vcelak
3dae953fd6 ITS#7014 TLS: don't check hostname if reqcert is 'allow'
If server certificate hostname does not match the server hostname,
connection is closed even if client has set TLS_REQCERT to 'allow'. This
is wrong - the documentation says, that bad certificates are being
ignored when TLS_REQCERT is set to 'allow'.
2011-08-24 15:27:29 -07:00
Rich Megginson
210b156ece ITS#7002 MozNSS: fix VerifyCert allow/try behavior
If the olcTLSVerifyClient is set to a value other than "never", the server
should request that the client send a client certificate for possible use
with client cert auth (e.g. SASL/EXTERNAL).
If set to "allow", if the client sends a cert, and there are problems with
it, the server will warn about problems, but will allow the SSL session to
proceed without a client cert.
If set to "try", if the client sends a cert, and there are problems with
it, the server will warn about those problems, and shutdown the SSL session.
If set to "demand" or "hard", the client must send a cert, and the server
will shutdown the SSL session if there are problems.
I added a new member of the tlsm context structure - tc_warn_only - if this
is set, tlsm_verify_cert will only warn about errors, and only if TRACE
level debug is set.  This allows the server to warn but allow bad certs
if "allow" is set, and warn and fail if "try" is set.
2011-07-28 14:09:55 -07:00
Rich Megginson
fb4b4f7445 ITS#7001 MozNSS: free the return of tlsm_find_and_verify_cert_key
If tlsm_find_and_verify_cert_key finds the cert and/or key, and it fails
to verify them, it will leave them allocated for the caller to dispose of.
There were a couple of places that were not disposing of the cert and key
upon error.
2011-07-28 14:00:15 -07:00
Jan Vcelak
e8ac17e17c ITS#6998 MozNSS: when cert not required, ignore issuer expiration
When server certificate is not required in a TLS session (e.g.
TLS_REQCERT is set to 'never'), ignore expired issuer certificate error
and do not terminate the connection.
2011-07-21 11:59:06 -07:00
Howard Chu
c02e681121 ITS#6982 fix md5 memset invocation 2011-07-01 22:55:06 -07:00
Howard Chu
661d4f80e3 Drop header page
it's useless, just use meta pages instead
2011-07-01 02:31:36 -07:00
Rich Megginson
d944920fd3 ITS#6980 free the result of SSL_PeerCertificate
In tlsm_auth_cert_handler, we get the peer's cert from the socket using
SSL_PeerCertificate.  This value is allocated and/or cached.  We must
destroy it using CERT_DestroyCertificate.
2011-06-29 16:56:26 -07:00
Hallvard B Furuseth
c98c14fef5 Private: make.sh 2011-06-29 22:29:24 +02:00
Hallvard B Furuseth
63370215dd #define _XOPEN_SOURCE for random() 2011-06-29 22:29:24 +02:00
Hallvard B Furuseth
f88d626ff1 Drop unused vars 2011-06-29 22:29:24 +02:00
Hallvard B Furuseth
95c88a57b1 Warning cleanup: Make parent index unsigned 2011-06-29 22:29:24 +02:00
Hallvard B Furuseth
7c1e5e9540 Warning cleanup: printf(%p, struct*) 2011-06-29 22:29:24 +02:00
Hallvard B Furuseth
5fdbc54d76 Warning cleanup: if(rc = mdb_<func>()) & co 2011-06-29 22:29:24 +02:00
Hallvard B Furuseth
160585b1bc Warning cleanup: Drop unneeded 'unsigned >= 0' 2011-06-29 22:29:24 +02:00
Hallvard B Furuseth
bd2ceeb74e Fix P_INVALID signedness 2011-06-29 22:29:24 +02:00
Hallvard B Furuseth
f42f7f3442 Fix formats, reduce PAGEHDRSZ size_t->unsigned.
NUMKEYS was size_t due to PAGEHDRSZ; printing unsigned int is simpler.

Instead increase PAGEFILL to long, since it involves a multiply.
Possibly uint32_t or something would be sufficient.
2011-06-29 22:29:24 +02:00
Hallvard B Furuseth
aed36f5780 Compact memnrcmp, just for fun 2011-06-29 22:26:32 +02:00
Hallvard B Furuseth
ab0d6fa05e Fix memncmp(): Do not memcmp twice 2011-06-29 22:26:32 +02:00
Hallvard B Furuseth
86b40907d4 DPRINTF(): Fix format, handle non-gcc, simplify.
Add C99-required 1st parameter.  Disable for for non-gcc.  Simplify.
GNU extension #define DPRINTF(<no 1st arg>...) -> GNU ext ,##__VA_ARGS__.
Fix __LINE__ format %ld -> %d.
2011-06-29 22:26:32 +02:00
Hallvard B Furuseth
84659a5bb6 Makefile 2011-06-29 22:26:32 +02:00
Hallvard B Furuseth
f73a992ac9 .gitignore 2011-06-29 22:26:32 +02:00
Howard Chu
2d4f522a73 More cursor tests, fail... 2011-06-29 01:55:53 -07:00
Howard Chu
bddc86c0ee Save a byte in nodesz 2011-06-29 01:55:07 -07:00
Howard Chu
3a62d59c45 meta init 2011-06-28 22:34:53 -07:00
Howard Chu
fe703b0ee0 Log txnID in msgs 2011-06-28 22:05:54 -07:00
Howard Chu
421ee6bb1d Use toggling meta page instead of always appending 2011-06-28 18:40:52 -07:00
Howard Chu
a37195f686 Use shmat for lock region instead of mmap 2011-06-28 14:22:22 -07:00
Howard Chu
f367441b69 Add locking support 2011-06-28 13:46:48 -07:00
Howard Chu
a4c3626267 Fix P_INVALID def 2011-06-28 02:57:02 -07:00
Howard Chu
7d678832a7 Cursor testing 2011-06-28 02:43:49 -07:00
Howard Chu
cd57e9741f Fix splits, cursor navigation, newpage flags 2011-06-28 02:40:46 -07:00
Howard Chu
11e80dae63 Return statistics for a DB
Eventually this will have to grow up to be like BDB db_stat...
2011-06-28 00:16:05 -07:00
Howard Chu
a2de260fb3 Use NOSYNC flag 2011-06-28 00:15:40 -07:00
Howard Chu
0c2610ebdd Use header when some fields are unspecified 2011-06-28 00:15:15 -07:00
Howard Chu
d620d4368a Checkpoint 2011-06-27 22:39:24 -07:00
Howard Chu
7ee3dee647 ITS#6828 set ld_errno on connect failures 2011-06-27 18:43:31 -07:00
Howard Chu
052ac2f64a ITS#6828 silence warning in prev commit 2011-06-24 18:03:11 -07:00
Howard Chu
d0973003f7 ITS#6978 bail out on invalid input 2011-06-23 13:17:08 -07:00
Rich Megginson
5e467e4899 ITS#6862 MozNSS - workaround PR_SetEnv bug 2011-06-21 15:58:49 -07:00
Rich Megginson
d78cf81648 ITS#6975 MozNSS - allow cacertdir in most cases
OpenLDAP built with OpenSSL allows most any value of cacertdir - directory
is a file, directory does not contain any CA certs, directory does not
exist - users expect if they specify TLS_REQCERT=never, no matter what
the TLS_CACERTDIR setting is, TLS/SSL will just work.
TLS_CACERT, on the other hand, is a hard error.  Even if TLS_REQCERT=never,
if TLS_CACERT is specified and is not a valid CA cert file, TLS/SSL will
fail.  This patch makes CACERT errors hard errors, and makes CACERTDIR
errors "soft" errors.  The code checks CACERT first and, even though
the function will return an error, checks CACERTDIR anyway so that if the
user sets TRACE mode they will get CACERTDIR processing messages.
2011-06-21 15:56:55 -07:00
Jan Vcelak
65e163d268 ITS#6947 Handle missing '\n' termination in LDIF input 2011-06-20 18:18:34 -07:00
Howard Chu
9f7d119ce3 Add LDAP_OPT_X_TLS_PACKAGE
to return the name of the underlying TLS implementation
2011-06-10 02:11:26 -07:00
Howard Chu
33f3de77f1 ITS#6828 fix TLS setup with async connect 2011-06-08 18:27:54 -07:00
Hallvard Furuseth
fac36dcba7 ITS#6932: Clean up strange asserts & nearby code.
Mostly found by Klocwork: Issues #213,298-300,331,342-343,374,390,410.
2011-05-05 15:55:29 +02:00
Hallvard Furuseth
06dca7858e ITS#6931 Catch NULL ld for LDAP_OPT_SESSION_REFCNT.
Klocwork issue#111, ldap_get_option().
2011-05-05 14:10:32 +02:00
Hallvard Furuseth
a1cb490d0c ITS#6930 Plug ldapi://too-long-path socket leak.
Klocwork issue#117, ldap_connect_to_path().
2011-05-05 13:52:08 +02:00
Hallvard Furuseth
375bc1ace7 ITS#6929 fclose(password file) on failure.
lutil_get_filed_password() bug; klocwork issue#203.
2011-05-05 13:40:15 +02:00
Howard Chu
9b463b59ec ITS#6898 fix regression from ITS#6625
compound statements need brackets, duh.
2011-04-09 16:55:00 -07:00
Hallvard Furuseth
76b7a83026 Merge missing files from cvs repo 2011-04-04 15:38:46 +02:00
Hallvard Furuseth
86dc9d8a4c ITS#6885: Fix lutil_get_now for !HAVE_GETTIMEOFDAY 2011-03-30 15:51:46 +02:00
Howard Chu
f8a5ce4a6e ITS#6870 move ldif.c and fetch.c from liblutil to libldap 2011-03-24 06:49:04 +00:00
Ralf Haferkamp
41654b51e1 ITS#6870 Revert r1.49 commit to make HEAD build again 2011-03-22 11:17:21 +00:00
Ralf Haferkamp
a6dce60b27 ITS#6870 Reverted last commit 2011-03-18 15:18:42 +00:00
Ralf Haferkamp
061786c8dc More for ITS#6870 2011-03-18 14:51:42 +00:00
Howard Chu
a9701ef5a0 ITS#6870 fix Makefile breakage due to ITS#6194 2011-03-17 16:55:26 +00:00
Howard Chu
31a8460417 ITS#6863, fix crashes in ITS#6714 patch. From Jan Vcelak @ Red Hat 2011-03-16 18:23:26 +00:00
Howard Chu
93da727d86 ITS#6848 Add -w option to wait for DB startup before parent exits 2011-03-01 01:19:37 +00:00
Howard Chu
6f1d218652 ITS#6832 #elif cleanup 2011-02-17 00:36:30 +00:00
Howard Chu
ba30a9ee62 Export pw_string64 as lutil_passwd_string64 2011-02-07 00:46:06 +00:00
Howard Chu
bbecfa740d ITS#6811, more for #6802 PKCS11 fork() handling from Rich Megginson @ Red Hat 2011-01-29 20:40:20 +00:00
Pierangelo Masarati
45d580e941 do not hijack loop counter (ITS#6813; blind fix) 2011-01-29 11:05:08 +00:00
Howard Chu
2d545befdd Cleanup version checking 2011-01-27 21:43:22 +00:00
Howard Chu
d27f458b37 ITS#6802 restart modules for fork() - from Rich Megginson @ Red Hat 2011-01-27 21:38:40 +00:00
Howard Chu
ba70ec8b2c ITS#6791 fix cert usage types/values - from Rich Megginson @ Red Hat 2011-01-27 21:34:35 +00:00
Howard Chu
5224536a8e ITS#6790 fix default cipher suites - from Rich Megginson @ Red Hat 2011-01-27 21:32:39 +00:00
Hallvard Furuseth
9eb5ecba15 ITS#5421 comment ldapoptions vs ldapoptions_prefix 2011-01-20 10:45:14 +00:00
Howard Chu
e542bd5498 ITS#5421 export ldap_debug define in <ldap_log.h> 2011-01-19 21:20:10 +00:00
Pierangelo Masarati
6d8e0d5b3e increment lconn_refcnt so connection does not get closed (ITS#6788) 2011-01-18 23:53:24 +00:00
Hallvard Furuseth
b9609cedf5 Catch ber errors in vc (Verify Credentials) 2011-01-17 13:15:27 +00:00
Hallvard Furuseth
8021cbd8f1 ITS#6738 Catch ber errors in libldap/ldap_sync.c.
Also remove variable tag in ldap_sync_search_intermediate()
and reduce  ber_scanf("tm", &tag, foo)  to  tag=ber_scanf("m", foo).
2011-01-17 12:20:56 +00:00
Hallvard Furuseth
dd640af54f Fix ITS#6672: Do not return LDAP_MUTEX_LOCK().
It has type void.
2011-01-12 14:25:37 +00:00
Hallvard Furuseth
77f78f1d57 vc.c: ber_printf/flatten rc==LBER_ERROR -> rc<0 2011-01-12 14:23:07 +00:00
Howard Chu
6a544b7193 Silence stupid MUTEX_FIRSTCREATE warnings 2011-01-11 21:34:55 +00:00
Pierangelo Masarati
45205bdf70 don't leak reqdata 2011-01-08 12:51:43 +00:00
Kurt Zeilenga
be897b6679 Outline SASL interactive API (no meat) 2011-01-06 18:37:23 +00:00
Hallvard Furuseth
360066784c Re-fix ITS#6764 (check for ber == NULL _before_ using ber) 2011-01-05 13:57:31 +00:00
Kurt Zeilenga
966cef8c9a Happy New Year 2011-01-05 00:42:37 +00:00
Kurt Zeilenga
390ba8c84e VC adjust controls tag 2011-01-04 16:01:07 +00:00
Pierangelo Masarati
e2440ccb00 fix previous commit 2011-01-04 01:02:12 +00:00
Pierangelo Masarati
fdafc6384e fix error handling/arg checking 2011-01-03 23:40:02 +00:00
Kurt Zeilenga
37dcb1d791 Remove authzid parameter from verify credential response.
If client wants authzid, it can ask by adding an Authorization Identity
Request inner control.
2011-01-03 22:05:23 +00:00
Kurt Zeilenga
7f4c7ebc1c Extend Verify Credentials encode/decode per -devel post.
(ldapvc doesn't yet request/handle inner password policy control.
2011-01-03 21:49:26 +00:00
Kurt Zeilenga
e6fd8bfbb0 Remove version from encoding
(previously removed from SASL choices, but should be always absent)
2011-01-03 19:21:03 +00:00
Pierangelo Masarati
59b220506d more about ITS#6645 2011-01-01 20:50:00 +00:00
Pierangelo Masarati
6631d41c16 ber_flatten must return -1 on unmatched "{" "}" (ITS#6764) 2011-01-01 16:06:45 +00:00
Hallvard Furuseth
c9e85af35c ITS#6759: assert;Debug -> Debug;assert 2010-12-30 23:19:02 +00:00
Howard Chu
8018924efd ITS#6741 support Bitstring in ldap_X509dn2bv() 2010-12-30 19:38:57 +00:00
Kurt Zeilenga
46f4813632 Remove dead code. 2010-12-30 17:46:26 +00:00
Pierangelo Masarati
f3dd90a553 s/0/O/ 2010-12-30 15:58:48 +00:00
Pierangelo Masarati
538b582cdc fix perror; removed extra sequence opening (is it needed; if yes, it must also be closed, see #if 0) 2010-12-30 15:51:25 +00:00
Pierangelo Masarati
7dfc54378c s/VCRequest/VCResponse/ 2010-12-30 14:12:26 +00:00
Howard Chu
f697a3ffed ITS#6742 from Rich Megginson @ Red Hat 2010-12-24 00:29:31 +00:00
Howard Chu
1bb648841b ITS#6453 cleanup on LDAP_TIMEOUT 2010-12-23 23:18:41 +00:00
Kurt Zeilenga
6119ad7294 Misc vc updates 2010-12-15 00:59:42 +00:00
Kurt Zeilenga
8a692a0034 Add comment regarding ASN.1 syntax
rm version field
2010-12-14 22:09:50 +00:00
Kurt Zeilenga
25aa65f693 cleanup 2010-12-14 21:14:31 +00:00
Kurt Zeilenga
d3b51f2614 LDAP "Verify Credentials" operation
Client library implementation only
2010-12-14 20:58:02 +00:00
Hallvard Furuseth
5feeec67d7 ITS#6747 Fix LDAP_CONNECTIONLESS Debug(), warnings 2010-12-14 15:06:32 +00:00
Howard Chu
439030a16d ITS#6714 non-blocking support from Richard Megginson @ Red Hat 2010-12-11 04:57:10 +00:00
Howard Chu
0215833bcd Cleanup prev commit 2010-12-11 04:51:21 +00:00
Howard Chu
a2053729f0 ITS#6744 - plug leak 2010-12-11 04:35:01 +00:00
Howard Chu
75bb972859 Partial fix for non-string types in cert DNs. (Need to add explicit support
for Bitstring, maybe a few others.)
2010-12-10 02:05:18 +00:00
Pierangelo Masarati
dc156d7f6e allow to set LDIF max line width (ITS#6645) 2010-12-07 10:14:51 +00:00
Pierangelo Masarati
d5f101f836 typo in comment 2010-12-07 10:11:06 +00:00
Hallvard Furuseth
16b7df8397 ITS#6625 Remove some LDAP_R_COMPILEs 2010-12-06 11:31:58 +00:00
Hallvard Furuseth
5ecd624f50 Fix ITS#6625: mutex-protect ldap_free_connection() 2010-12-06 10:51:55 +00:00
Hallvard Furuseth
7cb9c496bf ITS#6625 concurrency patch cleanup 2010-12-06 10:41:41 +00:00
Hallvard Furuseth
5c186dff4d Silence valgrind's ptrcheck (no real change).
Also removes a bit unnecessary code.
2010-12-06 08:19:40 +00:00
Hallvard Furuseth
a55d333107 ITS#6733: Fix LDAP_MEMORY_DEBUG issues.
ber_memcalloc_x overflow check.  Silence some compiler warnings.
2010-12-03 11:44:22 +00:00
Hallvard Furuseth
a7771fc35a ITS#6732: Clean up ber_errno handling.
Set it after ber_mem(c)alloc_x failure.  Don't set it when not needed.
2010-12-02 13:18:32 +00:00
Pierangelo Masarati
603eec5758 remove #ifdef EAGAIN, EWOULDBLOCK (ITS#6603) 2010-11-24 14:47:46 +00:00
Hallvard Furuseth
bc38ec228b For ITS#5421: Remove unnecessary #include "ldap_log.h" 2010-11-23 15:25:49 +00:00
Hallvard Furuseth
7c29e2c7c5 ITS#6723: Handle EOF in test programs 2010-11-23 12:12:54 +00:00
Hallvard Furuseth
18e348a379 Fix last commit (ITS#6622): Remove non-C90 // comment 2010-11-22 12:28:34 +00:00
Hallvard Furuseth
b75b769471 Fix cyrus.c rev 1.159 for --without-cyrus-sasl:
It modified ldap_int_sasl_bind()'s prototype with but not without SASL.
2010-11-19 12:32:05 +00:00
Howard Chu
1ed2d0a485 ITS#6706 from Rich Megginson @ Red Hat - improve diagnostic messages 2010-11-15 20:47:24 +00:00
Howard Chu
750f7f895b ITS#6705 from Rich Megginson @ Red Hat - only use .0 files in cacertdir 2010-11-15 20:45:47 +00:00
Howard Chu
4c31652ee8 ITS#6704 from Rich Megginson @ Red Hat - use both cacert and cacertdir 2010-11-15 20:44:32 +00:00
Howard Chu
208308d4dd ITS#6703 from Rich Megginson @ Red Hat - reject non-files for cert/key pem files 2010-11-15 20:43:53 +00:00
Howard Chu
c7e19f9b62 ITS#6702 prompts should be on stderr 2010-11-12 04:15:23 +00:00
Howard Chu
f26b5b6692 ITS#6689 from Rich Megginson @ Red Hat 2010-10-29 10:30:30 +00:00
Howard Chu
0f30db1c46 ITS#6625 concurrency patch from Doug Leavitt @ Oracle .com 2010-10-22 21:45:48 +00:00
Howard Chu
abe4a5f83b ITS#6673 GnuTLS hangs if you tell it to shut the read direction. Just
shut the write direction; it will all be irrelevant since the socket
will be closed immediately after.
2010-10-16 12:11:11 +00:00
Howard Chu
845bf30c5b Fix prev commit 2010-10-15 13:53:12 +00:00
Howard Chu
f1a18f4e53 Cleanup prev commit 2010-10-14 03:11:26 +00:00
Howard Chu
120d2ce228 More for prev commit. What about ldap_pvt_sasl_getmechs() ? 2010-10-14 01:47:09 +00:00
Howard Chu
fca72f333b Add ldap_sasl_interactive_bind() 2010-10-14 01:29:32 +00:00
Howard Chu
0b660dc9f6 ITS#6672 mutex cleanup 2010-10-13 08:43:15 +00:00
Howard Chu
1c9853c674 ITS#6669 remove obsolete SunOS4 LWP support 2010-10-12 11:02:59 +00:00
Howard Chu
0890a89c37 ITS#6669 remove obsolete SunOS4 LWP support 2010-10-12 10:26:31 +00:00
Pierangelo Masarati
2b1b37cd4b do not use lutil_atoix() (ITS#6654) 2010-09-21 00:10:44 +00:00
Pierangelo Masarati
9d77d61314 don't use lud_host when NULL (ITS#6653, fixed differently) 2010-09-21 00:05:36 +00:00
Howard Chu
f32f1a45d4 ITS#6639 set sock err to EAGAIN on partial write 2010-09-12 10:09:45 +00:00
Pierangelo Masarati
4601107e4e fix format specifier (ITS#6644) 2010-09-09 16:05:26 +00:00
Pierangelo Masarati
0c0873803d add parsing support for [unsigned] long long (ITS#6622) 2010-08-12 23:32:37 +00:00
Pierangelo Masarati
6c6e187b98 do not alter ld_nextref_proc (ITS#6602) 2010-07-27 00:55:51 +00:00
Pierangelo Masarati
d27038f6b4 fix previous commit 2010-07-26 19:45:36 +00:00
Pierangelo Masarati
c2ab1778a0 check mutex ownership 2010-07-26 19:26:59 +00:00
Howard Chu
512c7ca273 ITS#6585 don't close invalid sockets 2010-07-21 23:41:17 +00:00
Howard Chu
71f062afee ITS#6595 remove unneeded token init code. From Rich Megginson @ RedHat. 2010-07-21 22:57:01 +00:00
Howard Chu
e0cac8a048 ITS#6589 allow self-signed server certs, from Rich Megginson @ RedHat.com 2010-07-14 23:11:34 +00:00
Howard Chu
ce1e201343 add ifdefs for SASL_GSS_CREDS to accomodate ancient Cyrus SASL 2010-06-12 22:10:16 +00:00
Howard Chu
33bfd730a1 ITS#6569 return server's error code on Disconnect 2010-06-02 03:30:19 +00:00
Howard Chu
d3a1be4e3f ITS#6568 plug cldap memleaks 2010-06-02 03:10:39 +00:00
Howard Chu
2dd75cf206 Support option SASL_GSS_CREDS 2010-05-13 06:08:21 +00:00
Howard Chu
73bb167e74 ITS#6541 off-by-one, account for 'Z' being replaced by sign of delta 2010-05-03 05:13:44 +00:00
Ralf Haferkamp
17d61f6e6a Different fix for make -j builds. The previous one caused recompiles
of fetch.c and ldif.c with every make run.
2010-04-29 11:28:13 +00:00
Ralf Haferkamp
df9f2d87a5 Fix parallel builds (make -j) 2010-04-23 16:30:55 +00:00
Pierangelo Masarati
de94fbbd26 fix libraries order to build with --enable-dynamic (more about ITS#6517) 2010-04-22 15:45:41 +00:00
Pierangelo Masarati
6cee32cb28 more about ITS#6194 2010-04-20 05:47:09 +00:00
Pierangelo Masarati
a94b978e9d (blind) fix off-by-one bug (ITS#6223; fixed differently) 2010-04-18 02:42:56 +00:00
Howard Chu
b8013e828c No longer used 2010-04-15 21:29:50 +00:00
Pierangelo Masarati
ee156cfd7a serial can be longer than ber_int_t (ITS#6460) 2010-04-14 20:26:24 +00:00
Kurt Zeilenga
3dadeb3efe happy belated New Year 2010-04-13 22:17:29 +00:00
Pierangelo Masarati
9331182a07 union of operation-specific data in LDIFRecord (ITS#6194, by Rich Megginson) 2010-04-13 07:37:59 +00:00
Howard Chu
68b292d869 Cleanup prev commit 2010-04-12 20:21:13 +00:00
Howard Chu
86c361cdb8 In tmp_rsa_cb, new API is in 0.9.8 inclusive, not exclusive 2010-04-12 03:21:05 +00:00
Howard Chu
1dbefa75be ITS#6432 updated MozNSS context and PEM support 2010-04-12 02:44:28 +00:00
Pierangelo Masarati
d033f680b5 (ITS#6194) Patch - Enhancement - provide LDIF support as libldif 2010-04-12 02:01:55 +00:00
Howard Chu
e5302c2431 ITS#6510 ignore referrals on Bind response 2010-04-09 18:30:29 +00:00
Kurt Zeilenga
abdb6c683f ldap_parse_result should always free result when freeit is true. 2010-03-26 14:05:47 +00:00
Kurt Zeilenga
f967ec3b4e Set res parameter to NULL upon ldap_search_ext_s entry. Likewise for friends.
Note in manual that res parameter should be freed regardless of return value
of ldap_search_ext_s (or friends).
2010-01-29 23:11:24 +00:00
Pierangelo Masarati
797387c4ef skip the serial, whatever its length (ITS#6460) 2010-01-24 19:16:57 +00:00
Howard Chu
127e504015 ITS#6405 in ldap_pvt_gettime, also check for microsecs going backward 2009-11-30 21:47:38 +00:00
Hallvard Furuseth
3aff1b0c0c ITS#6351,6390: s/memrchr/lutil_memrchr/, but try #define lutil_memrchr->memrchr 2009-11-20 20:43:50 +00:00
Howard Chu
61be1d55d3 More for prev commit - only set if URL was provided.
(should URL be mandatory?)
2009-11-18 22:37:02 +00:00
Howard Chu
a248701ed2 ITS#6386 Must init conn->lconn_server 2009-11-18 22:23:14 +00:00
Pierangelo Masarati
a95b8cd488 honor -1 timeout (ITS#6388) 2009-11-18 14:57:52 +00:00
Howard Chu
b99fdb6506 ITS#6283 add missing env options 2009-11-15 21:48:49 +00:00
Howard Chu
9a65f35f2e partially revert prev commit 2009-11-06 02:20:40 +00:00
Howard Chu
86d9e86afd Minor cleanup in strval2str 2009-11-06 01:37:09 +00:00
Hallvard Furuseth
48048c5348 More ITS#6353 - relent a bit: accept terminating NUL byte, which AD can send 2009-11-04 11:17:03 +00:00
Hallvard Furuseth
7b22b22202 ITS#6355: Fix uninitialiezed lso_tmp_rsa_cb() return value 2009-10-30 17:08:57 +00:00
Hallvard Furuseth
989bd54914 For ITS#6353: Catch embedded NULs in BerValues converted to char* strings 2009-10-28 23:00:27 +00:00
Howard Chu
585940984c Fix prev commit, s/errno/err/g 2009-10-27 01:55:45 +00:00
Howard Chu
405c68abf9 For prev commit, check for EINTR/EAGAIN/EWOULDBLOCK 2009-10-26 23:52:55 +00:00
Howard Chu
a05d7015e0 ITS#6327, #6334 take ret=-1/EINTR into account 2009-10-26 23:36:39 +00:00
Howard Chu
30c55952d3 Cleanup prev commit 2009-10-26 19:19:20 +00:00
Howard Chu
1155f5ff20 ITS#6327 fix sb_sasl_generic_write retval for partial writes 2009-10-26 18:49:42 +00:00
Hallvard Furuseth
3a688d8d59 ITS#6348: Fix inverted LBER_USE_DER test in ber_put_seqorset() since rev 1.73 2009-10-23 20:39:54 +00:00
Hallvard Furuseth
068cf1c701 ITS#6344: return failure on failure in ber_put_ostring()/ber_put_bitstring() 2009-10-21 12:41:34 +00:00
Hallvard Furuseth
7e107de4d9 Fix comment describing BerElement.ber_usertag 2009-10-21 11:41:44 +00:00
Hallvard Furuseth
47617b033c Cleanup - macroize magic constant (ITS#5909) 2009-10-21 11:31:59 +00:00
Ralf Haferkamp
8fcdc29405 In case of certificate verification failures include failure reason
into the error message (openssl only)
2009-09-30 16:25:23 +00:00
Howard Chu
e0431681ad On OpenSSL 0.9.8 and newer, use RSA_generate_key_ex since
RSA_generate_key is deprecated
2009-09-25 23:31:24 +00:00
Pierangelo Masarati
4b4db7b529 keep compatibility with slapd's gmtime_mutex (ITS#6262) 2009-09-08 23:21:21 +00:00
Howard Chu
d0a410b212 Tweak MozNSS include path 2009-08-29 03:56:25 +00:00
Howard Chu
2ba0e44ad1 ITS#6278 PEM support for MozNSS from rmeggins@redhat.com, with header cleanups 2009-08-29 03:41:53 +00:00
Pierangelo Masarati
0b44f1fbcf silence warnings 2009-08-21 17:06:22 +00:00
Pierangelo Masarati
ba2bddafbd copy username, much like other string-valued options (more about ITS#6257) 2009-08-19 21:46:07 +00:00
Pierangelo Masarati
a846dad6fb cleanup previous commit 2009-08-19 13:10:30 +00:00
Pierangelo Masarati
9abaf38d1f silence warnings 2009-08-19 12:23:27 +00:00
Pierangelo Masarati
8776630509 address signedness issue 2009-08-19 12:06:04 +00:00
Hallvard Furuseth
f0d775609b More ITS#6262: Also define ldap_pvt_gmtime_[un]lock if localtime_r is missing 2009-08-19 10:10:31 +00:00
Pierangelo Masarati
637182b8f4 fix previous commit 2009-08-19 00:12:39 +00:00
Pierangelo Masarati
f3cdcadf89 wrap gmtime for reentrancy (ITS#6262) 2009-08-18 23:48:15 +00:00
Pierangelo Masarati
5c916588b8 fix previous commit 2009-08-18 19:09:12 +00:00
Pierangelo Masarati
98a8b74d53 expose SASL_USERNAME when it makes sense (EXTERN needs work, much like SASL_SSL) (ITS#6257) 2009-08-18 18:47:56 +00:00
Howard Chu
b87553684a More for prev commit 2009-08-14 20:02:08 +00:00
Howard Chu
9b764c3f9e Fix prev commit again, IPPROTO_TCP is the documented correct approach 2009-08-13 21:35:38 +00:00
Howard Chu
f5bad5673b Fix prev commit, it was not Linux-only as it claimed to be. 2009-08-13 20:55:04 +00:00
Hallvard Furuseth
b0e6e73d1c ITS#6215 cleanup: Export ber_skip_element() to complement ber_peek_element() 2009-08-12 22:13:50 +00:00
Hallvard Furuseth
3e20bda971 Trying again: No need to maintain ber->ber_usertag except at ber_printf "!" 2009-08-12 22:12:15 +00:00
Hallvard Furuseth
791035d93f Fix last commit: cast strcasecmp unsigned char* to char* 2009-08-07 21:46:25 +00:00
Hallvard Furuseth
3802aa5483 More ITS#6215: Catch malformed elements in ber_get_stringbvl().
Do not use ber_<first/next>_element(), which have no error return.
2009-08-07 19:26:11 +00:00
Hallvard Furuseth
bc20500e62 More ITS#6215: Define and use ber_tag_and_rest() and ber_<peek/skip>_element() 2009-08-07 19:15:26 +00:00
Hallvard Furuseth
95fbdcab4e More ITS#6215: Fix wrong fix in rev 1.121 2009-08-07 16:04:25 +00:00
Howard Chu
e229b7c398 In session_chkhost get the last CN, not the first. 2009-08-07 11:59:42 +00:00
Hallvard Furuseth
455c49ba3e Simplify struct bgbvr and ber_get_stringbvl(), preserving behavior. 2009-08-04 21:11:38 +00:00
Howard Chu
d479db53e0 Minor cleanup 2009-07-31 03:26:03 +00:00
Howard Chu
403ee0b62e Fix, reqcert == ALLOW should ignore cert verification failures 2009-07-31 01:51:34 +00:00
Howard Chu
3f2101198b ITS#6239 use our own hostname checking for MozNSS 2009-07-31 01:32:51 +00:00
Hallvard Furuseth
02e165258c Might help ITS#6145: change while to do-while, to make visible that the
loop saving malloced data is run at least once.
2009-07-31 00:05:32 +00:00
Howard Chu
d4f2a06887 Check for CN length match as well in chkhost 2009-07-30 21:52:09 +00:00
Hallvard Furuseth
19b8065922 More ITS#6215: Fix va_arg integer types for ber_scanf "bei" & ber_printf "BX" 2009-07-29 23:03:10 +00:00
Hallvard Furuseth
8b3bb91e93 More ITS#6215: Fix ber_scanf(,"mMvVW",) cleanup on error:
Parse args correctly and free up memory.
Also set some lengths=0 and remove unneeded ptr==NULL tests before frees.
2009-07-29 22:38:19 +00:00
Hallvard Furuseth
886520f193 More ITS#6215: Free data to the memory context used to allocate it 2009-07-29 22:10:45 +00:00
Hallvard Furuseth
b6bad3e995 More ITS#6215:
Reject indefinite-length format in ber_skip_tag().  localize *len.
Reject broken and too large bitstrings in ber_get_bitstringa().
Simplify a number of functions somewhat - no functionality changes.
Remove unnecessary tests and ber_tag updates after ber_skip_tag().
2009-07-29 21:47:54 +00:00
Hallvard Furuseth
29aa1d07c7 For ITS#6215: No need to maintain ber->ber_usertag except at ber_printf "!" 2009-07-29 17:21:54 +00:00
Hallvard Furuseth
4bed42ae5a For ITS#6215: Do not expose obsolete Seqorset. Note ber_write(,,,nonzero) is gone. 2009-07-29 17:07:52 +00:00
Hallvard Furuseth
36d2dc034d More ITS#6215 -
Speedup & less memory allocation:
  Simplify the work to encode tag, length, integer/enum, sequence/set.
  Drop struct seqorset and allocations of it.  Replace BerElement.ber_sos.
  Drop ber_write(,,,nonzero) support. Callers, if any, need to be rewritten.
  Make ber_log_sos_dump() and ber_sos_dump() stubs, they could no longer work.
Fix ber_write() buffer overrun after ber_start_seqorset().
Check overflow and max sizes, e.g. for functions returning int size.
Some cleanup, and handwaves in the direction of supporting CHAR_BIT>8.
Add/fix comments and a few descriptive types/macros.
2009-07-29 16:49:42 +00:00
Hallvard Furuseth
53f884ac1d Remove useless asserts that will be re-assert()ed before the variable is used 2009-07-29 15:06:28 +00:00
Hallvard Furuseth
12a6f3e055 ITS#6215: Fix buffer overrun and write through NULL pointer 2009-07-29 14:57:09 +00:00
Howard Chu
e0bcb7b571 ITS#4643 never use native getpass(), it's deprecated/unsafe 2009-07-22 06:34:37 +00:00
Howard Chu
91dc4501d4 Add VLV Error 2009-07-13 13:13:38 +00:00
Howard Chu
72e319bd02 ITS#5892 return -1 from ldif_read_record on error 2009-07-07 22:30:55 +00:00
Hallvard Furuseth
bbe015f65b ITS#6197 - normalize & speed up ldap_err2string/ldap_perror():
Use same result code -> string mapping for both, removing ldap_int_error():
- Classify unknown error codes as API/extension/etc like _err2string did.
- Pass all strings through _(), i.e. the optional gettext, as _perror did.

Also use a switch instead of linear search for the code->string mapping.
Hopefully the compiler will optimize that.  Though the extra gettext,
if anyone uses it, probably counters that speedup.
2009-07-07 20:05:09 +00:00
Howard Chu
159461bfc8 ITS#5696 des_set_key -> des_set_key_and_parity 2009-07-03 22:19:52 +00:00
Howard Chu
8680c13c5f Cleanup ciphernum 2009-07-03 02:06:24 +00:00
Howard Chu
d95bc8d2d8 Acknowledge richm 2009-07-02 23:19:44 +00:00
Howard Chu
4b8485c47a ITS#5696 Additional MozNSS support from rmeggins@redhat.com 2009-07-02 23:10:23 +00:00
Howard Chu
de91bde800 ITS#6192 add all digests. Also stop using SSLeay-compatible function
names, we're only concerned with OpenSSL these days.
2009-07-01 23:46:36 +00:00
Howard Chu
093fed660d ITS#6188 add stub for ldap_pvt_thread_pool_retract() 2009-06-25 23:15:38 +00:00
Hallvard Furuseth
671bed5270 Cleanup & slight speedup (no real change):
Remove '#if 0 / broken code / #endif.  Rearrange pool_wrapper() to avoid
decrement-increment(ltp_active_count) when more tasks available.
2009-06-12 20:46:36 +00:00
Hallvard Furuseth
461cb6b7ca Update last commit: avoid LDAP_STAILQ_REMOVE in ldap_pvt_thread_pool_retract 2009-06-12 19:32:53 +00:00
Hallvard Furuseth
13cbd433bd Cast getpeername() arg from struct sockaddr_un* to struct sockaddr* 2009-06-11 16:21:52 +00:00
Howard Chu
39c9b1ab25 Fix prev commit, note *task* not *thread* ... 2009-06-11 05:02:58 +00:00
Howard Chu
23783a9164 Add ldap_pvt_thread_pool_retract() to cancel pending threads 2009-06-11 04:46:04 +00:00
Ralf Haferkamp
5725d5d6e9 Introduce options to configure tcp-keepalive settings per connection. These
settings only work on Linux and are ignore when not supported (see
discussion on -devel)
2009-05-06 13:14:36 +00:00
Hallvard Furuseth
4b01f4b23a ITS#6080 again: simplify ber_strnlen, don't use strnlen, revert _GNU_SOURCE 2009-05-01 03:10:25 +00:00
Hallvard Furuseth
4e3f04edc3 Fix previous fix: Don't #ifdef HAVE_STRNLEN before portable.h #defines that 2009-05-01 02:17:28 +00:00
Hallvard Furuseth
a59f93f32f Update previous commit: #define _GNU_SOURCE if needed for strnlen() 2009-05-01 02:11:42 +00:00
Pierangelo Masarati
85b47ab0e7 define and use ber_strnlen() (ITS#6080); please regenerate configure and include/portable.hin 2009-04-29 11:38:31 +00:00
Pierangelo Masarati
99fe30b326 (nearly blind) fix for NULL in TLS error message (ITS#6079) 2009-04-29 11:31:39 +00:00
Ralf Haferkamp
eec889f6d9 more warning fixes 2009-04-24 09:48:08 +00:00
Hallvard Furuseth
7434318a17 ITS#5464, #5666 Update last change: Conflicted with compiler flag -D_GNU_SOURCE 2009-04-16 18:02:01 +00:00
Howard Chu
9e7b5d8f19 ITS#5464, #5666 define _GNU_SOURCE 2009-04-15 07:36:56 +00:00
Howard Chu
44f91f1464 ITS#6041 Windows opendir/closedir issues (from ITS#5408...) 2009-04-11 04:22:27 +00:00
Howard Chu
e223d0b124 ITS#6053 must use gnutls_x509_privkey_init() 2009-04-11 03:53:26 +00:00
Howard Chu
94ab6a31b2 ITS#6038 revert prev commits, ITS rejected 2009-03-27 11:07:42 +00:00
Rein Tollevik
c8cf2fc47a ITS#6038: Write slapadd progress meter to stdout. 2009-03-26 22:50:54 +00:00
Howard Chu
d39bd12e9f Skip redundant PACKETS logging 2009-03-13 23:10:37 +00:00
Howard Chu
d8e3b4e83e ITS#6005 crypt salt_format must use ber_memfree 2009-03-09 01:28:00 +00:00
Howard Chu
02b71d58ec ITS#6005 strings returned to slapd must use ber_mem* 2009-03-08 00:11:25 +00:00
Howard Chu
5d74bea520 ITS#6005 librewrite must use the same mem allocators as slapd 2009-03-07 23:21:26 +00:00
Howard Chu
0ba084d8b0 More cleanup 2009-03-05 09:15:02 +00:00
Howard Chu
c3f8e67615 Tweak prev commit 2009-03-05 09:13:26 +00:00
Howard Chu
9bc829dbef ITS#5991 build cert chain, GnuTLS doesn't do it for us 2009-03-05 08:04:49 +00:00
Howard Chu
54ed3779d6 ITS#5992 trust X509v1 CA certs 2009-03-05 04:35:49 +00:00
Howard Chu
bd312123d6 ITS#5980 clear res_matched after successfully chasing referral 2009-03-03 17:57:24 +00:00
Howard Chu
ee5b6762ae ITS#5980 - find_connection should match URLs with empty hostname 2009-03-03 17:56:44 +00:00
Howard Chu
a1861fd162 ITS#5849 patch was wrong, don't X509_free session cert 2009-03-02 17:43:38 +00:00
Howard Chu
c3cff40c1c ITS#5981 fix GnuTLS TLSVerifyClient try 2009-03-02 03:01:41 +00:00
Howard Chu
e5e9191aeb ITS#5976 check for cert/DN 2009-02-25 21:48:10 +00:00
Howard Chu
64884e7c6c Don't call NSS_Shutdown if someone else init'd the library 2009-02-25 10:14:00 +00:00
Pierangelo Masarati
0d6e859846 fix ldap namespace (part of ITS#5974) 2009-02-24 21:09:41 +00:00
Pierangelo Masarati
ed97e96944 re-fix ITS#5916 2009-02-20 01:07:00 +00:00
Quanah Gibson-Mount
3b743a3b79 Revert part of last commit
Remove erroneous comment
2009-02-17 21:47:09 +00:00
Quanah Gibson-Mount
83cb8883a6 More for ITS#5955
Also special case rand file bits that are OpenSSL only
2009-02-17 21:39:50 +00:00
Quanah Gibson-Mount
331a57fa37 ITS#5955 2009-02-17 21:32:09 +00:00
Pierangelo Masarati
040f945d36 fix misc warnings 2009-02-15 21:59:16 +00:00
Howard Chu
f38d2df19b Add comments about ITS#3134, #5938, RFC4513 for posterity. This
file will be moving to the Attic...
2009-02-11 01:35:56 +00:00
Howard Chu
07e79f26a4 Revert prev commit 2009-02-10 21:29:56 +00:00
Howard Chu
b886c2ad8a ITS#5937 fix ancient IPv6 typo 2009-02-10 13:27:22 +00:00
Pierangelo Masarati
2b95e7d288 partially addresses an issue with ITS#5931 2009-02-10 12:44:12 +00:00
Howard Chu
80c6ea52ea ITS#5853 restructure wait4msg / try_read1msg again. Consolidate
the two try_read1msg cases into one, bump refcnts to prevent
lconn's from being freed prematurely.
2009-02-10 09:51:31 +00:00
Howard Chu
fbf42baefa ITS#5934 fix NULL pointer deref 2009-02-09 21:14:46 +00:00
Howard Chu
4bc8cb6336 ITS#5928 hide all ldap_pvt_tls APIs when !HAVE_TLS 2009-02-08 03:25:48 +00:00
Howard Chu
bc486f123d Fix spinner in prev commit 2009-02-05 10:07:20 +00:00
Howard Chu
d0515c4017 ITS#5922 with namespace changes 2009-02-05 09:38:07 +00:00
Howard Chu
ff8838aa28 ITS#5920 restore old HAS_TLS test 2009-02-04 08:56:04 +00:00
Howard Chu
2b08e96b53 ITS#5916 - externally callable functions are ldap_pvt, not ldap_int. 2009-02-02 21:14:34 +00:00
Pierangelo Masarati
0ded1f16d5 Allow alias dereferencing in search C API; use new API in proxy backends (ITS#5916) 2009-01-31 10:27:07 +00:00
Hallvard Furuseth
ff08c4194c Cleanup - macroize magic constant (ITS#5909) 2009-01-30 14:14:22 +00:00
Howard Chu
7aa5ae49ca Modular TLS 2009-01-27 01:01:41 +00:00
Howard Chu
08905d6792 ITS#5789 again 2009-01-26 21:08:55 +00:00
Howard Chu
f59ce2b9a1 ITS#5462 add randfile support for gcrypt 1.4 2009-01-26 03:41:27 +00:00
Howard Chu
2558951251 ITS#5887 add native support for cipher suites for GnuTLS >= 2.2.0 2009-01-26 03:21:16 +00:00
Howard Chu
f9fd0f0cc4 ITS#5655 for new structure 2009-01-26 02:16:46 +00:00
Howard Chu
4dff3e6807 Switch to using modular TLS code, single-implementation version 2009-01-26 02:06:45 +00:00
Howard Chu
988fb232d2 ITS#5896 don't return immediately on Intermediate responses 2009-01-24 07:18:35 +00:00
Howard Chu
cf1558659b ITS#5655 TLS_PROTOCOL_MIN from Philip Guenther 2009-01-24 03:34:49 +00:00
Kurt Zeilenga
4af9eb9715 Update copyright notices 2009-01-22 00:40:04 +00:00
Ralf Haferkamp
af79710c4d Fixed typo 2008-12-12 10:08:07 +00:00
Pierangelo Masarati
7681642bcf fix LDAP deref control response; fix tool response handling; add lutil_memcopy() for API uniformity (more about ITS#5768) 2008-12-11 23:17:08 +00:00
Ralf Haferkamp
5977f20127 Avoid locking up slapd when paused during shutdown (ITS#5841), reverting
r1.81
2008-12-09 10:57:15 +00:00
Howard Chu
187efdad6c ITS#5849 free peer cert after retrieving DN 2008-12-05 09:00:24 +00:00
Howard Chu
5a8954f9de ITS#5768 - add deref. 2008-11-25 04:43:38 +00:00
Howard Chu
a6933cae27 Fix prev commit 2008-11-21 05:15:20 +00:00
Howard Chu
86b5de38be ITS#5812 add SASL_NOCANON / -N option 2008-11-21 03:30:15 +00:00
Howard Chu
0bd6ce1062 ITS#4750 only read LDAP_CONF_FILE if geteuid() != getuid() 2008-11-21 02:15:47 +00:00
Pierangelo Masarati
2eeefd4985 check for bogus params to an LDAP routine (ITS#5817) 2008-11-18 16:27:50 +00:00
Hallvard Furuseth
c7002ffed5 ITS#5815: Fix typo "#elif defined( MAXHOSTNAMELEN". 2008-11-16 22:52:56 +00:00
Howard Chu
36124c715a ITS#5789 GNUtls - allow CN matches against IP addresses 2008-11-04 11:21:52 +00:00
Howard Chu
24078323e2 ITS#5739 fix for ITS#4879 was too eager about IPv6 detection 2008-11-03 15:44:49 +00:00
Hallvard Furuseth
8690650121 ITS#4467: Fix ptr += snprintf buffer overflow tests (made out-of-range ptr).
Also avoid a buf[BUFSIZ] initialization.
2008-10-24 13:11:10 +00:00
Pierangelo Masarati
6bedf74c41 tag optional stuff 2008-10-22 23:38:09 +00:00
Pierangelo Masarati
91e14ca638 add support for (experimental) dereference control (ITS#5768); need to re-run autoconf (and autoheader?) 2008-10-22 22:19:49 +00:00
Pierangelo Masarati
2b95616768 missing $OpenLDAP$ header 2008-10-22 21:57:28 +00:00
Hallvard Furuseth
677a11ad26 ITS#5748: tavl_find3(NULL,,,) returned undefined data 2008-10-22 19:39:42 +00:00
Ralf Haferkamp
e8c1147b77 reset ld->ld_errno to avoid returning error codes of previously API calls (ITS#5762) 2008-10-21 16:17:41 +00:00
Hallvard Furuseth
08852acb80 Warning cleanup: signed meets unsigned, remove assert(unsigned >= 0). 2008-10-17 23:24:48 +00:00
Hallvard Furuseth
b464a790b8 Fix Debug(%d, scred->bv_len or -1) -> Debug(%ld, (long) scred->bv_len or -1L).
Cast sasl_encode() arg from unsigned char* to char*.
Warning cleanup: signed meets unsigned.
2008-10-17 20:46:44 +00:00
Hallvard Furuseth
1c85cf3c88 Warning cleanup: signed meets unsigned. ber_flatten2() returns -1 on
error, not LBER_ERROR.
2008-10-13 08:44:54 +00:00
Hallvard Furuseth
03a729673c Warning cleanup: signed meets unsigned. 2008-10-13 08:13:27 +00:00
Howard Chu
9078381252 Cleanup unused defs 2008-10-09 11:33:49 +00:00
Howard Chu
4294664aad ITS#5369 SASL/GSSAPi refactoring from Stefan Metzmacher <metze@samba.org>
and Rafal Szczeniak <mimir@samba.org>, with minor cleanups
2008-10-09 11:10:28 +00:00
Howard Chu
f7484f78e6 ITS#5369 SASL/GSSAPi refactoring from Stefan Metzmacher <metze@samba.org>
and Rafal Szczeniak <mimir@samba.org>, with minor cleanups
2008-10-09 10:51:28 +00:00
Howard Chu
b2432fdbf2 Add SASL_MECHLIST option to retrieve list of known SASL mechs 2008-10-09 09:28:39 +00:00
Howard Chu
c51252633b Accept X-starttls for prev commit 2008-10-07 03:13:00 +00:00
Howard Chu
809548c88b Handle StartTLS in URL extensions 2008-10-07 03:06:44 +00:00
Howard Chu
99186a90e0 Fix prev commit 2008-09-30 22:22:31 +00:00
Howard Chu
721264db13 ITS#5720 fix ldap_utf8_strchr arguments 2008-09-30 05:05:53 +00:00
Ralf Haferkamp
0f4f9c9c13 Avoid "label at end of compound statement" error of newer gcc 2008-09-19 12:58:00 +00:00
Pierangelo Masarati
43ae03fc10 silence warnings 2008-09-16 14:10:02 +00:00
Pierangelo Masarati
548a9f39ba fix '<hex>'H conversion issue; did not look at decimal yet (ITS#5699) 2008-09-13 18:46:50 +00:00
Howard Chu
178141d7ec ITS#5668 avoid overflows in Windows microsecond computation 2008-09-11 01:51:02 +00:00
Pierangelo Masarati
4aa9edf03e cleanup round of memory handling (either check results or use ch_* calls; ITS#5691) 2008-09-09 19:58:47 +00:00
Howard Chu
cc94023c98 ITS#5677 s/TLS_CRL/TLS_CRLFILE/ 2008-09-02 22:10:44 +00:00
Howard Chu
0dbeb1d87b Pass LDAPURLDescs to connect functions instead of host/port 2008-08-15 22:53:47 +00:00
Howard Chu
46049f1d13 Fix prev commit 2008-08-15 10:53:11 +00:00
Howard Chu
baad2b249d Connect callbacks need error recovery checks 2008-08-15 10:23:29 +00:00
Howard Chu
80d1dba901 Add LDAP_OPT_CONNECT_CB connection callbacks 2008-08-14 04:54:32 +00:00
Howard Chu
a225b02f17 Modular TLS support, proof of concept. tls2.c would replace tls.c,
but I'm leaving tls.c intact for now.
2008-08-13 16:18:51 +00:00
Hallvard Furuseth
4028c83c67 ber_decode_oid(): Fix typo in comment 2008-08-06 13:36:53 +00:00
Hallvard Furuseth
4f935126c4 ITS#5604: Normalize lutil_progname(): strip .exe from Windows executable names 2008-07-22 10:16:11 +00:00
Howard Chu
7d479302c0 ITS#5615 return success on Solaris 10 2008-07-15 20:07:36 +00:00
Howard Chu
27fc008761 Protect errno values from Debug 2008-07-02 16:43:51 +00:00
Howard Chu
aebcd93721 ITS#5580: Revert prev commit, failed on byte-at-a-time input. Different
approach used here.
2008-07-02 01:33:15 +00:00
Howard Chu
7e4ba700f1 ITS#5585 GnuTLS key strength is in bytes, we expected bits 2008-06-30 23:32:35 +00:00
Howard Chu
14f1138ab5 ITS#5580 fix length decoding, verified with PROTOS 2008-06-27 02:36:41 +00:00
Howard Chu
9ef6cc3cd4 ITS#5577 GnuTLS CRL result >0 is success 2008-06-24 20:14:30 +00:00
Pierangelo Masarati
7e3c9a07e9 add client API for assertion control (ITS#5560) 2008-06-14 17:49:47 +00:00
Howard Chu
99160d7c20 ITS#5542 fix loop iterator 2008-05-30 17:29:47 +00:00
Howard Chu
19d7e565f0 ITS#5318 drop invalid msgids, cleanup msgid logging 2008-05-28 01:19:43 +00:00
Howard Chu
96550c885d ITS#5518,#5525 cleanup ld_defconn if it was freed 2008-05-23 09:53:42 +00:00
Howard Chu
ce27143ce7 ITS#5519 add missing stubs 2008-05-20 11:23:19 +00:00
Hallvard Furuseth
1fc3f1c130 ITS#5507: Set FD_CLOEXEC (close on exec) flag on LDAP file descriptors 2008-05-15 20:56:41 +00:00
Howard Chu
8810ef26b6 ITS#5458 fix error message for missing closing paren 2008-04-10 18:36:15 +00:00
Hallvard Furuseth
c55a06254f ITS#5436: make htons() port number unsigned 2008-03-18 21:12:00 +00:00
Hallvard Furuseth
00be565264 ITS#5407 cleanup (make pool_pause & pool_pausecheck wrappers for handle_pause) 2008-03-10 13:21:24 +00:00
Howard Chu
a287573d2d ITS#5407 more checks for pool pausing 2008-03-08 23:51:07 +00:00
Howard Chu
50cb332390 Use memctx more consistently 2008-03-04 07:24:05 +00:00
Hallvard Furuseth
7859063553 ITS#5364 cleanup
Fix rev 1.91 patch: Reset ltp_pending_count when flushing ltp_pending_list.
Remove flush_pending_list() again and the now-unnecessary 2nd call to it.
Help the compiler a little.
Move ltp_work_list in case it makes a difference for caching.
Move mutex unlock in pool_destroy() to make concurrency debuggers happier.
2008-02-11 15:49:52 +00:00
Hallvard Furuseth
650aaee3a5 ITS#5364, reduce work with ltp_mutex locked:
Negate ltp_open_count when paused, avoids an ltp_pause test in pool_submit().
2008-02-10 18:16:44 +00:00
Hallvard Furuseth
8afd0b05c1 ITS#5364: introduce ltp_work_list, drop 1st ltp_pause loop in pool_wrapper(). 2008-02-10 17:55:13 +00:00
Hallvard Furuseth
fe86a1cbe5 ITS#5364: maintain value ltp_vary_open_count 2008-02-10 17:38:32 +00:00
Hallvard Furuseth
ee73fca523 ITS#5364, reduce work with ltp_mutex locked:
Replace ltp_state with ltp_finishing.  Drop state
LDAP_INT_THREAD_POOL_STOPPING, flush pending list instead.
ltp_max_pending = default value instead of 0, and negative when finishing.
2008-02-10 17:28:20 +00:00
Hallvard Furuseth
6dd87bb83f ITS#5364, thread pool efficiency:
Add ldap_pvt_thread_pool_pausing(): pause check for slapd without locking.
Make counters int instead of long; INT_MAX pending tasks is enough.
Nitpick cleanup: goto failure instead of if() to not-failure in _submit().
2008-02-10 16:15:30 +00:00
Howard Chu
68316527c4 ITS#5341 GnuTLS ciphersuite parsing 2008-02-10 11:58:16 +00:00
Pierangelo Masarati
b0b387e9ed ITS#5338 2008-01-25 00:00:30 +00:00
Howard Chu
5cf0b5175b ITS#5324 don't use %n 2008-01-11 06:39:50 +00:00
Hallvard Furuseth
cd63a0c43b Warning cleanup: function ptr <=> void* at ldap_pvt_thread_pool_<set/get>key() 2008-01-11 06:07:43 +00:00
Hallvard Furuseth
2660518c5d ldap_int_bisect_find(): Silence harmless "may be used uninitialized" warning 2008-01-10 18:34:40 +00:00
Hallvard Furuseth
ac914f96a0 #include <signal.h> for pthread_kill() 2008-01-10 16:24:07 +00:00
Ralf Haferkamp
5a143df3ce Corrected memory allocation for cookie (ITS#5315) 2008-01-09 13:28:09 +00:00
Kurt Zeilenga
c890c96d13 Happy New Year (belated) 2008-01-08 00:19:56 +00:00
Pierangelo Masarati
30f401c628 rename ldap_pvt_thread_pool_setkey_x() to ldap_pvt_thread_pool_setkey() (as part of ITS#5309) 2008-01-07 21:35:03 +00:00
Hallvard Furuseth
4a2cda3cff ITS#5309: complete the addition of ldap_pvt_thread_pool_setkey_x() 2008-01-07 20:04:46 +00:00
Howard Chu
f41322d8ef Fix prev commit 2008-01-03 08:25:58 +00:00
Pierangelo Masarati
859c6d03c0 fix to ITS#5304 2008-01-02 17:30:40 +00:00
Pierangelo Masarati
622c4d3884 new ldap_pvt_thread_pool_setkey API 2007-12-29 18:14:54 +00:00
Howard Chu
cd673c2ff2 ITS#5300, reject substring filters with empty values 2007-12-29 02:32:22 +00:00
Quanah Gibson-Mount
afcc7d9e83 ITS#4982 libldap_r threaded library linking 2007-12-21 22:18:35 +00:00
Howard Chu
4c9af232d2 Cleanup spaces 2007-12-20 02:46:59 +00:00
Howard Chu
8ddc2dd773 ITS#5291, more for rev 1.79 search timeouts 2007-12-20 02:46:13 +00:00
Howard Chu
33c0301b25 Better fix to prev commit 2007-12-17 07:11:24 +00:00
Hallvard Furuseth
e4ffd33f1a Declare enough buffer space for out-of-range URL port numbers 2007-12-15 23:36:22 +00:00
Pierangelo Masarati
20f2548c82 fix declarations of buffers for numeric strings; other related cleanup 2007-12-15 15:23:23 +00:00
Howard Chu
da53cd0c40 uid/gid are unsigned 2007-12-15 02:28:45 +00:00
Howard Chu
f02d481426 ITS#5263 fix return code from parse_sasl_bind_result() 2007-12-15 02:06:12 +00:00
Hallvard Furuseth
24d9258888 Remove unused variables 2007-12-06 17:23:23 +00:00
Howard Chu
304520c113 Add memctx to lutil_str2bin() 2007-12-02 19:11:41 +00:00
Howard Chu
34a503960d Fix tmpbuf size 2007-12-01 20:28:18 +00:00
Howard Chu
6ffbb9b04d Fix dirsep chars before opening file 2007-12-01 19:19:20 +00:00
Howard Chu
3e05442795 Cleanups from Hallvard 2007-12-01 19:18:43 +00:00
Howard Chu
d4baa7dc87 Fix carries 2007-12-01 11:14:40 +00:00
Howard Chu
fab334d5f1 Fix prev. Once more, with feeling. 2007-11-30 22:26:23 +00:00
Howard Chu
88ea88feeb Fix prev cleanup. 2007-11-30 18:32:42 +00:00
Howard Chu
55f6387214 Cleanup prev commit 2007-11-30 18:25:45 +00:00
Howard Chu
14573820ec Fix rev 1.49 2007-11-30 18:10:22 +00:00
Kurt Zeilenga
ac7762996e Reverse last commit (made by mistake) 2007-11-27 20:49:47 +00:00
Kurt Zeilenga
9c970bdb21 OpenLDAP Devel README
This software was obtained from the development branch (HEAD) of
	the OpenLDAP Software Repository.  This copy is likely already
	not current, the development branch changes frequently.  These
	changes include code implementing experimental features and
	unproven bug fixes.  Please do NOT redistribute copies of the
	development branch.

	The OpenLDAP Developer's FAQ is available at:
		<http://www.openldap.org/faq/index.cgi?file=4>

	Client developers seeking a suitable development platform
	should use "release" or "stable" versions.
		<http://www.openldap.org/software/>

Contributing
	See <http://www.openldap.org/devel/contributing.html> for how to
	contribute code or documentation to OpenLDAP.  Use the Issue Tracking
	System <http://www.openldap.org/its/> to submit contributions.
	While you are encouraged to coordinate and discuss the development
	activities on the openldap-devel@openldap.org mailing list prior
	to submission, it is noted that contributions must be submitted
	using the Issue Tracking System to be considered.

---
$OpenLDAP: pkg/ldap/README,v 1.45 2007/03/10 17:03:58 kurt Exp $

This work is part of OpenLDAP Software <http://www.openldap.org/>.

Copyright 1998-2007 The OpenLDAP Foundation.
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted only as authorized by the OpenLDAP
Public License.

A copy of this license is available in the file LICENSE in the
top-level directory of the distribution or, alternatively, at
<http://www.OpenLDAP.org/license.html>.

OpenLDAP is a registered trademark of the OpenLDAP Foundation.
2007-11-27 20:48:38 +00:00
Pierangelo Masarati
7aeac21440 silence warnings 2007-11-23 12:47:53 +00:00
Howard Chu
b710993764 Fix dec to bin for zero value 2007-11-21 05:08:08 +00:00
Howard Chu
beff004e1e Fix dec to bin negative number handling 2007-11-21 01:49:09 +00:00
Howard Chu
9c8cf1bc04 Fix typo in dec to bin conversion 2007-11-20 18:14:17 +00:00
Howard Chu
2701782cba ITS#5224 add any necessary socket libraries 2007-11-12 07:59:54 +00:00
Howard Chu
a354d38fea Fix typo in prev commit 2007-10-25 06:50:43 +00:00
Howard Chu
183ff5120c Use thread-specific data in pool_context() 2007-10-25 06:48:44 +00:00
Howard Chu
20c4e016fa Added native thread-specific data support 2007-10-25 06:42:40 +00:00
Howard Chu
9bc4ebd12c ITS#5197 add stub for ldap_pvt_thread_pool_query() 2007-10-23 21:14:11 +00:00
Howard Chu
8713229bba Fix liblutil link order 2007-10-19 04:46:41 +00:00
Howard Chu
13c6ef95ce ITS#5194 zero out pool when destroying 2007-10-18 21:13:43 +00:00
Howard Chu
6775e25ba3 In pool_resume don't touch the condvar if the pool is tearing down. 2007-10-18 06:52:54 +00:00
Howard Chu
bdac543b3b Cleanup debug calls 2007-10-18 01:35:07 +00:00
Howard Chu
5418b51643 Quiet request logging 2007-10-10 05:17:49 +00:00
Howard Chu
cbb6f3bd50 ITS#5100 ldap_control_dup - OID must be non-NULL 2007-10-09 01:38:50 +00:00
Howard Chu
a1a63bead0 ITS#4188 check for pool pause every 64 entries. (probably should make
this number tunable.)
2007-10-08 01:15:49 +00:00
Pierangelo Masarati
6715f737b7 minor cleanup 2007-10-06 15:40:55 +00:00
Howard Chu
65db0bf8eb ITS#3864 use sasl_ssf_t where expected 2007-10-06 14:55:53 +00:00
Howard Chu
4d58197880 Add lutil_str2bin() for arbitrary length decimal-to-binary conversion 2007-10-01 06:50:19 +00:00
Pierangelo Masarati
d50645fc0a dispose of connection when server down (related to ITS#5127) 2007-09-29 11:24:39 +00:00
Pierangelo Masarati
27e747ad48 fix format 2007-09-29 11:22:31 +00:00
Pierangelo Masarati
3f9df357e8 don't leak file descriptors (coverity) 2007-09-03 16:18:17 +00:00
Howard Chu
8a532879cd More for ITS#5117 - only use libfetch for non-file: URLs 2007-09-02 03:43:58 +00:00
Howard Chu
ec78507682 ITS#5117 try to log a message if chasing an include: fails. Since
ldif_read_record() doesn't distinguish errors from EOF, this is kind
of futile.
2007-09-02 02:16:52 +00:00
Howard Chu
670febf7d5 ITS#5105 from Alexey Melnikov @ isode 2007-08-24 21:58:20 +00:00
Pierangelo Masarati
b9e2fd0dd6 ldap_control*_dup() is no longer private; add ldap_pvt_put_control 2007-08-24 12:29:33 +00:00
Pierangelo Masarati
25d46e7578 rework controls API 2007-08-22 22:35:14 +00:00
Pierangelo Masarati
95dd8de586 fix and cleanup 2007-08-22 20:55:54 +00:00
Kurt Zeilenga
0025d7fa1f Fix last commit. 2007-08-22 19:33:28 +00:00
Kurt Zeilenga
e6699ce023 Password policy request control should have no control value.
Extend ldap_create_control() to supporting creating such.
2007-08-22 19:26:55 +00:00
Pierangelo Masarati
b0d2063d92 client side of draft-wahl-ldap-session 2007-08-21 23:52:03 +00:00
Pierangelo Masarati
145e6fc1f8 fix or comment Calysto findings 2007-08-21 10:52:16 +00:00
Pierangelo Masarati
ca1aed557b make lutil_uuidstr_from_normalized() return the length of the string 2007-08-17 15:08:47 +00:00
Pierangelo Masarati
403704b7bc move uuid normalized to string to liblutil 2007-08-17 12:42:52 +00:00
Pierangelo Masarati
6df2df130b don't leak in case of error 2007-08-17 09:47:14 +00:00
Pierangelo Masarati
4bc19cbbb9 cleanup tools 2007-08-16 09:22:07 +00:00
Hallvard Furuseth
973a2b41b7 Make LDAP_MEMORY_DEBUG a bitmask. #define LDAP_MEMORY_DEBUG_ASSERT. ITS#4990. 2007-07-24 20:53:23 +00:00
Hallvard Furuseth
17afb33c19 ITS#5010: OID encode/decode fixes and paranoia. #define LBER_OID_COMPONENT_MAX. 2007-07-23 12:57:23 +00:00
Howard Chu
2b67f4face ITS#5056 fix chain_tail processing 2007-07-20 21:28:04 +00:00
Ralf Haferkamp
6ab46208bc Allow utf-8 in AD-Canonical Names 2007-07-13 10:12:27 +00:00
Hallvard Furuseth
e1d42189fa ITS#4990: Fix LDAP_MEMORY_DEBUG and LDAP_MEMORY_DEBUG=0 compilation.
Declare ber_int_meminuse.  Fix '#if' -> '#ifdef' LDAP_MEMORY_DEBUG.
2007-07-04 22:55:24 +00:00
Hallvard Furuseth
2ea3d3f621 Ensure ltp_max_pending >= 0; negative values confused pool_query().
Remove accidentally added #define LDAP_MAX_PENDING from last commit.
2007-07-03 11:34:14 +00:00
Hallvard Furuseth
bc8631183c Remove bogus pause wait near end of pool_wrapper(). Add/fix comments. 2007-07-01 16:44:59 +00:00
Pierangelo Masarati
848ea293a3 cleanup 2007-06-19 22:59:53 +00:00
Pierangelo Masarati
7e12342b3b add sub-second result timeout accuracy (for which is which; ITS#4963 with changes) 2007-06-14 22:35:41 +00:00
Hallvard Furuseth
90fe4bd927 ITS#4983: Partly revert tls_thread_self() paranoia from rev 1.154: Only
require that ldap_pvt_thread_t can be cast to u.long and is not wider.
ITS#5010: In ldap_X509dn2bv(), catch error return from ber_decode_oid().
2007-06-12 23:57:08 +00:00
Hallvard Furuseth
ed0c9d223a Rename thread contexts to tasks, leaving user contexts the only context.
Remove ldap_int_thread_ctx_t.ltc_next.al (active list) left over from rev 1.75.
2007-06-10 23:58:38 +00:00
Hallvard Furuseth
c60f7c1fd2 For ITS#4943: Axe thread pool semaphore code 2007-06-10 23:37:49 +00:00
Hallvard Furuseth
25a7729a12 int -> ber_socklen_t for getsockname() 2007-06-10 20:35:30 +00:00
Hallvard Furuseth
5d083f3859 int -> ber_socklen_t for getsockopt() 2007-06-10 20:34:05 +00:00
Hallvard Furuseth
28da797a3a ITS#5007: Wrap code using MSG_WAITALL in #ifdef MSG_WAITALL. 2007-06-09 23:43:02 +00:00
Hallvard Furuseth
bfdb026fab ITS#5007: Remove void* pointer arithmetic, that's a gcc extension. 2007-06-09 23:41:36 +00:00
Hallvard Furuseth
3750520f6f Fix HP-UX crash: Replace socklen_t with ber_socklen_t from configure. ITS#4629. 2007-06-09 23:35:20 +00:00
Howard Chu
469a45a62f ITS#4992 fix cldap 2007-06-08 09:40:17 +00:00
Howard Chu
431f6fd810 ITS#4955 fix typo in referral chasing 2007-06-08 09:17:00 +00:00
Hallvard Furuseth
b327239618 Remove ltp_active_list. It became unneeded when rev 1.24 added thread_keys[].
Tighten loop in pool_pause(): Omit unneeded ltp_pcond signals since rev 1.64.
Fix comment.
2007-06-04 22:18:01 +00:00
Hallvard Furuseth
b3e4305131 Simplify: Remove tid_zero, thread_keys[].id and ldap_int_main_tid.
Not needed after ldap_int_thread_userctx_t.ltu_id was added and
_pool_wrapper took care not to update thread_keys[] during pauses.
Fix bogus thread_keys[].ctx comment.
2007-06-01 15:24:19 +00:00
Hallvard Furuseth
1b890689b1 Add comments. Constify tid_zero. Shut up gcc -Wswitch. if(!tpool)->assert(). 2007-05-31 19:47:38 +00:00
Hallvard Furuseth
1f3e6110b9 Add variable ldap_int_has_thread_pool, assert(at most one pool); 2007-05-31 17:15:54 +00:00
Hallvard Furuseth
9a9d216526 Shut up gcc -Wformat 2007-05-31 17:07:57 +00:00
Hallvard Furuseth
1b15fa9c6e In pool_submit():
- Move problematic mutex_unlock()-mutex_lock() into the unused #ifdef
  LDAP_PVT_THREAD_POOL_SEM_LOAD_CONTROL and add a FIXME comment inside.
- Delay ltp_starting--; until pool_wrapper().  Nonzero value could otherwise
  no longer be exposed when !defined LDAP_PVT_THREAD_POOL_SEM_LOAD_CONTROL.
2007-05-31 12:47:24 +00:00
Hallvard Furuseth
45389c0341 Preserve key order when deleting, so context_reset will free last keys first. 2007-05-31 12:08:50 +00:00
Hallvard Furuseth
7c6b26a68f Make get_thread_info() static. Handle ldap_pvt_thread_pool_t = int (not ptr). 2007-05-30 22:20:20 +00:00
Hallvard Furuseth
101b6b9363 Fix --without-tls (ITS#4975). Enable certificate matching. 2007-05-20 22:48:21 +00:00
Hallvard Furuseth
c47e444698 libldap/tls.c calls CRYPTO_set_id_callback(ldap_pvt_thread_self), which
causes ldap_pvt_thread_self to be called with the wrong prototype.

That can cause OpenSSL to use a garbage value, e.g. if the unsigned
long it expects takes two words but ldap_pvt_thread_t is an int.

I'm fixing it in HEAD now and also provoking an error if unsigned
long cannot hold a ldap_pvt_thread_t.  Otherwise it can silently
compile to broken code.  Maybe the latter should go in configure,
but since OpenSSL presumably breaks anyway if that fails I don't
see much point at this time.
2007-05-20 20:02:52 +00:00
Hallvard Furuseth
eb351d9e33 ITS#4972: $LDAP_THREAD_DEBUG, detached threads, debug_already_initialized().
Also plug a memory leak, set state vars even when unused for the sake of
debugging, and tweak some readability issues & data types.
2007-05-18 17:49:38 +00:00
Hallvard Furuseth
6f3cf907b8 Readability patch: ERRVAL() macro for pthreads < 7 vs. >= 7 return values. 2007-05-18 15:28:09 +00:00
Hallvard Furuseth
f906a99eec Only define x509_cert_get_dn() when HAVE_GNUTLS. Remove unused variable. 2007-05-18 15:10:15 +00:00
Howard Chu
d9a43aee44 Fix GNUtls acknowledgement, initial work by Matt Backes. Sponsored by
The Written Word and Stanford University.
2007-05-14 23:35:36 +00:00
Ralf Haferkamp
6ee5d7d3da make openssl builds working again 2007-05-14 12:19:32 +00:00
Howard Chu
423f20c915 GNUtls - ignore free of NULL ctx 2007-05-13 09:43:41 +00:00
Howard Chu
5f36d32596 Don't NUL-terminate bervals during DN parsing 2007-05-13 09:37:37 +00:00
Howard Chu
47a8f3213b Merged GNUtls support into main tls.c 2007-05-13 00:15:27 +00:00
Pierangelo Masarati
7601a1f3fb fix read off by one (spotted by valgrind) 2007-05-12 12:38:09 +00:00
Hallvard Furuseth
e509d3ed9a Comment fixes.
Corrected rev 1.67 cvs comment: ltu_key[] is NULL-terminated _when not full_.
2007-05-11 18:48:13 +00:00
Howard Chu
236e5f50b3 Added ciphersuite support 2007-05-10 21:49:43 +00:00
Howard Chu
c51fd6c96e Add LDAP_OPT_X_TLS_CRLFILE, peer cert verification for GNUtls 2007-05-10 19:43:28 +00:00
Hallvard Furuseth
810b2389dc Since we only have LDAP_MAXTHR thread_keys, allow max LDAP_MAXTHR
threads per pool, even when ltp_max_count <= 0 ("unlimited").
Keep ltp_max_count in range [0, LDAP_MAXTHR].
2007-05-09 23:25:03 +00:00
Hallvard Furuseth
f0a1511422 Make ldap_int_thread_userctx_t.ltu_key[] a proper NULL-terminated array.
(setkey/getkey expected that, but purgekey could set a NULL in the middle.)
Added some checks for input key!=NULL.

API changes, need review - I'm not sure what's indented here:
- setkey(data=NULL, kfree!=NULL) searched as if intended to reset
  the key, but updated by setting the key.  Now always updates.
- setkey(key=<not found>, data=NULL) could return either success or
  failure.  Now succeeds iff (data == NULL && kfree == NULL).
2007-05-09 22:59:04 +00:00
Hallvard Furuseth
f5da908c49 thread_keys is a (poor) open-addessed hash table, but it lacked a
"deleted item" mark.  Add DELETED_THREAD_CTX.
Also improve the hash function a bit, and make the hash unsigned.
2007-05-09 22:22:44 +00:00
Hallvard Furuseth
8a92825225 Protect thread_keys[] with ldap_pvt_thread_pool_mutex, except in
ldap_pvt_thread_pool_purgekey() which may only be called during pauses.

Thus, also wait for pauses to finish before accessing thread_keys in
ldap_int_thread_pool_wrapper().  This may prevent pending tasks from
being started when a pause had been requested, which seems to have been
possible.  If that was a feature, we can split ltp_pause==1 in 2 states:
in pause (causes wait), and pause requested.

Also move 'thread_keys[].id = <thread id>' from pool_submit to
pool_wrapper.  Until pool_wrapper set the ctx as well, thread context
lookup would just return NULL anyway.
2007-05-09 21:38:28 +00:00
Hallvard Furuseth
92afeb8ef7 Replace state LDAP_INT_THREAD_POOL_PAUSING with member ltp_pause,
so a pause will work during states FINISHING and STOPPING.

Add missing waits and signals, and move waits in pool_wrapper().
Replace if(test) with while(test) when waiting for the multi-purpose
condition variable ltp_cond.
2007-05-09 19:53:25 +00:00
Hallvard Furuseth
9e9bf22a64 ITS#4943:
In ldap_pvt_thread_pool_submit(), when backing out of thread creation:
  ltp_pending_count '++' -> '--'.  Signal if there are no more threads.
In ldap_int_thread_pool_wrapper():
  if() -> assert() where false would result in eternal loop.
2007-05-09 19:34:49 +00:00
Hallvard Furuseth
bb890724d4 Don't complain if detached threads exit after ldap_debug_thread_destroy(). 2007-05-09 19:21:08 +00:00
Hallvard Furuseth
7b7b137832 Cast Debug(%p) pointer argument to void* 2007-05-09 18:38:10 +00:00
Hallvard Furuseth
bbc719ca56 ITS#4948: '#if <undefined macro>' -> '#ifdef' warning cleanup 2007-05-09 18:17:10 +00:00
Howard Chu
b7cfa97817 coverity error, u->lud_scheme is mandatory 2007-05-08 14:13:18 +00:00
Howard Chu
4803e9ba67 Revert prev commit, unnecessary 2007-04-23 14:27:07 +00:00
Howard Chu
7eb1f62f9d ITS#4935 SASL_MAX_BUFF_SIZE should be 2^24 - 1 2007-04-23 14:21:48 +00:00
Pierangelo Masarati
f29a4e140e don't assert(0); apparently, other responses may result from a simple bind (but log them, at least; ITS#4924) 2007-04-11 08:57:41 +00:00
Howard Chu
28493e554c ITS#4912 fix typo in prev commit 2007-04-05 00:16:17 +00:00
Hallvard Furuseth
545b5555fb ber_decode_oid(), ber_encode_oid(): cast bv_val to unsigned char* 2007-04-04 17:51:10 +00:00
Howard Chu
848be16aaf ITS#4879 fixes for url parse/unparse 2007-04-03 03:27:24 +00:00
Howard Chu
b596ae0adf ITS#4875 ignore zero-length st_size 2007-04-03 01:40:52 +00:00
Howard Chu
c80d5f970a ITS#4899 fix for keys not getting cleared 2007-04-01 11:52:51 +00:00
Howard Chu
c49812bf6f ITS#4893 back to pipes... 2007-03-26 12:44:11 +00:00
Howard Chu
867fb2fd9f ITS#4893 just send the client socket, not a pipe descriptor. 2007-03-25 15:20:50 +00:00
Howard Chu
c6df30118f ITS#4893 fix prev commit 2007-03-25 12:18:06 +00:00
Howard Chu
7426ab07fc ITS#4893 define LDAP_PF_LOCAL_SENDMSG in <ac/socket.h> if a message must
be sent to transmit client credentials. Buffer the message data.
2007-03-25 04:40:22 +00:00
Howard Chu
724784e6cb Use AC_MEMCPY 2007-03-25 04:31:34 +00:00
Howard Chu
49d708fae3 Preliminary GNUtls support. gnutls.c will merge back into tls.c later. 2007-03-23 23:47:07 +00:00
Howard Chu
b213588f95 Add options for ber_get_stringbv() to omit NUL-terminator, to allow
non-destructive in-place parsing
2007-03-23 15:27:38 +00:00
Howard Chu
f2a02b90ed Fix TLS default for clients 2007-03-23 12:47:35 +00:00
Howard Chu
a4f879f9d2 ITS#4880 s/HAVE_POSIX_TERMIOS/HAVE_TERMIOS_H/ 2007-03-23 01:10:58 +00:00
Howard Chu
9fe8f72310 Add DER OID encoder/decoder 2007-03-20 15:10:16 +00:00
Howard Chu
23ba7dfa12 Add ber_skip_data() to help positioning in structured BER data 2007-03-20 12:29:06 +00:00
Pierangelo Masarati
1429b49d1e apparently, time_t is unsigned in some systems 2007-03-12 21:04:01 +00:00
Kurt Zeilenga
0a1301bc6b Add support for uuid_generate/uuid_unparse 2007-03-02 07:36:23 +00:00
Pierangelo Masarati
687ed8861a don't play with URL list if connect(2) is asynchronous 2007-02-21 22:26:26 +00:00
Kurt Zeilenga
b3c4004042 Remove extrananous space in DN (in comment) 2007-02-19 23:39:01 +00:00
Kurt Zeilenga
7beb587a4b Cleanup last commit 2007-02-15 01:42:23 +00:00
Kurt Zeilenga
a9aeb858fe Needs <ac/time.h> 2007-02-15 01:20:46 +00:00
Howard Chu
8db4bd2cc9 Coverity error, uninit'd rc 2007-02-13 11:13:14 +00:00
Howard Chu
1f635b8bcf ITS#4707 added new ldap_init_fd() API 2007-02-12 04:20:24 +00:00
Howard Chu
ee2001ea4b Note mutex protection requirements 2007-02-11 13:45:39 +00:00
Howard Chu
6cbf65642a Move duplicate timestamp detection into lutil_gettime() 2007-02-11 13:42:29 +00:00
Howard Chu
ced581bfa3 Cleanup extraneous debug 2007-02-11 13:01:32 +00:00
Howard Chu
a1aa7c284d Revert to original ldap_get_option( TIMEOUT ) behavior 2007-02-06 23:02:47 +00:00
Howard Chu
7ac06970e6 Don't let timestamps go backward 2007-02-06 04:48:35 +00:00
Howard Chu
75d0b4ee97 Require non-NULL input for timeout options 2007-02-05 20:38:25 +00:00
Howard Chu
0c542682b1 Timeouts should not be malloc'd 2007-02-05 20:32:44 +00:00
Howard Chu
b984564dbd Handle timeouts from ldap_result() 2007-02-05 12:30:40 +00:00
Howard Chu
b4c2cf250d Fairly sure this is what the TIMEOUT option should always have been for 2007-02-05 10:10:24 +00:00
Howard Chu
e0ed944be3 Added ber_bvarray_dup_x() 2007-02-05 04:31:38 +00:00
Howard Chu
4b1bb81452 Add lutil_gettime() returning structured time with microseconds. Use
microseconds in CSNs. Omit microseconds from modifyTImestamp...
2007-02-02 23:10:30 +00:00
Pierangelo Masarati
5afd693a6d remove unused code 2007-02-02 12:38:32 +00:00
Howard Chu
de46a75158 Keep HAVE_POLL functionality inside its #ifdefs 2007-02-02 12:29:21 +00:00
Howard Chu
f97f109483 Fix prev commit again 2007-01-28 02:12:29 +00:00
Howard Chu
99a8deb160 ITS#4821 partially revert prev patch 2007-01-27 18:40:02 +00:00
Howard Chu
977bd839cc Calling setkey() with NULL data and kfree should erase the key. 2007-01-25 11:53:09 +00:00
Howard Chu
2298595ea3 Free thread keys in reverse order of allocation 2007-01-25 11:13:15 +00:00
Howard Chu
52a7af8230 ITS#4815 get_option for TLS Cipher Suite was not implemented 2007-01-24 23:38:26 +00:00
Howard Chu
26a47e7bd0 Framework for loadable mapper implementations 2007-01-12 23:20:17 +00:00
Hallvard Furuseth
cb27c61010 avoid nonconst* = const* assignment in ldif_open_url(). 2007-01-11 12:06:31 +00:00
Hallvard Furuseth
d16754c81b Delete unused variables. 2007-01-11 12:04:22 +00:00
Howard Chu
f1784a54e6 ITS#4648, alternate fix 2007-01-10 08:52:07 +00:00
Pierangelo Masarati
7ee7699bb9 more on ITS#4799 2007-01-10 01:18:52 +00:00
Howard Chu
bec25494fe ITS#4799 remove kerberos / kbind references 2007-01-10 00:20:42 +00:00
Howard Chu
9ece06c8f5 ITS#4799 remove all references to kbind 2007-01-09 23:48:28 +00:00
Pierangelo Masarati
9b5ea6a205 honor network timeout even when doing full async 2007-01-07 22:05:33 +00:00
Pierangelo Masarati
aa3c9bad3e First cut to truly async connect:
- after connect(2), if async the connection is in "connecting" state
	- the first time a request is sent, "connecting" conns are polled
		- in case of success, the request is sent
		- in case still connecting, LDAP_X_CONNECTING is returned;
		  clients are expected to retry later
	- the "async" behavior must be explicitly enabled by setting
	  the LDAP_OPT_CONNECT_ASYNC option

"local" connections need work
2007-01-07 19:20:46 +00:00
Pierangelo Masarati
5513ac6335 import of LDAP Sync client API 2007-01-06 18:28:32 +00:00
Pierangelo Masarati
c310cfd837 minor cleanup 2007-01-06 18:27:34 +00:00
Pierangelo Masarati
5ce13437de unsolicited responses shouldn't necessarily end the connection 2007-01-05 15:23:39 +00:00
Pierangelo Masarati
8cb4f6b348 fix previous commit 2007-01-04 19:26:59 +00:00
Pierangelo Masarati
d4324d5813 fix \& improve previous commit 2007-01-04 18:33:45 +00:00
Pierangelo Masarati
4b75dd6be3 implement client-side handling of RFC 4511 unsolicited responses and "Notice of Disconnect" 2007-01-04 15:01:22 +00:00
Kurt Zeilenga
da6d9eb046 happy new year 2007-01-02 20:00:42 +00:00
Pierangelo Masarati
dd94ddba57 don't leave dependencies on liblutil in libldap :) 2006-12-17 22:04:25 +00:00
Howard Chu
28a1868127 Eliminate redundant checks in try_read1msg 2006-12-14 10:02:14 +00:00
Howard Chu
157069fe91 ITS#4545 better fix. this code still needs cleaning up. 2006-12-14 06:58:57 +00:00
Howard Chu
6350fad63f ITS#4545 when referral chasing is off, complete the request 2006-12-13 00:36:12 +00:00
Pierangelo Masarati
5a000a9b91 fix warnings after previous commit 2006-12-04 00:11:12 +00:00
Pierangelo Masarati
a76b702d4c fix request/result abandon 2006-12-03 20:56:25 +00:00
Howard Chu
7540751392 ITS#4723 add CRYPTO_set_id_callback 2006-11-30 06:37:12 +00:00
Howard Chu
2ccecba836 URL with authority spec must use absolute path 2006-11-27 19:03:59 +00:00
Howard Chu
e7be7301c2 allow file: URLs without authority spec. 2006-11-27 18:59:46 +00:00
Howard Chu
9446f8554b define LDIF_MAXLINE instead of using BUFSIZ 2006-11-27 18:59:04 +00:00
Pierangelo Masarati
72e586ba36 revert previous commit; disable RESTART from ldap.conf 2006-11-13 23:51:52 +00:00
Pierangelo Masarati
3c1df853e4 fix endless loop in canceling child requests; cleanup 2006-11-12 14:22:24 +00:00
Howard Chu
7eb3d25a5b Silence warning in prev commit 2006-11-10 10:42:39 +00:00
Howard Chu
b42d93f24f ITS#3755 silence strict-aliasing warnings 2006-11-10 10:39:54 +00:00
Howard Chu
8e48a3c317 ITS#4726 call ldap_pvt_tls_init() in init_ctx() to make sure initialization
is done
2006-11-09 23:00:38 +00:00
Howard Chu
961f0ba113 Fix strval2strlen end-of-string check. Otherwise passing in a string
without string[len] == '\0' causes assert in ldap_dn2bv_x.
2006-11-08 23:57:02 +00:00
Pierangelo Masarati
4f351fbd90 fix build with thread debugging 2006-11-05 09:22:53 +00:00
Pierangelo Masarati
dc871de33d cleanup prvious commit; log number of abandoned requests waiting for response... 2006-11-02 19:11:18 +00:00
Howard Chu
60a25c72ba ITS#4724 revert prev commit, better fix. 2006-10-30 18:44:52 +00:00
Howard Chu
29fbd00272 ITS#4724 fix _uccase_map parameters 2006-10-30 07:54:39 +00:00
Pierangelo Masarati
71bcd4a4b6 s/ldap_int_discard/ldap_pvt_discard/ 2006-10-28 18:13:12 +00:00
Pierangelo Masarati
57259831c6 fix message (ITS#4717) 2006-10-28 16:19:08 +00:00
Kurt Zeilenga
dbaf7c5c25 More ldapbis cleanup 2006-10-28 04:47:58 +00:00
Kurt Zeilenga
ba2d7ec007 More LDAPBIS cleanup 2006-10-28 03:27:01 +00:00
Kurt Zeilenga
4587e053e7 Misc LDAPbis comment update
Remove unnecessary ISOC notices
2006-10-27 19:37:04 +00:00
Pierangelo Masarati
5ee5709993 fix build without threads (ITS#4721) 2006-10-26 22:03:12 +00:00
Pierangelo Masarati
6416d83372 add ldap_int_discard(); use it in proxies (ITS#4717) 2006-10-22 20:31:41 +00:00
Kurt Zeilenga
60e1237c4e Parse txn failed msgid 2006-10-20 06:46:38 +00:00
Pierangelo Masarati
968da1cb14 add LDAP_OPT_DIAGNOSTIC_MESSAGE; replace deprecated option names 2006-10-14 17:04:17 +00:00
Pierangelo Masarati
387c21c7dd apply slightly revised patch for SO_KEEPALIVE (ITS#4708) 2006-10-14 12:42:33 +00:00
Pierangelo Masarati
3dc7480b8b minor cleanup 2006-10-09 21:18:36 +00:00
Pierangelo Masarati
799f2b1449 I hate code duplication, but don't require functions from liblutil in libldap.so 2006-10-08 17:14:04 +00:00
Howard Chu
e16058d857 TS#4635 CR LF is also a valid line separator 2006-10-07 22:18:15 +00:00
Pierangelo Masarati
2f964def8a add support for VERSION, TIMEOUT and NETWORK_TIMEOUT in ldap.conf 2006-09-26 02:34:36 +00:00
Pierangelo Masarati
a9a4a14d80 use AC_LINE_MAX 2006-09-26 00:33:44 +00:00
Pierangelo Masarati
7ed909045f document the LDAP builtin map in librewrite (ITS#4602) 2006-09-24 17:50:48 +00:00
Pierangelo Masarati
0ccdccd0a7 further cleanup 2006-09-24 17:26:17 +00:00
Pierangelo Masarati
5385d13bf8 fix previous commit 2006-09-23 16:10:07 +00:00
Pierangelo Masarati
0d05846dc8 fix potential double free in case of error 2006-09-23 15:43:55 +00:00
Pierangelo Masarati
6a6aa424bc improve functionality of LDAP map: allow protocol version 2006-09-23 13:04:55 +00:00
Pierangelo Masarati
ccdb52ed47 fix way long standing bug in args parsing 2006-09-23 12:33:03 +00:00
Pierangelo Masarati
43f7706c49 add URL parsing test tool 2006-09-23 11:44:16 +00:00
Kurt Zeilenga
62f4745bfc ITS#4679 cleanup
Note: the caller is expected to pass in a valid LDAP handle.  If not,
the assert will trigger to let him know his code is broken.
2006-09-21 20:02:55 +00:00
Pierangelo Masarati
67f3fd8078 monitor __ALL__ thread parameters 2006-09-14 18:55:02 +00:00
Howard Chu
deea7b5530 MSVC compatibility 2006-09-14 08:06:49 +00:00
Howard Chu
2cc356588e dirent emulation for MSVC 2006-09-14 08:01:05 +00:00
Howard Chu
57c329a3af ITS#4606 errno is not per-thread on WIN32, always use WSAGet/SetLastError
(with notable exceptions: ignore tests for EINTR which winsock never sets)
2006-09-14 06:35:34 +00:00
Pierangelo Masarati
4481502313 use a more reasonable max line length (ITS#4669) 2006-09-12 20:41:37 +00:00
Pierangelo Masarati
ae20e41b70 fix outdated comments 2006-09-06 12:04:52 +00:00
Pierangelo Masarati
d12f5fbcb5 add scope helpers 2006-09-06 12:04:33 +00:00
Pierangelo Masarati
06b491a446 better function name 2006-09-01 16:21:20 +00:00
Pierangelo Masarati
b45c0c881d keep count of requests in use 2006-09-01 14:00:58 +00:00
Pierangelo Masarati
517ae66152 don't risk dangling pointers 2006-09-01 13:59:55 +00:00
Pierangelo Masarati
d1e00eef03 don't use deprecated functions 2006-09-01 13:57:37 +00:00
Pierangelo Masarati
cb3248f173 cleanup 2006-09-01 10:01:36 +00:00
Pierangelo Masarati
82f7a0a3bd re-fix ITS#4405 (really start from the first conn) 2006-08-18 17:12:16 +00:00
Pierangelo Masarati
b03afa868c skip host="" and port=0 (ITS#4610) 2006-08-05 17:08:40 +00:00
Howard Chu
a7870943f7 Fix TLS CTX ref counting 2006-07-02 22:38:01 +00:00
Kurt Zeilenga
3f9201e95b some LDAP ASN.1 updates from 4511/4526 2006-06-15 05:18:06 +00:00
Pierangelo Masarati
8f1c5c4df5 improve previous commit 2006-06-15 01:47:39 +00:00
Pierangelo Masarati
8b76e15d28 fix ber_bvreplace() in case dst is NULL and src is empty 2006-06-15 01:42:25 +00:00
Pierangelo Masarati
b5e33f8de9 don't search past end of berval 2006-06-13 20:34:02 +00:00
Pierangelo Masarati
41ceb4af9d don't risk using dangling pointers when looping thru connections (ITS#4405) 2006-06-13 18:00:33 +00:00
Howard Chu
15853f1e74 ITS#4583 use mutex around SSL_accept() 2006-06-08 19:35:42 +00:00
Pierangelo Masarati
7a3ff8ddc2 count requests and responses in logs 2006-05-27 10:17:34 +00:00
Howard Chu
40f818daef Fix tavl_delete for two-node trees 2006-05-25 05:03:56 +00:00
Howard Chu
2d97c1cae1 ITS#4549 add tavl_find3() to return closest match 2006-05-19 15:24:16 +00:00
Pierangelo Masarati
6b889b0a8a s/fprintf/Debug/ (ITS#4553); lock ld_conn_mutex before accessing conn(s) 2006-05-18 00:59:13 +00:00
Pierangelo Masarati
86b566f029 cleanup 2006-05-18 00:37:56 +00:00
Pierangelo Masarati
2b29cf4909 fix rev 1.125 commit 2006-05-17 22:13:39 +00:00
Pierangelo Masarati
6a2c344217 typo in comment 2006-05-14 12:14:08 +00:00
Howard Chu
25f81a48e6 Add SSL failure reason to TLS: can't connect message. 2006-05-13 00:29:28 +00:00
Howard Chu
ff40a705da ITS#4541 better fix 2006-05-12 06:33:27 +00:00
Howard Chu
da0ec66ceb ITS#4541 refine commit for #4524 2006-05-12 06:16:32 +00:00
Howard Chu
dc96eca891 ITS#4536 set chain_tail after sorting messages 2006-05-11 09:07:08 +00:00
Howard Chu
7b10f413d9 Fix ITS#4533 don't destroy input request 2006-05-10 15:01:50 +00:00
Pierangelo Masarati
373ded8d24 add URI list resorting feature (ITS#4524) 2006-05-06 16:15:25 +00:00
Pierangelo Masarati
af1f87b96d ldap_pvt_runqueue_next_sched() may return a pointer to data that's freed by task run earlier (ITS#4517) 2006-05-02 20:32:37 +00:00
Howard Chu
f269301ab9 Add ldap_pvt_thread_pool_tid() 2006-05-02 00:56:42 +00:00
Hallvard Furuseth
dc5c8409f6 Add missing "static" to last commit 2006-05-01 15:23:16 +00:00
Hallvard Furuseth
19b3812643 Introduce ldap_debug_thread_wrapper() to notice threads that exit by returning 2006-04-30 01:15:57 +00:00
Howard Chu
5b8a74590b Fix tpool_shutdown, don't remove pool from list since pool_destroy
already does it.
2006-04-29 22:31:58 +00:00
Howard Chu
7026d5219f Fix adjust_count, missing break 2006-04-29 22:31:33 +00:00
Howard Chu
e1ec64aaee rmutex_lock etc.: caller supplies thread id 2006-04-28 21:39:38 +00:00
Howard Chu
0a7808fbad Added recursive mutex implementation 2006-04-28 20:12:45 +00:00
Howard Chu
70de4ee403 Fix lutil_parsetime parsing fractional seconds 2006-04-28 01:26:05 +00:00
Pierangelo Masarati
8242166888 print the correct search base when taken from ldaprc (ITS#4504) 2006-04-25 22:23:00 +00:00
Pierangelo Masarati
716d1770a2 fix strtoul() odd interface 2006-04-25 15:46:44 +00:00
Pierangelo Masarati
a42367ae3a cleanup 2006-04-24 17:20:13 +00:00
Pierangelo Masarati
77e7acc4f9 cleanup; make sure no spurious error code slip thru 2006-04-24 12:12:14 +00:00
Howard Chu
478ae2346e PPOLICY_ERROR is primitive, not constructed 2006-04-22 00:23:44 +00:00
Howard Chu
68b374dd4a Fix EXPIRE/GRACE ber tags 2006-04-21 23:47:53 +00:00
Hallvard Furuseth
02bb67044b Cleanup since last patch (remove unused label) 2006-04-13 22:13:42 +00:00
Howard Chu
eb0c92c7df Return rc for tls_init_def_ctx 2006-04-11 20:35:37 +00:00
Pierangelo Masarati
dfc8e7f6b8 better fix for ITS#4483 2006-04-09 22:29:42 +00:00
Pierangelo Masarati
623a7a9fe2 Berlement already freed in ber_flush 2006-04-08 17:43:53 +00:00
Pierangelo Masarati
23c620a637 don't leak a BerElement 2006-04-08 17:34:00 +00:00
Pierangelo Masarati
74b6ab9029 more cleanup 2006-04-08 11:01:19 +00:00
Howard Chu
571ac24b33 Fix destruct sequencing 2006-04-07 02:41:58 +00:00
Howard Chu
056b193ed7 Don't implicitly inherit the default SSL_CTX, tls.c:alloc_handle will
set it explicitly and handle its refcount.
2006-04-07 01:52:32 +00:00
Howard Chu
9693c800bf Free/decrement SSL_CTX refcount when (re)setting it 2006-04-07 01:15:56 +00:00
Pierangelo Masarati
301394c28d allow a build tree different from the source tree (ITS#4480) 2006-04-07 01:15:07 +00:00
Howard Chu
7709d4d89e Bump SSL_CTX refcount whenever it gets retrieved 2006-04-07 01:13:31 +00:00
Howard Chu
d18277eac9 ITS#4422, #4475
Move TLS options into struct ldapoptions.
  Added ldap_int_tls_destroy()
  Added LDAP_OPT_X_TLS_NEWCTX to generate new SSL_CTX
2006-04-07 00:52:38 +00:00
Howard Chu
51d5db03ff ITS#4422, rearrange options to allow passing NULL args to TLS/Cyrus 2006-04-07 00:48:41 +00:00
Pierangelo Masarati
8395383d2c fix ITS#4435 2006-04-06 01:27:16 +00:00
Hallvard Furuseth
b70d6dd8e6 LDAP_RDWR_DEBUG update:
- Avoid buffer overrun when too many readers.
- When remoinv reader ID, move one ID instead of all later IDs in array.
- assert(correct lock owner) before unlocking a write lock.
2006-04-05 20:08:34 +00:00
Hallvard Furuseth
ca4a4456e8 LDAP_THREAD_DEBUG revamping, cleanup, bug fixes.
Expand usage struct with magic numbers and state info.
Add options "noreinit", "nosync", "nomem", "threadID".  Remove "dupinit".
Detect address changes.  Turn off thread ID tracking by default.
2006-04-05 19:52:07 +00:00
Hallvard Furuseth
7057f8756c thr_yield() returns void, so do not use its "return value" (ITS#4469) 2006-04-03 17:10:38 +00:00
Hallvard Furuseth
7a113f0759 Restore $LDAP_THREAD_DEBUG=off functionality (was lost in last patch). 2006-04-03 12:49:30 +00:00
Pierangelo Masarati
8823f5cc87 fix ITS#4450? 2006-04-03 00:34:35 +00:00
Howard Chu
e1664b1f42 plug leak 2006-04-02 21:06:28 +00:00
Hallvard Furuseth
f67fecc7fb Warning cleanup: destroy_actions() returns no value; use return type void 2006-04-02 19:55:05 +00:00
Hallvard Furuseth
da0c0360e4 Warnings: Unused vars. funcptr=0, not =NULL. if(b=...) -> if((b=...) != NULL). 2006-04-02 19:54:24 +00:00
Hallvard Furuseth
581c1ff6c7 Cast ctype.h char arguments to unsigned char 2006-04-01 23:44:42 +00:00
Pierangelo Masarati
cad751250e allow mutex ownership detection (thanks to Hallvard) 2006-04-01 19:00:37 +00:00
Pierangelo Masarati
d9afc113c5 thread cleanup 2006-04-01 18:54:31 +00:00
Hallvard Furuseth
9313508035 Expand and clarify thr_debug documentation. 2006-04-01 18:31:38 +00:00
Pierangelo Masarati
bf860f0596 ld_abandoned must be protected by ld_res_mutex 2006-04-01 00:30:07 +00:00
Howard Chu
9686c7ce99 cleanup 2006-03-31 21:31:32 +00:00
Howard Chu
1c0d2ad7ae cleanup NULL string handling 2006-03-31 21:30:06 +00:00
Howard Chu
de36ebd08c cleanup NULL deref 2006-03-31 21:20:36 +00:00
Howard Chu
2d4da0b23c Cleanup NULL derefs 2006-03-31 21:18:04 +00:00
Howard Chu
aa87b9ad2e cleanup dead code 2006-03-31 21:07:53 +00:00
Howard Chu
8c4711e9db plug leaks 2006-03-31 20:36:53 +00:00
Howard Chu
0b72c15e52 plug leaks 2006-03-31 20:20:53 +00:00
Howard Chu
7fb8fd446a plug leaks 2006-03-31 20:06:49 +00:00
Kurt Zeilenga
40d75df606 Additional TXN changes (a work in progress) 2006-03-30 18:00:04 +00:00
Pierangelo Masarati
177c051f0f use asynchronous API; note that an endless loop may occur (ITS#4450; no fix yet) 2006-03-25 08:16:19 +00:00
Pierangelo Masarati
f48bf42578 seems to fix referral chasing (ITS#4448) 2006-03-24 01:18:36 +00:00
Pierangelo Masarati
70211e9be5 handle abnormal condition 2006-03-23 18:36:10 +00:00
Pierangelo Masarati
8c9f071238 duplicate string from environment, as it may be overridden by the user (ITS#4436) 2006-03-20 11:57:16 +00:00
Pierangelo Masarati
df2b44c3b9 destroy ld_conn_mutex (ITS#4441) 2006-03-20 11:14:43 +00:00
Kurt Zeilenga
544d00f3e5 Fix encoding 2006-03-07 21:48:47 +00:00
Kurt Zeilenga
fad69dbef8 Additional TXN changes 2006-03-07 02:21:27 +00:00
Kurt Zeilenga
825ce79611 Initial and rough client-side implementation of the revised LDAP
Transactions specification.  A work in progress!  Comments welcomed.
2006-03-06 21:20:36 +00:00
Luke Howard
e5a5f5e1b2 Don't fail compile if LDAP_EXOP_X_TURN undefined (ie. if LDAP_REL_ENG undefined) 2006-03-05 04:23:59 +00:00
Luke Howard
0ccbce9d09 Always pass valid BerElement to ldap_create_control() to avoid assert fail 2006-03-02 16:50:34 +00:00