aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/Communications
diff options
context:
space:
mode:
authorJustin Clarke Casey2008-02-18 15:50:18 +0000
committerJustin Clarke Casey2008-02-18 15:50:18 +0000
commit500d259c252f8c4f75c6f37e1067d57811426ddd (patch)
tree778ae131f7fdb01678f82cf8b94a25992e722390 /OpenSim/Framework/Communications
parenta new attempt at converting to the right types (diff)
downloadopensim-SC_OLD-500d259c252f8c4f75c6f37e1067d57811426ddd.zip
opensim-SC_OLD-500d259c252f8c4f75c6f37e1067d57811426ddd.tar.gz
opensim-SC_OLD-500d259c252f8c4f75c6f37e1067d57811426ddd.tar.bz2
opensim-SC_OLD-500d259c252f8c4f75c6f37e1067d57811426ddd.tar.xz
* Do not allow a user to be created if one with the same name already exists
Diffstat (limited to 'OpenSim/Framework/Communications')
-rw-r--r--OpenSim/Framework/Communications/CommunicationsManager.cs20
-rw-r--r--OpenSim/Framework/Communications/UserManagerBase.cs45
2 files changed, 36 insertions, 29 deletions
diff --git a/OpenSim/Framework/Communications/CommunicationsManager.cs b/OpenSim/Framework/Communications/CommunicationsManager.cs
index eb820c1..4ad808a 100644
--- a/OpenSim/Framework/Communications/CommunicationsManager.cs
+++ b/OpenSim/Framework/Communications/CommunicationsManager.cs
@@ -131,11 +131,27 @@ namespace OpenSim.Framework.Communications
131 regY = Convert.ToUInt32(cmmdParams[5]); 131 regY = Convert.ToUInt32(cmmdParams[5]);
132 } 132 }
133 133
134 AddUser(firstName, lastName, password, regX, regY); 134 if (null == m_userService.GetUserProfile(firstName, lastName))
135 {
136 AddUser(firstName, lastName, password, regX, regY);
137 }
138 else
139 {
140 m_log.ErrorFormat("[USERS]: A user with the name {0} {1} already exists!", firstName, lastName);
141 }
135 break; 142 break;
136 } 143 }
137 } 144 }
138 145
146 /// <summary>
147 /// Persistently adds a user to OpenSim.
148 /// </summary>
149 /// <param name="firstName"></param>
150 /// <param name="lastName"></param>
151 /// <param name="password"></param>
152 /// <param name="regX"></param>
153 /// <param name="regY"></param>
154 /// <returns>The UUID of the added user. Returns null if the add was unsuccessful</returns>
139 public LLUUID AddUser(string firstName, string lastName, string password, uint regX, uint regY) 155 public LLUUID AddUser(string firstName, string lastName, string password, uint regX, uint regY)
140 { 156 {
141 string md5PasswdHash = Util.Md5Hash(Util.Md5Hash(password) + ":" + String.Empty); 157 string md5PasswdHash = Util.Md5Hash(Util.Md5Hash(password) + ":" + String.Empty);
@@ -149,7 +165,7 @@ namespace OpenSim.Framework.Communications
149 else 165 else
150 { 166 {
151 m_inventoryService.CreateNewUserInventory(userProf.UUID); 167 m_inventoryService.CreateNewUserInventory(userProf.UUID);
152 System.Console.WriteLine("Created new inventory set for " + firstName + " " + lastName); 168 System.Console.WriteLine("[USERS]: Created new inventory set for " + firstName + " " + lastName);
153 return userProf.UUID; 169 return userProf.UUID;
154 } 170 }
155 } 171 }
diff --git a/OpenSim/Framework/Communications/UserManagerBase.cs b/OpenSim/Framework/Communications/UserManagerBase.cs
index dbf9276..733d62b 100644
--- a/OpenSim/Framework/Communications/UserManagerBase.cs
+++ b/OpenSim/Framework/Communications/UserManagerBase.cs
@@ -86,11 +86,24 @@ namespace OpenSim.Framework.UserManagement
86 86
87 #region Get UserProfile 87 #region Get UserProfile
88 88
89 /// <summary> 89 // see IUserService
90 /// Loads a user profile from a database by UUID 90 public UserProfileData GetUserProfile(string fname, string lname)
91 /// </summary> 91 {
92 /// <param name="uuid">The target UUID</param> 92 foreach (KeyValuePair<string, IUserData> plugin in _plugins)
93 /// <returns>A user profile. Returns null if no user profile is found.</returns> 93 {
94 UserProfileData profile = plugin.Value.GetUserByName(fname, lname);
95
96 if (profile != null)
97 {
98 profile.currentAgent = getUserAgent(profile.UUID);
99 return profile;
100 }
101 }
102
103 return null;
104 }
105
106 // see IUserService
94 public UserProfileData GetUserProfile(LLUUID uuid) 107 public UserProfileData GetUserProfile(LLUUID uuid)
95 { 108 {
96 foreach (KeyValuePair<string, IUserData> plugin in _plugins) 109 foreach (KeyValuePair<string, IUserData> plugin in _plugins)
@@ -126,28 +139,6 @@ namespace OpenSim.Framework.UserManagement
126 } 139 }
127 140
128 /// <summary> 141 /// <summary>
129 /// Loads a user profile by name
130 /// </summary>
131 /// <param name="fname">First name</param>
132 /// <param name="lname">Last name</param>
133 /// <returns>A user profile. Returns null if no profile is found</returns>
134 public UserProfileData GetUserProfile(string fname, string lname)
135 {
136 foreach (KeyValuePair<string, IUserData> plugin in _plugins)
137 {
138 UserProfileData profile = plugin.Value.GetUserByName(fname, lname);
139
140 if (profile != null)
141 {
142 profile.currentAgent = getUserAgent(profile.UUID);
143 return profile;
144 }
145 }
146
147 return null;
148 }
149
150 /// <summary>
151 /// Set's user profile from object 142 /// Set's user profile from object
152 /// </summary> 143 /// </summary>
153 /// <param name="fname">First name</param> 144 /// <param name="fname">First name</param>