[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[pkg-wine-party] [SCM] Debian Wine packaging branch, wheezy, updated. wine-1.4-7-302-gb61b690



The following commit has been merged in the wheezy branch:
commit 69c047350553a592eb640f13c499bc94e12c9a1f
Author: Hans Leidekker <hans@codeweavers.com>
Date:   Wed May 9 12:06:29 2012 +0200

    rpcrt4: Add a stub implementation of RpcServerInqDefaultPrincNameA/W.
    (cherry picked from commit 4d6ff8543394981a34014f0359d4953c145fa1e7)

diff --git a/dlls/rpcrt4/rpc_server.c b/dlls/rpcrt4/rpc_server.c
index 6fd1a7b..91b7707 100644
--- a/dlls/rpcrt4/rpc_server.c
+++ b/dlls/rpcrt4/rpc_server.c
@@ -44,6 +44,7 @@
 #include "rpc_message.h"
 #include "rpc_defs.h"
 #include "ncastatus.h"
+#include "secext.h"
 
 WINE_DEFAULT_DEBUG_CHANNEL(rpc);
 
@@ -1457,6 +1458,45 @@ RPC_STATUS WINAPI RpcServerRegisterAuthInfoW( RPC_WSTR ServerPrincName, ULONG Au
     return RPC_S_OK;
 }
 
+/******************************************************************************
+ * RpcServerInqDefaultPrincNameA   (rpcrt4.@)
+ */
+RPC_STATUS RPC_ENTRY RpcServerInqDefaultPrincNameA(ULONG AuthnSvc, RPC_CSTR *PrincName)
+{
+    RPC_STATUS ret;
+    RPC_WSTR principalW;
+
+    TRACE("%u, %p\n", AuthnSvc, PrincName);
+
+    if ((ret = RpcServerInqDefaultPrincNameW( AuthnSvc, &principalW )) == RPC_S_OK)
+    {
+        if (!(*PrincName = (RPC_CSTR)RPCRT4_strdupWtoA( principalW ))) return RPC_S_OUT_OF_MEMORY;
+        RpcStringFreeW( &principalW );
+    }
+    return ret;
+}
+
+/******************************************************************************
+ * RpcServerInqDefaultPrincNameW   (rpcrt4.@)
+ */
+RPC_STATUS RPC_ENTRY RpcServerInqDefaultPrincNameW(ULONG AuthnSvc, RPC_WSTR *PrincName)
+{
+    ULONG len = 0;
+
+    FIXME("%u, %p\n", AuthnSvc, PrincName);
+
+    if (AuthnSvc != RPC_C_AUTHN_WINNT) return RPC_S_UNKNOWN_AUTHN_SERVICE;
+
+    GetUserNameExW( NameSamCompatible, NULL, &len );
+    if (GetLastError() != ERROR_MORE_DATA) return RPC_S_INTERNAL_ERROR;
+
+    if (!(*PrincName = HeapAlloc( GetProcessHeap(), 0, len * sizeof(WCHAR) )))
+        return RPC_S_OUT_OF_MEMORY;
+
+    GetUserNameExW( NameSamCompatible, *PrincName, &len );
+    return RPC_S_OK;
+}
+
 /***********************************************************************
  *             RpcServerListen (RPCRT4.@)
  */
diff --git a/dlls/rpcrt4/rpcrt4.spec b/dlls/rpcrt4/rpcrt4.spec
index ac590bf..4b5b553 100644
--- a/dlls/rpcrt4/rpcrt4.spec
+++ b/dlls/rpcrt4/rpcrt4.spec
@@ -427,8 +427,8 @@
 @ stdcall RpcServerInqBindings(ptr)
 @ stub RpcServerInqCallAttributesA # wxp
 @ stub RpcServerInqCallAttributesW # wxp
-@ stub RpcServerInqDefaultPrincNameA
-@ stub RpcServerInqDefaultPrincNameW
+@ stdcall RpcServerInqDefaultPrincNameA(long ptr)
+@ stdcall RpcServerInqDefaultPrincNameW(long ptr)
 @ stub RpcServerInqIf
 @ stdcall RpcServerListen(long long long)
 @ stdcall RpcServerRegisterAuthInfoA(str  long ptr ptr)
diff --git a/include/rpcdce.h b/include/rpcdce.h
index bbdc42f..84f6330 100644
--- a/include/rpcdce.h
+++ b/include/rpcdce.h
@@ -611,6 +611,12 @@ RPCRTAPI unsigned short RPC_ENTRY
 RPCRTAPI int RPC_ENTRY
   UuidIsNil( UUID* Uuid, RPC_STATUS* Status_ );
 
+RPCRTAPI RPC_STATUS RPC_ENTRY
+  RpcServerInqDefaultPrincNameA( ULONG AuthnSvc, RPC_CSTR *PrincName );
+RPCRTAPI RPC_STATUS RPC_ENTRY
+  RpcServerInqDefaultPrincNameW( ULONG AuthnSvc, RPC_WSTR *PrincName );
+#define RpcServerInqDefaultPrincName WINELIB_NAME_AW(RpcServerInqDefaultPrincName)
+
 #ifdef __cplusplus
 }
 #endif

-- 
Debian Wine packaging



Reply to: