[07/14] inetcomm: Add an implementation of ISMTPTransport2::CommandAUTH.
Hans Leidekker
hans at codeweavers.com
Fri Oct 31 07:51:35 CDT 2008
Changelog
Rob Shearman <rob at codeweavers.com>
Add an implementation of ISMTPTransport2::CommandAUTH.
-Hans
diff --git a/dlls/inetcomm/smtptransport.c b/dlls/inetcomm/smtptransport.c
index c5b8c53..014fd8b 100644
--- a/dlls/inetcomm/smtptransport.c
+++ b/dlls/inetcomm/smtptransport.c
@@ -796,8 +796,28 @@ static HRESULT WINAPI SMTPTransport_CommandHELO(ISMTPTransport2 *iface)
static HRESULT WINAPI SMTPTransport_CommandAUTH(ISMTPTransport2 *iface,
LPSTR pszAuthType)
{
- FIXME("(%s)\n", pszAuthType);
- return E_NOTIMPL;
+ SMTPTransport *This = (SMTPTransport *)iface;
+ const char szCommandFormat[] = "AUTH %s\n";
+ char *szCommand;
+ int len = sizeof(szCommandFormat) - 2 /* "%s" */ + strlen(pszAuthType);
+ HRESULT hr;
+
+ TRACE("(%s)\n", pszAuthType);
+
+ if (!pszAuthType)
+ return E_INVALIDARG;
+
+ szCommand = HeapAlloc(GetProcessHeap(), 0, len);
+ if (!szCommand)
+ return E_OUTOFMEMORY;
+
+ sprintf(szCommand, szCommandFormat, pszAuthType);
+
+ hr = InternetTransport_DoCommand(&This->InetTransport, szCommand,
+ SMTPTransport_CallbackReadResponseDoNothing);
+
+ HeapFree(GetProcessHeap(), 0, szCommand);
+ return hr;
}
static HRESULT WINAPI SMTPTransport_CommandQUIT(ISMTPTransport2 *iface)
More information about the wine-patches
mailing list