changeset in /hg/icedtea6: 2008-11-14 Omair Majid <omajid at redh...

Omair Majid omajid at redhat.com
Fri Nov 14 07:10:31 PST 2008


changeset bc2e4f1176b2 in /hg/icedtea6
details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=bc2e4f1176b2
description:
	2008-11-14  Omair Majid  <omajid at redhat.com>

	    * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/EventLoop.java
	    Removed useless SuppressWarnings.
	    (static): Delegate the loading of native libraries to SecurityWrapper.
	    * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Operation.java
	    (static): Likewise.
	    * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioPort.java
	    (static): Likewise.
	    * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourcePort.java
	    (static): Likewise.
	    * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.java
	    (static): Likewise.
	    * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Stream.java
	    (static): Likewise.
	    * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/SecurityWrapper.java
	    New class.
	    (loadNativeLibrary): Loads libpulse-java.so in a privileged operation to
	    work when a security manager is installed.

diffstat:

8 files changed, 53 insertions(+), 9 deletions(-)
ChangeLog                                                                      |   20 +++++++
pulseaudio/src/java/org/classpath/icedtea/pulseaudio/EventLoop.java            |    4 -
pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Operation.java            |    2 
pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioPort.java       |    2 
pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourcePort.java |    2 
pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.java |    2 
pulseaudio/src/java/org/classpath/icedtea/pulseaudio/SecurityWrapper.java      |   27 ++++++++++
pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Stream.java               |    3 -

diffs (144 lines):

diff -r 89e71b641b8e -r bc2e4f1176b2 ChangeLog
--- a/ChangeLog	Tue Nov 11 04:38:04 2008 -0500
+++ b/ChangeLog	Fri Nov 14 10:10:11 2008 -0500
@@ -1,3 +1,23 @@ 2008-11-11  Gary Benson  <gbenson at redhat
+2008-11-14  Omair Majid  <omajid at redhat.com>
+
+	* pulseaudio/src/java/org/classpath/icedtea/pulseaudio/EventLoop.java
+	Removed useless SuppressWarnings.
+	(static): Delegate the loading of native libraries to SecurityWrapper.
+	* pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Operation.java
+	(static): Likewise.
+	* pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioPort.java
+	(static): Likewise.
+	* pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourcePort.java
+	(static): Likewise.
+	* pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.java 
+	(static): Likewise.
+	* pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Stream.java
+	(static): Likewise.
+	* pulseaudio/src/java/org/classpath/icedtea/pulseaudio/SecurityWrapper.java
+	New class.
+	(loadNativeLibrary): Loads libpulse-java.so in a privileged operation to
+	work when a security manager is installed.
+
 2008-11-11  Gary Benson  <gbenson at redhat.com>
 
 	* ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp
diff -r 89e71b641b8e -r bc2e4f1176b2 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/EventLoop.java
--- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/EventLoop.java	Tue Nov 11 04:38:04 2008 -0500
+++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/EventLoop.java	Fri Nov 14 10:10:11 2008 -0500
@@ -92,9 +92,7 @@ public class EventLoop implements Runnab
 	/*
 	 * These fields hold pointers
 	 */
-	@SuppressWarnings("unused")
 	private byte[] contextPointer;
-	@SuppressWarnings("unused")
 	private byte[] mainloopPointer;
 
 	/*
@@ -102,7 +100,7 @@ public class EventLoop implements Runnab
 	 */
 
 	static {
-		System.loadLibrary("pulse-java");
+		SecurityWrapper.loadNativeLibrary();
 	}
 
 	private EventLoop() {
diff -r 89e71b641b8e -r bc2e4f1176b2 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Operation.java
--- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Operation.java	Tue Nov 11 04:38:04 2008 -0500
+++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Operation.java	Fri Nov 14 10:10:11 2008 -0500
@@ -58,7 +58,7 @@ public class Operation {
 	}
 
 	static {
-		System.loadLibrary("pulse-java");
+		SecurityWrapper.loadNativeLibrary();
 	}
 
 	private native void native_ref();
diff -r 89e71b641b8e -r bc2e4f1176b2 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioPort.java
--- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioPort.java	Tue Nov 11 04:38:04 2008 -0500
+++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioPort.java	Fri Nov 14 10:10:11 2008 -0500
@@ -63,7 +63,7 @@ public abstract class PulseAudioPort ext
 	private PulseAudioVolumeControl volumeControl;
 
 	static {
-		System.loadLibrary("pulse-java");
+		SecurityWrapper.loadNativeLibrary();
 	}
 
 	public PulseAudioPort(String name) {
diff -r 89e71b641b8e -r bc2e4f1176b2 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourcePort.java
--- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourcePort.java	Tue Nov 11 04:38:04 2008 -0500
+++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourcePort.java	Fri Nov 14 10:10:11 2008 -0500
@@ -45,7 +45,7 @@ public class PulseAudioSourcePort extend
 	/* aka mic */
 
 	static {
-		System.loadLibrary("pulse-java");
+		SecurityWrapper.loadNativeLibrary();
 	}
 
 	public PulseAudioSourcePort(String name) {
diff -r 89e71b641b8e -r bc2e4f1176b2 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.java
--- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.java	Tue Nov 11 04:38:04 2008 -0500
+++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.java	Fri Nov 14 10:10:11 2008 -0500
@@ -44,7 +44,7 @@ public class PulseAudioTargetPort extend
 	/* aka speaker */
 
 	static {
-		System.loadLibrary("pulse-java");
+		SecurityWrapper.loadNativeLibrary();
 	}
 
 	public PulseAudioTargetPort(String name) {
diff -r 89e71b641b8e -r bc2e4f1176b2 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/SecurityWrapper.java
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/SecurityWrapper.java	Fri Nov 14 10:10:11 2008 -0500
@@ -0,0 +1,27 @@
+package org.classpath.icedtea.pulseaudio;
+
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+
+class SecurityWrapper {
+
+	public static void loadNativeLibrary() {
+
+		if (System.getSecurityManager() != null) {
+			PrivilegedAction<Boolean> action = new PrivilegedAction<Boolean>() {
+				@Override
+				public Boolean run() {
+					System.loadLibrary("pulse-java");
+					return true;
+				}
+
+			};
+
+			AccessController.doPrivileged(action);
+
+		} else {
+			System.loadLibrary("pulse-java");
+		}
+
+	}
+}
diff -r 89e71b641b8e -r bc2e4f1176b2 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Stream.java
--- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Stream.java	Tue Nov 11 04:38:04 2008 -0500
+++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Stream.java	Fri Nov 14 10:10:11 2008 -0500
@@ -104,11 +104,10 @@ public class Stream {
 
 	public static final String DEFAULT_DEVICE = null;
 
-	@SuppressWarnings("unused")
 	private byte[] streamPointer;
 
 	static {
-		System.loadLibrary("pulse-java");
+		SecurityWrapper.loadNativeLibrary();
 	}
 
 	private Format format;



More information about the distro-pkg-dev mailing list