Skip to content

Commit 4f2d23d

Browse files
committed
messages.d: implement PrivateRoomCancelOperatorship message (code 147)
Unused in clients, but the official server recognizes it.
1 parent e543bd2 commit 4f2d23d

File tree

2 files changed

+100
-75
lines changed

2 files changed

+100
-75
lines changed

src/server/messages.d

Lines changed: 88 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -81,81 +81,82 @@ struct RelatedSearchTerm
8181

8282
// Message Codes
8383

84-
enum Login = 1;
85-
enum SetWaitPort = 2;
86-
enum GetPeerAddress = 3;
87-
enum WatchUser = 5;
88-
enum UnwatchUser = 6;
89-
enum GetUserStatus = 7;
90-
enum SayChatroom = 13;
91-
enum JoinRoom = 14;
92-
enum LeaveRoom = 15;
93-
enum UserJoinedRoom = 16;
94-
enum UserLeftRoom = 17;
95-
enum ConnectToPeer = 18;
96-
enum MessageUser = 22;
97-
enum MessageAcked = 23;
98-
enum FileSearch = 26;
99-
enum SetStatus = 28;
100-
enum ServerPing = 32;
101-
enum SendConnectToken = 33; // Obsolete
102-
enum SharedFoldersFiles = 35;
103-
enum GetUserStats = 36;
104-
enum UploadSlotsFull = 40; // Obsolete
105-
enum Relogged = 41;
106-
enum UserSearch = 42;
107-
enum SimilarRecommendations = 50; // Obsolete
108-
enum AddThingILike = 51;
109-
enum RemoveThingILike = 52;
110-
enum GetRecommendations = 54;
111-
enum MyRecommendations = 55; // Obsolete
112-
enum GlobalRecommendations = 56;
113-
enum UserInterests = 57;
114-
enum PlaceInLineRequest = 59; // Obsolete
115-
enum RoomList = 64;
116-
enum AdminMessage = 66;
117-
enum GlobalUserList = 67; // Obsolete
118-
enum PrivilegedUsers = 69;
119-
enum CheckPrivileges = 92;
120-
enum WishlistSearch = 103;
121-
enum WishlistInterval = 104;
122-
enum SimilarUsers = 110;
123-
enum ItemRecommendations = 111;
124-
enum ItemSimilarUsers = 112;
125-
enum RoomTickers = 113;
126-
enum RoomTickerAdd = 114;
127-
enum RoomTickerRemove = 115;
128-
enum SetRoomTicker = 116;
129-
enum AddThingIHate = 117;
130-
enum RemoveThingIHate = 118;
131-
enum RoomSearch = 120;
132-
enum SendUploadSpeed = 121;
133-
enum UserPrivileged = 122; // Obsolete
134-
enum GivePrivileges = 123;
135-
enum NotifyPrivileges = 124; // Obsolete
136-
enum AckNotifyPrivileges = 125; // Obsolete
137-
enum PrivateRoomUsers = 133;
138-
enum PrivateRoomAddUser = 134;
139-
enum PrivateRoomRemoveUser = 135;
140-
enum PrivateRoomCancelMembership = 136;
141-
enum PrivateRoomDisown = 137;
142-
enum PrivateRoomAdded = 139;
143-
enum PrivateRoomRemoved = 140;
144-
enum PrivateRoomToggle = 141;
145-
enum ChangePassword = 142;
146-
enum PrivateRoomAddOperator = 143;
147-
enum PrivateRoomRemoveOperator = 144;
148-
enum PrivateRoomOperatorAdded = 145;
149-
enum PrivateRoomOperatorRemoved = 146;
150-
enum PrivateRoomOperators = 148;
151-
enum MessageUsers = 149;
152-
enum JoinGlobalRoom = 150;
153-
enum LeaveGlobalRoom = 151;
154-
enum GlobalRoomMessage = 152;
155-
enum RelatedSearch = 153; // Obsolete
156-
enum ExcludedSearchPhrases = 160;
157-
enum CantConnectToPeer = 1001;
158-
enum CantCreateRoom = 1003;
84+
enum Login = 1;
85+
enum SetWaitPort = 2;
86+
enum GetPeerAddress = 3;
87+
enum WatchUser = 5;
88+
enum UnwatchUser = 6;
89+
enum GetUserStatus = 7;
90+
enum SayChatroom = 13;
91+
enum JoinRoom = 14;
92+
enum LeaveRoom = 15;
93+
enum UserJoinedRoom = 16;
94+
enum UserLeftRoom = 17;
95+
enum ConnectToPeer = 18;
96+
enum MessageUser = 22;
97+
enum MessageAcked = 23;
98+
enum FileSearch = 26;
99+
enum SetStatus = 28;
100+
enum ServerPing = 32;
101+
enum SendConnectToken = 33; // Obsolete
102+
enum SharedFoldersFiles = 35;
103+
enum GetUserStats = 36;
104+
enum UploadSlotsFull = 40; // Obsolete
105+
enum Relogged = 41;
106+
enum UserSearch = 42;
107+
enum SimilarRecommendations = 50; // Obsolete
108+
enum AddThingILike = 51;
109+
enum RemoveThingILike = 52;
110+
enum GetRecommendations = 54;
111+
enum MyRecommendations = 55; // Obsolete
112+
enum GlobalRecommendations = 56;
113+
enum UserInterests = 57;
114+
enum PlaceInLineRequest = 59; // Obsolete
115+
enum RoomList = 64;
116+
enum AdminMessage = 66;
117+
enum GlobalUserList = 67; // Obsolete
118+
enum PrivilegedUsers = 69;
119+
enum CheckPrivileges = 92;
120+
enum WishlistSearch = 103;
121+
enum WishlistInterval = 104;
122+
enum SimilarUsers = 110;
123+
enum ItemRecommendations = 111;
124+
enum ItemSimilarUsers = 112;
125+
enum RoomTickers = 113;
126+
enum RoomTickerAdd = 114;
127+
enum RoomTickerRemove = 115;
128+
enum SetRoomTicker = 116;
129+
enum AddThingIHate = 117;
130+
enum RemoveThingIHate = 118;
131+
enum RoomSearch = 120;
132+
enum SendUploadSpeed = 121;
133+
enum UserPrivileged = 122; // Obsolete
134+
enum GivePrivileges = 123;
135+
enum NotifyPrivileges = 124; // Obsolete
136+
enum AckNotifyPrivileges = 125; // Obsolete
137+
enum PrivateRoomUsers = 133;
138+
enum PrivateRoomAddUser = 134;
139+
enum PrivateRoomRemoveUser = 135;
140+
enum PrivateRoomCancelMembership = 136;
141+
enum PrivateRoomDisown = 137;
142+
enum PrivateRoomAdded = 139;
143+
enum PrivateRoomRemoved = 140;
144+
enum PrivateRoomToggle = 141;
145+
enum ChangePassword = 142;
146+
enum PrivateRoomAddOperator = 143;
147+
enum PrivateRoomRemoveOperator = 144;
148+
enum PrivateRoomOperatorAdded = 145;
149+
enum PrivateRoomOperatorRemoved = 146;
150+
enum PrivateRoomCancelOperatorship = 147;
151+
enum PrivateRoomOperators = 148;
152+
enum MessageUsers = 149;
153+
enum JoinGlobalRoom = 150;
154+
enum LeaveGlobalRoom = 151;
155+
enum GlobalRoomMessage = 152;
156+
enum RelatedSearch = 153; // Obsolete
157+
enum ExcludedSearchPhrases = 160;
158+
enum CantConnectToPeer = 1001;
159+
enum CantCreateRoom = 1003;
159160

160161

161162
// Incoming Messages
@@ -895,6 +896,18 @@ final class UPrivateRoomRemoveOperator : UMessage
895896
}
896897
}
897898

899+
final class UPrivateRoomCancelOperatorship : UMessage
900+
{
901+
string room_name;
902+
903+
this(const(ubyte)[] in_buf, string in_username) scope
904+
{
905+
super(in_buf, in_username);
906+
907+
room_name = read!string();
908+
}
909+
}
910+
898911
final class UMessageUsers : UMessage
899912
{
900913
string[] usernames;

src/server/msghandler.d

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -675,6 +675,18 @@ final class MessageHandler
675675
);
676676
break;
677677

678+
case PrivateRoomCancelOperatorship:
679+
scope msg = new UPrivateRoomCancelOperatorship(
680+
msg_buf, user.username
681+
);
682+
if (!msg.is_valid)
683+
break;
684+
685+
server.cancel_room_operatorship(
686+
msg.room_name, user.username, user.username
687+
);
688+
break;
689+
678690
case MessageUsers:
679691
scope msg = new UMessageUsers(msg_buf, user.username);
680692
if (!msg.is_valid)

0 commit comments

Comments
 (0)