Commit Graph
257 Commits
Author SHA1 Message Date
François-Xavier Thomas 51b738053f Make it work even if Tomcat-specific exceptions are not available
When Tomcat is not available (for example, when using Jetty), the
ClientAbortException is not available either, causing an error when
starting the server.

This commit fixes that, and instead catches that exception (or its Jetty
equivalent) via reflection.
2019-04-02 21:23:47 +02:00
François-Xavier Thomas ec96b9711d Show more informative messages while streaming
When streaming, log messages now show the URL and IP of the originating
request, so that it's easier to determine what client is listening to
something on the server.
2019-04-02 21:22:44 +02:00
François-Xavier Thomas 417583ccaa Do not show stack trace for client-side connection errors
The `ClientAbortException` exception indicates that the connection was
closed by the client, usually for something the server can do nothing
about (e.g. navigating outside of the page while it's loading).

Since this error happens often, this commit displays shorter error
messages when it does, without a large stack trace.

All other exceptions are handled just as before.
2019-04-02 21:20:40 +02:00
Andrew DeMaria f04ec61d0f Merge remote-tracking branch 'airsonic/pr/958' 2019-04-01 22:43:42 -04:00
Andrew DeMaria 58f4dfdb2e Merge remote-tracking branch 'airsonic/pr/957' 2019-04-01 22:42:39 -04:00
Andrew DeMaria a59e8e4a9f Merge remote-tracking branch 'airsonic/pr/956' 2019-04-01 22:42:16 -04:00
Andrew DeMaria afb9c6bfb7 Merge remote-tracking branch 'airsonic/pr/954' 2019-04-01 22:41:36 -04:00
Andrew DeMaria 1daa6cff6e Merge remote-tracking branch 'airsonic/pr/952' 2019-04-01 22:39:38 -04:00
jvoisin aff7bd3d57 Remove webfx stuff, since they're apparently not used
The only place where the string `webfx` is mentioned
was in playQueue.jsp, to include a small css file, twice,
that only applies to webfx components, that aren't used
anywhere in the codebase.
2019-04-02 00:42:24 +02:00
jvoisin db2592a84b Delete AC_OETags.js since it's not used anywhere 2019-04-02 00:37:17 +02:00
jvoisin c9212805be Remove jquery-contextmenu since it's not used anywhere 2019-04-02 00:28:16 +02:00
jvoisin d35834c0e7 Fix a bunch of dom-based xss
This should close #633
2019-04-01 23:08:57 +02:00
jvoisin 0d6cbb60ed Use https for external links 2019-04-01 11:45:20 +02:00
jvoisin ab1690b1fe Don't display the title if it's empty 2019-04-01 02:36:28 +02:00
Andrew DeMaria 83882b18d9 Merge remote-tracking branch 'airsonic/pr/919' 2019-03-31 20:01:31 -04:00
Andrew DeMaria 81835aa589 Merge remote-tracking branch 'airsonic/pr/934' 2019-03-31 19:56:56 -04:00
Andrew DeMaria f8f5c4a6bf Merge remote-tracking branch 'airsonic/pr/936' 2019-03-31 19:53:49 -04:00
Andrew DeMaria b73ab9c45e Merge remote-tracking branch 'airsonic/pr/949' 2019-03-31 19:53:17 -04:00
Andrew DeMaria 221a0ed933 Merge remote-tracking branch 'airsonic/pr/945' 2019-03-31 19:45:56 -04:00
jvoisin ac1c887698 Remove Google+ relics
Google+ is dead: https://developers.google.com/+/
2019-04-01 01:41:41 +02:00
jvoisin 5edebf7885 Remove inline javascript on the cancel buttons
The inline javascript used with the cancel buttons
was only used to change the location.
Instead of doing this, it's easier to wrap
the button in a tag.

This is related to #909.
2019-04-01 01:32:35 +02:00
Andrew DeMaria cd45717256 Merge remote-tracking branch 'airsonic/pr/938' 2019-03-31 19:31:18 -04:00
Andrew DeMaria 570abe69d5 Merge remote-tracking branch 'airsonic/pr/939' 2019-03-31 19:29:39 -04:00
Andrew DeMaria d5500ce3d2 Merge remote-tracking branch 'airsonic/pr/941' 2019-03-31 19:24:26 -04:00
Andrew DeMaria 41a5ae06d5 Merge remote-tracking branch 'airsonic/pr/922' 2019-03-31 19:20:33 -04:00
Andrew DeMaria 6613bd86d5 Merge remote-tracking branch 'airsonic/pr/907' 2019-03-31 19:19:44 -04:00
jvoisin ba6b39b7b2 Add two <meta> tags
- Add a description, since this can be useful
  in browser's histories
- Add a viewport, making it less worse to use
  airsonic on a super-small screen
2019-03-31 23:55:24 +02:00
jvoisin 883022d81a Remove script.aculo.us dependency
It's not used anywhere, using an old version,
and the project doesn't seem to be maintained anyway.
2019-03-30 11:09:42 +01:00
jvoisin 910802b64f Fix a small resource leak 2019-03-29 00:18:25 +01:00
jvoisin 2f9046d6b4 Fix a xss and clean up some js
- Fix a stupid self-XSS. I doubt that there are ways to
  use it against other users, but well, better safe than sorry
- Replace the javascript-on-focus hacks with the `autofocus` attribute
2019-03-28 23:38:37 +01:00
François-Xavier Thomas bcc5f8d7a6 Fix StringIndexOutOfBounds errors thrown by DWR/YUI 2019-03-28 22:08:26 +01:00
jvoisin 61c842923a Generate new passwords in a secure way
Previously, lost passwords were generated via
org.apache.commons.lang.RandomStringUtils,
which is using java.util.Random internally.

This PRNG is has a 48-bit seed, that can easily be bruteforced
if an attacker is able to get the PRNG's output, for example
but resetting their own account multiple times,
leading to trivial privileges escalation attacks.

This commit makes use of java.security.SecureRandom
instead.
2019-03-28 21:47:57 +01:00
Andrew DeMaria 54e1237320 Exclude new spring 5.0.5 cve 2019-03-27 19:00:14 -06:00
Andrew DeMaria 8a1f36c792 Revert change to DWR fixes #923
Signed-off-by: Andrew DeMaria <lostonamountain@gmail.com>
2019-03-26 16:08:54 -06:00
jvoisin 39b9eab715 Simplify a bit the css 2019-03-26 23:08:50 +01:00
jvoisin 0b72acefed Oups 2019-03-26 23:04:32 +01:00
jvoisin fa5ffdc07a Remove the external fonts usage
This is a radical (and simple) solution
to #853, #399, #439, #174 and partially #712.
2019-03-26 21:30:45 +01:00
Andrew DeMaria e76d44d957 Merge remote-tracking branch 'origin/pr/908' 2019-03-26 13:59:48 -06:00
Andrew DeMaria 9413f1f489 Merge remote-tracking branch 'origin/pr/912' 2019-03-26 13:00:39 -06:00
Andrew DeMaria 00ee8a9662 Merge remote-tracking branch 'origin/pr/915' 2019-03-26 12:59:48 -06:00
jvoisin 30fa4d0467 Second pass of trivial modernizations
- Replace unnecessary getters/setters with inline assignments
- Simplify string constructions
- Improve containers construction
2019-03-26 00:00:21 +01:00
jvoisin ca489f8220 This is a first batch of simple modernization of the codebase
I threw airsonic at IntelliJ's IDEA analysis,
and asked it to flag what could be modernized
for Java > 5.

- foreach instead of for…
- I added some null-deref checks
- Integer.ValueOf, since Integer(…) is deprecated
- Contextual try
- Objects.equals instead of handcrafted comparisons
- StringBuilder instead of StringBuffer
- Removal of outdated/wrong javadoc comments
2019-03-25 23:33:03 +01:00
jvoisin 45ef973627 Fix a javascript null-deref
This commit should fix the following javascript crash that
may occur if the localstorage isn't available/supported by the browser:

```
more.view:140 Uncaught TypeError: Cannot read property 'playCountValue' of null
    at loadShuffleForm (more.view:140)
    at HTMLDocument.<anonymous> (more.view:181)
    at n (jquery-1.7.1.min.js:2)
    at Object.fireWith (jquery-1.7.1.min.js:2)
    at Function.ready (jquery-1.7.1.min.js:2)
    at HTMLDocument.B (jquery-1.7.1.min.js:2)
```

Signed-off-by: jvoisin <julien.voisin@dustri.org>
2019-03-22 06:10:20 +01:00
jvoisin 0a47c6e461 Bump java-jwt
Signed-off-by: jvoisin <julien.voisin@dustri.org>
2019-03-21 22:26:06 +01:00
jvoisin 4e2b435abf Bump cglib version
Signed-off-by: jvoisin <julien.voisin@dustri.org>
2019-03-21 22:20:37 +01:00
jvoisin 4de26ac319 Remove pngfix
pngfix.js is used for compatibility's reason
with IE 5 and 6. I think that now that we're in 2019,
we can get rid of it.

Signed-off-by: jvoisin <julien.voisin@dustri.org>
2019-03-20 21:59:52 +01:00
jvoisin f501bfd5e1 Remove momentjs
MomentJS was only used in a single javascript function,
to do Seconds → (Minutes, Seconds). This commit
replaces this with a hand-rolled version, and removes
MomentJS.

Signed-off-by: jvoisin <julien.voisin@dustri.org>
2019-03-20 21:55:39 +01:00
Andrew DeMaria 143a220719 Merge remote-tracking branch 'airsonic/pr/849'
Conflicts:
	airsonic-main/cve-suppressed.xml
	airsonic-main/src/main/java/org/airsonic/player/controller/JAXBWriter.java
	airsonic-main/src/main/java/org/airsonic/player/service/PodcastService.java
	pom.xml
2019-03-16 19:27:53 -04:00
Andrew DeMaria 0d78c30d06 Change a couple more log entries to debug 2019-03-16 12:56:57 -04:00
François-Xavier Thomas 2c1b5205e8 Write new db maintenance logs as 'debug' instead of 'info' 2019-03-16 17:32:00 +01:00