[Fedora-directory-commits] ldapserver/ldap/servers/plugins/replication cl5_clcache.c, 1.5, 1.6
by Doctor Conrad
Author: nkinder
Update of /cvs/dirsec/ldapserver/ldap/servers/plugins/replication
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv30063
Modified Files:
cl5_clcache.c
Log Message:
174550 - Fixed error message typo
Index: cl5_clcache.c
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/servers/plugins/replication/cl5_clcache.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- cl5_clcache.c 19 Apr 2005 22:07:32 -0000 1.5
+++ cl5_clcache.c 29 Nov 2005 22:19:25 -0000 1.6
@@ -920,7 +920,7 @@
case ENOMEM:
slapi_log_error ( SLAPI_LOG_FATAL, buf->buf_agmt_name,
- "clcache_cursor_get: cann't allocate %u bytes\n", buf->buf_data.ulen );
+ "clcache_cursor_get: can't allocate %u bytes\n", buf->buf_data.ulen );
break;
default:
18 years, 3 months
[Fedora-directory-commits] console/src/com/netscape/management/client/util ClassLoaderUtil.java, 1.1.1.1, 1.2 LocalJarClassLoader.java, 1.2, 1.3
by Doctor Conrad
Author: nkinder
Update of /cvs/dirsec/console/src/com/netscape/management/client/util
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv22252/src/com/netscape/management/client/util
Modified Files:
ClassLoaderUtil.java LocalJarClassLoader.java
Log Message:
173947 - Added ability to build a Console RPM. The layout of Console can now be distributed inside system locations instead of being self-contained.
Index: ClassLoaderUtil.java
===================================================================
RCS file: /cvs/dirsec/console/src/com/netscape/management/client/util/ClassLoaderUtil.java,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -r1.1.1.1 -r1.2
--- ClassLoaderUtil.java 18 Jul 2005 00:34:25 -0000 1.1.1.1
+++ ClassLoaderUtil.java 29 Nov 2005 18:37:17 -0000 1.2
@@ -50,13 +50,13 @@
return false;
if (Debug.getTraceLevel() >= 7) {
- Debug.println(7, debugTag + " Search <" + sJarName + "> in java/jars ");
+ Debug.println(7, debugTag + " Search <" + sJarName + "> in " + LocalJarClassLoader.jarsDir);
String list = "";
for (int n = 0 ; n < sJarList.length ; n++) {
list += "<"+sJarList[n] + ">";
}
- Debug.println(7, debugTag + " java/jars content: " + list);
+ Debug.println(7, debugTag + LocalJarClassLoader.jarsDir + " content: " + list);
}
for (int i = 0 ; i < sJarList.length ; i++)
Index: LocalJarClassLoader.java
===================================================================
RCS file: /cvs/dirsec/console/src/com/netscape/management/client/util/LocalJarClassLoader.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- LocalJarClassLoader.java 26 Oct 2005 23:16:29 -0000 1.2
+++ LocalJarClassLoader.java 29 Nov 2005 18:37:17 -0000 1.3
@@ -25,8 +25,8 @@
import java.net.URL;
import java.net.MalformedURLException;
import com.netscape.management.client.comm.*;
-
import com.netscape.management.client.console.ConsoleInfo;
+import com.netscape.management.client.console.Console;
/**
* The LocalJarClassLoader is designed to load classes from jars
@@ -55,11 +55,13 @@
private static final String debugTag = "ClassLoader: ";
+ static String jarsDir = Console.PREFERENCE_DIR + "jars" + File.separator;
+
/**
- * Patch table lists all files in the ./patch directory
+ * Patch table lists all files in the PREFERENCE_DIR/patch directory
*/
static String patchFilePrefix = "patch-";
- static String patchDir = "./patch/";
+ static String patchDir = Console.PREFERENCE_DIR + "patch" + File.separator;
static Hashtable patchTable;
static {
@@ -408,22 +410,17 @@
/**
- * A jar file is either in <server-root>/java/jars or in <server-root>/java
+ * Server jar file located in jarsDir
*/
protected static String locateJarFile(String jarname) {
- // Look for files first in jars/.
+ // Look for files in jarsDir.
+ String filename = jarsDir + jarname;
- //String filename = "jars/" + jarname;
- String filename = "jars" + File.separator + jarname;
if (!((new File(filename)).exists())) {
- // file not found in jars/, look in ./
-
- filename = jarname;
- if (!((new File(filename)).exists())) {
- return null;
- }
+ return null;
+ } else {
+ return filename;
}
- return filename;
}
@@ -475,17 +472,14 @@
/**
* Returns a list of the jarfiles stored in the local jar directory.
- * This directory is currently ./jars, which assumes that our ultimate
- * application installation strategy will allow for a directory called
- * jars in the cwd of the VM on startup.
*
* @return an array of the locally stored jar files.
*/
public static String[] getLocalJarList() {
- File f = new File("jars");
+ File f = new File(jarsDir);
if (!f.exists() || !f.isDirectory()) {
- Debug.println(0, debugTag + "getLocalJarList():Unable to read ./jars directory");
+ Debug.println(0, debugTag + "getLocalJarList():Unable to read " + jarsDir + " directory");
return null;
}
@@ -498,7 +492,7 @@
}
/**
- * Returns a list of the patch files stored in the ./patch directory.
+ * Returns a list of the patch files stored in the patch directory.
* A patch file name format is patch-<jar-file> e.g. patch-ds41.jar
*
* @return a hashtable of patchFile
@@ -531,7 +525,7 @@
/**
* Acquires the jar file from the remote http server and stores it in the local
- * jar directory, which is currently assumed to be ./jars. It will look in
+ * jar directory, which is currently assumed to be PREFERENCE_DIR/jars. It will look in
* the <baseURL>/java, followed by <baseURL>/java/jars and finally <baseURL>
* directory, and it will also attempt to retrieve any L10N supplements, if found.
*
@@ -557,7 +551,7 @@
for (int i=0; i < createdFiles.size(); i++) {
try {
String filename = (String)createdFiles.elementAt(i);
- File f = new File("jars/" + filename);
+ File f = new File(jarsDir + filename);
boolean deleted = f.delete();
if (deleted) {
Debug.println(1, debugTag + " Cleanup: removed " + f);
@@ -750,13 +744,12 @@
Thread.currentThread().sleep(20);
}
- String jarPath = "jars";
- File f = new File(jarPath);
+ File f = new File(jarsDir);
if (!f.exists())
f.mkdir();
FileOutputStream fos =
- new FileOutputStream(jarPath + "/" + filename);
+ new FileOutputStream(jarsDir + filename);
AsyncByteArrayInputStream ais = (AsyncByteArrayInputStream) is;
fos.write(ais.getBuf(), 0, ais.size());
fos.close();
@@ -811,7 +804,7 @@
Vector jars = new Vector();
try {
- f = new ZipFile("jars/" + mainJar);
+ f = new ZipFile(jarsDir + mainJar);
ZipEntry e = f.getEntry(MANIFEST_FILE_NAME);
String jarname, compList = null;
@@ -981,7 +974,7 @@
}
/**
- * Parse all jars in java/jars for 'backward-compatible'
+ * Parse all jars in jarsDir for 'backward-compatible'
* directive in the manifest file
*/
public static void parseAllJars(Hashtable table, String[] jars) {
@@ -989,7 +982,7 @@
return;
for (int i = 0; i < jars.length; i++) {
try {
- ZipFile f = new ZipFile("jars/" + jars[i]);
+ ZipFile f = new ZipFile(LocalJarClassLoader.jarsDir + jars[i]);
ZipEntry e = f.getEntry(
LocalJarClassLoader.MANIFEST_FILE_NAME);
if (e == null) {
@@ -1023,7 +1016,7 @@
}
} catch (Exception ex) {
Debug.println(0,
- debugTag + " error process manifest for jars/" +
+ debugTag + " error process manifest for " + LocalJarClassLoader.jarsDir +
jars[i] + " " + ex);
continue;
}
18 years, 3 months
[Fedora-directory-commits] console/src/com/netscape/management/client/topology ServerNode.java, 1.1.1.1, 1.2
by Doctor Conrad
Author: nkinder
Update of /cvs/dirsec/console/src/com/netscape/management/client/topology
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv22252/src/com/netscape/management/client/topology
Modified Files:
ServerNode.java
Log Message:
173947 - Added ability to build a Console RPM. The layout of Console can now be distributed inside system locations instead of being self-contained.
Index: ServerNode.java
===================================================================
RCS file: /cvs/dirsec/console/src/com/netscape/management/client/topology/ServerNode.java,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -r1.1.1.1 -r1.2
--- ServerNode.java 18 Jul 2005 00:34:19 -0000 1.1.1.1
+++ ServerNode.java 29 Nov 2005 18:37:12 -0000 1.2
@@ -154,7 +154,7 @@
else
{
// Try to present server object in the topology without creating the
- // object instance. Look for the cached server icon in jars/<jarName>.icon file.
+ // object instance. Look for the cached server icon in <jarName>.icon file.
String jarName = getJARClassName(ldc, serverDN);
/* Serializing the icon to cache it no longer seems to be
* working correctly. We will instantiate the server now
@@ -165,7 +165,7 @@
{
jarBaseName = jarName.substring(0, jarName.indexOf('.'));
}
- cacheIconPath = "jars/" + jarBaseName + ".icon";
+ cacheIconPath = LocalJarClassLoader.jarsDir + jarBaseName + ".icon";
ImageIcon icon = (ImageIcon)getIconFromCache(cacheIconPath);
if (icon != null)
{
18 years, 3 months
[Fedora-directory-commits] console/src/com/netscape/management/client/security CertRequestWizard.java, 1.1.1.1, 1.2
by Doctor Conrad
Author: nkinder
Update of /cvs/dirsec/console/src/com/netscape/management/client/security
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv22252/src/com/netscape/management/client/security
Modified Files:
CertRequestWizard.java
Log Message:
173947 - Added ability to build a Console RPM. The layout of Console can now be distributed inside system locations instead of being self-contained.
Index: CertRequestWizard.java
===================================================================
RCS file: /cvs/dirsec/console/src/com/netscape/management/client/security/CertRequestWizard.java,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -r1.1.1.1 -r1.2
--- CertRequestWizard.java 18 Jul 2005 00:34:16 -0000 1.1.1.1
+++ CertRequestWizard.java 29 Nov 2005 18:37:06 -0000 1.2
@@ -40,7 +40,6 @@
import com.netscape.management.client.util.Help;
import com.netscape.management.client.util.Browser;
import com.netscape.management.nmclf.*;
-
import com.netscape.management.client.security.csr.*;
import com.netscape.management.client.preferences.*;
import netscape.ldap.*;
@@ -62,7 +61,9 @@
IDataCollectionModel dataCollectionModel = new WizardDataCollectionModel();
final String PLUGIN_ID = "PLUGIN_ID";
- final String PLUGIN_DIR = "./caplugin";
+ final String PLUGIN_DIR = Console.PREFERENCE_DIR + "caplugin" + File.separator;
+ final String DEFAULT_PLUGIN_CLASS = "com.netscape.management.client.security.csr.DefaultPlugin.class";
+ final String DEFAULT_PLUGIN_DESC = "Manual Cert Request Plugin";
PluginWizardPage pwdPage = null;
PluginWizardPage endSequence = null;
@@ -379,6 +380,16 @@
//construct plugin list
Vector caList = new Vector();
File f = new File(PLUGIN_DIR);
+
+ // Load the default plugin
+ defaultPlugin = new PluginItem(DEFAULT_PLUGIN_CLASS, DEFAULT_PLUGIN_DESC,
+ "", null , "", null);
+
+ // Check if caplugin directory exists
+ if (!f.exists())
+ f.mkdir();
+
+ // Check for additional plugins
File[] fList = f.listFiles(this);
for (int i=0; i<fList.length; i++) {
// load jar file and extract all the information
@@ -417,10 +428,11 @@
}
}
- Debug.println(jarFilename);
- Debug.println(attr.getValue("Description"));
- Debug.println(attr.getValue("UpdateURL"));
- Debug.println(attr.getValue("UserURL"));
+ Debug.println("Plugin Jar: " + jarFilename);
+ Debug.println("Class Name: " + className);
+ Debug.println("Description: " + attr.getValue("Description"));
+ Debug.println("Update URL: " + attr.getValue("UpdateURL"));
+ Debug.println("User URL: " + attr.getValue("UserURL"));
PluginItem tmp = new PluginItem(className,
attr.getValue("Description"),
@@ -428,11 +440,7 @@
imageData,
attr.getValue("UserURL"),
jarFilename);
- if (fList[i].getName().equals("default.jar")) {
- defaultPlugin = tmp;
- } else {
- caList.addElement(tmp);
- }
+ caList.addElement(tmp);
}
} catch (Exception ee) {
SecurityUtil.printException("CertRequestWizard::CAPlugin::CAPlugin()",ee);
@@ -510,9 +518,14 @@
String className = selectedPlugin._className.substring(0, selectedPlugin._className.indexOf(".class"));
try {
-
- LocalJarClassLoader loader = new LocalJarClassLoader(selectedPlugin._jarFilename);
- Class myClass = loader.loadClass(className);
+ Class myClass;
+ // If this is the default plugin, just load the class directly
+ if (defaultPluginUsed) {
+ myClass = Class.forName(className);
+ } else {
+ LocalJarClassLoader loader = new LocalJarClassLoader(selectedPlugin._jarFilename);
+ myClass = loader.loadClass(className);
+ }
ic = (ICAPlugin)(myClass.newInstance());
18 years, 3 months
[Fedora-directory-commits] console/src/com/netscape/management/client/preferences FilePreferenceManager.java, 1.1.1.1, 1.2
by Doctor Conrad
Author: nkinder
Update of /cvs/dirsec/console/src/com/netscape/management/client/preferences
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv22252/src/com/netscape/management/client/preferences
Modified Files:
FilePreferenceManager.java
Log Message:
173947 - Added ability to build a Console RPM. The layout of Console can now be distributed inside system locations instead of being self-contained.
Index: FilePreferenceManager.java
===================================================================
RCS file: /cvs/dirsec/console/src/com/netscape/management/client/preferences/FilePreferenceManager.java,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -r1.1.1.1 -r1.2
--- FilePreferenceManager.java 18 Jul 2005 00:34:15 -0000 1.1.1.1
+++ FilePreferenceManager.java 29 Nov 2005 18:37:01 -0000 1.2
@@ -32,7 +32,6 @@
* @author ahakim(a)netscape.com
*/
public class FilePreferenceManager extends PreferenceManager {
- private static String PREFERENCES_FOLDER = ".mcc";
private static String FILE_SEPARATOR = ".";
private static String FILE_SUFFIX = ".preferences";
private Hashtable _prefTable = new Hashtable();
@@ -46,21 +45,16 @@
public static String getHomePath() {
String homePath = null;
Properties p = System.getProperties();
- homePath = (String) p.get("user.home");
- if (homePath == null)
- homePath = ".";
- String prefPath = homePath + "/"+PREFERENCES_FOLDER;
-
- File f = new File(prefPath);
+ File f = new File(Console.PREFERENCE_DIR);
if (!f.exists())
f.mkdir();
if (!f.exists()) {
- Debug.println("error: cannot create/access" + prefPath);
- return homePath;
+ Debug.println("error: cannot create/access" + Console.PREFERENCE_DIR);
+ return ".";
}
- return prefPath;
+ return Console.PREFERENCE_DIR;
}
18 years, 3 months
[Fedora-directory-commits] console/src/com/netscape/management/client/console Console.java, 1.2, 1.3
by Doctor Conrad
Author: nkinder
Update of /cvs/dirsec/console/src/com/netscape/management/client/console
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv22252/src/com/netscape/management/client/console
Modified Files:
Console.java
Log Message:
173947 - Added ability to build a Console RPM. The layout of Console can now be distributed inside system locations instead of being self-contained.
Index: Console.java
===================================================================
RCS file: /cvs/dirsec/console/src/com/netscape/management/client/console/Console.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- Console.java 26 Oct 2005 23:16:23 -0000 1.2
+++ Console.java 29 Nov 2005 18:36:56 -0000 1.3
@@ -70,6 +70,9 @@
public static final String PREFERENCE_X = "X";
public static final String PREFERENCE_Y = "Y";
+ public static final String PREFERENCE_DIR = System.getProperty("user.home") + File.separator +
+ ".fedora-console" + File.separator;
+
public static final String OPTION_NOWINPOS = "nowinpos";
public static final String OPTION_NOLOGO = "nologo";
public static final String OPTION_JAVALAF = "javalaf";
18 years, 3 months
[Fedora-directory-commits] console fedora-console.spec, NONE, 1.1 startconsole-sandbox, NONE, 1.1 build.properties, 1.6, 1.7 build.xml, 1.7, 1.8 imports.FC2, 1.1.1.1, 1.2 imports.FC3, 1.1.1.1, 1.2 imports.HP-UX11i, 1.1.1.1, 1.2 imports.Solaris9, 1.1.1.1, 1.2 startconsole, 1.4, 1.5
by Doctor Conrad
Author: nkinder
Update of /cvs/dirsec/console
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv22252
Modified Files:
build.properties build.xml imports.FC2 imports.FC3
imports.HP-UX11i imports.Solaris9 startconsole
Added Files:
fedora-console.spec startconsole-sandbox
Log Message:
173947 - Added ability to build a Console RPM. The layout of Console can now be distributed inside system locations instead of being self-contained.
--- NEW FILE fedora-console.spec ---
Name: fedora-console
Version: 1.0
Release: 1
Group: Applications
Vendor: Fedora Project
URL: http://directory.fedora.redhat.com
License: LGPL
Packager: Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
Summary: Fedora Management Console
BuildRoot: %{_tmppath}/%{name}-%{version}-root
Source: %{name}-%{version}.tar.gz
Autoreq: 0
AutoReqProv: no
Requires: ldapjdk >= 4.17, jss >= 3.6
BuildPreReq: ldapjdk >= 4.17, jss >= 3.6
%description
A Java based remote management console used for Managing Fedora
Administration Server and Fedora Directory Server.
# prep and setup expect there to be a Source file
# in the /usr/src/redhat/SOURCES directory - it will be unpacked
# in the _builddir (not BuildRoot)
%prep
%setup -q
%build
cd console
ant
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT/usr/share/java
install -m777 built/release/jars/fedora-* $RPM_BUILD_ROOT/usr/share/java
install -d $RPM_BUILD_ROOT/usr/bin
install -m777 console/startconsole $RPM_BUILD_ROOT/usr/bin
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root)
/usr/share/java/fedora-base-%{version}.jar
/usr/share/java/fedora-mcc-%{version}.jar
/usr/share/java/fedora-mcc-%{version}_en.jar
/usr/share/java/fedora-nmclf-%{version}.jar
/usr/share/java/fedora-nmclf-%{version}_en.jar
/usr/bin/startconsole
%post
cd /usr/share/java
ln -s fedora-base-%{version}.jar fedora-base.jar
ln -s fedora-mcc-%{version}.jar fedora-mcc.jar
ln -s fedora-mcc-%{version}_en.jar fedora-mcc_en.jar
ln -s fedora-nmclf-%{version}.jar fedora-nmclf.jar
ln -s fedora-nmclf-%{version}_en.jar fedora-nmclf_en.jar
%preun
rm -rf /usr/share/java/fedora-base.jar
rm -rf /usr/share/java/fedora-mcc.jar
rm -rf /usr/share/java/fedora-mcc_en.jar
rm -rf /usr/share/java/fedora-nmclf.jar
rm -rf /usr/share/java/fedora-nmclf_en.jar
%changelog
* Mon Nov 14 2005 Nathan Kinder <nkinder(a)redhat.com> 1.0-1
- Initial creation
--- NEW FILE startconsole-sandbox ---
#!/bin/sh
#
# BEGIN COPYRIGHT BLOCK
# Copyright (C) 2005 Red Hat, Inc.
# All rights reserved.
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation version
# 2.1 of the License.
#
# This library 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
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
# END COPYRIGHT BLOCK
JAVA=`which java`
if [ -z "$JAVA" -o ! -x "$JAVA" ]
then
echo "$0: The java program is not in your path, or is not executable.";
exit 1
fi
#
# Launch the Console
#
java -ms8m -mx64m -cp ./java/jss3.jar:./java/ldapjdk.jar:./java/fedora-base-1.0.jar:./java/fedora-mcc-1.0.jar:./java/fedora-mcc-1.0_en.jar:./java/fedora-nmclf-1.0.jar:./java/fedora-nmclf-1.0_en.jar -Djava.library.path=./lib -Djava.util.prefs.systemRoot="$HOME/.fedora-console" -Djava.util.prefs.userRoot="$HOME/.fedora-console" com.netscape.management.client.console.Console $*
Index: build.properties
===================================================================
RCS file: /cvs/dirsec/console/build.properties,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- build.properties 26 Oct 2005 23:16:14 -0000 1.6
+++ build.properties 29 Nov 2005 18:36:50 -0000 1.7
@@ -25,8 +25,11 @@
console.version=10
console.dotversion=1.0
-mcc.core=mcc
-mcc.name=${mcc.core}${console.version}
+mcc.core=fedora-mcc
+mcc.name=${mcc.core}-${console.dotversion}
-nmclf.core=nmclf
-nmclf.name=${nmclf.core}${console.version}
+nmclf.core=fedora-nmclf
+nmclf.name=${nmclf.core}-${console.dotversion}
+
+base.core=fedora-base
+base.name=${base.core}-${console.dotversion}
Index: build.xml
===================================================================
RCS file: /cvs/dirsec/console/build.xml,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- build.xml 25 Oct 2005 17:30:46 -0000 1.7
+++ build.xml 29 Nov 2005 18:36:50 -0000 1.8
@@ -19,58 +19,43 @@
END COPYRIGHT BLOCK
-->
-<project name="console" default="dist" basedir=".">
+<project name="console" default="build_jars" basedir=".">
<!-- Load properties -->
<property file="build.properties"/>
<!-- Paths -->
- <property name="built.dir" value="${console.root}/../built"/>
- <property name="package.dir" value="${built.dir}/package"/>
- <property name="lib.dir" value="${package.dir}/lib"/>
- <property name="dist.dir" value="${package.dir}/java"/>
- <property name="caplugin.dir" value="${dist.dir}/caplugin"/>
- <property name="jars.dir" value="${dist.dir}/jars"/>
- <property name="built.classdir" value="${built.dir}/classes"/>
- <property name="javadoc.dir" value="${built.dir}/doc"/>
- <property name="imports.dir" value="${console.root}/../imports"/>
- <property name="java.src.dir" value="src"/>
+ <property name="built.dir" value="${console.root}/../built"/>
+ <property name="built.classdir" value="${built.dir}/classes"/>
+ <property name="release.dir" value="${built.dir}/release"/>
+ <property name="built.jardir" value="${release.dir}/jars"/>
+ <property name="package.dir" value="${release.dir}/package"/>
+ <property name="dist.dir" value="${release.dir}/dist"/>
+ <property name="lib.dir" value="${package.dir}/lib"/>
+ <property name="java.dir" value="${package.dir}/java"/>
+ <property name="javadoc.dir" value="${built.dir}/doc"/>
+ <property name="imports.dir" value="${console.root}/../imports"/>
+ <property name="java.src.dir" value="src"/>
<!-- Prepare -->
- <target name="prepare_build">
+ <target name="prepare_build" depends="prepare_imports">
<!-- Create directories -->
<mkdir dir="${built.classdir}"/>
- <mkdir dir="${imports.dir}"/>
- <!-- Load imports file -->
- <input
- message="An imports file must be specified. Enter the imports file that you want to use:"
- addproperty="imports.file"
- defaultvalue="imports"
- />
- <fail message="Imports file does not exist. (${imports.file})">
- <condition>
- <not>
- <available file="${imports.file}"/>
- </not>
- </condition>
- </fail>
- <property file="${imports.file}"/>
-
- <!-- Check if components exist -->
- <available file="${imports.dir}/ldapjdk/${ldapjdk.import}" property="ldapjdk.import.exists"/>
- <available file="${imports.dir}/jss/${jss.jar.import}" property="jss.jar.import.exists"/>
- <available file="${imports.dir}/jss/${jss.lib.import}" property="jss.lib.import.exists"/>
- <available file="${imports.dir}/nss/${nss.import}" property="nss.import.exists"/>
- <available file="${imports.dir}/nspr/${nspr.import}" property="nspr.import.exists"/>
+ <!-- Override these properties to use components from other system locations -->
+ <property name="ldapjdk.local.location" value="/usr/share/java"/>
+ <property name="jss.local.location" value="/usr/share/java"/>
+ <property name="jsslib.local.location" value="/usr/lib"/>
+ <property name="nss.local.location" value="/usr/lib"/>
+ <property name="nspr.local.location" value="/usr/lib"/>
<!-- Construct classpath -->
<path id="console.classpath">
- <pathelement location="${imports.dir}/ldapjdk/${ldapjdk.import}"/>
- <pathelement location="${imports.dir}/jss/${jss.jar.import}"/>
+ <pathelement location="${ldapjdk.local.location}/ldapjdk.jar"/>
+ <pathelement location="${jss.local.location}/jss3.jar"/>
</path>
<!-- Generate version property file -->
- <exec executable="${console.root}/buildnum.pl" vmlauncher="true">
+ <exec executable="${console.root}/buildnum.pl" vmlauncher="true">
<arg line="-p ${built.dir}"/>
</exec>
@@ -81,11 +66,44 @@
</exec>
</target>
- <target name="prepare_dist">
+ <target name="prepare_imports" if="imports.file">
+ <mkdir dir="${imports.dir}"/>
+
+ <!-- Load imports file -->
+ <fail message="Imports file does not exist. (${imports.file})">
+ <condition>
+ <not>
+ <available file="${imports.file}"/>
+ </not>
+ </condition>
+ </fail>
+ <property file="${imports.file}"/>
+
+ <!-- Set local component locations -->
+ <property name="ldapjdk.local.location" value="${imports.dir}/ldapjdk"/>
+ <property name="jss.local.location" value="${imports.dir}/jss"/>
+ <property name="jsslib.local.location" value="${imports.dir}/jss/lib"/>
+ <property name="nss.local.location" value="${imports.dir}/nss/lib"/>
+ <property name="nspr.local.location" value="${imports.dir}/nspr/lib"/>
+
+ <!-- Check if components exist -->
+ <available file="${imports.dir}/ldapjdk/${ldapjdk.import}" property="ldapjdk.import.exists"/>
+ <available file="${imports.dir}/jss/${jss.jar.import}" property="jss.jar.import.exists"/>
+ <available file="${imports.dir}/jss/${jss.lib.import}" property="jss.lib.import.exists"/>
+ <available file="${imports.dir}/nss/${nss.import}" property="nss.import.exists"/>
+ <available file="${imports.dir}/nspr/${nspr.import}" property="nspr.import.exists"/>
+ </target>
+
+ <target name="prepare_jars">
+ <!-- Create directories -->
+ <mkdir dir="${package.dir}"/>
+ <mkdir dir="${built.jardir}"/>
+ </target>
+
+ <target name="prepare_package">
<!-- Create directories -->
<mkdir dir="${lib.dir}"/>
- <mkdir dir="${caplugin.dir}"/>
- <mkdir dir="${jars.dir}"/>
+ <mkdir dir="${dist.dir}"/>
</target>
<target name="prepare_doc">
@@ -94,33 +112,34 @@
</target>
<!-- Imports -->
- <target name="import_ldapjdk" depends="prepare_build" unless="ldapjdk.import.exists">
+ <target name="import_ldapjdk" depends="prepare_imports" if="imports.file" unless="ldapjdk.import.exists">
<mkdir dir="${imports.dir}/ldapjdk"/>
<get src="${ldapjdk.location}/${ldapjdk.import}"
dest="${imports.dir}/ldapjdk/${ldapjdk.import}"/>
</target>
- <target name="import_jss_jar" depends="prepare_build" unless="jss.jar.import.exists">
+ <target name="import_jss_jar" depends="prepare_imports" if="imports.file" unless="jss.jar.import.exists">
<mkdir dir="${imports.dir}/jss"/>
<get src="${jss.jar.location}/${jss.jar.import}"
dest="${imports.dir}/jss/${jss.jar.import}"/>
+ <copy file="${imports.dir}/jss/${jss.jar.import}" tofile="${imports.dir}/jss/jss3.jar"/>
</target>
- <target name="import_jss_lib" depends="prepare_build" unless="jss.lib.import.exists">
- <mkdir dir="${imports.dir}/jss"/>
- <get src="${jss.lib.location}/${jss.lib.import}"
- dest="${imports.dir}/jss/${jss.lib.import}"/>
- <unjar src="${imports.dir}/jss/${jss.lib.import}" dest="${imports.dir}/jss"/>
+ <target name="import_jss_lib" depends="prepare_imports" if="imports.file" unless="jss.lib.import.exists">
+ <mkdir dir="${imports.dir}/jss"/>
+ <get src="${jss.lib.location}/${jss.lib.import}"
+ dest="${imports.dir}/jss/${jss.lib.import}"/>
+ <unjar src="${imports.dir}/jss/${jss.lib.import}" dest="${imports.dir}/jss"/>
</target>
- <target name="import_nss_lib" depends="prepare_build" unless="nss.import.exists">
+ <target name="import_nss_lib" depends="prepare_imports" if="imports.file" unless="nss.import.exists">
<mkdir dir="${imports.dir}/nss"/>
<get src="${nss.location}/${nss.import}"
dest="${imports.dir}/nss/${nss.import}"/>
<unjar src="${imports.dir}/nss/${nss.import}" dest="${imports.dir}/nss"/>
</target>
- <target name="import_nspr_lib" depends="prepare_build" unless="nspr.import.exists">
+ <target name="import_nspr_lib" depends="prepare_imports" if="imports.file" unless="nspr.import.exists">
<mkdir dir="${imports.dir}/nspr"/>
<get src="${nspr.location}/${nspr.import}"
dest="${imports.dir}/nspr/${nspr.import}"/>
@@ -128,7 +147,25 @@
</target>
<!-- Build -->
- <target name="build" depends="import_ldapjdk,import_jss_jar">
+ <target name="build" depends="prepare_build, import_ldapjdk, import_jss_jar">
+ <!-- Verify that the required jars exist -->
+ <fail message="LDAP JDK (ldapjdk.jar) does not exist in ${ldapjdk.local.location}">
+ Please set the correct location with -Dldapjdk.local.location=[path]
+ <condition>
+ <not>
+ <available file="${ldapjdk.local.location}/ldapjdk.jar"/>
+ </not>
+ </condition>
+ </fail>
+ <fail message="JSS (jss3.jar) does not exist in ${jss.local.location}">
+ Please set the correct location with -Djss.local.location=[path]
+ <condition>
+ <not>
+ <available file="${jss.local.location}/jss3.jar"/>
+ </not>
+ </condition>
+ </fail>
+
<!-- compile regular java code -->
<javac srcdir="${java.src.dir}"
destdir="${built.classdir}"
@@ -142,10 +179,10 @@
</javac>
</target>
- <!-- Dist -->
- <target name="dist" depends="build,prepare_dist,import_jss_lib,import_nss_lib,import_nspr_lib">
+ <!-- Package -->
+ <target name="build_jars" depends="build,prepare_jars">
<!-- Create jar files -->
- <jar jarfile="${dist.dir}/${mcc.name}.jar" >
+ <jar jarfile="${built.jardir}/${mcc.name}.jar" >
<fileset dir="${built.classdir}">
<include name="com/netscape/management/client/**/*.class" />
<include name="sun/net/www/protocol/https/**/*.class" />
@@ -168,26 +205,26 @@
<exclude name="com/netscape/management/client/console/VersionInfo.class"/>
</fileset>
</jar>
- <jar jarfile="${dist.dir}/${mcc.name}_${lang}.jar" >
+ <jar jarfile="${built.jardir}/${mcc.name}_${lang}.jar" >
<fileset dir="${java.src.dir}">
<include name="com/netscape/management/client/**/*.properties" />
<include name="com/netscape/management/client/**/*.gif" />
<include name="com/netscape/management/client/**/*.jpg" />
</fileset>
</jar>
- <jar jarfile="${dist.dir}/${nmclf.name}.jar" >
+ <jar jarfile="${built.jardir}/${nmclf.name}.jar" >
<fileset dir="${built.classdir}">
<include name="com/netscape/management/nmclf/**/*.class" />
</fileset>
</jar>
- <jar jarfile="${dist.dir}/${nmclf.name}_${lang}.jar" >
+ <jar jarfile="${built.jardir}/${nmclf.name}_${lang}.jar" >
<fileset dir="${java.src.dir}">
<include name="com/netscape/management/nmclf/**/*.properties" />
<include name="com/netscape/management/nmclf/**/*.gif" />
<include name="com/netscape/management/nmclf/**/*.jpg" />
</fileset>
</jar>
- <jar jarfile="${dist.dir}/base.jar" >
+ <jar jarfile="${built.jardir}/${base.name}.jar" >
<fileset dir="${built.classdir}">
<include name="com/netscape/management/client/topology/IServerObject.class"/>
<include name="com/netscape/management/client/topology/IRemovableServerObject.class"/>
@@ -208,30 +245,25 @@
<include name="com/netscape/management/client/console/VersionInfo.class"/>
</fileset>
</jar>
- <jar jarfile="${caplugin.dir}/default.jar" >
- <manifest>
- <section name="com.netscape.management.client.security.csr.DefaultPlugin.class">
- <attribute name="UserURL" value="http://fedora.redhat.com"/>
- <attribute name="UpdateURL" value="http://fedora.redhat.com"/>
- <attribute name="Description" value="Fedora"/>
- <attribute name="Icon" value="com/netscape/management/client/images/logo16.gif"/>
- </section>
- </manifest>
- <fileset dir="${built.classdir}">
- <include name="com/netscape/management/client/security/csr/DefaultPlugin.class"/>
- <include name="com/netscape/management/client/security/csr/CertRequestInfoPage.class"/>
- <include name="com/netscape/management/client/security/csr/CertRequestSubmissionPage.class"/>
- </fileset>
- </jar>
+ </target>
+
+ <!-- Package -->
+ <target name="package" depends="build_jars,prepare_package,import_jss_lib,import_nss_lib,import_nspr_lib">
+ <!-- Copy built jars to packaging area -->
+ <copy file="${built.jardir}/${mcc.name}.jar" todir="${java.dir}"/>
+ <copy file="${built.jardir}/${mcc.name}_${lang}.jar" todir="${java.dir}"/>
+ <copy file="${built.jardir}/${nmclf.name}.jar" todir="${java.dir}"/>
+ <copy file="${built.jardir}/${nmclf.name}_${lang}.jar" todir="${java.dir}"/>
+ <copy file="${built.jardir}/${base.name}.jar" todir="${java.dir}"/>
<!-- Copy components into packaging area -->
- <copy file="${imports.dir}/ldapjdk/${ldapjdk.import}" todir="${dist.dir}"/>
- <copy file="${imports.dir}/jss/${jss.jar.import}" tofile="${dist.dir}/jss3.jar"/>
+ <copy file="${ldapjdk.local.location}/ldapjdk.jar" todir="${java.dir}"/>
+ <copy file="${jss.local.location}/jss3.jar" todir="${java.dir}"/>
<copy todir="${lib.dir}">
- <fileset dir="${imports.dir}/jss/lib">
+ <fileset dir="${jsslib.local.location}">
<include name="libjss*"/>
</fileset>
- <fileset dir="${imports.dir}/nss/lib">
+ <fileset dir="${nss.local.location}">
<include name="libnss*"/>
<include name="libssl*"/>
<include name="libsmime*"/>
@@ -239,7 +271,7 @@
<exclude name="libnssckbi*"/>
<exclude name="lib*.a"/>
</fileset>
- <fileset dir="${imports.dir}/nspr/lib">
+ <fileset dir="${nspr.local.location}">
<include name="libnspr*"/>
<include name="libpl*"/>
<exclude name="lib*.a"/>
@@ -247,19 +279,19 @@
</copy>
<!-- Copy start script into packaging area -->
- <copy file="startconsole" todir="${package.dir}"/>
+ <copy file="startconsole-sandbox" tofile="${package.dir}/startconsole"/>
<chmod file="${package.dir}/startconsole" perm="755"/>
<!-- Create a bundle of the Console -->
- <tar destfile="${built.dir}/console${console.version}.tar.gz"
+ <tar destfile="${dist.dir}/fedora-console-${console.dotversion}.tar.gz"
compression="gzip">
<tarfileset dir="${package.dir}"
- prefix="console${console.version}"
+ prefix="fedora-console-${console.dotversion}"
mode="755">
<include name="startconsole"/>
</tarfileset>
<tarfileset dir="${package.dir}"
- prefix="console${console.version}">
+ prefix="fedora-console${console.dotversion}">
<include name="**"/>
<exclude name="startconsole"/>
</tarfileset>
Index: imports.FC2
===================================================================
RCS file: /cvs/dirsec/console/imports.FC2,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -r1.1.1.1 -r1.2
--- imports.FC2 18 Jul 2005 00:34:05 -0000 1.1.1.1
+++ imports.FC2 29 Nov 2005 18:36:50 -0000 1.2
@@ -24,17 +24,17 @@
ldapjdk.import=ldapjdk.jar
# Mozilla JSS Library
-jss.lib.location=http://directory.fedora.redhat.com/built/components/jss/JSS_3_5_1_RTM/RHEL3_x86_gcc3_OPT.OBJ
+jss.lib.location=http://directory.fedora.redhat.com/built/components/jss/JSS_3_7_RTM/RHEL3_x86_gcc3_OPT.OBJ
jss.lib.import=mdbinary.jar
# Mozilla JSS Jar
-jss.jar.location=http://directory.fedora.redhat.com/built/components/jss/JSS_3_5_1_RTM
+jss.jar.location=http://directory.fedora.redhat.com/built/components/jss/JSS_3_7_RTM
jss.jar.import=xpclass.jar
# Mozilla NSS Library
-nss.location=http://directory.fedora.redhat.com/built/components/nss/NSS_3_9_3_RTM/RHEL3_x86_gcc3_OPT.OBJ
+nss.location=http://directory.fedora.redhat.com/built/components/nss/NSS_3_10_2_RTM/RHEL3_x86_gcc3_OPT.OBJ
nss.import=mdbinary.jar
# Mozilla NSPR Library
-nspr.location=http://directory.fedora.redhat.com/built/components/nspr/v4.4.1/RHEL3_x86_gcc3_OPT.OBJ
+nspr.location=http://directory.fedora.redhat.com/built/components/nspr/v4.6/RHEL3_x86_gcc3_OPT.OBJ
nspr.import=mdbinary.jar
Index: imports.FC3
===================================================================
RCS file: /cvs/dirsec/console/imports.FC3,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -r1.1.1.1 -r1.2
--- imports.FC3 18 Jul 2005 00:34:05 -0000 1.1.1.1
+++ imports.FC3 29 Nov 2005 18:36:50 -0000 1.2
@@ -24,17 +24,17 @@
ldapjdk.import=ldapjdk.jar
# Mozilla JSS Library
-jss.lib.location=http://directory.fedora.redhat.com/built/components/jss/JSS_3_5_1_RTM/RHEL4_x86_gcc3_OPT.OBJ
+jss.lib.location=http://directory.fedora.redhat.com/built/components/jss/JSS_3_7_RTM/RHEL4_x86_gcc3_OPT.OBJ
jss.lib.import=mdbinary.jar
# Mozilla JSS Jar
-jss.jar.location=http://directory.fedora.redhat.com/built/components/jss/JSS_3_5_1_RTM
+jss.jar.location=http://directory.fedora.redhat.com/built/components/jss/JSS_3_7_RTM
jss.jar.import=xpclass.jar
# Mozilla NSS Library
-nss.location=http://directory.fedora.redhat.com/built/components/nss/NSS_3_9_3_RTM/RHEL4_x86_gcc3_OPT.OBJ
+nss.location=http://directory.fedora.redhat.com/built/components/nss/NSS_3_10_2_RTM/RHEL4_x86_gcc3_OPT.OBJ
nss.import=mdbinary.jar
# Mozilla NSPR Library
-nspr.location=http://directory.fedora.redhat.com/built/components/nspr/v4.4.1/RHEL4_x86_gcc3_OPT.OBJ
+nspr.location=http://directory.fedora.redhat.com/built/components/nspr/v4.6/RHEL4_x86_gcc3_OPT.OBJ
nspr.import=mdbinary.jar
Index: imports.HP-UX11i
===================================================================
RCS file: /cvs/dirsec/console/imports.HP-UX11i,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -r1.1.1.1 -r1.2
--- imports.HP-UX11i 18 Jul 2005 00:34:05 -0000 1.1.1.1
+++ imports.HP-UX11i 29 Nov 2005 18:36:50 -0000 1.2
@@ -24,17 +24,17 @@
ldapjdk.import=ldapjdk.jar
# Mozilla JSS Library
-jss.lib.location=http://directory.fedora.redhat.com/built/components/jss/JSS_3_5_1_RTM/HP-UXB.11.11_OPT.OBJ
+jss.lib.location=http://directory.fedora.redhat.com/built/components/jss/JSS_3_7_RTM/HP-UXB.11.11_OPT.OBJ
jss.lib.import=mdbinary.jar
# Mozilla JSS Jar
-jss.jar.location=http://directory.fedora.redhat.com/built/components/jss/JSS_3_5_1_RTM
+jss.jar.location=http://directory.fedora.redhat.com/built/components/jss/JSS_3_7_RTM
jss.jar.import=xpclass.jar
# Mozilla NSS Library
-nss.location=http://directory.fedora.redhat.com/built/components/nss/NSS_3_9_3_RTM/HP-UXB.11.11_OPT.OBJ
+nss.location=http://directory.fedora.redhat.com/built/components/nss/NSS_3_10_2_RTM/HP-UXB.11.11_OPT.OBJ
nss.import=mdbinary.jar
# Mozilla NSPR Library
-nspr.location=http://directory.fedora.redhat.com/built/components/nspr/v4.4.1/HP-UXB.11.11_OPT.OBJ
+nspr.location=http://directory.fedora.redhat.com/built/components/nspr/v4.6/HP-UXB.11.11_OPT.OBJ
nspr.import=mdbinary.jar
Index: imports.Solaris9
===================================================================
RCS file: /cvs/dirsec/console/imports.Solaris9,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -r1.1.1.1 -r1.2
--- imports.Solaris9 18 Jul 2005 00:34:05 -0000 1.1.1.1
+++ imports.Solaris9 29 Nov 2005 18:36:50 -0000 1.2
@@ -24,17 +24,17 @@
ldapjdk.import=ldapjdk.jar
# Mozilla JSS Library
-jss.lib.location=http://directory.fedora.redhat.com/built/components/jss/JSS_3_5_1_RTM/SunOS5.9_OPT.OBJ
+jss.lib.location=http://directory.fedora.redhat.com/built/components/jss/JSS_3_7_RTM/SunOS5.9_OPT.OBJ
jss.lib.import=mdbinary.jar
# Mozilla JSS Jar
-jss.jar.location=http://directory.fedora.redhat.com/built/components/jss/JSS_3_5_1_RTM
+jss.jar.location=http://directory.fedora.redhat.com/built/components/jss/JSS_3_7_RTM
jss.jar.import=xpclass.jar
# Mozilla NSS Library
-nss.location=http://directory.fedora.redhat.com/built/components/nss/NSS_3_9_3_RTM/SunOS5.9_OPT.OBJ
+nss.location=http://directory.fedora.redhat.com/built/components/nss/NSS_3_10_2_RTM/SunOS5.9_OPT.OBJ
nss.import=mdbinary.jar
# Mozilla NSPR Library
-nspr.location=http://directory.fedora.redhat.com/built/components/nspr/v4.4.1/SunOS5.9_OPT.OBJ
+nspr.location=http://directory.fedora.redhat.com/built/components/nspr/v4.6/SunOS5.9_OPT.OBJ
nspr.import=mdbinary.jar
Index: startconsole
===================================================================
RCS file: /cvs/dirsec/console/startconsole,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- startconsole 26 Oct 2005 23:16:14 -0000 1.4
+++ startconsole 29 Nov 2005 18:36:50 -0000 1.5
@@ -19,51 +19,14 @@
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
# END COPYRIGHT BLOCK
-#
-# Check if JAVA_HOME is set
-#
-if [ -z "$JAVA_HOME" ]
-then
- echo "$0: Your JAVA_HOME environment variable is not set. Please set it appropriately."
- exit 1
-fi
-
-#
-# Make sure java exists and is executable
-#
-if [ ! -f java -a ! -x java ]
-then
- echo "$0: The java program is not in your path, or is not executable."
- exit 1
-fi
-
-#
-# See if libjava and libjvm exist, and set the lib path. These are linked to by JSS.
-#
-LIBJAVA_DIR=`find $JAVA_HOME -name libjava\.s[ol] | sed 's/\/libjava\.s.$//'`
-LIBJVM_DIR=`find $JAVA_HOME -name libjvm\.s[ol] | sed 's/\/libjvm\.s.$//'`
-
-if [ -z "$LIBJAVA_DIR" -a -z "$LIBJVM_DIR" ]
+JAVA=`which java`
+if [ -z "$JAVA" -o ! -x "$JAVA" ]
then
- echo "$0: Unable to find libjava and libjvm in JAVA_HOME. Please ensure that JAVA_HOME is set correctly."
+ echo "$0: The java program is not in your path, or is not executable.";
exit 1
-else
- if [ "$LIBJAVA_DIR" = "$LIBJVM_DIR" ]
- then
- LD_LIBRARY_PATH="$LIBJAVA_DIR"
- SHLIB_PATH="$LIBJAVA_DIR"
- DYLD_PATH="$LIBJAVA_DIR"
- else
- LD_LIBRARY_PATH="$LIBJAVA_DIR:$LIBJVM_DIR"
- SHLIB_PATH="$LIBJAVA_DIR:$LIBJVM_DIR"
- DYLD_PATH="$LIBJAVA_DIR:$LIBJVM_DIR"
- fi
- export LD_LIBRARY_PATH
- export SHLIB_PATH
- export DYLD_PATH
fi
#
# Launch the Console
#
-cd java; $JAVA_HOME/bin/java -ms8m -mx64m -cp .:./base.jar:./mcc10_en.jar:./jss3.jar:./ldapjdk.jar:./mcc10.jar:./nmclf10_en.jar:./nmclf10.jar -Djava.library.path=../lib -Djava.util.prefs.systemRoot=. -Djava.util.prefs.userRoot=. com.netscape.management.client.console.Console $*
+java -ms8m -mx64m -cp /usr/share/java/jss3.jar:/usr/share/java/ldapjdk.jar:/usr/share/java/fedora-base-1.0.jar:/usr/share/java/fedora-mcc-1.0.jar:/usr/share/java/fedora-mcc-1.0_en.jar:/usr/share/java/fedora-nmclf-1.0.jar:/usr/share/java/fedora-nmclf-1.0_en.jar -Djava.library.path=/usr/lib -Djava.util.prefs.systemRoot="$HOME/.fedora-console" -Djava.util.prefs.userRoot="$HOME/.fedora-console" com.netscape.management.client.console.Console $*
18 years, 3 months
[Fedora-directory-commits] ldapserver/ldap/servers/slapd config.c, 1.5, 1.6
by Doctor Conrad
Author: nhosoi
Update of /cvs/dirsec/ldapserver/ldap/servers/slapd
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv14517
Modified Files:
config.c
Log Message:
[173687] deadlock caused by error log rotation and logging
need to set localuser before creating/opening error log.
Index: config.c
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/servers/slapd/config.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- config.c 19 Apr 2005 22:07:36 -0000 1.5
+++ config.c 24 Nov 2005 01:39:44 -0000 1.6
@@ -222,12 +222,14 @@
char loglevel[BUFSIZ];
char maxdescriptors[BUFSIZ];
char val[BUFSIZ];
+ char _localuser[BUFSIZ];
char logenabled[BUFSIZ];
char schemacheck[BUFSIZ];
Slapi_DN plug_dn;
errorlog[0] = loglevel[0] = maxdescriptors[0] = '\0';
val[0] = logenabled[0] = schemacheck[0] = '\0';
+ _localuser[0] = '\0';
/* Convert LDIF to entry structures */
slapi_sdn_init_dn_byref(&plug_dn, PLUGIN_BASE_DN);
@@ -283,6 +285,21 @@
}
}
+#ifndef _WIN32
+ /* set the local user name; needed to set up error log */
+ if (!_localuser[0] &&
+ entry_has_attr_and_value(e, CONFIG_LOCALUSER_ATTRIBUTE,
+ _localuser, sizeof(_localuser)))
+ {
+ if (config_set_localuser(CONFIG_LOCALUSER_ATTRIBUTE,
+ _localuser, errorbuf, CONFIG_APPLY) != LDAP_SUCCESS)
+ {
+ LDAPDebug(LDAP_DEBUG_ANY, "%s: %s: %s. \n", configfile,
+ CONFIG_LOCALUSER_ATTRIBUTE, errorbuf);
+ }
+ }
+#endif
+
/* set the log file name */
if (!errorlog[0] &&
entry_has_attr_and_value(e, CONFIG_ERRORLOG_ATTRIBUTE,
@@ -295,7 +312,6 @@
CONFIG_ERRORLOG_ATTRIBUTE, errorbuf);
}
}
-
/* set the error log level */
if (!loglevel[0] &&
entry_has_attr_and_value(e, CONFIG_LOGLEVEL_ATTRIBUTE,
18 years, 4 months
[Fedora-directory-commits] ldapserver/ldap/servers/slapd config.c, 1.5, 1.5.2.1
by Doctor Conrad
Author: nhosoi
Update of /cvs/dirsec/ldapserver/ldap/servers/slapd
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv14488
Modified Files:
Tag: Directory71RtmBranch
config.c
Log Message:
[173687] deadlock caused by error log rotation and logging
need to set localuser before creating/opening error log.
Index: config.c
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/servers/slapd/config.c,v
retrieving revision 1.5
retrieving revision 1.5.2.1
diff -u -r1.5 -r1.5.2.1
--- config.c 19 Apr 2005 22:07:36 -0000 1.5
+++ config.c 24 Nov 2005 01:38:35 -0000 1.5.2.1
@@ -222,12 +222,14 @@
char loglevel[BUFSIZ];
char maxdescriptors[BUFSIZ];
char val[BUFSIZ];
+ char _localuser[BUFSIZ];
char logenabled[BUFSIZ];
char schemacheck[BUFSIZ];
Slapi_DN plug_dn;
errorlog[0] = loglevel[0] = maxdescriptors[0] = '\0';
val[0] = logenabled[0] = schemacheck[0] = '\0';
+ _localuser[0] = '\0';
/* Convert LDIF to entry structures */
slapi_sdn_init_dn_byref(&plug_dn, PLUGIN_BASE_DN);
@@ -283,6 +285,21 @@
}
}
+#ifndef _WIN32
+ /* set the local user name; needed to set up error log */
+ if (!_localuser[0] &&
+ entry_has_attr_and_value(e, CONFIG_LOCALUSER_ATTRIBUTE,
+ _localuser, sizeof(_localuser)))
+ {
+ if (config_set_localuser(CONFIG_LOCALUSER_ATTRIBUTE,
+ _localuser, errorbuf, CONFIG_APPLY) != LDAP_SUCCESS)
+ {
+ LDAPDebug(LDAP_DEBUG_ANY, "%s: %s: %s. \n", configfile,
+ CONFIG_LOCALUSER_ATTRIBUTE, errorbuf);
+ }
+ }
+#endif
+
/* set the log file name */
if (!errorlog[0] &&
entry_has_attr_and_value(e, CONFIG_ERRORLOG_ATTRIBUTE,
18 years, 4 months
[Fedora-directory-commits] ldapserver/ldap/servers/slapd log.c, 1.6, 1.7 main.c, 1.10, 1.11 util.c, 1.6, 1.7 proto-slap.h, 1.11, 1.12
by Doctor Conrad
Author: nhosoi
Update of /cvs/dirsec/ldapserver/ldap/servers/slapd
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv32223
Modified Files:
log.c main.c util.c proto-slap.h
Log Message:
[173687] deadlock caused by error log rotation and logging
Modified to change the owner to the "localuser" if the error log file is not
owned by the user.
Index: log.c
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/servers/slapd/log.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- log.c 19 Apr 2005 22:07:36 -0000 1.6
+++ log.c 23 Nov 2005 17:58:01 -0000 1.7
@@ -48,6 +48,7 @@
#include "log.h"
#include "fe.h"
+#include <pwd.h> /* getpwnam */
#if defined( XP_WIN32 )
#include <fcntl.h>
@@ -3225,6 +3226,17 @@
char tbuf[TBUFSIZE];
struct logfileinfo *logp;
char buffer[BUFSIZ];
+ struct passwd *pw = NULL;
+
+ slapdFrontendConfig_t *slapdFrontendConfig = getFrontendConfig();
+
+ if ( slapdFrontendConfig->localuser != NULL ) {
+ if ( (pw = getpwnam( slapdFrontendConfig->localuser )) == NULL )
+ return LOG_UNABLE_TO_OPENFILE;
+ }
+ else {
+ return LOG_UNABLE_TO_OPENFILE;
+ }
if (!locked) LOG_ERROR_LOCK_WRITE( );
@@ -3287,6 +3299,12 @@
return LOG_UNABLE_TO_OPENFILE;
}
+ /* make sure the logfile is owned by the localuser. If one of the
+ * alternate ns-slapd modes, such as db2bak, tries to log an error
+ * at startup, it will create the logfile as root!
+ */
+ slapd_chown_if_not_owner(loginfo.log_error_file, pw->pw_uid, -1);
+
loginfo.log_error_fdes = fp;
if (logfile_state == LOGFILE_REOPENED) {
/* we have all the information */
Index: main.c
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/servers/slapd/main.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- main.c 21 Nov 2005 04:07:07 -0000 1.10
+++ main.c 23 Nov 2005 17:58:01 -0000 1.11
@@ -207,32 +207,6 @@
#ifndef WIN32
-/* Changes the ownership of the given file/directory iff not
- already the owner
- Returns 0 upon success or non-zero otherwise, usually -1 if
- some system error occurred
-*/
-static int
-chown_if_not_owner(const char *filename, uid_t uid, gid_t gid)
-{
- struct stat statbuf;
- int result = 1;
- if (!filename)
- return result;
-
- memset(&statbuf, '\0', sizeof(statbuf));
- if (!(result = stat(filename, &statbuf)))
- {
- if (((uid != -1) && (uid != statbuf.st_uid)) ||
- ((gid != -1) && (gid != statbuf.st_gid)))
- {
- result = chown(filename, uid, gid);
- }
- }
-
- return result;
-}
-
/*
Four cases:
- change ownership of all files in directory (strip_fn=PR_FALSE)
@@ -258,7 +232,7 @@
if((ptr=strrchr(log,'/'))==NULL)
{
LDAPDebug(LDAP_DEBUG_ANY, "Caution changing ownership of ./%s \n",name,0,0);
- chown_if_not_owner(log, pw->pw_uid, -1 );
+ slapd_chown_if_not_owner(log, pw->pw_uid, -1 );
rc=1;
} else if(log==ptr) {
LDAPDebug(LDAP_DEBUG_ANY, "Caution changing ownership of / directory and its contents to %s\n",pw->pw_name,0,0);
@@ -273,7 +247,7 @@
while( (entry = PR_ReadDir(dir , PR_SKIP_BOTH )) !=NULL )
{
PR_snprintf(file,MAXPATHLEN+1,"%s/%s",log,entry->name);
- chown_if_not_owner( file, pw->pw_uid, -1 );
+ slapd_chown_if_not_owner( file, pw->pw_uid, -1 );
}
PR_CloseDir( dir );
}
@@ -302,7 +276,7 @@
}
/* The instance directory needs to be owned by the local user */
- chown_if_not_owner( slapdFrontendConfig->instancedir, pw->pw_uid, -1 );
+ slapd_chown_if_not_owner( slapdFrontendConfig->instancedir, pw->pw_uid, -1 );
PR_snprintf(dirname,sizeof(dirname),"%s/config",slapdFrontendConfig->instancedir);
chown_dir_files(dirname, pw, PR_FALSE); /* config directory */
chown_dir_files(slapdFrontendConfig->accesslog, pw, PR_TRUE); /* do access log directory */
Index: util.c
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/servers/slapd/util.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- util.c 19 Apr 2005 22:07:37 -0000 1.6
+++ util.c 23 Nov 2005 17:58:01 -0000 1.7
@@ -631,3 +631,30 @@
return( rc );
}
/*****************************************************************************/
+
+/* Changes the ownership of the given file/directory if not
+ already the owner
+ Returns 0 upon success or non-zero otherwise, usually -1 if
+ some system error occurred
+*/
+int
+slapd_chown_if_not_owner(const char *filename, uid_t uid, gid_t gid)
+{
+ struct stat statbuf;
+ int result = 1;
+ if (!filename)
+ return result;
+
+ memset(&statbuf, '\0', sizeof(statbuf));
+ if (!(result = stat(filename, &statbuf)))
+ {
+ if (((uid != -1) && (uid != statbuf.st_uid)) ||
+ ((gid != -1) && (gid != statbuf.st_gid)))
+ {
+ result = chown(filename, uid, gid);
+ }
+ }
+
+ return result;
+}
+
Index: proto-slap.h
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/servers/slapd/proto-slap.h,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- proto-slap.h 25 Aug 2005 00:58:27 -0000 1.11
+++ proto-slap.h 23 Nov 2005 17:58:01 -0000 1.12
@@ -588,6 +588,7 @@
*/
void slapd_nasty(char* str, int c, int err);
int strarray2str( char **a, char *buf, size_t buflen, int include_quotes );
+int slapd_slapd_chown_if_not_owner(const char *filename, uid_t uid, gid_t gid);
/*
* modify.c
18 years, 4 months