mirror of
https://github.com/reactos/reactos.git
synced 2025-04-20 20:36:35 +00:00
Autosyncing with Wine HEAD
svn path=/trunk/; revision=34354
This commit is contained in:
parent
0cb3e856ef
commit
22d098ac49
24 changed files with 607 additions and 151 deletions
58
reactos/dll/win32/hhctrl.ocx/Da.rc
Normal file
58
reactos/dll/win32/hhctrl.ocx/Da.rc
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
/*
|
||||||
|
* HTML Help resources
|
||||||
|
* Danish Language Support
|
||||||
|
*
|
||||||
|
* Copyright 2008 Jens Albretsen <jens@albretsen.dk>
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
* License as published by the Free Software Foundation; either
|
||||||
|
* version 2.1 of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
LANGUAGE LANG_DANISH, SUBLANG_DEFAULT
|
||||||
|
|
||||||
|
STRINGTABLE
|
||||||
|
BEGIN
|
||||||
|
IDS_CONTENTS "&Indhold"
|
||||||
|
IDS_INDEX "I&ndeks"
|
||||||
|
IDS_SEARCH "&Søg"
|
||||||
|
IDS_FAVORITES "Favor&itter"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGTABLE
|
||||||
|
BEGIN
|
||||||
|
IDTB_EXPAND "Vis"
|
||||||
|
IDTB_CONTRACT "Skjul"
|
||||||
|
IDTB_STOP "Stop"
|
||||||
|
IDTB_REFRESH "Opdatér"
|
||||||
|
IDTB_BACK "Tilbage"
|
||||||
|
IDTB_HOME "Hjem"
|
||||||
|
IDTB_SYNC "Synkroniser"
|
||||||
|
IDTB_PRINT "Udskriv"
|
||||||
|
IDTB_OPTIONS "Indstillinger"
|
||||||
|
IDTB_FORWARD "Frem"
|
||||||
|
IDTB_NOTES "IDTB_NOTES"
|
||||||
|
IDTB_BROWSE_FWD "IDTB_BROWSE_FWD"
|
||||||
|
IDTB_BROWSE_BACK "IDT_BROWSE_BACK"
|
||||||
|
IDTB_CONTENTS "IDTB_CONTENTS"
|
||||||
|
IDTB_INDEX "IDTB_INDEX"
|
||||||
|
IDTB_SEARCH "IDTB_SEARCH"
|
||||||
|
IDTB_HISTORY "IDTB_HISTORY"
|
||||||
|
IDTB_FAVORITES "IDTB_FAVORITES"
|
||||||
|
IDTB_JUMP1 "Jump1"
|
||||||
|
IDTB_JUMP2 "Jump2"
|
||||||
|
IDTB_CUSTOMIZE "Tilpas"
|
||||||
|
IDTB_ZOOM "Forstør"
|
||||||
|
IDTB_TOC_NEXT "IDTB_TOC_NEXT"
|
||||||
|
IDTB_TOC_PREV "IDTB_TOC_PREV"
|
||||||
|
END
|
|
@ -19,7 +19,7 @@
|
||||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT
|
||||||
|
|
||||||
STRINGTABLE
|
STRINGTABLE
|
||||||
BEGIN
|
BEGIN
|
||||||
|
|
|
@ -38,11 +38,11 @@ BEGIN
|
||||||
IDTB_BACK "Назад"
|
IDTB_BACK "Назад"
|
||||||
IDTB_HOME "В начало"
|
IDTB_HOME "В начало"
|
||||||
IDTB_SYNC "Синхронизировать"
|
IDTB_SYNC "Синхронизировать"
|
||||||
IDTB_PRINT "Печять"
|
IDTB_PRINT "Ïå÷àòü"
|
||||||
IDTB_OPTIONS "Настройки"
|
IDTB_OPTIONS "Настройки"
|
||||||
IDTB_FORWARD "В перёд"
|
IDTB_FORWARD "Âïåð¸ä"
|
||||||
IDTB_NOTES "Записки"
|
IDTB_NOTES "Записки"
|
||||||
IDTB_BROWSE_FWD "Просмотр в перёд"
|
IDTB_BROWSE_FWD "Ïðîñìîòð âïåð¸ä"
|
||||||
IDTB_BROWSE_BACK "Просмотр назад"
|
IDTB_BROWSE_BACK "Просмотр назад"
|
||||||
IDTB_CONTENTS "Содержание"
|
IDTB_CONTENTS "Содержание"
|
||||||
IDTB_INDEX "Оглавление"
|
IDTB_INDEX "Оглавление"
|
||||||
|
|
62
reactos/dll/win32/hhctrl.ocx/Si.rc
Normal file
62
reactos/dll/win32/hhctrl.ocx/Si.rc
Normal file
|
@ -0,0 +1,62 @@
|
||||||
|
/*
|
||||||
|
* HTML Help resources
|
||||||
|
* Slovenian Language Support
|
||||||
|
*
|
||||||
|
* Copyright 2008 Rok Mandeljc
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
* License as published by the Free Software Foundation; either
|
||||||
|
* version 2.1 of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma code_page(65001)
|
||||||
|
|
||||||
|
LANGUAGE LANG_SLOVENIAN, SUBLANG_DEFAULT
|
||||||
|
|
||||||
|
STRINGTABLE
|
||||||
|
BEGIN
|
||||||
|
IDS_CONTENTS "&Vsebina"
|
||||||
|
IDS_INDEX "I&ndeks"
|
||||||
|
IDS_SEARCH "&Iskanje"
|
||||||
|
IDS_FAVORITES "&Priljubljene"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGTABLE
|
||||||
|
BEGIN
|
||||||
|
IDTB_EXPAND "Pokaži"
|
||||||
|
IDTB_CONTRACT "Skrij"
|
||||||
|
IDTB_STOP "Ustavi"
|
||||||
|
IDTB_REFRESH "Osveži"
|
||||||
|
IDTB_BACK "Nazaj"
|
||||||
|
IDTB_HOME "Domov"
|
||||||
|
IDTB_SYNC "Sinhroniziraj"
|
||||||
|
IDTB_PRINT "Natisni"
|
||||||
|
IDTB_OPTIONS "Možnosti"
|
||||||
|
IDTB_FORWARD "Naprej"
|
||||||
|
IDTB_NOTES "IDTB_NOTES"
|
||||||
|
IDTB_BROWSE_FWD "IDTB_BROWSE_FWD"
|
||||||
|
IDTB_BROWSE_BACK "IDT_BROWSE_BACK"
|
||||||
|
IDTB_CONTENTS "IDTB_CONTENTS"
|
||||||
|
IDTB_INDEX "IDTB_INDEX"
|
||||||
|
IDTB_SEARCH "IDTB_SEARCH"
|
||||||
|
IDTB_HISTORY "IDTB_HISTORY"
|
||||||
|
IDTB_FAVORITES "IDTB_FAVORITES"
|
||||||
|
IDTB_JUMP1 "Skok1"
|
||||||
|
IDTB_JUMP2 "Skok2"
|
||||||
|
IDTB_CUSTOMIZE "Prilagodi"
|
||||||
|
IDTB_ZOOM "Zoom"
|
||||||
|
IDTB_TOC_NEXT "IDTB_TOC_NEXT"
|
||||||
|
IDTB_TOC_PREV "IDTB_TOC_PREV"
|
||||||
|
END
|
||||||
|
|
||||||
|
#pragma code_page(default)
|
|
@ -19,7 +19,7 @@
|
||||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
LANGUAGE LANG_SWEDISH, SUBLANG_DEFAULT
|
LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL
|
||||||
|
|
||||||
STRINGTABLE
|
STRINGTABLE
|
||||||
BEGIN
|
BEGIN
|
||||||
|
|
|
@ -229,7 +229,7 @@ BOOL LoadWinTypeFromCHM(HHInfo *info)
|
||||||
info->WinType.cbStruct=sizeof(info->WinType);
|
info->WinType.cbStruct=sizeof(info->WinType);
|
||||||
info->WinType.fUniCodeStrings=TRUE;
|
info->WinType.fUniCodeStrings=TRUE;
|
||||||
info->WinType.pszType=strdupW(defaultwinW);
|
info->WinType.pszType=strdupW(defaultwinW);
|
||||||
info->WinType.pszToc = strdupW(info->pCHMInfo->defToc);
|
info->WinType.pszToc = strdupW(info->pCHMInfo->defToc ? info->pCHMInfo->defToc : null);
|
||||||
info->WinType.pszIndex = strdupW(null);
|
info->WinType.pszIndex = strdupW(null);
|
||||||
info->WinType.fsValidMembers=0;
|
info->WinType.fsValidMembers=0;
|
||||||
info->WinType.fsWinProperties=HHWIN_PROP_TRI_PANE;
|
info->WinType.fsWinProperties=HHWIN_PROP_TRI_PANE;
|
||||||
|
@ -363,14 +363,13 @@ IStream *GetChmStream(CHMInfo *info, LPCWSTR parent_chm, ChmPath *chm_file)
|
||||||
CHMInfo *OpenCHM(LPCWSTR szFile)
|
CHMInfo *OpenCHM(LPCWSTR szFile)
|
||||||
{
|
{
|
||||||
WCHAR file[MAX_PATH] = {0};
|
WCHAR file[MAX_PATH] = {0};
|
||||||
DWORD res;
|
|
||||||
HRESULT hres;
|
HRESULT hres;
|
||||||
|
|
||||||
static const WCHAR wszSTRINGS[] = {'#','S','T','R','I','N','G','S',0};
|
static const WCHAR wszSTRINGS[] = {'#','S','T','R','I','N','G','S',0};
|
||||||
|
|
||||||
CHMInfo *ret = heap_alloc_zero(sizeof(CHMInfo));
|
CHMInfo *ret = heap_alloc_zero(sizeof(CHMInfo));
|
||||||
|
|
||||||
res = GetFullPathNameW(szFile, sizeof(file)/sizeof(file[0]), file, NULL);
|
GetFullPathNameW(szFile, sizeof(file)/sizeof(file[0]), file, NULL);
|
||||||
ret->szFile = strdupW(file);
|
ret->szFile = strdupW(file);
|
||||||
|
|
||||||
hres = CoCreateInstance(&CLSID_ITStorage, NULL, CLSCTX_INPROC_SERVER,
|
hres = CoCreateInstance(&CLSID_ITStorage, NULL, CLSCTX_INPROC_SERVER,
|
||||||
|
@ -391,7 +390,7 @@ CHMInfo *OpenCHM(LPCWSTR szFile)
|
||||||
&ret->strings_stream);
|
&ret->strings_stream);
|
||||||
if(FAILED(hres)) {
|
if(FAILED(hres)) {
|
||||||
WARN("Could not open #STRINGS stream: %08x\n", hres);
|
WARN("Could not open #STRINGS stream: %08x\n", hres);
|
||||||
return CloseCHM(ret);
|
/* It's not critical, so we pass */
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!ReadChmSystem(ret)) {
|
if(!ReadChmSystem(ret)) {
|
||||||
|
|
|
@ -89,9 +89,15 @@ BOOL NavigateToUrl(HHInfo *info, LPCWSTR surl)
|
||||||
BOOL ret;
|
BOOL ret;
|
||||||
HRESULT hres;
|
HRESULT hres;
|
||||||
|
|
||||||
|
static const WCHAR url_indicator[] = {':', '/', '/'};
|
||||||
|
|
||||||
|
TRACE("%s\n", debugstr_w(surl));
|
||||||
|
|
||||||
|
if (strstrW(surl, url_indicator)) {
|
||||||
hres = navigate_url(info, surl);
|
hres = navigate_url(info, surl);
|
||||||
if(SUCCEEDED(hres))
|
if(SUCCEEDED(hres))
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
} /* look up in chm if it doesn't look like a full url */
|
||||||
|
|
||||||
SetChmPath(&chm_path, info->pCHMInfo->szFile, surl);
|
SetChmPath(&chm_path, info->pCHMInfo->szFile, surl);
|
||||||
ret = NavigateToChm(info, chm_path.chm_file, chm_path.chm_index);
|
ret = NavigateToChm(info, chm_path.chm_file, chm_path.chm_index);
|
||||||
|
@ -575,7 +581,7 @@ static BOOL HH_AddToolbar(HHInfo *pHHInfo)
|
||||||
{
|
{
|
||||||
LPWSTR szBuf = HH_LoadString(buttons[dwIndex].idCommand);
|
LPWSTR szBuf = HH_LoadString(buttons[dwIndex].idCommand);
|
||||||
DWORD dwLen = strlenW(szBuf);
|
DWORD dwLen = strlenW(szBuf);
|
||||||
szBuf[dwLen + 2] = 0; /* Double-null terminate */
|
szBuf[dwLen + 1] = 0; /* Double-null terminate */
|
||||||
|
|
||||||
buttons[dwIndex].iString = (DWORD)SendMessageW(hToolbar, TB_ADDSTRINGW, 0, (LPARAM)szBuf);
|
buttons[dwIndex].iString = (DWORD)SendMessageW(hToolbar, TB_ADDSTRINGW, 0, (LPARAM)szBuf);
|
||||||
heap_free(szBuf);
|
heap_free(szBuf);
|
||||||
|
|
|
@ -108,6 +108,9 @@ HWND WINAPI HtmlHelpW(HWND caller, LPCWSTR filename, UINT command, DWORD_PTR dat
|
||||||
|
|
||||||
FIXME("Not all HH cases handled correctly\n");
|
FIXME("Not all HH cases handled correctly\n");
|
||||||
|
|
||||||
|
if (!filename)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
index = strstrW(filename, delimW);
|
index = strstrW(filename, delimW);
|
||||||
if (index)
|
if (index)
|
||||||
{
|
{
|
||||||
|
@ -123,34 +126,41 @@ HWND WINAPI HtmlHelpW(HWND caller, LPCWSTR filename, UINT command, DWORD_PTR dat
|
||||||
}
|
}
|
||||||
|
|
||||||
info = CreateHelpViewer(filename);
|
info = CreateHelpViewer(filename);
|
||||||
|
if(!info)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
if (info)
|
if(!index)
|
||||||
{
|
|
||||||
if (!index)
|
|
||||||
index = info->WinType.pszFile;
|
index = info->WinType.pszFile;
|
||||||
|
|
||||||
res = NavigateToChm(info, info->pCHMInfo->szFile, index);
|
res = NavigateToChm(info, info->pCHMInfo->szFile, index);
|
||||||
if(!res)
|
if(!res)
|
||||||
|
{
|
||||||
ReleaseHelpViewer(info);
|
ReleaseHelpViewer(info);
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
|
return info->WinType.hwndHelp;
|
||||||
return NULL; /* FIXME */
|
|
||||||
}
|
}
|
||||||
case HH_HELP_CONTEXT: {
|
case HH_HELP_CONTEXT: {
|
||||||
HHInfo *info;
|
HHInfo *info;
|
||||||
LPWSTR url;
|
LPWSTR url;
|
||||||
|
|
||||||
|
if (!filename)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
info = CreateHelpViewer(filename);
|
info = CreateHelpViewer(filename);
|
||||||
if(!info)
|
if(!info)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
url = FindContextAlias(info->pCHMInfo, data);
|
url = FindContextAlias(info->pCHMInfo, data);
|
||||||
if(!url)
|
if(!url)
|
||||||
|
{
|
||||||
|
ReleaseHelpViewer(info);
|
||||||
return NULL;
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
NavigateToUrl(info, url);
|
NavigateToUrl(info, url);
|
||||||
heap_free(url);
|
heap_free(url);
|
||||||
|
return info->WinType.hwndHelp;
|
||||||
return NULL; /* FIXME */
|
|
||||||
}
|
}
|
||||||
case HH_PRETRANSLATEMESSAGE: {
|
case HH_PRETRANSLATEMESSAGE: {
|
||||||
static BOOL warned = FALSE;
|
static BOOL warned = FALSE;
|
||||||
|
|
|
@ -30,6 +30,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
|
||||||
#include "version.rc"
|
#include "version.rc"
|
||||||
|
|
||||||
#include "Cs.rc"
|
#include "Cs.rc"
|
||||||
|
#include "Da.rc"
|
||||||
#include "De.rc"
|
#include "De.rc"
|
||||||
#include "El.rc"
|
#include "El.rc"
|
||||||
#include "En.rc"
|
#include "En.rc"
|
||||||
|
@ -41,5 +42,6 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
|
||||||
#include "No.rc"
|
#include "No.rc"
|
||||||
#include "Pl.rc"
|
#include "Pl.rc"
|
||||||
#include "Ru.rc"
|
#include "Ru.rc"
|
||||||
|
#include "Si.rc"
|
||||||
#include "Sv.rc"
|
#include "Sv.rc"
|
||||||
#include "Tr.rc"
|
#include "Tr.rc"
|
||||||
|
|
|
@ -29,6 +29,7 @@ typedef struct {
|
||||||
const IUnknownVtbl *lpIUnknownVtbl;
|
const IUnknownVtbl *lpIUnknownVtbl;
|
||||||
const IAuthenticateVtbl *lpIAuthenticateVtbl;
|
const IAuthenticateVtbl *lpIAuthenticateVtbl;
|
||||||
const IHttpNegotiateVtbl *lpIHttpNegotiateVtbl;
|
const IHttpNegotiateVtbl *lpIHttpNegotiateVtbl;
|
||||||
|
const IExtensionServicesVtbl *lpIExtensionServicesVtbl;
|
||||||
|
|
||||||
LONG ref;
|
LONG ref;
|
||||||
IUnknown *outer;
|
IUnknown *outer;
|
||||||
|
@ -42,6 +43,7 @@ typedef struct {
|
||||||
#define EXTSERVUNK(x) ((IUnknown*) &(x)->lpIUnknownVtbl)
|
#define EXTSERVUNK(x) ((IUnknown*) &(x)->lpIUnknownVtbl)
|
||||||
#define AUTHENTICATE(x) ((IAuthenticate*) &(x)->lpIAuthenticateVtbl)
|
#define AUTHENTICATE(x) ((IAuthenticate*) &(x)->lpIAuthenticateVtbl)
|
||||||
#define HTTPNEGOTIATE(x) ((IHttpNegotiate*) &(x)->lpIHttpNegotiateVtbl)
|
#define HTTPNEGOTIATE(x) ((IHttpNegotiate*) &(x)->lpIHttpNegotiateVtbl)
|
||||||
|
#define EXTENSIONSERVICES(x) ((IExtensionServices*) &(x)->lpIExtensionServicesVtbl)
|
||||||
|
|
||||||
#define EXTSERVUNK_THIS(iface) DEFINE_THIS(ExtensionService, IUnknown, iface)
|
#define EXTSERVUNK_THIS(iface) DEFINE_THIS(ExtensionService, IUnknown, iface)
|
||||||
|
|
||||||
|
@ -60,6 +62,9 @@ static HRESULT WINAPI ExtServUnk_QueryInterface(IUnknown *iface, REFIID riid, vo
|
||||||
}else if(IsEqualGUID(&IID_IHttpNegotiate, riid)) {
|
}else if(IsEqualGUID(&IID_IHttpNegotiate, riid)) {
|
||||||
TRACE("(%p)->(IID_IHttpNegotiate %p)\n", This, ppv);
|
TRACE("(%p)->(IID_IHttpNegotiate %p)\n", This, ppv);
|
||||||
*ppv = HTTPNEGOTIATE(This);
|
*ppv = HTTPNEGOTIATE(This);
|
||||||
|
}else if(IsEqualGUID(&IID_IExtensionServices, riid)) {
|
||||||
|
TRACE("(%p)->(IID_IExtensionServices %p)\n", This, ppv);
|
||||||
|
*ppv = EXTENSIONSERVICES(This);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(*ppv) {
|
if(*ppv) {
|
||||||
|
@ -209,6 +214,90 @@ static const IHttpNegotiateVtbl HttpNegotiateVtbl = {
|
||||||
HttpNegotiate_OnResponse
|
HttpNegotiate_OnResponse
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define EXTENSIONSERVICES_THIS(iface) DEFINE_THIS(ExtensionService, IExtensionServices, iface)
|
||||||
|
|
||||||
|
static HRESULT WINAPI ExtServ_QueryInterface(IExtensionServices *iface, REFIID riid, void **ppv)
|
||||||
|
{
|
||||||
|
ExtensionService *This = EXTENSIONSERVICES_THIS(iface);
|
||||||
|
return IUnknown_QueryInterface(This->outer, riid, ppv);
|
||||||
|
}
|
||||||
|
|
||||||
|
static ULONG WINAPI ExtServ_AddRef(IExtensionServices *iface)
|
||||||
|
{
|
||||||
|
ExtensionService *This = EXTENSIONSERVICES_THIS(iface);
|
||||||
|
return IUnknown_AddRef(This->outer);
|
||||||
|
}
|
||||||
|
|
||||||
|
static ULONG WINAPI ExtServ_Release(IExtensionServices *iface)
|
||||||
|
{
|
||||||
|
ExtensionService *This = EXTENSIONSERVICES_THIS(iface);
|
||||||
|
return IUnknown_Release(This->outer);
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT ExtServ_ImplSetAdditionalHeaders(ExtensionService* This, LPCWSTR pwzAdditionalHeaders)
|
||||||
|
{
|
||||||
|
int len = 0;
|
||||||
|
|
||||||
|
heap_free(This->headers);
|
||||||
|
This->headers = NULL;
|
||||||
|
|
||||||
|
if (!pwzAdditionalHeaders)
|
||||||
|
return S_OK;
|
||||||
|
|
||||||
|
len = strlenW(pwzAdditionalHeaders);
|
||||||
|
|
||||||
|
if(len && pwzAdditionalHeaders[len-1] != '\n' && pwzAdditionalHeaders[len-1] != '\r') {
|
||||||
|
static const WCHAR endlW[] = {'\r','\n',0};
|
||||||
|
This->headers = heap_alloc(len*sizeof(WCHAR) + sizeof(endlW));
|
||||||
|
memcpy(This->headers, pwzAdditionalHeaders, len*sizeof(WCHAR));
|
||||||
|
memcpy(This->headers+len, endlW, sizeof(endlW));
|
||||||
|
}else {
|
||||||
|
This->headers = hlink_strdupW(pwzAdditionalHeaders);
|
||||||
|
}
|
||||||
|
|
||||||
|
return S_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI ExtServ_SetAdditionalHeaders(IExtensionServices* iface, LPCWSTR pwzAdditionalHeaders)
|
||||||
|
{
|
||||||
|
ExtensionService *This = EXTENSIONSERVICES_THIS(iface);
|
||||||
|
|
||||||
|
TRACE("(%p)->(%s)\n", This, debugstr_w(pwzAdditionalHeaders));
|
||||||
|
|
||||||
|
return ExtServ_ImplSetAdditionalHeaders(This,pwzAdditionalHeaders);
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT ExtServ_ImplSetAuthenticateData(ExtensionService* This, HWND phwnd, LPCWSTR pwzUsername, LPCWSTR pwzPassword)
|
||||||
|
{
|
||||||
|
heap_free(This->username);
|
||||||
|
heap_free(This->password);
|
||||||
|
|
||||||
|
This->hwnd = phwnd;
|
||||||
|
This->username = hlink_strdupW(pwzUsername);
|
||||||
|
This->password = hlink_strdupW(pwzPassword);
|
||||||
|
|
||||||
|
return S_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI ExtServ_SetAuthenticateData(IExtensionServices* iface, HWND phwnd, LPCWSTR pwzUsername, LPCWSTR pwzPassword)
|
||||||
|
{
|
||||||
|
ExtensionService *This = EXTENSIONSERVICES_THIS(iface);
|
||||||
|
|
||||||
|
TRACE("(%p)->(%p %s %s)\n", This, phwnd, debugstr_w(pwzUsername), debugstr_w(pwzPassword));
|
||||||
|
|
||||||
|
return ExtServ_ImplSetAuthenticateData(This, phwnd, pwzUsername, pwzPassword);
|
||||||
|
}
|
||||||
|
|
||||||
|
#undef EXTENSIONSERVICES_THIS
|
||||||
|
|
||||||
|
static const IExtensionServicesVtbl ExtServVtbl = {
|
||||||
|
ExtServ_QueryInterface,
|
||||||
|
ExtServ_AddRef,
|
||||||
|
ExtServ_Release,
|
||||||
|
ExtServ_SetAdditionalHeaders,
|
||||||
|
ExtServ_SetAuthenticateData
|
||||||
|
};
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* HlinkCreateExtensionServices (HLINK.@)
|
* HlinkCreateExtensionServices (HLINK.@)
|
||||||
*/
|
*/
|
||||||
|
@ -217,7 +306,6 @@ HRESULT WINAPI HlinkCreateExtensionServices(LPCWSTR pwzAdditionalHeaders,
|
||||||
IUnknown *punkOuter, REFIID riid, void** ppv)
|
IUnknown *punkOuter, REFIID riid, void** ppv)
|
||||||
{
|
{
|
||||||
ExtensionService *ret;
|
ExtensionService *ret;
|
||||||
int len = 0;
|
|
||||||
HRESULT hres = S_OK;
|
HRESULT hres = S_OK;
|
||||||
|
|
||||||
TRACE("%s %p %s %s %p %s %p\n",debugstr_w(pwzAdditionalHeaders),
|
TRACE("%s %p %s %s %p %s %p\n",debugstr_w(pwzAdditionalHeaders),
|
||||||
|
@ -229,22 +317,15 @@ HRESULT WINAPI HlinkCreateExtensionServices(LPCWSTR pwzAdditionalHeaders,
|
||||||
ret->lpIUnknownVtbl = &ExtServUnkVtbl;
|
ret->lpIUnknownVtbl = &ExtServUnkVtbl;
|
||||||
ret->lpIAuthenticateVtbl = &AuthenticateVtbl;
|
ret->lpIAuthenticateVtbl = &AuthenticateVtbl;
|
||||||
ret->lpIHttpNegotiateVtbl = &HttpNegotiateVtbl;
|
ret->lpIHttpNegotiateVtbl = &HttpNegotiateVtbl;
|
||||||
|
ret->lpIExtensionServicesVtbl= &ExtServVtbl;
|
||||||
ret->ref = 1;
|
ret->ref = 1;
|
||||||
ret->hwnd = phwnd;
|
ret->headers = NULL;
|
||||||
ret->username = hlink_strdupW(pszUsername);
|
ret->hwnd = NULL;
|
||||||
ret->password = hlink_strdupW(pszPassword);
|
ret->username = NULL;
|
||||||
|
ret->password = NULL;
|
||||||
|
|
||||||
if(pwzAdditionalHeaders)
|
ExtServ_ImplSetAuthenticateData(ret, phwnd, pszUsername, pszPassword);
|
||||||
len = strlenW(pwzAdditionalHeaders);
|
ExtServ_ImplSetAdditionalHeaders(ret, pwzAdditionalHeaders);
|
||||||
|
|
||||||
if(len && pwzAdditionalHeaders[len-1] != '\n' && pwzAdditionalHeaders[len-1] != '\r') {
|
|
||||||
static const WCHAR endlW[] = {'\r','\n',0};
|
|
||||||
ret->headers = heap_alloc(len*sizeof(WCHAR) + sizeof(endlW));
|
|
||||||
memcpy(ret->headers, pwzAdditionalHeaders, len*sizeof(WCHAR));
|
|
||||||
memcpy(ret->headers+len, endlW, sizeof(endlW));
|
|
||||||
}else {
|
|
||||||
ret->headers = hlink_strdupW(pwzAdditionalHeaders);
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!punkOuter) {
|
if(!punkOuter) {
|
||||||
ret->outer = EXTSERVUNK(ret);
|
ret->outer = EXTSERVUNK(ret);
|
||||||
|
|
|
@ -481,8 +481,8 @@ static const IClassFactoryVtbl hlcfvt =
|
||||||
HLinkCF_fnLockServer
|
HLinkCF_fnLockServer
|
||||||
};
|
};
|
||||||
|
|
||||||
static CFImpl HLink_cf = { &hlcfvt, &HLink_Constructor };
|
static CFImpl HLink_cf = { &hlcfvt, HLink_Constructor };
|
||||||
static CFImpl HLinkBrowseContext_cf = { &hlcfvt, &HLinkBrowseContext_Constructor };
|
static CFImpl HLinkBrowseContext_cf = { &hlcfvt, HLinkBrowseContext_Constructor };
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* DllGetClassObject (HLINK.@)
|
* DllGetClassObject (HLINK.@)
|
||||||
|
|
|
@ -1,12 +1,19 @@
|
||||||
<module name="inetcomm" type="win32dll" baseaddress="${BASEADDRESS_INETCOMM}" installbase="system32" installname="inetcomm.dll" allowwarnings="true" entrypoint="0">
|
<?xml version="1.0"?>
|
||||||
|
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
|
||||||
|
<group>
|
||||||
|
<module name="inetcomm" type="win32dll" baseaddress="${BASEADDRESS_INETCOMM}" installbase="system32" installname="inetcomm.dll" allowwarnings="true">
|
||||||
|
<autoregister infsection="OleControlDlls" type="DllRegisterServer" />
|
||||||
<importlibrary definition="inetcomm.spec.def" />
|
<importlibrary definition="inetcomm.spec.def" />
|
||||||
<include base="inetcomm">.</include>
|
<include base="inetcomm">.</include>
|
||||||
<include base="ReactOS">include/reactos/wine</include>
|
<include base="ReactOS">include/reactos/wine</include>
|
||||||
<define name="__WINESRC__" />
|
<define name="__WINESRC__" />
|
||||||
<define name="__USE_W32API" />
|
|
||||||
<define name="_WIN32_IE">0x600</define>
|
|
||||||
<define name="_WIN32_WINNT">0x600</define>
|
|
||||||
<define name="WINVER">0x600</define>
|
<define name="WINVER">0x600</define>
|
||||||
|
<define name="_WIN32_WINNT">0x600</define>
|
||||||
|
<file>inetcomm_main.c</file>
|
||||||
|
<file>internettransport.c</file>
|
||||||
|
<file>mimeole.c</file>
|
||||||
|
<file>regsvr.c</file>
|
||||||
|
<file>inetcomm.spec</file>
|
||||||
<library>wine</library>
|
<library>wine</library>
|
||||||
<library>uuid</library>
|
<library>uuid</library>
|
||||||
<library>ole32</library>
|
<library>ole32</library>
|
||||||
|
@ -15,9 +22,5 @@
|
||||||
<library>advapi32</library>
|
<library>advapi32</library>
|
||||||
<library>kernel32</library>
|
<library>kernel32</library>
|
||||||
<library>ntdll</library>
|
<library>ntdll</library>
|
||||||
<file>inetcomm_main.c</file>
|
|
||||||
<file>internettransport.c</file>
|
|
||||||
<file>mimeole.c</file>
|
|
||||||
<file>regsvr.c</file>
|
|
||||||
<file>inetcomm.spec</file>
|
|
||||||
</module>
|
</module>
|
||||||
|
</group>
|
||||||
|
|
|
@ -1629,8 +1629,8 @@ static body_t *create_sub_body(MimeMessage *msg, IStream *pStm, BODYOFFSETS *off
|
||||||
IStream *sub_stream;
|
IStream *sub_stream;
|
||||||
ULARGE_INTEGER start, length;
|
ULARGE_INTEGER start, length;
|
||||||
|
|
||||||
start.u.LowPart = cur->offsets.cbHeaderStart;
|
start.QuadPart = cur->offsets.cbHeaderStart;
|
||||||
length.u.LowPart = cur->offsets.cbBodyEnd - cur->offsets.cbHeaderStart;
|
length.QuadPart = cur->offsets.cbBodyEnd - cur->offsets.cbHeaderStart;
|
||||||
create_sub_stream(pStm, start, length, &sub_stream);
|
create_sub_stream(pStm, start, length, &sub_stream);
|
||||||
sub_body = create_sub_body(msg, sub_stream, &cur->offsets, body);
|
sub_body = create_sub_body(msg, sub_stream, &cur->offsets, body);
|
||||||
IStream_Release(sub_stream);
|
IStream_Release(sub_stream);
|
||||||
|
|
|
@ -1,17 +1,19 @@
|
||||||
<module name="inetmib1" type="win32dll" baseaddress="${BASEADDRESS_INETMIB1}" installbase="system32" installname="inetmib1.dll" allowwarnings="true" entrypoint="0">
|
<?xml version="1.0"?>
|
||||||
|
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
|
||||||
|
<group>
|
||||||
|
<module name="inetmib1" type="win32dll" baseaddress="${BASEADDRESS_INETMIB1}" installbase="system32" installname="inetmib1.dll" allowwarnings="true">
|
||||||
<importlibrary definition="inetmib1.spec.def" />
|
<importlibrary definition="inetmib1.spec.def" />
|
||||||
<include base="inetmib1">.</include>
|
<include base="inetmib1">.</include>
|
||||||
<include base="ReactOS">include/reactos/wine</include>
|
<include base="ReactOS">include/reactos/wine</include>
|
||||||
<define name="__WINESRC__" />
|
<define name="__WINESRC__" />
|
||||||
<define name="__USE_W32API" />
|
<define name="WINVER">0x600</define>
|
||||||
<define name="_WIN32_IE">0x600</define>
|
<define name="_WIN32_WINNT">0x600</define>
|
||||||
<define name="_WIN32_WINNT">0x501</define>
|
<file>main.c</file>
|
||||||
<define name="WINVER">0x501</define>
|
<file>inetmib1.spec</file>
|
||||||
<library>wine</library>
|
<library>wine</library>
|
||||||
<library>snmpapi</library>
|
<library>snmpapi</library>
|
||||||
<library>kernel32</library>
|
<library>kernel32</library>
|
||||||
<library>iphlpapi</library>
|
<library>iphlpapi</library>
|
||||||
<library>ntdll</library>
|
<library>ntdll</library>
|
||||||
<file>main.c</file>
|
|
||||||
<file>inetmib1.spec</file>
|
|
||||||
</module>
|
</module>
|
||||||
|
</group>
|
||||||
|
|
|
@ -29,26 +29,6 @@
|
||||||
|
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(inetmib1);
|
WINE_DEFAULT_DEBUG_CHANNEL(inetmib1);
|
||||||
|
|
||||||
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
|
|
||||||
{
|
|
||||||
TRACE("(0x%p, %d, %p)\n", hinstDLL, fdwReason, lpvReserved);
|
|
||||||
|
|
||||||
switch (fdwReason)
|
|
||||||
{
|
|
||||||
case DLL_WINE_PREATTACH:
|
|
||||||
return FALSE; /* prefer native version */
|
|
||||||
case DLL_PROCESS_ATTACH:
|
|
||||||
DisableThreadLibraryCalls(hinstDLL);
|
|
||||||
break;
|
|
||||||
case DLL_PROCESS_DETACH:
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Utility functions
|
* Utility functions
|
||||||
*/
|
*/
|
||||||
|
@ -115,6 +95,7 @@ struct mibImplementation
|
||||||
AsnObjectIdentifier name;
|
AsnObjectIdentifier name;
|
||||||
void (*init)(void);
|
void (*init)(void);
|
||||||
varqueryfunc query;
|
varqueryfunc query;
|
||||||
|
void (*cleanup)(void);
|
||||||
};
|
};
|
||||||
|
|
||||||
static UINT mib2IfNumber[] = { 1,3,6,1,2,1,2,1 };
|
static UINT mib2IfNumber[] = { 1,3,6,1,2,1,2,1 };
|
||||||
|
@ -132,6 +113,11 @@ static void mib2IfNumberInit(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void mib2IfNumberCleanup(void)
|
||||||
|
{
|
||||||
|
HeapFree(GetProcessHeap(), 0, ifTable);
|
||||||
|
}
|
||||||
|
|
||||||
static BOOL mib2IfNumberQuery(BYTE bPduType, SnmpVarBind *pVarBind,
|
static BOOL mib2IfNumberQuery(BYTE bPduType, SnmpVarBind *pVarBind,
|
||||||
AsnInteger32 *pErrorStatus)
|
AsnInteger32 *pErrorStatus)
|
||||||
{
|
{
|
||||||
|
@ -352,18 +338,18 @@ static UINT findValueInTable(AsnObjectIdentifier *oid,
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Given an OID and a base OID that it must begin with, finds the item and
|
/* Given an OID and a base OID that it must begin with, finds the item and
|
||||||
* element of the table whose IP address matches the instance from the OID.
|
* element of the table whose value matches the instance from the OID.
|
||||||
* E.g., given an OID foo.1.2.3.4.5 and a base OID foo, returns item 1 and the
|
* The OID is converted to a key with the function makeKey, and compared
|
||||||
* index of the entry in the table whose IP address is 2.3.4.5.
|
* against entries in the table with the function compare.
|
||||||
* If bPduType is not SNMP_PDU_GETNEXT and either the item or instance is
|
* If bPduType is not SNMP_PDU_GETNEXT and either the item or instance is
|
||||||
* missing, returns SNMP_ERRORSTATUS_NOSUCHNAME.
|
* missing, returns SNMP_ERRORSTATUS_NOSUCHNAME.
|
||||||
* If bPduType is SNMP_PDU_GETNEXT, returns the successor to the item and
|
* If bPduType is SNMP_PDU_GETNEXT, returns the successor to the item and
|
||||||
* instance, or item 1, instance 1 if either is missing.
|
* instance, or item 1, instance 1 if either is missing.
|
||||||
*/
|
*/
|
||||||
static AsnInteger32 getItemAndIpAddressInstanceFromOid(AsnObjectIdentifier *oid,
|
static AsnInteger32 getItemAndInstanceFromTable(AsnObjectIdentifier *oid,
|
||||||
AsnObjectIdentifier *base, BYTE bPduType, struct GenericTable *table,
|
AsnObjectIdentifier *base, UINT instanceLen, BYTE bPduType,
|
||||||
size_t tableEntrySize, oidToKeyFunc makeKey, compareFunc compare,
|
struct GenericTable *table, size_t tableEntrySize, oidToKeyFunc makeKey,
|
||||||
UINT *item, UINT *instance)
|
compareFunc compare, UINT *item, UINT *instance)
|
||||||
{
|
{
|
||||||
AsnInteger32 ret = SNMP_ERRORSTATUS_NOERROR;
|
AsnInteger32 ret = SNMP_ERRORSTATUS_NOERROR;
|
||||||
|
|
||||||
|
@ -380,7 +366,7 @@ static AsnInteger32 getItemAndIpAddressInstanceFromOid(AsnObjectIdentifier *oid,
|
||||||
*instance = 1;
|
*instance = 1;
|
||||||
}
|
}
|
||||||
else if (!SnmpUtilOidNCmp(oid, base, base->idLength) &&
|
else if (!SnmpUtilOidNCmp(oid, base, base->idLength) &&
|
||||||
oid->idLength < base->idLength + 5)
|
oid->idLength < base->idLength + instanceLen + 1)
|
||||||
{
|
{
|
||||||
/* Either the table or an item is specified, but the instance is
|
/* Either the table or an item is specified, but the instance is
|
||||||
* not.
|
* not.
|
||||||
|
@ -396,7 +382,7 @@ static AsnInteger32 getItemAndIpAddressInstanceFromOid(AsnObjectIdentifier *oid,
|
||||||
*item = 1;
|
*item = 1;
|
||||||
}
|
}
|
||||||
else if (!SnmpUtilOidNCmp(oid, base, base->idLength) &&
|
else if (!SnmpUtilOidNCmp(oid, base, base->idLength) &&
|
||||||
oid->idLength == base->idLength + 5)
|
oid->idLength == base->idLength + instanceLen + 1)
|
||||||
{
|
{
|
||||||
*item = oid->ids[base->idLength];
|
*item = oid->ids[base->idLength];
|
||||||
if (!*item)
|
if (!*item)
|
||||||
|
@ -406,8 +392,8 @@ static AsnInteger32 getItemAndIpAddressInstanceFromOid(AsnObjectIdentifier *oid,
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
AsnObjectIdentifier ipOid = { 4, oid->ids + base->idLength + 1
|
AsnObjectIdentifier ipOid = { instanceLen,
|
||||||
};
|
oid->ids + base->idLength + 1 };
|
||||||
|
|
||||||
*instance = findValueInTable(&ipOid, table, tableEntrySize,
|
*instance = findValueInTable(&ipOid, table, tableEntrySize,
|
||||||
makeKey, compare) + 1;
|
makeKey, compare) + 1;
|
||||||
|
@ -420,15 +406,15 @@ static AsnInteger32 getItemAndIpAddressInstanceFromOid(AsnObjectIdentifier *oid,
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (!SnmpUtilOidNCmp(oid, base, base->idLength) &&
|
if (!SnmpUtilOidNCmp(oid, base, base->idLength) &&
|
||||||
oid->idLength == base->idLength + 5)
|
oid->idLength == base->idLength + instanceLen + 1)
|
||||||
{
|
{
|
||||||
*item = oid->ids[base->idLength];
|
*item = oid->ids[base->idLength];
|
||||||
if (!*item)
|
if (!*item)
|
||||||
ret = SNMP_ERRORSTATUS_NOSUCHNAME;
|
ret = SNMP_ERRORSTATUS_NOSUCHNAME;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
AsnObjectIdentifier ipOid = { 4, oid->ids + base->idLength + 1
|
AsnObjectIdentifier ipOid = { instanceLen,
|
||||||
};
|
oid->ids + base->idLength + 1 };
|
||||||
|
|
||||||
*instance = findValueInTable(&ipOid, table, tableEntrySize,
|
*instance = findValueInTable(&ipOid, table, tableEntrySize,
|
||||||
makeKey, compare);
|
makeKey, compare);
|
||||||
|
@ -653,6 +639,11 @@ static void mib2IpAddrInit(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void mib2IpAddrCleanup(void)
|
||||||
|
{
|
||||||
|
HeapFree(GetProcessHeap(), 0, ipAddrTable);
|
||||||
|
}
|
||||||
|
|
||||||
static void oidToIpAddrRow(AsnObjectIdentifier *oid, void *dst)
|
static void oidToIpAddrRow(AsnObjectIdentifier *oid, void *dst)
|
||||||
{
|
{
|
||||||
MIB_IPADDRROW *row = dst;
|
MIB_IPADDRROW *row = dst;
|
||||||
|
@ -680,8 +671,8 @@ static BOOL mib2IpAddrQuery(BYTE bPduType, SnmpVarBind *pVarBind,
|
||||||
{
|
{
|
||||||
case SNMP_PDU_GET:
|
case SNMP_PDU_GET:
|
||||||
case SNMP_PDU_GETNEXT:
|
case SNMP_PDU_GETNEXT:
|
||||||
*pErrorStatus = getItemAndIpAddressInstanceFromOid(&pVarBind->name,
|
*pErrorStatus = getItemAndInstanceFromTable(&pVarBind->name,
|
||||||
&myOid, bPduType, (struct GenericTable *)ipAddrTable,
|
&myOid, 4, bPduType, (struct GenericTable *)ipAddrTable,
|
||||||
sizeof(MIB_IPADDRROW), oidToIpAddrRow, compareIpAddrRow, &item,
|
sizeof(MIB_IPADDRROW), oidToIpAddrRow, compareIpAddrRow, &item,
|
||||||
&tableIndex);
|
&tableIndex);
|
||||||
if (!*pErrorStatus)
|
if (!*pErrorStatus)
|
||||||
|
@ -736,6 +727,11 @@ static void mib2IpRouteInit(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void mib2IpRouteCleanup(void)
|
||||||
|
{
|
||||||
|
HeapFree(GetProcessHeap(), 0, ipRouteTable);
|
||||||
|
}
|
||||||
|
|
||||||
static void oidToIpForwardRow(AsnObjectIdentifier *oid, void *dst)
|
static void oidToIpForwardRow(AsnObjectIdentifier *oid, void *dst)
|
||||||
{
|
{
|
||||||
MIB_IPFORWARDROW *row = dst;
|
MIB_IPFORWARDROW *row = dst;
|
||||||
|
@ -763,8 +759,8 @@ static BOOL mib2IpRouteQuery(BYTE bPduType, SnmpVarBind *pVarBind,
|
||||||
{
|
{
|
||||||
case SNMP_PDU_GET:
|
case SNMP_PDU_GET:
|
||||||
case SNMP_PDU_GETNEXT:
|
case SNMP_PDU_GETNEXT:
|
||||||
*pErrorStatus = getItemAndIpAddressInstanceFromOid(&pVarBind->name,
|
*pErrorStatus = getItemAndInstanceFromTable(&pVarBind->name,
|
||||||
&myOid, bPduType, (struct GenericTable *)ipRouteTable,
|
&myOid, 4, bPduType, (struct GenericTable *)ipRouteTable,
|
||||||
sizeof(MIB_IPFORWARDROW), oidToIpForwardRow, compareIpForwardRow,
|
sizeof(MIB_IPFORWARDROW), oidToIpForwardRow, compareIpForwardRow,
|
||||||
&item, &tableIndex);
|
&item, &tableIndex);
|
||||||
if (!*pErrorStatus)
|
if (!*pErrorStatus)
|
||||||
|
@ -811,6 +807,11 @@ static void mib2IpNetInit(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void mib2IpNetCleanup(void)
|
||||||
|
{
|
||||||
|
HeapFree(GetProcessHeap(), 0, ipNetTable);
|
||||||
|
}
|
||||||
|
|
||||||
static BOOL mib2IpNetQuery(BYTE bPduType, SnmpVarBind *pVarBind,
|
static BOOL mib2IpNetQuery(BYTE bPduType, SnmpVarBind *pVarBind,
|
||||||
AsnInteger32 *pErrorStatus)
|
AsnInteger32 *pErrorStatus)
|
||||||
{
|
{
|
||||||
|
@ -1037,17 +1038,119 @@ static BOOL mib2UdpQuery(BYTE bPduType, SnmpVarBind *pVarBind,
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static UINT mib2UdpEntry[] = { 1,3,6,1,2,1,7,5,1 };
|
||||||
|
static PMIB_UDPTABLE udpTable;
|
||||||
|
|
||||||
|
static void mib2UdpEntryInit(void)
|
||||||
|
{
|
||||||
|
DWORD size = 0, ret = GetUdpTable(NULL, &size, TRUE);
|
||||||
|
|
||||||
|
if (ret == ERROR_INSUFFICIENT_BUFFER)
|
||||||
|
{
|
||||||
|
udpTable = HeapAlloc(GetProcessHeap(), 0, size);
|
||||||
|
if (udpTable)
|
||||||
|
GetUdpTable(udpTable, &size, TRUE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void mib2UdpEntryCleanup(void)
|
||||||
|
{
|
||||||
|
HeapFree(GetProcessHeap(), 0, udpTable);
|
||||||
|
}
|
||||||
|
|
||||||
|
static struct structToAsnValue mib2UdpEntryMap[] = {
|
||||||
|
{ FIELD_OFFSET(MIB_UDPROW, dwLocalAddr), copyIpAddr },
|
||||||
|
{ FIELD_OFFSET(MIB_UDPROW, dwLocalPort), copyInt },
|
||||||
|
};
|
||||||
|
|
||||||
|
static void oidToUdpRow(AsnObjectIdentifier *oid, void *dst)
|
||||||
|
{
|
||||||
|
MIB_UDPROW *row = dst;
|
||||||
|
|
||||||
|
assert(oid && oid->idLength >= 5);
|
||||||
|
row->dwLocalAddr = oidToIpAddr(oid);
|
||||||
|
row->dwLocalPort = oid->ids[4];
|
||||||
|
}
|
||||||
|
|
||||||
|
static int compareUdpRow(const void *a, const void *b)
|
||||||
|
{
|
||||||
|
const MIB_UDPROW *key = a, *value = b;
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
ret = key->dwLocalAddr - value->dwLocalAddr;
|
||||||
|
if (ret == 0)
|
||||||
|
ret = key->dwLocalPort - value->dwLocalPort;
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
static BOOL mib2UdpEntryQuery(BYTE bPduType, SnmpVarBind *pVarBind,
|
||||||
|
AsnInteger32 *pErrorStatus)
|
||||||
|
{
|
||||||
|
AsnObjectIdentifier myOid = DEFINE_OID(mib2UdpEntry);
|
||||||
|
|
||||||
|
TRACE("(0x%02x, %s, %p)\n", bPduType, SnmpUtilOidToA(&pVarBind->name),
|
||||||
|
pErrorStatus);
|
||||||
|
|
||||||
|
switch (bPduType)
|
||||||
|
{
|
||||||
|
case SNMP_PDU_GET:
|
||||||
|
case SNMP_PDU_GETNEXT:
|
||||||
|
if (!udpTable)
|
||||||
|
*pErrorStatus = SNMP_ERRORSTATUS_NOSUCHNAME;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
UINT tableIndex = 0, item = 0;
|
||||||
|
|
||||||
|
*pErrorStatus = getItemAndInstanceFromTable(&pVarBind->name, &myOid,
|
||||||
|
5, bPduType, (struct GenericTable *)udpTable,
|
||||||
|
sizeof(MIB_UDPROW), oidToUdpRow, compareUdpRow, &item,
|
||||||
|
&tableIndex);
|
||||||
|
if (!*pErrorStatus)
|
||||||
|
{
|
||||||
|
assert(tableIndex);
|
||||||
|
assert(item);
|
||||||
|
*pErrorStatus = mapStructEntryToValue(mib2UdpEntryMap,
|
||||||
|
DEFINE_SIZEOF(mib2UdpEntryMap),
|
||||||
|
&udpTable->table[tableIndex - 1], item, bPduType, pVarBind);
|
||||||
|
if (!*pErrorStatus && bPduType == SNMP_PDU_GETNEXT)
|
||||||
|
{
|
||||||
|
AsnObjectIdentifier oid;
|
||||||
|
|
||||||
|
setOidWithItemAndIpAddr(&pVarBind->name, &myOid, item,
|
||||||
|
udpTable->table[tableIndex - 1].dwLocalAddr);
|
||||||
|
oid.idLength = 1;
|
||||||
|
oid.ids = &udpTable->table[tableIndex - 1].dwLocalPort;
|
||||||
|
SnmpUtilOidAppend(&pVarBind->name, &oid);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case SNMP_PDU_SET:
|
||||||
|
*pErrorStatus = SNMP_ERRORSTATUS_READONLY;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
FIXME("0x%02x: unsupported PDU type\n", bPduType);
|
||||||
|
*pErrorStatus = SNMP_ERRORSTATUS_NOSUCHNAME;
|
||||||
|
}
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
/* This list MUST BE lexicographically sorted */
|
/* This list MUST BE lexicographically sorted */
|
||||||
static struct mibImplementation supportedIDs[] = {
|
static struct mibImplementation supportedIDs[] = {
|
||||||
{ DEFINE_OID(mib2IfNumber), mib2IfNumberInit, mib2IfNumberQuery },
|
{ DEFINE_OID(mib2IfNumber), mib2IfNumberInit, mib2IfNumberQuery,
|
||||||
{ DEFINE_OID(mib2IfEntry), NULL, mib2IfEntryQuery },
|
mib2IfNumberCleanup },
|
||||||
{ DEFINE_OID(mib2Ip), mib2IpStatsInit, mib2IpStatsQuery },
|
{ DEFINE_OID(mib2IfEntry), NULL, mib2IfEntryQuery, NULL },
|
||||||
{ DEFINE_OID(mib2IpAddr), mib2IpAddrInit, mib2IpAddrQuery },
|
{ DEFINE_OID(mib2Ip), mib2IpStatsInit, mib2IpStatsQuery, NULL },
|
||||||
{ DEFINE_OID(mib2IpRoute), mib2IpRouteInit, mib2IpRouteQuery },
|
{ DEFINE_OID(mib2IpAddr), mib2IpAddrInit, mib2IpAddrQuery,
|
||||||
{ DEFINE_OID(mib2IpNet), mib2IpNetInit, mib2IpNetQuery },
|
mib2IpAddrCleanup },
|
||||||
{ DEFINE_OID(mib2Icmp), mib2IcmpInit, mib2IcmpQuery },
|
{ DEFINE_OID(mib2IpRoute), mib2IpRouteInit, mib2IpRouteQuery,
|
||||||
{ DEFINE_OID(mib2Tcp), mib2TcpInit, mib2TcpQuery },
|
mib2IpRouteCleanup },
|
||||||
{ DEFINE_OID(mib2Udp), mib2UdpInit, mib2UdpQuery },
|
{ DEFINE_OID(mib2IpNet), mib2IpNetInit, mib2IpNetQuery, mib2IpNetCleanup },
|
||||||
|
{ DEFINE_OID(mib2Icmp), mib2IcmpInit, mib2IcmpQuery, NULL },
|
||||||
|
{ DEFINE_OID(mib2Tcp), mib2TcpInit, mib2TcpQuery, NULL },
|
||||||
|
{ DEFINE_OID(mib2Udp), mib2UdpInit, mib2UdpQuery, NULL },
|
||||||
|
{ DEFINE_OID(mib2UdpEntry), mib2UdpEntryInit, mib2UdpEntryQuery,
|
||||||
|
mib2UdpEntryCleanup },
|
||||||
};
|
};
|
||||||
static UINT minSupportedIDLength;
|
static UINT minSupportedIDLength;
|
||||||
|
|
||||||
|
@ -1073,6 +1176,15 @@ BOOL WINAPI SnmpExtensionInit(DWORD dwUptimeReference,
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void cleanup(void)
|
||||||
|
{
|
||||||
|
UINT i;
|
||||||
|
|
||||||
|
for (i = 0; i < sizeof(supportedIDs) / sizeof(supportedIDs[0]); i++)
|
||||||
|
if (supportedIDs[i].cleanup)
|
||||||
|
supportedIDs[i].cleanup();
|
||||||
|
}
|
||||||
|
|
||||||
static struct mibImplementation *findSupportedQuery(UINT *ids, UINT idLength,
|
static struct mibImplementation *findSupportedQuery(UINT *ids, UINT idLength,
|
||||||
UINT *matchingIndex)
|
UINT *matchingIndex)
|
||||||
{
|
{
|
||||||
|
@ -1169,3 +1281,22 @@ BOOL WINAPI SnmpExtensionQuery(BYTE bPduType, SnmpVarBindList *pVarBindList,
|
||||||
*pErrorIndex = errorIndex;
|
*pErrorIndex = errorIndex;
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
|
||||||
|
{
|
||||||
|
TRACE("(0x%p, %d, %p)\n", hinstDLL, fdwReason, lpvReserved);
|
||||||
|
|
||||||
|
switch (fdwReason)
|
||||||
|
{
|
||||||
|
case DLL_PROCESS_ATTACH:
|
||||||
|
DisableThreadLibraryCalls(hinstDLL);
|
||||||
|
break;
|
||||||
|
case DLL_PROCESS_DETACH:
|
||||||
|
cleanup();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
|
@ -1579,7 +1579,7 @@ static inline ULONG WINAPI IMAPIProp_fnRelease(LPMAPIPROP iface)
|
||||||
* NOTES
|
* NOTES
|
||||||
* - If this function succeeds, the returned information in *lppError must be
|
* - If this function succeeds, the returned information in *lppError must be
|
||||||
* freed using MAPIFreeBuffer() once the caller is finished with it.
|
* freed using MAPIFreeBuffer() once the caller is finished with it.
|
||||||
* - It is possible for this function to suceed and set *lppError to NULL,
|
* - It is possible for this function to succeed and set *lppError to NULL,
|
||||||
* if there is no further information to report about hRes.
|
* if there is no further information to report about hRes.
|
||||||
*/
|
*/
|
||||||
static inline HRESULT WINAPI
|
static inline HRESULT WINAPI
|
||||||
|
@ -1598,7 +1598,7 @@ IMAPIProp_fnGetLastError(LPMAPIPROP iface, HRESULT hRes,
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
* IMAPIProp_SaveChanges {MAPI32}
|
* IMAPIProp_SaveChanges {MAPI32}
|
||||||
*
|
*
|
||||||
* Update any changes made to a tansactional IMAPIProp object.
|
* Update any changes made to a transactional IMAPIProp object.
|
||||||
*
|
*
|
||||||
* PARAMS
|
* PARAMS
|
||||||
* iface [I] IMAPIProp object to update
|
* iface [I] IMAPIProp object to update
|
||||||
|
@ -1701,7 +1701,7 @@ IMAPIProp_fnGetProps(LPMAPIPROP iface, LPSPropTagArray lpTags,
|
||||||
* iface [I] IMAPIProp object to get the property tag list from
|
* iface [I] IMAPIProp object to get the property tag list from
|
||||||
* ulFlags [I] Return 0=Ascii MAPI_UNICODE=Unicode strings for
|
* ulFlags [I] Return 0=Ascii MAPI_UNICODE=Unicode strings for
|
||||||
* unspecified types
|
* unspecified types
|
||||||
* lppTags [O] Destination for the retrieved peoperty tag list
|
* lppTags [O] Destination for the retrieved property tag list
|
||||||
*
|
*
|
||||||
* RETURNS
|
* RETURNS
|
||||||
* Success: S_OK. *lppTags contains the tags for all available properties.
|
* Success: S_OK. *lppTags contains the tags for all available properties.
|
||||||
|
|
|
@ -704,10 +704,13 @@ static inline INT lcid_to_rfc1766A( LCID lcid, LPSTR rfc1766, INT len )
|
||||||
static inline INT lcid_to_rfc1766W( LCID lcid, LPWSTR rfc1766, INT len )
|
static inline INT lcid_to_rfc1766W( LCID lcid, LPWSTR rfc1766, INT len )
|
||||||
{
|
{
|
||||||
INT n = GetLocaleInfoW( lcid, LOCALE_SISO639LANGNAME, rfc1766, len );
|
INT n = GetLocaleInfoW( lcid, LOCALE_SISO639LANGNAME, rfc1766, len );
|
||||||
|
INT save = n;
|
||||||
if (n)
|
if (n)
|
||||||
{
|
{
|
||||||
rfc1766[n - 1] = '-';
|
rfc1766[n - 1] = '-';
|
||||||
n += GetLocaleInfoW( lcid, LOCALE_SISO3166CTRYNAME, rfc1766 + n, len - n );
|
n += GetLocaleInfoW( lcid, LOCALE_SISO3166CTRYNAME, rfc1766 + n, len - n );
|
||||||
|
if (n == save)
|
||||||
|
rfc1766[n - 1] = '\0';
|
||||||
LCMapStringW( LOCALE_USER_DEFAULT, LCMAP_LOWERCASE, rfc1766, n, rfc1766, len );
|
LCMapStringW( LOCALE_USER_DEFAULT, LCMAP_LOWERCASE, rfc1766, n, rfc1766, len );
|
||||||
return n;
|
return n;
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
|
|
||||||
#include "mpr_Bg.rc"
|
#include "mpr_Bg.rc"
|
||||||
#include "mpr_Cs.rc"
|
#include "mpr_Cs.rc"
|
||||||
|
#include "mpr_Da.rc"
|
||||||
#include "mpr_De.rc"
|
#include "mpr_De.rc"
|
||||||
#include "mpr_En.rc"
|
#include "mpr_En.rc"
|
||||||
#include "mpr_Eo.rc"
|
#include "mpr_Eo.rc"
|
||||||
|
@ -39,7 +40,9 @@
|
||||||
#include "mpr_No.rc"
|
#include "mpr_No.rc"
|
||||||
#include "mpr_Pl.rc"
|
#include "mpr_Pl.rc"
|
||||||
#include "mpr_Pt.rc"
|
#include "mpr_Pt.rc"
|
||||||
|
#include "mpr_Ro.rc"
|
||||||
#include "mpr_Ru.rc"
|
#include "mpr_Ru.rc"
|
||||||
|
#include "mpr_Si.rc"
|
||||||
#include "mpr_Sv.rc"
|
#include "mpr_Sv.rc"
|
||||||
#include "mpr_Tr.rc"
|
#include "mpr_Tr.rc"
|
||||||
#include "mpr_Uk.rc"
|
#include "mpr_Uk.rc"
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* MPR dll resources (Ukrainian)
|
* MPR dll resources for Danish
|
||||||
*
|
*
|
||||||
* Copyright 2006 Artem Reznikov
|
* Copyright (C) 2008 Jens Albretsen <jens@albretsen.dk>
|
||||||
*
|
*
|
||||||
* This library is free software; you can redistribute it and/or
|
* This library is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
@ -15,32 +15,32 @@
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
* License along with this library; if not, write to the Free Software
|
* License along with this library; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
|
LANGUAGE LANG_DANISH, SUBLANG_DEFAULT
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
{
|
{
|
||||||
IDS_ENTIRENETWORK "Âñÿ Ìåðåæà"
|
IDS_ENTIRENETWORK "Hele netværket"
|
||||||
}
|
}
|
||||||
|
|
||||||
IDD_PROXYDLG DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 250, 154
|
IDD_PROXYDLG DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 250, 154
|
||||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||||
CAPTION "Ââåä³òü Ìåðåæíèé Ïàðîëü"
|
CAPTION "Skriv netværkskodeord"
|
||||||
FONT 8, "MS Shell Dlg"
|
FONT 8, "MS Shell Dlg"
|
||||||
{
|
{
|
||||||
LTEXT "Áóäü ëàñêà, ââåä³òü Âàø³ ³ì'ÿ òà ïàðîëü:", IDC_EXPLAIN, 40, 6, 150, 15
|
LTEXT "Skriv dit brugernavn og kodeord:", IDC_EXPLAIN, 40, 6, 150, 15
|
||||||
LTEXT "Ïðîêñ³", -1, 40, 26, 50, 10
|
LTEXT "Proxy", -1, 40, 26, 50, 10
|
||||||
/* LTEXT "Realm", -1, 40, 46, 50, 10 */
|
/* LTEXT "Realm", -1, 40, 46, 50, 10 */
|
||||||
LTEXT "Êîðèñòóâà÷", -1, 40, 66, 50, 10
|
LTEXT "Brugernavn", -1, 40, 66, 50, 10
|
||||||
LTEXT "Ïàðîëü", -1, 40, 86, 50, 10
|
LTEXT "Kodeord", -1, 40, 86, 50, 10
|
||||||
LTEXT "" IDC_PROXY, 80, 26, 150, 14, 0
|
LTEXT "" IDC_PROXY, 80, 26, 150, 14, 0
|
||||||
LTEXT "" IDC_REALM, 80, 46, 150, 14, 0
|
LTEXT "" IDC_REALM, 80, 46, 150, 14, 0
|
||||||
EDITTEXT IDC_USERNAME, 80, 66, 150, 14, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP
|
EDITTEXT IDC_USERNAME, 80, 66, 150, 14, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP
|
||||||
EDITTEXT IDC_PASSWORD, 80, 86, 150, 14, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | ES_PASSWORD
|
EDITTEXT IDC_PASSWORD, 80, 86, 150, 14, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | ES_PASSWORD
|
||||||
CHECKBOX "&Çáåðåãòè öåé ïàðîëü (íåáåçïå÷íî)", IDC_SAVEPASSWORD,
|
CHECKBOX "Gem dette ko&deord (usikkert)", IDC_SAVEPASSWORD,
|
||||||
80, 106, 150, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
|
80, 106, 150, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
|
||||||
PUSHBUTTON "OK", IDOK, 98, 126, 56, 14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON
|
PUSHBUTTON "OK", IDOK, 98, 126, 56, 14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON
|
||||||
PUSHBUTTON "Ñêàñóâàòè", IDCANCEL, 158, 126, 56, 14, WS_GROUP | WS_TABSTOP
|
PUSHBUTTON "Annuller", IDCANCEL, 158, 126, 56, 14, WS_GROUP | WS_TABSTOP
|
||||||
}
|
}
|
48
reactos/dll/win32/mpr/mpr_Ro.rc
Normal file
48
reactos/dll/win32/mpr/mpr_Ro.rc
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2004 Juan Lang
|
||||||
|
* Copyright (C) 2008 Michael Stefaniuc
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
* License as published by the Free Software Foundation; either
|
||||||
|
* version 2.1 of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
|
||||||
|
|
||||||
|
#pragma code_page(65001)
|
||||||
|
|
||||||
|
STRINGTABLE DISCARDABLE
|
||||||
|
{
|
||||||
|
IDS_ENTIRENETWORK "Toată rețeaua"
|
||||||
|
}
|
||||||
|
|
||||||
|
IDD_PROXYDLG DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 250, 154
|
||||||
|
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||||
|
CAPTION "Introducere parolă de rețea"
|
||||||
|
FONT 8, "MS Shell Dlg"
|
||||||
|
{
|
||||||
|
LTEXT "Introduceți numele de utilizator și parola:", IDC_EXPLAIN, 40, 6, 150, 15
|
||||||
|
LTEXT "Proxy", -1, 40, 26, 50, 10
|
||||||
|
LTEXT "Utilizator", -1, 40, 66, 50, 10
|
||||||
|
LTEXT "Parolă", -1, 40, 86, 50, 10
|
||||||
|
LTEXT "" IDC_PROXY, 80, 26, 150, 14, 0
|
||||||
|
LTEXT "" IDC_REALM, 80, 46, 150, 14, 0
|
||||||
|
EDITTEXT IDC_USERNAME, 80, 66, 150, 14, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP
|
||||||
|
EDITTEXT IDC_PASSWORD, 80, 86, 150, 14, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | ES_PASSWORD
|
||||||
|
CHECKBOX "&Salvează această parolă (nesigur)", IDC_SAVEPASSWORD,
|
||||||
|
80, 106, 150, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
|
||||||
|
PUSHBUTTON "OK", IDOK, 98, 126, 56, 14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON
|
||||||
|
PUSHBUTTON "Renunță", IDCANCEL, 158, 126, 56, 14, WS_GROUP | WS_TABSTOP
|
||||||
|
}
|
||||||
|
|
||||||
|
#pragma code_page(default)
|
50
reactos/dll/win32/mpr/mpr_Si.rc
Normal file
50
reactos/dll/win32/mpr/mpr_Si.rc
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
/*
|
||||||
|
* MPR dll resources
|
||||||
|
*
|
||||||
|
* Copyright (C) 2008 Rok Mandeljc
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
* License as published by the Free Software Foundation; either
|
||||||
|
* version 2.1 of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma code_page(65001)
|
||||||
|
|
||||||
|
LANGUAGE LANG_SLOVENIAN, SUBLANG_DEFAULT
|
||||||
|
|
||||||
|
STRINGTABLE DISCARDABLE
|
||||||
|
{
|
||||||
|
IDS_ENTIRENETWORK "Celotno omrežje"
|
||||||
|
}
|
||||||
|
|
||||||
|
IDD_PROXYDLG DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 250, 154
|
||||||
|
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||||
|
CAPTION "Vnesite omrežno geslo"
|
||||||
|
FONT 8, "MS Shell Dlg"
|
||||||
|
{
|
||||||
|
LTEXT "Vnesite uporabniško ime in geslo:", IDC_EXPLAIN, 40, 6, 150, 15
|
||||||
|
LTEXT "Proksi", -1, 40, 26, 50, 10
|
||||||
|
/* LTEXT "Kraljestvo", -1, 40, 46, 50, 10 */
|
||||||
|
LTEXT "Uporabniško ime", -1, 40, 66, 50, 10
|
||||||
|
LTEXT "Geslo", -1, 40, 86, 50, 10
|
||||||
|
LTEXT "" IDC_PROXY, 80, 26, 150, 14, 0
|
||||||
|
LTEXT "" IDC_REALM, 80, 46, 150, 14, 0
|
||||||
|
EDITTEXT IDC_USERNAME, 80, 66, 150, 14, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP
|
||||||
|
EDITTEXT IDC_PASSWORD, 80, 86, 150, 14, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | ES_PASSWORD
|
||||||
|
CHECKBOX "&Shrani geslo (nezaščiteno)", IDC_SAVEPASSWORD,
|
||||||
|
80, 106, 150, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
|
||||||
|
PUSHBUTTON "V redu", IDOK, 98, 126, 56, 14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON
|
||||||
|
PUSHBUTTON "Prekliči", IDCANCEL, 158, 126, 56, 14, WS_GROUP | WS_TABSTOP
|
||||||
|
}
|
||||||
|
|
||||||
|
#pragma code_page(default)
|
|
@ -18,7 +18,7 @@
|
||||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
LANGUAGE LANG_SWEDISH, SUBLANG_DEFAULT
|
LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
{
|
{
|
||||||
|
|
|
@ -76,14 +76,10 @@ static INT_PTR WINAPI NPS_ProxyPasswordDialog(
|
||||||
case WM_COMMAND:
|
case WM_COMMAND:
|
||||||
if( wParam == IDOK )
|
if( wParam == IDOK )
|
||||||
{
|
{
|
||||||
WCHAR username[0x20], password[0x20];
|
|
||||||
|
|
||||||
username[0] = 0;
|
|
||||||
hitem = GetDlgItem( hdlg, IDC_USERNAME );
|
hitem = GetDlgItem( hdlg, IDC_USERNAME );
|
||||||
if( hitem )
|
if( hitem )
|
||||||
GetWindowTextA( hitem, lpAuthDlgStruct->lpUsername, lpAuthDlgStruct->cbUsername );
|
GetWindowTextA( hitem, lpAuthDlgStruct->lpUsername, lpAuthDlgStruct->cbUsername );
|
||||||
|
|
||||||
password[0] = 0;
|
|
||||||
hitem = GetDlgItem( hdlg, IDC_PASSWORD );
|
hitem = GetDlgItem( hdlg, IDC_PASSWORD );
|
||||||
if( hitem )
|
if( hitem )
|
||||||
GetWindowTextA( hitem, lpAuthDlgStruct->lpPassword, lpAuthDlgStruct->cbPassword );
|
GetWindowTextA( hitem, lpAuthDlgStruct->lpPassword, lpAuthDlgStruct->cbPassword );
|
||||||
|
|
|
@ -1312,6 +1312,7 @@ DWORD WINAPI WNetGetResourceInformationA( LPNETRESOURCEA lpNetResource,
|
||||||
ret = _thunkNetResourceArrayAToW(lpNetResource, &count, lpNetResourceW, &size);
|
ret = _thunkNetResourceArrayAToW(lpNetResource, &count, lpNetResourceW, &size);
|
||||||
if (ret == WN_MORE_DATA)
|
if (ret == WN_MORE_DATA)
|
||||||
{
|
{
|
||||||
|
HeapFree(GetProcessHeap(), 0, lpNetResourceW);
|
||||||
lpNetResourceW = HeapAlloc(GetProcessHeap(), 0, size);
|
lpNetResourceW = HeapAlloc(GetProcessHeap(), 0, size);
|
||||||
if (lpNetResourceW)
|
if (lpNetResourceW)
|
||||||
ret = _thunkNetResourceArrayAToW(lpNetResource,
|
ret = _thunkNetResourceArrayAToW(lpNetResource,
|
||||||
|
@ -1343,6 +1344,7 @@ DWORD WINAPI WNetGetResourceInformationA( LPNETRESOURCEA lpNetResource,
|
||||||
{
|
{
|
||||||
ret = _thunkNetResourceArrayWToA(lpBufferW,
|
ret = _thunkNetResourceArrayWToA(lpBufferW,
|
||||||
&count, lpBuffer, cbBuffer);
|
&count, lpBuffer, cbBuffer);
|
||||||
|
HeapFree(GetProcessHeap(), 0, lpNetResourceW);
|
||||||
lpNetResourceW = lpBufferW;
|
lpNetResourceW = lpBufferW;
|
||||||
size = sizeof(NETRESOURCEA);
|
size = sizeof(NETRESOURCEA);
|
||||||
size += WideCharToMultiByte(CP_ACP, 0, lpNetResourceW->lpRemoteName,
|
size += WideCharToMultiByte(CP_ACP, 0, lpNetResourceW->lpRemoteName,
|
||||||
|
|
Loading…
Reference in a new issue