diff -u openjdk-6-6b14-1.4.1/IcedTeaPlugin.cc openjdk-6-6b14-1.4.1/IcedTeaPlugin.cc --- openjdk-6-6b14-1.4.1/IcedTeaPlugin.cc +++ openjdk-6-6b14-1.4.1/IcedTeaPlugin.cc @@ -1064,6 +1064,7 @@ IcedTeaPluginFactory* factory; PRUint32 instance_identifier; nsCString instanceIdentifierPrefix; + nsresult GetCookie(const char* siteAddr, char** cookieString); }; @@ -2293,6 +2294,12 @@ return NS_ERROR_NOT_IMPLEMENTED; } +#include +#include +#include +#include +#include + NS_IMPL_ISUPPORTS2 (IcedTeaPluginInstance, nsIPluginInstance, nsIJVMPluginInstance) @@ -2349,25 +2356,35 @@ PLUGIN_DEBUG_1ARG("TAG FROM BROWSER = %s\n", tagMessage.get()); // encode newline characters in the message - nsCString toSend(""); + nsCString encodedAppletTag(""); for (int i=0; i < tagMessage.Length(); i++) { if (tagMessage.get()[i] == '\r') { - toSend += " "; + encodedAppletTag += " "; continue; } if (tagMessage.get()[i] == '\n') { - toSend += " "; + encodedAppletTag += " "; continue; } - toSend += tagMessage.get()[i]; + encodedAppletTag += tagMessage.get()[i]; + } + + nsCString cookieInfo(instanceIdentifierPrefix); + cookieInfo += "cookie "; + + char* cookieString; + if (GetCookie(documentbase, &cookieString) == NS_OK) + { + cookieInfo += cookieString; } - factory->SendMessageToAppletViewer (toSend); + factory->SendMessageToAppletViewer (cookieInfo); + factory->SendMessageToAppletViewer (encodedAppletTag); // Set back-pointer to peer instance. PLUGIN_DEBUG_1ARG ("SETTING PEER!!!: %p\n", aPeer); @@ -2643,6 +2660,42 @@ NS_IMETHODIMP +IcedTeaPluginInstance::GetCookie(const char* siteAddr, char** cookieString) +{ + + nsresult rv; + nsCOMPtr sec_man = + do_GetService(NS_SCRIPTSECURITYMANAGER_CONTRACTID, &rv); + + if (!sec_man) { + return NS_ERROR_FAILURE; + } + + nsCOMPtr io_svc = do_GetService(NS_IOSERVICE_CONTRACTID, &rv); + + if (NS_FAILED(rv) || !io_svc) { + return NS_ERROR_FAILURE; + } + + nsIURI *uri; + io_svc->NewURI(nsCString(siteAddr), NULL, NULL, &uri); + + nsCOMPtr cookie_svc = do_GetService(NS_COOKIESERVICE_CONTRACTID, &rv); + + if (NS_FAILED(rv) || !cookie_svc) { + return NS_ERROR_FAILURE; + } + + rv = cookie_svc->GetCookieString(uri, NULL, cookieString); + + if (NS_FAILED(rv) || !*cookieString) { + return NS_ERROR_FAILURE; + } + + return NS_OK; +} + +NS_IMETHODIMP IcedTeaPluginFactory::GetJavaObject (PRUint32 instance_identifier, jobject* object) { @@ -4461,10 +4514,7 @@ #include #include #include -#include #include -#include -#include #include IcedTeaJNIEnv::IcedTeaJNIEnv (IcedTeaPluginFactory* factory) @@ -4509,16 +4559,6 @@ nsresult IcedTeaJNIEnv::GetEnabledPrivileges(nsCString *privileges, nsISecurityContext *ctx) { - nsresult rv; - nsCOMPtr sec_man = - do_GetService(NS_SCRIPTSECURITYMANAGER_CONTRACTID, &rv); - - if (NS_FAILED(rv) || !sec_man) { - return NS_ERROR_FAILURE; - } - - PRBool isEnabled = PR_FALSE; - // check privileges one by one privileges->Truncate(); diff -u openjdk-6-6b14-1.4.1/debian/changelog openjdk-6-6b14-1.4.1/debian/changelog --- openjdk-6-6b14-1.4.1/debian/changelog +++ openjdk-6-6b14-1.4.1/debian/changelog @@ -1,3 +1,10 @@ +openjdk-6 (6b14-1.4.1-0ubuntu5~tj~ppa1j) jaunty; urgency=low + + * patch: From upstream: + IcedTeaPlugin.cc: Merged from icedtea6 properly (LP: #344705) + + -- TJ Wed, 8 Apr 2009 06:30:00 +0100 + openjdk-6 (6b14-1.4.1-0ubuntu4) jaunty; urgency=low * Disable the additional zero JVM on sparc.