From 1ec302039dec6eebd1348ff9d78ce8f24207a1be Mon Sep 17 00:00:00 2001 From: Cyberboss Date: Tue, 31 Oct 2017 19:38:55 -0400 Subject: [PATCH 1/8] Makes authentication work with Windows domains --- .../ServerInstance/Administration.cs | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/TGServerService/ServerInstance/Administration.cs b/TGServerService/ServerInstance/Administration.cs index edd69e730c..50e42e7f5f 100644 --- a/TGServerService/ServerInstance/Administration.cs +++ b/TGServerService/ServerInstance/Administration.cs @@ -38,9 +38,14 @@ namespace TGServerService { if (TheDroidsWereLookingFor == null) return "ADMIN"; - - var pc = new PrincipalContext(ContextType.Machine); - return GroupPrincipal.FindByIdentity(pc, IdentityType.Sid, TheDroidsWereLookingFor.Value).Name; + + string res = null; + try + { + res = GroupPrincipal.FindByIdentity(new PrincipalContext(ContextType.Machine), IdentityType.Sid, TheDroidsWereLookingFor.Value).Name; + } + catch { } + return res ?? GroupPrincipal.FindByIdentity(new PrincipalContext(ContextType.Domain), IdentityType.Sid, TheDroidsWereLookingFor.Value).Name; } catch { @@ -66,11 +71,12 @@ namespace TGServerService /// Set based off either an ed name or a string from the config /// /// The name of the group to search for + /// Recursive parameter used to check for the group using instead of /// The name of the group allowed to access the if it could be found, otherwise - string FindTheDroidsWereLookingFor(string search = null) + string FindTheDroidsWereLookingFor(string search = null, bool useDomain = false) { //find the group that is authorized to use the tools - var pc = new PrincipalContext(ContextType.Machine); + var pc = new PrincipalContext(useDomain ? ContextType.Domain : ContextType.Machine); var config = Properties.Settings.Default; var groupName = search ?? config.AuthorizedGroupSID; if (String.IsNullOrWhiteSpace(groupName)) @@ -82,7 +88,7 @@ namespace TGServerService //try again with all types gp = GroupPrincipal.FindByIdentity(pc, search); if (gp == null) - return null; + return useDomain ? null : FindTheDroidsWereLookingFor(search, true); } TheDroidsWereLookingFor = gp.Sid; if (search != null) From d7bd3db97eb5e31654b00512b53f7768cb29c7ee Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Tue, 31 Oct 2017 19:45:59 -0400 Subject: [PATCH 2/8] Version bump to 3.1.6.2 [TGSDeploy] --- Version.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Version.cs b/Version.cs index cd11a44fd9..857215dc2e 100644 --- a/Version.cs +++ b/Version.cs @@ -12,6 +12,6 @@ using System.Reflection; // [assembly: AssemblyVersion("1.0.*")] //It's impossible to make these a define, don't say I didn't warn you -[assembly: AssemblyVersion("3.1.6.1")] -[assembly: AssemblyFileVersion("3.1.6.1")] -[assembly: AssemblyInformationalVersion("3.1.6.1")] +[assembly: AssemblyVersion("3.1.6.2")] +[assembly: AssemblyFileVersion("3.1.6.2")] +[assembly: AssemblyInformationalVersion("3.1.6.2")] From 0bd7669f90e6375c04e1a5933587c8b1f5b5f697 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Tue, 31 Oct 2017 20:41:10 -0400 Subject: [PATCH 3/8] Caches nuget packages --- appveyor.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/appveyor.yml b/appveyor.yml index 8b30349763..3e0b4e6c8d 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -16,6 +16,8 @@ artifacts: name: TGS3Client - path: MD5-SHA1-Client-v*.txt name: MD5SHA1Client +cache: + - packages -> **\packages.config install: - choco install fciv doxygen.portable graphviz.portable before_build: From b3e6905e268e2d201c7c9323b8e9ecb78df30dfd Mon Sep 17 00:00:00 2001 From: Cyberboss Date: Tue, 31 Oct 2017 20:57:49 -0400 Subject: [PATCH 4/8] Adds a nuget package for the interface --- .github/CONTRIBUTING.md | 4 ++++ TGServiceInterface/TGServiceInterface.csproj | 1 + TGServiceInterface/TGServiceInterface.nuspec | 24 ++++++++++++++++++++ appveyor.yml | 23 ++++++++++++------- 4 files changed, 44 insertions(+), 8 deletions(-) create mode 100644 TGServiceInterface/TGServiceInterface.nuspec diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index f750428a65..05be7c55cf 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -158,3 +158,7 @@ Just becuase something isn't on this list doesn't mean that it's acceptable. Use Yes, we know that the files have a tonne of mixed Windows and Linux line endings. Attempts to fix this have been met with less than stellar success, and as such we have decided to give up caring until there comes a time when it matters. Therefore, EOF settings of main repo are forbidden territory one must avoid wandering into, at risk of losing body and/or mind to the Git gods. + +## Other Notes + +* Feel free to add your nuget account to TGServiceInterface/Packages.nuspec authors list if you modify the interface \ No newline at end of file diff --git a/TGServiceInterface/TGServiceInterface.csproj b/TGServiceInterface/TGServiceInterface.csproj index ea546a5b8a..1690c9acb1 100644 --- a/TGServiceInterface/TGServiceInterface.csproj +++ b/TGServiceInterface/TGServiceInterface.csproj @@ -72,6 +72,7 @@ + diff --git a/TGServiceInterface/TGServiceInterface.nuspec b/TGServiceInterface/TGServiceInterface.nuspec new file mode 100644 index 0000000000..714b50e1bb --- /dev/null +++ b/TGServiceInterface/TGServiceInterface.nuspec @@ -0,0 +1,24 @@ + + + + TGStation.Server.Interface + $version$ + Cyberboss + Cyberboss + https://github.com/tgstation/tgstation-server/blob/master/LICENSE + https://github.com/tgstation/tgstation-server + https://tgstation.github.io/tgstation-server/tgs.ico + false + Interface for managing /tg/station server + Copyright 2017 + tgstation game-server byond service toolset wcf ss13 client-lib tgstation-server api wcf-service soap + + + + + + + + + + \ No newline at end of file diff --git a/appveyor.yml b/appveyor.yml index 8b30349763..8476355bcc 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -29,12 +29,19 @@ after_build: - ps: if($env:APPVEYOR_REPO_COMMIT_MESSAGE -match "\[TGSDeploy\]"){$env:TGSDeploy = "Do it."} - ps: $env:TGSVersion = [System.Diagnostics.FileVersionInfo]::GetVersionInfo("$env:APPVEYOR_BUILD_FOLDER/TGServerService/bin/x86/Release/TGServerService.exe").FileVersion deploy: - release: "tgstation-server-v$(TGSVersion)" - description: 'The /tg/station server suite' - provider: GitHub - auth_token: + - provider: GitHub + release: "tgstation-server-v$(TGSVersion)" + description: 'The /tg/station server suite' + auth_token: secure: lJNGAXwiB5HlWdthz3K4PetqpTG5IEAyRgKaiKxFMQ8HW8CcOjRtB97B05op7BsK - artifact: TGS3Server,MD5SHA1Server,TGS3Client,MD5SHA1Client - draft: false - on: - TGSDeploy: "Do it." + artifact: TGS3Server,MD5SHA1Server,TGS3Client,MD5SHA1Client + draft: false + on: + TGSDeploy: "Do it." + - provider: NuGet + api_key: + secure: bedsYuLMqGREzkVkJqRx+BTMgOvDO76tgaNc8sW5E3Ao6iw8oGHdJ/BZov8y0iKa + skip_symbols: true + artifact: /.*\.nupkg/ + on: + TGSDeploy: "Do it." From 082cb4a42135e8dffd0fec90597543f8398799ae Mon Sep 17 00:00:00 2001 From: Cyberboss Date: Tue, 31 Oct 2017 21:21:50 -0400 Subject: [PATCH 5/8] Make nuget things a little better --- TGServiceInterface/TGServiceInterface.nuspec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TGServiceInterface/TGServiceInterface.nuspec b/TGServiceInterface/TGServiceInterface.nuspec index 714b50e1bb..1fcc57fd2a 100644 --- a/TGServiceInterface/TGServiceInterface.nuspec +++ b/TGServiceInterface/TGServiceInterface.nuspec @@ -1,16 +1,16 @@ - TGStation.Server.Interface + $id$ $version$ Cyberboss - Cyberboss https://github.com/tgstation/tgstation-server/blob/master/LICENSE https://github.com/tgstation/tgstation-server https://tgstation.github.io/tgstation-server/tgs.ico false Interface for managing /tg/station server Copyright 2017 + https://github.com/tgstation/tgstation-server/releases/tag/tgstation-server-v$version$ tgstation game-server byond service toolset wcf ss13 client-lib tgstation-server api wcf-service soap From 858f34eb7f9956ed14f6988eb2f3c55954f5ddf2 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Tue, 31 Oct 2017 21:43:53 -0400 Subject: [PATCH 6/8] Version bump to 3.1.6.3 [TGSDeploy] --- Version.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Version.cs b/Version.cs index 857215dc2e..a2cab3979f 100644 --- a/Version.cs +++ b/Version.cs @@ -12,6 +12,6 @@ using System.Reflection; // [assembly: AssemblyVersion("1.0.*")] //It's impossible to make these a define, don't say I didn't warn you -[assembly: AssemblyVersion("3.1.6.2")] -[assembly: AssemblyFileVersion("3.1.6.2")] -[assembly: AssemblyInformationalVersion("3.1.6.2")] +[assembly: AssemblyVersion("3.1.6.3")] +[assembly: AssemblyFileVersion("3.1.6.3")] +[assembly: AssemblyInformationalVersion("3.1.6.3")] From 084f202315b94ef1a540a4166477aa0b26666194 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Tue, 31 Oct 2017 22:03:23 -0400 Subject: [PATCH 7/8] Fix github release token [TGSDeploy] --- appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index 5546814415..ac90a6dabb 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -35,7 +35,7 @@ deploy: release: "tgstation-server-v$(TGSVersion)" description: 'The /tg/station server suite' auth_token: - secure: lJNGAXwiB5HlWdthz3K4PetqpTG5IEAyRgKaiKxFMQ8HW8CcOjRtB97B05op7BsK + secure: lJNGAXwiB5HlWdthz3K4PetqpTG5IEAyRgKaiKxFMQ8HW8CcOjRtB97B05op7BsK artifact: TGS3Server,MD5SHA1Server,TGS3Client,MD5SHA1Client draft: false on: From 7f70509b224f6b44178041dcba466f14b09605ef Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Tue, 31 Oct 2017 22:42:47 -0400 Subject: [PATCH 8/8] Fixes nuget not packing --- appveyor.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/appveyor.yml b/appveyor.yml index ac90a6dabb..11c3ad0381 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -26,6 +26,7 @@ build: project: TGStationServer3.sln parallel: true verbosity: minimal + publish_nuget: true after_build: - ps: .\Tools\TGS3Build.ps1 - ps: if($env:APPVEYOR_REPO_COMMIT_MESSAGE -match "\[TGSDeploy\]"){$env:TGSDeploy = "Do it."}