diff options
Diffstat (limited to 'OpenSim/ApplicationPlugins/Rest/Inventory/RequestData.cs')
-rw-r--r-- | OpenSim/ApplicationPlugins/Rest/Inventory/RequestData.cs | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/OpenSim/ApplicationPlugins/Rest/Inventory/RequestData.cs b/OpenSim/ApplicationPlugins/Rest/Inventory/RequestData.cs index d3a7e64..10f1a6e 100644 --- a/OpenSim/ApplicationPlugins/Rest/Inventory/RequestData.cs +++ b/OpenSim/ApplicationPlugins/Rest/Inventory/RequestData.cs | |||
@@ -35,6 +35,9 @@ using System.Xml; | |||
35 | using OpenSim.Framework; | 35 | using OpenSim.Framework; |
36 | using OpenSim.Framework.Servers; | 36 | using OpenSim.Framework.Servers; |
37 | using OpenSim.Framework.Servers.HttpServer; | 37 | using OpenSim.Framework.Servers.HttpServer; |
38 | using OpenSim.Services.Interfaces; | ||
39 | |||
40 | using OpenMetaverse; | ||
38 | 41 | ||
39 | namespace OpenSim.ApplicationPlugins.Rest.Inventory | 42 | namespace OpenSim.ApplicationPlugins.Rest.Inventory |
40 | { | 43 | { |
@@ -658,7 +661,6 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory | |||
658 | { | 661 | { |
659 | 662 | ||
660 | int x; | 663 | int x; |
661 | string HA1; | ||
662 | string first; | 664 | string first; |
663 | string last; | 665 | string last; |
664 | 666 | ||
@@ -675,17 +677,13 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory | |||
675 | last = String.Empty; | 677 | last = String.Empty; |
676 | } | 678 | } |
677 | 679 | ||
678 | UserProfileData udata = Rest.UserServices.GetUserProfile(first, last); | 680 | UserAccount account = Rest.UserServices.GetUserAccount(UUID.Zero, first, last); |
679 | 681 | ||
680 | // If we don't recognize the user id, perhaps it is god? | 682 | // If we don't recognize the user id, perhaps it is god? |
681 | 683 | if (account == null) | |
682 | if (udata == null) | ||
683 | return pass == Rest.GodKey; | 684 | return pass == Rest.GodKey; |
684 | 685 | ||
685 | HA1 = HashToString(pass); | 686 | return (Rest.AuthServices.Authenticate(account.PrincipalID, pass, 1) != string.Empty); |
686 | HA1 = HashToString(String.Format("{0}:{1}",HA1,udata.PasswordSalt)); | ||
687 | |||
688 | return (0 == sc.Compare(HA1, udata.PasswordHash)); | ||
689 | 687 | ||
690 | } | 688 | } |
691 | 689 | ||
@@ -897,11 +895,10 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory | |||
897 | last = String.Empty; | 895 | last = String.Empty; |
898 | } | 896 | } |
899 | 897 | ||
900 | UserProfileData udata = Rest.UserServices.GetUserProfile(first, last); | 898 | UserAccount account = Rest.UserServices.GetUserAccount(UUID.Zero, first, last); |
901 | |||
902 | // If we don;t recognize the user id, perhaps it is god? | 899 | // If we don;t recognize the user id, perhaps it is god? |
903 | 900 | ||
904 | if (udata == null) | 901 | if (account == null) |
905 | { | 902 | { |
906 | Rest.Log.DebugFormat("{0} Administrator", MsgId); | 903 | Rest.Log.DebugFormat("{0} Administrator", MsgId); |
907 | return Rest.GodKey; | 904 | return Rest.GodKey; |
@@ -909,7 +906,12 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory | |||
909 | else | 906 | else |
910 | { | 907 | { |
911 | Rest.Log.DebugFormat("{0} Normal User {1}", MsgId, user); | 908 | Rest.Log.DebugFormat("{0} Normal User {1}", MsgId, user); |
912 | return udata.PasswordHash; | 909 | |
910 | // !!! REFACTORING PROBLEM | ||
911 | // This is what it was. It doesn't work in 0.7 | ||
912 | // Nothing retrieves the password from the authentication service, there's only authentication. | ||
913 | //return udata.PasswordHash; | ||
914 | return string.Empty; | ||
913 | } | 915 | } |
914 | 916 | ||
915 | } | 917 | } |