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.spe... ============================================================================== --- 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_mai... ============================================================================== --- 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=7... ============================================================================== --- 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