public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { PrivilegeLevel privilegeLevel = (PrivilegeLevel)value; string convertedPrivilegeLevel = String.Empty; switch (privilegeLevel) { case PrivilegeLevel.Standard: convertedPrivilegeLevel = "Standard"; break; case PrivilegeLevel.Premium: convertedPrivilegeLevel = "Premium"; break; case PrivilegeLevel.Executive: convertedPrivilegeLevel = "Executive"; break; case PrivilegeLevel.PremiumExecutive: convertedPrivilegeLevel = "Premium Executive"; break; } return(convertedPrivilegeLevel); }
public bool Execute(SlackBotCommand command) { string userToCheck; if (string.IsNullOrWhiteSpace(command.Text)) { userToCheck = command.User.name; } else { userToCheck = command.Text; } PrivilegeLevel privilege = slackBot.GetUserPrivilege(userToCheck); string response; switch (privilege) { case PrivilegeLevel.Super: response = "Your privelege level is Super, that makes you in the 1% of privilege levels"; break; case PrivilegeLevel.Admin: response = "You got some privilege but not a lot. You're an admin which is kind of like the guy in the factory that watches the other guys work." + "On the one hand you're not the lowest level, but you're still in the factory son."; break; case PrivilegeLevel.Normal: default: response = "You're just a regular joe, p'ting. But not like our Joe because he's actually kind of a big deal."; break; } slackBot.Reply(command, response); return(false); }
public override string GetHelpText(PrivilegeLevel current, string more) { if(more.Length != 0) { int space = more.Trim().IndexOf(' '); string subname = space == -1 ? more.Trim().ToLower() : more.Trim().Substring(0, space).ToLower(); foreach (Command sub in subcommands) { if (sub.GetKeyword().ToLower() == subname) { return " " + subname + sub.GetHelpText(current, null); } } } string result = " - Use 'help " + GetKeyword() + " <command>' to get help for a subcommand, <command> can be any of: "; int count = 0; foreach (Command sub in subcommands) { if (sub.Privilege <= current) { result += sub.GetKeyword() + (sub.GetKeyword() == DefaultSubCommand ? " (default)" : "") + ", "; count++; } } if (count == 0) return ": no subcommands available at your privilege level"; else return result.Substring(0, result.Length - 2); }
public void BroadcastMessage(IMessage msg, PrivilegeLevel minimumPrivLevel = PrivilegeLevel.Administrator, ClientData skipUser = null) { string serialized = JsonConvert.SerializeObject(msg, Formatting.None); Type t = msg.GetType(); Message message = new Message(MessageType.Data, 0x01); message.Store["type"] = Encoding.UTF8.GetBytes(t.Name); message.Store["message"] = Utilities.Compress(Encoding.UTF8.GetBytes(serialized)); lock (_UserListLock) { foreach (var user in Clients) { try { if (skipUser != null && user == skipUser) { continue; } if (user.PrivilegeLevel >= minimumPrivLevel) { user.Connection.ServerLink.SendMessage(message); } } catch (Exception ex) { logger.Trace(ex.Message, "Server BroadcastMessage: " + user.ClientName != string.Empty ? user.ClientGuid : user.ClientName); } } } }
private bool checkPrivilegeAndNumberOfTickets( PrivilegeLevel proposedPrivilegeLevel, short proposedNumberOfTickets) { bool retVal = false; switch (proposedPrivilegeLevel) { case PrivilegeLevel.Standard: retVal = (proposedNumberOfTickets <= 2); break; case PrivilegeLevel.Premium: retVal = (proposedNumberOfTickets <= 4); break; case PrivilegeLevel.Executive: retVal = (proposedNumberOfTickets <= 8); break; case PrivilegeLevel.PremiumExecutive: retVal = (proposedNumberOfTickets <= 10); break; } return retVal; }
// Privilege replies public async Task <bool> ReplyValidatePrivilegeAsync(PrivilegeLevel level, ISpecies species = null) { if (species.IsValid() && Context.User.Id == species.Creator?.UserId) { return(true); } if (Config.HasPrivilegeLevel(Context.User, level)) { return(true); } string privilegeName = ""; switch (level) { case PrivilegeLevel.BotAdmin: privilegeName = "Bot Admin"; break; case PrivilegeLevel.ServerAdmin: privilegeName = "Admin"; break; case PrivilegeLevel.ServerModerator: privilegeName = "Moderator"; break; } await ReplyErrorAsync($"You must have {privilegeName.ToTitle().ToBold()} privileges to use this command."); return(false); }
private bool checkPrivilegeAndNumberOfTickets( PrivilegeLevel proposedPrivilegeLevel, short proposedNumberOfTickets) { var retVal = false; switch (proposedPrivilegeLevel) { case PrivilegeLevel.Standard: retVal = (proposedNumberOfTickets <= 2); break; case PrivilegeLevel.Premium: retVal = (proposedNumberOfTickets <= 4); break; case PrivilegeLevel.Executive: retVal = (proposedNumberOfTickets <= 8); break; case PrivilegeLevel.PremiumExecutive: retVal = (proposedNumberOfTickets <= 10); break; } return(retVal); }
protected static bool IsValidCaller(int idClub, PrivilegeLevel level = PrivilegeLevel.ReadWrite) { // Check that you are authenticated - prevent cross-site scripting if (HttpContext.Current == null || HttpContext.Current.User == null || HttpContext.Current.User.Identity == null || !HttpContext.Current.User.Identity.IsAuthenticated || String.IsNullOrEmpty(HttpContext.Current.User.Identity.Name)) { throw new MyFlightbookException("You must be authenticated to make this call"); } if (idClub == Club.ClubIDNew) { throw new MyFlightbookException("Each scheduled item must be in the context of a club."); } Club c = Club.ClubWithID(idClub); if (c == null) { throw new MyFlightbookException("Invalid club specification - no such club."); } // Check that the user is a member of the specified club if (!c.HasMember(HttpContext.Current.User.Identity.Name)) { throw new MyFlightbookException("You must be a member of the club to make this call"); } if (level == PrivilegeLevel.ReadWrite && !c.CanWrite) { throw new MyFlightbookException(Branding.ReBrand(c.Status == Club.ClubStatus.Expired ? Resources.Club.errClubPromoExpired : Resources.Club.errClubInactive)); } return(true); }
/// <summary> /// Constructor. /// </summary> /// <param name="id">The user's identification number.</param> /// <param name="name">The user's name.</param> /// <param name="number">The user's number.</param> /// <param name="dateOfBirth">The user's date of birth.</param> /// <param name="address">The user's address.</param> /// <param name="email">The user's email.</param> /// <param name="username">The user's username.</param> /// <param name="passwordHash">The user's password hash.</param> /// <param name="passwordSalt">The user's password salt.</param> /// <param name="privilegeLevel">The user's privilege level.</param> public User(int id, string name, string number, DateTime dateOfBirth, string address, string email, string username, string passwordHash, string passwordSalt, PrivilegeLevel privilegeLevel) : base(id, name, number, dateOfBirth, address, email) { Username = username; PasswordHash = passwordHash; PasswordSalt = passwordSalt; PrivilegeLevel = privilegeLevel; }
/// <summary> /// Constructor. /// </summary> /// <param name="person">The person instance of the user.</param> /// <param name="username">The user's username.</param> /// <param name="passwordHash">The user's password hash.</param> /// <param name="passwordSalt">The user's password salt.</param> /// <param name="privilegeLevel">The user's privilege level.</param> public User(Person person, string username, string passwordHash, string passwordSalt, PrivilegeLevel privilegeLevel) : base(person) { Username = username; PasswordHash = passwordHash; PasswordSalt = passwordSalt; PrivilegeLevel = privilegeLevel; }
public Command(VirtualServer _server, string _name, Action <ServerMessage, string> _cmd, PrivilegeLevel _priv, HelpMsgStrings _helpmessage) { server = _server; name = _name; helpmessage = _helpmessage; priv = _priv; cmd = _cmd; }
/// <summary> /// Initializes a new instance of the OpenSessionRequest class. /// </summary> /// <param name="messageTag">Remote console message tag</param> /// <param name="maximumPrivilegeLevel">Maximum privilege level for this session.</param> /// <param name="remoteSessionId">Remote session ID.</param> internal OpenSessionRequest(byte messageTag, PrivilegeLevel maximumPrivilegeLevel, uint remoteSessionId, RmcpAuthentication authenticationAlgorithm, RmcpIntegrity integrityAlgorithm, RmcpConfidentiality confidentialityAlgorithm) { this.messageTag = messageTag; this.maximumPrivilegeLevel = maximumPrivilegeLevel; this.remoteSessionId = remoteSessionId; this.authenticationAlgorithm = Convert.ToByte(authenticationAlgorithm, CultureInfo.InvariantCulture); this.integrityAlgorithm = Convert.ToByte(integrityAlgorithm, CultureInfo.InvariantCulture); this.confidentialityAlgorithm = Convert.ToByte(confidentialityAlgorithm, CultureInfo.InvariantCulture); }
public AuthenticationStartPacketBody(PrivilegeLevel privLvl, AuthenticationType type, AuthenticationService service, IPAddress remAdrr = null, string port = null, PacketType action = PacketType.TAC_PLUS_AUTHEN) { Action = action; PrivLvl = privLvl; AuthenType = type; Service = service; RemAddr = remAdrr; Port = port; }
public void Register(IWifiAddon addon, string menuAnchor, string path, PrivilegeLevel level = PrivilegeLevel.Admins) { WifiAddon a = new WifiAddon(); a.Addon = addon; a.MenuAnchor = menuAnchor; a.Path = path; a.Privilege = level; m_Addons.Add(a); }
public void RegisterCustomCSR(string name, uint number, PrivilegeLevel mode) { var customCSR = new SimpleCSR(name, number, mode); if (simpleCSRs.Keys.Any(x => x.Number == customCSR.Number)) { throw new ConstructionException($"Cannot register CSR {customCSR.Name}, because its number 0x{customCSR.Number:X} is already registered"); } simpleCSRs.Add(customCSR, 0); RegisterCSR(customCSR.Number, () => simpleCSRs[customCSR], value => simpleCSRs[customCSR] = value, name); }
/// <summary> /// Retrieves available commands /// </summary> /// <param name="privilegeLevel">The maximum privilege level</param> /// <returns>All commands up to and including the privilege level</returns> public static List <string> AvailableCommands(PrivilegeLevel privilegeLevel) { var commands = _commandMap .Where(kvp => kvp.Value.PrivilegeLevel <= privilegeLevel) .Select(kvp => kvp.Value.FriendlyName) .ToList(); commands.Sort(); return(commands); }
/// <summary> /// Initializes a new instance of the ActivateSessionRequest class. /// </summary> /// <param name="sessionAuthenticationType">Session authentication type.</param> /// <param name="maximumPrivilegeLevel">Maximum privilege level for this session.</param> /// <param name="sessionChallengeString">Challenge string from Get Session Challenge message.</param> /// <param name="initialOutboundSequenceNumber">Initial outbound sequence number.</param> internal ActivateSessionRequest( AuthenticationType sessionAuthenticationType, PrivilegeLevel maximumPrivilegeLevel, byte[] sessionChallengeString, uint initialOutboundSequenceNumber) { this.sessionAuthenticationType = sessionAuthenticationType; this.maximumPrivilegeLevel = maximumPrivilegeLevel; this.sessionChallengeString = sessionChallengeString; this.initialOutboundSequenceNumber = initialOutboundSequenceNumber; }
private void purchaseTickets_Click(object sender, RoutedEventArgs e) { var eventBe = EventList.GetBindingExpression(ComboBox.TextProperty); var customerReferenceBe = CustomerReference.GetBindingExpression(TextBox.TextProperty); var privilegeLevelBe = PrivilegeLevel.GetBindingExpression(ComboBox.TextProperty); var numberOfTicketsBe = NumberOfTickets.GetBindingExpression(RangeBase.ValueProperty); if (eventBe == null) { return; } eventBe.UpdateSource(); if (customerReferenceBe == null) { return; } customerReferenceBe.UpdateSource(); if (privilegeLevelBe == null) { return; } privilegeLevelBe.UpdateSource(); if (numberOfTicketsBe == null) { return; } numberOfTicketsBe.UpdateSource(); if (eventBe.HasError || customerReferenceBe.HasError || privilegeLevelBe.HasError || numberOfTicketsBe.HasError) { MessageBox.Show("Please correct errors", "Purchase aborted"); } else { var ticketOrderBinding = BindingOperations.GetBinding(PrivilegeLevel, ComboBox.TextProperty); if (ticketOrderBinding == null) { return; } var ticketOrder = ticketOrderBinding.Source as TicketOrder; if (ticketOrder != null) { MessageBox.Show(ticketOrder.ToString(), "Purchased"); } } }
private void HandleMessage(NewMessage newMessage) { if (newMessage.user == null) //The message is from us, ignore { newMessage.user = SlackBot.MySelf.id; } //return; SlackBotCommand command; if (!SlackBotCommand.GetCommand(newMessage, SlackBot, out command)) { return; } // DM to slackbot doesn't have a channel. if (command.Channel == null) { return; } if (CommandTypeRegistry.HasHandler(command.Name)) { PrivilegeLevel privilegeLevel = CommandTypeRegistry.GetCommandType(command.Name).GetPrivilegeLevel(); if ((int)GetUserPrivilege(command.User.name) < (int)privilegeLevel) { Reply(command, "http://i.imgur.com/egUwx5Q.gif"); Reply(command, "You better check your privilege!"); return; } if (!CommandHandlerRegistry.HasCommand(command)) { CommandHandlerRegistry.RegisterCommand(command, this); } ICommandHandler handler = CommandHandlerRegistry.GetCommand(command); if (!handler.Execute(command)) { CommandHandlerRegistry.DeRegisterCommand(command); } } else { Reply(command, ":clippy: \"Were you trying to run this command?\""); Reply(command, string.Format("@badjob {0} not knowing the commands.", command.User.name)); } }
/// <summary> /// Set User Access /// </summary> /// <param name="userId">User Id.</param> /// <param name="userLmit">User Privilege Level.</param> /// <param name="allowBitMod">True|False, allow modification of bits in request byte</param> /// <param name="callBack">True|False, allow callbacks, usually set to False</param> /// <param name="linkAuth">True|False, allow link authoriation, usually set to True</param> /// <param name="ipmiMessage">allow Impi messaging, usually set to True</param> /// <param name="channel">channel used to communicate with BMC, 1-7</param> public virtual bool SetUserAccess(int userId, PrivilegeLevel priv, bool allowBitMod, bool callback, bool linkAuth, bool ipmiMessage, int channel) { // TODO: implement Set Channel Access command to be comsistent with // the user settings. Temp workaround, when setting user access // set allowBitMod to false. byte[] tempArray = new byte[1]; // intialize 8 bit byte request for byte #1 of SetUserAccessRequest BitArray bitArray = new BitArray(8); byte[] channelByte = BitConverter.GetBytes(channel); // inialize BitArray with channel number BitArray channelBitArray = new BitArray(channelByte); // set BitArray values for supplied parameters bitArray.Set(7, allowBitMod); // true|false, Allow changing of bits in the request byte bitArray.Set(6, callback); // true|false, User Restricted to Callback bitArray.Set(5, linkAuth); // true|false, Link Auth bitArray.Set(4, ipmiMessage); // true|false, IPMI Messaging bitArray.Set(3, channelBitArray[3]); // channel number bitArray.Set(2, channelBitArray[2]); // channel number bitArray.Set(1, channelBitArray[1]); // channel number bitArray.Set(0, channelBitArray[0]); // channel number // copy BitArray to Byte[] array bitArray.CopyTo(tempArray, 0); // convert Byte value to base 16 byte requestByte1 = Convert.ToByte(string.Format(CultureInfo.InvariantCulture, "{0:x}", tempArray[0]), 16); SetUserAccessResponse response = (SetUserAccessResponse)this.IpmiSendReceive( new SetUserAccessRequest(Convert.ToByte(userId, CultureInfo.InvariantCulture), Convert.ToByte(priv, CultureInfo.InvariantCulture), requestByte1, 0x00), typeof(SetUserAccessResponse)); if (response.CompletionCode == 0) { return(true); } else { return(false); } }
private void FrmAddUser_Load(object sender, EventArgs e) { this.ComboBoxPrivilege.Items.AddRange(PrivilegeLevel.ToArray()); if (WorkingState.Add == this.WorkingState) { this.Text = "添加"; this.ComboBoxPrivilege.SelectedIndex = 0; } else if (WorkingState.Modify == this.WorkingState) { this.Text = "修改"; this.TxtBoxUserName.Text = this.User.Name; this.TxtBoxUserName.Enabled = false; this.TxtBoxPassword.Text = this.User.Password; this.TxtBoxNickname.Text = this.User.Nickname; this.ComboBoxPrivilege.Text = this.User.Privilege; } }
private PrivilegeDepth GetDepthFromLevel(PrivilegeLevel privilegeLevel) { switch (privilegeLevel) { case PrivilegeLevel.User: return(PrivilegeDepth.Basic); case PrivilegeLevel.BusinessUnit: return(PrivilegeDepth.Local); case PrivilegeLevel.ParentChildBusinessUnit: return(PrivilegeDepth.Deep); case PrivilegeLevel.Organization: return(PrivilegeDepth.Global); default: throw new Exception("Unexpected Privilege level"); } }
public AuthorizationRequestPacketBody( AuthenticationMethod authenMethod, PrivilegeLevel privLvl, AuthenticationType authenType, AuthenticationService service, string[] args, string user = null, string port = null, IPAddress remAddr = null ) { AuthenMethod = authenMethod; PrivLvl = privLvl; AuthenType = authenType; Service = service; User = user; Port = port; RemAddr = remAddr; Args = args; }
public static string PrivilegeLevelToString(PrivilegeLevel privilegeLevel) { switch (privilegeLevel) { case PrivilegeLevel.BotAdmin: return("Bot Admin"); case PrivilegeLevel.ServerAdmin: return("Admin"); case PrivilegeLevel.ServerMember: return("Member"); case PrivilegeLevel.ServerModerator: return("Moderator"); default: return("Unknown"); } }
/// <summary> /// Negotiates the ipmi version and sets client accordingly. Also sets the authentication type for V1.5 /// </summary> public virtual ChannelAuthenticationCapabilities GetAuthenticationCapabilities(PrivilegeLevel privilegeLevel, bool retry = false) { // Get Channel Authentication Capabilities GetChannelAuthenticationCapabilitiesResponse response = (GetChannelAuthenticationCapabilitiesResponse)this.IpmiSendReceive( new GetChannelAuthenticationCapabilitiesRequest(0x0E, privilegeLevel), typeof(GetChannelAuthenticationCapabilitiesResponse), retry); ChannelAuthenticationCapabilities authCapabilities = new ChannelAuthenticationCapabilities(response.CompletionCode); if (response.CompletionCode == 0) { authCapabilities.SetParamaters(response.ChannelNumber, response.AuthenticationTypeSupport1, response.AuthenticationTypeSupport2, response.ExtendedCapabilities, response.OemId, response.OemData); } return authCapabilities; }
private void AddPrivilegeLevel(PrivilegeLevel level, string privilegeLevelName, Entity privilege) { if (actions.Any(x => x.PrivilegeId == privilege.Id)) { lblAlreadyAdded.Visible = true; } else { lblAlreadyAdded.Visible = false; actions.Add(new PrivilegeAction { Level = level, PrivilegeId = privilege.Id, PrivilegeName = privilege["name"].ToString() }); var item = new ListViewItem(privilege["name"].ToString()); item.SubItems.Add(privilegeLevelName); item.Tag = privilege; listView1.Items.Add(item); } }
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { PrivilegeLevel privilegeLevel = PrivilegeLevel.Standard; switch ((string)value) { case "Standard": privilegeLevel = PrivilegeLevel.Standard; break; case "Premium": privilegeLevel = PrivilegeLevel.Premium; break; case "Executive": privilegeLevel = PrivilegeLevel.Executive; break; case "Premium Executive": privilegeLevel = PrivilegeLevel.PremiumExecutive; break; } return(privilegeLevel); }
public async Task <AuthenticationStatus> AuthenticateAsciiAsync(string user, string pass, string remoteAddr, string port, PrivilegeLevel privLev = PrivilegeLevel.TAC_PLUS_PRIV_LVL_MAX, AuthenticationService authService = AuthenticationService.TAC_PLUS_AUTHEN_SVC_LOGIN) { var authStartBytes = new AuthenticationStartPacketBody(privLev, AuthenticationType.TAC_PLUS_AUTHEN_TYPE_ASCII, authService, IPAddress.Parse(remoteAddr), port).ToArray(); var header = new PacketHeader( PacketType.TAC_PLUS_AUTHEN, 1, isEncryptionActive ? EncryptionFlag.TAC_PLUS_UNENCRYPTED_FLAG : EncryptionFlag.TAC_PLUS_ENCRYPTED_FLAG, authStartBytes.Length ); using (TcpClient client = new TcpClient(serverIp, serverPort)) { var recvData = UnmergeHeaderAndBody(await SendAndReceiveDataAsync(client, MergeHeaderWithBody(header, authStartBytes).ToArray())); var recvHeader = recvData.Item1; if (AuthenticationReplyPacketBody.Parse(recvData.Item2).AuthStatus == AuthenticationStatus.GETUSER) { var continuePacket = new AuthenticationContinuePacketBody(CommunicationFlag.CONTINUES, user); recvHeader.SeqNumber++; recvHeader.BodyLength = continuePacket.ToArray().Count(); recvData = UnmergeHeaderAndBody(await SendAndReceiveDataAsync(client, MergeHeaderWithBody(recvHeader, continuePacket.ToArray()).ToArray())); recvHeader = recvData.Item1; if (AuthenticationReplyPacketBody.Parse(recvData.Item2).AuthStatus == AuthenticationStatus.GETPASS) { continuePacket = new AuthenticationContinuePacketBody(CommunicationFlag.CONTINUES, pass); recvHeader.SeqNumber++; recvHeader.BodyLength = continuePacket.ToArray().Count(); recvData = UnmergeHeaderAndBody(await SendAndReceiveDataAsync(client, MergeHeaderWithBody(recvHeader, continuePacket.ToArray()).ToArray())); } } return(AuthenticationReplyPacketBody.Parse(recvData.Item2).AuthStatus); } }
/// <summary> /// Send an IPMI Set Session Privilege Level request message and return the response. /// </summary> /// <param name="privilegeLevel">Privilege level for this session.</param> /// <returns>GetSessionChallengeResponse instance.</returns> public void SetSessionPrivilegeLevel(PrivilegeLevel privilegeLevel, bool retry = false) { this.IpmiSendReceive( new SetSessionPrivilegeLevelRequest(privilegeLevel), typeof(SetSessionPrivilegeLevelResponse), retry); }
public override string GetHelpText(PrivilegeLevel current, string more) { return " <text>: Adds a quote to the collection, where <text> is the quote to be added"; }
public override string GetHelpText(PrivilegeLevel current, string more) { return " <pattern>: Performs a regular expression match of the log, returns last " + Limit + " matching entries"; }
public override string GetHelpText(PrivilegeLevel current, string more) { return " <name> [<val>]: Set property <name> to <val>. If <val> not specified, return current property value."; }
public RequirePrivilegeAttribute(PrivilegeLevel privilegeLevel) => PrivilegeLevel = privilegeLevel;
private void AddTargetClaimCompleteRegister(Dictionary <long, DoubleWordRegister> registersMap, long offset, uint hartId, PrivilegeLevel level) { registersMap.Add(offset, new DoubleWordRegister(this).WithValueField(0, 32, valueProviderCallback: _ => { var res = irqTargets[hartId].levels[(int)level].AcknowledgePendingInterrupt(); this.Log(LogLevel.Noisy, "Acknowledging pending interrupt for hart {0} on level {1}: {2}", hartId, level, res); return(res); }, writeCallback: (_, value) => { this.Log(LogLevel.Noisy, "Completing handling interrupt from source {0} for hart {1} on level {2}", value, hartId, level); irqTargets[hartId].levels[(int)level].CompleteHandlingInterrupt(irqSources[value]); })); }
public override string GetHelpText(PrivilegeLevel current, string more) { return " (<min> <max>)|(<max>): Generates a random number between min and max, inclusive. If min is not specified, 1 is assumed. If max is not specified, 100 is assumed"; }
public override string GetHelpText(PrivilegeLevel current, string more) { return " <text>: Makes the bot say <text> on the channel"; }
/// <summary> /// Initializes a new instance of the GetChannelAuthenticationCapabilitiesRequest class. /// </summary> /// <param name="maximumPrivilegeLevel">Requested maximum privilege level.</param> internal GetChannelAuthenticationCapabilitiesRequest(byte channelNumber, PrivilegeLevel privilegeLevel) { // Channel number (0x0E == current channel this request was issued on) this.channelNumber = channelNumber; this.requestedPrivilegeLevel = (byte)privilegeLevel; }
public override string GetHelpText(PrivilegeLevel current, string more) { return " (add <IP>)|(get <IP>)|(del <IP>): Adds, gets or deletes an access token for the given IP"; }
public override string GetHelpText(PrivilegeLevel current, string more) { return " [<key> [<value>]]: If empty, show current advertisement. Keys are interval, enabled, and text."; }
public override string GetHelpText(PrivilegeLevel current, string more) { return ": Clears the JTV chat"; }
private PrivilegeDepth GetDepthFromLevel(PrivilegeLevel privilegeLevel) { switch (privilegeLevel) { case PrivilegeLevel.User: return PrivilegeDepth.Basic; case PrivilegeLevel.BusinessUnit: return PrivilegeDepth.Local; case PrivilegeLevel.ParentChildBusinessUnit: return PrivilegeDepth.Deep; case PrivilegeLevel.Organization: return PrivilegeDepth.Global; default: throw new Exception("Unexpected Privilege level"); } }
public override string GetHelpText(PrivilegeLevel current, string more) { return " [set (0|1|2)]: Set the spam level - 0 = disabled - 1 = purge links - 2 = purge and tempban links"; }
public override string GetHelpText(PrivilegeLevel current, string more) { return " [on|off]: Turns on or off additional developer commands, which are not very useful for non-developers"; }
public override string GetHelpText(PrivilegeLevel current, string more) { return " [<key> [<value]]: If empty, show recent tweet. If key specified, show associated value. If key and value specified, set key to value. Keys: interval, enable, account"; }
private void AddTargetEnablesRegister(Dictionary <long, DoubleWordRegister> registersMap, long address, uint hartId, PrivilegeLevel level, int numberOfSources) { var maximumSourceDoubleWords = (int)Math.Ceiling((numberOfSources + 1) / 32.0) * 4; for (var offset = 0u; offset < maximumSourceDoubleWords; offset += 4) { var lOffset = offset; registersMap.Add(address + offset, new DoubleWordRegister(this).WithValueField(0, 32, writeCallback: (_, value) => { lock (irqSources) { // Each source is represented by one bit. offset and lOffset indicate the offset in double words from TargetXEnables, // `bit` is the bit number in the given double word, // and `sourceIdBase + bit` indicate the source number. var sourceIdBase = lOffset * 8; var bits = BitHelper.GetBits(value); for (var bit = 0u; bit < bits.Length; bit++) { var sourceNumber = sourceIdBase + bit; if (sourceNumber == 0) { // Source number 0 is not used. continue; } if (irqSources.Length <= sourceNumber) { if (bits[bit]) { this.Log(LogLevel.Noisy, "Trying to enable non-existing source: {0}", sourceNumber); } continue; } this.Log(LogLevel.Noisy, "{0} source #{1} for hart {2} on level {3}", bits[bit] ? "Enabling" : "Disabling", sourceNumber, hartId, level); irqTargets[hartId].levels[(int)level].EnableSource(irqSources[sourceNumber], bits[bit]); } RefreshInterrupts(); } })); } }
public override string GetHelpText(PrivilegeLevel current, string more) { return " [Twitch Stream] Outputs viewer statistics for a stream. Default stream is '" + DefaultChannel + "'."; }
public override string GetHelpText(PrivilegeLevel current, string more) { return " <name|mask>: Unbans a user by name or hostmask"; }
public override string GetHelpText(PrivilegeLevel current, string more) { return ": Tells the privilege level the bot thinks you have"; }
public override string GetHelpText(PrivilegeLevel current, string more) { return ": Restarts the bot"; }
/// <summary> /// Initializes a new instance of the SetSessionPrivilegeLevelRequest class. /// </summary> internal SetSessionPrivilegeLevelRequest(PrivilegeLevel requestedPrivilegeLevel) { this.requestedPrivilegeLevel = requestedPrivilegeLevel; }
/// <summary> /// Set User Access /// </summary> /// <param name="userId">User Id.</param> /// <param name="userLmit">User Privilege Level.</param> /// <param name="allowBitMod">True|False, allow modification of bits in request byte</param> /// <param name="callBack">True|False, allow callbacks, usually set to False</param> /// <param name="linkAuth">True|False, allow link authoriation, usually set to True</param> /// <param name="ipmiMessage">allow Impi messaging, usually set to True</param> /// <param name="channel">channel used to communicate with BMC, 1-7</param> public virtual bool SetUserAccess(int userId, PrivilegeLevel priv, bool allowBitMod, bool callback, bool linkAuth, bool ipmiMessage, int channel) { // TODO: implement Set Channel Access command to be comsistent with // the user settings. Temp workaround, when setting user access // set allowBitMod to false. byte[] tempArray = new byte[1]; // intialize 8 bit byte request for byte #1 of SetUserAccessRequest BitArray bitArray = new BitArray(8); byte[] channelByte = BitConverter.GetBytes(channel); // inialize BitArray with channel number BitArray channelBitArray = new BitArray(channelByte); // set BitArray values for supplied parameters bitArray.Set(7, allowBitMod); // true|false, Allow changing of bits in the request byte bitArray.Set(6, callback); // true|false, User Restricted to Callback bitArray.Set(5, linkAuth); // true|false, Link Auth bitArray.Set(4, ipmiMessage); // true|false, IPMI Messaging bitArray.Set(3, channelBitArray[3]); // channel number bitArray.Set(2, channelBitArray[2]); // channel number bitArray.Set(1, channelBitArray[1]); // channel number bitArray.Set(0, channelBitArray[0]); // channel number // copy BitArray to Byte[] array bitArray.CopyTo(tempArray, 0); // convert Byte value to base 16 byte requestByte1 = Convert.ToByte(string.Format(CultureInfo.InvariantCulture, "{0:x}", tempArray[0]), 16); SetUserAccessResponse response = (SetUserAccessResponse)this.IpmiSendReceive( new SetUserAccessRequest(Convert.ToByte(userId, CultureInfo.InvariantCulture), Convert.ToByte(priv, CultureInfo.InvariantCulture), requestByte1, 0x00), typeof(SetUserAccessResponse)); if (response.CompletionCode == 0) { return true; } else { return false; } }
/// <summary> /// Negotiates the ipmi version and sets client accordingly. Also sets the authentication type for V1.5 /// </summary> public virtual ChannelAuthenticationCapabilities GetAuthenticationCapabilities(PrivilegeLevel privilegeLevel, bool retry = false) { // Get Channel Authentication Capabilities GetChannelAuthenticationCapabilitiesResponse response = (GetChannelAuthenticationCapabilitiesResponse)this.IpmiSendReceive( new GetChannelAuthenticationCapabilitiesRequest(0x0E, privilegeLevel), typeof(GetChannelAuthenticationCapabilitiesResponse), retry); ChannelAuthenticationCapabilities authCapabilities = new ChannelAuthenticationCapabilities(response.CompletionCode); if (response.CompletionCode == 0) { authCapabilities.SetParamaters(response.ChannelNumber, response.AuthenticationTypeSupport1, response.AuthenticationTypeSupport2, response.ExtendedCapabilities, response.OemId, response.OemData); } return(authCapabilities); }
public override string GetHelpText(PrivilegeLevel current, string more) { return " <command> [<subscriber> <other>]: Limits the usage of a command to the given interval (in seconds) for subscribers and other users"; }
/// <summary> /// Initializes a new instance of the GetChannelAuthenticationCapabilitiesRequest class. /// </summary> /// <param name="maximumPrivilegeLevel">Requested maximum privilege level.</param> internal GetChannelAuthenticationCapabilitiesRequest(PrivilegeLevel privilegeLevel) { this.requestedPrivilegeLevel = (byte)privilegeLevel; }
public override string GetHelpText(PrivilegeLevel current, string more) { return " " + AdvertCommand.HelpText; }
public override string GetHelpText(PrivilegeLevel current, string more) { return " <who>: Purges all text from a user"; }
public static string Process(string from, string text, PrivilegeLevel level) { if (ai != null && text != null && text.Length > 3) { if (limiter.AttemptOperation(level)) { try { //update context ai.SetPredicate("name", from); //run ALICE AIMLProcessor.Inputs.Insert(0, text); AIMLProcessor.Thats.Insert(0, ai.FindTemplate(text, AIMLProcessor.Thats[0], "*")); string result = AIMLProcessor.Thats[0]; //clean up output result = result.Replace("\r", "").Replace("\n", " ").Replace(" ", " "); //prevent exploit if (result.StartsWith("\\") || result.StartsWith("/") || result.StartsWith(".")) return ""; //done return result; } catch (Exception ex) { //remove limiter limiter.Reset(); //log error Program.Log("Alice failed to parse: " + text + ", exception: " + ex.Message); } } } return ""; }