You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by mt...@apache.org on 2009/08/18 18:47:38 UTC

svn commit: r805490 - in /commons/sandbox/runtime/trunk/src/main/native/os/win32: file.c shm.c syslog.c wusec.c

Author: mturk
Date: Tue Aug 18 16:47:37 2009
New Revision: 805490

URL: http://svn.apache.org/viewvc?rev=805490&view=rev
Log:
Use hex instead named SDD

Modified:
    commons/sandbox/runtime/trunk/src/main/native/os/win32/file.c
    commons/sandbox/runtime/trunk/src/main/native/os/win32/shm.c
    commons/sandbox/runtime/trunk/src/main/native/os/win32/syslog.c
    commons/sandbox/runtime/trunk/src/main/native/os/win32/wusec.c

Modified: commons/sandbox/runtime/trunk/src/main/native/os/win32/file.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/os/win32/file.c?rev=805490&r1=805489&r2=805490&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/os/win32/file.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/os/win32/file.c Tue Aug 18 16:47:37 2009
@@ -137,7 +137,10 @@
     if (fh != INVALID_HANDLE_VALUE) {
         BY_HANDLE_FILE_INFORMATION fi;
         if (GetFileInformationByHandle(fh, &fi)) {
-            rv = (((acr_uint64_t)fi.nFileIndexHigh + (acr_uint64_t)fi.dwVolumeSerialNumber) << 30) + fi.nFileIndexLow;
+            ULARGE_INTEGER u;
+            u.LowPart  = fi.nFileIndexLow;
+            u.HighPart = fi.nFileIndexHigh;
+            rv = u.QuadPart + ((acr_uint64_t)fi.dwVolumeSerialNumber) << 30);
             ex = 0;
         }
         else

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=805490&r1=805489&r2=805490&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 Tue Aug 18 16:47:37 2009
@@ -102,6 +102,7 @@
     wchar_t     keybuf[128];
     DWORD       sizelo, sizehi;
     LPDWORD     lpdwhi = NULL;
+    SECURITY_ATTRIBUTES sa;
 
     if (reqsize > ACR_SIZE_T_MAX) {
         /* Guard against insane sizes */
@@ -143,6 +144,9 @@
     }
     /* Name-based shared memory */
     else {
+        sa.nLength = sizeof(SECURITY_ATTRIBUTES);
+        sa.lpSecurityDescriptor = NULL;
+        sa.bInheritHandle = FALSE;
         /* Do file backed, which is not an inherited handle
          * While we could open APR_EXCL, it doesn't seem that Unix
          * ever did.  Ignore that error here, but fail later when
@@ -151,7 +155,7 @@
         hfile = CreateFileW(filename,
                             GENERIC_READ | GENERIC_WRITE,
                             FILE_SHARE_READ | FILE_SHARE_WRITE,
-                            NULL,
+                            &sa,
                             CREATE_ALWAYS,
                             FILE_ATTRIBUTE_NORMAL,
                             NULL);
@@ -188,7 +192,7 @@
     if (!hmap) {
         goto finally;
     }
-    base = MapViewOfFile(hmap, FILE_MAP_READ | FILE_MAP_WRITE,
+    base = MapViewOfFile(hmap, FILE_MAP_ALL_ACCESS,
                          0, 0, nbytes);
     if (!base) {
         rc = ACR_GET_OS_ERROR();

Modified: commons/sandbox/runtime/trunk/src/main/native/os/win32/syslog.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/os/win32/syslog.c?rev=805490&r1=805489&r2=805490&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/os/win32/syslog.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/os/win32/syslog.c Tue Aug 18 16:47:37 2009
@@ -101,7 +101,7 @@
     else {
         fprintf(es, "%S%S\n", et, messages[0]);
         if (messages[1])
-            fprintf(es, "         %S\n", messages[1]);
+            fprintf(es, "           %S\n", messages[1]);
         fflush(es);
     }
 }

Modified: commons/sandbox/runtime/trunk/src/main/native/os/win32/wusec.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/os/win32/wusec.c?rev=805490&r1=805489&r2=805490&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/os/win32/wusec.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/os/win32/wusec.c Tue Aug 18 16:47:37 2009
@@ -303,82 +303,37 @@
     PSECURITY_DESCRIPTOR pSD = NULL;
 
     wcscpy(sdd, "D:(D;OICI;GA;;;BG)(D;OICI;GA;;;AN)");
-    wcscpy(saa, L"(A;OICI;GA");
-    if ((dwAdminAccessMask & FILE_ALL_ACCESS) == FILE_ALL_ACCESS)
-        wcscat(saa, L"FA");
+    swprintf(saa, L"(A;OICI;0x%08x", dwAdminAccessMask);
 
     /* Builtin Adminstrators */
     wcscat(sdd, saa);
     wcscat(sdd, L";;;BA)");
-
+    /* Creator Owner */
+    wcscat(sdd, saa);
+    wcscat(sdd, L";;;CO)");
     /* Local Service */
     wcscat(sdd, saa);
     wcscat(sdd, L";;;LS)");
-
     /* Local System */
     wcscat(sdd, saa);
     wcscat(sdd, L";;;SY)");
-
     /* Logon Service */
     wcscat(sdd, saa);
     wcscat(sdd, L";;;SU)");
 
     if (dwUsersAccessMask) {
+        swprintf(saa, L"(A;OICI;0x%08x", dwUsersAccessMask);
         /* Authenticated users */
-        wcscat(sdd, L"(A;OICI;");
-        if ((dwUsersAccessMask & GENERIC_ALL))
-            wcscat(sdd, L"GA");
-        else {
-            if ((dwUsersAccessMask & GENERIC_READ))
-                wcscat(sdd, L"GR");
-            if ((dwUsersAccessMask & GENERIC_WRITE))
-                wcscat(sdd, L"GW");
-            if ((dwUsersAccessMask & GENERIC_EXECUTE))
-                wcscat(sdd, L"GX");
-        }
-        if ((dwUsersAccessMask & FILE_ALL_ACCESS) == FILE_ALL_ACCESS)
-            wcscat(sdd, L"FA");
-        else {
-            if ((dwUsersAccessMask & FILE_GENERIC_READ) == FILE_GENERIC_READ)
-                wcscat(sdd, L"FR");
-            if ((dwUsersAccessMask & FILE_GENERIC_WRITE) == FILE_GENERIC_WRITE)
-                wcscat(sdd, L"FW");
-            if ((dwUsersAccessMask & FILE_GENERIC_EXECUTE) == FILE_GENERIC_EXECUTE)
-                wcscat(sdd, L"FX");
-        }        
+        wcscat(sdd, saa);
         wcscat(sdd, L";;;AU)");
     }
     if (dwGroupAccessMask) {
-        /* Creator Owner */
-        wcscat(sdd, L"(A;OICI;GA");
-        if ((dwGroupAccessMask & (FILE_ALL_ACCESS | FILE_GENERIC_READ)))
-            wcscat(sdd, L"FA");
-        wcscat(sdd, L";;;CO)");
-
+        swprintf(saa, L"(A;OICI;0x%08x", dwGroupAccessMask);
         /* Creator Group */
-        wcscat(sdd, L"(A;OICI;");
-        if ((dwGroupAccessMask & GENERIC_ALL))
-            wcscat(sdd, L"GA");
-        else {
-            if ((dwGroupAccessMask & GENERIC_READ))
-                wcscat(sdd, L"GR");
-            if ((dwGroupAccessMask & GENERIC_WRITE))
-                wcscat(sdd, L"GW");
-            if ((dwGroupAccessMask & GENERIC_EXECUTE))
-                wcscat(sdd, L"GX");
-        }
-        if ((dwGroupAccessMask & FILE_ALL_ACCESS) == FILE_ALL_ACCESS)
-            wcscat(sdd, L"FA");
-        else {
-            if ((dwGroupAccessMask & FILE_GENERIC_READ) == FILE_GENERIC_READ)
-                wcscat(sdd, L"FR");
-            if ((dwGroupAccessMask & FILE_GENERIC_WRITE) == FILE_GENERIC_WRITE)
-                wcscat(sdd, L"FW");
-            if ((dwGroupAccessMask & FILE_GENERIC_EXECUTE) == FILE_GENERIC_EXECUTE)
-                wcscat(sdd, L"FX");
-        }        
+        wcscat(sdd, saa);
         wcscat(sdd, L";;;CG)");
     }
+    fprintf(stdout, "SD %S\n", sdd);
     if (!ConvertStringSecurityDescriptorToSecurityDescriptorW(sdd,
                                                 SDDL_REVISION_1, &pSD, NULL)) {
         pSD = NULL;
@@ -386,7 +341,9 @@
             ACR_ThrowException(_E, THROW_FMARK, ACR_EX_ENOMEM,
                                ACR_GET_OS_ERROR());
         }
+        fprintf(stdout, "Failed!\n");
     }
+    fflush(stdout);
     return pSD;
 }