[ 
https://issues.apache.org/jira/browse/OFBIZ-12929?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17826969#comment-17826969
 ] 

Pierre Smits commented on OFBIZ-12929:
--------------------------------------

Hi Jacques,

Thank you for including the links regarding the exclusion of the MS filetypes. 
It helps to understand the motivation regarding the choices made by the project.

As for the filetypes for which more explanation is needed:
 * png: the filename was 'Screenshot 2024-02-05 at 18.01.38.png'; as you can 
see it is timestamped (and having a lot of dots) which can happen a lot. 
Excluding a file because it has this should be reconsidered.
 * mta: I mentioned this extension, but made a mistake as it should have been 
STA (filename: MT940240305122541.STA) The file is a text file generated by my 
bank and contains text according to the MT940 definition, which is a SWIFT 
message type standard (banking communication standard). These file are used in 
accounting (any accounting solution) to ingest banking transactions. Maybe the 
file generated by my bank is of their own design, but it is plain text.
 * zip: the complete file name is/was 'ABNAMRO_documenten.zip', containing a 
set of pdf files. Each pfd filename, though lengthy, complied to the 'safe 
names' requirement.

> OFBiz doesn't allow upload.
> ---------------------------
>
>                 Key: OFBIZ-12929
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-12929
>             Project: OFBiz
>          Issue Type: Improvement
>          Components: accounting
>    Affects Versions: Upcoming Branch
>            Reporter: Pierre Smits
>            Assignee: Jacques Le Roux
>            Priority: Major
>         Attachments: Screenshot 2024-03-05 at 09.18.27.png
>
>
> In demo trunk and local with demo data in an existing agreement, no files of 
> following type can be uploaded:
>  * pdf
>  * xlsx
>  * pptx
>  * docx
> in screen a message as per attached image is shown, in the console following 
> is shown:
> {code:java}
> 2024-03-05 09:22:57,838 |jsse-nio-8443-exec-4 |SecuredUpload                 
> |E| For security reason lines over 10000 are not allowed
> 2024-03-05 09:22:57,838 |jsse-nio-8443-exec-4 |ServiceUtil                   
> |E| {errorMessage=For security reason only valid files of supported image 
> formats (GIF, JPEG, PNG, TIFF), SVG, PDF, and ZIP or text files with safe 
> names (only Alpha-Numeric characters, hyphen, underscore and spaces, only 1 
> dot, name and extension not empty) and contents are accepted., 
> responseMessage=error}
> 2024-03-05 09:22:57,838 |jsse-nio-8443-exec-4 |ServiceDispatcher             
> |E| Error in Service [createAnonFile]: For security reason only valid files 
> of supported image formats (GIF, JPEG, PNG, TIFF), SVG, PDF, and ZIP or text 
> files with safe names (only Alpha-Numeric characters, hyphen, underscore and 
> spaces, only 1 dot, name and extension not empty) and contents are accepted.
> 2024-03-05 09:22:57,839 |jsse-nio-8443-exec-4 |TransactionUtil               
> |W| Calling transaction setRollbackOnly; this stack trace shows where this is 
> happening:
> java.lang.Exception: Error in Service [createAnonFile]: For security reason 
> only valid files of supported image formats (GIF, JPEG, PNG, TIFF), SVG, PDF, 
> and ZIP or text files with safe names (only Alpha-Numeric characters, hyphen, 
> underscore and spaces, only 1 dot, name and extension not empty) and contents 
> are accepted.
>         at 
> org.apache.ofbiz.entity.transaction.TransactionUtil.setRollbackOnly(TransactionUtil.java:372)
>  [main/:?]
>         at 
> org.apache.ofbiz.entity.transaction.TransactionUtil.rollback(TransactionUtil.java:306)
>  [main/:?]
>         at 
> org.apache.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:577)
>  [main/:?]
>         at 
> org.apache.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:244)
>  [main/:?]
>         at 
> org.apache.ofbiz.service.GenericDispatcherFactory$GenericDispatcher.runSync(GenericDispatcherFactory.java:93)
>  [main/:?]
>         at org.apache.ofbiz.service.LocalDispatcher$runSync$0.call(Unknown 
> Source) [main/:?]
>         at 
> org.apache.ofbiz.service.engine.GroovyBaseScript.runService(GroovyBaseScript.groovy:74)
>  [main/:?]
>         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 
> Method) ~[?:?]
>         at 
> jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
>  ~[?:?]
>         at 
> jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  ~[?:?]
>         at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
>         at 
> org.codehaus.groovy.runtime.callsite.PlainObjectMetaMethodSite.doInvoke(PlainObjectMetaMethodSite.java:48)
>  [groovy-3.0.21.jar:3.0.21]
>         at 
> org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSite.invoke(PogoMetaMethodSite.java:166)
>  [groovy-3.0.21.jar:3.0.21]
>         at 
> org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:57)
>  [groovy-3.0.21.jar:3.0.21]
>         at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51)
>  [groovy-3.0.21.jar:3.0.21]
>         at 
> org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:62)
>  [groovy-3.0.21.jar:3.0.21]
>         at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:194)
>  [groovy-3.0.21.jar:3.0.21]
>         at 
> org.apache.ofbiz.service.engine.GroovyBaseScript.run(GroovyBaseScript.groovy:82)
>  [main/:?]
>         at 
> org.apache.ofbiz.service.engine.GroovyBaseScript$run$3.callCurrent(Unknown 
> Source) [main/:?]
>         at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51)
>  [groovy-3.0.21.jar:3.0.21]
>         at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:171)
>  [groovy-3.0.21.jar:3.0.21]
>         at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:185)
>  [groovy-3.0.21.jar:3.0.21]
>         at 
> org.apache.ofbiz.content.data.DataServicesScript.saveLocalFileDataResource(DataServicesScript.groovy:274)
>  [script:?]
>         at 
> org.apache.ofbiz.content.data.DataServicesScript$saveLocalFileDataResource.callCurrent(Unknown
>  Source) [script:?]
>         at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51)
>  [groovy-3.0.21.jar:3.0.21]
>         at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:171)
>  [groovy-3.0.21.jar:3.0.21]
>         at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:185)
>  [groovy-3.0.21.jar:3.0.21]
>         at 
> org.apache.ofbiz.content.data.DataServicesScript.attachUploadToDataResource(DataServicesScript.groovy:179)
>  [script:?]
>         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 
> Method) ~[?:?]
>         at 
> jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
>  ~[?:?]
>         at 
> jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  ~[?:?]
>         at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
>         at 
> org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107) 
> [groovy-3.0.21.jar:3.0.21]
>         at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323) 
> [groovy-3.0.21.jar:3.0.21]
>         at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1254) 
> [groovy-3.0.21.jar:3.0.21]
>         at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1030) 
> [groovy-3.0.21.jar:3.0.21]
>         at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:814) 
> [groovy-3.0.21.jar:3.0.21]
>         at groovy.lang.GroovyObject.invokeMethod(GroovyObject.java:39) 
> [groovy-3.0.21.jar:3.0.21]
>         at groovy.lang.Script.invokeMethod(Script.java:96) 
> [groovy-3.0.21.jar:3.0.21]
>         at 
> org.apache.ofbiz.service.engine.GroovyEngine.runSync(GroovyEngine.java:110) 
> [main/:?]
>         at 
> org.apache.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:428)
>  [main/:?]
>         at 
> org.apache.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:244)
>  [main/:?]
>         at 
> org.apache.ofbiz.service.group.GroupServiceModel.invoke(GroupServiceModel.java:121)
>  [main/:?]
>         at 
> org.apache.ofbiz.service.group.GroupModel.runAll(GroupModel.java:172) 
> [main/:?]
>         at org.apache.ofbiz.service.group.GroupModel.run(GroupModel.java:135) 
> [main/:?]
>         at 
> org.apache.ofbiz.service.group.ServiceGroupEngine.runSync(ServiceGroupEngine.java:54)
>  [main/:?]
>         at 
> org.apache.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:428)
>  [main/:?]
>         at 
> org.apache.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:244)
>  [main/:?]
>         at 
> org.apache.ofbiz.service.group.GroupServiceModel.invoke(GroupServiceModel.java:121)
>  [main/:?]
>         at 
> org.apache.ofbiz.service.group.GroupModel.runAll(GroupModel.java:172) 
> [main/:?]
>         at org.apache.ofbiz.service.group.GroupModel.run(GroupModel.java:135) 
> [main/:?]
>         at 
> org.apache.ofbiz.service.group.ServiceGroupEngine.runSync(ServiceGroupEngine.java:54)
>  [main/:?]
>         at 
> org.apache.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:428)
>  [main/:?]
>         at 
> org.apache.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:244)
>  [main/:?]
>         at 
> org.apache.ofbiz.service.GenericDispatcherFactory$GenericDispatcher.runSync(GenericDispatcherFactory.java:93)
>  [main/:?]
>         at 
> org.apache.ofbiz.webapp.event.ServiceEventHandler.invoke(ServiceEventHandler.java:254)
>  [main/:?]
>         at 
> org.apache.ofbiz.webapp.control.RequestHandler.runEvent(RequestHandler.java:1078)
>  [main/:?]
>         at 
> org.apache.ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java:678)
>  [main/:?]
>         at 
> org.apache.ofbiz.webapp.control.ControlServlet.handle(ControlServlet.java:231)
>  [main/:?]
>         at 
> org.apache.ofbiz.webapp.control.ControlServlet.doPost(ControlServlet.java:81) 
> [main/:?]
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:555) 
> [tomcat-servlet-api-9.0.82.jar:4.0.FR]
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:623) 
> [tomcat-servlet-api-9.0.82.jar:4.0.FR]
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209)
>  [tomcat-catalina-9.0.82.jar:9.0.82]
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
>  [tomcat-catalina-9.0.82.jar:9.0.82]
>         at 
> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) 
> [tomcat-embed-websocket-9.0.82.jar:9.0.82]
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
>  [tomcat-catalina-9.0.82.jar:9.0.82]
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
>  [tomcat-catalina-9.0.82.jar:9.0.82]
>         at 
> org.apache.ofbiz.webapp.control.SameSiteFilter.doFilter(SameSiteFilter.java:45)
>  [main/:?]
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
>  [tomcat-catalina-9.0.82.jar:9.0.82]
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
>  [tomcat-catalina-9.0.82.jar:9.0.82]
>         at 
> org.apache.ofbiz.webapp.control.ContextFilter.doFilter(ContextFilter.java:188)
>  [main/:?]
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
>  [tomcat-catalina-9.0.82.jar:9.0.82]
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
>  [tomcat-catalina-9.0.82.jar:9.0.82]
>         at 
> org.apache.ofbiz.webapp.control.ControlFilter.doFilter(ControlFilter.java:176)
>  [main/:?]
>         at javax.servlet.http.HttpFilter.doFilter(HttpFilter.java:53) 
> [tomcat-servlet-api-9.0.82.jar:4.0.FR]
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
>  [tomcat-catalina-9.0.82.jar:9.0.82]
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
>  [tomcat-catalina-9.0.82.jar:9.0.82]
>         at 
> org.apache.logging.log4j.web.Log4jServletFilter.doFilter(Log4jServletFilter.java:71)
>  [log4j-web-2.20.0.jar:2.20.0]
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
>  [tomcat-catalina-9.0.82.jar:9.0.82]
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
>  [tomcat-catalina-9.0.82.jar:9.0.82]
>         at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168)
>  [tomcat-catalina-9.0.82.jar:9.0.82]
>         at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
>  [tomcat-catalina-9.0.82.jar:9.0.82]
>         at 
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481)
>  [tomcat-catalina-9.0.82.jar:9.0.82]
>         at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130) 
> [tomcat-catalina-9.0.82.jar:9.0.82]
>         at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) 
> [tomcat-catalina-9.0.82.jar:9.0.82]
>         at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
>  [tomcat-catalina-9.0.82.jar:9.0.82]
>         at 
> org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:670)
>  [tomcat-catalina-9.0.82.jar:9.0.82]
>         at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) 
> [tomcat-catalina-9.0.82.jar:9.0.82]
>         at 
> org.apache.coyote.http2.StreamProcessor.service(StreamProcessor.java:432) 
> [tomcat-coyote-9.0.82.jar:9.0.82]
>         at 
> org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
>  [tomcat-coyote-9.0.82.jar:9.0.82]
>         at 
> org.apache.coyote.http2.StreamProcessor.process(StreamProcessor.java:90) 
> [tomcat-coyote-9.0.82.jar:9.0.82]
>         at org.apache.coyote.http2.StreamRunnable.run(StreamRunnable.java:35) 
> [tomcat-coyote-9.0.82.jar:9.0.82]
>         at 
> org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
>  [tomcat-util-9.0.82.jar:9.0.82]
>         at 
> org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
>  [tomcat-util-9.0.82.jar:9.0.82]
>         at 
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>  [tomcat-util-9.0.82.jar:9.0.82]
>         at java.lang.Thread.run(Thread.java:833) [?:?]
> 2024-03-05 09:22:57,840 |jsse-nio-8443-exec-4 |ServiceDispatcher             
> |T| Sync service [accounting/createAnonFile] finished in [3] milliseconds
> 2024-03-05 09:22:57,840 |jsse-nio-8443-exec-4 |ServiceUtil                   
> |E| {errorMessage=For security reason only valid files of supported image 
> formats (GIF, JPEG, PNG, TIFF), SVG, PDF, and ZIP or text files with safe 
> names (only Alpha-Numeric characters, hyphen, underscore and spaces, only 1 
> dot, name and extension not empty) and contents are accepted., 
> responseMessage=error}
> 2024-03-05 09:22:57,840 |jsse-nio-8443-exec-4 |ServiceDispatcher             
> |E| Error in Service [attachUploadToDataResource]: For security reason only 
> valid files of supported image formats (GIF, JPEG, PNG, TIFF), SVG, PDF, and 
> ZIP or text files with safe names (only Alpha-Numeric characters, hyphen, 
> underscore and spaces, only 1 dot, name and extension not empty) and contents 
> are accepted.
> 2024-03-05 09:22:57,840 |jsse-nio-8443-exec-4 |TransactionUtil               
> |I| Transaction rollback only not set, rollback only is already set.
> 2024-03-05 09:22:57,840 |jsse-nio-8443-exec-4 |ServiceDispatcher             
> |T| Sync service [accounting/attachUploadToDataResource] finished in [12] 
> milliseconds
> 2024-03-05 09:22:57,840 |jsse-nio-8443-exec-4 |GroupModel                    
> |E| Grouped service [attachUploadToDataResource] failed.
> 2024-03-05 09:22:57,840 |jsse-nio-8443-exec-4 |ServiceDispatcher             
> |E| Error in Service [createContentFromUploadedFile]: For security reason 
> only valid files of supported image formats (GIF, JPEG, PNG, TIFF), SVG, PDF, 
> and ZIP or text files with safe names (only Alpha-Numeric characters, hyphen, 
> underscore and spaces, only 1 dot, name and extension not empty) and contents 
> are accepted.
> 2024-03-05 09:22:57,840 |jsse-nio-8443-exec-4 |TransactionUtil               
> |I| Transaction rollback only not set, rollback only is already set.
> 2024-03-05 09:22:5// code placeholder
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to