Commit graph

1292 commits

Author SHA1 Message Date
VooDooS bb807554e2 Replace CRLF injection mitigation by use of .NET ip parsing 2019-04-12 13:48:12 +02:00
VooDooS 56d1050bac Replace custom ip "normalization" by methods from IPAddress 2019-04-11 17:49:18 +02:00
VooDooS a6e1b23eb0 Simplify headers use in WSS 2019-04-11 17:49:14 +02:00
Joshua M. Boniface 75a4f04cce
Merge pull request #1209 from joshuaboniface/hotfix-authprovider-create
Override username with AuthenticationProvider
2019-04-10 00:18:08 -04:00
Ulysse a1d50a6d05 Clean WebSocketSharpRequest.PathInfo (#1212)
* rm useless ResolvePathInfoFromMappedPath method

* rm useless NormalizePathInfo method

* Use request.Path instead of RawUrl

* Removing unused `HandlerFactoryPath` field

* Use an  expression body definition and rm field `pathInfo`

* More (syntactic) sugar

* Who needs blocks in cases ?
2019-04-09 20:19:27 +02:00
Joshua Boniface 1af9c047fb Override username with AuthenticationProvider
Pass back the Username directive returned by an AuthenticationProvider
to the calling code, so we may override the user-provided Username
value if the authentication provider passes this back. Useful for
instance in an LDAP scenario where what the user types may not
necessarily be the "username" that is mapped in the system, e.g.
the user providing 'mail' while 'uid' is the "username" value.
Could also then be extensible to other authentication providers
as well, should they wish to do a similar thing.
2019-04-07 19:51:45 -04:00
Joshua Boniface 754e76a61b Add TODO to remove string target 2019-04-04 02:34:23 -04:00
Joshua Boniface 09505e0988 Apply review feedback
Remove a few superfluous/testing log statements, and print the
deletion debug messages when it occurs rather than earlier. Use
a nicer name for the isDirectory variable.
2019-04-04 01:54:31 -04:00
Joshua Boniface 05a4161fd3 Correct the installation and removal of plugins
Upgrading plugins was broken for various reasons. There are four
fixes and a minor one:

1. Use a directory name based only on the `Name` of the plugin, not
   the source filename, which contains the version. Avoids strange
   duplication of the plugin.
2. Use the new directory name for the deletes if it's present, so
   that installation and removal happen at that directory level
   and we don't leave empty folders laying around. Ensures we
   properly remove additional resources in plugins too, not just
   the main `.dll` file.
3. Ignore the incoming `target` when installing, and always set
   it ourself to the proper directory, which would matter when
   reinstalling.
4. Deletes an existing target directory before installing if it
   exists. Note that not calling any of the plugin removal code
   is intentional; I suspect that would delete configurations
   unexpectedly when upgrading which would be annoying. This way,
   it just replaces the files and then reloads.
5. (Minor) Added some actual debug messages around the plugin
   download section so failures can be more accurately seen.
2019-04-03 20:05:14 -04:00
Joshua Boniface 38fcd31917 Search all subdirectories for Plugins
This was added in #801 which broke the previous plugin install
behaviour. Previously plugins could be loaded from subdirectories
but this search was only for the highest level. Change it to search
all subdirectories instead to restore the previous behaviour.

Also modifies the same option from #934, though I'm not 100% sure
if this is needed here.
2019-04-02 18:29:14 -04:00
Vasily 79d9b8e693
Merge pull request #1168 from Bond-009/io
Improve IO code
2019-04-01 16:20:23 +03:00
Joshua Boniface f0fbd0232c Correct bad quote characters 2019-03-29 19:13:01 -04:00
Joshua M. Boniface 72dd609109
Merge pull request #1149 from LogicalPhallacy/ImprovedPasswordReset
Adds per user password reset
2019-03-29 18:26:30 -04:00
LogicalPhallacy 13e94a8b1b
Remove dashes from pins 2019-03-29 12:48:07 -07:00
Bond_009 f911fda34f Merge ifs 2019-03-29 20:34:42 +01:00
Phallacy 2d396cb589 adds readonly to properties 2019-03-29 07:10:49 -07:00
Phallacy b56031b9f3 fix byte string 2019-03-28 20:49:11 -07:00
Bond_009 41df562419 Improve IO code
* Style changes
* Remove remnants of SMB support
* Use `GetInvalidFileNameChars` instead of rolling our own
* Remove possible unexpected behaviour with async file streams
* Remove some dead code
2019-03-28 23:26:43 +01:00
Bond_009 3001f21f8d Hacky fix for a hacky issue 2019-03-28 19:11:05 +01:00
Phallacy 48b50a22a4 switched to a hexa string with crypto random backing 2019-03-28 08:15:53 -07:00
Phallacy 5e8496bc59 minor fixes and usings 2019-03-27 22:46:25 -07:00
Joshua M. Boniface 2dbc1153e8
Merge pull request #934 from Bond-009/plugin
WIP - Don't require a restart for 75% of plugins
2019-03-27 21:35:09 -04:00
Bond-009 b07c146fd9
Update Emby.Server.Implementations/Library/DefaultPasswordResetProvider.cs
Co-Authored-By: LogicalPhallacy <44458166+LogicalPhallacy@users.noreply.github.com>
2019-03-27 16:17:18 -07:00
Bond-009 73a9079ee2
Merge branch 'master' into httpclient 2019-03-27 19:43:02 +01:00
Joshua M. Boniface cc2edc4d66
Merge pull request #1151 from Phlogi/patch-1
Use public ports and advertise DNS if available for WAN address
2019-03-27 13:54:14 -04:00
Bond-009 d0fbd260d5
Merge branch 'master' into httpclient 2019-03-27 16:34:26 +01:00
Bond_009 b69b19ddce Move messageId out of outer loop 2019-03-27 16:28:52 +01:00
Bond_009 6c0e2e249d Even more duplicate code removed 2019-03-27 16:13:36 +01:00
Bond_009 8ed5d154b7 Remove duplicate code 2019-03-27 16:07:08 +01:00
Bond_009 157a86d0f1 Remove dead code 2019-03-27 12:43:46 +01:00
Bond-009 a332092769 Reduce complexity http routes 2019-03-26 19:20:40 +01:00
Phallacy 6be8624373 async improvements and post reset cleanups 2019-03-25 22:17:23 -07:00
LogicalPhallacy 740c95d557
Apply minor suggestions from code review
Co-Authored-By: LogicalPhallacy <44458166+LogicalPhallacy@users.noreply.github.com>
2019-03-25 21:40:10 -07:00
Phlogi 122cba2aa7
Correct use of local variable wanAddress. 2019-03-25 22:26:05 +01:00
Bond-009 b44a70ff36 Simplify/remove/clean code
* Remove useless runtime check (we only support one)
* Remove unused args
* Remove a global constant

And ofc fix some warnings ;)
2019-03-25 22:25:32 +01:00
Phlogi 1b03f078b9
No need to assign empty string. 2019-03-25 21:43:50 +01:00
Phlogi 4c8f8cf64c
Removed trailing spaces, renamed get wan IP function. 2019-03-25 21:34:55 +01:00
Bond_009 2696ac5eac Lower the amount of running tasks 2019-03-25 21:33:48 +01:00
Bond-009 6566c91360 Seperate changes from #1023
The unrelated changes from #1023 (and more)
2019-03-25 21:27:03 +01:00
Claus Vium 6480cfcc87
Formatting update Emby.Server.Implementations/ApplicationHost.cs
Co-Authored-By: Phlogi <Phlogi@users.noreply.github.com>
2019-03-25 10:19:08 +01:00
Claus Vium e36d424b5f
Formatting update Emby.Server.Implementations/ApplicationHost.cs
Co-Authored-By: Phlogi <Phlogi@users.noreply.github.com>
2019-03-25 10:18:47 +01:00
Claus Vium f7e7d72688
Formatting update Emby.Server.Implementations/ApplicationHost.cs
Co-Authored-By: Phlogi <Phlogi@users.noreply.github.com>
2019-03-25 10:18:18 +01:00
Claus Vium 3474568ce2
Update Emby.Server.Implementations/ApplicationHost.cs
Co-Authored-By: Phlogi <Phlogi@users.noreply.github.com>
2019-03-25 10:18:04 +01:00
Claus Vium 89f2dfd78a
Update Emby.Server.Implementations/ApplicationHost.cs
Co-Authored-By: Phlogi <Phlogi@users.noreply.github.com>
2019-03-25 10:17:53 +01:00
Claus Vium 2c4c56d6d6
Formatting update Emby.Server.Implementations/ApplicationHost.cs
Co-Authored-By: Phlogi <Phlogi@users.noreply.github.com>
2019-03-25 10:17:40 +01:00
Phlogi 087d4153ae
Fix check for available WAN address. 2019-03-24 21:47:18 +01:00
Phallacy 86772bd7bd removes needless dictionary 2019-03-24 12:17:32 -07:00
Claus Vium 4e2841f0d7
Update Emby.Server.Implementations/Library/UserManager.cs
Co-Authored-By: LogicalPhallacy <44458166+LogicalPhallacy@users.noreply.github.com>
2019-03-24 11:41:03 -07:00
Phallacy 26fe4040bf fixes some usings 2019-03-24 11:40:00 -07:00
Phlogi fb7f29de18
Format the WAN API Url correctly with https and Port. 2019-03-24 18:33:21 +01:00
Phlogi d18252542d
Also add the WAN switch to the public system info. 2019-03-24 17:11:21 +01:00
Phlogi 030fcaac15
Proper access to configuration objects 2019-03-24 17:02:03 +01:00
Phlogi 7ebb043249
Removed comment, renamed methods consistently. 2019-03-24 16:50:39 +01:00
Claus Vium 598b1c9966
Update Emby.Server.Implementations/ApplicationHost.cs
Co-Authored-By: Phlogi <Phlogi@users.noreply.github.com>
2019-03-24 16:47:59 +01:00
Claus Vium cf36aaef2b
Update Emby.Server.Implementations/ApplicationHost.cs
Co-Authored-By: Phlogi <Phlogi@users.noreply.github.com>
2019-03-24 16:47:48 +01:00
Claus Vium f30af9cd5f
Update Emby.Server.Implementations/ApplicationHost.cs
Co-Authored-By: Phlogi <Phlogi@users.noreply.github.com>
2019-03-24 16:47:42 +01:00
Phlogi 4ffec8ad26
Fix build, missing changes. 2019-03-24 12:19:10 +01:00
Phlogi 69cc5814d8
Change WAN IP behaviour: Use ServerConfiguration.WanDdns if set in configuration. 2019-03-24 12:11:46 +01:00
Phlogi 414a318a0d
WAN Address should use public ports instead of local ports.
https://github.com/jellyfin/jellyfin/issues/601#issuecomment-475941080
2019-03-24 11:59:40 +01:00
Phallacy 758e35baba greaterthen/lessthen reversal fix 2019-03-24 00:30:16 -07:00
Phallacy 09921a00aa made password resets an interface and per user 2019-03-22 00:01:23 -07:00
Bill Thornton 4cd8903abc Fix default value for Expires header 2019-03-19 23:13:02 -04:00
Joshua M. Boniface fc79659549
Merge pull request #1127 from LogicalPhallacy/lockoutfix
Add configurable user lockout
2019-03-18 21:13:51 -04:00
Vasily e81a6adb95
Merge pull request #1090 from redSpoutnik/subtitle-display-title
Set DisplayTitle for subtitles
2019-03-17 09:36:35 +03:00
Phallacy 80aedcd7e2 really fixed line endings 2019-03-16 21:36:45 -07:00
Phallacy fc28c9237c fixed line endings 2019-03-16 21:34:26 -07:00
Phallacy b04200ca68 adding regex fix 2019-03-16 21:21:14 -07:00
Joshua M. Boniface e3dbed1c1a
Update Emby.Server.Implementations/Library/UserManager.cs
Co-Authored-By: LogicalPhallacy <44458166+LogicalPhallacy@users.noreply.github.com>
2019-03-16 10:16:23 -07:00
redSpoutnik 480a6607e2
Merge branch 'master' into subtitle-display-title 2019-03-16 17:54:57 +01:00
Phallacy 7f0fa74467 updated regex to string literal with escaped - 2019-03-16 00:38:31 -07:00
LogicalPhallacy 9df1506794
Merge pull request #2 from LogicalPhallacy/master
update lockoutfix to latest for testing
2019-03-16 00:26:12 -07:00
LogicalPhallacy 2d0844b5db
Merge pull request #1 from jellyfin/master
merging myself to latest
2019-03-16 00:25:16 -07:00
Phallacy 1ee016c997 configurable user lockout 2019-03-16 00:18:52 -07:00
Phallacy 221389089c quick fix for auth bug 2019-03-15 21:25:19 -07:00
Vasily 11fde02035
Merge pull request #1105 from ploughpuff/ratelimit
Only delay making MusicBrainz request if necessary
2019-03-15 16:01:55 +03:00
PloughPuff d125fbc43d Added contact email to user agent
MusicBrainz request a contact email address is supplied in comment section of user agent field.
2019-03-14 21:34:09 +00:00
redSpoutnik 427688a0a0 Change subtitles DisplayTitle behavior 2019-03-14 22:31:51 +01:00
Erwin de Haan 21cc38fcf4 Adjusted AssemblyCopyright attribute values. 2019-03-14 22:17:56 +01:00
Vasily 208585d3f6
Merge pull request #1106 from Bond-009/warn2
More warning fixes
2019-03-14 19:54:44 +03:00
Bond-009 bf43dc00bb More warning fixes 2019-03-13 22:32:52 +01:00
Bond-009 e64aaebbac Improvements around streams
* Use ArrayPool instead of allocating new buffers each time
* Remove NetworkStream copy
* Remove some dead code
2019-03-13 21:11:01 +01:00
Vasily 605bf0e8c3
Merge pull request #1100 from ploughpuff/rmprobeswitch
Finalise removal of --ffprobe switch
2019-03-13 01:42:07 +03:00
Vasily 89e2af6b57
Merge pull request #1096 from dkanada/opensubs
Remove open subtitles from the server
2019-03-13 01:22:55 +03:00
PloughPuff b864e9da2a Finalise removal of --ffprobe switch
Removed --ffprobe from src files and server/docker scripts.
2019-03-12 22:09:18 +00:00
Vasily 297f25cfc2
Merge pull request #1059 from Bond-009/os
Remove EnvironmentInfo
2019-03-13 00:01:00 +03:00
Joshua M. Boniface 6751560228
Merge pull request #1092 from joshuaboniface/configurable-webdir
Add configurable webdir option
2019-03-12 12:51:11 -04:00
Bond-009 3ddbda9aca
Merge branch 'master' into xml 2019-03-12 16:37:18 +01:00
Vasily 1fef8bf266
Merge pull request #1060 from Bond-009/assinfo
Remove redundant class AssemblyInfo
2019-03-12 16:34:21 +03:00
Joshua Boniface 3c4043199a Implement review feedback 2019-03-12 09:18:45 -04:00
Vasily 0220309ea7
Merge pull request #1095 from Bond-009/fix1077
Add AppConfig to the DI service collection
2019-03-12 12:56:39 +03:00
Vasily 497b4f834f
Merge pull request #1021 from Bond-009/failonwarn
Fail on warnings for Jellyfin.Server
2019-03-12 11:31:22 +03:00
dkanada 715ddbb3b0 remove open subtitles from the server 2019-03-11 18:10:31 -07:00
Bond-009 0ff038f0a2 Fix nullref 2019-03-11 23:13:01 +01:00
Vasily 2324c408ba
Merge pull request #1089 from jellyfin/translations
Update translations
2019-03-11 15:30:50 +03:00
Joshua Boniface 5f7524aca2 Remove unneccessary string 2019-03-10 17:21:10 -04:00
Joshua Boniface 132ce3ece1 Add further resources to complete WebPath 2019-03-10 17:04:18 -04:00
Joshua Boniface 25deca9579 Make use of WebPath 2019-03-10 16:20:46 -04:00
Joshua Boniface 93d15cd969 Add configuration flag for Web directory 2019-03-10 16:17:48 -04:00
WWWesten 16adaa64c9 Translated using Weblate (Kazakh)
Currently translated at 100.0% (94 of 94 strings)

Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/kk/
2019-03-10 03:06:01 -04:00
Matsuri 93fe7957fb Translated using Weblate (Chinese (Simplified))
Currently translated at 97.8% (92 of 94 strings)

Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/zh_Hans/
2019-03-10 03:06:00 -04:00
Joshua M. Boniface fb96763f65
Merge pull request #1077 from Bond-009/musicbrainz
Make MusicBrainz base url configurable
2019-03-09 23:19:32 -05:00
Claus Vium f2062ba19b Disable HTTPS in Kestrel if Certificate is null 2019-03-08 22:25:45 +01:00
Bond-009 7f42dcc60f Remove more unused stuff 2019-03-08 20:32:14 +01:00
Bond-009 369785c184 Remove usage of depricated 'WebRequest'
Ref: https://docs.microsoft.com/en-us/dotnet/api/system.net.webrequest?view=netframework-4.7.2
2019-03-08 20:17:17 +01:00
Bond-009 58061a7295 Make MusicBrainz base url configurable 2019-03-08 17:15:52 +01:00
Claus Vium e3b844b5aa Add urlprefixes during init 2019-03-07 22:49:41 +01:00
Bond-009 decaffed86 Remove EnvironmentInfo
This moved the last bit of usefulness of EnvironmentInfo into a static
class.
2019-03-07 22:41:41 +01:00
Bond-009 669c48cc8b
Merge pull request #1065 from cvium/closed_response
Don't set status code if response is closed
2019-03-07 22:32:01 +01:00
Claus Vium 3fa43a1e08 Don't set status code if response is closed 2019-03-07 22:26:23 +01:00
Vasily 028a98d2c1
Merge pull request #1058 from Bond-009/clean
Cleanup/simplification
2019-03-08 00:23:00 +03:00
Bond-009 620d7b560d Fail on warnings for Jellyfin.Server 2019-03-07 21:52:16 +01:00
Bond_009 37ea50a572 Reduce the amount of exceptions thrown 2019-03-07 21:42:56 +01:00
Bond-009 c5fce647de Cleanup/simplification
* Removed useless copies/allocations
* Reduced unneeded complexity
2019-03-07 21:13:13 +01:00
Claus Vium 0abe57e930 Merge remote-tracking branch 'remotes/upstream/master' into kestrel_poc 2019-03-07 20:16:51 +01:00
Bond-009 ae0ecc1b10
Merge pull request #870 from LogicalPhallacy/betterauth
Better default authentication
2019-03-07 19:11:36 +01:00
Claus Vium dfff68b2f4 Make SkipLogExtensions static 2019-03-07 19:05:53 +01:00
Bond-009 f486f5966f
Update Emby.Server.Implementations/Library/DefaultAuthenticationProvider.cs
Co-Authored-By: LogicalPhallacy <44458166+LogicalPhallacy@users.noreply.github.com>
2019-03-07 09:56:03 -08:00
Bond-009 e91dd14b31 Remove redundent class AssemblyInfo 2019-03-07 18:10:55 +01:00
Vasily a4b52b7264
Merge pull request #844 from ploughpuff/ffmpeg
Reworked FFmpeg path discovery and always display to user
2019-03-07 17:23:06 +03:00
Vasily 5ae0ef0527
Merge pull request #1028 from Bond-009/ratings
Simplify rating loading
2019-03-07 17:22:26 +03:00
Phallacy dfb1d704ed made hashset static and readonly 2019-03-07 03:32:05 -08:00
Phallacy 8f4895e8a5 more fixes for perf and style 2019-03-07 03:11:41 -08:00
Bond_009 a9302b8b53 Remove useless abstraction around XmlReaderSettings
This removes the amount of stuff that needs to be passed around
Also removes some unneeded `ManagedFileSystem` usage
2019-03-07 12:04:14 +01:00
Bond-009 c31b0b311b
Apply suggestions from code review
more minor fixes before I do larger fixes

Co-Authored-By: LogicalPhallacy <44458166+LogicalPhallacy@users.noreply.github.com>
2019-03-07 02:41:44 -08:00
Claus Vium bba049c987 Make FileSystem readonly 2019-03-06 19:29:25 +01:00
Claus Vium 21c2acc520 Remove public Host property 2019-03-06 19:27:05 +01:00
Claus Vium 394d23a73a Review comments 2019-03-06 19:14:03 +01:00
Bond-009 04db0369d4
Update LocalizationManager.cs 2019-03-06 17:31:52 +01:00
Vasily 2242c8d793
Merge pull request #915 from cvium/remove_encryptionmanager
Remove IEncryptionManager
2019-03-06 15:56:15 +03:00
Phallacy bef665be36 Minor fixes to address style issues 2019-03-05 23:45:05 -08:00
PloughPuff 2617a49b78 Renamed Init() to SetFFmpegPath() 2019-03-05 21:29:15 +00:00
PloughPuff ed69e690b8 Review comments
Address review comments from JustAMan, Bond-009 and cvium.
2019-03-05 21:29:15 +00:00
PloughPuff 20775116f7 Reworked FFmpeg path discovery and always display to user
1) Reworked FFmpeg and FFprobe path discovery (CLI switch, Custom xml, system $PATH, UI update trigger).  Removed FFMpeg folder from Emby.Server.Implementations.  All path discovery now in MediaEncoder.

2) Always display FFmpeg path to user in Transcode page.

3) Allow user to remove a Custome FFmpeg path and return to using system $PATH (or --ffmpeg if available).

4) Remove unused code associated with 'prebuilt' FFmpeg.

5) Much improved logging during path discovery.
2019-03-05 21:24:54 +00:00
Claus Vium 446f9bf81f Remove more Content-Length references 2019-03-05 20:48:04 +01:00
Claus Vium 913e80fd55 Add ProcessWebSocketRequest to IHttpListener 2019-03-05 20:35:07 +01:00
Claus Vium 9a4a01fb0e Fix DI in FileWriter.TransmitFile 2019-03-05 19:32:22 +01:00
Claus Vium 78742b8e4c Switch to HeaderNames instead of hardcoded strings (and other header related fixes) 2019-03-05 19:20:28 +01:00
Claus Vium bc00617df7 Remove unused Brotli compressor 2019-03-05 10:26:43 +01:00
Phallacy 2c26517172 minor style fixes 2019-03-04 23:58:25 -08:00
Claus Vium 51648a2a21 Remove unused _listener 2019-03-05 08:05:42 +01:00
Claus Vium 12df381495 Grab content root from config and fix kestrel port bindings 2019-03-05 07:55:29 +01:00
Claus Vium 0250204f14 Expand todo 2019-03-04 22:26:57 +01:00
Bond-009 0419deeec4
Update LocalizationManager.cs 2019-03-04 20:18:35 +01:00
Claus Vium 9020f68ce1 Use QueryHelpers.AddQueryString 2019-03-04 20:08:54 +01:00
Claus Vium 557c4d065d Review comments 2019-03-04 19:55:59 +01:00
Claus Vium 6cc1bd544a Fix a logging statement 2019-03-04 19:31:26 +01:00
Joshua M. Boniface aba22b92bc
Merge pull request #735 from Bond-009/loop
Readability changes
2019-03-04 00:27:48 -05:00
Claus Vium 040871459b Remove some unused references 2019-03-03 14:35:54 +01:00
Claus Vium 6263b73d9c Await host startup 2019-03-03 14:30:41 +01:00
Claus Vium 1cc433eabc Start the webhost before RunStartupTasks and fix ContentEncoding 2019-03-03 13:54:14 +01:00