Author: akhaldi
Date: Thu Aug 18 10:00:07 2016
New Revision: 72275

URL: http://svn.reactos.org/svn/reactos?rev=72275&view=rev
Log:
[CREDUI] Sync with Wine Staging 1.9.16. CORE-11866

Modified:
    trunk/reactos/dll/win32/credui/credui.spec
    trunk/reactos/dll/win32/credui/credui_main.c
    trunk/reactos/media/doc/README.WINE

Modified: trunk/reactos/dll/win32/credui/credui.spec
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/credui/credui.spec?rev=72275&r1=72274&r2=72275&view=diff
==============================================================================
--- trunk/reactos/dll/win32/credui/credui.spec  [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/credui/credui.spec  [iso-8859-1] Thu Aug 18 
10:00:07 2016
@@ -1,3 +1,4 @@
+@ stdcall CredPackAuthenticationBufferW(long wstr ptr ptr ptr)
 @ stub CredUICmdLinePromptForCredentialsA
 @ stub CredUICmdLinePromptForCredentialsW
 @ stub CredUIConfirmCredentialsA
@@ -7,10 +8,12 @@
 @ stdcall CredUIParseUserNameW(wstr ptr long ptr long)
 @ stub CredUIPromptForCredentialsA
 @ stdcall CredUIPromptForCredentialsW(ptr wstr ptr long ptr long ptr long ptr 
long)
+@ stdcall CredUIPromptForWindowsCredentialsW(ptr long ptr ptr long ptr ptr ptr 
long)
 @ stdcall CredUIReadSSOCredA(str ptr)
 @ stdcall CredUIReadSSOCredW(wstr ptr)
 @ stdcall CredUIStoreSSOCredA(str str str long)
 @ stdcall CredUIStoreSSOCredW(wstr wstr wstr long)
+@ stdcall CredUnPackAuthenticationBufferW(long ptr long ptr ptr ptr ptr ptr 
ptr)
 @ stub -private DllCanUnloadNow
 @ stub -private DllGetClassObject
 @ stub -private DllRegisterServer

Modified: trunk/reactos/dll/win32/credui/credui_main.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/credui/credui_main.c?rev=72275&r1=72274&r2=72275&view=diff
==============================================================================
--- trunk/reactos/dll/win32/credui/credui_main.c        [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/credui/credui_main.c        [iso-8859-1] Thu Aug 18 
10:00:07 2016
@@ -872,6 +872,7 @@
     DWORD len_password = sizeof(password) / sizeof(password[0]);
     DWORD ret, flags;
     CREDUI_INFOW *cred_info = info;
+    SEC_WINNT_AUTH_IDENTITY_W *id = input_id;
 
     FIXME( "(%s, %p, %u, %s, %p, %p, %p, %x) stub\n", debugstr_w(target), info,
            error, debugstr_w(package), input_id, output_id, save, sspi_flags );
@@ -883,11 +884,6 @@
         FIXME( "package %s not supported\n", debugstr_w(package) );
         return ERROR_NO_SUCH_PACKAGE;
     }
-    if (input_id)
-    {
-        FIXME( "input identity not supported\n" );
-        return ERROR_CALL_NOT_IMPLEMENTED;
-    }
 
     flags = CREDUI_FLAGS_ALWAYS_SHOW_UI | CREDUI_FLAGS_GENERIC_CREDENTIALS;
 
@@ -897,12 +893,24 @@
     if (!(sspi_flags & SSPIPFC_NO_CHECKBOX))
         flags |= CREDUI_FLAGS_SHOW_SAVE_CHECK_BOX;
 
-    find_existing_credential( target, username, len_username, password, 
len_password );
+    if (!id) find_existing_credential( target, username, len_username, 
password, len_password );
+    else
+    {
+        if (id->User && id->UserLength > 0 && id->UserLength <= 
CREDUI_MAX_USERNAME_LENGTH)
+        {
+            memcpy( username, id->User, id->UserLength * sizeof(WCHAR) );
+            username[id->UserLength] = 0;
+        }
+        if (id->Password && id->PasswordLength > 0 && id->PasswordLength <= 
CREDUI_MAX_PASSWORD_LENGTH)
+        {
+            memcpy( password, id->Password, id->PasswordLength * sizeof(WCHAR) 
);
+            password[id->PasswordLength] = 0;
+        }
+    }
 
     if (!(ret = CredUIPromptForCredentialsW( cred_info, target, NULL, error, 
username,
                                              len_username, password, 
len_password, save, flags )))
     {
-        SEC_WINNT_AUTH_IDENTITY_W *id;
         DWORD size = sizeof(*id);
         WCHAR *ptr;
 
@@ -930,3 +938,37 @@
 
     return ret;
 }
+
+/******************************************************************************
+ * CredUIPromptForWindowsCredentialsW [CREDUI.@]
+ */
+DWORD WINAPI CredUIPromptForWindowsCredentialsW( CREDUI_INFOW *info, DWORD 
error, ULONG *package,
+                                                 const void *in_buf, ULONG 
in_buf_size, void **out_buf,
+                                                 ULONG *out_buf_size, BOOL 
*save, DWORD flags )
+{
+    FIXME( "(%p, %u, %p, %p, %u, %p, %p, %p, %08x) stub\n", info, error, 
package, in_buf, in_buf_size,
+           out_buf, out_buf_size, save, flags );
+    return ERROR_CALL_NOT_IMPLEMENTED;
+}
+
+/******************************************************************************
+ * CredPackAuthenticationBufferW [CREDUI.@]
+ */
+BOOL  WINAPI CredPackAuthenticationBufferW( DWORD flags, WCHAR *username, 
WCHAR *password, BYTE *buf,
+                                            DWORD *size )
+{
+    FIXME( "(%08x, %s, %p, %p, %p) stub\n", flags, debugstr_w(username), 
password, buf, size );
+    return ERROR_CALL_NOT_IMPLEMENTED;
+}
+
+/******************************************************************************
+ * CredUnPackAuthenticationBufferW [CREDUI.@]
+ */
+BOOL  WINAPI CredUnPackAuthenticationBufferW( DWORD flags, void *buf, DWORD 
size, WCHAR *username,
+                                              DWORD *len_username, WCHAR 
*domain, DWORD *len_domain,
+                                              WCHAR *password, DWORD 
*len_password )
+{
+    FIXME( "(%08x, %p, %u, %p, %p, %p, %p, %p, %p) stub\n", flags, buf, size, 
username, len_username,
+           domain, len_domain, password, len_password );
+    return ERROR_CALL_NOT_IMPLEMENTED;
+}

Modified: trunk/reactos/media/doc/README.WINE
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/media/doc/README.WINE?rev=72275&r1=72274&r2=72275&view=diff
==============================================================================
--- trunk/reactos/media/doc/README.WINE [iso-8859-1] (original)
+++ trunk/reactos/media/doc/README.WINE [iso-8859-1] Thu Aug 18 10:00:07 2016
@@ -57,7 +57,7 @@
 reactos/dll/win32/comctl32            # Synced to WineStaging-1.9.11
 reactos/dll/win32/comdlg32            # Synced to WineStaging-1.9.11
 reactos/dll/win32/compstui            # Synced to WineStaging-1.9.11
-reactos/dll/win32/credui              # Synced to WineStaging-1.9.11
+reactos/dll/win32/credui              # Synced to WineStaging-1.9.16
 reactos/dll/win32/crypt32             # Synced to WineStaging-1.9.11
 reactos/dll/win32/cryptdlg            # Synced to WineStaging-1.9.11
 reactos/dll/win32/cryptdll            # Synced to WineStaging-1.9.11


Reply via email to