lib/libadminutil Makefile.am Makefile.in
by Richard Allen Megginson
Makefile.am | 2 +-
Makefile.in | 2 +-
lib/libadminutil/genrb_wrapper.sh | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
New commits:
commit 6a23fa916a7761a6e48f3b79d07f8208cf10f4bf
Author: Rich Megginson <rmeggins(a)redhat.com>
Date: Thu Jul 15 09:21:41 2010 -0600
Bug 614690 - adminutil ICU RB generation can fail
https://bugzilla.redhat.com/show_bug.cgi?id=614690
Resolves: bug 614690
Bug Description: adminutil ICU RB generation can fail
Reviewed by: rmeggins
Branch: HEAD
Fix Description: genrb fails on HP-UX because genrb_wrapper.sh invokes it like:
LD_LIBRARY_PATH=/wherever exec genrb
POSIX shell on HP-UX doesn't pass the environment variable to the exec'd
process. Can the exec just be removed?
Another thing I noticed which isn't platform specific is that it tries to
invoke the genrb_wrapper.sh script while assuming cwd is the build root. For
example, if we're in adminutil/HP-UXB.11.23_ia64_64_OPT.OBJ it tries to invoke
lib/libadminutil/genrb_wrapper.sh when it should be
../lib/libadminutil/genrb_wrapper.sh.
Platforms tested: HP-UX
Flag Day: no
Doc impact: no
diff --git a/Makefile.am b/Makefile.am
index a9d4a1a..3cb5914 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -96,7 +96,7 @@ pkgconfig_DATA= $(PACKAGE_NAME).pc
#
#////////////////////////////////////////////////////////////////
root.res:
- sh -x lib/libadminutil/genrb_wrapper.sh "@icu_bin@" "@icu_libdir@" -s$(srcdir)/lib/libadminutil -d. \
+ sh -x $(srcdir)/lib/libadminutil/genrb_wrapper.sh "@icu_bin@" "@icu_libdir@" -s$(srcdir)/lib/libadminutil -d. \
--encoding ISO_8859-1 libadminutil.properties
en.res en_US.res: root.res
diff --git a/Makefile.in b/Makefile.in
index fd01d4b..fd7c95c 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1369,7 +1369,7 @@ uninstall-am: uninstall-adminincDATA uninstall-admsslincDATA \
#
#////////////////////////////////////////////////////////////////
root.res:
- sh -x lib/libadminutil/genrb_wrapper.sh "@icu_bin@" "@icu_libdir@" -s$(srcdir)/lib/libadminutil -d. \
+ sh -x $(srcdir)/lib/libadminutil/genrb_wrapper.sh "@icu_bin@" "@icu_libdir@" -s$(srcdir)/lib/libadminutil -d. \
--encoding ISO_8859-1 libadminutil.properties
en.res en_US.res: root.res
diff --git a/lib/libadminutil/genrb_wrapper.sh b/lib/libadminutil/genrb_wrapper.sh
index 53804ab..c6eced0 100644
--- a/lib/libadminutil/genrb_wrapper.sh
+++ b/lib/libadminutil/genrb_wrapper.sh
@@ -31,4 +31,4 @@ fi
icu_bin="$1" ; shift
icu_lib="$1" ; shift
# HP SHLIB_PATH too for old versions of HP-UX
-SHLIB_PATH=$icu_lib:$SHLIB_PATH LD_LIBRARY_PATH=$icu_lib:$LD_LIBRARY_PATH PATH=$icu_bin:$PATH exec genrb "$@"
+SHLIB_PATH=$icu_lib:$SHLIB_PATH LD_LIBRARY_PATH=$icu_lib:$LD_LIBRARY_PATH PATH=$icu_bin:$PATH genrb "$@"
13 years, 10 months
ldap/servers lib/ldaputil
by Richard Allen Megginson
ldap/servers/slapd/tools/ldclt/ldclt.c | 14 +++++++-------
lib/ldaputil/vtable.c | 2 +-
2 files changed, 8 insertions(+), 8 deletions(-)
New commits:
commit 2bfbe594a2c5593fd1ae695c118be94939651264
Author: Rich Megginson <rmeggins(a)redhat.com>
Date: Wed Jul 14 15:19:01 2010 -0600
Bug 614242 - C99/ANSI C++ related compile errors on HP-UX
https://bugzilla.redhat.com/show_bug.cgi?id=614242
Resolves: bug 614242
Bug Description: C99/ANSI C++ related compile errors on HP-UX
Reviewed by: rmeggins
Branch: HEAD
Fix Description: In lib/ldaputil/vtable.c, a global static struct is declared and initialized to
{}. I see gcc allows this, and aCC does also but only with -AA ("newly
supported ANSI C++ Standard features").
In ldap/servers/slapd/tools/ldclt/ldclt.c, an array size is set using a
variable, which I think is legal in C99. Since the size is not computed, and
this is the only place C99 is taken advantage of, this can be changed to a
then I would instead add the -AC99 compiler flag for HP-UX.
Platforms tested: HP-UX
Flag Day: no
Doc impact: no
Patch submitted by: Ulf Weltman <ulf.weltman(a)hp.com>
diff --git a/ldap/servers/slapd/tools/ldclt/ldclt.c b/ldap/servers/slapd/tools/ldclt/ldclt.c
index 53115ad..cabdea8 100644
--- a/ldap/servers/slapd/tools/ldclt/ldclt.c
+++ b/ldap/servers/slapd/tools/ldclt/ldclt.c
@@ -1259,6 +1259,7 @@ parseFilter (
RETURN : -1 if error, 0 else.
DESCRIPTION :
*****************************************************************************/
+#define BUFFERSIZE 1024 /* buffer size for buffer */
int
basicInit (void)
{
@@ -1270,8 +1271,7 @@ basicInit (void)
int oflags;/* open() flags */ /*JLS 05-04-01*/
struct stat file_st ; /* file status checker for attreplacefile option */
FILE *attrF; /* file pointer for attreplacefile option */
- int buffersize=1024; /* buffer size for buffer */
- char buffer[buffersize]; /* buffer used to read attreplacefile content */
+ char buffer[BUFFERSIZE]; /* buffer used to read attreplacefile content */
/*
* Misc inits
@@ -1560,17 +1560,17 @@ basicInit (void)
/* start to read file content */
mctx.attrplFileContent = (char *)malloc(mctx.attrplFileSize + 1);
i=0;
- while ( fread(buffer, buffersize , 1, attrF) )
+ while ( fread(buffer, BUFFERSIZE , 1, attrF) )
{
- memcpy(mctx.attrplFileContent+i, buffer , buffersize );
- memset(buffer ,'\0', buffersize );
- i = i + buffersize;
+ memcpy(mctx.attrplFileContent+i, buffer , BUFFERSIZE );
+ memset(buffer ,'\0', BUFFERSIZE );
+ i = i + BUFFERSIZE;
}
/* copy remainding content into mctx.attrplFileContent */
if (i<mctx.attrplFileSize)
{
memcpy(mctx.attrplFileContent+i, buffer , (mctx.attrplFileSize - 1 - i));
- memset(buffer ,'\0', buffersize ); /* clear the buffer */
+ memset(buffer ,'\0', BUFFERSIZE ); /* clear the buffer */
}
mctx.attrplFileContent[mctx.attrplFileSize]='\0'; // append the close bit
diff --git a/lib/ldaputil/vtable.c b/lib/ldaputil/vtable.c
index 18ac0a4..7886006 100644
--- a/lib/ldaputil/vtable.c
+++ b/lib/ldaputil/vtable.c
@@ -43,7 +43,7 @@
#include "ldaputili.h"
#include <ldap.h>
-static LDAPUVTable_t ldapu_VTable = {};
+static LDAPUVTable_t ldapu_VTable = {0};
/* Replace ldapu_VTable. Subsequently, ldaputil will call the
functions in 'from' (not the LDAP API) to access the directory.
13 years, 10 months
Branch '389-ds-base-1.2.6' - selinux/dirsrv.te
by Nathan Kinder
selinux/dirsrv.te | 2 ++
1 file changed, 2 insertions(+)
New commits:
commit 7b232907ffa20206c57e362cd8278eaefa7948d4
Author: Nathan Kinder <nkinder(a)redhat.com>
Date: Tue Jul 13 11:28:07 2010 -0700
Bug 613833 - Allow dirsrv_t to bind to rpc ports
The slapi-nis plug-in needs the dirsrv SELinux policy to allow
ns-slapd to bind to rpc ports. This adds the appropriate macros
to the dirsrv policy.
diff --git a/selinux/dirsrv.te b/selinux/dirsrv.te
index ddcc2f1..e24ca93 100644
--- a/selinux/dirsrv.te
+++ b/selinux/dirsrv.te
@@ -147,6 +147,8 @@ corenet_tcp_sendrecv_generic_node(dirsrv_t)
corenet_tcp_sendrecv_all_ports(dirsrv_t)
corenet_tcp_bind_all_nodes(dirsrv_t)
corenet_tcp_bind_ldap_port(dirsrv_t)
+corenet_tcp_bind_all_rpc_ports(dirsrv_t)
+corenet_udp_bind_all_rpc_ports(dirsrv_t)
corenet_tcp_connect_all_ports(dirsrv_t)
corenet_sendrecv_ldap_server_packets(dirsrv_t)
corenet_sendrecv_all_client_packets(dirsrv_t)
13 years, 10 months
selinux/dirsrv.te
by Nathan Kinder
selinux/dirsrv.te | 2 ++
1 file changed, 2 insertions(+)
New commits:
commit b7a93e6ba4e5c11585399078efd8ec67230afdbc
Author: Nathan Kinder <nkinder(a)redhat.com>
Date: Tue Jul 13 11:28:07 2010 -0700
Bug 613833 - Allow dirsrv_t to bind to rpc ports
The slapi-nis plug-in needs the dirsrv SELinux policy to allow
ns-slapd to bind to rpc ports. This adds the appropriate macros
to the dirsrv policy.
diff --git a/selinux/dirsrv.te b/selinux/dirsrv.te
index ddcc2f1..e24ca93 100644
--- a/selinux/dirsrv.te
+++ b/selinux/dirsrv.te
@@ -147,6 +147,8 @@ corenet_tcp_sendrecv_generic_node(dirsrv_t)
corenet_tcp_sendrecv_all_ports(dirsrv_t)
corenet_tcp_bind_all_nodes(dirsrv_t)
corenet_tcp_bind_ldap_port(dirsrv_t)
+corenet_tcp_bind_all_rpc_ports(dirsrv_t)
+corenet_udp_bind_all_rpc_ports(dirsrv_t)
corenet_tcp_connect_all_ports(dirsrv_t)
corenet_sendrecv_ldap_server_packets(dirsrv_t)
corenet_sendrecv_all_client_packets(dirsrv_t)
13 years, 10 months
Changes to 'refs/tags/Directory_Server_8_2_Candidate_20100709'
by Nathan Kinder
Changes since the dawn of time:
David Boreham (68):
Move AXIS and DSML jars to /s/b/c
Makefile changes to allow building on Linux machines where uname reports four-part version
Always use the internal regex functions : checkin lost in the AOL/RH move.
Always use the internal regex functions: checkin lost in the AOL/RH move.
Add password change extended operation support.
Add support for password change extended operation.
Always use the internal regex functions: checkin list in the AOL/RH move.
Large stack size for 64-bit builds: checkin lost in AOL/RH move.
Add support for password change extended operation.
Add support for filesystem-based replica initialization.
Add long hostname support for HP-UX
Merge over new code: fractional replication, wan replication and windows sync plus associated UI
Fix the HP build
Additional schama for windows user sync
New windows sync code
Fix unicode conversion for passwords
Merge password sync code from Bozeman Pass
Change DSMLGW to work with Axis1.2rc3
Use axis 1.2rc3
Fix DSMLGW test failures
Change password sync copyright notices, merge fixes to password sync code
Merge fixes to DSMLGW post-axis-version-change
Fix processing of base-64 encoded data
Fixes for windows sync for NT4
Fix instability in re-try and backoff mechanism
Fix RUV updating code
Fix initial RUV logic and add support for Win2003
Take out old code that was #defined out
remove redundant source file and associated Makefile line
remove bogus logging fix bug#154261
Use separate attribute maps for NT4 and AD. Fix 155266
Fix mapping of seeAlso and secretary attributes
Add new NT4 LDAP Service, used by windows sync
Fix for 154837 : non-sync'ed group entries get backed out
Fix mapping of street and streetAddress attrs
Fix for 155141: bug in linked list code
Fix mapping of street attribute, fix total update of previously sync'ed entries
Fix handling of group membership, fix installer GUID, fix handling of entry description
Change GUID for installer
Fix for 155063: remove error messages due to entry parsing failure
Fix for 64-bit bug in dirsync control parsing code
Fix ruv update on skipped change
Fix syncing of contained entries
Fix the fact that if an operation fails in a total update, we immediately halt
Fix schema for NT sync
Fix display names in pass sync to say Fedora
Fix display name to say Fedora...
Fix various bad memory free bugs
Merge fixes over
Allow error on result side to propagate pack to sending side
Fixes for windows sync
Fix for #157020: convert unicode password to little-endian byte order
Fix for #155591: treat an ruv with no min_csn as pristine
Fix for 157021: server doesn't correctly process modifies to windows sync agreements
Fix for #156449 : mangle 'street' attribute to defeat our schema aliasing it with 'streetaddress'
Fix for #155588 : don't leak connections from the ldap connection pool
Fixes for memory leaks in ntds
Patches we apply to apache ds 0.9
Update packaging for ntds
Fix Windows SSL replication in-order processing of operatations
Change NT4 case to send plaintext passwords
Fix ntds installer to allow repair and removal
Fix for #157901 : FMR in windows sync agreement code
Memory Leak Fixes for Apache DS
Fix for #157895 : logon hours doesn't work
Fix for 157919: perform fractional consumer check after acquiring the replica
Fix for 158031: add default indices needed by Windows Sync
Fix for #158253: add attributes to the exclusion list for fractional replication. Add an error string returned to clients if an illegal attribute is configured
Endi S. Dewata (6):
Uninitialized mutex in Retro Changelog Plugin. https://bugzilla.redhat.com/show_bug.cgi?id=554841 Resolves: bug 554841 Bug Description: Enabling Retro Changelog Plugin on a DS instance provisioned by Samba will crash slapd during startup. Branch: HEAD Fix Description: Apparently the retrocl_internal_lock is still NULL when it's used in retrocl_get_first_changenumber(). The solution is to initialize the lock in the retrocl_plugin_init(). Platforms tested: F12 i386
Bug 573375 - MODRDN operation not logged
Bug 566043 - startpid file is only cleaned by initscript runs
Bug 584109 - Slapd crashes while parsing DNA configuration
Bug 542570 - Directory Server port number is not validated in the beginning.
Bug 470684 - Pam_passthru plugin doesn't verify account activation
Nathan Kinder (334):
Rebranding targets should checkout reltools automatically - nkinder(a)redhat.com
Added rebranding data for RHDS - nkinder(a)redhat.com
Cleaned up UI for rebranding - nkinder(a)redhat.com
146294 - changed dsgw to be brand agnostic - nkinder(a)redhat.com
Fixed axis component pull and cleaned up tomcat references - nkinder(a)redhat.com
146201 - make directory express brand agnostic - nkinder(a)redhat.com
146735 - Fixed HP-UX patch typos - nkinder(a)redhat.com
146804 - Remove 7 day grace period from purging logic - nkinder(a)redhat.com
146804 - Added extra validity check for purge_csn - nkinder(a)redhat.com
147053 - remove dsrk dependency
Added HP-UX makefiles
147044 - convert entry id to big endian before looking up in db
147368 - Made org chart brand agnostic
Fixed PAM plugin for HP builds
Updated nss, nspr, dbm, and jss component versions
New net-snmp subagent
149951 - Updated source code copyrights
Updated SNMP OIDs for Red Hat namespace
Use new RHEL platform naming
Pull svrcore from sbsintegration
Pull DS Console as a component
Fixed declaration syntax error
Fixed missing symbol issues for Solaris ds_newinst
Pull svrcore from sbc
Fix db component pull
Differentiate between internal and external components during branding
Fixed BUILD_MODE flag to look in correct file
Backed out accidental checkin of branded file
Pick up new Axis component (1.2rc3)
Updated copyright info
Update copyrights for DSGW
Copyright updates
Fixed DOS style end of line chars
Update location of ldapconsole component
Remove un-needed Console SDK dependency
Updated copyright info
Updated copyright info
Space in the makefile was causing findstring to fail on RHEL4
Pick up new perldap component
Enable building of SNMP subagent
Compilation and linking fixes for SNMP subagent
Added 64-bit linker options for HP-UX and Solaris
Update components and SNMP config changes
Pick up new Admin Server component
Ensure null termination of strings in SNMP code
Fix swap space reporting on Linux
Pick up new Admin Server and LDAP Console components
Corrected ndd recommendations
153668 - Update dsktune for HP-UX
Update dsktune version date
Updated readme file plus new admin server
Pick up new LDAP Console component
Acceptance and ships fixes for RPMs
Run acceptance in the background
154077 - Check for version 1.4.2.07 of JRE on HP-UX
Pick up new Admin Server
154948 - Fixed fractional repl crash
155068 - Added license to source files
Pick up new ldapconsole
Created LICENSE and EXCEPTION files
HP-UX IPF Porting changes
Pick up new adminserver and ldapconsole components
Removed ldaptags and Whos Online references
Fixed licensing typo
Fixed copyright block error
155460 - Remove crypt password storage from windows build
Use OPL for online help docs
154041 - Added Fedora EULA
Pick up new ldapconsole component
Fixed whitespace issue in Makefile
155782 - Don't include CVS directories in source rpm
Pick up new components
Fix search scope for AD password sync - 159037
164017 - Attribute uniqueness plugin now only checks for conflicts in subtrees that the operation applies to
164843 - Modified indexing to deal with attribute subtypes
165862 - Needed to set BE_INDEX_EQUALITY flag when doing a delete of an entry.
166012 - Use of incorrect iterator in indexing code was causing illegal access of memory which sometimes resulted in crashing.
Pull setuputil from sbsint, not sbc.
167441 - Added SHA2 hashed password storage support.
165228 - Don't have RPM auto-generate provides list
168309 - Removed setup wrappers used for Java packaging and added RPM dependency for java-1.4.2-ibm package.
168322 - Check size of hash needed before base64 encoding password hashes
169388 - Fixed attribute comparision helper function that was causing certain changes to not get synched.
169954 - Winsync initialization would hang with certain entries. Fixed improper use of ldap_get_next.
169954 - Moved illegal declaration to the top of code block
170321 - Increase winsync version to 1.0.1
170328 - Fixed modify type installation so it actually updates the registry
170558 - Add certutil, pk12util and missing dlls to PassSync.msi
170558 - Add certutil, pk12util and missing dlls to PassSync.msi
170135 - Improved passsync logging facilities
170556 - Make passsync obey backoff for retries when DS is down
170816 - Don't consume password changes if modify fails
170071 - Automatically add grouptype for new groups being synchd to NT4
163064 - It appears that Active Directory has a problem where it allows duplicate values for system-only multivalued attributes. This change just skips the dscorepropagationdata attibute when receiving a change from DirSync.
Pull ldapconsole from integration area
Changed cyrus-sasl rpm dependency to >=2.1.15 for RHEL3 compatibility
Need to package online help files for external builds
174550 - Fixed error message typo
178867 - Enhanced password syntax checking
Bug(s) fixed: 180744
Bug(s) fixed: 181032
Fix build-time issue of lib_dsadmin.so for x86_64 support
Bug(s) fixed: 181827
184585 - SASL context needs to be disposed of and a new one created when re-binding
184585 - Adjusted the location of the connection lock when doing a sasl_rebind
185811 - Fixed windows build failures when compiling slapd_chown_if_not_owner function
185811 - Need to exclude pwd.h include on windows
185811 - Don't check localuser config on Windows
185811 - slapi_dn_find_parent needs to be added to libslapd.def for windows build to compile
185811 - Missing const qualifiers were causing Windows compiler errors
188931 - Use system Net-SNMP libraries on Linux systems
189176 - Fixed aci for directory administrators group.
16578 - Fixed off by one error in month in logconv.pl
190724 - Evaluate ACIs before checking password syntax
190724 - Array initialization needed to be changed to fix a HP-UX PA compilation error
202872 - Allow password modify extended operation when using SASL privacy layer
203043 - Support password generation when using the password modify extended operation
203043 - Optimizations in password generation
Test for commits mailing list - ignore.
204355 - Remove winsync code from ldapserver tree
204410 - Pick up new ldapcsdk, nspr, and sasl components
204517 - Use new ber types throughout the server code.
204517 - Cleaned up usage of ber_printf to use new ber types
208058 - Copy decrypted SASL data starting from buffer offset instead of always copying from the beginning of the buffer.
Related: 210736
Resolves: 211234
Resolves: 211386
Resolves: 211419
Resolves: 211554
Resolves: 211554
Resolves: 212038
Resolves: 212483
Related: 213352
Resolves: 214238
Related: 214238
Resolves: 214463
Resolves: 214682
Package libsasl in core libdir for old style build
Resolves: 212112
Resolves: 217796
Resolves: 227754
Resolves: 228082
Resolves: 229095
Resolves: 229428
Resolves: 229428
Resolves: 230458
Resolves: 235143
Resolves: 236612
Resolves: 236612
Resolves: 240240
Resolves: 240583
Summary: Removed unused source files.
Resolves: 251262
Resolves: 253582
Added sasl link to ldap-agent binary.
Resolves: 253818
Resolves: 243221
Resolves: 207893
Resolves: 212671
Resolves: 207567
Resolves: 243227
Resolves: 242551
Resolves: 293541
Resolves: 294301
Removed online help docs now that they've been moved to directoryconsole.
Resolves: 299361
Resolves: 304191
Resolves: 170560
Resolves: 238504
Resolves: 288521
Resolves: 158667
Resolves: 197997
Resolves: 219586
Resolves: 311851
Resolves: 311851
Resolves: 238517
Summary: Re-generated autotools build files.
Resolves: 314791
Resolves: 282911
Resolves: 288321
Resolves: 268101
Resolves: 316281
Resolves: 176302
Resolves: 325281
Resolves: 238630
Resolves: 328741
Resolves: 335081
Resolves: 219587
Resolves: 338611
Resolves: 336871
Resolves: 188320
Resolves: 344631
Resolves: 429799
Resolves: 429793
Initial import of memberof plugin from FreeIPA (refactored from changeset 640:9c57bd91b32f if ipa-memberof.c).
Resolves: 435730
Resolves: 438891
Resolves: 439097
Summary: Avoid adding a group as a memberOf itself.
Resolves: 439907
Resolves: 440333
Resolves: 440474
Resolves: 439628
Resolves: 450107
Resolves: 443241
Resolves: 450746
Resolves: 450989
Resolves: 452169
Resolves: 452537
Resolves: 453011
Resolves: 454328
Resolves: 455913
Resolves: 456162
Resolves: 457260
Resolves: 456968
Resolves: 457329
Resolves: 457951
Resolves: 458135
Resolves: 462920
Resolves: 464188
Related: 207457
Related: 207457
Resolves: 207457
Resolves: 207457
Resolves: 207457
Resolves: 467931
Resolves: 452569
Resolves: 316241
Resolves: 207457
Resolves: 470393
Resolves: 470918
Resolves: 450046
Resolves: 454348
Resolves: 207457
Resolves: 216522
Resolves: 430321
Resolves: 387851
Resolves: 387851
Resolves: 220532
Resolves: 474254
Resolves: 445775
Resolves: 201332
Resolves: 250535
Resolves: 437049
Resolves: 430368
Resolves: 445305
Resolves: 467233
Resolves: 463776
Resolves: 437049
Resolves: 474621
Resolves:479065
Resolves: 381361
Resolves: 381361
Resolves: 472602
Resolves: 170461
Resolves: 174394
Resolves: 437900
Resolves: 253311
Resolves: 442474
Resolves: 184141
Resolves: 248924
Resolves: 204626
Resolves: 474945
Resolves: 480384
Resolves: 474945
Resolves: 470611
Resolves: 452007
Resolves: 463337
Resolves: 455629
Resolves: 455629
Resolves: 446697
Resolves: 245894
Resolves: 245894
Resolves: bug 487574
Resolves: bug 487725
Resolves: 487765
Resolves: bug 486400
Resolves: 445602
Resolves: 442474
Resolves: 496836
Added capability to validate syntax of values being added to the database. Also added numericstring syntax support.
Generated autotools files for syntax validation feature.
Auto-generate SLAPI docs - first pass.
Add strict DN syntax enforcement option.
Add require secure binds switch.
Bug: 181465 - Handle spacing issues in objectClass SUP list.
Add linked attributes plug-in.
Bug: 509401 - dnaNextValue not updated when dnaMaxValue set to -1
Add additional standard syntaxes.
Skip syntax check of encrypted attributes during import.
Use LDAPv3 DN values in ns-newpwpolicy script.
Change aci syntax to Directory String.
Bug 514824: Fix double free in macro ACI code.
Bug 514848: Make selfwrite ACI keyword with with Name And Optional UID syntax attributes.
Bug 514955 - Make DNA handle multiple mods
Add centralized start/stop/restart scipts.
Allow anonymous access to be disabled.
Add minimum SSF setting
Add ssf bind rule to access control plug-in.
Allow anonymous bind resource limits to be set.
BZ 221905 - Add SMD5 password storage support.
Bug 529258 - Make upgrade remove obsolete schema from 99user.ldif
Make removeds.pl remove instance initconfig script
Allow plugin execution order to be defined
387681 - Fix errors in mapping AD tombstones
Bug 511112 - Eliminate fixed length array in password history code.
Bug 497199 - Skip dirsync if disconnected during incremental update
Bug 504817 - Handle LDAPv2 quoted RDN values correctly
Bug 515329 - Correct attribute value inconsistency on replica
Avoid freeing NULL trimmed passwords list
Add bounds checking in DN unescape function
Bug 195302 - Allow fine-grained password storage scheme to be set
Bug 193297 - Call bind pre-op and post-op plug-ins for SASL binds
Bug 201275 - Make SASL EXTERNAL bind obey account lock
Bug 195302 - Fix crash regression from previous fix
Bug 497556 - LDAPI connections cause TCP performance degradation
Set unknown attribute syntax to Octet String.
Bug 518084 - Fix out of order retro changelog entries
Document SLAPI DN related functions.
Add missing paran from fix for bug 518084
Bug 548537 - Fix memory leaks in DNA plugin
Bug 553455 - fix segfault when changing a password
Add Doxygen comments for SLAPI attr, value, and valueset functions.
Bug 536703 - Don't send empty mod to AD for mapped DN values
Bug 549554 - Trim single-valued attributes before sending to AD
Add ldap-agent init script.
Improve search for pcre header file
Bug 434735 - Allow SASL ANONYMOUS mech to work
Allow instance name to be parsed from start-slapd
Bug 578863 - Password modify extop needs to send referrals on replicas
Bug 592389 - Set anonymous resource limits properly
Bug 601433 - Add man pages for start-dirsrv and related commands
Bug 604263 - Fix memory leak when password change is rejected
Bug 612242 - membership change on DS does not show on AD
Noriko Hosoi (435):
1) added -p to mkdir built/<PLATFORM_OBJDIR>
fixed packaging -- the path to reltools was incorrect
Stop compiling/packaging presence plugin and its clients "ldaptags" and "online" from DS7.1.
target name should not be identical to the directory name if you want to always execute the command line.
replacing fversion(.c) with dirver(.pl); used on Windows only
[146919] De-brand the Directory Server as "brandx"
[bugzilla 149539] Use Cyrus SASL instead of our custom one
[150809] slapi_ch_smprintf truncates strings when the given args are longer than 100 characters in total.
Instead of getting nes-webapps_6_1.dtd from http://developer.netscape.com/products/servers/enterprise/dtds/, get it from the installed tree.
On windows, snprintf needs underscore '_' at the beginning.
Commented out functions which were removed in the source code clean up.
Moved a part of PR_ASSERT after the variable is initialized.
NSPR header file and the library are needed to use PL_strcatn.
Replaced the variables for ds##[_en].jar and its path with the correct ones:
Added LDAP_NOSSL_LINK for Windows build -- needed for admin/src/ds_newinst.
[149539] Use Cyrus SASL instead of our custom one
fix for breaking the build on HP-UX due to the previous check in.
[Bug 146919] Directory Server rebranding
[152645] dsmlgw acceptance test started to fail on 3/15/2005
[151835] dbscan grows up to 900MB+ and hangs with -i and -l <large value> options
DOC: Internal version also does not package the guides.
[152645] revert AXIS version to 1.2beta
fixed a bug on the static variable introduced by the previous commit.
1) Updated "Last Updated" date.
Revised the usage string.
1) clu dbscan test passes file type option(s) (-e -- entry file, -i -- index file, -c -- changelog file) for any type of files, which could sometimes crashes the command. To prevent it, introduced a simple file type checker and reset the file type if it does not match the real type.
[Bug 153175] SSL 6.x -> 7.0 migration script problems
[Bug 153306] dbscan of changelog files core dumps on Solairs 64 bit builds.
[154068] RPM setup should run with the relative path as well as the absolute path
[154288] usage cleanup
[154766] Online help mentions "this ( 6.2 ) directory server
[154775] Replica Settings page contains 4.0 and 4.1 supplier server.
[154909] Fixed old copyright notice and removed the link to DocHome.
[155066] Typo in properties editor online help; removed '.'
[155140] SASL mapping modify online help not in correct format
[155137] SASL mapping online help not in correct format
[155133] Attribute Encryption, select encryption method, online help uses wrong font / mis-formatted.
[155132] Attribute Encryption, Add, online help uses wrong font / mis-formatted.
Don't pull net-snmp on Windows.
[155628] Fractional Replication: modify does not issue notify;
[155905] mrclone failure: race condition between force_checkpoint and dblayer_close
Fix for the replication bug found in running reliability 16.
[156623] Solaris/HP-UX setup can only be run from the SERVER ROOT
[156759] dsgw/pb charset conversion problem
[156758] bak2db loses index configuration when the overriden conf has some changes.
[154189] Java Console hung during startup and only shows a grey splash screen
[158263] Performance Counter, labels removed. Need to update online help to match
Added testpreop_search to verify bug 147585
[147585] test plugin to verify the bug, the previous check in was not returning SUCCESS.
[Bug 166632] dbscan: not to truncate the entry even if it is larger than BUFSIZ
[Bug 164834] modify/replace allows multiple same valued attributes in an entry
[160003] db2index.pl cannot find libldap50.so if only certain parameters are used
[167264] Update branding script data to include the revision info
[167478] setup script needs to check the DS instance
[167679] modify upgradeServer to upgrade db2index.pl
Fix for NT build failure: undefined symbols in index.c
[167982] Service Pack framework
[167982] Service Pack framework
fixed internal build failure...
[167982] Service Pack framework
[172411] Use system SASL on RHEL
Fixed the build: removed __attribute__ from the previous checkin.
[172411] Use system SASL on RHEL
[172411] Use system SASL on RHEL
[172824] Link SASL library dynamically
[173524] setup scripts retrieves incorrect adminid
[173687] deadlock caused by error log rotation and logging
[173687] deadlock caused by error log rotation and logging
[173931] Error logs not deleted
Fixed the solaris build (log.h); fixed an inappropriate comment
[175063] entry with escaped characters fails to import and index
[175063] entry with escaped characters fails to import and index
[175897] filter'd search not returning matches after index added
[170348] RSEARCH needs to be updated
[174776] Multiple restores from a non-existant directory could wipe out database
[164596] LDCLT distributed with Directory Server
Added copyrights.
[174774] Backup does not clear the backup directory prior to performing backup; Restore tries to restore all the fles from the backupdir
Previous checkin cleaned up too much; restoring commit_good_database.
[176293] repl_chain_on_update() logs a message for every modify operation
[173871] added more precise error message for the dbcache allocation failure.
[164596] LDCLT distributed with Directory Server
[170348] RSEARCH needs to be updated
Fixing nightly build
Fixing the internal build (to build dsmlgw w/ ant, ant-launcher.jar is needed)
Fixing Solaris build
fixing the 64-bit Solaris build
[183222] Directory Server hangs when running VLV search and update operations simultaneously.
[185364] Can't update scripts (e.g., start-slapd) in the instance
[185477] ldif2db allows entries without a parent to be imported
[185477] ldif2db allows entries without a parent to be imported
[185364] Can't update scripts (e.g., start-slapd) in the instance directory
[186642] Directory Server Makefile updates for Internal build
setup.inf, setup.res, silent.inf, unzip_wrapper.pl, LICENSE.txt, README.txt were missing from the tar-gz package file.
[186642] Directory Server Makefile updates for Internal build (Comment #6)
Previous checkin introduced this bug: a whitespace is inserted by putting a comment at the end of the macro assignment for Solaris JDK Version; moved the comment to one line above.
Removed extra $(NS64TAG) from sh_release_config; $(NSCONFIG) contains _64.
accidentally, overrode the change made on revision 1.42; backing off
Moved the SMARTHEAP macro setting from slapd local Makefile to global nsconfig.mk so that the makefile used for packaging gets the info.
[186642] Directory Server Makefile updates for Internal build
Should keep all the components packaged in the 64-bit build in dist/<platform>_64_DBG.OBJ
[189264] 6.11->6.21 upgrade, no db housekeeping threads
pick up new adminutil, adminserver, and WinSync for INTERNAL_BUILD
build fix for Solaris Studio11 compiler
[191832] changing password sometimes crashes the server [Admin Server password always remembers initial password on (part 2)]
[192901] DS returns an entry that does not match the filter
[195258] Changes for the internal build
[195258] Changes for the internal build; Comment#16
[203214] RHDS fails to start on HP-UX 11.23.
[204563] Solaris build problem
[204566] Adjustment for new LDAP C SDK (ber_get_next_buffer_ext)
[206724] Replacing PR_SetNetAddr with PRLDAP_SET_PORT for IPv6 support
Upgraded NSPR_RELDATE to v4.6.3-dstest.
[206724] Processed: Replacing PR_SetNetAddr with PRLDAP_SET_PORT for IPv6 support
[207427] parameterizing the hardcoded paths (Comment #15)
[204808] spurious search timeouts
[208672] parameterizing the hardcoded paths (phase 2. db, log, lock, pid, cert, and instance dir)
Resolves: #204808
Resolves: #210947
Fixed the HP-UX and Solaris build failure introduced by the previous check-in.
Resolves: #212098
Resolves: #212098
Resolves: #212098
Resolves: #210947
Fixed this problem on Solaris: Netscape Portable Runtime error -5977: ld.so.1: ns-slapd: fatal: libns-dshttpd72.so: open failed: No such file or directory
Backed off the previous change for the non-Solaris platforms.
Resolves: #199923
Resolves: #214840
Resolves: #214728
Resolves: #214728
Resolves: #214728
Resolves: #214728
Resolves: #214728
Resolves: #214728
Resolves: #214728
Resolves: #214728
Resolves: #214728
Resolves: #214728
Resolves: #214728
Resolves: #214728
Resolves: #214728
Resolves: #214533
Resolves: #214533
Resolves: #214533
Resolves: #214533
Added -DIS_FHS; the old build only supports FHS.
Auto-generated by autoheader; needs to be in CVS.
Resolves: #215452
Resolves: #216512
Resolves: #216983
Resolves: #183222
Resolves: 158342
Resolves: #183222
Resolves: #202843
Resolves: #202843
Resolves: #202843
Resolves: #195305, #195307
Resolves: #195305
Resolves: 223861
Resolves: 223861
Replaced white spaces with a tab to fix "Makefile:125: *** missing separator"
Replaced white spaces with a tab to fix "Makefile:150: *** missing separator"
Resolves: 223861
Force to commit template-start-slapd.in and template-stop-slapd.in to make them younger than template-start-slapd and template-stop-slapd.
Resolves: 229576
Resolves: 230673
Resolves: 230673
Resolves: 229280
Resolves: 231221
Resolves: 229513
Resolves: 232050
Resolves: 232050
The line to create db2bak.pl was missing...
Resolves: 232746
Resolves: #233027
Resolves: #233027
Resolves: #233215
Resolves: #233027
Resolves: #232050
Resolves: 233027
Resolves: #233215
Resolves: #233215
Resolves: #233215
Resolves: #237040
Resolves: #237040
Resolves: #237040
Resolves: #237731
Resolves: #237731
Resolves: #237356
Resolves: #237356
Resolves: #237356
Resolves: #237356
Resolves: #237356
Resolves: #237356
Resolves: #237356
Resolves: #237356
Resolves: #239337
Resolves: #237731
Resolves: #243488
Resolves: #237356
Resolves: 237356
Summary: Move DS Admin Code into Admin Server (Comment #62)
Resolves: #237356
Resolves: #244749
Resolves: #244749
Resolves: #245407
Resolves: #245407
Resolves: #244749
Resolves: #246690
Resolves: #247215
Resolves: #247215
Resolves: #247725
Resolves: #249722
Resolves: #249739
Resolves: #250347
Resolves: #250702
Resolves: #251090
Resolves: #253069
Resolves: #260341
Resolves: #260341
Resolves: #260341
Resolves: #273501
Resolves: #236256
Resolves: #240897
Resolves: #243820
Resolves: #171081
Resolves: #287961
Resolves: #241089
Fixed a typo I put in in the previous checkin.
Resolves #222918
Resolves: #312811
Fixed the brand and version mistakenly put in the previous check-in.
Resolves: #314851
Resolves: #196523
Resolves: #316281
Resolves: #304161
Resolves: #173873
Resolves: #193724
Resolves: #327091
Resolves: #188320
Resolves: #193724
Resolves #329951
Resolves: #336871
Resolves: #339031
Resolves: #188320
Resolves: #339791
Resolves: #193724
Resolves: #367671
Resolves: #383141
Resolves: #345671
Resolves: #371751
Resolves: #238649
Resolves: #316281
Resolves: #237040
Resolves: #229576
Resolves: #403351
Resolves: #231093
Resolves: #174776
Resolves: #403751
Resolves: #403751
Resolves: #428163
Resolves: 436397
Resolves: #428764
Resolves: #182621 (#443955)
Resolves: #230673
Resolves: #436400
Resolves: #436390
Resolves: #436388
Resolves: #436390
Resolves: #436837
Resolves: #436837
Resolves: #436837
Resolves: #436837 (comment #9)
Resolves: #436837
Resolves: #452328
Resolves: #437525
Resoves: #448831
Resolves: #450753
Resoves: #428929
Resolves: #447353
Resolves: #447353
Resolves: #436837
Resolves: #448831
Resolves: #456296
Resolves: #456752
Resolves: #428232
Resolves: #457156
Resolves: #457156
Resolves: #466702
reran autogen.sh (automake V1.9.6, autoconf V2.59)
Resolves: 207457
Resolves: 207457
Resolves: #468248
Resolves: #468248
Resolves: #468248
Resolves: 207457
Fixed typos in the HP-UX code: slapi_counter_get => slapi_counter_get_value
Fixing the build on Solaris (ldap_agent_bin-main.o)
Resolves: #207457
Resolves: #469243
Resolves: #469243
Resolves: #462922
Resolves: #469792
Resolves: #459302
Resolves: #466702
Resolves: #463774
Resolves: #207457
Resolves: #471138
Resolves: #471998
Resolves: #470084
Resolves: #472457
Resolves: #430172
Resolves: #472999
Resolves: #430993
Resolves: #469800
Resolves: #474248
Resolves: #474237
Resolves: #240512
Resolves: #474729
Resolves: 459433
Resolves: #447353
Resolves: #475338
Resolves: #475899
Resolves: #430568
Resolves: #475899
Resolves: #178248
Resolves: #438139
Resolves: #436830
Resolves: #464854
Resolves: #460613
Resolves: #469800
Resolves: #208076
Resolves: #483167
Resolves: #483366
Resolves: #483668
Resolves: #484149
Resolves: #484311
Resoves: #484157
Resolves: #485321
Resolves: #464651
Resolves: #476261
Resolves: #488856
Resolves: #476096
Resolves: #489763
Resolves: #489625
Resolves: #490027
Resolves: #476096
Resolves: #491215
Resolves: #489360
Resolves: #492562
Resolves: #475338
Resolves: #475338
Add Simple Paged Results
Use thread aware library for complex regex searches
Initialize smods in ldmb_back_modify
Compiler warnings and paged results on DSE
504383 PCRE breaks SASL Mapping
507460 Access log could mistakenly report notes=U for VLV searches
506137 ns-slapd hang while group aci performance testing
509269 Simple paged result crashes/hangs the server
509269 Simple paged result crashes/hangs the server
510147 clean up the replication log msg
513019 nsslapd-lookthroughlimit is not respected
Entry USN
513170 NULL search result does not return sort control
513172 Simple Paged Results does not respect nsslapd-sizelimit
Revert "513019 nsslapd-lookthroughlimit is not respected"
Apply SYNTAX_DN to Name And Optional UID
514770 remove per-entry response control for GER and Paged Results
GroupOfUniqueNames in template.ldif must have uniqueMember
513916 Server doesn't ignore paged control, if page size and server's estimate of total no of entries are same
509472 db2index all does not reindex all the db backends correctly
506786 Index maintenance mechanism causes wrong search results when
506786 Index maintenance mechanism causes wrong search results when
509472 db2index all does not reindex all the db backends correctly
Plugin Default Config Entry
516089 RFE: ldclt utility should support new dereferencing control searches
Add EntryUSN to the nsslapd-exclude-from-export list
518112 rhds 81 el53 64b ns-slapd seg fault
525007 ldif2db replaces existing modify/create name and timestamps
ldclt: -e randombinddnfromfile fails with LDAP_UNWILLING_TO_PERFORM (53)
544089 - Referential Integrity Plugin does not take into account the attribute
247413 - Incorrect error on multiple identical value add
560827 - Admin Server templates: DistinguishName validation fails
548535 - memory leak in attrcrypt
Fixing config_dir in DSUpdate.pm.in
Fixing a memory leak in repl5_protocol.c
Fixing a memory leak in dblayer.c
Fixing a memory leak in idl_new.c
Fixing a memory leak in dblayer.c
Fixing a memory leak in ldbm_attr.c
Initializing be_usn_counter in Slapi_Backend
Fixing a typo in entrywsi.c
Adding instancedir getter and setter to libglobs.c
Fixing a wrong comment in log.c
Adding DN syntax check API slapi_dn_syntax_check
Fixing error logs in modrdn.c
Check DN syntax in backend add, delete, modify and modrdn
Fixing a memory leak in sasl_map.c
563365 - Error handling problems in the backend functions
565987 - redhat-ds-base fails to build due to undefined struct
527848 - make sure db upgrade to 4.7 and later works correctly
539618 - Replication bulk import reports Invalid read/write
548115 - memory leak in schema reload
555970 - missing read lock in the combination of cos and nsview
539618 - Replication bulk import reports Invalid read/write
570667 - MMR: simultaneous total updates on the masters cause
199923 - subtree search fails to find items under a db
572649 - DS8.2 crashes on RHEL 4 (corresponding to bob, ber_2 test case)
573060 - DN normalizer: ESC HEX HEX is not normalized (
573896 - initializing subtree with invalid syntax crashes ns-slapd
515805 - Stop "initialize Database" crashes the server
548533 - memory leak in Repl_5_Inc_Protocol_new
Fixing a syntax error
Update to New DN Format
585905 - ACL with targattrfilters error crashes the server
574167 - An escaped space at the end of the RDN value is not
591336 - Implementing upgrade DN format tool
590931 - rhds81 import - hardcoded pages_limit for nsslapd-import-cache-autosize
A bug fix made in commit 142d7ada626173de4937330be6776fabbebe9f60
Another bug fix made in commit 142d7ada626173de4937330be6776fabbebe9f60
Yet another bug fix made in commit 142d7ada626173de4937330be6776fabbebe9f60
A bug fix made in commit a5a9949fd16c6d268f0f2676f8bdbb926dc43539
Additional fix for 591336 - Implementing upgrade DN format tool
592497 - rhds82 - nsslapd-syntaxcheck seem to be on by default, need off
593453 - Creating password policy with ns-newpolicy.pl on Replicated
593110 - backup-restore does not ALWAYS work
593899 - adding specific ACI causes very large mem allocate request
588867 - entryusn plugin fails on solaris
593899 - adding specific ACI causes very large mem allocate request
595893 - Base DN in SASL mapping is not normalized
511112 - Password history limited to 25 values
597375 - Deleting LDBM database causes backup/restore problem
605827 - In-place upgrade: upgrade dn format should not run in setup-ds-admin.pl
606920 - anonymous resource limit - nstimelimit -
Pete Rowley (8):
172683: Search filter does not work on physical entries within views
173375: Problems with schema matching rules
177444: duplicate password policy oids in root DSE
minor edits to remove references to cos in the example
Distributed numeric assignment plugin - initial check in
Add LDAPI
corrected copyright statement
fix defined out code to really be defined out
Rich Megginson (493):
Bug(s) fixed: 145179
remove references to ldapserver from makefiles; use BUILD_ROOT instead of MCOM_ROOT and NSROOT; BUILD_ROOT is now the ldapserver directory rather than its parent
Whoops. Checked in some private stuff I had to work around vsftpd problems.
Do not do the DIST step - we are not distributing this software built here
RPM packaging - parameterize the pkg root directory using INSTDIR
RPM packaging - does the old setup pre and post installation tasks
RPM packaging - the ldapserver.spec file and the builddsrpm.sh script to do the prep work
Derive ABS_INSTDIR directly from INSTDIR
RPM packaging - set the flag to build java files - use serverroot/setup/setup insetad of serverroot/setup
Bug: 147157
Bug(s) fixed: 147162
checkin first version of pam plugin
PAM pass through auth plugin support
added
added
Bug(s) fixed: 147585
Rename add_pwd_control to slapi_add_pwd_control
Fixed problem with declaration after executable code.
Do not build pam auth plugin on Windows
If USING_VSFTPD is defined, some hacks around pulling components via ftp are used.
fix Windows build issues
get rid of adminutil dependency on core DS
readding because otherwise Windows is horked
removed strlist
clean up sprintf usage and many other flawfinder issues; clean up compiler warnings on Linux; remove pam_passthru from DS 7.1
fix Windows build issues
fix Windows build - use local functions instead of NSPR - fix compiler warnings
fix Windows installer breakage - wrong argument to va_start - use fmt instead of s
upgrade to SVRCORE 4.0 - the open source version
This one is mostly strcpy/strcat checking, checking for null strings before strlen, removing some dead code, other odds and ends.
use prefix instead of hardcoded ldapserver
add link debugging for debug builds on linux
add support for instance creation using open source core DS components
use mtmalloc instead of SmartHeap on Solaris
When creating a script, if the destination directory does not exist, just print a notice and skip that script. This is to allow the open source instance creator to skip creating the repl monitor script in admin/admin which does not yet exist.
Fix snprintf into sizeof(char *) instead of actual buffer size
This files contents have been merged into internal_buildpaths.mk, components.mk, and internal_comp_deps.mk
was using wrong section
add ability to build from open source components
remove ns_usedb.mk
put sh_ in front of smartheap component name
Bug(s) fixed: 145179
Use v5.15 of ldapsdk
Bug(s) fixed: 152030
1) remove fortezza stuff
fixed spacing
Bug(s) fixed: 151567
Bug(s) fixed: 151721
I got rid of ldapserver.spec. Instead, the spec file will be created on the fly. The only parameter passed in is the flavor - redhat or fedora. Everything else comes from the brandver.dat file. PLATFORM is derived from BUILD_ARCH in the usual Makefile way. So we could easily support Solaris or whatever else. The Makefile change is to allow you to produce the .spec file without having to build everything else. The change to reltools/brandver.pl allows us to change only the named files rather than every file in the .dat file.
--macros seems not to work - using --define to define our macro on the command line
Bug(s) fixed: 147886
fix brandDirectory breakage - skip redhat-ds.spec when branding
Use setup -q to suppress tar output
Bug(s) fixed: 153686
Make RPM binary name .opt.rpm or .dbg.rpm depending on build flavor
make rpm name .flavor.rpm - flavor must be defined in rpmbuild
Bug(s) fixed: 145179
setup/setup was being installed as setup/setup/setup
Bug(s) fixed: 154064
Reviewed by Nathan (Thanks!)
Check for last version removal in preun - only run uninstall if removing the last version
Bug(s) fixed: 154235
Added more support for building from source, specifically support for
Bug(s) fixed: 154431
Bug(s) fixed: 153955
Bug(s) fixed: 155087
Fix Solaris open source build breakage - reviewed by Noriko
Change release to 2
Upgrade to ldapconsole 20050510 and ldap c sdk 5.16
Bug(s) fixed: 157377
Bump up ldapconsole version to 20050513
Bug(s) fixed: 157341
Change version of ad sync and nt4 sync to 0516
Correctly report in the repl agreement status attrs that the repl init failed when it failed due to attempting to do fractional replication to another master.
Only check the read only status of the consumer for the fractional case if the acquire process has been successful thus far.
remove full and optimize from the file names of the winsync components
Bug: 158250
Bug(s) fixed: 158235
Bug(s) fixed: 158330
Bug(s) fixed: 158368
bug 158368 - remove nt group type as well
Bug(s) fixed: 158549
Bug 160008
PAM is not thread safe. Therefore, we must put the code that accesses PAM
Bug(s) fixed: 165600
Bug(s) fixed: 165640
Bug(s) fixed: 165827
Bug(s) fixed: 151678
Bug(s) fixed: 166229
Bug(s) fixed: 165641
Bug(s) fixed: 167453
upgrade winsync to 20050912 for bug 159037 and upgrade directory console to 20050913 for bug 167761
Bug(s) fixed: 169663
also checkin fix for 170350 onto trunk
Bug(s) fixed: 171066
Bug(s) fixed: 171854
Bug(s) fixed: 171892
Bug(s) fixed: 172005
Bug(s) fixed: 172056
Bug(s) fixed: 166229, 166081
Bug(s) fixed: 172672
Bug(s) fixed: 172818
Reviewed by Nathan (Thanks!)
set defaults to build java code, and use java, ant, and perl from PATH for external builds
added a dependency on httpd
add jar files back to the main package - even though the gpl and apl are not generally compatible, they are compatible for this specific case
remove Requires for java - breaks non-RHEL platforms - we should either change the spec file to include the dependency only on RHEL, or just wait until gcj/classpath can run our stuff
Fix the problem with the Admin Server console - error opening the encryption tab. The solution is to chown the alias directory to the admin server uid so that the security CGI can create the key/cert dbs in that directory.
Fix two problems
The DS console Configuration Encryption tab was giving an error. The error was due to the security CGI not being able to read the ds key/cert db files. They were owned by root instead of the server uid because they were being created by NSS_Initialize which was being called before the server did the setuid.
Move ssl init on the secure socket into main with the rest of the nss/ssl init
Move NSS/SSL initialization after the setuid so that key/cert/other nss
1) Move the import, export, etc. (non network server mode) code to after the NSS/SSL init. For example, import needs to hash passwords, export of encrypted attrs needs encryption.
Cannot pass const strings into slapi_str2filter, since it can modify
Bug(s) fixed: 175053
Bug(s) fixed: 175098
Bump version from 1.0 to 1.0.1
add the console-ld-libpath.patch for bug 174981
need to patch the console in both upgrade installation and regular installation
the install is an upgrade if the %post argument is greater than 1, not greater than or equal to 1
Bug(s) fixed: 176302
Bug(s) fixed: 180515
Bug(s) fixed: 178479
Use NSS 3.11 and NSPR 4.6.1 - NSS 3.11 requires the new freebl lib at runtime,
Wan-Teh pointed out that the platform specific freebl libs are needed _instead of_ libfreebl3, not _in addition to_. So, set the list of platform specific freebl libs and add them to the list of libs to package.
Bug(s) fixed: 181587
The correct naming convention for RHEL is
Bug(s) fixed: 181776
1) Fix moz objdir name for generic linux x86_64
Reviewed by Nathan (Thanks!)
Don't attempt to package 32 bit NSS apps/libs with the 64 bit package on rhel/linux - assume everything is native 64 bit.
Change version to 1.0.2
Still need the console ld libpath patch for startconsole
Bug(s) fixed: 182613
Bug(s) fixed: 179135
Bug(s) fixed: 179137
Bug: 179810
Have to add back softokn3 to the link libs - dependent libs are linked directly against it and expect it to be present at link time.
Some DSGW programs must not be linked with SSL, including the LDAP ssl library. On RHEL3, this causes a linker error, but appears to be fine on other platforms. So, just use the LDAP_NOSSL_LINK macro for those programs, and use the LDAPLINK macro for the other programs.
added patch file for upgrading from 1.0.1 - fixes the use of admpw for basic auth
Added admserv-conf-admpw.patch to fix the use of admpw for basic auth in the actual config file
Bug(s) fixed: 179723
Make the build/pull work like the adminserver does with respect to console. Otherwise, dsbuild with recent code no longer works.
Bug(s) fixed: 186280
Bug(s) fixed: 186280
use slapi_entry_attr_get_bool instead of slapi_entry_attr_get_int for the fallback and secure config attrs
Bug(s) fixed: 205456
Bug: 205456
Bug: 205456
Bug: 205456
remove extraneous endif
Create core DS tarball for acceptance test
Bug: 205456
Bug(s) fixed: 206450
Bug: 206527
minor change to test commit email notification
use new 20060915 version of perldap
Bug: 206527
Bug(s) fixed: 206662
fix build breakage - use PERLDAP_BUILT_DIR as the location to download perl since the full DEP has two directory levels in it
update internal builds to use latest components
Bug(s) fixed: 202889:
Bug(s) fixed: 199321
Bug(s) fixed: 210075
Bug(s) fixed: 210120
Bug(s) fixed: 210220
Bug(s) fixed: 185364
Bug(s) fixed: 183903
Bug(s) fixed: 185780
For FDS 103 - When I changed the makefiles around for the earlier fix to enable rpmbuild,
Bug(s) fixed: 204623
Change the way ldapserver links with SASL. Rather than specifying a hard coded link path
enable pam_passthru for fedora ds builds
Bug(s) fixed: 211426
Bug(s) fixed: 213352
Bug(s) fixed: 213786
upgrade version to 1.0.4
Bug(s) fixed: 214243
1) Fedora Core 6 build fixes
Bug: 214733
Bug: 214733
Resolves: bug 215669
Resolves: bug 214851
Resolves: bug 215995
Bug(s) fixed: 216758
Bug: 210947
Resolves: bug 217403
I noticed a problem with the autoconf style builds that shows up on 64 bit - some of the scripts had /usr/lib/mozldap6 in the PATH, and some had /usr/lib64/mozldap6. All of them should have lib64. What was happening is that make would create some script templates from the corresponding template .in file, and some it would just copy over (those that have both a template-script and a template-script.in). The template-script files have hardcoded /usr/lib/ - it requires the conversion from template-script.in to template-script to substitute /usr/lib64/ instead.
Resolves: bug 218076
Resolves: bug 222398
Resolves: bug 224291
Resolves: bug 224606
Resolves: bug 224672
Resolves: bug 147886
Resolves: bug 224606
fix build problems on Solaris; minor m4 cleanup
fix licensing in sasl.m4
Resolves: bug 227452
esolves: bug 227618
Resolves: bug 227771
Resolves: bug 160235
Resolves: bug 227771
make sure .in files are newer than corresponding template script file
Remove some bash-isms that were causing problems on RHEL-4
Resolves: bug 228334
change version to 1.1.0a1
Resolves: bug 229286
Resolves: bug 229691
Need to terminate dna plugin config entry with a newline
Resolves: bug 229825
Resolves: bug 229077
Resolves: bug 230498
Resolves: bug 230808
Resolves: bug 231507
Resolves: bug 232377
Resolves: bug 232684
Resolves: bug 231905
Resolves: bug 232684
Bump version to 1.1.0 alpha 3 (1.1.0a3)
Resolves: bug 233410
Resolves: bug 235743
Resolves: bug 239764
Resolves: bug 238563
Resolves: bug 239765
Resolves: bug 243205
Resolves: bug 237356
Resolves: bug 237356
Resolves: bug 243639
Resolves: bug 237356
Resolves: bug 237356
Resolves: bug 237356
Resolves: bug 237356
Resolves: bug 237356
Resolves: bug 237356
remove obsolete files
Resolves: bug 245815
Added nsslapd-ldifdir and nsslapd-bakdir
Resolves: bug 246683
Resolves: bug 245815
Resolves: bug 248145
Resolves: bug 248145
Resolves: bug 248272
Resolves: bug 248145
Resolves: bug 248820
move setup-ds.pl and migrate-ds.pl to sbindir
removed more obsolete files
forgot to tell Makefile.am about removed obsolete files
Resolves: bug 249470
Resolves: bug 249633
Resolves: bug 250535
Resolves: bug 237356
Resolves: bug 251227
The arguments to memset were in the wrong order. This code is only used on Windows.
forgot to commit the autotool generated files
revert back to using autoconf 2.59 - 2.61 causes the -avoid-version flag to be ignored, which causes rpm packaging errors
Resolves: bug 251227
Resolves: bug 251227
using ldap also pulls in nss and nspr, so we have to add those - also, put those first in the link line, so that the build finds the dirsec versions of those components and not the mozilla/seamonkey ones in libdir
Resolves: bug 251549
Resolves: bug 252190
Resolves: bug 252190
Resolves: bug 253047
Resolves: bug 252263
Resolves: bug 260341
Resolves: bug 262021
Resolves: bug 276741
Resolves: bug 281631
Resolves: bug 244475
Resolves: bug 282741
Resolves: bug 283041
try to fix build breakage on RHEL5
Resolves: bug 288451
Resolves: bug 288451
Resolves: bug 288451
Resolves: bug 249366
Resolves: bug 262021
Resolves: bug 301431
Resolves: bug 262021
Resolves: bug 301811
Resolves: bug 249366
Resolves: bug 282911
Resolves: bug 249366
Resolves: bug 249366
Resolves: bug 248169
Resolves: bug 190220
Resolves: bug 305121
Resolves: bug 244475
migration starts instances now
Resolves: bug 317651
Resolves: bug 165761
remove obsolete schema
Resolves: bug 288291
Resolves: bug 330121
Resolves: bug 330141
Resolves: bug 185602
Resolves: bug 333291
Resolves: bug 250179
Resolves: bug 250179
Have to free instdir not instname
Resolves: bug 232910
Resolves: bug 297221
Resolves: bug 338991
Resolves: bug 339041
Resolves: bug 336881
Resolves: bug 297221
Resolves: bug 340211
Resolves: bug 232910
Resolves: bug 340361
Resolves: bug 232910
Resolves: bug 345711
Resolves: bug 345711
Resolves: Bug 345711
Resolves: bug 353071
bump source code version to 1.1.0 beta 2
Resolves: bug 339041
Resolves: bug 367721
Resolves: bug 345711
Resolves: bug 197997
Resolves: bug 388021
Resolves: bug 371771
Resolves: bug 400421
Reviewed by: nhosoi (Thanks!)
Resolves: bug 416721
Resolves: bug 424381
Resolves: bug 424381
Resolves: bug 425861
Resolves: bug 425849
bump version to 1.1.0 for Fedora DS 1.1 release
Resolves bug 434403
merge in autotool file fixes for gcc43 with the memberof autotool file additions
Resolves: bug 439829
bump version to 1.1.1 - add define for new public slapi task interface
have to use *be instead of be in call to be_isdeleted
Resolves: bug 442170
Resolves: bug 450973
Resolves: bug 233642
Resolves: bug 431103
Resolves: bug 452323
Resolves: bug 435774
Resolves: bug 440899
Reviewed by: nkinder (Thanks!)
Resolves: bug 428765
Resolves: bug 447614
Resolves: bug 447353
Resolves: bug 457846
Resolves: bug 447353
Resolves: bug 457846
Resolves: bug 458171
Resolves: bug 457156
Resolves: bug 458506
Resolves: bug 458507
Resolves: bug 458510
Resolves: bug 458668
Resolves: bug 458675
Resolves: bug 458677
Resolves: bug 458666
a couple of enhancements that make it easier to run the server under various debugging tools
Resolves: bug 457846
Resolves: bug 460381
Resolves: bug 459850
Resolves: bug 457846
bump version to 1.1.3
Resolves: bug 457846
Bug Description: Need to address 64-bit compiler warnings - part 1
Resolves: bug 454030
Resolves: bug 454030, bug 463991
fix inttypes build breakage on HP-UX
Resolves: bug 455026 bug 441026
Resolves: bug 454030
fix typo
Resolves: bug 469261
Resolves: bug 469243
Resolves: bug 469261
Resolves: bug 469261
Resolves: bug 469261
Resolves: bug 469261
Resolves: bug 469261
Resolves: bug 454030
Resolves: bug 476127
Resolves: bug 476891
Resolves: bug 476891
Resolves: bug 479077
Resolves: bug 478656
Resolves: bug 471068
Resolves: bug 204966
Resolves: bug 479202
Resolves: bug 479313
Resolves: bug 222055
Resolves: bug 202134
Resolves: bug 179956
Resolves: bug 481223
Resolves: bug 479253
Resolves: bug 482909
Resolves: bug 480642
Resolves: bug 483256
Resolves: bug 483254
Resolves: bug 431607
Resolves: bug 481052
Resolves: bug 477009
Resolves: bug 485694
Resolves: bug 486191
Resolves: bug 486191
Resolves: bug 468474
Resolves: bug 486474
Resolves: bug 486495
Resolves: bug 480869
Resolves: bug 450575
Resolves: bug 487425
Resolves: bug 488866
Resolves: bug 488814
Resolves: bug 488866
Resolves: bug 488866
Resolves: bug 480869
Resolves: bug 489360
Resolves: bug 479254
bump version to 1.2.0
add back support for linux ppc
re-enable ppc support
Rename to 389
bump version to 1.2.1 - added .gitignore
fix rpmlint issues - config files and perl modules should not be executable
Fix various compiler warnings
Resolves: bug 501490 - Error creating view on FDS 1.2
Added full text of GPLv2 license
Implement SASL I/O as an NSPR I/O layer
initial commit of io function improvements
OpenLDAP support
Clean up compiler warnings
Reduce noise reported by valgrind
Fix attrcrypt usage of nsSymmetricKey
Fix unsalted password comparisons
Dereference support
Change default branding to 389 - remove lite code
fix pcre build issues
Fix usage of pre-hashed salted passwords
bump version to 1.2.2
Retry SASL writes if buffer not fully sent
https://bugzilla.redhat.com/show_bug.cgi?id=487425
Fails to start if attrcrypt can't unwrap keys
Clean up build warnings
Add update code - make setup-ds.pl -u do updates
389-ds-base/glibmm24: conflicting perl provides
Start script hardcodes file permissions mask to 077 (600), so the nsslapd-*log-mode configuration attributes don't work
logs created at startup can get wrong file mode
Should not attempt to pop SASL IO layer if not using SASL IO
empty principal name used when using server to server sasl for db chaining
MODIFY/replace with empty values does not ignore missing or unknown attributes
Bitwise Plugin: Bitwise filter doesn't return except the first entry if its multi-valued
SASL IO sometimes loops with "error: would block"
Updated man page with the new update options and documentation.
more updates - add missing rundir - remove ldapiautodnsuffix
bump version to 1.2.4
Implement support for versioning and release engineering procedures - version 1.2.5.a1
Add Named Pipe Log Script, plugins, man page
bump version to 1.2.5.rc1
bump version to 1.2.5.rc2
bump version to 1.2.5.rc3
Password replication from 389DS to AD fails
version 1.2.5.rc4
Workaround bogus base64 encoded passwords that end in newline
bump version to 1.2.6.a1
rhds81 hub with 71 master - err=32 on replica base search during replication
Bug 519459 - Semi-hardcoded include and lib directories in db.m4
several spelling errors
Net::LDAP password modify extop breaks; msgid in response is 0xFF
Bug 543080 - Bitwise plugin fails to return the exact matched entries for Bitwise search filter
Bug 537466 - nsslapd-distribution-plugin should not require plugin name to begin with "lib"
fix memory leak in attr replace when replacement fails
Bug 568196 - Install DS8.2 on Solaris fails
Bug 568196 - Install DS8.2 on Solaris fails - part 2
389 DS segfaults on libsyntax-plugin.so - part 1
389 DS segfaults on libsyntax-plugin.so - part 2
fix various memory leaks
Bug 554573 - ACIs use bind DN from bind req rather than cert mapped DN from sasl/external
Bug 570905 - postalAddress syntax should allow empty lines (should allow $$)
Bug 572677 - Memory leak in searches including GER control
Bug 571677 - Busy replica on consumers when directly deleting a replication conflict
Bug 576074 - search filters with parentheses fail
Bug 567429 - slapd didn't close connection and get into CLOSE_WAIT state
Bug 578167 - repl. of mod/replace deletes multi-valued attrs
Bug 561575 - setup-ds-admin fails to supply nsds5ReplicaName when configuring via ConfigFile
Bug 577384 - Remove-ds.pl script throws "sh: STARTPIDFILE.*=: not found" error on Solaris 9
Bug 578229 - Blocked sync afer UID or ntUserDomainId change
Bug 572162 - the string "|*" within a search filter on a non-indexed attribute returns all elements.
Bug 576644 - segfault while multimaster replication (paired node won't find deleted entries)
Bug 583167 - remove-ds.pl gives error Couldn't open /etc/sysconfig/dirsrv-$INSTANCE
Fix too few args for format warning in acllas
Bug 591685 - Server instances Fail to Start on Solaris due to Library Path and pcre
Bug 593392 - setup-ds-admin.pl -k creates world readable file
Bug 595874 - 99user.ldif getting overpopulated
Bug 604453 - SASL Stress and Server crash: Program quits with the assertion failure in PR_Poll
Bug 604453 - SASL Stress and Server crash: Program quits with the assertion failure in PR_Poll
Bug 603942 - null deref in _ger_parse_control() for subjectdn
Rob Crittenden (7):
149510
149510
149510
149510
156273
156273
Changes so DS can be built with gcc on Solaris.
Thomas Lackey (13):
Replace missing makefile referenced by SunOS5.8.mk and SunOS5.9.mk. This file is needed to build on Solaris.
Add new sync wizard help pages. Alter text of repl4 (summary) wizard page.
Pickup new doc files.
Allow the migration scripts to recognize the Red Hat-branded server.
Add makefile and component information to build the Apache DS for User Sync
Build PassSync on Windows.
Fix NTDS maven location.
Add WiX component information.
Add Wix dependency.
Add installer icons.
Modify NTDS and PassSync to build in the 'built' directory.
Use WinSync components from sbc.
Fix bug 155276, crash if config has changed since restore.
Yi Zhang (2):
459181 - Add attreplacefile option to ldclt
516089 - add dereference search option into ldclt
cvsadm (1):
Moving NSCP Directory Server from DirectoryBranch to TRUNK, initial drop. (foxworth)
svrbld (4):
SNMP subagent fixes for HP-UX compiler errors
New RPM packaging options
Use Linux rpm build for longduration test.
Fixed object build path: convert relative path to absolute path (tlackey)
unknown (1):
This commit was manufactured by cvs2git to create branch
13 years, 10 months
Branch '389-ds-base-1.2.6' - ldap/servers
by Nathan Kinder
ldap/servers/plugins/replication/windows_private.c | 42 ++++++++++++++-
ldap/servers/plugins/replication/windows_protocol_util.c | 7 ++
ldap/servers/plugins/replication/windowsrepl.h | 2
3 files changed, 49 insertions(+), 2 deletions(-)
New commits:
commit 2570fbb225dc0b6f0bd3794538cf33986a3a4395
Author: Nathan Kinder <nkinder(a)redhat.com>
Date: Fri Jul 9 10:23:51 2010 -0700
Bug 612242 - membership change on DS does not show on AD
When a change was made to a DN mapped attribute in DS (such as
uniqueMember in a group entry), we may end up searching for the
entries that those values point to in AD when winsync is being
used. We were overwriting the "raw entry" pointer every time we
searched for an entry in AD. The raw entry is intended to point
to the entry that the original modification was made to, not the
entry that a DN mapped attribute value points to.
The fix is to add a flag that will force the raw entry to be kept
when we search for an entry in AD. We set this flag when we search
for entries that are pointed to be DN mapped attribute values and
reset it when we are finished. This results in the raw entry being
the actual entry that is the target of the operation we are syncing.
diff --git a/ldap/servers/plugins/replication/windows_private.c b/ldap/servers/plugins/replication/windows_private.c
index 8ba8b5c..e6f1e81 100644
--- a/ldap/servers/plugins/replication/windows_private.c
+++ b/ldap/servers/plugins/replication/windows_private.c
@@ -72,6 +72,7 @@ struct windowsprivate {
Slapi_Filter *directory_filter; /* Used for checking if local entries need to be sync'd to AD */
Slapi_Filter *deleted_filter; /* Used for checking if an entry is an AD tombstone */
Slapi_Entry *raw_entry; /* "raw" un-schema processed last entry read from AD */
+ int keep_raw_entry; /* flag to control when the raw entry is set */
void *api_cookie; /* private data used by api callbacks */
time_t sync_interval; /* how often to run the dirsync search, in seconds */
};
@@ -845,12 +846,49 @@ void windows_private_set_raw_entry(const Repl_Agmt *ra, Slapi_Entry *e)
dp = (Dirsync_Private *) agmt_get_priv(ra);
PR_ASSERT (dp);
- slapi_entry_free(dp->raw_entry);
- dp->raw_entry = e;
+ /* If the keep raw entry flag is set, just free the passed
+ * in entry and leave the current raw entry in place. */
+ if (windows_private_get_keep_raw_entry(ra)) {
+ slapi_entry_free(e);
+ } else {
+ slapi_entry_free(dp->raw_entry);
+ dp->raw_entry = e;
+ }
LDAPDebug0Args( LDAP_DEBUG_TRACE, "<= windows_private_set_raw_entry\n" );
}
+/* Setting keep to 1 will cause the current raw entry to remain, even if
+ * windows_private_set_raw_entry() is called. This behavior will persist
+ * until this flag is set back to 0. */
+void windows_private_set_keep_raw_entry(const Repl_Agmt *ra, int keep)
+{
+ Dirsync_Private *dp;
+
+ LDAPDebug0Args( LDAP_DEBUG_TRACE, "=> windows_private_set_keep_raw_entry\n" );
+
+ dp = (Dirsync_Private *) agmt_get_priv(ra);
+ PR_ASSERT (dp);
+
+ dp->keep_raw_entry = keep;
+
+ LDAPDebug0Args( LDAP_DEBUG_TRACE, "<= windows_private_set_keep_raw_entry\n" );
+}
+
+int windows_private_get_keep_raw_entry(const Repl_Agmt *ra)
+{
+ Dirsync_Private *dp;
+
+ LDAPDebug0Args( LDAP_DEBUG_TRACE, "=> windows_private_get_keep_raw_entry\n" );
+
+ dp = (Dirsync_Private *) agmt_get_priv(ra);
+ PR_ASSERT (dp);
+
+ LDAPDebug0Args( LDAP_DEBUG_TRACE, "<= windows_private_get_keep_raw_entry\n" );
+
+ return dp->keep_raw_entry;
+}
+
void *windows_private_get_api_cookie(const Repl_Agmt *ra)
{
Dirsync_Private *dp;
diff --git a/ldap/servers/plugins/replication/windows_protocol_util.c b/ldap/servers/plugins/replication/windows_protocol_util.c
index 65de19d..f69cb7a 100644
--- a/ldap/servers/plugins/replication/windows_protocol_util.c
+++ b/ldap/servers/plugins/replication/windows_protocol_util.c
@@ -406,6 +406,10 @@ map_dn_values(Private_Repl_Protocol *prp,Slapi_ValueSet *original_values, Slapi_
Slapi_Value *original_value = NULL;
int retval = 0;
int i = 0;
+
+ /* Set the keep raw entry flag to avoid overwriting the existing raw entry. */
+ windows_private_set_keep_raw_entry(prp->agmt, 1);
+
/* For each value: */
i= slapi_valueset_first_value(original_values,&original_value);
while ( i != -1 ) {
@@ -531,6 +535,9 @@ map_dn_values(Private_Repl_Protocol *prp,Slapi_ValueSet *original_values, Slapi_
{
*mapped_values = new_vs;
}
+
+ /* Restore the keep raw entry flag. */
+ windows_private_set_keep_raw_entry(prp->agmt, 0);
}
static void
diff --git a/ldap/servers/plugins/replication/windowsrepl.h b/ldap/servers/plugins/replication/windowsrepl.h
index 3d216e0..f413746 100644
--- a/ldap/servers/plugins/replication/windowsrepl.h
+++ b/ldap/servers/plugins/replication/windowsrepl.h
@@ -78,6 +78,8 @@ const char* windows_private_get_purl(const Repl_Agmt *ra);
Slapi_Entry *windows_private_get_raw_entry(const Repl_Agmt *ra);
/* this is passin - windows_private owns the pointer, not a copy */
void windows_private_set_raw_entry(const Repl_Agmt *ra, Slapi_Entry *e);
+void windows_private_set_keep_raw_entry(const Repl_Agmt *ra, int keep);
+int windows_private_get_keep_raw_entry(const Repl_Agmt *ra);
void *windows_private_get_api_cookie(const Repl_Agmt *ra);
void windows_private_set_api_cookie(Repl_Agmt *ra, void *cookie);
time_t windows_private_get_sync_interval(const Repl_Agmt *ra);
13 years, 10 months
Branch 'Directory_Server_8_2_Branch' - ldap/servers
by Nathan Kinder
ldap/servers/plugins/replication/windows_private.c | 42 ++++++++++++++-
ldap/servers/plugins/replication/windows_protocol_util.c | 7 ++
ldap/servers/plugins/replication/windowsrepl.h | 2
3 files changed, 49 insertions(+), 2 deletions(-)
New commits:
commit b7888ed0511a93156943be4e45bf1e261804f641
Author: Nathan Kinder <nkinder(a)redhat.com>
Date: Fri Jul 9 10:23:51 2010 -0700
Bug 612242 - membership change on DS does not show on AD
When a change was made to a DN mapped attribute in DS (such as
uniqueMember in a group entry), we may end up searching for the
entries that those values point to in AD when winsync is being
used. We were overwriting the "raw entry" pointer every time we
searched for an entry in AD. The raw entry is intended to point
to the entry that the original modification was made to, not the
entry that a DN mapped attribute value points to.
The fix is to add a flag that will force the raw entry to be kept
when we search for an entry in AD. We set this flag when we search
for entries that are pointed to be DN mapped attribute values and
reset it when we are finished. This results in the raw entry being
the actual entry that is the target of the operation we are syncing.
diff --git a/ldap/servers/plugins/replication/windows_private.c b/ldap/servers/plugins/replication/windows_private.c
index 8ba8b5c..e6f1e81 100644
--- a/ldap/servers/plugins/replication/windows_private.c
+++ b/ldap/servers/plugins/replication/windows_private.c
@@ -72,6 +72,7 @@ struct windowsprivate {
Slapi_Filter *directory_filter; /* Used for checking if local entries need to be sync'd to AD */
Slapi_Filter *deleted_filter; /* Used for checking if an entry is an AD tombstone */
Slapi_Entry *raw_entry; /* "raw" un-schema processed last entry read from AD */
+ int keep_raw_entry; /* flag to control when the raw entry is set */
void *api_cookie; /* private data used by api callbacks */
time_t sync_interval; /* how often to run the dirsync search, in seconds */
};
@@ -845,12 +846,49 @@ void windows_private_set_raw_entry(const Repl_Agmt *ra, Slapi_Entry *e)
dp = (Dirsync_Private *) agmt_get_priv(ra);
PR_ASSERT (dp);
- slapi_entry_free(dp->raw_entry);
- dp->raw_entry = e;
+ /* If the keep raw entry flag is set, just free the passed
+ * in entry and leave the current raw entry in place. */
+ if (windows_private_get_keep_raw_entry(ra)) {
+ slapi_entry_free(e);
+ } else {
+ slapi_entry_free(dp->raw_entry);
+ dp->raw_entry = e;
+ }
LDAPDebug0Args( LDAP_DEBUG_TRACE, "<= windows_private_set_raw_entry\n" );
}
+/* Setting keep to 1 will cause the current raw entry to remain, even if
+ * windows_private_set_raw_entry() is called. This behavior will persist
+ * until this flag is set back to 0. */
+void windows_private_set_keep_raw_entry(const Repl_Agmt *ra, int keep)
+{
+ Dirsync_Private *dp;
+
+ LDAPDebug0Args( LDAP_DEBUG_TRACE, "=> windows_private_set_keep_raw_entry\n" );
+
+ dp = (Dirsync_Private *) agmt_get_priv(ra);
+ PR_ASSERT (dp);
+
+ dp->keep_raw_entry = keep;
+
+ LDAPDebug0Args( LDAP_DEBUG_TRACE, "<= windows_private_set_keep_raw_entry\n" );
+}
+
+int windows_private_get_keep_raw_entry(const Repl_Agmt *ra)
+{
+ Dirsync_Private *dp;
+
+ LDAPDebug0Args( LDAP_DEBUG_TRACE, "=> windows_private_get_keep_raw_entry\n" );
+
+ dp = (Dirsync_Private *) agmt_get_priv(ra);
+ PR_ASSERT (dp);
+
+ LDAPDebug0Args( LDAP_DEBUG_TRACE, "<= windows_private_get_keep_raw_entry\n" );
+
+ return dp->keep_raw_entry;
+}
+
void *windows_private_get_api_cookie(const Repl_Agmt *ra)
{
Dirsync_Private *dp;
diff --git a/ldap/servers/plugins/replication/windows_protocol_util.c b/ldap/servers/plugins/replication/windows_protocol_util.c
index 96af057..9a0b4c2 100644
--- a/ldap/servers/plugins/replication/windows_protocol_util.c
+++ b/ldap/servers/plugins/replication/windows_protocol_util.c
@@ -431,6 +431,10 @@ map_dn_values(Private_Repl_Protocol *prp,Slapi_ValueSet *original_values, Slapi_
Slapi_Value *original_value = NULL;
int retval = 0;
int i = 0;
+
+ /* Set the keep raw entry flag to avoid overwriting the existing raw entry. */
+ windows_private_set_keep_raw_entry(prp->agmt, 1);
+
/* For each value: */
i= slapi_valueset_first_value(original_values,&original_value);
while ( i != -1 ) {
@@ -556,6 +560,9 @@ map_dn_values(Private_Repl_Protocol *prp,Slapi_ValueSet *original_values, Slapi_
{
*mapped_values = new_vs;
}
+
+ /* Restore the keep raw entry flag. */
+ windows_private_set_keep_raw_entry(prp->agmt, 0);
}
static void
diff --git a/ldap/servers/plugins/replication/windowsrepl.h b/ldap/servers/plugins/replication/windowsrepl.h
index 0b0770b..c476969 100644
--- a/ldap/servers/plugins/replication/windowsrepl.h
+++ b/ldap/servers/plugins/replication/windowsrepl.h
@@ -78,6 +78,8 @@ const char* windows_private_get_purl(const Repl_Agmt *ra);
Slapi_Entry *windows_private_get_raw_entry(const Repl_Agmt *ra);
/* this is passin - windows_private owns the pointer, not a copy */
void windows_private_set_raw_entry(const Repl_Agmt *ra, Slapi_Entry *e);
+void windows_private_set_keep_raw_entry(const Repl_Agmt *ra, int keep);
+int windows_private_get_keep_raw_entry(const Repl_Agmt *ra);
void *windows_private_get_api_cookie(const Repl_Agmt *ra);
void windows_private_set_api_cookie(Repl_Agmt *ra, void *cookie);
time_t windows_private_get_sync_interval(const Repl_Agmt *ra);
13 years, 10 months
ldap/servers
by Nathan Kinder
ldap/servers/plugins/replication/windows_private.c | 42 ++++++++++++++-
ldap/servers/plugins/replication/windows_protocol_util.c | 7 ++
ldap/servers/plugins/replication/windowsrepl.h | 2
3 files changed, 49 insertions(+), 2 deletions(-)
New commits:
commit f1d509ec6f97fced6ad06b0fbe458444cd444825
Author: Nathan Kinder <nkinder(a)redhat.com>
Date: Fri Jul 9 10:23:51 2010 -0700
Bug 612242 - membership change on DS does not show on AD
When a change was made to a DN mapped attribute in DS (such as
uniqueMember in a group entry), we may end up searching for the
entries that those values point to in AD when winsync is being
used. We were overwriting the "raw entry" pointer every time we
searched for an entry in AD. The raw entry is intended to point
to the entry that the original modification was made to, not the
entry that a DN mapped attribute value points to.
The fix is to add a flag that will force the raw entry to be kept
when we search for an entry in AD. We set this flag when we search
for entries that are pointed to be DN mapped attribute values and
reset it when we are finished. This results in the raw entry being
the actual entry that is the target of the operation we are syncing.
diff --git a/ldap/servers/plugins/replication/windows_private.c b/ldap/servers/plugins/replication/windows_private.c
index d6f8e51..d855b85 100644
--- a/ldap/servers/plugins/replication/windows_private.c
+++ b/ldap/servers/plugins/replication/windows_private.c
@@ -72,6 +72,7 @@ struct windowsprivate {
Slapi_Filter *directory_filter; /* Used for checking if local entries need to be sync'd to AD */
Slapi_Filter *deleted_filter; /* Used for checking if an entry is an AD tombstone */
Slapi_Entry *raw_entry; /* "raw" un-schema processed last entry read from AD */
+ int keep_raw_entry; /* flag to control when the raw entry is set */
void *api_cookie; /* private data used by api callbacks */
time_t sync_interval; /* how often to run the dirsync search, in seconds */
};
@@ -845,12 +846,49 @@ void windows_private_set_raw_entry(const Repl_Agmt *ra, Slapi_Entry *e)
dp = (Dirsync_Private *) agmt_get_priv(ra);
PR_ASSERT (dp);
- slapi_entry_free(dp->raw_entry);
- dp->raw_entry = e;
+ /* If the keep raw entry flag is set, just free the passed
+ * in entry and leave the current raw entry in place. */
+ if (windows_private_get_keep_raw_entry(ra)) {
+ slapi_entry_free(e);
+ } else {
+ slapi_entry_free(dp->raw_entry);
+ dp->raw_entry = e;
+ }
LDAPDebug0Args( LDAP_DEBUG_TRACE, "<= windows_private_set_raw_entry\n" );
}
+/* Setting keep to 1 will cause the current raw entry to remain, even if
+ * windows_private_set_raw_entry() is called. This behavior will persist
+ * until this flag is set back to 0. */
+void windows_private_set_keep_raw_entry(const Repl_Agmt *ra, int keep)
+{
+ Dirsync_Private *dp;
+
+ LDAPDebug0Args( LDAP_DEBUG_TRACE, "=> windows_private_set_keep_raw_entry\n" );
+
+ dp = (Dirsync_Private *) agmt_get_priv(ra);
+ PR_ASSERT (dp);
+
+ dp->keep_raw_entry = keep;
+
+ LDAPDebug0Args( LDAP_DEBUG_TRACE, "<= windows_private_set_keep_raw_entry\n" );
+}
+
+int windows_private_get_keep_raw_entry(const Repl_Agmt *ra)
+{
+ Dirsync_Private *dp;
+
+ LDAPDebug0Args( LDAP_DEBUG_TRACE, "=> windows_private_get_keep_raw_entry\n" );
+
+ dp = (Dirsync_Private *) agmt_get_priv(ra);
+ PR_ASSERT (dp);
+
+ LDAPDebug0Args( LDAP_DEBUG_TRACE, "<= windows_private_get_keep_raw_entry\n" );
+
+ return dp->keep_raw_entry;
+}
+
void *windows_private_get_api_cookie(const Repl_Agmt *ra)
{
Dirsync_Private *dp;
diff --git a/ldap/servers/plugins/replication/windows_protocol_util.c b/ldap/servers/plugins/replication/windows_protocol_util.c
index 3c6b4d4..a3d0077 100644
--- a/ldap/servers/plugins/replication/windows_protocol_util.c
+++ b/ldap/servers/plugins/replication/windows_protocol_util.c
@@ -406,6 +406,10 @@ map_dn_values(Private_Repl_Protocol *prp,Slapi_ValueSet *original_values, Slapi_
Slapi_Value *original_value = NULL;
int retval = 0;
int i = 0;
+
+ /* Set the keep raw entry flag to avoid overwriting the existing raw entry. */
+ windows_private_set_keep_raw_entry(prp->agmt, 1);
+
/* For each value: */
i= slapi_valueset_first_value(original_values,&original_value);
while ( i != -1 ) {
@@ -531,6 +535,9 @@ map_dn_values(Private_Repl_Protocol *prp,Slapi_ValueSet *original_values, Slapi_
{
*mapped_values = new_vs;
}
+
+ /* Restore the keep raw entry flag. */
+ windows_private_set_keep_raw_entry(prp->agmt, 0);
}
static void
diff --git a/ldap/servers/plugins/replication/windowsrepl.h b/ldap/servers/plugins/replication/windowsrepl.h
index 3d216e0..f413746 100644
--- a/ldap/servers/plugins/replication/windowsrepl.h
+++ b/ldap/servers/plugins/replication/windowsrepl.h
@@ -78,6 +78,8 @@ const char* windows_private_get_purl(const Repl_Agmt *ra);
Slapi_Entry *windows_private_get_raw_entry(const Repl_Agmt *ra);
/* this is passin - windows_private owns the pointer, not a copy */
void windows_private_set_raw_entry(const Repl_Agmt *ra, Slapi_Entry *e);
+void windows_private_set_keep_raw_entry(const Repl_Agmt *ra, int keep);
+int windows_private_get_keep_raw_entry(const Repl_Agmt *ra);
void *windows_private_get_api_cookie(const Repl_Agmt *ra);
void windows_private_set_api_cookie(Repl_Agmt *ra, void *cookie);
time_t windows_private_get_sync_interval(const Repl_Agmt *ra);
13 years, 10 months
16 commits - include/libaccess ldap/servers lib/ldaputil lib/libaccess
by Noriko Hosoi
include/libaccess/aclproto.h | 7
ldap/servers/plugins/replication/cl5_api.c | 22
ldap/servers/plugins/replication/repl5_plugins.c | 2
ldap/servers/plugins/replication/repl5_protocol.c | 2
ldap/servers/plugins/replication/repl5_total.c | 2
ldap/servers/plugins/replication/repl_extop.c | 4
ldap/servers/plugins/replication/windows_private.c | 4
ldap/servers/plugins/uiduniq/7bit.c | 6
ldap/servers/plugins/uiduniq/uid.c | 6
ldap/servers/slapd/back-ldbm/dblayer.c | 12
ldap/servers/slapd/back-ldbm/vlv.c | 2
ldap/servers/slapd/entry.c | 2
lib/ldaputil/dbconf.c | 1
lib/libaccess/acltools.cpp | 768 --------------------
lib/libaccess/oneeval.cpp | 8
lib/libaccess/utest/.purify | 19
lib/libaccess/utest/Makefile | 147 ---
lib/libaccess/utest/acl.dat | 44 -
lib/libaccess/utest/aclfile0 | 87 --
lib/libaccess/utest/aclfile1 | 43 -
lib/libaccess/utest/aclfile10 | 45 -
lib/libaccess/utest/aclfile11 | 43 -
lib/libaccess/utest/aclfile12 | 43 -
lib/libaccess/utest/aclfile13 | 43 -
lib/libaccess/utest/aclfile14 | 43 -
lib/libaccess/utest/aclfile15 | 43 -
lib/libaccess/utest/aclfile16 | 43 -
lib/libaccess/utest/aclfile17 | 43 -
lib/libaccess/utest/aclfile18 | 51 -
lib/libaccess/utest/aclfile19 | 46 -
lib/libaccess/utest/aclfile2 | 43 -
lib/libaccess/utest/aclfile3 | 43 -
lib/libaccess/utest/aclfile4 | 43 -
lib/libaccess/utest/aclfile5 | 43 -
lib/libaccess/utest/aclfile6 | 55 -
lib/libaccess/utest/aclfile7 | 43 -
lib/libaccess/utest/aclfile8 | 43 -
lib/libaccess/utest/aclfile9 | 43 -
lib/libaccess/utest/aclgrp0 | 42 -
lib/libaccess/utest/aclgrp1 | 42 -
lib/libaccess/utest/aclgrp2 | 42 -
lib/libaccess/utest/aclgrp3 | 42 -
lib/libaccess/utest/aclgrp4 | 42 -
lib/libaccess/utest/acltest.cpp | 794 ---------------------
lib/libaccess/utest/onetest.cpp | 77 --
lib/libaccess/utest/shexp.cpp | 331 --------
lib/libaccess/utest/shexp.h | 168 ----
lib/libaccess/utest/test.ref | 217 -----
lib/libaccess/utest/testmain.cpp | 89 --
lib/libaccess/utest/twotest.cpp | 87 --
lib/libaccess/utest/ustubs.cpp | 331 --------
51 files changed, 51 insertions(+), 4240 deletions(-)
New commits:
commit e9a26dca776e3d812ae634fb6d3f2836499d7356
Author: Noriko Hosoi <nhosoi(a)redhat.com>
Date: Thu Jul 1 11:39:47 2010 -0700
609255 - fix coverity Defect Type: Memory - illegal accesses issues
https://bugzilla.redhat.com/show_bug.cgi?id=609255
12241 Triaged Unassigned Bug Minor Fix Required
delete_acl_from_file(char *, char *…) ds/lib/libaccess/acltools.cpp
12242 UNINIT Triaged Unassigned Bug Minor Fix Required
get_acl_from_file(char *, char *, ACLListHandle **…) ds/lib/libaccess/acltools.cpp
12243 UNINIT Triaged Unassigned Bug Minor Fix Required
ACL_FileGetNameList() ds/lib/libaccess/acltools.cpp
12244 UNINIT Triaged Unassigned Bug Minor Fix Required
ACL_FileGetNameList() ds/lib/libaccess/acltools.cpp
12245 UNINIT Triaged Unassigned Bug Minor Fix Required
rename_acl_in_file(char *, char *, char *…) ds/lib/libaccess/acltools.cpp
12246 UNINIT Triaged Unassigned Bug Minor Fix Required
append_acl_to_file(char *, char *, char *…) ds/lib/libaccess/acltools.cpp
12247 UNINIT Triaged Unassigned Bug Minor Fix Required
append_acl_to_file(char *, char *, char *…) ds/lib/libaccess/acltools.cpp
Comment:
ACL_FileRenameAcl, ACL_FileDeleteAcl, ACL_FileGetAcl, ACL_FileSetAcl,
ACL_FileMergeAcl, ACL_FileMergeFile and their helper functions are
not used. These functions and their helper functions plus libaccess
test programs under the directory ./utest are eliminated.
diff --git a/include/libaccess/aclproto.h b/include/libaccess/aclproto.h
index f1371cf..7562c71 100644
--- a/include/libaccess/aclproto.h
+++ b/include/libaccess/aclproto.h
@@ -64,12 +64,6 @@ NSAPI_PUBLIC ACLListHandle_t * ACL_ParseString(NSErr_t *errp, char *buffer);
NSAPI_PUBLIC int ACL_Decompose(NSErr_t *errp, char **acl, ACLListHandle_t *acl_list);
NSAPI_PUBLIC int ACL_WriteString(NSErr_t *errp, char **acl, ACLListHandle_t *acllist);
NSAPI_PUBLIC int ACL_WriteFile(NSErr_t *errp, char *filename, ACLListHandle_t *acllist);
-NSAPI_PUBLIC int ACL_FileRenameAcl(NSErr_t *errp, char *filename, char *acl_name, char *new_acl_name, int flags);
-NSAPI_PUBLIC int ACL_FileDeleteAcl(NSErr_t *errp, char *filename, char *acl_name, int flags);
-NSAPI_PUBLIC int ACL_FileGetAcl(NSErr_t *errp, char *filename, char *acl_name, char **acl_text, int flags);
-NSAPI_PUBLIC int ACL_FileSetAcl(NSErr_t *errp, char *filename, char *acl_text, int flags);
-NSAPI_PUBLIC int ACL_FileMergeAcl(NSErr_t *errp, char *filename, char **acl_name_list, char *new_acl_name, int flags);
-NSAPI_PUBLIC int ACL_FileMergeFile(NSErr_t *errp, char *filename, char **file_list, int flags);
/*********************************************************************
@@ -108,7 +102,6 @@ NSAPI_PUBLIC void ACL_ListDestroy(NSErr_t *errp, ACLListHandle_t *acllist);
NSAPI_PUBLIC ACLHandle_t * ACL_ListFind(NSErr_t *errp, ACLListHandle_t *acllist, char *aclname, int flags);
NSAPI_PUBLIC int ACL_ListAclDelete(NSErr_t *errp, ACLListHandle_t *acl_list, char *acl_name, int flags);
NSAPI_PUBLIC int ACL_ListGetNameList(NSErr_t *errp, ACLListHandle_t *acl_list, char ***name_list);
-NSAPI_PUBLIC int ACL_FileGetNameList(NSErr_t *errp, char * filename, char ***name_list);
NSAPI_PUBLIC int ACL_NameListDestroy(NSErr_t *errp, char **name_list);
NSAPI_PUBLIC ACLHandle_t *ACL_ListGetFirst(ACLListHandle_t *acl_list,
ACLListEnum_t *acl_enum);
diff --git a/lib/libaccess/acltools.cpp b/lib/libaccess/acltools.cpp
index c93bbc6..32ab5d7 100644
--- a/lib/libaccess/acltools.cpp
+++ b/lib/libaccess/acltools.cpp
@@ -2273,694 +2273,6 @@ acl_strstr(char * block, char * aclname)
}
-
-/*
- * local function: find the acl string from mapfile and return its acl structure
- */
-int
-get_acl_from_file(char * filename, char * aclname, ACLListHandle_t ** acllist_pp)
-{
- int rv = 0;
- char * pattern=NULL;
- char header[] = "version 3.0;\n";
- int headerlen = strlen(header);
- long filesize;
- FILE * file;
- char * mirror=NULL, * text=NULL, *nextname=NULL;
- char * block=NULL, * aclhead=NULL, * aclend=NULL;
-
- *acllist_pp = NULL;
-
- // build the acl name pattern, which should be acl "..."
- // the ".." is built by acl_to_str_create
-
- if (aclname==NULL) {
- rv = ACLERRUNDEF;
- goto get_cleanup;
- }
-
- if ((pattern=(char *)PERM_MALLOC(strlen(aclname) + 1))==NULL) {
- rv = ACLERRNOMEM;
- goto get_cleanup;
- }
- else {
- sprintf(pattern,"%s", aclname);
- str_tolower(pattern);
- }
-
- /* get the acl text from the mapfile */
- if ((rv=open_file_buf(&file, filename, "rb", &block, &filesize))<0)
- goto get_cleanup;
-
- if ((mirror = (char *) PERM_MALLOC(filesize+1))==NULL) {
- rv = ACLERRNOMEM;
- goto get_cleanup;
- }
-
- memcpy(mirror, block, filesize);
- mirror[filesize]=0;
- str_tolower(mirror);
-
- if ((aclhead = acl_strstr(mirror, pattern))!=NULL) {
- // use mirror to search, then transfer to work on block;
- aclhead = block + (aclhead - mirror);
- acl_get_first_name(aclhead+3, &nextname, &aclend);
- aclend = acl_strstr(aclhead+3, nextname);
- if (aclend == NULL) {
- // this is the last acl in the file
- aclend = &aclhead[strlen(aclhead)];
- }
-
- int len = aclend - aclhead;
- text = (char *) PERM_MALLOC(len + headerlen + 1);
- sprintf(text, "%s", header);
- memcpy(&text[headerlen], aclhead, len);
- text[headerlen + len] = 0;
-
- if ((*acllist_pp=ACL_ParseString(NULL, text))==NULL) {
- rv = ACLERRPARSE;
- }
- }
-
-get_cleanup:
- if (pattern)
- PERM_FREE(pattern);
- if (file)
- close_file_buf(file, filename, "rb", block);
- if (mirror)
- PERM_FREE(mirror);
- if (text)
- PERM_FREE(text);
- if (nextname)
- PERM_FREE(nextname);
- return rv;
-}
-
-
-/*
- * local function: delete the acl string from mapfile
- */
-int
-delete_acl_from_file(char * filename, char * aclname)
-{
- char * pattern=NULL;
- char header[] = "version 3.0;\n";
- int headerlen = strlen(header);
- int rv = ACLERRUNDEF;
- long filesize;
- FILE * file;
- char * mirror=NULL, * text=NULL, * nextname=NULL;
- char * block=NULL, * aclhead=NULL, * aclend=NULL;
- int remain;
-
- // build the acl name pattern, which should be acl "..."
- // the ".." is built by acl_to_str_create
-
- if (aclname==NULL) {
- rv = ACLERRUNDEF;
- goto delete_cleanup;
- }
-
- if ((pattern=(char *)PERM_MALLOC(strlen(aclname) + 10))==NULL) {
- rv = ACLERRNOMEM;
- goto delete_cleanup;
- }
- else {
- sprintf(pattern,"%s", aclname);
- str_tolower(pattern);
- }
-
- /* file the acl text from the mapfile */
- if ((rv=open_file_buf(&file, filename, "rb", &block, &filesize))<0)
- goto delete_cleanup;
-
- if ((mirror = (char *) PERM_MALLOC(filesize+1))==NULL) {
- rv = ACLERRNOMEM;
- goto delete_cleanup;
- }
-
- memcpy(mirror, block, filesize);
- mirror[filesize]=0;
- str_tolower(mirror);
-
- if ((aclhead = acl_strstr(mirror, pattern))!=NULL) {
- // use mirror to search, then transfer to work on block;
- aclhead = block + (aclhead - mirror);
- acl_get_first_name(aclhead+3, &nextname, &aclend);
- aclend = acl_strstr(aclhead+3, nextname);
- if (aclend == NULL) {
- // this is the last acl in the file
- aclend = &aclhead[strlen(aclhead)];
- }
-
- int len = aclend - aclhead;
- text = (char *) PERM_MALLOC(len + headerlen + 1);
- sprintf(text, "%s", header);
- memcpy(&text[headerlen], aclhead, len);
- text[headerlen + len] = 0;
-
- if (ACL_ParseString(NULL, text)==NULL) {
- rv = ACLERRPARSE;
- goto delete_cleanup;
- }
- }
-
- if (aclhead!=NULL) { // found the acl in the map file
-
- // int filesize = mpfile->Size();
-
- remain = strlen(aclend);
- if (memcpy(aclhead, aclend, remain)!=NULL)
- rv = 0;
- else
- rv = ACLERRIO;
-
- aclhead[remain]=0;
-
- block = (char *) PERM_REALLOC(block, strlen(block)+1);
- }
- else
- rv = ACLERRUNDEF;
-
-delete_cleanup:
- if (pattern)
- PERM_FREE(pattern);
- if (text)
- PERM_FREE(text);
- if (mirror)
- PERM_FREE(mirror);
- if (nextname)
- PERM_FREE(nextname);
- if (file)
- close_file_buf(file, filename, "wb", block);
- return rv;
-}
-
-/*
- * local function: append the acl string to file
- */
-int
-append_acl_to_file(char * filename, char * aclname, char * acltext)
-{
- int rv;
- /* acltext has been parsed to verify syntax up to this point */
- char * pattern=NULL;
- char * start=NULL;
- char * block;
- long filesize;
- FILE * file;
- long len;
-
- if ((pattern=(char *)PERM_MALLOC(strlen(aclname) + 10))==NULL) {
- rv = ACLERRNOMEM;
- goto append_cleanup;
- }
- else {
- sprintf(pattern,"%s", aclname);
- }
-
- if ((rv=open_file_buf(&file, filename, "rb", &block, &filesize))<0)
- goto append_cleanup;
-
- // find the begining of acl, skip the version part
-
- len = strlen(block);
- start = acl_strstr(acltext, pattern);
- if ((block=(char *)PERM_REALLOC(block, len+strlen(start)+1))==NULL) {
- rv = ACLERRNOMEM;
- goto append_cleanup;
- }
- strcat(block, start);
-
-append_cleanup:
- if (pattern)
- PERM_FREE(pattern);
- if (file)
- close_file_buf(file, filename, "wb", block);
-
- return rv;
-}
-
-
-
-/*
- * local function: rename the acl name in the file
- */
-int
-rename_acl_in_file(char * filename, char * aclname, char * newname)
-{
- char * pattern=NULL;
- char header[] = "version 3.0;\n";
- int headerlen = strlen(header);
- int rv = 0;
- long filesize;
- FILE * file;
- int remain;
- long len;
- char * text=NULL, * mirror=NULL, * nextname=NULL;
- char * block=NULL, * aclhead=NULL, * aclend=NULL;
- char * cut=NULL;
- acl_string_t str_t = {NULL,0,0};
-
- // build the acl name pattern, which should be acl "..."
- // the ".." is built by acl_to_str_create
-
- if (aclname==NULL || newname==NULL) {
- rv = ACLERRUNDEF;
- goto rename_cleanup;
- }
-
- if ((pattern=(char *)PERM_MALLOC(strlen(aclname) + 10))==NULL) {
- rv = ACLERRNOMEM;
- goto rename_cleanup;
- }
- else {
- sprintf(pattern,"%s", aclname);
- str_tolower(pattern);
- }
-
- // file the acl text from the mapfile
- if ((rv=open_file_buf(&file, filename, "rb", &block, &filesize))<0)
- goto rename_cleanup;
-
- if ((mirror = (char *) PERM_MALLOC(filesize+1))==NULL) {
- rv = ACLERRNOMEM;
- goto rename_cleanup;
- }
-
- memcpy(mirror, block, filesize);
- mirror[filesize]=0;
- str_tolower(mirror);
-
- if ((aclhead = acl_strstr(mirror, pattern))!=NULL) {
- // use mirror to search, then transfer to work on block;
- aclhead = block + (aclhead - mirror);
- acl_get_first_name(aclhead+3, &nextname, &aclend);
- aclend = acl_strstr(aclhead+3, nextname);
- if (aclend == NULL) {
- // this is the last acl in the file
- aclend = &aclhead[strlen(aclhead)];
- }
-
- len = aclend - aclhead;
- text = (char *) PERM_MALLOC(len + headerlen + 1);
- sprintf(text, "%s", header);
- memcpy(&text[headerlen], aclhead, len);
- text[headerlen + len] = 0;
-
- if (ACL_ParseString(NULL, text)==NULL) {
- rv = ACLERRPARSE;
- goto rename_cleanup;
- }
- }
-
- if (aclhead!=NULL) { // found the acl in the map file
-
- remain = strlen(aclend);
- // delete the acltext from where it is
- if (memcpy(aclhead, aclend, remain)!=NULL)
- rv = 0;
- else
- rv = ACLERRUNDEF;
-
- aclhead[remain] = 0;
- len = strlen(block);
-
- /* establish the renamed the acl */
- acl_to_str_append(&str_t, "acl \"");
- acl_to_str_append(&str_t, newname);
- acl_to_str_append(&str_t, "\";");
- /* skip acl "..."; the semicollon in the last counts for the +1
- add the rest acl text to str_t */
- cut = strchr(text, ';'); // skip version ...;
- cut = strchr(cut+1, ';') + 1; // skip acl ...;
- if (cut==NULL) {
- rv = ACLERRUNDEF;
- goto rename_cleanup;
- }
- acl_to_str_append(&str_t, cut);
- // acl_to_str_append(&str_t, "\n");
-
- if ((block=(char *) PERM_REALLOC(block, len + strlen(str_t.str) + 1))==NULL) {
- rv = ACLERRNOMEM;
- goto rename_cleanup;
- }
- // strcat(block, "\n");
- strcat(block, str_t.str);
- }
- else
- rv = ACLERRUNDEF;
-
-rename_cleanup:
- if (pattern)
- PERM_FREE(pattern);
- if (text)
- PERM_FREE(text);
- if (mirror)
- PERM_FREE(mirror);
- if (nextname)
- PERM_FREE(nextname);
- if (str_t.str)
- PERM_FREE(str_t.str);
- if (file)
- close_file_buf(file, filename, "wb", block);
- return rv;
-}
-
-
-/*
- * Retrieves the definition of a named ACL
- *
- * Input:
- * errp a error stack
- * filename Target ACL file
- * acl_name Name of the target ACL
- * acl_text a dynmaically allocated text (result)
- * Output:
- * errp error stack is set on error
- * Returns:
- * 0 success
- * <0 failure
- */
-NSAPI_PUBLIC int
-ACL_FileGetAcl(NSErr_t *errp,
- char *filename,
- char *acl_name,
- // ACLListHandle_t **acllist_p,
- char ** acltext,
- int flags)
-{
- int rv;
- ACLListHandle_t * acllist_p;
-
- if (acl_parse_crit == NULL)
- acl_parse_crit = crit_init();
-
- crit_enter( acl_parse_crit );
-
- rv = get_acl_from_file(filename, acl_name, &acllist_p);
-
- if (acllist_p == NULL) {
- *acltext = NULL;
- goto get_cleanup;
- }
-
- /*
- if ((rv=ACL_Decompose(errp, acltext, acllist_p))<0) {
- *acltext = NULL;
- goto get_cleanup;
- }
- */
- if ((rv=ACL_WriteString(errp, acltext, acllist_p))<0) {
- *acltext = NULL;
- goto get_cleanup;
- }
-
-
-get_cleanup:
-
- crit_exit( acl_parse_crit );
-
- return rv;
-}
-
-
-
-/*
- * Delete a named ACL from an ACL file
- *
- * Input:
- * errp a error stack
- * filename Target ACL file
- * acl_name Name of the target ACL
- * Output:
- * errp error stack is set on error
- * Returns:
- * 0 success
- * < 0 failure
- */
-
-NSAPI_PUBLIC int
-ACL_FileDeleteAcl(NSErr_t *errp,
- char *filename,
- char *acl_name,
- int flags)
-{
- int rv = 0;
-
- if ( acl_parse_crit == NULL )
- acl_parse_crit = crit_init();
-
- crit_enter( acl_parse_crit );
-
- rv = delete_acl_from_file(filename, acl_name);
-
- crit_exit( acl_parse_crit );
- return(rv);
-}
-
-
-/*
- * Sets the definition of an ACL in an ACL file
- *
- * Input:
- * errp a error stack
- * filename Target ACL file
- * acl_name Name of the target ACL
- * acl_text a string that defines the new ACL
- * Output:
- * errp error stack is set on error
- * Returns:
- * 0 success
- * < 0 failure
- */
-
-NSAPI_PUBLIC int
-ACL_FileSetAcl(NSErr_t *errp,
- char *filename,
- char *acl_text,
- int flags)
-{
- int rv = 0;
- ACLListHandle_t *new_acl_list = NULL;
- char **acl_name_list = NULL;
-
- if ( acl_parse_crit == NULL )
- acl_parse_crit = crit_init();
-
- crit_enter( acl_parse_crit );
-
- // get the acl name.
- new_acl_list = ACL_ParseString(errp, acl_text);
- if ( new_acl_list == NULL ) {
- rv = ACLERRPARSE;
- goto set_cleanup;
- }
-
- if ( ACL_ListGetNameList(errp, new_acl_list, &acl_name_list) < 0 ) {
- rv = ACLERRNOMEM;
- goto set_cleanup;
- }
-
-
- delete_acl_from_file(filename, acl_name_list[0]);
- rv = append_acl_to_file(filename, acl_name_list[0], acl_text);
-
-set_cleanup:
-
- crit_exit( acl_parse_crit );
- if (new_acl_list)
- ACL_ListDestroy(errp, new_acl_list);
- if (acl_name_list)
- free(acl_name_list);
- return(rv);
-}
-
-
-/*
- * Rename a named ACL in ACL text file
- *
- * Input:
- * errp a error stack
- * filename Target ACL file
- * acl_name Name of the target ACL
- * new_acl_name New ACL name
- * Output:
- * errp error stack is set on error
- * Returns:
- * 0 success
- * < 0 failure
- */
-
-NSAPI_PUBLIC int
-ACL_FileRenameAcl(NSErr_t *errp,
- char *filename,
- char *aclname,
- char *newname,
- int flags)
-{
- int rv = 0;
-
- if ( acl_parse_crit == NULL )
- acl_parse_crit = crit_init();
-
- crit_enter( acl_parse_crit );
-
- rv = rename_acl_in_file(filename, aclname, newname);
-
- crit_exit( acl_parse_crit );
- return(rv);
-
-}
-
-
-//
-// Merge a list of ACLs into one ACL
-//
-// Input:
-// filename the target acl file
-// acl_list ACLs to merge
-// new_acl_name resultant ACL
-// flags currently ignored
-// Returns:
-// 0 success
-// < 0 failure
-//
-
-NSAPI_PUBLIC int
-ACL_FileMergeAcl(NSErr_t *errp,
- char *filename,
- char **acl_name_list,
- char *new_acl_name,
- int flags)
-{
- ACLListHandle_t *new_acl_list = NULL;
- ACLListHandle_t *tmp_acl_list = NULL;
- int ii;
- int rv;
- ACLHandle_t *tmp_acl;
- ACLHandle_t *new_acl;
- ACLExprHandle_t *expr;
-
-
- tmp_acl_list = ACL_ParseFile(errp, filename);
- if ( tmp_acl_list == NULL ) {
- rv = ACLERRPARSE;
- goto cleanup;
- }
-
- new_acl_list = ACL_ParseFile(errp, filename);
- if ( new_acl_list == NULL ) {
- rv = ACLERRPARSE;
- goto cleanup;
- }
-
- // first get rid of all the ACLs that will be merged
-
- for (ii = 0; acl_name_list[ii]; ii++) {
- rv = ACL_ListAclDelete(errp, new_acl_list, acl_name_list[ii], flags);
- if ( rv < 0 )
- goto cleanup;
- }
-
- // now create ACL to house the merged result
- new_acl = ACL_AclNew(errp, new_acl_name);
- if ( new_acl == NULL ) {
- rv = ACLERRNOMEM;
- goto cleanup;
- }
-
- rv = ACL_ListAppend(errp, new_acl_list, new_acl, flags);
- if ( rv < 0 )
- goto cleanup;
-
- for (ii = 0; acl_name_list[ii]; ii++) {
- tmp_acl = ACL_ListFind(errp, tmp_acl_list, acl_name_list[ii], flags);
- if ( tmp_acl == NULL ) {
- rv = ACLERRUNDEF;
- goto cleanup;
- }
- for (expr = tmp_acl->expr_list_head; expr; expr = expr->expr_next) {
- // This call can't really fail unless we pass it a NULL
- // or some memory is corrupt.
- rv = ACL_ExprAppend(errp, new_acl, expr);
- if ( rv < 0 )
- goto cleanup;
- tmp_acl->expr_list_head = expr->expr_next;
- tmp_acl->expr_count--;
- }
-
- // Last bit of clean up so the destroy routine isn't confused.
-
- tmp_acl->expr_list_tail = NULL;
- tmp_acl->expr_count = 0;
- }
-
- rv = ACL_WriteFile(errp, filename, new_acl_list);
-
-cleanup:
- if ( new_acl_list )
- ACL_ListDestroy(errp, new_acl_list);
- if ( tmp_acl_list )
- ACL_ListDestroy(errp, tmp_acl_list);
- return(rv);
-}
-
-//
-// Merge a list of ACL files into one ACL file
-//
-// Input:
-// filename the target acl file
-// file_list ACL files to merge
-// flags currently ignored
-// Returns:
-// 0 success
-// < 0 failure
-//
-
-NSAPI_PUBLIC int
-ACL_FileMergeFile(NSErr_t *errp,
- char *filename,
- char **file_list,
- int flags)
-{
- ACLListHandle_t *new_acl_list = NULL;
- ACLListHandle_t *tmp_acl_list = NULL;
- int ii;
- int rv;
-
- // we don't care if they have nothing to do
-
- if ( filename == NULL || file_list == NULL )
- return(0);
-
- new_acl_list = ACL_ListNew(errp);
- if (new_acl_list == NULL)
- return(ACLERRNOMEM);
-
- for (ii = 0; file_list[ii]; ii++) {
- tmp_acl_list = ACL_ParseFile(errp, file_list[ii]);
- if (tmp_acl_list == NULL) {
- rv = ACLERRPARSE;
- goto cleanup;
- }
- rv = ACL_ListConcat(errp, new_acl_list, tmp_acl_list, flags);
- if ( rv < 0 )
- goto cleanup;
- ACL_ListDestroy(errp, tmp_acl_list);
- tmp_acl_list = NULL;
- }
-
- rv = ACL_WriteFile(errp, filename, new_acl_list);
-
-cleanup:
- if ( new_acl_list )
- ACL_ListDestroy(errp, new_acl_list);
- if ( tmp_acl_list )
- ACL_ListDestroy(errp, tmp_acl_list);
- return(rv);
-}
-
/*
* Destroy a NameList
*
@@ -3048,78 +2360,6 @@ ACL_ListGetNameList(NSErr_t *errp, ACLListHandle_t *acl_list, char ***name_list)
}
/*
- * Gets a name list of consisting of all ACL names from the input aclfile
- *
- * Input:
- * filename acl file
- * name_list pointer to a list of string pointers
- * Returns:
- * 0 success
- * < 0 failure
- */
-
-NSAPI_PUBLIC int
-ACL_FileGetNameList(NSErr_t *errp, char * filename, char ***name_list)
-{
-
- const int block_size = 50;
- int rv, list_size, list_index;
- char ** local_list = NULL;
- char * block ;
- char * name;
- char * next;
- long filesize;
- FILE * file;
- char * head;
-
- if ((rv=open_file_buf(&file, filename, "rb", &block, &filesize))<0)
- goto list_cleanup;
-
- list_size = block_size;
- local_list = (char **) PERM_MALLOC(sizeof(char *) * list_size);
- if ( local_list == NULL ) {
- rv = ACLERRNOMEM;
- goto list_cleanup;
- }
- list_index = 0;
- local_list[list_index] = NULL;
-
- head = block;
- while ((acl_get_first_name(head, &name, &next))) {
-
- if (list_index+2 > list_size) {
- list_size += block_size;
- char ** tmp_list = (char **) PERM_REALLOC(local_list, sizeof(char *) * list_size);
- if ( tmp_list == NULL ) {
- rv = ACLERRNOMEM;
- goto list_cleanup;
- }
- local_list = tmp_list;
- }
- // local_list[list_index] = PERM_STRDUP(name);
- local_list[list_index] = name;
- if ( local_list[list_index] == NULL ) {
- rv = ACLERRNOMEM;
- goto list_cleanup;
- }
- list_index++;
- local_list[list_index] = NULL;
- head = next;
- }
-
- rv = 0;
- *name_list = local_list;
-
-list_cleanup:
- if (local_list && rv<0)
- ACL_NameListDestroy(errp, local_list);
- if (file)
- close_file_buf(file, filename, "rb", block);
-
- return rv;
-}
-
-/*
* Changes method to method plus DBTYPE, and registers
* databases.
*
diff --git a/lib/libaccess/oneeval.cpp b/lib/libaccess/oneeval.cpp
index 14b1574..83b98de 100644
--- a/lib/libaccess/oneeval.cpp
+++ b/lib/libaccess/oneeval.cpp
@@ -140,10 +140,10 @@ static ACLDispatchVector_t __nsacl_vector = {
ACL_ParseString,
ACL_WriteString,
ACL_WriteFile,
- ACL_FileRenameAcl,
- ACL_FileDeleteAcl,
- ACL_FileGetAcl,
- ACL_FileSetAcl,
+ NULL /* ex ACL_FileRenameAcl */,
+ NULL /* ex ACL_FileDeleteAcl */,
+ NULL /* ex ACL_FileGetAcl */,
+ NULL /* ex ACL_FileSetAcl */,
/* ACL Expression construction interfaces */
diff --git a/lib/libaccess/utest/.purify b/lib/libaccess/utest/.purify
deleted file mode 100644
index 56b9983..0000000
--- a/lib/libaccess/utest/.purify
+++ /dev/null
@@ -1,19 +0,0 @@
-suppress umr process_gethost
-suppress umr _door_gethostbyname_r
-suppress umr _get_hostserv_inetnetdir_byname
-suppress umr _get_hostserv_inetnetdir_byaddr
-suppress umr gethostbyname_r
-suppress umr _nsc_trydoorcall
-suppress umr LASDnsBuild
-suppress umr PR_HashString
-suppress umr mthsearch
-suppress umr Hash
-suppress umr strcmp
-suppress umr mthsearch
-suppress umr strlen
-suppress umr strdup
-suppress umr strcpy
-suppress umr PListFindValue
-suppress umr LASIpEval
-suppress umr LASDnsEval
-suppress mlk system_strdup_perm
diff --git a/lib/libaccess/utest/Makefile b/lib/libaccess/utest/Makefile
deleted file mode 100644
index 39096b1..0000000
--- a/lib/libaccess/utest/Makefile
+++ /dev/null
@@ -1,147 +0,0 @@
-#
-# BEGIN COPYRIGHT BLOCK
-# This Program is free software; you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free Software
-# Foundation; version 2 of the License.
-#
-# This Program is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this Program; if not, write to the Free Software Foundation, Inc., 59 Temple
-# Place, Suite 330, Boston, MA 02111-1307 USA.
-#
-# In addition, as a special exception, Red Hat, Inc. gives You the additional
-# right to link the code of this Program with code not covered under the GNU
-# General Public License ("Non-GPL Code") and to distribute linked combinations
-# including the two, subject to the limitations in this paragraph. Non-GPL Code
-# permitted under this exception must only link to the code of this Program
-# through those well defined interfaces identified in the file named EXCEPTION
-# found in the source code files (the "Approved Interfaces"). The files of
-# Non-GPL Code may instantiate templates or use macros or inline functions from
-# the Approved Interfaces without causing the resulting work to be covered by
-# the GNU General Public License. Only Red Hat, Inc. may make changes or
-# additions to the list of Approved Interfaces. You must obey the GNU General
-# Public License in all respects for all of the Program code and other code used
-# in conjunction with the Program except the Non-GPL Code covered by this
-# exception. If you modify this file, you may extend this exception to your
-# version of the file, but you are not obligated to do so. If you do not wish to
-# provide this exception without modification, you must delete this exception
-# statement from your version and license this file solely under the GPL without
-# exception.
-#
-#
-# Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.
-# Copyright (C) 2005 Red Hat, Inc.
-# All rights reserved.
-# END COPYRIGHT BLOCK
-#
-#
-#
-BUILD_ROOT=../../..
-MODULE=LibAcl
-include $(BUILD_ROOT)/nsdefs.mk
-
-OBJDEST=.
-UTESTDEST=utest
-
-include $(BUILD_ROOT)/nsconfig.mk
-
-MODULE_CFLAGS=-I$(BUILD_ROOT)/include/libaccess -I$(BUILD_ROOT)/include -I$(BUILD_ROOT)/include/public -I. -DACL_LIB_INTERNAL
-
-include $(INCLUDE_DEPENDS)
-
-#TESTFLAGS = -DUTEST -DDEBUG_LEVEL_2
-TESTFLAGS = -DUTEST
-CC = $(CCC)
-
-CSRC = acltest.cpp onetest.cpp ustubs.cpp twotest.cpp
-TSRC = aclfile0 aclfile1 aclfile2 aclfile3 aclfile4 aclfile5 aclfile6 aclfile7 aclfile8 aclfile9 aclfile10 aclfile11 aclfile12 aclfile13 aclfile14 aclfile15 aclfile16 aclfile17 aclfile18 aclfile19 test.ref
-SRC = $(CSRC) $(TSRC)
-XSRC = \
- ../oneeval.cpp \
- ../lastod.cpp \
- ../lasip.cpp \
- ../aclutil.cpp \
- ../lasdns.cpp \
- ../acl.tab.cpp \
- ../acl.yy.cpp \
- ../acltools.cpp \
- ../aclspace.cpp \
- ../lasgroup.cpp \
- ../lasuser.cpp \
- ../nseframe.cpp \
- ../aclcache.cpp \
- ../register.cpp \
- ../symbols.cpp \
- ../method.cpp \
- ../access_plhash.cpp \
- ../authdb.cpp
-
-COBJ = $(CSRC:%.cpp=%.o)
-XOBJ = $(XSRC:../%.cpp=%.o)
-
-# This may be needed for other platforms too
-ifeq ($(ARCH), IRIX)
-XLIBS = -rpath $(LDAP_LIBPATH)
-endif
-
-ifeq ($(ARCH), HPUX)
-XLIBS = -lpthread
-endif
-ifeq ($(ARCH), SOLARIS)
-XLIBS = -lsocket -lnsl -ldl -lposix4
-endif
-
-XLIBS+= $(OBJDIR)/lib/base/plist.o \
- $(OBJDIR)/lib/base/pool.o \
- $(OBJDIR)/lib/base/util.o \
- $(OBJDIR)/lib/base/ereport.o \
- $(OBJDIR)/lib/base/system.o \
- $(OBJDIR)/lib/base/shexp.o \
- $(OBJDIR)/lib/base/file.o \
- $(OBJDIR)/lib/base/systhr.o \
- $(OBJDIR)/lib/base/nscperror.o \
- $(OBJDIR)/lib/libldapu.a \
- $(LIBNSPR)
-
-all: $(COBJ) $(TSRC) acltest
- ./acltest > test.out
- diff test.ref test.out
- @echo
- @echo "The unit test has passed if there is no diff output and the"
- @echo "Purify window shows no errors and 0 bytes leaked."
- @echo
- @echo "Run - gmake coverage - manually to get code coverage analysis."
- @echo
-
-aclparse: ustubs.o testmain.o $(XOBJ)
- purify $(CC) -o aclparse testmain.o $(XOBJ) ustubs.o $(XLIBS)
-
-aclparse.pure: acl.tab.o acl.yy.o testmain.o acltools.o ustubs.o
- purify -user-path=.. $(CC) -o aclparse.pure $(XOBJ) ustubs.o $(XLIBS)
-
-onetest: onetest.o ustubs.o $(XOBJ)
- $(CC) -o onetest onetest.o $(XOBJ) ustubs.o $(XLIBS)
-
-twotest: twotest.o ustubs.o $(XOBJ)
- $(CC) -o twotest twotest.o $(XOBJ) ustubs.o $(XLIBS)
-
-acltest: acltest.o ustubs.o $(XOBJ)
-# purify $(CC) -o acltest acltest.o $(XOBJ) ustubs.o $(XLIBS)
- $(CC) -o acltest acltest.o $(XOBJ) ustubs.o $(XLIBS)
-
-coverage: acltest.o ustubs.o $(XOBJ)
- purecov $(CC) -o acltestcov acltest.o $(XOBJ) ustubs.o $(XLIBS)
- rm -f *.pcv
- acltestcov
-
-#$(XOBJ): $(XSRC)
-# cd ..; gmake OBJDEST=$(UTESTDEST) CC=$(OCC) TESTFLAGS=$(TESTFLAGS)
-
-%.o:../%.c
- $(CC) -c $(CFLAGS) $(TESTFLAGS) $(MCC_INCLUDE) -I.. $< -o $(OBJDEST)/$*.o
-
-%.o:../%.cpp
- $(CC) -c $(CFLAGS) $(TESTFLAGS) $(MCC_INCLUDE) -I.. $< -o $(OBJDEST)/$*.o
diff --git a/lib/libaccess/utest/acl.dat b/lib/libaccess/utest/acl.dat
deleted file mode 100644
index 00f612d..0000000
--- a/lib/libaccess/utest/acl.dat
+++ /dev/null
@@ -1,44 +0,0 @@
-#
-# BEGIN COPYRIGHT BLOCK
-# This Program is free software; you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free Software
-# Foundation; version 2 of the License.
-#
-# This Program is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this Program; if not, write to the Free Software Foundation, Inc., 59 Temple
-# Place, Suite 330, Boston, MA 02111-1307 USA.
-#
-# In addition, as a special exception, Red Hat, Inc. gives You the additional
-# right to link the code of this Program with code not covered under the GNU
-# General Public License ("Non-GPL Code") and to distribute linked combinations
-# including the two, subject to the limitations in this paragraph. Non-GPL Code
-# permitted under this exception must only link to the code of this Program
-# through those well defined interfaces identified in the file named EXCEPTION
-# found in the source code files (the "Approved Interfaces"). The files of
-# Non-GPL Code may instantiate templates or use macros or inline functions from
-# the Approved Interfaces without causing the resulting work to be covered by
-# the GNU General Public License. Only Red Hat, Inc. may make changes or
-# additions to the list of Approved Interfaces. You must obey the GNU General
-# Public License in all respects for all of the Program code and other code used
-# in conjunction with the Program except the Non-GPL Code covered by this
-# exception. If you modify this file, you may extend this exception to your
-# version of the file, but you are not obligated to do so. If you do not wish to
-# provide this exception without modification, you must delete this exception
-# statement from your version and license this file solely under the GPL without
-# exception.
-#
-#
-# Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.
-# Copyright (C) 2005 Red Hat, Inc.
-# All rights reserved.
-# END COPYRIGHT BLOCK
-#
-version 3.0;
-
-acl davids;
-
-deny (all) dns=aruba.mcom.com;
diff --git a/lib/libaccess/utest/aclfile0 b/lib/libaccess/utest/aclfile0
deleted file mode 100644
index 248e245..0000000
--- a/lib/libaccess/utest/aclfile0
+++ /dev/null
@@ -1,87 +0,0 @@
-#
-# BEGIN COPYRIGHT BLOCK
-# This Program is free software; you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free Software
-# Foundation; version 2 of the License.
-#
-# This Program is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this Program; if not, write to the Free Software Foundation, Inc., 59 Temple
-# Place, Suite 330, Boston, MA 02111-1307 USA.
-#
-# In addition, as a special exception, Red Hat, Inc. gives You the additional
-# right to link the code of this Program with code not covered under the GNU
-# General Public License ("Non-GPL Code") and to distribute linked combinations
-# including the two, subject to the limitations in this paragraph. Non-GPL Code
-# permitted under this exception must only link to the code of this Program
-# through those well defined interfaces identified in the file named EXCEPTION
-# found in the source code files (the "Approved Interfaces"). The files of
-# Non-GPL Code may instantiate templates or use macros or inline functions from
-# the Approved Interfaces without causing the resulting work to be covered by
-# the GNU General Public License. Only Red Hat, Inc. may make changes or
-# additions to the list of Approved Interfaces. You must obey the GNU General
-# Public License in all respects for all of the Program code and other code used
-# in conjunction with the Program except the Non-GPL Code covered by this
-# exception. If you modify this file, you may extend this exception to your
-# version of the file, but you are not obligated to do so. If you do not wish to
-# provide this exception without modification, you must delete this exception
-# statement from your version and license this file solely under the GPL without
-# exception.
-#
-#
-# Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.
-# Copyright (C) 2005 Red Hat, Inc.
-# All rights reserved.
-# END COPYRIGHT BLOCK
-#
-version 3.0;
-acl aclfile0;
-deny with uri="test";
-allow (read, write, execute) (timeofday<2100);
-allow (read, write, execute) (dayofweek!=sun or ip="255.255.255.255+*.*.*.*, 255.255.0.0+190.198.162.1");
-
-acl aclfile0.0;
-allow (read, write, execute) (timeofday<2100);
-allow (read, write, execute) (dayofweek!=sun or ip="255.255.255.255+*.*.*.*, 255.255.0.0+190.198.162.1");
-acl aclfile0.1;
-allow (read, write, execute) (timeofday<2100);
-allow (read, write, execute) (dayofweek!=sun or ip="255.255.255.255+*.*.*.*, 255.255.0.0+190.198.162.1");
-acl aclfile0.2;
-allow (read, write, execute) (timeofday<2100);
-allow (read, write, execute) (dayofweek!=sun or ip="255.255.255.255+*.*.*.*, 255.255.0.0+190.198.162.1");
-acl aclfile0.3;
-allow (read, write, execute) (timeofday<2100);
-allow (read, write, execute) (dayofweek!=sun or ip="255.255.255.255+*.*.*.*, 255.255.0.0+190.198.162.1");
-acl aclfile0.4;
-allow (read, write, execute) (timeofday<2100);
-allow (read, write, execute) (dayofweek!=sun or ip="255.255.255.255+*.*.*.*, 255.255.0.0+190.198.162.1");
-acl aclfile0.5;
-allow (read, write, execute) (timeofday<2100);
-allow (read, write, execute) (dayofweek!=sun or ip="255.255.255.255+*.*.*.*, 255.255.0.0+190.198.162.1");
-acl aclfile0.6;
-allow (read, write, execute) (timeofday<2100);
-allow (read, write, execute) (dayofweek!=sun or ip="255.255.255.255+*.*.*.*, 255.255.0.0+190.198.162.1");
-acl aclfile0.7;
-allow (read, write, execute) (timeofday<2100);
-allow (read, write, execute) (dayofweek!=sun or ip="255.255.255.255+*.*.*.*, 255.255.0.0+190.198.162.1");
-acl aclfile0.8;
-allow (read, write, execute) (timeofday<2100);
-allow (read, write, execute) (dayofweek!=sun or ip="255.255.255.255+*.*.*.*, 255.255.0.0+190.198.162.1");
-acl aclfile0.9;
-allow (read, write, execute) (timeofday<2100);
-allow (read, write, execute) (dayofweek!=sun or ip="255.255.255.255+*.*.*.*, 255.255.0.0+190.198.162.1");
-acl aclfile0.10;
-allow (read, write, execute) (timeofday<2100);
-allow (read, write, execute) (dayofweek!=sun or ip="255.255.255.255+*.*.*.*, 255.255.0.0+190.198.162.1");
-acl aclfile0.11;
-allow (read, write, execute) (timeofday<2100);
-acl aclfile0.12;
-authenticate (user, group) {
- database=franco;
- method=basic;
-};
-allow (read, write, execute) (timeofday<2100);
-allow (read, write, execute) (dayofweek!=sun or ip="255.255.255.255+*.*.*.*, 255.255.0.0+190.198.162.1");
diff --git a/lib/libaccess/utest/aclfile1 b/lib/libaccess/utest/aclfile1
deleted file mode 100644
index 314ae09..0000000
--- a/lib/libaccess/utest/aclfile1
+++ /dev/null
@@ -1,43 +0,0 @@
-#
-# BEGIN COPYRIGHT BLOCK
-# This Program is free software; you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free Software
-# Foundation; version 2 of the License.
-#
-# This Program is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this Program; if not, write to the Free Software Foundation, Inc., 59 Temple
-# Place, Suite 330, Boston, MA 02111-1307 USA.
-#
-# In addition, as a special exception, Red Hat, Inc. gives You the additional
-# right to link the code of this Program with code not covered under the GNU
-# General Public License ("Non-GPL Code") and to distribute linked combinations
-# including the two, subject to the limitations in this paragraph. Non-GPL Code
-# permitted under this exception must only link to the code of this Program
-# through those well defined interfaces identified in the file named EXCEPTION
-# found in the source code files (the "Approved Interfaces"). The files of
-# Non-GPL Code may instantiate templates or use macros or inline functions from
-# the Approved Interfaces without causing the resulting work to be covered by
-# the GNU General Public License. Only Red Hat, Inc. may make changes or
-# additions to the list of Approved Interfaces. You must obey the GNU General
-# Public License in all respects for all of the Program code and other code used
-# in conjunction with the Program except the Non-GPL Code covered by this
-# exception. If you modify this file, you may extend this exception to your
-# version of the file, but you are not obligated to do so. If you do not wish to
-# provide this exception without modification, you must delete this exception
-# statement from your version and license this file solely under the GPL without
-# exception.
-#
-#
-# Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.
-# Copyright (C) 2005 Red Hat, Inc.
-# All rights reserved.
-# END COPYRIGHT BLOCK
-#
-version 3.0;
-acl aclfile1;
-deny (read, write, execute) (timeofday<2100);
-deny (read, write, execute) (dayofweek!=sun);
diff --git a/lib/libaccess/utest/aclfile10 b/lib/libaccess/utest/aclfile10
deleted file mode 100644
index 4d78bbc..0000000
--- a/lib/libaccess/utest/aclfile10
+++ /dev/null
@@ -1,45 +0,0 @@
-#
-# BEGIN COPYRIGHT BLOCK
-# This Program is free software; you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free Software
-# Foundation; version 2 of the License.
-#
-# This Program is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this Program; if not, write to the Free Software Foundation, Inc., 59 Temple
-# Place, Suite 330, Boston, MA 02111-1307 USA.
-#
-# In addition, as a special exception, Red Hat, Inc. gives You the additional
-# right to link the code of this Program with code not covered under the GNU
-# General Public License ("Non-GPL Code") and to distribute linked combinations
-# including the two, subject to the limitations in this paragraph. Non-GPL Code
-# permitted under this exception must only link to the code of this Program
-# through those well defined interfaces identified in the file named EXCEPTION
-# found in the source code files (the "Approved Interfaces"). The files of
-# Non-GPL Code may instantiate templates or use macros or inline functions from
-# the Approved Interfaces without causing the resulting work to be covered by
-# the GNU General Public License. Only Red Hat, Inc. may make changes or
-# additions to the list of Approved Interfaces. You must obey the GNU General
-# Public License in all respects for all of the Program code and other code used
-# in conjunction with the Program except the Non-GPL Code covered by this
-# exception. If you modify this file, you may extend this exception to your
-# version of the file, but you are not obligated to do so. If you do not wish to
-# provide this exception without modification, you must delete this exception
-# statement from your version and license this file solely under the GPL without
-# exception.
-#
-#
-# Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.
-# Copyright (C) 2005 Red Hat, Inc.
-# All rights reserved.
-# END COPYRIGHT BLOCK
-#
-version 3.0;
-acl aclfile10;
-deny absolute (read) ip="17.34.*";
-allow (read,write) timeofday>1700;
-deny (read) dns="*.mcom.com";
-allow (read,write) dayofweek=mon;
diff --git a/lib/libaccess/utest/aclfile11 b/lib/libaccess/utest/aclfile11
deleted file mode 100644
index 16376bb..0000000
--- a/lib/libaccess/utest/aclfile11
+++ /dev/null
@@ -1,43 +0,0 @@
-#
-# BEGIN COPYRIGHT BLOCK
-# This Program is free software; you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free Software
-# Foundation; version 2 of the License.
-#
-# This Program is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this Program; if not, write to the Free Software Foundation, Inc., 59 Temple
-# Place, Suite 330, Boston, MA 02111-1307 USA.
-#
-# In addition, as a special exception, Red Hat, Inc. gives You the additional
-# right to link the code of this Program with code not covered under the GNU
-# General Public License ("Non-GPL Code") and to distribute linked combinations
-# including the two, subject to the limitations in this paragraph. Non-GPL Code
-# permitted under this exception must only link to the code of this Program
-# through those well defined interfaces identified in the file named EXCEPTION
-# found in the source code files (the "Approved Interfaces"). The files of
-# Non-GPL Code may instantiate templates or use macros or inline functions from
-# the Approved Interfaces without causing the resulting work to be covered by
-# the GNU General Public License. Only Red Hat, Inc. may make changes or
-# additions to the list of Approved Interfaces. You must obey the GNU General
-# Public License in all respects for all of the Program code and other code used
-# in conjunction with the Program except the Non-GPL Code covered by this
-# exception. If you modify this file, you may extend this exception to your
-# version of the file, but you are not obligated to do so. If you do not wish to
-# provide this exception without modification, you must delete this exception
-# statement from your version and license this file solely under the GPL without
-# exception.
-#
-#
-# Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.
-# Copyright (C) 2005 Red Hat, Inc.
-# All rights reserved.
-# END COPYRIGHT BLOCK
-#
-version 3.0;
-acl aclfile11;
-allow (read) (timeofday<2100);
-allow (html_write, execute) (dayofweek!=sun);
diff --git a/lib/libaccess/utest/aclfile12 b/lib/libaccess/utest/aclfile12
deleted file mode 100644
index 0a4c2ad..0000000
--- a/lib/libaccess/utest/aclfile12
+++ /dev/null
@@ -1,43 +0,0 @@
-#
-# BEGIN COPYRIGHT BLOCK
-# This Program is free software; you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free Software
-# Foundation; version 2 of the License.
-#
-# This Program is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this Program; if not, write to the Free Software Foundation, Inc., 59 Temple
-# Place, Suite 330, Boston, MA 02111-1307 USA.
-#
-# In addition, as a special exception, Red Hat, Inc. gives You the additional
-# right to link the code of this Program with code not covered under the GNU
-# General Public License ("Non-GPL Code") and to distribute linked combinations
-# including the two, subject to the limitations in this paragraph. Non-GPL Code
-# permitted under this exception must only link to the code of this Program
-# through those well defined interfaces identified in the file named EXCEPTION
-# found in the source code files (the "Approved Interfaces"). The files of
-# Non-GPL Code may instantiate templates or use macros or inline functions from
-# the Approved Interfaces without causing the resulting work to be covered by
-# the GNU General Public License. Only Red Hat, Inc. may make changes or
-# additions to the list of Approved Interfaces. You must obey the GNU General
-# Public License in all respects for all of the Program code and other code used
-# in conjunction with the Program except the Non-GPL Code covered by this
-# exception. If you modify this file, you may extend this exception to your
-# version of the file, but you are not obligated to do so. If you do not wish to
-# provide this exception without modification, you must delete this exception
-# statement from your version and license this file solely under the GPL without
-# exception.
-#
-#
-# Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.
-# Copyright (C) 2005 Red Hat, Inc.
-# All rights reserved.
-# END COPYRIGHT BLOCK
-#
-version 3.0;
-acl aclfile12;
-allow (read) (timeofday<2100);
-allow (read, html_write, execute) (dayofweek!=sun);
diff --git a/lib/libaccess/utest/aclfile13 b/lib/libaccess/utest/aclfile13
deleted file mode 100644
index 0fbce61..0000000
--- a/lib/libaccess/utest/aclfile13
+++ /dev/null
@@ -1,43 +0,0 @@
-#
-# BEGIN COPYRIGHT BLOCK
-# This Program is free software; you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free Software
-# Foundation; version 2 of the License.
-#
-# This Program is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this Program; if not, write to the Free Software Foundation, Inc., 59 Temple
-# Place, Suite 330, Boston, MA 02111-1307 USA.
-#
-# In addition, as a special exception, Red Hat, Inc. gives You the additional
-# right to link the code of this Program with code not covered under the GNU
-# General Public License ("Non-GPL Code") and to distribute linked combinations
-# including the two, subject to the limitations in this paragraph. Non-GPL Code
-# permitted under this exception must only link to the code of this Program
-# through those well defined interfaces identified in the file named EXCEPTION
-# found in the source code files (the "Approved Interfaces"). The files of
-# Non-GPL Code may instantiate templates or use macros or inline functions from
-# the Approved Interfaces without causing the resulting work to be covered by
-# the GNU General Public License. Only Red Hat, Inc. may make changes or
-# additions to the list of Approved Interfaces. You must obey the GNU General
-# Public License in all respects for all of the Program code and other code used
-# in conjunction with the Program except the Non-GPL Code covered by this
-# exception. If you modify this file, you may extend this exception to your
-# version of the file, but you are not obligated to do so. If you do not wish to
-# provide this exception without modification, you must delete this exception
-# statement from your version and license this file solely under the GPL without
-# exception.
-#
-#
-# Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.
-# Copyright (C) 2005 Red Hat, Inc.
-# All rights reserved.
-# END COPYRIGHT BLOCK
-#
-version 3.0;
-acl aclfile13;
-allow (read) (ip="17.34.1.1+255.255.0.0");
-allow (html_write) (dns!="*.microsoft.com");
diff --git a/lib/libaccess/utest/aclfile14 b/lib/libaccess/utest/aclfile14
deleted file mode 100644
index 7ed043d..0000000
--- a/lib/libaccess/utest/aclfile14
+++ /dev/null
@@ -1,43 +0,0 @@
-#
-# BEGIN COPYRIGHT BLOCK
-# This Program is free software; you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free Software
-# Foundation; version 2 of the License.
-#
-# This Program is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this Program; if not, write to the Free Software Foundation, Inc., 59 Temple
-# Place, Suite 330, Boston, MA 02111-1307 USA.
-#
-# In addition, as a special exception, Red Hat, Inc. gives You the additional
-# right to link the code of this Program with code not covered under the GNU
-# General Public License ("Non-GPL Code") and to distribute linked combinations
-# including the two, subject to the limitations in this paragraph. Non-GPL Code
-# permitted under this exception must only link to the code of this Program
-# through those well defined interfaces identified in the file named EXCEPTION
-# found in the source code files (the "Approved Interfaces"). The files of
-# Non-GPL Code may instantiate templates or use macros or inline functions from
-# the Approved Interfaces without causing the resulting work to be covered by
-# the GNU General Public License. Only Red Hat, Inc. may make changes or
-# additions to the list of Approved Interfaces. You must obey the GNU General
-# Public License in all respects for all of the Program code and other code used
-# in conjunction with the Program except the Non-GPL Code covered by this
-# exception. If you modify this file, you may extend this exception to your
-# version of the file, but you are not obligated to do so. If you do not wish to
-# provide this exception without modification, you must delete this exception
-# statement from your version and license this file solely under the GPL without
-# exception.
-#
-#
-# Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.
-# Copyright (C) 2005 Red Hat, Inc.
-# All rights reserved.
-# END COPYRIGHT BLOCK
-#
-version 3.0;
-acl aclfile14;
-allow (read, write) (ip="17.34.*");
-deny (write) (dns!="*.mcom.com");
diff --git a/lib/libaccess/utest/aclfile15 b/lib/libaccess/utest/aclfile15
deleted file mode 100644
index b2dd641..0000000
--- a/lib/libaccess/utest/aclfile15
+++ /dev/null
@@ -1,43 +0,0 @@
-#
-# BEGIN COPYRIGHT BLOCK
-# This Program is free software; you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free Software
-# Foundation; version 2 of the License.
-#
-# This Program is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this Program; if not, write to the Free Software Foundation, Inc., 59 Temple
-# Place, Suite 330, Boston, MA 02111-1307 USA.
-#
-# In addition, as a special exception, Red Hat, Inc. gives You the additional
-# right to link the code of this Program with code not covered under the GNU
-# General Public License ("Non-GPL Code") and to distribute linked combinations
-# including the two, subject to the limitations in this paragraph. Non-GPL Code
-# permitted under this exception must only link to the code of this Program
-# through those well defined interfaces identified in the file named EXCEPTION
-# found in the source code files (the "Approved Interfaces"). The files of
-# Non-GPL Code may instantiate templates or use macros or inline functions from
-# the Approved Interfaces without causing the resulting work to be covered by
-# the GNU General Public License. Only Red Hat, Inc. may make changes or
-# additions to the list of Approved Interfaces. You must obey the GNU General
-# Public License in all respects for all of the Program code and other code used
-# in conjunction with the Program except the Non-GPL Code covered by this
-# exception. If you modify this file, you may extend this exception to your
-# version of the file, but you are not obligated to do so. If you do not wish to
-# provide this exception without modification, you must delete this exception
-# statement from your version and license this file solely under the GPL without
-# exception.
-#
-#
-# Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.
-# Copyright (C) 2005 Red Hat, Inc.
-# All rights reserved.
-# END COPYRIGHT BLOCK
-#
-version 3.0;
-acl aclfile15;
-allow (html_read, write) (dns="*.mcom.com");
-deny (read) (ip="17.34.*");
diff --git a/lib/libaccess/utest/aclfile16 b/lib/libaccess/utest/aclfile16
deleted file mode 100644
index 1f837b1..0000000
--- a/lib/libaccess/utest/aclfile16
+++ /dev/null
@@ -1,43 +0,0 @@
-#
-# BEGIN COPYRIGHT BLOCK
-# This Program is free software; you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free Software
-# Foundation; version 2 of the License.
-#
-# This Program is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this Program; if not, write to the Free Software Foundation, Inc., 59 Temple
-# Place, Suite 330, Boston, MA 02111-1307 USA.
-#
-# In addition, as a special exception, Red Hat, Inc. gives You the additional
-# right to link the code of this Program with code not covered under the GNU
-# General Public License ("Non-GPL Code") and to distribute linked combinations
-# including the two, subject to the limitations in this paragraph. Non-GPL Code
-# permitted under this exception must only link to the code of this Program
-# through those well defined interfaces identified in the file named EXCEPTION
-# found in the source code files (the "Approved Interfaces"). The files of
-# Non-GPL Code may instantiate templates or use macros or inline functions from
-# the Approved Interfaces without causing the resulting work to be covered by
-# the GNU General Public License. Only Red Hat, Inc. may make changes or
-# additions to the list of Approved Interfaces. You must obey the GNU General
-# Public License in all respects for all of the Program code and other code used
-# in conjunction with the Program except the Non-GPL Code covered by this
-# exception. If you modify this file, you may extend this exception to your
-# version of the file, but you are not obligated to do so. If you do not wish to
-# provide this exception without modification, you must delete this exception
-# statement from your version and license this file solely under the GPL without
-# exception.
-#
-#
-# Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.
-# Copyright (C) 2005 Red Hat, Inc.
-# All rights reserved.
-# END COPYRIGHT BLOCK
-#
-version 3.0;
-acl aclfile16;
-allow (html_read, write) (dns="*.mcom.com");
-deny (read) (ip="17.34.1.1 + 255.255.0.0");
diff --git a/lib/libaccess/utest/aclfile17 b/lib/libaccess/utest/aclfile17
deleted file mode 100644
index 4290101..0000000
--- a/lib/libaccess/utest/aclfile17
+++ /dev/null
@@ -1,43 +0,0 @@
-#
-# BEGIN COPYRIGHT BLOCK
-# This Program is free software; you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free Software
-# Foundation; version 2 of the License.
-#
-# This Program is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this Program; if not, write to the Free Software Foundation, Inc., 59 Temple
-# Place, Suite 330, Boston, MA 02111-1307 USA.
-#
-# In addition, as a special exception, Red Hat, Inc. gives You the additional
-# right to link the code of this Program with code not covered under the GNU
-# General Public License ("Non-GPL Code") and to distribute linked combinations
-# including the two, subject to the limitations in this paragraph. Non-GPL Code
-# permitted under this exception must only link to the code of this Program
-# through those well defined interfaces identified in the file named EXCEPTION
-# found in the source code files (the "Approved Interfaces"). The files of
-# Non-GPL Code may instantiate templates or use macros or inline functions from
-# the Approved Interfaces without causing the resulting work to be covered by
-# the GNU General Public License. Only Red Hat, Inc. may make changes or
-# additions to the list of Approved Interfaces. You must obey the GNU General
-# Public License in all respects for all of the Program code and other code used
-# in conjunction with the Program except the Non-GPL Code covered by this
-# exception. If you modify this file, you may extend this exception to your
-# version of the file, but you are not obligated to do so. If you do not wish to
-# provide this exception without modification, you must delete this exception
-# statement from your version and license this file solely under the GPL without
-# exception.
-#
-#
-# Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.
-# Copyright (C) 2005 Red Hat, Inc.
-# All rights reserved.
-# END COPYRIGHT BLOCK
-#
-version 3.0;
-acl aclfile17;
-allow absolute (all) (dns="*.mcom.com");
-deny (read) (ip="17.34.1.1+255.255.0.0");
diff --git a/lib/libaccess/utest/aclfile18 b/lib/libaccess/utest/aclfile18
deleted file mode 100644
index 1d0445d..0000000
--- a/lib/libaccess/utest/aclfile18
+++ /dev/null
@@ -1,51 +0,0 @@
-#
-# BEGIN COPYRIGHT BLOCK
-# This Program is free software; you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free Software
-# Foundation; version 2 of the License.
-#
-# This Program is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this Program; if not, write to the Free Software Foundation, Inc., 59 Temple
-# Place, Suite 330, Boston, MA 02111-1307 USA.
-#
-# In addition, as a special exception, Red Hat, Inc. gives You the additional
-# right to link the code of this Program with code not covered under the GNU
-# General Public License ("Non-GPL Code") and to distribute linked combinations
-# including the two, subject to the limitations in this paragraph. Non-GPL Code
-# permitted under this exception must only link to the code of this Program
-# through those well defined interfaces identified in the file named EXCEPTION
-# found in the source code files (the "Approved Interfaces"). The files of
-# Non-GPL Code may instantiate templates or use macros or inline functions from
-# the Approved Interfaces without causing the resulting work to be covered by
-# the GNU General Public License. Only Red Hat, Inc. may make changes or
-# additions to the list of Approved Interfaces. You must obey the GNU General
-# Public License in all respects for all of the Program code and other code used
-# in conjunction with the Program except the Non-GPL Code covered by this
-# exception. If you modify this file, you may extend this exception to your
-# version of the file, but you are not obligated to do so. If you do not wish to
-# provide this exception without modification, you must delete this exception
-# statement from your version and license this file solely under the GPL without
-# exception.
-#
-#
-# Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.
-# Copyright (C) 2005 Red Hat, Inc.
-# All rights reserved.
-# END COPYRIGHT BLOCK
-#
-version 3.0;
-acl aclfile18;
-authenticate (user) {
- method=SSL;
- database=LDAP;
-};
-allow (read, write, execute, create) dns="*.mcom.com";
-authenticate (user) {
- method=basic;
- database=20;
-};
-allow (read, write, execute, create) (timeofday>1700 or timeofday<0800);
diff --git a/lib/libaccess/utest/aclfile19 b/lib/libaccess/utest/aclfile19
deleted file mode 100644
index f637c17..0000000
--- a/lib/libaccess/utest/aclfile19
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-# BEGIN COPYRIGHT BLOCK
-# This Program is free software; you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free Software
-# Foundation; version 2 of the License.
-#
-# This Program is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this Program; if not, write to the Free Software Foundation, Inc., 59 Temple
-# Place, Suite 330, Boston, MA 02111-1307 USA.
-#
-# In addition, as a special exception, Red Hat, Inc. gives You the additional
-# right to link the code of this Program with code not covered under the GNU
-# General Public License ("Non-GPL Code") and to distribute linked combinations
-# including the two, subject to the limitations in this paragraph. Non-GPL Code
-# permitted under this exception must only link to the code of this Program
-# through those well defined interfaces identified in the file named EXCEPTION
-# found in the source code files (the "Approved Interfaces"). The files of
-# Non-GPL Code may instantiate templates or use macros or inline functions from
-# the Approved Interfaces without causing the resulting work to be covered by
-# the GNU General Public License. Only Red Hat, Inc. may make changes or
-# additions to the list of Approved Interfaces. You must obey the GNU General
-# Public License in all respects for all of the Program code and other code used
-# in conjunction with the Program except the Non-GPL Code covered by this
-# exception. If you modify this file, you may extend this exception to your
-# version of the file, but you are not obligated to do so. If you do not wish to
-# provide this exception without modification, you must delete this exception
-# statement from your version and license this file solely under the GPL without
-# exception.
-#
-#
-# Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.
-# Copyright (C) 2005 Red Hat, Inc.
-# All rights reserved.
-# END COPYRIGHT BLOCK
-#
-version 3.0;
-acl aclfile19A;
-deny (read, write, execute, create) dns!="*.mcom.com";
-allow absolute (read) ((timeofday>1700 or timeofday<0800) or dayofweek=satsunmon);
-
-acl aclfile19B;
-deny (write) dns="*.mcom.com";
diff --git a/lib/libaccess/utest/aclfile2 b/lib/libaccess/utest/aclfile2
deleted file mode 100644
index a442431..0000000
--- a/lib/libaccess/utest/aclfile2
+++ /dev/null
@@ -1,43 +0,0 @@
-#
-# BEGIN COPYRIGHT BLOCK
-# This Program is free software; you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free Software
-# Foundation; version 2 of the License.
-#
-# This Program is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this Program; if not, write to the Free Software Foundation, Inc., 59 Temple
-# Place, Suite 330, Boston, MA 02111-1307 USA.
-#
-# In addition, as a special exception, Red Hat, Inc. gives You the additional
-# right to link the code of this Program with code not covered under the GNU
-# General Public License ("Non-GPL Code") and to distribute linked combinations
-# including the two, subject to the limitations in this paragraph. Non-GPL Code
-# permitted under this exception must only link to the code of this Program
-# through those well defined interfaces identified in the file named EXCEPTION
-# found in the source code files (the "Approved Interfaces"). The files of
-# Non-GPL Code may instantiate templates or use macros or inline functions from
-# the Approved Interfaces without causing the resulting work to be covered by
-# the GNU General Public License. Only Red Hat, Inc. may make changes or
-# additions to the list of Approved Interfaces. You must obey the GNU General
-# Public License in all respects for all of the Program code and other code used
-# in conjunction with the Program except the Non-GPL Code covered by this
-# exception. If you modify this file, you may extend this exception to your
-# version of the file, but you are not obligated to do so. If you do not wish to
-# provide this exception without modification, you must delete this exception
-# statement from your version and license this file solely under the GPL without
-# exception.
-#
-#
-# Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.
-# Copyright (C) 2005 Red Hat, Inc.
-# All rights reserved.
-# END COPYRIGHT BLOCK
-#
-version 3.0;
-acl aclfile2;
-deny (read) (timeofday<2100);
-deny (read) (dayofweek!=sun);
diff --git a/lib/libaccess/utest/aclfile3 b/lib/libaccess/utest/aclfile3
deleted file mode 100644
index 957072e..0000000
--- a/lib/libaccess/utest/aclfile3
+++ /dev/null
@@ -1,43 +0,0 @@
-#
-# BEGIN COPYRIGHT BLOCK
-# This Program is free software; you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free Software
-# Foundation; version 2 of the License.
-#
-# This Program is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this Program; if not, write to the Free Software Foundation, Inc., 59 Temple
-# Place, Suite 330, Boston, MA 02111-1307 USA.
-#
-# In addition, as a special exception, Red Hat, Inc. gives You the additional
-# right to link the code of this Program with code not covered under the GNU
-# General Public License ("Non-GPL Code") and to distribute linked combinations
-# including the two, subject to the limitations in this paragraph. Non-GPL Code
-# permitted under this exception must only link to the code of this Program
-# through those well defined interfaces identified in the file named EXCEPTION
-# found in the source code files (the "Approved Interfaces"). The files of
-# Non-GPL Code may instantiate templates or use macros or inline functions from
-# the Approved Interfaces without causing the resulting work to be covered by
-# the GNU General Public License. Only Red Hat, Inc. may make changes or
-# additions to the list of Approved Interfaces. You must obey the GNU General
-# Public License in all respects for all of the Program code and other code used
-# in conjunction with the Program except the Non-GPL Code covered by this
-# exception. If you modify this file, you may extend this exception to your
-# version of the file, but you are not obligated to do so. If you do not wish to
-# provide this exception without modification, you must delete this exception
-# statement from your version and license this file solely under the GPL without
-# exception.
-#
-#
-# Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.
-# Copyright (C) 2005 Red Hat, Inc.
-# All rights reserved.
-# END COPYRIGHT BLOCK
-#
-version 3.0;
-acl aclfile3;
-allow (read) (timeofday<2100);
-allow (read) (dayofweek!=sun);
diff --git a/lib/libaccess/utest/aclfile4 b/lib/libaccess/utest/aclfile4
deleted file mode 100644
index aa373b3..0000000
--- a/lib/libaccess/utest/aclfile4
+++ /dev/null
@@ -1,43 +0,0 @@
-#
-# BEGIN COPYRIGHT BLOCK
-# This Program is free software; you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free Software
-# Foundation; version 2 of the License.
-#
-# This Program is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this Program; if not, write to the Free Software Foundation, Inc., 59 Temple
-# Place, Suite 330, Boston, MA 02111-1307 USA.
-#
-# In addition, as a special exception, Red Hat, Inc. gives You the additional
-# right to link the code of this Program with code not covered under the GNU
-# General Public License ("Non-GPL Code") and to distribute linked combinations
-# including the two, subject to the limitations in this paragraph. Non-GPL Code
-# permitted under this exception must only link to the code of this Program
-# through those well defined interfaces identified in the file named EXCEPTION
-# found in the source code files (the "Approved Interfaces"). The files of
-# Non-GPL Code may instantiate templates or use macros or inline functions from
-# the Approved Interfaces without causing the resulting work to be covered by
-# the GNU General Public License. Only Red Hat, Inc. may make changes or
-# additions to the list of Approved Interfaces. You must obey the GNU General
-# Public License in all respects for all of the Program code and other code used
-# in conjunction with the Program except the Non-GPL Code covered by this
-# exception. If you modify this file, you may extend this exception to your
-# version of the file, but you are not obligated to do so. If you do not wish to
-# provide this exception without modification, you must delete this exception
-# statement from your version and license this file solely under the GPL without
-# exception.
-#
-#
-# Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.
-# Copyright (C) 2005 Red Hat, Inc.
-# All rights reserved.
-# END COPYRIGHT BLOCK
-#
-version 3.0;
-acl aclfile4;
-allow (read) (timeofday>0700);
-allow (write) (dayofweek!=sun);
diff --git a/lib/libaccess/utest/aclfile5 b/lib/libaccess/utest/aclfile5
deleted file mode 100644
index 10de6a5..0000000
--- a/lib/libaccess/utest/aclfile5
+++ /dev/null
@@ -1,43 +0,0 @@
-#
-# BEGIN COPYRIGHT BLOCK
-# This Program is free software; you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free Software
-# Foundation; version 2 of the License.
-#
-# This Program is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this Program; if not, write to the Free Software Foundation, Inc., 59 Temple
-# Place, Suite 330, Boston, MA 02111-1307 USA.
-#
-# In addition, as a special exception, Red Hat, Inc. gives You the additional
-# right to link the code of this Program with code not covered under the GNU
-# General Public License ("Non-GPL Code") and to distribute linked combinations
-# including the two, subject to the limitations in this paragraph. Non-GPL Code
-# permitted under this exception must only link to the code of this Program
-# through those well defined interfaces identified in the file named EXCEPTION
-# found in the source code files (the "Approved Interfaces"). The files of
-# Non-GPL Code may instantiate templates or use macros or inline functions from
-# the Approved Interfaces without causing the resulting work to be covered by
-# the GNU General Public License. Only Red Hat, Inc. may make changes or
-# additions to the list of Approved Interfaces. You must obey the GNU General
-# Public License in all respects for all of the Program code and other code used
-# in conjunction with the Program except the Non-GPL Code covered by this
-# exception. If you modify this file, you may extend this exception to your
-# version of the file, but you are not obligated to do so. If you do not wish to
-# provide this exception without modification, you must delete this exception
-# statement from your version and license this file solely under the GPL without
-# exception.
-#
-#
-# Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.
-# Copyright (C) 2005 Red Hat, Inc.
-# All rights reserved.
-# END COPYRIGHT BLOCK
-#
-version 3.0;
-acl aclfile5;
-allow (read) (ip="17.34.*");
-allow (write) (dns!="*.microsoft.com");
diff --git a/lib/libaccess/utest/aclfile6 b/lib/libaccess/utest/aclfile6
deleted file mode 100644
index cc3cb7a..0000000
--- a/lib/libaccess/utest/aclfile6
+++ /dev/null
@@ -1,55 +0,0 @@
-#
-# BEGIN COPYRIGHT BLOCK
-# This Program is free software; you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free Software
-# Foundation; version 2 of the License.
-#
-# This Program is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this Program; if not, write to the Free Software Foundation, Inc., 59 Temple
-# Place, Suite 330, Boston, MA 02111-1307 USA.
-#
-# In addition, as a special exception, Red Hat, Inc. gives You the additional
-# right to link the code of this Program with code not covered under the GNU
-# General Public License ("Non-GPL Code") and to distribute linked combinations
-# including the two, subject to the limitations in this paragraph. Non-GPL Code
-# permitted under this exception must only link to the code of this Program
-# through those well defined interfaces identified in the file named EXCEPTION
-# found in the source code files (the "Approved Interfaces"). The files of
-# Non-GPL Code may instantiate templates or use macros or inline functions from
-# the Approved Interfaces without causing the resulting work to be covered by
-# the GNU General Public License. Only Red Hat, Inc. may make changes or
-# additions to the list of Approved Interfaces. You must obey the GNU General
-# Public License in all respects for all of the Program code and other code used
-# in conjunction with the Program except the Non-GPL Code covered by this
-# exception. If you modify this file, you may extend this exception to your
-# version of the file, but you are not obligated to do so. If you do not wish to
-# provide this exception without modification, you must delete this exception
-# statement from your version and license this file solely under the GPL without
-# exception.
-#
-#
-# Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.
-# Copyright (C) 2005 Red Hat, Inc.
-# All rights reserved.
-# END COPYRIGHT BLOCK
-#
-version 3.0;
-acl aclfile6;
-allow (read,
-write) (ip="17.34.*");
-allow (read, write) (ip="17.34.*");
-allow (read, write) (ip="17.34.*");
-allow (read, write) (ip="17.34.*");
-allow (read, write) (ip="17.34.*");
-allow (read, write) (ip="17.34.*");
-deny (write)
-(dns!="*.mcom.com");
-deny (write) (dns!="*.mcom.com");
-deny (write) (dns!="*.mcom.com");
-deny (write) (dns!="*.mcom.com");
-deny (write) (dns!="*.mcom.com");
-deny (write) (dns!="*.mcom.com");
diff --git a/lib/libaccess/utest/aclfile7 b/lib/libaccess/utest/aclfile7
deleted file mode 100644
index 1c89664..0000000
--- a/lib/libaccess/utest/aclfile7
+++ /dev/null
@@ -1,43 +0,0 @@
-#
-# BEGIN COPYRIGHT BLOCK
-# This Program is free software; you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free Software
-# Foundation; version 2 of the License.
-#
-# This Program is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this Program; if not, write to the Free Software Foundation, Inc., 59 Temple
-# Place, Suite 330, Boston, MA 02111-1307 USA.
-#
-# In addition, as a special exception, Red Hat, Inc. gives You the additional
-# right to link the code of this Program with code not covered under the GNU
-# General Public License ("Non-GPL Code") and to distribute linked combinations
-# including the two, subject to the limitations in this paragraph. Non-GPL Code
-# permitted under this exception must only link to the code of this Program
-# through those well defined interfaces identified in the file named EXCEPTION
-# found in the source code files (the "Approved Interfaces"). The files of
-# Non-GPL Code may instantiate templates or use macros or inline functions from
-# the Approved Interfaces without causing the resulting work to be covered by
-# the GNU General Public License. Only Red Hat, Inc. may make changes or
-# additions to the list of Approved Interfaces. You must obey the GNU General
-# Public License in all respects for all of the Program code and other code used
-# in conjunction with the Program except the Non-GPL Code covered by this
-# exception. If you modify this file, you may extend this exception to your
-# version of the file, but you are not obligated to do so. If you do not wish to
-# provide this exception without modification, you must delete this exception
-# statement from your version and license this file solely under the GPL without
-# exception.
-#
-#
-# Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.
-# Copyright (C) 2005 Red Hat, Inc.
-# All rights reserved.
-# END COPYRIGHT BLOCK
-#
-version 3.0;
-acl aclfile7;
-allow (read,write) (dns="*.mcom.com");
-deny (read) (ip="17.34.*");
diff --git a/lib/libaccess/utest/aclfile8 b/lib/libaccess/utest/aclfile8
deleted file mode 100644
index e44ff8f..0000000
--- a/lib/libaccess/utest/aclfile8
+++ /dev/null
@@ -1,43 +0,0 @@
-#
-# BEGIN COPYRIGHT BLOCK
-# This Program is free software; you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free Software
-# Foundation; version 2 of the License.
-#
-# This Program is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this Program; if not, write to the Free Software Foundation, Inc., 59 Temple
-# Place, Suite 330, Boston, MA 02111-1307 USA.
-#
-# In addition, as a special exception, Red Hat, Inc. gives You the additional
-# right to link the code of this Program with code not covered under the GNU
-# General Public License ("Non-GPL Code") and to distribute linked combinations
-# including the two, subject to the limitations in this paragraph. Non-GPL Code
-# permitted under this exception must only link to the code of this Program
-# through those well defined interfaces identified in the file named EXCEPTION
-# found in the source code files (the "Approved Interfaces"). The files of
-# Non-GPL Code may instantiate templates or use macros or inline functions from
-# the Approved Interfaces without causing the resulting work to be covered by
-# the GNU General Public License. Only Red Hat, Inc. may make changes or
-# additions to the list of Approved Interfaces. You must obey the GNU General
-# Public License in all respects for all of the Program code and other code used
-# in conjunction with the Program except the Non-GPL Code covered by this
-# exception. If you modify this file, you may extend this exception to your
-# version of the file, but you are not obligated to do so. If you do not wish to
-# provide this exception without modification, you must delete this exception
-# statement from your version and license this file solely under the GPL without
-# exception.
-#
-#
-# Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.
-# Copyright (C) 2005 Red Hat, Inc.
-# All rights reserved.
-# END COPYRIGHT BLOCK
-#
-version 3.0;
-acl aclfile8;
-allow (read, write, execute, create) dns="*.mcom.com";
-allow (read, write, execute, create) (timeofday>1700 or timeofday<0800);
diff --git a/lib/libaccess/utest/aclfile9 b/lib/libaccess/utest/aclfile9
deleted file mode 100644
index 753fdee..0000000
--- a/lib/libaccess/utest/aclfile9
+++ /dev/null
@@ -1,43 +0,0 @@
-#
-# BEGIN COPYRIGHT BLOCK
-# This Program is free software; you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free Software
-# Foundation; version 2 of the License.
-#
-# This Program is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this Program; if not, write to the Free Software Foundation, Inc., 59 Temple
-# Place, Suite 330, Boston, MA 02111-1307 USA.
-#
-# In addition, as a special exception, Red Hat, Inc. gives You the additional
-# right to link the code of this Program with code not covered under the GNU
-# General Public License ("Non-GPL Code") and to distribute linked combinations
-# including the two, subject to the limitations in this paragraph. Non-GPL Code
-# permitted under this exception must only link to the code of this Program
-# through those well defined interfaces identified in the file named EXCEPTION
-# found in the source code files (the "Approved Interfaces"). The files of
-# Non-GPL Code may instantiate templates or use macros or inline functions from
-# the Approved Interfaces without causing the resulting work to be covered by
-# the GNU General Public License. Only Red Hat, Inc. may make changes or
-# additions to the list of Approved Interfaces. You must obey the GNU General
-# Public License in all respects for all of the Program code and other code used
-# in conjunction with the Program except the Non-GPL Code covered by this
-# exception. If you modify this file, you may extend this exception to your
-# version of the file, but you are not obligated to do so. If you do not wish to
-# provide this exception without modification, you must delete this exception
-# statement from your version and license this file solely under the GPL without
-# exception.
-#
-#
-# Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.
-# Copyright (C) 2005 Red Hat, Inc.
-# All rights reserved.
-# END COPYRIGHT BLOCK
-#
-version 3.0;
-acl aclfile9;
-deny (read) ip="*.34.*+*.128.*.0";
-allow (read, write, execute, create) ((timeofday>1700 or timeofday<0800) or dayofweek=satsunmon);
diff --git a/lib/libaccess/utest/aclgrp0 b/lib/libaccess/utest/aclgrp0
deleted file mode 100644
index da6012c..0000000
--- a/lib/libaccess/utest/aclgrp0
+++ /dev/null
@@ -1,42 +0,0 @@
-#
-# BEGIN COPYRIGHT BLOCK
-# This Program is free software; you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free Software
-# Foundation; version 2 of the License.
-#
-# This Program is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this Program; if not, write to the Free Software Foundation, Inc., 59 Temple
-# Place, Suite 330, Boston, MA 02111-1307 USA.
-#
-# In addition, as a special exception, Red Hat, Inc. gives You the additional
-# right to link the code of this Program with code not covered under the GNU
-# General Public License ("Non-GPL Code") and to distribute linked combinations
-# including the two, subject to the limitations in this paragraph. Non-GPL Code
-# permitted under this exception must only link to the code of this Program
-# through those well defined interfaces identified in the file named EXCEPTION
-# found in the source code files (the "Approved Interfaces"). The files of
-# Non-GPL Code may instantiate templates or use macros or inline functions from
-# the Approved Interfaces without causing the resulting work to be covered by
-# the GNU General Public License. Only Red Hat, Inc. may make changes or
-# additions to the list of Approved Interfaces. You must obey the GNU General
-# Public License in all respects for all of the Program code and other code used
-# in conjunction with the Program except the Non-GPL Code covered by this
-# exception. If you modify this file, you may extend this exception to your
-# version of the file, but you are not obligated to do so. If you do not wish to
-# provide this exception without modification, you must delete this exception
-# statement from your version and license this file solely under the GPL without
-# exception.
-#
-#
-# Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.
-# Copyright (C) 2005 Red Hat, Inc.
-# All rights reserved.
-# END COPYRIGHT BLOCK
-#
-version 3.0;
-acl aclgrp0;
-allow (read, write, execute) (group = marketing or group!="Directory Administrators");
diff --git a/lib/libaccess/utest/aclgrp1 b/lib/libaccess/utest/aclgrp1
deleted file mode 100644
index e877794..0000000
--- a/lib/libaccess/utest/aclgrp1
+++ /dev/null
@@ -1,42 +0,0 @@
-#
-# BEGIN COPYRIGHT BLOCK
-# This Program is free software; you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free Software
-# Foundation; version 2 of the License.
-#
-# This Program is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this Program; if not, write to the Free Software Foundation, Inc., 59 Temple
-# Place, Suite 330, Boston, MA 02111-1307 USA.
-#
-# In addition, as a special exception, Red Hat, Inc. gives You the additional
-# right to link the code of this Program with code not covered under the GNU
-# General Public License ("Non-GPL Code") and to distribute linked combinations
-# including the two, subject to the limitations in this paragraph. Non-GPL Code
-# permitted under this exception must only link to the code of this Program
-# through those well defined interfaces identified in the file named EXCEPTION
-# found in the source code files (the "Approved Interfaces"). The files of
-# Non-GPL Code may instantiate templates or use macros or inline functions from
-# the Approved Interfaces without causing the resulting work to be covered by
-# the GNU General Public License. Only Red Hat, Inc. may make changes or
-# additions to the list of Approved Interfaces. You must obey the GNU General
-# Public License in all respects for all of the Program code and other code used
-# in conjunction with the Program except the Non-GPL Code covered by this
-# exception. If you modify this file, you may extend this exception to your
-# version of the file, but you are not obligated to do so. If you do not wish to
-# provide this exception without modification, you must delete this exception
-# statement from your version and license this file solely under the GPL without
-# exception.
-#
-#
-# Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.
-# Copyright (C) 2005 Red Hat, Inc.
-# All rights reserved.
-# END COPYRIGHT BLOCK
-#
-version 3.0;
-acl aclgrp1;
-allow (read, write, execute) (group!="Directory Administrators");
diff --git a/lib/libaccess/utest/aclgrp2 b/lib/libaccess/utest/aclgrp2
deleted file mode 100644
index f799ef0..0000000
--- a/lib/libaccess/utest/aclgrp2
+++ /dev/null
@@ -1,42 +0,0 @@
-#
-# BEGIN COPYRIGHT BLOCK
-# This Program is free software; you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free Software
-# Foundation; version 2 of the License.
-#
-# This Program is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this Program; if not, write to the Free Software Foundation, Inc., 59 Temple
-# Place, Suite 330, Boston, MA 02111-1307 USA.
-#
-# In addition, as a special exception, Red Hat, Inc. gives You the additional
-# right to link the code of this Program with code not covered under the GNU
-# General Public License ("Non-GPL Code") and to distribute linked combinations
-# including the two, subject to the limitations in this paragraph. Non-GPL Code
-# permitted under this exception must only link to the code of this Program
-# through those well defined interfaces identified in the file named EXCEPTION
-# found in the source code files (the "Approved Interfaces"). The files of
-# Non-GPL Code may instantiate templates or use macros or inline functions from
-# the Approved Interfaces without causing the resulting work to be covered by
-# the GNU General Public License. Only Red Hat, Inc. may make changes or
-# additions to the list of Approved Interfaces. You must obey the GNU General
-# Public License in all respects for all of the Program code and other code used
-# in conjunction with the Program except the Non-GPL Code covered by this
-# exception. If you modify this file, you may extend this exception to your
-# version of the file, but you are not obligated to do so. If you do not wish to
-# provide this exception without modification, you must delete this exception
-# statement from your version and license this file solely under the GPL without
-# exception.
-#
-#
-# Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.
-# Copyright (C) 2005 Red Hat, Inc.
-# All rights reserved.
-# END COPYRIGHT BLOCK
-#
-version 3.0;
-acl aclgrp2;
-allow (read, write, execute) (group=marketing);
diff --git a/lib/libaccess/utest/aclgrp3 b/lib/libaccess/utest/aclgrp3
deleted file mode 100644
index 7ad6304..0000000
--- a/lib/libaccess/utest/aclgrp3
+++ /dev/null
@@ -1,42 +0,0 @@
-#
-# BEGIN COPYRIGHT BLOCK
-# This Program is free software; you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free Software
-# Foundation; version 2 of the License.
-#
-# This Program is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this Program; if not, write to the Free Software Foundation, Inc., 59 Temple
-# Place, Suite 330, Boston, MA 02111-1307 USA.
-#
-# In addition, as a special exception, Red Hat, Inc. gives You the additional
-# right to link the code of this Program with code not covered under the GNU
-# General Public License ("Non-GPL Code") and to distribute linked combinations
-# including the two, subject to the limitations in this paragraph. Non-GPL Code
-# permitted under this exception must only link to the code of this Program
-# through those well defined interfaces identified in the file named EXCEPTION
-# found in the source code files (the "Approved Interfaces"). The files of
-# Non-GPL Code may instantiate templates or use macros or inline functions from
-# the Approved Interfaces without causing the resulting work to be covered by
-# the GNU General Public License. Only Red Hat, Inc. may make changes or
-# additions to the list of Approved Interfaces. You must obey the GNU General
-# Public License in all respects for all of the Program code and other code used
-# in conjunction with the Program except the Non-GPL Code covered by this
-# exception. If you modify this file, you may extend this exception to your
-# version of the file, but you are not obligated to do so. If you do not wish to
-# provide this exception without modification, you must delete this exception
-# statement from your version and license this file solely under the GPL without
-# exception.
-#
-#
-# Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.
-# Copyright (C) 2005 Red Hat, Inc.
-# All rights reserved.
-# END COPYRIGHT BLOCK
-#
-version 3.0;
-acl aclgrp3;
-allow (read, write, execute) (group>"Directory Admin,marketing");
diff --git a/lib/libaccess/utest/aclgrp4 b/lib/libaccess/utest/aclgrp4
deleted file mode 100644
index e726f3b..0000000
--- a/lib/libaccess/utest/aclgrp4
+++ /dev/null
@@ -1,42 +0,0 @@
-#
-# BEGIN COPYRIGHT BLOCK
-# This Program is free software; you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free Software
-# Foundation; version 2 of the License.
-#
-# This Program is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this Program; if not, write to the Free Software Foundation, Inc., 59 Temple
-# Place, Suite 330, Boston, MA 02111-1307 USA.
-#
-# In addition, as a special exception, Red Hat, Inc. gives You the additional
-# right to link the code of this Program with code not covered under the GNU
-# General Public License ("Non-GPL Code") and to distribute linked combinations
-# including the two, subject to the limitations in this paragraph. Non-GPL Code
-# permitted under this exception must only link to the code of this Program
-# through those well defined interfaces identified in the file named EXCEPTION
-# found in the source code files (the "Approved Interfaces"). The files of
-# Non-GPL Code may instantiate templates or use macros or inline functions from
-# the Approved Interfaces without causing the resulting work to be covered by
-# the GNU General Public License. Only Red Hat, Inc. may make changes or
-# additions to the list of Approved Interfaces. You must obey the GNU General
-# Public License in all respects for all of the Program code and other code used
-# in conjunction with the Program except the Non-GPL Code covered by this
-# exception. If you modify this file, you may extend this exception to your
-# version of the file, but you are not obligated to do so. If you do not wish to
-# provide this exception without modification, you must delete this exception
-# statement from your version and license this file solely under the GPL without
-# exception.
-#
-#
-# Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.
-# Copyright (C) 2005 Red Hat, Inc.
-# All rights reserved.
-# END COPYRIGHT BLOCK
-#
-version 3.0;
-acl aclgrp4;
-allow (read, write, execute) (group = " marketing ,, Directory Administrators ,, ");
diff --git a/lib/libaccess/utest/acltest.cpp b/lib/libaccess/utest/acltest.cpp
deleted file mode 100644
index c05d623..0000000
--- a/lib/libaccess/utest/acltest.cpp
+++ /dev/null
@@ -1,794 +0,0 @@
-/** BEGIN COPYRIGHT BLOCK
- * This Program is free software; you can redistribute it and/or modify it under
- * the terms of the GNU General Public License as published by the Free Software
- * Foundation; version 2 of the License.
- *
- * This Program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this Program; if not, write to the Free Software Foundation, Inc., 59 Temple
- * Place, Suite 330, Boston, MA 02111-1307 USA.
- *
- * In addition, as a special exception, Red Hat, Inc. gives You the additional
- * right to link the code of this Program with code not covered under the GNU
- * General Public License ("Non-GPL Code") and to distribute linked combinations
- * including the two, subject to the limitations in this paragraph. Non-GPL Code
- * permitted under this exception must only link to the code of this Program
- * through those well defined interfaces identified in the file named EXCEPTION
- * found in the source code files (the "Approved Interfaces"). The files of
- * Non-GPL Code may instantiate templates or use macros or inline functions from
- * the Approved Interfaces without causing the resulting work to be covered by
- * the GNU General Public License. Only Red Hat, Inc. may make changes or
- * additions to the list of Approved Interfaces. You must obey the GNU General
- * Public License in all respects for all of the Program code and other code used
- * in conjunction with the Program except the Non-GPL Code covered by this
- * exception. If you modify this file, you may extend this exception to your
- * version of the file, but you are not obligated to do so. If you do not wish to
- * provide this exception without modification, you must delete this exception
- * statement from your version and license this file solely under the GPL without
- * exception.
- *
- *
- * Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.
- * Copyright (C) 2005 Red Hat, Inc.
- * All rights reserved.
- * END COPYRIGHT BLOCK **/
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <stdio.h>
-#include <netsite.h>
-#include <base/systhr.h>
-#include <libaccess/nserror.h>
-#include <libaccess/acl.h>
-#include "../aclpriv.h"
-#include <libaccess/aclproto.h>
-#include "../aclcache.h"
-#include <libaccess/las.h>
-
-
-extern ACLListHandle_t *ACL_ParseFile(NSErr_t *errp, char *filename);
-
-int
-TestEvalFunc(NSErr_t *errp, char *attr, CmpOp_t comparator,
- char *attr_pattern, ACLCachable_t *cachable,
- void **las_cookie, PList_t subject, PList_t resource,
- PList_t auth_info, PList_t global_auth)
-{
- return 0;
-}
-
-void
-TestFlushFunc(void **cookie)
-{
- return;
-}
-
-static int parse_dburl (NSErr_t *errp, ACLDbType_t dbtype,
- const char *dbname, const char *url,
- PList_t plist, void **db)
-{
- *db = strdup(url);
- return 0;
-}
-
-
-int main(int argc, char **argv)
-{
- ACLListHandle_t *acl_list;
- int result;
- ACLCachable_t cachable = 0;
- void *las_cookie=NULL;
- ACLEvalHandle_t eval;
- char *rights[3];
- char filename[20];
- char newfilename[25];
- int i;
- char *map_generic[7];
- LASEvalFunc_t Eval_funcp;
- LASFlushFunc_t Flush_funcp;
- char *bong;
- char *bong_type;
- char *acl_tag;
- int expr_num;
- int ii;
- char **name_list;
- ACLMethod_t method=NULL;
- ACLDbType_t dbtype=NULL;
- int rv;
- ACLAttrGetterList_t aglist;
- ACLAttrGetter_t *agptr;
- char **names;
- int cnt;
-
- systhread_init("acl_utest");
-
- char *acl_file_list[3] = {"aclfile6", "aclfile7", NULL};
- char *new_filename = "merge6_7";
- char *acl_name_list[3] = {"aclfile6", "aclfile7", NULL};
- char *new_aclname = "merge6_7";
- char *bad_acl_file_list[3] = {"bad_aclfile6", "bad_aclfile7", NULL};
-
- if ( ACL_FileMergeFile(NULL, new_filename, bad_acl_file_list, 0) < 0 ) {
- printf("Failed ACL_FileMergeFile() test.\n");
- }
-
- if ( ACL_FileMergeFile(NULL, new_filename, acl_file_list, 0) < 0 ) {
- printf("Failed ACL_FileMergeFile() test.\n");
- }
-
- if ( ACL_FileMergeAcl(NULL, new_filename, acl_name_list, new_aclname, 0) < 0 ) {
- printf("Failed ACL_FileMergeAcl() test.\n");
- }
-
- /* LAS Registration Unit Tests */
-
- ACL_Init();
-
- rv = ACL_MethodRegister(NULL, "one", &method);
- printf("Method one is #%d, rv=%d\n", (int)method, rv);
-
- rv = ACL_MethodRegister(NULL, "two", &method);
- printf("Method two is #%d, rv=%d\n", (int)method, rv);
-
- rv = ACL_MethodRegister(NULL, "one", &method);
- printf("Method one repeated is #%d, rv=%d\n", (int)method, rv);
-
- rv = ACL_MethodRegister(NULL, "three", &method);
- printf("Method three is #%d, rv=%d\n", (int)method, rv);
-
- rv = ACL_MethodNamesGet(NULL, &names, &cnt);
-
- for(i = 0; i < cnt; i++) {
- printf("\tMethod[%d] = \"%s\"\n", i, names[i]);
- }
-
- ACL_MethodNamesFree(NULL, names, cnt);
-
- if (!ACL_MethodIsEqual(NULL, method, method)) {
- printf("Error comparing methods");
- }
-
- if (!ACL_MethodNameIsEqual(NULL, method, "three")) {
- printf("Error comparing method by name");
- }
-
- /* Since LDAP is already registered by ACL_Init, the first number
- * we'll get is actually 2.
- */
- rv = ACL_DbTypeRegister(NULL, "two", parse_dburl, &dbtype);
- printf("DbType two is #%d, rv=%d\n", (int)dbtype, rv);
-
- rv = ACL_DbTypeRegister(NULL, "three", parse_dburl, &dbtype);
- printf("DbType three is #%d, rv=%d\n", (int)dbtype, rv);
-
- rv = ACL_DbTypeRegister(NULL, "two", parse_dburl, &dbtype);
- printf("DbType two repeated is #%d, rv=%d\n", (int)dbtype, rv);
-
- rv = ACL_DbTypeRegister(NULL, "four", parse_dburl, &dbtype);
- printf("DbType four is #%d, rv=%d\n", (int)dbtype, rv);
-
- if (!ACL_DbTypeIsEqual(NULL, dbtype, dbtype)) {
- printf("Error comparing dbtypes\n");
- }
-
- if (!ACL_DbTypeNameIsEqual(NULL, dbtype, "four")) {
- printf("Error comparing dbtype by name\n");
- }
-
- rv = ACL_DatabaseRegister(NULL, dbtype, "db1", "url for db1", NULL);
- if (rv < 0) {
- printf("ACL_DatabaseRegister failed for db1\n");
- }
-
- rv = ACL_DatabaseRegister(NULL, dbtype, "db2", "url for db2", NULL);
- if (rv < 0) {
- printf("ACL_DatabaseRegister failed for db2\n");
- }
-
- rv = ACL_DatabaseRegister(NULL, dbtype, "db3", "url for db3", NULL);
- if (rv < 0) {
- printf("ACL_DatabaseRegister failed for db3\n");
- }
-
- rv = ACL_DatabaseNamesGet(NULL, &names, &cnt);
-
- for(i = 0; i < cnt; i++) {
- printf("\tDatabase[%d] = \"%s\"\n", i, names[i]);
- }
-
- if (ACL_AttrGetterRegister(NULL, "attr", (ACLAttrGetterFn_t)2, (ACLMethod_t)10, (ACLDbType_t)20, ACL_AT_FRONT, NULL)) {
- printf("Error registering attr getter\n");
- }
-
- if (ACL_AttrGetterRegister(NULL, "attr", (ACLAttrGetterFn_t)3, (ACLMethod_t)10, (ACLDbType_t)20, ACL_AT_END, NULL)) {
- printf("Error registering attr getter\n");
- }
-
- if (ACL_AttrGetterRegister(NULL, "attr", (ACLAttrGetterFn_t)1, (ACLMethod_t)10, (ACLDbType_t)20, ACL_AT_FRONT, NULL)) {
- printf("Error registering attr getter\n");
- }
-
- if (ACL_AttrGetterRegister(NULL, "attr", (ACLAttrGetterFn_t)4, (ACLMethod_t)10, (ACLDbType_t)20, ACL_AT_END, NULL)) {
- printf("Error registering attr getter\n");
- }
-
- if (ACL_AttrGetterFind(NULL, "attr", &aglist)) {
- printf("Error finding attr getter\n");
- }
-
- for (i = 0, agptr = ACL_AttrGetterFirst(&aglist);
- i < 4;
- i++, agptr = ACL_AttrGetterNext(&aglist, agptr)) {
-
- if (agptr) {
- printf("position %d\n", (int)(agptr->fn));
- }
- else {
- printf("***Error: missing getter ***\n");
- }
- }
-
-#ifndef XP_WIN32
- if (ACL_LasRegister(NULL, "test_attr", TestEvalFunc, TestFlushFunc)) {
- printf("Error registering Test LAS functions\n");
- }
- ACL_LasFindEval(NULL, "test_attr", &Eval_funcp);
- if (Eval_funcp != TestEvalFunc) {
- printf("Error finding Eval function - expecting %x, got %x\n",
- TestEvalFunc, Eval_funcp);
- }
- ACL_LasFindFlush(NULL, "test_attr", &Flush_funcp);
- if (Flush_funcp != TestFlushFunc) {
- printf("Error finding Flush function - expecting %x, got %x\n",
- TestFlushFunc, Flush_funcp);
- }
- ACL_LasFindEval(NULL, "wrong_attr", &Eval_funcp);
- if (Eval_funcp != NULL) {
- printf("Error finding Eval function - expecting NULL, got %x\n",
- Eval_funcp);
- }
- ACL_LasFindFlush(NULL, "wrong_attr", &Flush_funcp);
- if (Flush_funcp != NULL) {
- printf("Error finding Flush function - expecting NULL, got %x\n",
- Flush_funcp);
- }
-#endif /* !XP_WIN32 */
-
- /* ACL Eval Unit Tests
- */
- rights[0] = "http_get";
- rights[1] = "http_post";
- rights[2] = NULL;
-
- eval.subject = NULL;
- eval.resource = NULL;
- eval.default_result = ACL_RES_DENY;
-
- for (i=0; i<10; i++) {
- sprintf(filename, "aclfile%d", i);
- eval.acllist = ACL_ParseFile((NSErr_t *)NULL, filename);
- if ( eval.acllist == NULL ) {
- printf("Couldn't parse.\n");
- continue;
- }
-
- sprintf(newfilename, "%s.v30", filename);
- if ( ACL_WriteFile(NULL, newfilename, eval.acllist) < 0) {
- printf("Couldn't write %s.\n", newfilename);
- }
- result = ACL_EvalTestRights(NULL, &eval, &rights[0],
- http_generic, &bong, &bong_type, &acl_tag, &expr_num);
- ACL_ListDestroy(NULL, eval.acllist);
- printf("%s = %d\n\n", filename, result);
- }
-
-/********************************************************************
-
- TEST #1
-
- TEST ACL_ParseString()
- TEST ACL_WriteFile()
- TEST ACL_ParseFile()
- TEST ACL_ListFind()
-
-*********************************************************************/
- acl_list = ACL_ParseString((NSErr_t *)NULL,
- "version 3.0; acl > franco;");
- if ( acl_list != NULL ) {
- ACL_ListDestroy(NULL, acl_list);
- printf("Test #1a fails parsed invalid ACL\n");
- goto skip_test;
- }
-
- acl_list = ACL_ParseString((NSErr_t *)NULL,
- "version 3.0; acl franco; \nallow (read) user=franco;");
- if ( acl_list == NULL ) {
- printf("Test #1b fails couldn't parse valid ACL\n");
- goto skip_test;
- } else {
- if ( ACL_WriteFile(NULL, "buffer", acl_list) < 0) {
- printf("Test #1b, couldn't write %s.\n", "buffer");
- }
- ACL_ListDestroy(NULL, acl_list);
- }
-
- acl_list = ACL_ParseString((NSErr_t *)NULL,
- "version 3.0; acl franco; \njunk (read) user=franco;");
-
- if ( acl_list != NULL ) {
- printf("Test #1c failed missed syntax error\n");
- ACL_ListDestroy(NULL, acl_list);
- goto skip_test;
- }
-
- acl_list = ACL_ParseString((NSErr_t *)NULL,
- "version 3.0; acl franco; \nallow (read) user=franco;");
-
- if ( acl_list == NULL ) {
- printf("Test #1d couldn't parse valid ACL\n");
- } else {
- ACL_ListDestroy(NULL, acl_list);
- goto skip_test;
- }
-
- acl_list= ACL_ParseFile((NSErr_t *)NULL, "buffer");
- if ( acl_list == NULL ) {
- printf("Test #1e, couldn't perform ACL_ParseFile(buffer)\n");
- goto skip_test;
- } else {
- if ( ACL_ListFind(NULL, acl_list, "franco", ACL_CASE_INSENSITIVE) == NULL ) {
- printf("Test #1e, couldn't find %s in %s.\n", "franco", "buffer");
- }
- ACL_ListDestroy(NULL, acl_list);
- }
-
-/********************************************************************
-
- TEST #2
-
- TEST ACL_FileDeleteAcl()
- TEST ACL_ParseFile()
- TEST ACL_ListFind()
-
-*********************************************************************/
- if ( ACL_FileDeleteAcl(NULL, "buffer", "franco", ACL_CASE_INSENSITIVE) < 0) {
- printf("Test #2, couldn't write %s.\n", "buffer");
- }
- acl_list= ACL_ParseFile((NSErr_t *)NULL, "buffer");
- if ( acl_list == NULL ) {
- printf("Test #2, couldn't perform ACL_ParseFile(buffer)\n");
- goto skip_test;
- } else {
- if ( ACL_ListFind(NULL, acl_list, "franco", ACL_CASE_INSENSITIVE) ) {
- printf("Couldn't delete %s from %s.\n", "franco", "buffer");
- }
- ACL_ListDestroy(NULL, acl_list);
- }
-
-/********************************************************************
-
- TEST #3
-
- TEST ACL_FileSetAcl()
- TEST ACL_ParseFile()
- TEST ACL_ListFind()
-
-*********************************************************************/
- if ( ACL_FileSetAcl(NULL, "buffer",
- "version 3.0; acl FileSetAcl; \nallow (read) user=franco;",
- ACL_CASE_INSENSITIVE)< 0) {
- printf("Test #3, couldn't ACL_FileSetACL(%s).\n", "FileSetAcl");
- }
- if ( ACL_FileSetAcl(NULL, "buffer",
- "version 3.0; acl franco; \nallow (read) user=franco;",
- ACL_CASE_INSENSITIVE)< 0) {
- printf("Test #3, couldn't ACL_FileSetACL(%s).\n", "franco");
- }
- acl_list= ACL_ParseFile((NSErr_t *)NULL, "buffer");
- if ( acl_list == NULL ) {
- printf("Test #3, couldn't perform ACL_ParseFile(buffer)\n");
- goto skip_test;
- } else {
- if ( ACL_ListFind(NULL, acl_list, "franco", ACL_CASE_INSENSITIVE) == NULL) {
- printf("Test #3, couldn't set %s in %s.\n", "franco", "buffer");
- }
- if ( ACL_ListFind(NULL, acl_list, "filesetacl", ACL_CASE_INSENSITIVE) == NULL) {
- printf("Test #3, couldn't set %s in %s.\n", "filesetacl", "buffer");
- }
- ACL_ListDestroy(NULL, acl_list);
- }
-
-/********************************************************************
-
- TEST #4
-
- TEST ACL_FileRenameAcl()
- TEST ACL_ParseFile()
- TEST ACL_ListFind()
-
-*********************************************************************/
- if ( ACL_FileRenameAcl(NULL, "buffer", "FileSetAcl", "loser", ACL_CASE_INSENSITIVE)< 0) {
- printf("Test #4, fail ACL_FileRenameACL(filesetacl, loser).\n");
- }
- if ( ACL_FileRenameAcl(NULL, "buffer", "franco", "bigdogs",
- ACL_CASE_INSENSITIVE)< 0) {
- printf("Test #4, fail ACL_FileRenameACL(franco, bigdogs).\n");
- }
- acl_list= ACL_ParseFile((NSErr_t *)NULL, "buffer");
- if ( acl_list == NULL ) {
- printf("Test #3, couldn't perform ACL_ParseFile(buffer)\n");
- goto skip_test;
- } else {
- if ( ACL_ListFind(NULL, acl_list, "loser", ACL_CASE_INSENSITIVE) == NULL) {
- printf("Test #4, fail rename %s in %s.\n", "loser", "buffer");
- }
- if ( ACL_ListFind(NULL, acl_list, "bigdogs", ACL_CASE_INSENSITIVE) == NULL) {
- printf("Test #4, fail rename %s in %s.\n", "bigdogs", "buffer");
- }
- if ( ACL_ListGetNameList(NULL, acl_list, &name_list) < 0 ) {
- printf("Test #4, yikes, the GetNameList failed.\n");
- } else {
- for (ii = 0; name_list[ii]; ii++)
- printf("ACL %s\n", name_list[ii]);
- ACL_NameListDestroy(NULL, name_list);
- }
- ACL_ListDestroy(NULL, acl_list);
- }
-
-
-
-
-skip_test:
-/********************************************************************
-
- END
-
-*********************************************************************/
-
- rights[0] = "html_read";
- rights[1] = "html_write";
-
- map_generic[0] = "html_read";
- map_generic[1] = "html_write";
- map_generic[2] = "N/A";
- map_generic[3] = "html_create";
- map_generic[4] = "html_delete";
- map_generic[5] = "N/A";
- map_generic[6] = NULL;
-
- for (i=10; i<20; i++) {
- sprintf(filename, "aclfile%d", i);
- eval.acllist = ACL_ParseFile((NSErr_t *)NULL, filename);
- if ( eval.acllist == NULL ) {
- printf("Parse failed.\n");
- continue;
- }
- result = ACL_EvalTestRights(NULL, &eval, &rights[0], map_generic, &bong, &bong_type, &acl_tag, &expr_num);
- ACL_ListDestroy(NULL, eval.acllist);
- printf("%s = %d\n\n", filename, result);
- }
-
- /*
- * DNS LAS Unit Tests
- */
-
- result = LASDnsEval(NULL, "dnsalias", CMP_OP_EQ, "*", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf("dnsalias = *? %d\n\n", result);
-
- LASDnsFlush(&las_cookie);
-
- result = LASDnsEval(NULL, "dnsalias", CMP_OP_EQ, "aruba.mcom.com brain251.mcom.com", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf("dnsalias = aruba.mcom.com brain251.mcom.com? %d\n\n", result);
-
- LASDnsFlush(&las_cookie);
-
- result = LASDnsEval(NULL, "dns", CMP_OP_EQ, "*", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf("dns = *? %d\n\n", result);
-
- result = LASDnsEval(NULL, "dns", CMP_OP_NE, "*", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf("dns != *? %d\n\n", result);
-
- LASDnsFlush(&las_cookie);
-
- result = LASDnsEval(NULL, "dns", CMP_OP_EQ, "aruba.mcom.com", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf("dns = aruba.mcom.com? %d\n\n", result);
-
- LASDnsFlush(&las_cookie);
-
- result = LASDnsEval(NULL, "dns", CMP_OP_EQ, "ai.mit.edu", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf("dns = ai.mit.edu? %d\n\n", result);
-
- LASDnsFlush(&las_cookie);
-
- result = LASDnsEval(NULL, "dns", CMP_OP_EQ, "*.ai.mit.edu", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf("dns = *.ai.mit.edu? %d\n\n", result);
-
- LASDnsFlush(&las_cookie);
-
- result = LASDnsEval(NULL, "dns", CMP_OP_EQ, "*.mit.edu", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf("dns = *.mit.edu? %d\n\n", result);
-
- LASDnsFlush(&las_cookie);
-
- result = LASDnsEval(NULL, "dns", CMP_OP_EQ, "*.edu", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf("dns = *.edu? %d\n\n", result);
-
- LASDnsFlush(&las_cookie);
-
- result = LASDnsEval(NULL, "dns", CMP_OP_NE, "*.edu", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf("dns != *.edu? %d\n\n", result);
-
- LASDnsFlush(&las_cookie);
-
- result = LASDnsEval(NULL, "mistake", CMP_OP_NE, "*.edu", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf("mistake != *.edu? %d\n\n", result);
-
- LASDnsFlush(&las_cookie);
-
- result = LASDnsEval(NULL, "dns", CMP_OP_GT, "*.edu", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf("dns > *.edu? %d\n\n", result);
-
- LASDnsFlush(&las_cookie);
-
-
- /*
- * IP LAS Unit Tests
- */
- result = LASIpEval(NULL, "ip", CMP_OP_EQ, "*", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf ("ip = *? %d\n\n", result);
-
- LASIpFlush(&las_cookie);
-
- result = LASIpEval(NULL, "ip", CMP_OP_NE, "*", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf ("ip != *? %d\n\n", result);
-
- LASIpFlush(&las_cookie);
-
- result = LASIpEval(NULL, "ip", CMP_OP_EQ, "*.*.*.*", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf ("ip = *.*.*.*? %d\n\n", result);
-
- LASIpFlush(&las_cookie);
-
- result = LASIpEval(NULL, "ip", CMP_OP_EQ, "17.*", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf ("ip = 17.*? %d\n\n", result);
-
- LASIpFlush(&las_cookie);
-
- result = LASIpEval(NULL, "ip", CMP_OP_EQ, "17.*.*.*", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf ("ip = 17.*.*.*? %d\n\n", result);
-
- LASIpFlush(&las_cookie);
-
- result = LASIpEval(NULL, "ip", CMP_OP_EQ, "17.34.*", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf ("ip = 17.34.*? %d\n\n", result);
-
- LASIpFlush(&las_cookie);
-
- result = LASIpEval(NULL, "ip", CMP_OP_EQ, "17.34.*.*", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf ("ip = 17.34.*.*? %d\n\n", result);
-
- LASIpFlush(&las_cookie);
-
- result = LASIpEval(NULL, "ip", CMP_OP_EQ, "17.34.51.*", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf ("ip = 17.34.51.*? %d\n\n", result);
-
- LASIpFlush(&las_cookie);
-
- result = LASIpEval(NULL, "ip", CMP_OP_EQ, "17.34.51.*+255.255.255.255", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf ("ip = 17.34.51.*+255.255.255.255? %d\n\n", result);
-
- LASIpFlush(&las_cookie);
-
- result = LASIpEval(NULL, "ip", CMP_OP_EQ, "17.34.51.69+255.255.255.254, 123.45.67.89", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf ("ip = 17.34.51.69+255.255.255.254, 123.45.67.89? %d\n\n", result);
-
- LASIpFlush(&las_cookie);
-
- result = LASIpEval(NULL, "ip", CMP_OP_NE, "17.34.51.69+255.255.255.254, 123.45.67.89", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf ("ip != 17.34.51.69+255.255.255.254, 123.45.67.89? %d\n\n", result);
-
- LASIpFlush(&las_cookie);
-
- result = LASIpEval(NULL, "ip", CMP_OP_EQ, "17.34.51.68, 17.34.51.69", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf ("ip = 17.34.51.68, 17.34.51.69? %d\n\n", result);
-
- LASIpFlush(&las_cookie);
-
- result = LASIpEval(NULL, "ip", CMP_OP_EQ, "17.34.51.68, 17.34.51.69, 123.45.67.89", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf ("ip = 17.34.51.68, 17.34.51.69, 123.45.67.89? %d\n\n", result);
-
- LASIpFlush(&las_cookie);
-
- result = LASIpEval(NULL, "ip", CMP_OP_NE, "17.34.51.68, 17.34.51.69, 123.45.67.89", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf ("ip != 17.34.51.68, 17.34.51.69, 123.45.67.89? %d\n\n", result);
-
- LASIpFlush(&las_cookie);
-
- result = LASIpEval(NULL, "ip", CMP_OP_EQ, "17.34.51.68", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf ("ip = 17.34.51.68? %d\n\n", result);
-
- LASIpFlush(&las_cookie);
-
- result = LASIpEval(NULL, "ip", CMP_OP_EQ, "17.34.51.69", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf ("ip = 17.34.51.69? %d\n\n", result);
-
- LASIpFlush(&las_cookie);
-
- result = LASIpEval(NULL, "ip", CMP_OP_EQ, "17.34.51.69+255.255.255.254", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf ("ip = 17.34.51.69+255.255.255.254? %d\n\n", result);
-
- LASIpFlush(&las_cookie);
-
- result = LASIpEval(NULL, "ip", CMP_OP_EQ, "17.34.50.69+255.255.254.0", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf ("ip = 17.34.50.69+255.255.254.0? %d\n\n", result);
-
- LASIpFlush(&las_cookie);
-
- result = LASIpEval(NULL, "ip", CMP_OP_EQ, "17.35.50.69+255.254.0.0", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf ("ip = 17.35.50.69+255.254.0.0? %d\n\n", result);
-
- LASIpFlush(&las_cookie);
-
- result = LASIpEval(NULL, "ip", CMP_OP_EQ, "16.35.50.69+254.0.0.0", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf ("ip = 16.35.50.69+254.0.0.0? %d\n\n", result);
-
- LASIpFlush(&las_cookie);
-
- result = LASIpEval(NULL, "ip", CMP_OP_EQ, "123.45.67.89", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf ("ip = 123.45.67.89? %d\n\n", result);
-
- result = LASIpEval(NULL, "ip", CMP_OP_NE, "123.45.67.89", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf ("ip != 123.45.67.89? %d\n\n", result);
-
- result = LASIpEval(NULL, "ip", CMP_OP_GT, "123.45.67.89", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf ("ip > 123.45.67.89? %d\n\n", result);
-
- result = LASIpEval(NULL, "ip", CMP_OP_LT, "123.45.67.89", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf ("ip < 123.45.67.89? %d\n\n", result);
-
- result = LASIpEval(NULL, "ip", CMP_OP_GE, "123.45.67.89", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf ("ip >= 123.45.67.89? %d\n\n", result);
-
- result = LASIpEval(NULL, "ip", CMP_OP_LE, "123.45.67.89", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf ("ip <= 123.45.67.89? %d\n\n", result);
-
- LASIpFlush(&las_cookie);
-
- result = LASIpEval(NULL, "mistake", CMP_OP_LE, "123.45.67.89", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf ("mistake <= 123.45.67.89? %d\n\n", result);
-
- LASIpFlush(&las_cookie);
-
-
- /*
- * Time of Day unit tests.
- */
- result = LASTimeOfDayEval(NULL, "timeofday", CMP_OP_EQ, "2120", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf("time = 2120? %d\n\n", result);
-
- result = LASTimeOfDayEval(NULL, "timeofday", CMP_OP_NE, "2120", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf("time != 2120? %d\n\n", result);
-
- result = LASTimeOfDayEval(NULL, "timeofday", CMP_OP_EQ, "0700", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf("time = 0700? %d\n\n", result);
-
- result = LASTimeOfDayEval(NULL, "timeofday", CMP_OP_NE, "0700", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf("time != 0700? %d\n\n", result);
-
- result = LASTimeOfDayEval(NULL, "timeofday", CMP_OP_EQ, "2400", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf("time = 2400? %d\n\n", result);
-
- result = LASTimeOfDayEval(NULL, "timeofday", CMP_OP_NE, "2400", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf("time != 2400? %d\n\n", result);
-
- result = LASTimeOfDayEval(NULL, "timeofday", CMP_OP_GT, "2120", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf("time > 2120? %d\n\n", result);
-
- result = LASTimeOfDayEval(NULL, "timeofday", CMP_OP_LT, "2120", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf("time < 2120? %d\n\n", result);
-
- result = LASTimeOfDayEval(NULL, "timeofday", CMP_OP_GT, "0700", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf("time > 0700? %d\n\n", result);
-
- result = LASTimeOfDayEval(NULL, "timeofday", CMP_OP_LT, "0700", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf("time < 0700? %d\n\n", result);
-
- result = LASTimeOfDayEval(NULL, "timeofday", CMP_OP_GT, "2400", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf("time > 2400? %d\n\n", result);
-
- result = LASTimeOfDayEval(NULL, "timeofday", CMP_OP_LT, "2400", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf("time < 2400? %d\n\n", result);
-
- result = LASTimeOfDayEval(NULL, "timeofday", CMP_OP_GE, "2120", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf("time >= 2120? %d\n\n", result);
-
- result = LASTimeOfDayEval(NULL, "timeofday", CMP_OP_LE, "2120", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf("time <= 2120? %d\n\n", result);
-
- result = LASTimeOfDayEval(NULL, "timeofday", CMP_OP_GE, "0700", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf("time >= 0700? %d\n\n", result);
-
- result = LASTimeOfDayEval(NULL, "timeofday", CMP_OP_LE, "0700", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf("time <= 0700? %d\n\n", result);
-
- result = LASTimeOfDayEval(NULL, "timeofday", CMP_OP_GE, "2400", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf("time >= 2400? %d\n\n", result);
-
- result = LASTimeOfDayEval(NULL, "timeofday", CMP_OP_LE, "2400", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf("time <= 2400? %d\n\n", result);
-
- result = LASTimeOfDayEval(NULL, "mistake", CMP_OP_LE, "2400", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf("mistake <= 2400? %d\n\n", result);
-
- result = LASTimeOfDayEval(NULL, "timeofday", CMP_OP_EQ, "0800-2200", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf("time = 0800-2200? %d\n\n", result);
-
- result = LASTimeOfDayEval(NULL, "timeofday", CMP_OP_NE, "0800-2200", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf("time != 0800-2200? %d\n\n", result);
-
- result = LASTimeOfDayEval(NULL, "timeofday", CMP_OP_EQ, "2200-0800", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf("time = 2200-0800? %d\n\n", result);
-
- result = LASTimeOfDayEval(NULL, "timeofday", CMP_OP_NE, "2200-0800", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf("time != 2200-0800? %d\n\n", result);
-
- result = LASTimeOfDayEval(NULL, "timeofday", CMP_OP_LE, "2200-0800", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf("time <= 2200-0800? %d\n\n", result);
-
-
- /*
- * Day Of Week Unit Tests
- */
- result = LASDayOfWeekEval(NULL, "dayofweek", CMP_OP_EQ, "Mon", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf("= mon? %d\n\n", result);
-
- result = LASDayOfWeekEval(NULL, "dayofweek", CMP_OP_EQ, "tUe", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf("= tUe? %d\n\n", result);
-
- result = LASDayOfWeekEval(NULL, "dayofweek", CMP_OP_EQ, "weD", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf("= weD? %d\n\n", result);
-
- result = LASDayOfWeekEval(NULL, "dayofweek", CMP_OP_EQ, "THu", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf("= THu? %d\n\n", result);
-
- result = LASDayOfWeekEval(NULL, "dayofweek", CMP_OP_EQ, "FrI", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf("= FrI? %d\n\n", result);
-
- result = LASDayOfWeekEval(NULL, "dayofweek", CMP_OP_EQ, "sAT", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf("= tUe? %d\n\n", result);
-
- result = LASDayOfWeekEval(NULL, "dayofweek", CMP_OP_EQ, "Sun", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf("= Sun? %d\n\n", result);
-
- result = LASDayOfWeekEval(NULL, "dayofweek", CMP_OP_EQ, "mon,tuewed,thu,frisatsun", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf("= mon,tuewed,thu,frisatsun? %d\n\n", result);
-
- result = LASDayOfWeekEval(NULL, "dayofweek", CMP_OP_NE, "mon,tuewed,thu,frisatsun", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf("!= mon,tuewed,thu,frisatsun? %d\n\n", result);
-
- result = LASDayOfWeekEval(NULL, "dayofweek", CMP_OP_GT, "Sun", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf("> Sun? %d\n\n", result);
-
- result = LASDayOfWeekEval(NULL, "dayofweek", CMP_OP_LT, "Sun", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf("< Sun? %d\n\n", result);
-
- result = LASDayOfWeekEval(NULL, "dayofweek", CMP_OP_GE, "Sun", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf(">= Sun? %d\n\n", result);
-
- result = LASDayOfWeekEval(NULL, "dayofweek", CMP_OP_LE, "Sun", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf("<= Sun? %d\n\n", result);
-
- result = LASDayOfWeekEval(NULL, "mistake", CMP_OP_LE, "Sun", &cachable, &las_cookie, NULL, NULL, NULL, NULL);
- printf("mistake <= Sun? %d\n\n", result);
-
-
- ACL_Destroy();
-
- exit(0);
-
-}
diff --git a/lib/libaccess/utest/onetest.cpp b/lib/libaccess/utest/onetest.cpp
deleted file mode 100644
index 1c91d25..0000000
--- a/lib/libaccess/utest/onetest.cpp
+++ /dev/null
@@ -1,77 +0,0 @@
-/** BEGIN COPYRIGHT BLOCK
- * This Program is free software; you can redistribute it and/or modify it under
- * the terms of the GNU General Public License as published by the Free Software
- * Foundation; version 2 of the License.
- *
- * This Program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this Program; if not, write to the Free Software Foundation, Inc., 59 Temple
- * Place, Suite 330, Boston, MA 02111-1307 USA.
- *
- * In addition, as a special exception, Red Hat, Inc. gives You the additional
- * right to link the code of this Program with code not covered under the GNU
- * General Public License ("Non-GPL Code") and to distribute linked combinations
- * including the two, subject to the limitations in this paragraph. Non-GPL Code
- * permitted under this exception must only link to the code of this Program
- * through those well defined interfaces identified in the file named EXCEPTION
- * found in the source code files (the "Approved Interfaces"). The files of
- * Non-GPL Code may instantiate templates or use macros or inline functions from
- * the Approved Interfaces without causing the resulting work to be covered by
- * the GNU General Public License. Only Red Hat, Inc. may make changes or
- * additions to the list of Approved Interfaces. You must obey the GNU General
- * Public License in all respects for all of the Program code and other code used
- * in conjunction with the Program except the Non-GPL Code covered by this
- * exception. If you modify this file, you may extend this exception to your
- * version of the file, but you are not obligated to do so. If you do not wish to
- * provide this exception without modification, you must delete this exception
- * statement from your version and license this file solely under the GPL without
- * exception.
- *
- *
- * Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.
- * Copyright (C) 2005 Red Hat, Inc.
- * All rights reserved.
- * END COPYRIGHT BLOCK **/
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <stdio.h>
-#include <netsite.h>
-#include <libaccess/nserror.h>
-#include <libaccess/acl.h>
-#include "../aclpriv.h"
-#include <libaccess/aclproto.h>
-#include <libaccess/las.h>
-#include <base/plist.h>
-#include <base/ereport.h>
-
-extern ACLListHandle_t *ACL_ParseFile(NSErr_t *errp, char *filename);
-
-
-int main(int arc, char **argv)
-{
- int result;
- ACLEvalHandle_t eval;
- char *rights[2];
- char *bong;
- char *bong_type;
- char *acl_tag;
- int expr_num;
-
- /* ACL Eval Unit Tests
- */
- rights[0] = "read";
- rights[1] = "write";
- rights[2] = NULL;
-
- eval.acllist = ACL_ParseFile((NSErr_t *)NULL, argv[1]);
- result = ACL_EvalTestRights(NULL, &eval, &rights[0], NULL, &bong, &bong_type, &acl_tag, &expr_num);
- ACL_ListDestroy(NULL, eval.acllist);
- printf("%s = %d\n\n", argv[1], result);
-
-}
diff --git a/lib/libaccess/utest/shexp.cpp b/lib/libaccess/utest/shexp.cpp
deleted file mode 100644
index c118081..0000000
--- a/lib/libaccess/utest/shexp.cpp
+++ /dev/null
@@ -1,331 +0,0 @@
-/** BEGIN COPYRIGHT BLOCK
- * This Program is free software; you can redistribute it and/or modify it under
- * the terms of the GNU General Public License as published by the Free Software
- * Foundation; version 2 of the License.
- *
- * This Program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this Program; if not, write to the Free Software Foundation, Inc., 59 Temple
- * Place, Suite 330, Boston, MA 02111-1307 USA.
- *
- * In addition, as a special exception, Red Hat, Inc. gives You the additional
- * right to link the code of this Program with code not covered under the GNU
- * General Public License ("Non-GPL Code") and to distribute linked combinations
- * including the two, subject to the limitations in this paragraph. Non-GPL Code
- * permitted under this exception must only link to the code of this Program
- * through those well defined interfaces identified in the file named EXCEPTION
- * found in the source code files (the "Approved Interfaces"). The files of
- * Non-GPL Code may instantiate templates or use macros or inline functions from
- * the Approved Interfaces without causing the resulting work to be covered by
- * the GNU General Public License. Only Red Hat, Inc. may make changes or
- * additions to the list of Approved Interfaces. You must obey the GNU General
- * Public License in all respects for all of the Program code and other code used
- * in conjunction with the Program except the Non-GPL Code covered by this
- * exception. If you modify this file, you may extend this exception to your
- * version of the file, but you are not obligated to do so. If you do not wish to
- * provide this exception without modification, you must delete this exception
- * statement from your version and license this file solely under the GPL without
- * exception.
- *
- *
- * Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.
- * Copyright (C) 2005 Red Hat, Inc.
- * All rights reserved.
- * END COPYRIGHT BLOCK **/
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-/*
- * shexp.c: shell-like wildcard match routines
- *
- *
- * See shexp.h for public documentation.
- *
- * Rob McCool
- *
- */
-
-#include "shexp.h"
-#include <ctype.h> /* isalpha, tolower */
-
-
-/* ----------------------------- shexp_valid ------------------------------ */
-
-
-int valid_subexp(char *exp, char stop)
-{
- register int x,y,t;
- int nsc,np,tld;
-
- x=0;nsc=0;tld=0;
-
- while(exp[x] && (exp[x] != stop)) {
- switch(exp[x]) {
- case '~':
- if(tld) return INVALID_SXP;
- else ++tld;
- case '*':
- case '?':
- case '^':
- case '$':
- ++nsc;
- break;
- case '[':
- ++nsc;
- if((!exp[++x]) || (exp[x] == ']'))
- return INVALID_SXP;
- for(++x;exp[x] && (exp[x] != ']');++x)
- if(exp[x] == '\\')
- if(!exp[++x])
- return INVALID_SXP;
- if(!exp[x])
- return INVALID_SXP;
- break;
- case '(':
- ++nsc;np = 0;
- while(1) {
- if(exp[++x] == ')')
- return INVALID_SXP;
- for(y=x;(exp[y]) && (exp[y] != '|') && (exp[y] != ')');++y)
- if(exp[y] == '\\')
- if(!exp[++y])
- return INVALID_SXP;
- if(!exp[y])
- return INVALID_SXP;
- if(exp[y] == '|')
- ++np;
- t = valid_subexp(&exp[x],exp[y]);
- if(t == INVALID_SXP)
- return INVALID_SXP;
- x+=t;
- if(exp[x] == ')') {
- if(!np)
- return INVALID_SXP;
- break;
- }
- }
- break;
- case ')':
- case ']':
- return INVALID_SXP;
- case '\\':
- if(!exp[++x])
- return INVALID_SXP;
- default:
- break;
- }
- ++x;
- }
- if((!stop) && (!nsc))
- return NON_SXP;
- return ((exp[x] == stop) ? x : INVALID_SXP);
-}
-
-NSAPI_PUBLIC int shexp_valid(char *exp) {
- int x;
-
- x = valid_subexp(exp, '\0');
- return (x < 0 ? x : VALID_SXP);
-}
-
-
-/* ----------------------------- shexp_match ----------------------------- */
-
-
-#define MATCH 0
-#define NOMATCH 1
-#define ABORTED -1
-
-int _shexp_match(char *str, char *exp);
-
-int handle_union(char *str, char *exp)
-{
- char *e2 = (char *) MALLOC(sizeof(char)*strlen(exp));
- register int t,p2,p1 = 1;
- int cp;
-
- while(1) {
- for(cp=1;exp[cp] != ')';cp++)
- if(exp[cp] == '\\')
- ++cp;
- for(p2 = 0;(exp[p1] != '|') && (p1 != cp);p1++,p2++) {
- if(exp[p1] == '\\')
- e2[p2++] = exp[p1++];
- e2[p2] = exp[p1];
- }
- for(t=cp+1;(e2[p2] = exp[t]);++t,++p2);
- if(_shexp_match(str,e2) == MATCH) {
- FREE(e2);
- return MATCH;
- }
- if(p1 == cp) {
- FREE(e2);
- return NOMATCH;
- }
- else ++p1;
- }
-}
-
-
-int _shexp_match(char *str, char *exp)
-{
- register int x,y;
- int ret,neg;
-
- ret = 0;
- for(x=0,y=0;exp[y];++y,++x) {
- if((!str[x]) && (exp[y] != '(') && (exp[y] != '$') && (exp[y] != '*'))
- ret = ABORTED;
- else {
- switch(exp[y]) {
- case '$':
- if( (str[x]) )
- ret = NOMATCH;
- else
- --x; /* we don't want loop to increment x */
- break;
- case '*':
- while(exp[++y] == '*');
- if(!exp[y])
- return MATCH;
- while(str[x]) {
- switch(_shexp_match(&str[x++],&exp[y])) {
- case NOMATCH:
- continue;
- case ABORTED:
- ret = ABORTED;
- break;
- default:
- return MATCH;
- }
- break;
- }
- if((exp[y] == '$') && (exp[y+1] == '\0') && (!str[x]))
- return MATCH;
- else
- ret = ABORTED;
- break;
- case '[':
- if((neg = ((exp[++y] == '^') && (exp[y+1] != ']'))))
- ++y;
-
- if((isalnum(exp[y])) && (exp[y+1] == '-') &&
- (isalnum(exp[y+2])) && (exp[y+3] == ']'))
- {
- int start = exp[y], end = exp[y+2];
-
- /* Droolproofing for pinheads not included */
- if(neg ^ ((str[x] < start) || (str[x] > end))) {
- ret = NOMATCH;
- break;
- }
- y+=3;
- }
- else {
- int matched;
-
- for(matched=0;exp[y] != ']';y++)
- matched |= (str[x] == exp[y]);
- if(neg ^ (!matched))
- ret = NOMATCH;
- }
- break;
- case '(':
- return handle_union(&str[x],&exp[y]);
- break;
- case '?':
- break;
- case '\\':
- ++y;
- default:
-#ifdef XP_UNIX
- if(str[x] != exp[y])
-#else /* XP_WIN32 */
- if(strnicmp(str + x, exp + y, 1))
-#endif /* XP_WIN32 */
- ret = NOMATCH;
- break;
- }
- }
- if(ret)
- break;
- }
- return (ret ? ret : (str[x] ? NOMATCH : MATCH));
-}
-
-NSAPI_PUBLIC int shexp_match(char *str, char *xp) {
- register int x;
- char *exp = STRDUP(xp);
-
- for(x=strlen(exp)-1;x;--x) {
- if((exp[x] == '~') && (exp[x-1] != '\\')) {
- exp[x] = '\0';
- if(_shexp_match(str,&exp[++x]) == MATCH)
- goto punt;
- break;
- }
- }
- if(_shexp_match(str,exp) == MATCH) {
- FREE(exp);
- return 0;
- }
-
- punt:
- FREE(exp);
- return 1;
-}
-
-
-/* ------------------------------ shexp_cmp ------------------------------- */
-
-
-NSAPI_PUBLIC int shexp_cmp(char *str, char *exp)
-{
- switch(shexp_valid(exp)) {
- case INVALID_SXP:
- return -1;
- case NON_SXP:
-#ifdef XP_UNIX
- return (strcmp(exp,str) ? 1 : 0);
-#else /* XP_WIN32 */
- return (stricmp(exp,str) ? 1 : 0);
-#endif /* XP_WIN32 */
- default:
- return shexp_match(str, exp);
- }
-}
-
-
-/* ---------------------------- shexp_casecmp ----------------------------- */
-
-
-NSAPI_PUBLIC int shexp_casecmp(char *str, char *exp)
-{
- char *lstr = STRDUP(str), *lexp = STRDUP(exp), *t;
- int ret;
-
- for(t = lstr; *t; t++)
- if(isalpha(*t)) *t = tolower(*t);
- for(t = lexp; *t; t++)
- if(isalpha(*t)) *t = tolower(*t);
-
- switch(shexp_valid(lexp)) {
- case INVALID_SXP:
- ret = -1;
- break;
- case NON_SXP:
- ret = (strcmp(lexp, lstr) ? 1 : 0);
- break;
- default:
- ret = shexp_match(lstr, lexp);
- }
- FREE(lstr);
- FREE(lexp);
- return ret;
-}
-
diff --git a/lib/libaccess/utest/shexp.h b/lib/libaccess/utest/shexp.h
deleted file mode 100644
index 76d62ff..0000000
--- a/lib/libaccess/utest/shexp.h
+++ /dev/null
@@ -1,168 +0,0 @@
-/** BEGIN COPYRIGHT BLOCK
- * This Program is free software; you can redistribute it and/or modify it under
- * the terms of the GNU General Public License as published by the Free Software
- * Foundation; version 2 of the License.
- *
- * This Program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this Program; if not, write to the Free Software Foundation, Inc., 59 Temple
- * Place, Suite 330, Boston, MA 02111-1307 USA.
- *
- * In addition, as a special exception, Red Hat, Inc. gives You the additional
- * right to link the code of this Program with code not covered under the GNU
- * General Public License ("Non-GPL Code") and to distribute linked combinations
- * including the two, subject to the limitations in this paragraph. Non-GPL Code
- * permitted under this exception must only link to the code of this Program
- * through those well defined interfaces identified in the file named EXCEPTION
- * found in the source code files (the "Approved Interfaces"). The files of
- * Non-GPL Code may instantiate templates or use macros or inline functions from
- * the Approved Interfaces without causing the resulting work to be covered by
- * the GNU General Public License. Only Red Hat, Inc. may make changes or
- * additions to the list of Approved Interfaces. You must obey the GNU General
- * Public License in all respects for all of the Program code and other code used
- * in conjunction with the Program except the Non-GPL Code covered by this
- * exception. If you modify this file, you may extend this exception to your
- * version of the file, but you are not obligated to do so. If you do not wish to
- * provide this exception without modification, you must delete this exception
- * statement from your version and license this file solely under the GPL without
- * exception.
- *
- *
- * Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.
- * Copyright (C) 2005 Red Hat, Inc.
- * All rights reserved.
- * END COPYRIGHT BLOCK **/
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-/*
- * shexp.h: Defines and prototypes for shell exp. match routines
- *
- *
- * This routine will match a string with a shell expression. The expressions
- * accepted are based loosely on the expressions accepted by zsh.
- *
- * o * matches anything
- * o ? matches one character
- * o \ will escape a special character
- * o $ matches the end of the string
- * o [abc] matches one occurence of a, b, or c. The only character that needs
- * to be escaped in this is ], all others are not special.
- * o [a-z] matches any character between a and z
- * o [^az] matches any character except a or z
- * o ~ followed by another shell expression will remove any pattern
- * matching the shell expression from the match list
- * o (foo|bar) will match either the substring foo, or the substring bar.
- * These can be shell expressions as well.
- *
- * The public interface to these routines is documented below.
- *
- * Rob McCool
- *
- */
-
-#ifndef SHEXP_H
-#define SHEXP_H
-
-/*
- * Requires that the macro MALLOC be set to a "safe" malloc that will
- * exit if no memory is available. If not under MCC httpd, define MALLOC
- * to be the real malloc and play with fire, or make your own function.
- */
-
-#include "../netsite.h"
-
-#include <ctype.h> /* isalnum */
-#include <string.h> /* strlen */
-
-
-/*
- * Wrappers for shexp/regexp
- *
- * Portions of code that explicitly want to have either shexp's
- * or regexp's should call those functions directly.
- *
- * Common code bases for multiple products should use the following
- * macros instead to use either shell or regular expressions,
- * depending on the flavor chosen for a given server.
- *
- */
-#if defined(MCC_PROXY) && defined(USE_REGEX)
-
-#include "base/regexp.h"
-
-#define WILDPAT_VALID(exp) regexp_valid(exp)
-#define WILDPAT_MATCH(str, exp) regexp_match(str, exp)
-#define WILDPAT_CMP(str, exp) regexp_cmp(str, exp)
-#define WILDPAT_CASECMP(str, exp) regexp_casecmp(str, exp)
-
-#else /* HTTP servers */
-
-#define WILDPAT_VALID(exp) shexp_valid(exp)
-#define WILDPAT_MATCH(str, exp) shexp_match(str, exp)
-#define WILDPAT_CMP(str, exp) shexp_cmp(str, exp)
-#define WILDPAT_CASECMP(str, exp) shexp_casecmp(str, exp)
-
-#endif
-
-
-/* --------------------------- Public routines ---------------------------- */
-
-NSPR_BEGIN_EXTERN_C
-
-/*
- * shexp_valid takes a shell expression exp as input. It returns:
- *
- * NON_SXP if exp is a standard string
- * INVALID_SXP if exp is a shell expression, but invalid
- * VALID_SXP if exp is a valid shell expression
- */
-
-#define NON_SXP -1
-#define INVALID_SXP -2
-#define VALID_SXP 1
-
-/* and generic shexp/regexp versions */
-#define NON_WILDPAT NON_SXP
-#define INVALID_WILDPAT INVALID_SXP
-#define VALID_WILDPAT VALID_SXP
-
-/* and regexp versions */
-#define NON_REGEXP NON_SXP
-#define INVALID_REGEXP INVALID_SXP
-#define VALID_REGEXP VALID_SXP
-
-
-NSAPI_PUBLIC int shexp_valid(char *exp);
-
-/*
- * shexp_match
- *
- * Takes a prevalidated shell expression exp, and a string str.
- *
- * Returns 0 on match and 1 on non-match.
- */
-
-NSAPI_PUBLIC int shexp_match(char *str, char *exp);
-
-
-/*
- * shexp_cmp
- *
- * Same as above, but validates the exp first. 0 on match, 1 on non-match,
- * -1 on invalid exp. shexp_casecmp does the same thing but is case
- * insensitive.
- */
-
-NSAPI_PUBLIC int shexp_cmp(char *str, char *exp);
-NSAPI_PUBLIC int shexp_casecmp(char *str, char *exp);
-
-NSPR_END_EXTERN_C
-
-#endif
-
diff --git a/lib/libaccess/utest/test.ref b/lib/libaccess/utest/test.ref
deleted file mode 100644
index 1a2d060..0000000
--- a/lib/libaccess/utest/test.ref
+++ /dev/null
@@ -1,217 +0,0 @@
-Failed ACL_FileMergeFile() test.
-Method one is #1, rv=0
-Method two is #2, rv=0
-Method one repeated is #1, rv=0
-Method three is #3, rv=0
- Method[0] = "two"
- Method[1] = "three"
- Method[2] = "one"
-DbType two is #2, rv=0
-DbType three is #3, rv=0
-DbType two repeated is #2, rv=0
-DbType four is #4, rv=0
- Database[0] = "db2"
- Database[1] = "db1"
- Database[2] = "db3"
-position 1
-position 2
-position 3
-position 4
-aclfile0 = 0
-
-aclfile1 = 1
-
-aclfile2 = 1
-
-aclfile3 = 1
-
-aclfile4 = 0
-
-aclfile5 = 0
-
-aclfile6 = 0
-
-aclfile7 = 1
-
-aclfile8 = 0
-
-aclfile9 = 3
-
-ACL file: internal-buffer
-Syntax error at line: 1, token: >
-ACL file: internal-buffer
-Syntax error at line: 2, token: junk
-aclfile10 = 1
-
-aclfile11 = 1
-
-aclfile12 = 0
-
-aclfile13 = 0
-
-aclfile14 = 0
-
-aclfile15 = 1
-
-aclfile16 = 1
-
-aclfile17 = 0
-
-aclfile18 = 0
-
-aclfile19 = 1
-
-dnsalias = *? -1
-
-dnsalias = aruba.mcom.com brain251.mcom.com? -1
-
-dns = *? -1
-
-dns != *? -2
-
-dns = aruba.mcom.com? -1
-
-dns = ai.mit.edu? -2
-
-dns = *.ai.mit.edu? -2
-
-dns = *.mit.edu? -2
-
-dns = *.edu? -2
-
-dns != *.edu? -1
-
-mistake != *.edu? -5
-
-dns > *.edu? -5
-
-ip = *? -1
-
-ip != *? -2
-
-ip = *.*.*.*? -1
-
-ip = 17.*? -1
-
-ip = 17.*.*.*? -1
-
-ip = 17.34.*? -1
-
-ip = 17.34.*.*? -1
-
-ip = 17.34.51.*? -1
-
-ip = 17.34.51.*+255.255.255.255? -1
-
-ip = 17.34.51.69+255.255.255.254, 123.45.67.89? -1
-
-ip != 17.34.51.69+255.255.255.254, 123.45.67.89? -2
-
-ip = 17.34.51.68, 17.34.51.69? -1
-
-ip = 17.34.51.68, 17.34.51.69, 123.45.67.89? -1
-
-ip != 17.34.51.68, 17.34.51.69, 123.45.67.89? -2
-
-ip = 17.34.51.68? -1
-
-ip = 17.34.51.69? -2
-
-ip = 17.34.51.69+255.255.255.254? -1
-
-ip = 17.34.50.69+255.255.254.0? -1
-
-ip = 17.35.50.69+255.254.0.0? -1
-
-ip = 16.35.50.69+254.0.0.0? -1
-
-ip = 123.45.67.89? -2
-
-ip != 123.45.67.89? -1
-
-ip > 123.45.67.89? -5
-
-ip < 123.45.67.89? -5
-
-ip >= 123.45.67.89? -5
-
-ip <= 123.45.67.89? -5
-
-mistake <= 123.45.67.89? -5
-
-time = 2120? -1
-
-time != 2120? -2
-
-time = 0700? -2
-
-time != 0700? -1
-
-time = 2400? -2
-
-time != 2400? -1
-
-time > 2120? -2
-
-time < 2120? -2
-
-time > 0700? -1
-
-time < 0700? -2
-
-time > 2400? -2
-
-time < 2400? -1
-
-time >= 2120? -1
-
-time <= 2120? -1
-
-time >= 0700? -1
-
-time <= 0700? -2
-
-time >= 2400? -2
-
-time <= 2400? -1
-
-mistake <= 2400? -5
-
-time = 0800-2200? -1
-
-time != 0800-2200? -2
-
-time = 2200-0800? -2
-
-time != 2200-0800? -1
-
-time <= 2200-0800? -5
-
-= mon? -1
-
-= tUe? -2
-
-= weD? -2
-
-= THu? -2
-
-= FrI? -2
-
-= tUe? -2
-
-= Sun? -2
-
-= mon,tuewed,thu,frisatsun? -1
-
-!= mon,tuewed,thu,frisatsun? -2
-
-> Sun? -5
-
-< Sun? -5
-
->= Sun? -5
-
-<= Sun? -5
-
-mistake <= Sun? -5
-
diff --git a/lib/libaccess/utest/testmain.cpp b/lib/libaccess/utest/testmain.cpp
deleted file mode 100644
index 24b535a..0000000
--- a/lib/libaccess/utest/testmain.cpp
+++ /dev/null
@@ -1,89 +0,0 @@
-/** BEGIN COPYRIGHT BLOCK
- * This Program is free software; you can redistribute it and/or modify it under
- * the terms of the GNU General Public License as published by the Free Software
- * Foundation; version 2 of the License.
- *
- * This Program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this Program; if not, write to the Free Software Foundation, Inc., 59 Temple
- * Place, Suite 330, Boston, MA 02111-1307 USA.
- *
- * In addition, as a special exception, Red Hat, Inc. gives You the additional
- * right to link the code of this Program with code not covered under the GNU
- * General Public License ("Non-GPL Code") and to distribute linked combinations
- * including the two, subject to the limitations in this paragraph. Non-GPL Code
- * permitted under this exception must only link to the code of this Program
- * through those well defined interfaces identified in the file named EXCEPTION
- * found in the source code files (the "Approved Interfaces"). The files of
- * Non-GPL Code may instantiate templates or use macros or inline functions from
- * the Approved Interfaces without causing the resulting work to be covered by
- * the GNU General Public License. Only Red Hat, Inc. may make changes or
- * additions to the list of Approved Interfaces. You must obey the GNU General
- * Public License in all respects for all of the Program code and other code used
- * in conjunction with the Program except the Non-GPL Code covered by this
- * exception. If you modify this file, you may extend this exception to your
- * version of the file, but you are not obligated to do so. If you do not wish to
- * provide this exception without modification, you must delete this exception
- * statement from your version and license this file solely under the GPL without
- * exception.
- *
- *
- * Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.
- * Copyright (C) 2005 Red Hat, Inc.
- * All rights reserved.
- * END COPYRIGHT BLOCK **/
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-/*
- * ACL parser unit test program
- */
-
-#include <stdio.h>
-#include <netsite.h>
-#include <libaccess/acl.h>
-#include <libaccess/nserror.h>
-#include "../aclpriv.h"
-#include <libaccess/aclproto.h>
-
-main(int argc, char **argv)
-{
-
-ACLListHandle_t *acllist;
-int ii;
-char filename[255];
-ACLWrapper_t *wrap;
-ACLExprHandle_t *expr;
-
- if ( argc < 2 ) {
- fprintf(stderr, "usage: aclparse <filenames>\n");
- exit(1);
- }
- for (ii = 1; ii < argc; ii++ ) {
- acllist = ACL_ParseFile(NULL, argv[ii]);
- if ( acllist == NULL ) {
- printf("Failed to parse ACL.\n");
-
- } else {
- for (wrap = acllist->acl_list_head; wrap;
- wrap = wrap->wrap_next) {
- for (expr=wrap->acl->expr_list_head;
- expr;
- expr = expr->expr_next ) {
- ACL_ExprDisplay(expr);
- }
- }
- }
-
-
- sprintf(filename, "%s.v30", argv[ii]);
- ACL_WriteFile(NULL, filename, acllist);
- ACL_ListDestroy( acllist );
- }
-
-}
diff --git a/lib/libaccess/utest/twotest.cpp b/lib/libaccess/utest/twotest.cpp
deleted file mode 100644
index 25024d3..0000000
--- a/lib/libaccess/utest/twotest.cpp
+++ /dev/null
@@ -1,87 +0,0 @@
-/** BEGIN COPYRIGHT BLOCK
- * This Program is free software; you can redistribute it and/or modify it under
- * the terms of the GNU General Public License as published by the Free Software
- * Foundation; version 2 of the License.
- *
- * This Program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this Program; if not, write to the Free Software Foundation, Inc., 59 Temple
- * Place, Suite 330, Boston, MA 02111-1307 USA.
- *
- * In addition, as a special exception, Red Hat, Inc. gives You the additional
- * right to link the code of this Program with code not covered under the GNU
- * General Public License ("Non-GPL Code") and to distribute linked combinations
- * including the two, subject to the limitations in this paragraph. Non-GPL Code
- * permitted under this exception must only link to the code of this Program
- * through those well defined interfaces identified in the file named EXCEPTION
- * found in the source code files (the "Approved Interfaces"). The files of
- * Non-GPL Code may instantiate templates or use macros or inline functions from
- * the Approved Interfaces without causing the resulting work to be covered by
- * the GNU General Public License. Only Red Hat, Inc. may make changes or
- * additions to the list of Approved Interfaces. You must obey the GNU General
- * Public License in all respects for all of the Program code and other code used
- * in conjunction with the Program except the Non-GPL Code covered by this
- * exception. If you modify this file, you may extend this exception to your
- * version of the file, but you are not obligated to do so. If you do not wish to
- * provide this exception without modification, you must delete this exception
- * statement from your version and license this file solely under the GPL without
- * exception.
- *
- *
- * Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.
- * Copyright (C) 2005 Red Hat, Inc.
- * All rights reserved.
- * END COPYRIGHT BLOCK **/
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <stdio.h>
-#include <netsite.h>
-#include <base/plist.h>
-#include <base/ereport.h>
-#include <libaccess/nserror.h>
-#include <libaccess/acl.h>
-#include "../aclpriv.h"
-#include <libaccess/aclproto.h>
-#include <libaccess/las.h>
-
-
-extern ACLListHandle_t *ACL_ParseFile(NSErr_t *errp, char *filename);
-
-int main(int arc, char **argv)
-{
- int result;
- ACLEvalHandle_t eval;
- char *rights[2];
- char *map_generic[7];
- char *bong;
- char *bong_type;
- char *acl_tag;
- int expr_num;
-
- /* ACL Eval Unit Tests
- */
-
- rights[0] = "html_read";
- rights[1] = "html_write";
- rights[2] = NULL;
-
- map_generic[0] = "html_read";
- map_generic[1] = "html_write";
- map_generic[2] = "N/A";
- map_generic[3] = "html_create";
- map_generic[4] = "html_delete";
- map_generic[5] = "N/A";
- map_generic[6] = NULL;
-
- eval.acllist = ACL_ParseFile((NSErr_t *)NULL, argv[1]);
- result = ACL_EvalTestRights(NULL, &eval, &rights[0], map_generic, &bong, &bong_type, &acl_tag, &expr_num);
- ACL_ListDestroy(NULL, eval.acllist);
- printf("%s = %d\n\n", argv[1], result);
-
-}
diff --git a/lib/libaccess/utest/ustubs.cpp b/lib/libaccess/utest/ustubs.cpp
deleted file mode 100644
index 61a0845..0000000
--- a/lib/libaccess/utest/ustubs.cpp
+++ /dev/null
@@ -1,331 +0,0 @@
-/** BEGIN COPYRIGHT BLOCK
- * This Program is free software; you can redistribute it and/or modify it under
- * the terms of the GNU General Public License as published by the Free Software
- * Foundation; version 2 of the License.
- *
- * This Program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this Program; if not, write to the Free Software Foundation, Inc., 59 Temple
- * Place, Suite 330, Boston, MA 02111-1307 USA.
- *
- * In addition, as a special exception, Red Hat, Inc. gives You the additional
- * right to link the code of this Program with code not covered under the GNU
- * General Public License ("Non-GPL Code") and to distribute linked combinations
- * including the two, subject to the limitations in this paragraph. Non-GPL Code
- * permitted under this exception must only link to the code of this Program
- * through those well defined interfaces identified in the file named EXCEPTION
- * found in the source code files (the "Approved Interfaces"). The files of
- * Non-GPL Code may instantiate templates or use macros or inline functions from
- * the Approved Interfaces without causing the resulting work to be covered by
- * the GNU General Public License. Only Red Hat, Inc. may make changes or
- * additions to the list of Approved Interfaces. You must obey the GNU General
- * Public License in all respects for all of the Program code and other code used
- * in conjunction with the Program except the Non-GPL Code covered by this
- * exception. If you modify this file, you may extend this exception to your
- * version of the file, but you are not obligated to do so. If you do not wish to
- * provide this exception without modification, you must delete this exception
- * statement from your version and license this file solely under the GPL without
- * exception.
- *
- *
- * Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.
- * Copyright (C) 2005 Red Hat, Inc.
- * All rights reserved.
- * END COPYRIGHT BLOCK **/
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <sys/types.h>
-#include <malloc.h>
-#include <string.h>
-#include <base/crit.h>
-#include <base/plist.h>
-
-#include <libaccess/nserror.h>
-#include <libaccess/acl.h>
-#include "../aclpriv.h"
-#include <libaccess/aclproto.h>
-#include <libaccess/ldapacl.h>
-#include <ldaputil/dbconf.h>
-#include <prprf.h>
-
-NSPR_BEGIN_EXTERN_C
-extern char * ACL_Program;
-extern int conf_getglobals();
-extern int SPconf_getglobals();
-extern int ereport(int, char*, ...);
-extern int SPereport(int, char*, ...);
-extern char * GetAdminLanguage(void);
-extern char * XP_GetStringFromDatabase(char *strLibraryName, char *strLanguage, int iToken);
-extern void ACL_Restart(void *cntlData);
-extern int XP_SetError();
-extern int XP_GetError();
-extern int acl_usr_cache_init();
-extern int acl_usr_cache_set_group();
-extern int acl_usr_cache_group_check();
-extern int acl_usr_cache_group_len_check();
-extern int acl_usr_cache_enabled();
-extern int get_userdn_ldap (NSErr_t *errp, PList_t subject,
- PList_t resource, PList_t auth_info,
- PList_t global_auth, void *unused);
-extern char *ldapu_err2string(int err);
-extern int ACL_CacheFlush(void);
-NSPR_END_EXTERN_C
-
-static char errbuf[10];
-
-char *
-ldapu_err2string(int err)
-{
- sprintf(errbuf, "%d", err);
- return errbuf;
-}
-
-#ifdef notdef
-char *system_errmsg()
-{
- static char errmsg[1024];
-
- sprintf(errmsg, "Stubbed system_errmsg");
- return errmsg;
-}
-#endif
-
-int
-ACL_CacheFlushRegister(AclCacheFlushFunc_t flush_func)
-{
- return 0;
-}
-
-int acl_usr_cache_init()
-{
- return 0;
-}
-
-int acl_usr_cache_group_check()
-{
- return 0;
-}
-
-int acl_usr_cache_set_group()
-{
- return 0;
-}
-
-int acl_usr_cache_group_len_check()
-{
- return 0;
-}
-
-int acl_usr_cache_enabled()
-{
- return 0;
-}
-
-int get_userdn_ldap (NSErr_t *errp, PList_t subject,
- PList_t resource, PList_t auth_info,
- PList_t global_auth, void *unused)
-{
- return LAS_EVAL_TRUE;
-}
-
-int XP_SetError()
-{
- return 0;
-}
-
-int XP_GetError()
-{
- return 0;
-}
-
-CRITICAL
-crit_init()
-{
- return (CRITICAL)1;
-}
-
-void
-crit_enter(CRITICAL c)
-{
- return;
-}
-
-void
-crit_exit(CRITICAL c)
-{
- return;
-}
-
-void
-crit_terminate(CRITICAL c)
-{
- return;
-}
-
-int crit_owner_is_me(CRITICAL id)
-{
- return 1;
-}
-
-int symTableFindSym()
-{
- return 0;
-}
-
-int
-ldap_auth_uid_groupid(LDAP *ld, char *uid, char *groupid,
- char *base)
-{
- return 0;
-}
-
-LDAP *
-init_ldap (char *host, int port, int use_ssl)
-{
- return (LDAP *)"init_ldap_stub";
-}
-
-int ACL_LDAPDatabaseHandle (NSErr_t *errp, const char *dbname, LDAP **ld,
- char **basedn)
-{
- *ld = (LDAP *)"ACL_LDAPDatabaseHandle_stub";
- if (basedn) *basedn = strdup("unknown basedn");
- return LAS_EVAL_TRUE;
-}
-
-#ifdef notdef
-NSEFrame_t * nserrGenerate(NSErr_t * errp, long retcode, long errorid,
- char * program, int errc, ...)
-{
- return 0;
-}
-#endif
-
-char * ACL_Program;
-
-char *
-LASUserGetUser()
-{
- return "hmiller";
-}
-
-int
-LASIpGetIp()
-{
- return(0x11223344);
-}
-
-int
-LASDnsGetDns(char **dnsv)
-{
- *dnsv = "aruba.mcom.com";
- return 0;
-}
-
-int
-ACL_DestroyList()
-{
-return(0);
-}
-
-int
-aclCheckHosts()
-{
-return(0);
-}
-
-int
-aclCheckUsers()
-{
-return(0);
-}
-
-char *LASGroupGetUser()
-{
- return("hmiller");
-}
-
-int
-SPconf_getglobals()
-{
- return 0;
-}
-
-int
-conf_getglobals()
-{
- return 0;
-}
-
-int
-SPereport(int degree, char *fmt, ...)
-{
- va_list args;
- char errstr[1024];
-
- va_start(args, fmt);
- PR_vsnprintf(&errstr[0], sizeof(errstr), fmt, args);
- printf("%s", errstr);
- va_end(args);
- return 0;
-}
-
-int
-ereport(int degree, char *fmt, ...)
-{
- va_list args;
- char errstr[1024];
-
- va_start(args, fmt);
- PR_vsnprintf(&errstr[0], sizeof(errstr), fmt, args);
- printf("%s", errstr);
- va_end(args);
- return 0;
-}
-
-#ifdef notdef
-int dbconf_read_config_file (const char *file, DBConfInfo_t **conf_info_out)
-{
- return 0;
-}
-#endif
-
-char *
-GetAdminLanguage(void)
-{
- return "";
-}
-
-static char errstr[1024];
-
-char *
-XP_GetStringFromDatabase(char *strLibraryName, char *strLanguage, int iToken)
-{
- sprintf(errstr, "XP_GetAdminStr called for error %d\n", iToken);
- return errstr;
-}
-
-void
-ACL_Restart(void * cntlData)
-{
- return;
-}
-
-NSAPI_PUBLIC int
-parse_ldap_url(NSErr_t *errp, ACLDbType_t dbtype, const char *name, const char
-*url, PList_t plist, void **db)
-{
- return 0;
-}
-
-int
-ACL_CacheFlush(void)
-{
- return 0;
-}
commit ce1ac026add75269d75adc215edac5e01a650e22
Author: Noriko Hosoi <nhosoi(a)redhat.com>
Date: Wed Jun 30 11:19:10 2010 -0700
609255 - fix coverity Defect Type: Memory - illegal accesses issues
https://bugzilla.redhat.com/show_bug.cgi?id=609255
12237 UNINIT Triaged Unassigned Bug Minor Fix Required
vlv_trim_candidates_byvalue() ds/ldap/servers/slapd/back-ldbm/vlv.c
Commit:
There is almost no chance to pass uninitialized typedown_value to
ber_bvecfree unless vlv_request_control value is NULL. Anyway, we
init typedown_value to NULL.
diff --git a/ldap/servers/slapd/back-ldbm/vlv.c b/ldap/servers/slapd/back-ldbm/vlv.c
index 2f2cb48..fbbd604 100644
--- a/ldap/servers/slapd/back-ldbm/vlv.c
+++ b/ldap/servers/slapd/back-ldbm/vlv.c
@@ -1489,7 +1489,7 @@ vlv_trim_candidates_byvalue(backend *be, const IDList *candidates, const sort_sp
PRUint32 current= 0;
ID id = NOID;
int found= 0;
- struct berval **typedown_value;
+ struct berval **typedown_value = NULL;
/* For non-matchrule indexing */
value_compare_fn_type compare_fn= NULL;
commit f43d023a12e16658f8bc62bc3d471805ec3155d3
Author: Noriko Hosoi <nhosoi(a)redhat.com>
Date: Wed Jun 30 11:03:56 2010 -0700
609255 - fix coverity Defect Type: Memory - illegal accesses issues
https://bugzilla.redhat.com/show_bug.cgi?id=609255
12236 UNINIT Triaged Unassigned Bug Minor Fix Required
dblayer_get_aux_id2entry() ds/ldap/servers/slapd/back-ldbm/dblayer.c
Comment:
If a backend instance info (inst) or ldbminfo (li) or dblayer private
info (opriv) is not available, uninitialized priv is passed to
slapi_ch_free_string and slapi_ch_free. We need to init priv to NULL
and handle done: case if priv is NULL.
diff --git a/ldap/servers/slapd/back-ldbm/dblayer.c b/ldap/servers/slapd/back-ldbm/dblayer.c
index 598b997..d9f4c2f 100644
--- a/ldap/servers/slapd/back-ldbm/dblayer.c
+++ b/ldap/servers/slapd/back-ldbm/dblayer.c
@@ -2279,9 +2279,9 @@ int dblayer_get_aux_id2entry(backend *be, DB **ppDB, DB_ENV **ppEnv)
struct dblayer_private_env *mypEnv = NULL;
DB *dbp = NULL;
int rval = 1;
- struct ldbminfo *li;
- dblayer_private *opriv;
- dblayer_private *priv;
+ struct ldbminfo *li = NULL;
+ dblayer_private *opriv = NULL;
+ dblayer_private *priv = NULL;
char *subname = NULL;
int envflags;
size_t cachesize;
@@ -2433,8 +2433,10 @@ err:
ldbm_delete_dirs(priv->dblayer_home_directory);
done:
slapi_ch_free_string(&id2entry_file);
- slapi_ch_free_string(&priv->dblayer_home_directory);
- slapi_ch_free_string(&priv->dblayer_log_directory);
+ if (priv) {
+ slapi_ch_free_string(&priv->dblayer_home_directory);
+ slapi_ch_free_string(&priv->dblayer_log_directory);
+ }
/* Don't free priv->dblayer_data_directories since priv doesn't own the memory */
slapi_ch_free((void **)&priv);
slapi_ch_free((void **)&mypEnv);
commit 55a23aa703421013764231a3dfa547c11ef5e2dc
Author: Noriko Hosoi <nhosoi(a)redhat.com>
Date: Wed Jun 30 10:45:03 2010 -0700
609255 - fix coverity Defect Type: Memory - illegal accesses issues
https://bugzilla.redhat.com/show_bug.cgi?id=609255
12233 UNINIT Triaged Unassigned Bug Minor Fix Required
preop_modify() ds/ldap/servers/plugins/uiduniq/uid.c
Comment:
This is not an issue since attrName is an output variable
for getArguments at the line 689. But to make coverity
happy, we init attrName to NULL.
diff --git a/ldap/servers/plugins/uiduniq/uid.c b/ldap/servers/plugins/uiduniq/uid.c
index 1464b52..64b5b14 100644
--- a/ldap/servers/plugins/uiduniq/uid.c
+++ b/ldap/servers/plugins/uiduniq/uid.c
@@ -436,7 +436,7 @@ getArguments(Slapi_PBlock *pb, char **attrName, char **markerObjectClass,
if (NULL == delimiter)
{
/* Old style untagged parameter */
- *attrName = *argv;
+ *attrName = *argv;
return UNTAGGED_PARAMETER;
}
if (strncasecmp(param, "attribute", delimiter-param) == 0)
@@ -661,7 +661,7 @@ preop_modify(Slapi_PBlock *pb)
BEGIN
int err;
- char *attrName;
+ char *attrName = NULL;
char *markerObjectClass=NULL;
char *requiredObjectClass=NULL;
LDAPMod **mods;
@@ -806,7 +806,7 @@ preop_modrdn(Slapi_PBlock *pb)
BEGIN
int err;
- char *attrName;
+ char *attrName = NULL;
char *markerObjectClass=NULL;
char *requiredObjectClass=NULL;
char *dn;
commit 866d13e4471c084ba83f82e2a83bb7fd14158548
Author: Noriko Hosoi <nhosoi(a)redhat.com>
Date: Wed Jun 30 10:28:14 2010 -0700
609255 - fix coverity Defect Type: Memory - illegal accesses issues
https://bugzilla.redhat.com/show_bug.cgi?id=609255
12230 UNINIT Triaged Unassigned Bug Minor Fix Required
preop_add() ds/ldap/servers/plugins/uiduniq/7bit.c
Comment:
Some cases such as NULL attrName is passed or it does not have a value,
uninitialized "violated" is passed to slapi_ch_smprintf via issue_error.
We should init violated to NULL.
12231 UNINIT Triaged Unassigned Bug Unspecified Fix Required
preop_modify() ds/ldap/servers/plugins/uiduniq/7bit.c
Comment:
Some cases such as NULL attrName is passed or mods were empty,
uninitialized "violated" is passed to slapi_ch_smprintf via issue_error.
We should init violated to NULL.
12232 UNINIT Triaged Unassigned Bug Minor Fix Required
preop_modrdn() ds/ldap/servers/plugins/uiduniq/7bit.c
Comment:
Some cases such as NULL attrName is passed or it does not have a value,
uninitialized "violated" is passed to slapi_ch_smprintf via issue_error.
We should init violated to NULL.
diff --git a/ldap/servers/plugins/uiduniq/7bit.c b/ldap/servers/plugins/uiduniq/7bit.c
index 56eef22..f575d26 100644
--- a/ldap/servers/plugins/uiduniq/7bit.c
+++ b/ldap/servers/plugins/uiduniq/7bit.c
@@ -217,7 +217,7 @@ static int
preop_add(Slapi_PBlock *pb)
{
int result;
- char *violated;
+ char *violated = NULL;
#ifdef DEBUG
slapi_log_error(SLAPI_LOG_PLUGIN, plugin_name, "ADD begin\n");
@@ -359,7 +359,7 @@ static int
preop_modify(Slapi_PBlock *pb)
{
int result;
- char *violated;
+ char *violated = NULL;
LDAPMod **checkmods = NULL; /* holds mods to check */
int checkmodsCapacity = 0; /* max capacity of checkmods */
@@ -522,7 +522,7 @@ preop_modrdn(Slapi_PBlock *pb)
{
int result;
Slapi_Entry *e;
- char *violated;
+ char *violated = NULL;
#ifdef DEBUG
slapi_log_error(SLAPI_LOG_PLUGIN, plugin_name,
commit 7d555304796f947e9f327041b5112bd4482f2ca9
Author: Noriko Hosoi <nhosoi(a)redhat.com>
Date: Wed Jun 30 10:11:24 2010 -0700
609255 - fix coverity Defect Type: Memory - illegal accesses issues
https://bugzilla.redhat.com/show_bug.cgi?id=609255
12225 UNINIT Triaged Unassigned Bug Minor Fix Required
windows_private_update_dirsync_control() ds/ldap/servers/plugins/replication/windows_private.c
Comment:
If DIRSYNC control is not found, uninitialized serverCookie is passed
to ber_bvfree. We should init serverCookie to NULL.
diff --git a/ldap/servers/plugins/replication/windows_private.c b/ldap/servers/plugins/replication/windows_private.c
index b5bcabf..d6f8e51 100644
--- a/ldap/servers/plugins/replication/windows_private.c
+++ b/ldap/servers/plugins/replication/windows_private.c
@@ -585,7 +585,7 @@ void windows_private_update_dirsync_control(const Repl_Agmt *ra,LDAPControl **co
BerElement *ber = NULL;
ber_int_t hasMoreData;
ber_int_t maxAttributeCount;
- BerValue *serverCookie;
+ BerValue *serverCookie = NULL;
#ifdef FOR_DEBUGGING
int return_value = LDAP_SUCCESS;
#endif
commit 9c29bdbfa149529e561a0bcd114cf2b064b6a008
Author: Noriko Hosoi <nhosoi(a)redhat.com>
Date: Wed Jun 30 09:55:53 2010 -0700
609255 - fix coverity Defect Type: Memory - illegal accesses issues
https://bugzilla.redhat.com/show_bug.cgi?id=609255
12224 UNINIT Triaged Unassigned Bug Minor Fix Required
windows_private_update_dirsync_control() ds/ldap/servers/plugins/replication/windows_private.c
Comment:
If DIRSYNC control is not found, uninitialized ber is passed to
ber_free. We should init ber to NULL.
diff --git a/ldap/servers/plugins/replication/windows_private.c b/ldap/servers/plugins/replication/windows_private.c
index 8ba8b5c..b5bcabf 100644
--- a/ldap/servers/plugins/replication/windows_private.c
+++ b/ldap/servers/plugins/replication/windows_private.c
@@ -582,7 +582,7 @@ void windows_private_update_dirsync_control(const Repl_Agmt *ra,LDAPControl **co
int foundDirsyncControl;
int i;
LDAPControl *dirsync = NULL;
- BerElement *ber;
+ BerElement *ber = NULL;
ber_int_t hasMoreData;
ber_int_t maxAttributeCount;
BerValue *serverCookie;
commit f4f050bd0ac9c6a5f1da41a3c0aaa03a0f7f6c9d
Author: Noriko Hosoi <nhosoi(a)redhat.com>
Date: Tue Jun 29 18:31:10 2010 -0700
609255 - fix coverity Defect Type: Memory - illegal accesses issues
https://bugzilla.redhat.com/show_bug.cgi?id=609255
12223 UNINIT Triaged Unassigned Bug Minor Fix Required
my_ber_scanf_attr() ds/ldap/servers/plugins/replication/repl5_total.c
Comment:
In case an error occurs between the line 594 and the line 648,
uninitialized value is passed to slapi_value_free. Need to init
value to NULL
diff --git a/ldap/servers/plugins/replication/repl5_total.c b/ldap/servers/plugins/replication/repl5_total.c
index a555bec..f358dad 100644
--- a/ldap/servers/plugins/replication/repl5_total.c
+++ b/ldap/servers/plugins/replication/repl5_total.c
@@ -591,7 +591,7 @@ my_ber_scanf_attr (BerElement *ber, Slapi_Attr **attr, PRBool *deleted)
ber_tag_t tag;
char *str = NULL;
int rc;
- Slapi_Value *value;
+ Slapi_Value *value = NULL;
PR_ASSERT (ber && attr && deleted);
commit 927083d32845ecbc18db2a2aa4227cd1c9748150
Author: Noriko Hosoi <nhosoi(a)redhat.com>
Date: Tue Jun 29 18:23:13 2010 -0700
609255 - fix coverity Defect Type: Memory - illegal accesses issues
https://bugzilla.redhat.com/show_bug.cgi?id=609255
12222 UNINIT Triaged Unassigned Bug Minor Fix Required
replica_get_purl_for_op() ds/ldap/servers/plugins/replication/repl5_plugins.c
Comment:
In case of an error "cannot obtain consumer connection extension or supplier_ruv", uninitialized purl is returned to the caller. Init purl to NULL
diff --git a/ldap/servers/plugins/replication/repl5_plugins.c b/ldap/servers/plugins/replication/repl5_plugins.c
index aa9c40a..a26be9e 100644
--- a/ldap/servers/plugins/replication/repl5_plugins.c
+++ b/ldap/servers/plugins/replication/repl5_plugins.c
@@ -1298,7 +1298,7 @@ is_mmr_replica (Slapi_PBlock *pb)
static const char *replica_get_purl_for_op (const Replica *r, Slapi_PBlock *pb, const CSN *opcsn)
{
int is_replicated_op;
- const char *purl;
+ const char *purl = NULL;
slapi_pblock_get(pb, SLAPI_IS_MMR_REPLICATED_OPERATION, &is_replicated_op);
commit bf8eea7abd6cc73055568c81a42a7822a2bbfd60
Author: Noriko Hosoi <nhosoi(a)redhat.com>
Date: Tue Jun 29 18:12:03 2010 -0700
609255 - fix coverity Defect Type: Memory - illegal accesses issues
https://bugzilla.redhat.com/show_bug.cgi?id=609255
12221 UNINIT Triaged Unassigned Bug Minor Fix Required
create_NSDS50ReplicationExtopPayload() ds/ldap/servers/plugins/replication/repl_extop.c
Comment:
unlikely to cause a problem, but we should init repl_obj to NULL
diff --git a/ldap/servers/plugins/replication/repl_extop.c b/ldap/servers/plugins/replication/repl_extop.c
index 0f4d800..9260a4c 100644
--- a/ldap/servers/plugins/replication/repl_extop.c
+++ b/ldap/servers/plugins/replication/repl_extop.c
@@ -112,7 +112,7 @@ create_ReplicationExtopPayload(const char *protocol_oid,
struct berval *req_data = NULL;
BerElement *tmp_bere = NULL;
int rc = 0;
- Object *repl_obj, *ruv_obj = NULL;
+ Object *repl_obj = NULL, *ruv_obj = NULL;
Replica *repl;
RUV *ruv;
Slapi_DN *sdn = NULL;
commit c6b4998638f5f0fa2726a59d9dc00e2255b08e8b
Author: Noriko Hosoi <nhosoi(a)redhat.com>
Date: Tue Jun 29 18:06:17 2010 -0700
609255 - fix coverity Defect Type: Memory - illegal accesses issues
https://bugzilla.redhat.com/show_bug.cgi?id=609255
12220 UNINIT Triaged Unassigned Bug Minor Fix Required
create_NSDS50ReplicationExtopPayload() ds/ldap/servers/plugins/replication/repl_extop.c
Comment:
unlikely to cause a problem, but we should init sdn to NULL
diff --git a/ldap/servers/plugins/replication/repl_extop.c b/ldap/servers/plugins/replication/repl_extop.c
index e3ad242..0f4d800 100644
--- a/ldap/servers/plugins/replication/repl_extop.c
+++ b/ldap/servers/plugins/replication/repl_extop.c
@@ -115,7 +115,7 @@ create_ReplicationExtopPayload(const char *protocol_oid,
Object *repl_obj, *ruv_obj = NULL;
Replica *repl;
RUV *ruv;
- Slapi_DN *sdn;
+ Slapi_DN *sdn = NULL;
PR_ASSERT(protocol_oid != NULL || send_end);
PR_ASSERT(repl_root != NULL);
commit 923a5f52e40418bbf2cc791070b4042272e0e0a5
Author: Noriko Hosoi <nhosoi(a)redhat.com>
Date: Tue Jun 29 17:56:49 2010 -0700
609255 - fix coverity Defect Type: Memory - illegal accesses issues
https://bugzilla.redhat.com/show_bug.cgi?id=609255
12216 UNINIT Triaged Unassigned Bug Minor Fix Required
private_protocol_factory() ds/ldap/servers/plugins/replication/repl5_protocol.c
Comment:
should be impossible for type to be anything but one of the
valid values, but it wouldn't hurt to init prp to NULL anyway
diff --git a/ldap/servers/plugins/replication/repl5_protocol.c b/ldap/servers/plugins/replication/repl5_protocol.c
index b1ff730..acd3c98 100644
--- a/ldap/servers/plugins/replication/repl5_protocol.c
+++ b/ldap/servers/plugins/replication/repl5_protocol.c
@@ -575,7 +575,7 @@ prot_replicate_now(Repl_Protocol *rp)
static Private_Repl_Protocol *
private_protocol_factory(Repl_Protocol *rp, int type)
{
- Private_Repl_Protocol *prp;
+ Private_Repl_Protocol *prp = NULL;
switch (type)
{
commit 19bd0d6890f07f9b0d1e2041398f985ac94294a5
Author: Noriko Hosoi <nhosoi(a)redhat.com>
Date: Thu Jul 1 13:57:58 2010 -0700
609255 - fix coverity Defect Type: Memory - illegal accesses issues
https://bugzilla.redhat.com/show_bug.cgi?id=609255
12215 UNINIT Triaged Unassigned Bug Minor Fix Required
_cl5LDIF2Operation() ds/ldap/servers/plugins/replication/cl5_api.c
Comment:
should init rawDN to NULL and check if it is NULL before using it.
If rawDN is NULL, it returns error CL5_BAD_FORMAT.
Comment on the particular rawDN at the line 5218:
* When it comes here, case T_DNSTR is already
* passed and rawDN is supposed to set.
* But it's a good idea to make sure it is
* not NULL.
diff --git a/ldap/servers/plugins/replication/cl5_api.c b/ldap/servers/plugins/replication/cl5_api.c
index 56cc971..f61bd0a 100644
--- a/ldap/servers/plugins/replication/cl5_api.c
+++ b/ldap/servers/plugins/replication/cl5_api.c
@@ -2687,7 +2687,7 @@ cl5DBData2Entry (const char *data, PRUint32 len, CL5Entry *entry)
PRUint32 thetime;
slapi_operation_parameters *op;
LDAPMod **add_mods;
- char *rawDN;
+ char *rawDN = NULL;
char s[CSN_STRSIZE];
PR_ASSERT (data && entry && entry->op);
@@ -5010,7 +5010,7 @@ static int _cl5Operation2LDIF (const slapi_operation_parameters *op, const char
char *strDeleteOldRDN;
char *buff, *start;
LDAPMod **add_mods;
- char *rawDN;
+ char *rawDN = NULL;
char strCSN[CSN_STRSIZE];
PR_ASSERT (op && replGen && ldifEntry && IsValidOperation (op));
@@ -5145,7 +5145,7 @@ _cl5LDIF2Operation (char *ldifEntry, slapi_operation_parameters *op, char **repl
char *next, *line;
char *type, *value;
Slapi_Mods *mods;
- char *rawDN;
+ char *rawDN = NULL;
PR_ASSERT (op && ldifEntry && replGen);
@@ -5222,7 +5222,21 @@ _cl5LDIF2Operation (char *ldifEntry, slapi_operation_parameters *op, char **repl
switch (op->operation_type)
{
- case SLAPI_OPERATION_ADD: mods = parse_changes_string(value);
+ case SLAPI_OPERATION_ADD: /*
+ * When it comes here, case T_DNSTR is already
+ * passed and rawDN is supposed to set.
+ * But it's a good idea to make sure it is
+ * not NULL.
+ */
+ if (NULL == rawDN) {
+ slapi_log_error(SLAPI_LOG_FATAL, repl_plugin_name_cl,
+ "_cl5LDIF2Operation: corrupted format "
+ "for operation type - %lu\n",
+ op->operation_type);
+ return CL5_BAD_FORMAT;
+ }
+ mods = parse_changes_string(value);
+ PR_ASSERT (mods);
slapi_mods2entry (&(op->p.p_add.target_entry), rawDN,
slapi_mods_get_ldapmods_byref(mods));
slapi_ch_free ((void**)&rawDN);
commit 4b2c04ee518ab078e18707871d6c7a88f00b2d5c
Author: Noriko Hosoi <nhosoi(a)redhat.com>
Date: Wed Jun 30 16:54:58 2010 -0700
609255 - fix coverity Defect Type: Memory - illegal accesses issues
https://bugzilla.redhat.com/show_bug.cgi?id=609255
12210 UNINIT Triaged Unassigned Bug Minor Fix Required
str2entry_fast() ds/ldap/servers/slapd/entry.c
Comment:
ptype is always NULL the first time through the loop, so a will
always be initialized to NULL. But we should explicitly initialize
it to NULL in the declaration.
diff --git a/ldap/servers/slapd/entry.c b/ldap/servers/slapd/entry.c
index 0a8c40d..87765d5 100644
--- a/ldap/servers/slapd/entry.c
+++ b/ldap/servers/slapd/entry.c
@@ -165,6 +165,7 @@ str2entry_fast( const char *rawdn, char *s, int flags, int read_stateinfo )
CSN *maxcsn = NULL;
char *normdn = NULL;
int strict = 0;
+ Slapi_Attr **a = NULL;
/* Check if we should be performing strict validation. */
strict = config_get_dn_validate_strict();
@@ -206,7 +207,6 @@ str2entry_fast( const char *rawdn, char *s, int flags, int read_stateinfo )
while ( (s = ldif_getline( &next )) != NULL &&
attr_val_cnt < ENTRY_MAX_ATTRIBUTE_VALUE_COUNT )
{
- Slapi_Attr **a;
char *valuecharptr=NULL;
#if defined(USE_OPENLDAP)
ber_len_t valuelen;
commit 7fa74e30e36274f561ef61f3cae29abf68ce05ae
Author: Noriko Hosoi <nhosoi(a)redhat.com>
Date: Tue Jun 29 14:34:37 2010 -0700
609255 - fix coverity Defect Type: Memory - illegal accesses issues
https://bugzilla.redhat.com/show_bug.cgi?id=609255
12291 USE_AFTER_FREE Triaged Unassigned Bug Minor Fix Required
dbconf_read_default_dbinfo_sub() ds/lib/ldaputil/dbconf.c
Comment:
should never happen - should always break out of the loop at 504
with a valid db_info - but we should set db_info = NULL after line
505 just to make sure
diff --git a/lib/ldaputil/dbconf.c b/lib/ldaputil/dbconf.c
index cc15216..746afc9 100644
--- a/lib/ldaputil/dbconf.c
+++ b/lib/ldaputil/dbconf.c
@@ -503,6 +503,7 @@ int dbconf_read_default_dbinfo_sub (const char *file,
{
if (!strcmp(db_info->dbname, DBCONF_DEFAULT_DBNAME)) break;
dbconf_free_dbinfo(db_info);
+ db_info = NULL;
}
if (rv != LDAPU_SUCCESS) {
commit 56c057e2559cec6acf845cb3196eabb1c7363f7e
Author: Noriko Hosoi <nhosoi(a)redhat.com>
Date: Tue Jun 29 13:33:34 2010 -0700
609255 - fix coverity Defect Type: Memory - illegal accesses issues
https://bugzilla.redhat.com/show_bug.cgi?id=609255
12300 USE_AFTER_FREE Triaged Unassigned Bug Minor Fix Required
append_acl_to_file(char *, char *, char *…) ds/lib/libaccess/acltools.cpp
Comment:
this code is not used any more. The fix is to have open_file_buf set
*buf to NULL after freeing
diff --git a/lib/libaccess/acltools.cpp b/lib/libaccess/acltools.cpp
index 1b302df..c93bbc6 100644
--- a/lib/libaccess/acltools.cpp
+++ b/lib/libaccess/acltools.cpp
@@ -2131,8 +2131,10 @@ open_cleanup:
if (rv<0) {
if (*file)
fclose(*file);
- if (*buf)
+ if (*buf) {
PERM_FREE(*buf);
+ *buf = NULL;
+ }
}
return rv;
}
@@ -2152,7 +2154,9 @@ close_file_buf(FILE * file, char * filename, char * mode, char * buf)
fwrite(buf,1,strlen(buf),file);
fclose(file);
}
- PERM_FREE(buf);
+ if (*buf) {
+ PERM_FREE(buf);
+ }
}
13 years, 10 months