Author: mturk
Date: Fri Aug 7 14:24:41 2009
New Revision: 802019
URL: http://svn.apache.org/viewvc?rev=802019&view=rev
Log:
Use sha1 for resource name calculation
Modified:
commons/sandbox/runtime/trunk/src/main/native/include/acr_crypto.h
commons/sandbox/runtime/trunk/src/main/native/os/win32/pmutex.c
commons/sandbox/runtime/trunk/src/main/native/os/win32/shm.c
commons/sandbox/runtime/trunk/src/main/native/os/win32/wutil.c
commons/sandbox/runtime/trunk/src/main/native/test/testcase.c
Modified: commons/sandbox/runtime/trunk/src/main/native/include/acr_crypto.h
URL:
http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/include/acr_crypto.h?rev=802019&r1=802018&r2=802019&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/include/acr_crypto.h
(original)
+++ commons/sandbox/runtime/trunk/src/main/native/include/acr_crypto.h Fri Aug
7 14:24:41 2009
@@ -35,15 +35,7 @@
* Size of the SHA1 DIGEST
*/
#define ACR_SHA1_DIGESTSIZE 20
-
-/**
- * Define the Magic String prefix that identifies a password as being
- * hashed using our algorithm.
- */
-#define ACR_SHA1PW_ID "{SHA}"
-
-/** length of the SHA Password */
-#define ACR_SHA1PW_IDLEN 5
+#define ACR_SHA1_BASE16SIZE 41
/** @see acr_sha1_ctx_t */
typedef struct acr_sha1_ctx_t acr_sha1_ctx_t;
Modified: commons/sandbox/runtime/trunk/src/main/native/os/win32/pmutex.c
URL:
http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/os/win32/pmutex.c?rev=802019&r1=802018&r2=802019&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/os/win32/pmutex.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/os/win32/pmutex.c Fri Aug 7
14:24:41 2009
@@ -38,7 +38,7 @@
int rc;
HANDLE m;
wchar_t *reskey;
- wchar_t keybuf[256];
+ wchar_t keybuf[64];
if (fname == NULL) {
reskey = NULL;
@@ -63,11 +63,12 @@
{
int rc;
HANDLE m;
- wchar_t reskey[256];
+ wchar_t reskey[64];
if (!fname) {
/* Reinitializing unnamed mutexes is a noop in the Unix code. */
- return APR_SUCCESS;
+ ACR_SET_OS_ERROR(ACR_ENOTIMPL);
+ return -1;
}
/* res_name_from_filename turns file into a pseudo-name
* without slashes or backslashes, and prepends the \global
Modified: commons/sandbox/runtime/trunk/src/main/native/os/win32/shm.c
URL:
http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/os/win32/shm.c?rev=802019&r1=802018&r2=802019&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/os/win32/shm.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/os/win32/shm.c Fri Aug 7
14:24:41 2009
@@ -96,8 +96,8 @@
acr_size_t nbytes;
HANDLE hmap, hfile;
void *base;
- wchar_t *mapkey;
- wchar_t keybuf[256];
+ wchar_t *reskey;
+ wchar_t keybuf[64];
DWORD sizelo, sizehi;
LPDWORD lpdwhi = NULL;
@@ -132,7 +132,7 @@
/* Check if they want anonymous or name-based shared memory */
if (filename == NULL) {
hfile = INVALID_HANDLE_VALUE;
- mapkey = NULL;
+ reskey = NULL;
}
/* Name-based shared memory */
else {
@@ -161,11 +161,11 @@
* without slashes or backslashes, and prepends the \global
* prefix on Win2K and later
*/
- mapkey = res_name_from_filenamew(1, keybuf, filename);
+ reskey = res_name_from_filenamew(1, keybuf, filename);
}
hmap = CreateFileMappingW(hfile, NULL, PAGE_READWRITE,
- sizehi, sizelo, mapkey);
+ sizehi, sizelo, reskey);
rc = GetLastError();
if (hfile != INVALID_HANDLE_VALUE)
CloseHandle(hfile);
@@ -231,7 +231,7 @@
int rc = 0;
acr_shm_t *shm = NULL;
HANDLE hmap;
- wchar_t mapkey[256];
+ wchar_t reskey[64];
void *base;
if (!filename) {
@@ -241,8 +241,8 @@
shm = ACR_Calloc(_E, THROW_FMARK, sizeof(acr_shm_t));
if (!shm)
return -1;
- res_name_from_filenamew(1, mapkey, filename);
- hmap = OpenFileMappingW(FILE_MAP_READ | FILE_MAP_WRITE, FALSE, mapkey);
+ res_name_from_filenamew(1, reskey, filename);
+ hmap = OpenFileMappingW(FILE_MAP_READ | FILE_MAP_WRITE, FALSE, reskey);
if (!hmap) {
rc = ACR_GET_OS_ERROR();
goto cleanup;
Modified: commons/sandbox/runtime/trunk/src/main/native/os/win32/wutil.c
URL:
http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/os/win32/wutil.c?rev=802019&r1=802018&r2=802019&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/os/win32/wutil.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/os/win32/wutil.c Fri Aug 7
14:24:41 2009
@@ -21,32 +21,21 @@
#include "acr_error.h"
#include "acr_memory.h"
#include "acr_string.h"
-#include "acr_descriptor.h"
+#include "acr_crypto.h"
wchar_t *res_name_from_filenamew(int global, wchar_t *rname,
const wchar_t *fname)
{
const wchar_t *prefix;
- wchar_t *ch;
- size_t r, n = wcslen(fname);
+ size_t n = wcslen(fname);
if (global)
prefix = L"Global\\";
else
prefix = L"Local\\";
- r = wcslen(prefix);
- if (n > 255 - r) {
- fname += n - 255 - r;
- n = 255;
- }
+
wcscpy(rname, prefix);
- wcsncat(rname, fname, 255 - r);
- for (ch = rname + r; *ch; ++ch) {
- if (*ch == L':' || *ch == L'/' || *ch == L'\\')
- *ch = L'_';
- else
- *ch = towupper(*ch);
- }
+ ACR_Sha1Base16W(fname, n, rname + wcslen(prefix));
return rname;
}
Modified: commons/sandbox/runtime/trunk/src/main/native/test/testcase.c
URL:
http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/test/testcase.c?rev=802019&r1=802018&r2=802019&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/test/testcase.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/test/testcase.c Fri Aug 7
14:24:41 2009
@@ -649,6 +649,11 @@
return r;
}
+#if defined(WIN32)
+static const wchar_t *shr_name = L"shared";
+#else
+static const char *shr_name = "shared";
+#endif
ACR_JNI_EXPORT_DECLARE(jint, TestPrivate, test060)(ACR_JNISTDARGS, jint d)
{
@@ -658,7 +663,7 @@
ACR_JNI_EXPORT_DECLARE(jint, TestPrivate, test061)(ACR_JNISTDARGS, jint d)
{
- return ACR_ShmCreate(_E, d, "shared");
+ return ACR_ShmCreate(_E, d, shr_name);
}
ACR_JNI_EXPORT_DECLARE(jint, TestPrivate, test062)(ACR_JNISTDARGS, jint s)
@@ -668,12 +673,12 @@
ACR_JNI_EXPORT_DECLARE(jint, TestPrivate, test063)(ACR_JNISTDARGS, jint d)
{
- return ACR_ShmRemove(_E, "shared");
+ return ACR_ShmRemove(_E, shr_name);
}
ACR_JNI_EXPORT_DECLARE(jint, TestPrivate, test064)(ACR_JNISTDARGS, jint d)
{
- return ACR_ShmAttach(_E, "shared");
+ return ACR_ShmAttach(_E, shr_name);
}
ACR_JNI_EXPORT_DECLARE(jint, TestPrivate, test065)(ACR_JNISTDARGS, jint s)