Kurt Zeilenga
55e925abe6
Add abstract/final system attribute types.
...
clean up error code macros
2002-05-31 20:24:26 +00:00
Kurt Zeilenga
bdad40c696
Disallow addition of system schema via config files.
2002-05-30 05:23:37 +00:00
Kurt Zeilenga
aecf4033f6
Hide some yet-to-be-implemented schema
2002-05-29 06:14:55 +00:00
Howard Chu
a067d64c3a
Fixes for slap_sasl_regexp parsing and normalization
2002-05-07 18:46:32 +00:00
Kurt Zeilenga
8c152396b9
Matched Values implementation (ITS#1776) based upon submission
...
form Mikhail Sahalaev <M.Sahalayev@pgr.salford.ac.uk>.
Further work needed:
add testxxx-matchedvalues
rework ldapsearch(1) portion of patch to generalize use of options
---
Copyright 2001, Mikhail Sahalaev, All rights reserved.
This software is not subject to any license of University Of
Salford.
Redistribution and use in source and binary forms are permitted
without restriction or fee of any kind as long as this notice
is preserved.
2002-05-02 18:56:56 +00:00
Howard Chu
7fae7fe155
Changed be_[n]suffix, be_[n]suffixAlias to BerVarray. No more bvec's anywhere.
2002-05-01 18:50:14 +00:00
Pierangelo Masarati
6b8828ed28
handle trivial cases
2002-04-29 19:14:42 +00:00
Howard Chu
efecf4e121
ITS#1733 eliminate o_abandonmutex
2002-04-11 08:03:40 +00:00
Howard Chu
5c4a924f81
ITS#1735 unused conn.c_uthc_backend, include ldap_pvt.h
2002-04-11 07:42:57 +00:00
Pierangelo Masarati
c22f10f4ca
don't count operations per request if back-monitor is not built
2002-04-08 19:13:13 +00:00
Pierangelo Masarati
51e33154b3
count initiated/completed operations divided per request
2002-04-08 18:41:15 +00:00
Pierangelo Masarati
440637dde7
various acl improvements/cleanups/speedups (need to be documented, though)
2002-04-03 15:42:19 +00:00
Pierangelo Masarati
9bf3ccd0bf
allow attribute exclusion list in selective replica
2002-03-30 08:52:20 +00:00
Kurt Zeilenga
e7523b1496
add si_syn_octetString to keep syntax load checks in one place.
2002-03-30 01:07:20 +00:00
Kurt Zeilenga
0be4d842bc
Update control framework
...
Misc cleanup
NT updates
2002-03-24 02:17:21 +00:00
Pierangelo Masarati
49f324a1fa
fix ITS#1671 and more
2002-03-23 16:53:44 +00:00
Kurt Zeilenga
33516fa9eb
#ifdef ACI/authpasswd schema
2002-02-18 20:06:50 +00:00
Kurt Zeilenga
32fb8b0bff
Add ACL state recording to avoid multiple evaluation of
...
value-independent access controls.
2002-02-09 05:14:17 +00:00
Howard Chu
f50b75f0c2
Added replica attr=<attribute list> support to filter replog content
2002-02-08 06:44:33 +00:00
Kurt Zeilenga
41e8195c2e
Fix binary v lang_range typo
2002-01-31 15:09:55 +00:00
Kurt Zeilenga
057dda50d3
remove deadwood, e.g. slap_index2prefix()
2002-01-31 00:11:44 +00:00
Kurt Zeilenga
0a31400d63
Some misc cleanup
2002-01-29 06:06:20 +00:00
Kurt Zeilenga
14662be692
Add whoami extended operation.
...
Add no-op control (needs backend implementation)
Updated modify password extended option API
Kludged control infrastructure to support frontend only controls
2002-01-28 20:25:30 +00:00
Howard Chu
5e522ca882
Changed Access.a_sockurl_pat, Connection.c_listener_url etc.
...
to struct bervals
2002-01-28 11:41:07 +00:00
Kurt Zeilenga
8057b1a0a8
Language Tag and Range Support <draft-zeilenga-ldap-rfc2596-xx.txt>
...
Based upon code submitted by Steve Omrani <somrani@us.ibm.com> (ITS#1525)
2002-01-26 23:14:51 +00:00
Howard Chu
4191f39037
Changed slap_authz_info.sai_mech to struct berval.
...
Changed sasl_* to use struct bervals.
2002-01-26 13:57:41 +00:00
Howard Chu
1226d620e0
Added Entry->e_bv for entry_decode
2002-01-25 07:11:52 +00:00
Kurt Zeilenga
3d8c269f2e
Update collective attribute schema
2002-01-19 22:33:07 +00:00
Howard Chu
44f0efb44f
Defined some ObjectClass->soc_flags values, changed is_entry_*objectclass
...
macros to use flags
2002-01-19 02:58:00 +00:00
Kurt Zeilenga
7f0289a390
Move most of the new ber_*cmp routines to lber_pvt.h to keep them private,
...
rework them slightly to avoid computations which might result in underflow.
Rename them for consistency with other berval routines.
Remove some utf8 lint.
2002-01-16 18:16:15 +00:00
Kurt Zeilenga
20af643fc4
more cleanup
2002-01-16 04:40:41 +00:00
Kurt Zeilenga
13af7fb073
Misc. cleanup, remove lint, remove unused deprecated functions, etc.
2002-01-15 07:29:15 +00:00
Howard Chu
d70498f0f2
Revert previous commit again. autosubtypes are gone for good.
2002-01-15 01:49:53 +00:00
Howard Chu
1180279104
Revert previous commit
2002-01-14 20:13:25 +00:00
Howard Chu
2e8a98e3a1
Fix subtype indexing. Really really made it the default.
2002-01-14 10:37:08 +00:00
Howard Chu
ac1332cdb8
Renamed BVarray to BerVarray. Moved slapd:bvarray_{add,free} to
...
liblber:ber_bvarray_{add,free}.
2002-01-14 01:43:17 +00:00
Howard Chu
92481f7057
Modify performance patch from Gertjan van Wingerde <gwingerde@home.nl>
2002-01-13 23:23:23 +00:00
Kurt Zeilenga
ff23cd0f7f
Clean up last patch
2002-01-13 20:06:53 +00:00
Kurt Zeilenga
64619bed94
Install system schema checks
2002-01-13 19:38:12 +00:00
Howard Chu
af862f8c6b
Reworked callback layout, added send_search_entry callback
2002-01-13 16:40:37 +00:00
Kurt Zeilenga
ce2d8ebc7e
Misc cleanup, lint removal, and minor optimizations
2002-01-13 05:00:59 +00:00
Pierangelo Masarati
f8fb4aca76
error message from be_entry_put tool backend function
2002-01-12 16:00:51 +00:00
Pierangelo Masarati
ea86a19460
monitor objectclass definition
2002-01-12 11:36:23 +00:00
Kurt Zeilenga
19f2925ab1
Add some basic system schema checks.
2002-01-11 18:56:01 +00:00
Kurt Zeilenga
f57057ee01
Add system schema flags to backends supporting system schema.
2002-01-11 18:26:17 +00:00
Kurt Zeilenga
f402762f9a
Remove lint.
2002-01-11 18:03:28 +00:00
Kurt Zeilenga
20dd3c1273
Add Backend to system schema check routines
2002-01-11 18:00:22 +00:00
Pierangelo Masarati
5dfbf93687
need this outside for back monitor ...
2002-01-11 10:46:58 +00:00
Kurt Zeilenga
504404725a
Flip some bits in the backend flags mask
2002-01-11 02:31:47 +00:00
Kurt Zeilenga
c3b62aae91
Fix the bits
2002-01-10 22:54:24 +00:00
Kurt Zeilenga
55501e886f
Rework backend (lastmod + glue + system schema) flags
2002-01-10 22:34:11 +00:00
Howard Chu
8067107ed2
Added an_oc to AttributeName for caching ObjectClass lookups.
...
Added error checking to str2anlist; if the attr name doesn't match
any attribute or objectclass the offending attr name is displayed.
2002-01-10 09:54:14 +00:00
Kurt Zeilenga
bf5b4405fe
More clean up of system schema changes
2002-01-10 06:58:57 +00:00
Kurt Zeilenga
cadecfaae1
Finish building in operational attributes
2002-01-10 04:10:54 +00:00
Kurt Zeilenga
f4336c8953
More builtin operational attributes
2002-01-10 03:31:11 +00:00
Kurt Zeilenga
6ed15e3350
Another round of operational attribute changes... more to follow.
2002-01-10 01:46:08 +00:00
Kurt Zeilenga
91644affd9
Minor cleanup
2002-01-10 00:54:31 +00:00
Kurt Zeilenga
c80d93f2bb
Start of new operational attribute framework
2002-01-10 00:17:21 +00:00
Kurt Zeilenga
9b0585f393
Add very basic subentry search support.
2002-01-09 19:21:07 +00:00
Kurt Zeilenga
bc1cd95149
Rework control infrastructure a bit. Add subentries visibility control.
2002-01-09 06:29:54 +00:00
Kurt Zeilenga
645ae7a22f
Hide select matching rules from published schema
2002-01-06 05:29:04 +00:00
Howard Chu
ce7d8d26f2
Changed conn->c_cdn to struct berval.
2002-01-06 03:26:09 +00:00
Kurt Zeilenga
d218a5ed5c
Add SLAP_MALLOC() and friends.
...
Intended to be used instead of ch_malloc() and friends.
See comment.
2002-01-06 01:34:53 +00:00
Pierangelo Masarati
d0261ee534
leftover ber_bvdup eliminated; rewritten ber_bvdup in terms of ber_dupbv; eliminated wrapper macro; other ber_* improvements
2002-01-05 17:49:59 +00:00
Kurt Zeilenga
0e2af54a3f
Update copyright statements
2002-01-04 21:17:25 +00:00
Howard Chu
bcdfdb968f
Changed AttributeName back into an array instead of a linked list.
...
Fixed bug in do_search eating up controls.
2002-01-03 05:38:26 +00:00
Howard Chu
029306a5be
Use ldap_queue.h instead of <ac/queue.h>
2002-01-03 00:12:46 +00:00
Howard Chu
f52cc9bab5
Change struct berval ** to BVarray
2002-01-02 11:00:36 +00:00
Howard Chu
743c402265
Changed search attrs from struct berval ** to AttributeName *
2001-12-31 11:35:52 +00:00
Howard Chu
10961151ef
Use queue-compat for Connection->c_ops,c_pending_ops
2001-12-31 04:08:29 +00:00
Howard Chu
185ff129b5
Change struct berval * to struct berval in various structures
2001-12-29 15:01:10 +00:00
Howard Chu
975a5e9a24
Added dnPretty2/dnNormalize2 using preallocated destination berval
2001-12-29 04:48:00 +00:00
Kurt Zeilenga
cddf7e0e00
More struct berval DN changes
...
decrease dependency on dn_validate/dn_normalize
2001-12-27 07:13:13 +00:00
Kurt Zeilenga
a553a03586
More struct berval DNs changes
2001-12-26 23:43:28 +00:00
Howard Chu
e8fa25a215
Changed Filter.f_dn to struct berval*
2001-12-26 23:37:59 +00:00
Kurt Zeilenga
bd0135ccb4
Move search, modify, and modrdn APIs to struct berval DNs.
...
Much clean up is needed.
2001-12-26 19:50:40 +00:00
Kurt Zeilenga
24a4d888dc
move compare and delete to struct berval DNs
2001-12-26 19:05:26 +00:00
Kurt Zeilenga
d64ec6ee0d
modify be_referral to use struct berval DNs.
2001-12-26 17:40:34 +00:00
Howard Chu
3da3be8128
Precompute syn_oidlen and mr_oidlen
2001-12-26 14:36:02 +00:00
Howard Chu
15f630545a
Changed ma_rule_text to struct berval.
...
Changed get_filter to struct bervals
2001-12-26 13:47:10 +00:00
Howard Chu
d474789d0d
First pass at converting bind to struct bervals
2001-12-26 11:41:38 +00:00
Howard Chu
68b1bbb89d
Changed search attrs to struct berval **.
...
Use typedefs for all backend functions, to minimize work in future API
updates. (back-*/external.h will never need updating in the future.)
2001-12-26 08:17:44 +00:00
Howard Chu
b96645af7d
More struct berval changes, dnNormalize migration...
2001-12-26 04:17:49 +00:00
Kurt Zeilenga
2dd27b0786
More struct berval DNs
2001-12-25 19:48:26 +00:00
Kurt Zeilenga
3336619c80
More "char *" to struct berval DN changes
2001-12-25 02:30:01 +00:00
Kurt Zeilenga
5ee89d6167
Use struct berval DNs for root DN and update DN
2001-12-25 00:05:26 +00:00
Howard Chu
3df5c17881
Fix typo in e_ndn macro
2001-12-24 20:03:54 +00:00
Kurt Zeilenga
f6085d3f82
Every quick mod to use a struct berval for e_dn/e_ndn. No bv_len yet.
2001-12-24 16:53:47 +00:00
Howard Chu
9e0ab3da36
Changed Access->a_set_pat and acl->acl_dn_pat to struct berval to eliminate
...
strlen() from acl processing.
2001-12-24 15:43:27 +00:00
Howard Chu
2f3399265c
Changed sai_dn, sai_ndn to struct berval. (Affects op->o_dn,o_ndn,
...
conn->c_dn,c_ndn, Access->a_dn_pat)
2001-12-24 15:11:01 +00:00
Kurt Zeilenga
0c28b66a75
use dnPretty instead of dn_pretty
2001-12-23 00:43:57 +00:00
Pierangelo Masarati
e36bde9180
added backend-side support for on-the-fly operational attributes; added hasSubordinates to schema and back-ldbm
2001-12-22 11:50:16 +00:00
Kurt Zeilenga
d23313a068
LDAPv2 disallow and other flag changes
...
Fix compile errors
2001-12-21 04:44:34 +00:00
Howard Chu
ef0b308bea
Changed backglue configuration. Added noSubordinates arg to select_backend
...
to deal with glued subordinates.
2001-12-10 12:09:40 +00:00
Howard Chu
fd7e23c188
Converted suffixAlias to struct bervals.
2001-12-09 14:57:42 +00:00
Howard Chu
45aadbbbba
Eliminate unnecessary per-operation dn_normalize(o_ndn); it's already
...
done in do_bind() and there's space in the connection structure for c_ndn
already, just copy it.
2001-12-09 14:46:29 +00:00
Howard Chu
b0169858d1
Don't include glued databases in namingContexts
2001-12-09 02:01:58 +00:00
Howard Chu
584d58e8d1
Added callbacks for send_ldap_response and send_search_result.
2001-12-08 15:21:20 +00:00
Howard Chu
55a217d9ae
Changed be_nsuffix from char ** to struct berval ** to eliminate strlen's
2001-12-08 05:15:58 +00:00
Howard Chu
0552b1c53f
NT updates from jon@symas.com.
2001-12-07 04:03:25 +00:00
Kurt Zeilenga
575c9469d9
Rework dnNormalize/dnPretty to share LDAP_rewrite
...
Add flag to matching rules to indicate if DN folding is needed.
Don't specify dnPretty as pretty function for DN attribute types as
this works too well (it breaks tests).
2001-12-06 03:24:31 +00:00
Kurt Zeilenga
86f79b85d8
Add experimental UUID/CSN support (needed for LCUP).
2001-12-05 07:25:25 +00:00
Kurt Zeilenga
493b415255
Rework indexing code, removing "autolang" and making
...
"subtypes" and "lang" default behavior.
2001-12-05 00:06:03 +00:00
Pierangelo Masarati
0f64b72a00
paranoid check for escaped dn separators when naively checking for rdn boundary
2001-12-01 16:28:21 +00:00
Pierangelo Masarati
bdb3edefd5
added pattern="anonymous","users","dn.{base|one|subtree|children}" to limit enforcement
2001-12-01 14:17:14 +00:00
Kurt Zeilenga
2ac7c91cae
Replace existing SLAP_MR_ matching flags with:
...
SLAP_MR_ASSERTION_SYNTAX_MATCH
SLAP_MR_VALUE_SYNTAX_MATCH
SLAP_MR_VALUE_SYNTAX_CONVERTED_MATCH,
add supporting evaluation macros, and update code as needed.
Misc other code cleanup included.
2001-11-27 21:59:56 +00:00
Mark Adamson
bd091ce276
Allow size and time limits in slapd.conf for anonymous bound search operations
2001-11-21 20:28:15 +00:00
Pierangelo Masarati
d262aae706
fix misinitialized UNDEFINED attribute type; reordered members of AttributeType because I don't know a portable way to statically initialize a mutex :)
2001-11-17 14:09:38 +00:00
Howard Chu
0bfaa8b4ae
Changed AttributeType.sat_cname from char * to struct berval.
...
(will fix up back-bdb next.)
2001-11-16 07:45:37 +00:00
Howard Chu
cc4a51f23c
Changed global ad_mutex into per-attributeType mutex. Added
...
ad_find_lang() to search an AttributeType for a given language variant.
(Will be used in back-bdb/back-ldbm index code...)
2001-11-16 07:39:14 +00:00
Howard Chu
48623df1a8
Added backend_group result caching.
2001-11-12 19:37:48 +00:00
Howard Chu
5f8058f957
Added schema_destroy() et al to free schema structures on shutdown
2001-11-07 01:03:49 +00:00
Julio Sánchez Fernández
5dbf4bddae
Add a flag to help the value_* functions know whether they are seeing
...
a full value (in attribute type syntax) or a value in the syntax of
the matching rule (as happens in filters).
2001-10-22 19:57:23 +00:00
Howard Chu
0e16f6acf9
Moved AttributeDescription caching into main code:
...
Changed AttributeDescription.{ad_cname,ad_lang} to struct berval everywhere
Deleted ad_free() everywhere
Added ad_mutex to init.c
The AttributeDescriptions are in a linked list hanging off of the
corresponding AttributeType.
2001-10-22 13:23:05 +00:00
Julio Sánchez Fernández
4d0ab0215b
First cut at certificateExactMatch, completely untested and without
...
indexing.
2001-10-20 10:15:09 +00:00
Howard Chu
647b5f84ee
Resurrection/rewrite of CLDAP (RFC1798 Connectionless LDAP).
...
Compile with -DLDAP_CONNECTIONLESS to use this code.
For slapd, use "-h cldap://" to listen on UDP.
For ldapsearch, use "-H cldap://" to query on UDP.
Client-side support is very minimal:
no automatic timeout/retries
no basedn wildcard expansion on results
no support for specifying multiple servers at once.
2001-09-28 00:18:40 +00:00
Kurt Zeilenga
61de99937f
ldif.h include cleanup
2001-09-25 00:03:24 +00:00
Kurt Zeilenga
0a155934ab
Add root DSE supportedFeatures support.
2001-09-09 04:01:07 +00:00
Pierangelo Masarati
8471ef7ed0
add global, per backend and per op_ndn time/size soft, hard and to-be-checked limits (exploited by back-ldbm); see slapd.conf(5) for details
2001-08-01 10:09:04 +00:00
Pierangelo Masarati
4051547dfa
handle regex-based per op_ndn time/size limits
2001-07-28 11:24:22 +00:00
Kurt Zeilenga
5cb6b1ce02
Back out DN changes, needs more work
2001-07-21 22:44:55 +00:00
Pierangelo Masarati
ece9bdb0eb
Added the suffix=<dn> parameter to replica config directive
...
to allow selective replication of subtrees of a single database.
Multiple occurrences allow the same replica to handle different
subtrees
2001-07-21 14:15:23 +00:00
Pierangelo Masarati
a453d7eacf
dn_validate/dn_normalize has been rewritten by
...
David A. Cooper <david.cooper@nist.gov> (ITS#1232)
according to draft-ietf-ldapbis-dn-05.txt
A copyright statement follows:
The functions normalize_unicode(), get_hexpair(), write_hex_pair(),
get_next_byte(), get_next_char(), get_ber_length(),
ber_parse_primitive_string(), ber_parse_string(), String_normalize(),
DirectoryString_normalize(), PrintableString_normalize(),
IA5String_normalize(), ber_parse_primitive_bitstring(),
ber_parse_bitstring(), getNext8bits(), bitString_normalize(), match_oid(),
match_key(), get_validated_av_in_dn(), get_validated_rdn_in_dn(),
and get_validated_dn() in this file were developed at the National Institute
of Standards and Technology by employees of the Federal Government in the
course of their official duties. Pursuant to title 17 Section 105 of the
United States Code the code in these functions is not subject to copyright
protection and is in the public domain. The copyright for all other code in
this file is as specified below.
2001-07-13 08:21:14 +00:00
Pierangelo Masarati
bff5608926
protos and declarations for charray and rdn stuff
2001-07-06 12:23:22 +00:00
Randy Kunkee
a9097044ea
Remove global_backendsyncfreq code (code has been pushed down into back-ldbm).
2001-06-28 18:02:46 +00:00
Randy Kunkee
d492880870
Add sync_daemon to daemon.c, enabled by global configuration
...
backendsyncfreq <seconds>. Setting this automatically enables
dbnosync (because the synchronizer takes care of it).
2001-06-22 08:38:58 +00:00
Kurt Zeilenga
67cf14466e
Check schema NAMEs
2001-06-07 22:47:02 +00:00
Kurt Zeilenga
cc6fab319e
Add support for separate max incoming for anonymous and authenticated
...
sessions (defaults: 256K and 16M respectively).
2001-05-29 20:00:55 +00:00
Kurt Zeilenga
0aef7722e6
Add support for obsolete attributes.
...
We don't support collective attributes (yet).
Remove exit() calls from scheme parsers. Need to do same for acl parser.
2001-05-17 07:31:59 +00:00
Kurt Zeilenga
1669cd4d7b
Add '=' to printableString to be consistent with ASN.1 description
...
of syntax. RFC 1778/2252 are wrong and will need to be updated.
2001-05-16 19:20:29 +00:00
Kurt Zeilenga
4baa7c47da
Add better modlist2mod error reporting (to client)
2001-05-10 03:41:17 +00:00
Kurt Zeilenga
24ea49810f
Clean up some #ifdefs
2001-05-09 23:42:49 +00:00
Kurt Zeilenga
abce5abf34
Quick sb_max_incoming hack, should be configurable (likely
...
with differing anonymous vs authenticated values).
2001-05-04 21:55:07 +00:00
Kurt Zeilenga
1eb0170482
s/<anonymous>/cn=anonymous/ to avoid syntax issues
2001-04-19 19:29:38 +00:00
Kurt Zeilenga
10730ca226
Add objectClass kind checking
...
Kludge NADF schema to conform
2001-01-22 08:09:25 +00:00
Kurt Zeilenga
79d9ab38ba
Add more restrictive numeric string validate.
...
Need to rework IA5 matching to support empty strings as they should
be allowed for most string types (excepting directoryString).
2001-01-17 21:02:11 +00:00
Mark Adamson
2231d5e64e
Make SASL authorization work for NULL, "u:", and "dn:" authz strings.
2000-11-30 22:00:15 +00:00
Kurt Zeilenga
451146f795
Update validation of printable-like syntaxes
2000-11-04 21:09:23 +00:00
Kurt Zeilenga
17bcb2b3bb
Update printableString to restrict characters per RFC1778 not isprint()
2000-11-04 20:31:50 +00:00
Julio Sánchez Fernández
5b52ae5109
Extend MRA. It now has a pointer to a MatchingRule, but a char
...
pointer is kept for messages and to tell a filter without rule
from one with an unknown rule. It matters.
2000-10-15 19:10:43 +00:00
Julio Sánchez Fernández
6777a3a41a
Permit access defined by uniqueMember and not only DN-valued
...
attributes. This allows using groupOfUniqueNames for
access control.
Fix small typo in MRA definition.
2000-10-09 19:09:22 +00:00
Kurt Zeilenga
7c96f629ee
Add connection and operation arguments to backend callbacks.
...
Needed for transactions.
2000-09-29 05:25:44 +00:00
Kurt Zeilenga
ce382475f0
misc cleanup
2000-09-29 02:50:34 +00:00
Mark Adamson
bf1ee530ea
Implementation of SASL authorization.
2000-09-21 17:32:54 +00:00
Kurt Zeilenga
3342ea3b49
Add more bind allow/disallow flags
2000-09-11 18:24:24 +00:00
Kurt Zeilenga
2e13824d0d
Add "allow tls_2_anon" to allow StartTLS to force session to anonymous.
...
Add "disallow tls_authc" to disallow StartTLS when session is authenticated.
Create and use connection2anonymous routine for consistency.
2000-09-08 22:59:01 +00:00
Kurt Zeilenga
cee040a321
Bring UCdata infrastructure.
2000-09-03 23:48:35 +00:00
Kurt Zeilenga
bf3df2f7a6
restrictops, requires, disallow knobs; ssf acls; and misc other changes
...
man pages to follow...
2000-08-28 18:38:48 +00:00
Kurt Zeilenga
1c328aa9c7
Minor typedef and other clean ups
2000-08-26 01:14:05 +00:00
Kurt Zeilenga
a7ec3506cf
change "substr" to imply initial, any, final indexing.
2000-08-22 21:33:09 +00:00