Closed
Bug 320471
Opened 19 years ago
Closed 2 years ago
remove NativeProxy.c file from jss source tree - dead code
Categories
(JSS Graveyard :: Library, defect, P3)
Tracking
(Not tracked)
RESOLVED
WONTFIX
People
(Reporter: alvolkov.bgs, Unassigned)
Details
This file has two functions JSS_getPtrFromProxy, JSS_ptrToByteArray that duplicate functions in jssutil.c. File NativeProxy.c is not compiled during normal build process. Looks like a dead code.
Comment 1•18 years ago
|
||
NativeProxy.c and NativeProxy.java seems to have quite a few references in JSS code, EG: CipherContextProxy.java, KeyProxy.java, ModuleProxy.java etc . If this is dead code, then quite a few classes will have to be modified. Listing of reference to NativeProxy: ./org/mozilla/jss/pkcs11/CipherContextProxy.java import org.mozilla.jss.util.NativeProxy; final class CipherContextProxy extends NativeProxy { ./org/mozilla/jss/pkcs11/KeyProxy.java abstract class KeyProxy extends org.mozilla.jss.util.NativeProxy { ./org/mozilla/jss/pkcs11/ModuleProxy.java final class ModuleProxy extends NativeProxy { ./org/mozilla/jss/pkcs11/PK11Cert.java class CertProxy extends org.mozilla.jss.util.NativeProxy { ./org/mozilla/jss/pkcs11/PK11Cipher.java import org.mozilla.jss.util.NativeProxy; ./org/mozilla/jss/pkcs11/PK11Signature.java class SigContextProxy extends NativeProxy { ./org/mozilla/jss/pkcs11/TokenProxy.java import org.mozilla.jss.util.NativeProxy; public final class TokenProxy extends NativeProxy { ./org/mozilla/jss/ssl/common.c /* remains because SocketProxy extends org.mozilla.jss.util.NativeProxy*/ ./org/mozilla/jss/tests/SelfTest.java //NativeProxy.assertRegistryEmpty(); ./org/mozilla/jss/util/NativeProxy.c /* This file does not contain native methods of NativeProxy; rather, it * provides utility functions for using NativeProxys in C code */ * Given a NativeProxy, extract the pointer and store it at the given * nativeProxy: a JNI reference to a NativeProxy. * the NativeProxy. JSS_getPtrFromProxy(JNIEnv *env, jobject nativeProxy, void **ptr) jclass nativeProxyClass; PR_ASSERT(env!=NULL && nativeProxy != NULL && ptr != NULL); nativeProxyClass = (*env)->FindClass(env, "org/mozilla/jss/util/NativeProxy"); if(nativeProxyClass == NULL) { /* make sure what we got was really a NativeProxy object */ PR_ASSERT( (*env)->IsInstanceOf(env, nativeProxy, nativeProxyClass) ); byteArrayField = (*env)->GetFieldID(env, nativeProxyClass, "mPointer", byteArray = (jbyteArray) (*env)->GetObjectField(env, nativeProxy, * into a NativeProxy constructor. ./org/mozilla/jss/util/NativeProxy.h * Given a NativeProxy, extract the pointer and store it at the given * nativeProxy: a JNI reference to a NativeProxy. * the NativeProxy. JSS_getPtrFromProxy(JNIEnv *env, jobject nativeProxy, void **ptr); * into a NativeProxy constructor. ./org/mozilla/jss/util/Tunnel.java ./org/mozilla/jss/util/SECerrs.h ./org/mozilla/jss/util/NativeProxy.java * NativeProxy, a superclass for Java classes that mirror C data structures. public abstract class NativeProxy private NativeProxy() { * Create a NativeProxy from a byte array representing a C pointer. * This is the only way to create a NativeProxy, it should be called * NativeProxy instance acts as a proxy for that native data structure. public NativeProxy(byte[] pointer) { if( ! (obj instanceof NativeProxy) ) { if( ((NativeProxy)obj).mPointer.length != mPointer.length) { if(mPointer[i] != ((NativeProxy)obj).mPointer[i]) { * Subclasses of NativeProxy must define this method to clean up * <p>You don't call this method; NativeProxy.finalize() calls it for you. * Finalize this NativeProxy by releasing its native resources. * class MyProxy extends NativeProxy { * <p>In debug mode, we keep track of all NativeProxy objects in a * static registry. Whenever a NativeProxy is constructed, it * NativeProxy.finalize() from their subclasses of NativeProxy, so that * Register a NativeProxy instance. * Unregister a NativeProxy instance. * @see NativeProxy#getRegistryIndex * @return The index of this NativeProxy in the NativeProxy registry. * @see NativeProxy#getRegistryIndices " NativeProxys are still registered."); Debug.trace(Debug.OBNOXIOUS, "NativeProxy registry is empty"); ./org/mozilla/jss/util/java_ids.h * NativeProxy #define NATIVE_PROXY_CLASS_NAME "org/mozilla/jss/util/NativeProxy" ./org/mozilla/jss/util/jssutil.c ** Given a NativeProxy, extract the pointer and store it at the given ** nativeProxy: a JNI reference to a NativeProxy. ** the NativeProxy. JSS_getPtrFromProxy(JNIEnv *env, jobject nativeProxy, void **ptr) jclass nativeProxyClass; PR_ASSERT(env!=NULL && nativeProxy != NULL && ptr != NULL); if( nativeProxy == NULL ) { proxyClass = (*env)->GetObjectClass(env, nativeProxy); nativeProxyClass = (*env)->FindClass( if(nativeProxyClass == NULL) { /* make sure what we got was really a NativeProxy object */ PR_ASSERT( (*env)->IsInstanceOf(env, nativeProxy, nativeProxyClass) ); byteArray = (jbyteArray) (*env)->GetObjectField(env, nativeProxy, ** Given an object which contains a NativeProxy, extract the pointer ** from the NativeProxy and store it at the given address. ** proxyOwner: an object which contains a NativeProxy member. ** proxyFieldName: the name of the NativeProxy member. ** proxyFieldSig: the signature of the NativeProxy member. ** into a NativeProxy constructor. ./org/mozilla/jss/util/jssutil.h ** Given a NativeProxy, extract the pointer and store it at the given ** nativeProxy: a JNI reference to a NativeProxy. ** the NativeProxy. JSS_getPtrFromProxy(JNIEnv *env, jobject nativeProxy, void **ptr); ** Given an object which contains a NativeProxy, extract the pointer ** from the NativeProxy and store it at the given address. ** proxyOwner: an object which contains a NativeProxy member. ** proxyFieldName: the name of the NativeProxy member. ** proxyFieldSig: the signature of the NativeProxy member. * into a NativeProxy constructor.
Version: unspecified → 4.2
Reporter | ||
Updated•18 years ago
|
Priority: -- → P3
Updated•17 years ago
|
QA Contact: libraries
Updated•17 years ago
|
QA Contact: libraries → jss-qa
Updated•14 years ago
|
Assignee: gbmozilla → nobody
Comment 2•2 years ago
|
||
JSS development has moved from the Mozilla community to the Dogtag PKI community. Please re-file this bug at https://github.com/dogtagpki/jss if it is still relevant. Thank you!
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → WONTFIX
You need to log in
before you can comment on or make changes to this bug.
Description
•