Catcha. We can then provide two features: Jakarta and SMX based. Le jeu. 10 févr. 2022 à 15:08, Andrei Petru Mura <[email protected]> a écrit :
> Hi Jean-Baptiste, > > Maybe in some cases this is working. For me it didn't. (I tried to install > "activation" feature. I think this is what you are suggesting). > I was able to fix my issue only using the servicemix activation-api-1.2.1. > This is because the MailcapCommandMap doesn't seem to load all the > specified mailcaps because of some OSGI class loading issue. > > All the best, > Andrei Mura > > On Thu, Feb 10, 2022 at 4:02 PM Jean-Baptiste Onofré <[email protected]> > wrote: > >> No, I really mean Karaf specs features: >> >> >> https://github.com/apache/karaf/blob/main/assemblies/features/specs/src/main/feature/feature.xml#L42 >> >> We can update the runtime by avoiding the import from the JRE, and >> instead use an activation feature. >> >> Regards >> JB >> >> On Thu, Feb 10, 2022 at 2:49 PM Andrei Petru Mura <[email protected]> >> wrote: >> > >> > Hi Jean-Baptiste, >> > >> > Hmmm... I don't see to mention this before in this thread... You mean >> servicemix-spec? >> > I'm not sure what you mean by "karaf-spec feature". >> > Sorry, but I'm not very familiar with some details of Karaf. >> > >> > Andrei M. >> > >> > On Thu, Feb 10, 2022 at 3:45 PM Jean-Baptiste Onofré <[email protected]> >> wrote: >> >> >> >> Hi Andrei, >> >> >> >> Thanks for the update. And it's what we talked about in a previous >> email. >> >> >> >> What do you think about removing activation from jre.properties and >> >> adding activation spec from karaf-spec feature ? (it's what I proposed >> >> previously). >> >> It should work in almost all cases. >> >> >> >> Regards >> >> JB >> >> >> >> On Thu, Feb 10, 2022 at 2:35 PM Andrei Petru Mura <[email protected]> >> wrote: >> >> > >> >> > After some investigation, I managed to make this work. I'll >> mentioned below a few points which I had to perform. >> >> > First of all, I switched to Karaf 4.3.6. But If you have to stick >> with Karaf 4.3.3, you have only to skip John Taylor's comment bellow. >> >> > In a different thread, entitled "reading mail attachments", John >> Taylor wrote: >> >> > >> >> > With either 4.3.5 or 4.3.6 I believe javax.activation was included >> in the jre-9 export in jre.properties >> >> > That pulls in the com.sun.activation/jakarta.activation bundle I >> believe and that doesn't seem to work with the camel attachments processing. >> >> > >> >> > What I did to resolve it is comment that out in jre.properties and >> pull in the servicemix activation package. >> >> > >> >> > jre.properties >> >> > jre-9= \ >> >> > ${jre-base}, \ >> >> > javax.accessibility, \ >> >> > javax.activity, \ >> >> > javax.annotation;version="1.3", \ >> >> > javax.annotation.processing;version="1.0", \ >> >> > #javax.activation;version="1.2.1", \ >> >> > javax.crypto, \ >> >> > . . . >> >> > >> >> > install -s >> mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.activation-api-1.2.1/1.2.1_3 >> >> > >> >> > More than this, I would add that I installed the servicemix >> activation bundle to start with level 10, and before all other >> installations. I observed that the installation order has an impact on this >> too. >> >> > Afterwards, everything seems to work fine. >> >> > >> >> > All the best, >> >> > Andrei Mura >> >> > >> >> > On Thu, Feb 3, 2022 at 4:29 PM Andrei Petru Mura < >> [email protected]> wrote: >> >> >> >> >> >> Ok. I installed the one provided by eu.agno3.jcifs, but didn't fix >> the issue. >> >> >> >> >> >> Andrei Mura >> >> >> >> >> >> On Thu, Feb 3, 2022 at 4:26 PM Andrei Petru Mura < >> [email protected]> wrote: >> >> >>> >> >> >>> Hmmm... Can you give me the group ID too please? Thanks >> >> >>> >> >> >>> Andrei >> >> >>> >> >> >>> On Thu, Feb 3, 2022 at 4:12 PM Jean-Baptiste Onofré < >> [email protected]> wrote: >> >> >>>> >> >> >>>> Hi >> >> >>>> >> >> >>>> I know that, depending of the use, bouncycastle 1.69 needs >> >> >>>> jcifs-ng/2.1.7 (as it introduced a breaking change). >> >> >>>> >> >> >>>> But probably not related to your issue (the update), but possible >> it's >> >> >>>> the same issue (due to bc breaking change). >> >> >>>> >> >> >>>> Regards >> >> >>>> JB >> >> >>>> >> >> >>>> On 03/02/2022 14:30, Andrei Petru Mura wrote: >> >> >>>> > Hmm... Which ones? I upgraded many others... Including java >> mail. I use >> >> >>>> > jakarta.mail 1.6.7 now. >> >> >>>> > >> >> >>>> > Andrei M. >> >> >>>> > >> >> >>>> > On Thu, Feb 3, 2022 at 3:25 PM Jean-Baptiste Onofré < >> [email protected] >> >> >>>> > <mailto:[email protected]>> wrote: >> >> >>>> > >> >> >>>> > Hi Andrei, >> >> >>>> > >> >> >>>> > Did you upgrade only bouncycastle 1.69 or other dependency ? >> >> >>>> > >> >> >>>> > I remember another deps should be updated. >> >> >>>> > >> >> >>>> > Regards >> >> >>>> > JB >> >> >>>> > >> >> >>>> > On 03/02/2022 14:09, Andrei Petru Mura wrote: >> >> >>>> > > Hi all, >> >> >>>> > > >> >> >>>> > > I upgraded bouncycastle to 1.69 in karaf. When trying to >> run this >> >> >>>> > code: >> >> >>>> > > >> >> >>>> > > MimeBodyPart textPart = new MimeBodyPart(); >> >> >>>> > > textPart.setContent(new String(body), "text/plain"); >> >> >>>> > > textPart.setHeader("Content-Type", messageContentType); >> >> >>>> > > textPart.setHeader("Content-Transfer-Encoding", >> "binary"); >> >> >>>> > > textPart.setHeader("Content-Disposition", "attachment; >> filename=" + >> >> >>>> > > fileName); >> >> >>>> > > >> >> >>>> > > SMIMESignedGenerator gen = new SMIMESignedGenerator(); >> >> >>>> > > gen.setContentTransferEncoding("base64"); >> >> >>>> > > JcaSimpleSignerInfoGeneratorBuilder signerInfoGenerator >> = new >> >> >>>> > > JcaSimpleSignerInfoGeneratorBuilder(); >> >> >>>> > > signerInfoGenerator = >> signerInfoGenerator.setProvider("BC"); >> >> >>>> > > SignerInfoGenerator signerGenerator = >> >> >>>> > > signerInfoGenerator.build(alg.algorithmWithRSA(), >> privateKey, >> >> >>>> > certificate); >> >> >>>> > > gen.addSignerInfoGenerator(signerGenerator); >> >> >>>> > > >> >> >>>> > > List<X509Certificate> certList = new >> ArrayList<X509Certificate>(); >> >> >>>> > > certList.add(certificate); >> >> >>>> > > @SuppressWarnings("rawtypes") >> >> >>>> > > Store certs = new JcaCertStore(certList); >> >> >>>> > > >> >> >>>> > > gen.addCertificates(certs); >> >> >>>> > > >> >> >>>> > > MimeMultipart signedReport = gen.generate(replyBody); >> >> >>>> > > ByteArrayOutputStream out = new ByteArrayOutputStream(); >> >> >>>> > > mimeMsg.writeTo(out); //the line which gives problems >> >> >>>> > > out.close(); >> >> >>>> > > >> >> >>>> > > I get this: >> >> >>>> > > >> >> >>>> > > javax.activation.UnsupportedDataTypeException: text/plain >> >> >>>> > > at >> javax.activation.DataHandler.writeTo(DataHandler.java:75) >> >> >>>> > ~[!/:2.9.0] >> >> >>>> > > at >> javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:1670) >> >> >>>> > > ~[!/:1.6.7] >> >> >>>> > > at >> javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:972) >> >> >>>> > > ~[!/:1.6.7] >> >> >>>> > > at >> javax.mail.internet.MimeMultipart.writeTo(MimeMultipart.java:537) >> >> >>>> > > ~[!/:1.6.7] >> >> >>>> > > >> >> >>>> > > Trying to make the long story short, after >> investigation, I find >> >> >>>> > that BC >> >> >>>> > > includes a file at META-INF/mailcap >> >> >>>> > > This shouldn't be a problem, but it seems to me that >> this is a >> >> >>>> > problem. >> >> >>>> > > >> >> >>>> > > If I try to add the mailcap manually before the above >> code >> >> >>>> > snippet, like >> >> >>>> > > this: >> >> >>>> > > >> >> >>>> > > MailcapCommandMap mc = (MailcapCommandMap) >> >> >>>> > > CommandMap.getDefaultCommandMap(); >> >> >>>> > > mc.addMailcap("text/html;; >> >> >>>> > > x-java-content-handler=com.sun.mail.handlers.text_html"); >> >> >>>> > > mc.addMailcap("text/xml;; >> >> >>>> > > x-java-content-handler=com.sun.mail.handlers.text_xml"); >> >> >>>> > > mc.addMailcap("text/plain;; >> >> >>>> > > >> x-java-content-handler=com.sun.mail.handlers.text_plain"); >> >> >>>> > > mc.addMailcap("multipart/*;; >> >> >>>> > > >> x-java-content-handler=com.sun.mail.handlers.multipart_mixed"); >> >> >>>> > > mc.addMailcap("message/rfc822;; >> >> >>>> > > >> x-java-content-handler=com.sun.mail.handlers.message_rfc822"); >> >> >>>> > > >> >> >>>> > > it has no effect, although I can see that the command >> handler is >> >> >>>> > set there. >> >> >>>> > > >> >> >>>> > > After all this investigation, I conclude that this is >> related to >> >> >>>> > OSGI >> >> >>>> > > class loader. Any idea how to fix this or any hints? >> >> >>>> > > >> >> >>>> > > Thanks, >> >> >>>> > > Andrei Mura >> >> >>>> > >> >
