Roy Keene (Contractor) wrote:
<SNIP>
Here is a more functional fix:
diff -uNr muscleframework-1.1.5.orig/libmusclepkcs11/src/p11x_slot.c
muscleframework-1.1.5.orig.rsk/libmusclepkcs11/src/p11x_slot.c
--- muscleframework-1.1.5.orig/libmusclepkcs11/src/p11x_slot.c
2004-05-31 05:43:11.000000000 -0500
+++ muscleframework-1.1.5.orig.rsk/libmusclepkcs11/src/p11x_slot.c
2006-07-19 09:54:40.000000000 -0500
@@ -200,7 +200,7 @@
if (slot->conn.hCard)
{
log_Log(LOG_LOW, "Releasing connection
(slot_ReleaseConnection)");
- (void)MSC_ERROR(msc_ReleaseConnection(&slot->conn,
MSC_LEAVE_TOKEN));
+ msc_ReleaseConnection(&slot->conn, MSC_LEAVE_TOKEN);
log_Log(LOG_LOW, "Done releasing (slot_ReleaseConnection)");
}
@@ -899,7 +899,8 @@
if (slot->conn.hCard)
{
log_Log(LOG_LOW, "Releasing connection
(slot_DisconnectSlot)");
- (void)MSC_ERROR(msc_ReleaseConnection(&slot->conn, action));
+ msc_ReleaseConnection(&slot->conn, action);
+ musclecard_fini();
}
slot->conn.hCard = 0;
The first hunk may not be needed. The first part of the second hunk
(delete, add) may also not be needed. musclecard_fini() releases the
"localHContext" which is invalidated.
There will probably be no more follow-ups to these patches since I've
started using CoolKey primarily (since it has fewer dependencies, and
requires fewer locally maintained patches).
My partner found that with newer compilers (gcc >3.3) the attached patch was
also needed so that musclecard_fini would be exported by libmusclecard.so.
Without this patch newer gcc's put musclecard_fini in local symbols instead of
the Text segment that earlier gcc's did.
--
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane)
Harnessing the Power of Technology for the Warfighter
diff -uNr libmusclecard-1.3.3.orig/src/misc.h libmusclecard-1.3.3.patched/src/misc.h
--- libmusclecard-1.3.3.orig/src/misc.h 2006-05-02 16:53:34.000000000 -0400
+++ libmusclecard-1.3.3.patched/src/misc.h 2006-07-24 20:29:24.000000000 -0400
@@ -37,7 +37,7 @@
/* GNU Compiler Collection (GCC) */
#define CONSTRUCTOR __attribute__ ((constructor))
-#define DESTRUCTOR __attribute__ ((destructor))
+#define DESTRUCTOR __attribute__ ((destructor)) __attribute__ ((visibility ("protected")))
#else
_______________________________________________
Muscle mailing list
[email protected]
http://lists.drizzle.com/mailman/listinfo/muscle