diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index e69de29..0000000
diff --git a/dead.package b/dead.package
new file mode 100644
index 0000000..a72aec0
--- /dev/null
+++ b/dead.package
@@ -0,0 +1 @@
+epel8-playground decommissioned : https://pagure.io/epel/issue/136
diff --git a/snmpcheck-1.9.rb b/snmpcheck-1.9.rb
deleted file mode 100644
index 5b8eece..0000000
--- a/snmpcheck-1.9.rb
+++ /dev/null
@@ -1,1128 +0,0 @@
-#!/usr/bin/env ruby
-
-#
-# Copyright (c) 2005-2015 by Matteo Cantoni (www.nothink.org)
-#
-# Snmpcheck is an open source tool distributed under GPL license.
-# Its goal is to automate the process of gathering information of
-# any devices with SNMP protocol support (Windows, Unix-like,
-# network appliances, printers...).
-# Like to snmpwalk, snmpcheck allows you to enumerate the SNMP devices
-# and places the output in a very human readable friendly format.
-# It could be useful for penetration testing or systems monitoring.
-# More informations available from http://www.nothink.org.
-#
-# Install Ruby SNMP library using RubyGems: 'gem install snmp'
-#
-# ---
-#
-# License: (http://www.gnu.org/licenses/gpl.txt)
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see .
-#
-# Thanks to Metasploit contributors!
-# http://www.rapid7.com/db/modules/auxiliary/scanner/snmp/snmp_enum
-#
-
-# ruby version check
-if RUBY_VERSION < "1.9.0"
-abort <<-end_message
-[!] snmpcheck requires Ruby version >= 1.9.0
-end_message
-end
-
-require 'getoptlong'
-require 'rubygems'
-require 'snmp'
-require 'timeout'
-
-include SNMP
-
-# catching Ctrl+C
-trap("SIGINT") { exit! }
-
-# disable verbose
-$VERBOSE = nil
-
-script_name = 'snmpcheck.rb';
-script_version = 'v1.9';
-script_description = 'SNMP enumerator';
-script_copyright = 'Copyright (c) 2005-2015';
-script_author = 'Matteo Cantoni (www.nothink.org)';
-
-script_usage = " Usage: #{script_name} [OPTIONS] \n
- -p --port : SNMP port. Default port is 161;
- -c --community : SNMP community. Default is public;
- -v --version : SNMP version (1,2c). Default is 1;\n
- -w --write : detect write access (separate action by enumeration);\n
- -d --disable_tcp : disable TCP connections enumeration!
- -t --timeout : timeout in seconds. Default is 5;
- -r --retries : request retries. Default is 1;
- -i --info : show script version;
- -h --help : show help menu;\n\n"
-
-def print_banner(script_name,script_version,script_description,script_copyright,script_author)
- puts "#{script_name} #{script_version} - #{script_description}\n#{script_copyright} by #{script_author}\n\n"
-end
-
-def print_things(msg='',prefix)
- case prefix
- when 'error'
- puts "[!] #{msg}"
- when 'info'
- puts "[+] #{msg}"
- when 'result'
- puts "[*] #{msg}"
- end
-end
-
-def truncate_to_twidth(string,twidth)
- string.slice(0..twidth-2)
-end
-
-def number_to_human_size(size,unit)
- size = size.first.to_i * unit.first.to_i
-
- if size < 1024
- "#{size} bytes"
- elsif size < 1024.0 * 1024.0
- "%.02f KB" % (size / 1024.0)
- elsif size < 1024.0 * 1024.0 * 1024.0
- "%.02f MB" % (size / 1024.0 / 1024.0)
- else
- "%.02f GB" % (size / 1024.0 / 1024.0 / 1024.0)
- end
-end
-
-target = nil
-port = 161
-community = 'public'
-version = '1'
-check_write = nil
-disable_tcp = nil
-timeout = 5
-retries = 1
-
-begin
-
- opts = GetoptLong.new(
- [ '--port', '-p', GetoptLong::REQUIRED_ARGUMENT ],
- [ '--community', '-c', GetoptLong::REQUIRED_ARGUMENT ],
- [ '--version', '-v', GetoptLong::REQUIRED_ARGUMENT ],
- [ '--write', '-w', GetoptLong::NO_ARGUMENT ],
- [ '--disable_tcp', '-d', GetoptLong::NO_ARGUMENT ],
- [ '--timeout', '-t', GetoptLong::REQUIRED_ARGUMENT ],
- [ '--retries', '-r', GetoptLong::REQUIRED_ARGUMENT ],
- [ '--info', '-i', GetoptLong::NO_ARGUMENT ],
- [ '--help', '-h', GetoptLong::NO_ARGUMENT ]
- )
-
- opts.each do |opt, arg|
- case opt
- when '--port'
- port = arg.to_i
- when '--community'
- community = arg.to_s
- when '--version'
- version = arg.to_s
- when '--write'
- check_write = 1
- when '--disable_tcp'
- disable_tcp = 1
- when '--timeout'
- timeout = arg.to_i
- when '--retries'
- retries = arg.to_i
- when '--info'
- print_banner(script_name,script_version,script_description,script_copyright,script_author)
- exit 0
- when '--help'
- print_banner(script_name,script_version,script_description,script_copyright,script_author)
- puts script_usage
- exit 0
- end
- end
-
-rescue GetoptLong::InvalidOption, GetoptLong::MissingArgument, GetoptLong::NeedlessArgument
- exit 1;
-end
-
-if ARGV.length != 1
- print_things("You need specify a IP address target!","error")
- exit 0
-end
-
-target = ARGV.shift
-
-if target !~ /^([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])$/
- print_things("Invalid IP address!","error")
- exit 0
-end
-
-# is there a community length limit?
-if community.length >= 25
- print_things("Invalid community length!","error")
- exit 0
-end
-
-if port < 0 or port > 65535
- print_things("Invalid port!","error")
- exit 0
-end
-
-if retries < 0 or retries > 10
- print_things("Invalid 'retries' value!","error")
- exit 0
-end
-
-if version == '1'
- version = :SNMPv1
-elsif version == '2c'
- version = :SNMPv2c
-else
- print_things("SNMP version invalid! We'll use 1 version!","error")
- version = :SNMPv1
-end
-
-fields_order = [
- "Host IP address","Hostname","Description","Contact","Location","Uptime snmp","Uptime system",
- "System date","Domain","User accounts","Network information","Network interfaces",
- "Network IP","Routing information","TCP connections and listening ports","Listening UDP ports",
- "Network services","Processes","Storage information","File system information","Device information",
- "Software components","IIS server information","Share","HP LaserJet printer enumeration"
-]
-
-output_data = {}
-output_data = {"Host IP address" => target}
-
-print_banner(script_name,script_version,script_description,script_copyright,script_author)
-print_things("Try to connect to #{target}:#{port} using #{version} and community '#{community}'","info")
-print_things("Write access check enabled\n","info") unless check_write.nil?
-print_things("TCP connections enumeration disabled","info") unless disable_tcp.nil?
-puts
-
-begin
-
- SNMP::Manager.open(
- :Host => target,
- :Port => port,
- :Community => community,
- :Version => version,
- :Timeout => timeout,
- :Retries => retries
- ) do |manager|
-
- sysName = manager.get_value('1.3.6.1.2.1.1.5.0').to_s
- output_data["Hostname"] = sysName.strip
-
- # check write access
- if check_write and sysName
- # 1.3.6.1.2.1.1.5.0 - sysName
- varbind = VarBind.new("1.3.6.1.2.1.1.5.0",OctetString.new(sysName.strip))
- resp = manager.set(varbind)
-
- if resp.error_status == :noError
- print_things("Write access permitted!\n\n","result")
- else
- print_things("Write access not permitted!\n","result")
- end
- end
-
- sysDesc = manager.get_value('1.3.6.1.2.1.1.1.0').to_s
- sysDesc.gsub!(/^\s+|\s+$|\n+|\r+/, ' ')
- output_data["Description"] = sysDesc.strip
-
- sysContact = manager.get_value('1.3.6.1.2.1.1.4.0').to_s
- output_data["Contact"] = sysContact.strip
-
- sysLocation = manager.get_value('1.3.6.1.2.1.1.6.0').to_s
- output_data["Location"] = sysLocation.strip
-
- sysUpTimeInstance = manager.get_value('1.3.6.1.2.1.1.3.0').to_s
- output_data["Uptime system"] = sysUpTimeInstance.strip
-
- hrSystemUptime = manager.get_value('1.3.6.1.2.1.25.1.1.0').to_s
- output_data["Uptime snmp"] = hrSystemUptime.strip
- hrSystemUptime = '-' if hrSystemUptime.to_s =~ /Null/
-
- year = month = day = hour = minutes = seconds = tenths = 0
-
- systemDate = manager.get_value('1.3.6.1.2.1.25.1.2.0')
- str = systemDate.to_s
- if (str.empty? or str =~ /Null/ or str =~ /^noSuch/)
- output_data["System date"] = '-'
- else
- # RFC 2579 - Textual Conventions for SMIv2
- # http://www.faqs.org/rfcs/rfc2579.html
-
- systemDate = systemDate.unpack('C*')
-
- year = systemDate[0] * 256 + systemDate[1]
- month = systemDate[2] || 0
- day = systemDate[3] || 0
- hour = systemDate[4] || 0
- minutes = systemDate[5] || 0
- seconds = systemDate[6] || 0
- tenths = systemDate[7] || 0
- output_data["System date"] = sprintf("%d-%d-%d %02d:%02d:%02d.%d", year, month, day, hour, minutes, seconds, tenths)
- end
-
- if (sysDesc =~ /Windows/)
-
- domPrimaryDomain = manager.get_value('1.3.6.1.4.1.77.1.4.1.0').to_s
- output_data["Domain"] = domPrimaryDomain.strip
-
- users = []
-
- manager.walk(["1.3.6.1.4.1.77.1.2.25.1.1","1.3.6.1.4.1.77.1.2.25.1"]) do |user,entry|
- users.push([user.value])
- end
-
- if not users.empty?
- output_data["User accounts"] = users
- end
- end
-
- network_information = {}
-
- ipForwarding = manager.get_value('1.3.6.1.2.1.4.1.0')
-
- if ipForwarding == 0 || ipForwarding == 2
- ipForwarding = "no"
- network_information["IP forwarding enabled"] = ipForwarding
- elsif ipForwarding == 1
- ipForwarding = "yes"
- network_information["IP forwarding enabled"] = ipForwarding
- end
-
- ipDefaultTTL = manager.get_value('1.3.6.1.2.1.4.2.0')
- if ipDefaultTTL.to_s !~ /Null/
- network_information["Default TTL"] = ipDefaultTTL
- end
-
- tcpInSegs = manager.get_value('1.3.6.1.2.1.6.10.0')
- if tcpInSegs.to_s !~ /Null/
- network_information["TCP segments received"] = tcpInSegs
- end
-
- tcpOutSegs = manager.get_value('1.3.6.1.2.1.6.11.0')
- if tcpOutSegs.to_s !~ /Null/
- network_information["TCP segments sent"] = tcpOutSegs
- end
-
- tcpRetransSegs = manager.get_value('1.3.6.1.2.1.6.12.0')
- if tcpRetransSegs.to_s !~ /Null/
- network_information["TCP segments retrans"] = tcpRetransSegs
- end
-
- ipInReceives = manager.get_value('1.3.6.1.2.1.4.3.0')
- if ipInReceives.to_s !~ /Null/
- network_information["Input datagrams"] = ipInReceives
- end
-
- ipInDelivers = manager.get_value('1.3.6.1.2.1.4.9.0')
- if ipInDelivers.to_s !~ /Null/
- network_information["Delivered datagrams"] = ipInDelivers
- end
-
- ipOutRequests = manager.get_value('1.3.6.1.2.1.4.10.0')
- if ipOutRequests.to_s !~ /Null/
- network_information["Output datagrams"] = ipOutRequests
- end
-
- if not network_information.empty?
- output_data["Network information"] = network_information
- end
-
- network_interfaces = []
-
- manager.walk([
- "1.3.6.1.2.1.2.2.1.1","1.3.6.1.2.1.2.2.1.2","1.3.6.1.2.1.2.2.1.6",
- "1.3.6.1.2.1.2.2.1.3","1.3.6.1.2.1.2.2.1.4","1.3.6.1.2.1.2.2.1.5",
- "1.3.6.1.2.1.2.2.1.10","1.3.6.1.2.1.2.2.1.16","1.3.6.1.2.1.2.2.1.7"
- ]) do |index,descr,mac,type,mtu,speed,inoc,outoc,status|
-
- ifindex = index.value
- ifdescr = descr.value
- ifmac = mac.value.unpack("H2H2H2H2H2H2").join(":")
- iftype = type.value
- ifmtu = mtu.value
- ifspeed = speed.value.to_i
- ifinoc = inoc.value
- ifoutoc = outoc.value
- ifstatus = status.value
-
- case iftype
- when 1
- iftype = "other"
- when 2
- iftype = "regular1822"
- when 3
- iftype = "hdh1822"
- when 4
- iftype = "ddn-x25"
- when 5
- iftype = "rfc877-x25"
- when 6
- iftype = "ethernet-csmacd"
- when 7
- iftype = "iso88023-csmacd"
- when 8
- iftype = "iso88024-tokenBus"
- when 9
- iftype = "iso88025-tokenRing"
- when 10
- iftype = "iso88026-man"
- when 11
- iftype = "starLan"
- when 12
- iftype = "proteon-10Mbit"
- when 13
- iftype = "proteon-80Mbit"
- when 14
- iftype = "hyperchannel"
- when 15
- iftype = "fddi"
- when 16
- iftype = "lapb"
- when 17
- iftype = "sdlc"
- when 18
- iftype = "ds1"
- when 19
- iftype = "e1"
- when 20
- iftype = "basicISDN"
- when 21
- iftype = "primaryISDN"
- when 22
- iftype = "propPointToPointSerial"
- when 23
- iftype = "ppp"
- when 24
- iftype = "softwareLoopback"
- when 25
- iftype = "eon"
- when 26
- iftype = "ethernet-3Mbit"
- when 27
- iftype = "nsip"
- when 28
- iftype = "slip"
- when 29
- iftype = "ultra"
- when 30
- iftype = "ds3"
- when 31
- iftype = "sip"
- when 32
- iftype = "frame-relay"
- else
- iftype = "unknown"
- end
-
- case ifstatus
- when 1
- ifstatus = "up"
- when 2
- ifstatus = "down"
- when 3
- ifstatus = "testing"
- else
- ifstatus = "unknown"
- end
-
- ifspeed = ifspeed / 1000000
-
- network_interfaces.push({
- "Interface" => "[ #{ifstatus} ] #{ifdescr}",
- "Id" => ifindex,
- "Mac Address" => ifmac,
- "Type" => iftype,
- "Speed" => "#{ifspeed} Mbps",
- "MTU" => ifmtu,
- "In octets" => ifinoc,
- "Out octets" => ifoutoc
- })
- end
-
- if not network_interfaces.empty?
- output_data["Network interfaces"] = network_interfaces
- end
-
- network_ip = []
-
- manager.walk([
- "1.3.6.1.2.1.4.20.1.2","1.3.6.1.2.1.4.20.1.1",
- "1.3.6.1.2.1.4.20.1.3","1.3.6.1.2.1.4.20.1.4"
- ]) do |ifid,ipaddr,netmask,bcast|
- network_ip.push([ifid.value, ipaddr.value, netmask.value, bcast.value])
- end
-
- if not network_ip.empty?
- output_data["Network IP"] = [["Id","IP Address","Netmask","Broadcast"]] + network_ip
- end
-
- routing = []
-
- manager.walk([
- "1.3.6.1.2.1.4.21.1.1","1.3.6.1.2.1.4.21.1.7",
- "1.3.6.1.2.1.4.21.1.11","1.3.6.1.2.1.4.21.1.3"
- ]) do |dest,hop,mask,metric|
- if (metric.value.to_s.empty?)
- metric.value = '-'
- end
- routing.push([dest.value, hop.value, mask.value, metric.value])
- end
-
- if not routing.empty?
- output_data["Routing information"] = [["Destination","Next hop","Mask","Metric"]] + routing
- end
-
- if disable_tcp.nil?
-
- tcp = []
-
- manager.walk([
- "1.3.6.1.2.1.6.13.1.2","1.3.6.1.2.1.6.13.1.3","1.3.6.1.2.1.6.13.1.4",
- "1.3.6.1.2.1.6.13.1.5","1.3.6.1.2.1.6.13.1.1"
- ]) do |ladd,lport,radd,rport,state|
-
- if (ladd.value.to_s.empty? or ladd.value.to_s =~ /noSuchInstance/)
- ladd = "-"
- else
- ladd = ladd.value
- end
-
- if (lport.value.to_s.empty? or lport.value.to_s =~ /noSuchInstance/)
- lport = "-"
- else
- lport = lport.value
- end
-
- if (radd.value.to_s.empty? or radd.value.to_s =~ /noSuchInstance/)
- radd = "-"
- else
- radd = radd.value
- end
-
- if (rport.value.to_s.empty? or rport.value.to_s =~ /noSuchInstance/)
- rport = "-"
- else
- rport = rport.value
- end
-
- case state.value
- when 1
- state = "closed"
- when 2
- state = "listen"
- when 3
- state = "synSent"
- when 4
- state = "synReceived"
- when 5
- state = "established"
- when 6
- state = "finWait1"
- when 7
- state = "finWait2"
- when 8
- state = "closeWait"
- when 9
- state = "lastAck"
- when 10
- state = "closing"
- when 11
- state = "timeWait"
- when 12
- state = "deleteTCB"
- else
- state = "unknown"
- end
-
- tcp.push([ladd, lport, radd, rport, state])
- end
-
- if not tcp.empty?
- output_data["TCP connections and listening ports"] = [["Local address","Local port","Remote address","Remote port","State"]] + tcp
- end
- end
-
- udp = []
-
- manager.walk(["1.3.6.1.2.1.7.5.1.1","1.3.6.1.2.1.7.5.1.2"]) do |ladd,lport|
- udp.push([ladd.value, lport.value])
- end
-
- if not udp.empty?
- output_data["Listening UDP ports"] = [["Local address","Local port"]] + udp
- end
-
- if (sysDesc =~ /Windows/)
-
- network_services = []
-
- n = 0
-
- manager.walk(["1.3.6.1.4.1.77.1.2.3.1.1","1.3.6.1.4.1.77.1.2.3.1.2"]) do |name,installed|
- network_services.push([n,name.value])
- n+=1
- end
-
- if not network_services.empty?
- output_data["Network services"] = [["Index","Name"]] + network_services
- end
-
- share = []
-
- manager.walk([
- "1.3.6.1.4.1.77.1.2.27.1.1","1.3.6.1.4.1.77.1.2.27.1.2","1.3.6.1.4.1.77.1.2.27.1.3"
- ]) do |name,path,comment|
- share.push({" Name"=>name.value, " Path"=>path.value, " Comment"=>comment.value})
- end
-
- if not share.empty?
- output_data["Share"] = share
- end
-
- iis = {}
-
- http_totalBytesSentLowWord = manager.get_value('1.3.6.1.4.1.311.1.7.3.1.2.0')
- if http_totalBytesSentLowWord.to_s !~ /Null/
- iis["TotalBytesSentLowWord"] = http_totalBytesSentLowWord
- end
-
- http_totalBytesReceivedLowWord = manager.get_value('1.3.6.1.4.1.311.1.7.3.1.4.0')
- if http_totalBytesReceivedLowWord.to_s !~ /Null/
- iis["TotalBytesReceivedLowWord"] = http_totalBytesReceivedLowWord
- end
-
- http_totalFilesSent = manager.get_value('1.3.6.1.4.1.311.1.7.3.1.5.0')
- if http_totalFilesSent.to_s !~ /Null/
- iis["TotalFilesSent"] = http_totalFilesSent
- end
-
- http_currentAnonymousUsers = manager.get_value('1.3.6.1.4.1.311.1.7.3.1.6.0')
- if http_currentAnonymousUsers.to_s !~ /Null/
- iis["CurrentAnonymousUsers"] = http_currentAnonymousUsers
- end
-
- http_currentNonAnonymousUsers = manager.get_value('1.3.6.1.4.1.311.1.7.3.1.7.0')
- if http_currentNonAnonymousUsers.to_s !~ /Null/
- iis["CurrentNonAnonymousUsers"] = http_currentNonAnonymousUsers
- end
-
- http_totalAnonymousUsers = manager.get_value('1.3.6.1.4.1.311.1.7.3.1.8.0')
- if http_totalAnonymousUsers.to_s !~ /Null/
- iis["TotalAnonymousUsers"] = http_totalAnonymousUsers
- end
-
- http_totalNonAnonymousUsers = manager.get_value('1.3.6.1.4.1.311.1.7.3.1.9.0')
- if http_totalNonAnonymousUsers.to_s !~ /Null/
- iis["TotalNonAnonymousUsers"] = http_totalNonAnonymousUsers
- end
-
- http_maxAnonymousUsers = manager.get_value('1.3.6.1.4.1.311.1.7.3.1.10.0')
- if http_maxAnonymousUsers.to_s !~ /Null/
- iis["MaxAnonymousUsers"] = http_maxAnonymousUsers
- end
-
- http_maxNonAnonymousUsers = manager.get_value('1.3.6.1.4.1.311.1.7.3.1.11.0')
- if http_maxNonAnonymousUsers.to_s !~ /Null/
- iis["MaxNonAnonymousUsers"] = http_maxNonAnonymousUsers
- end
-
- http_currentConnections = manager.get_value('1.3.6.1.4.1.311.1.7.3.1.12.0')
- if http_currentConnections.to_s !~ /Null/
- iis["CurrentConnections"] = http_currentConnections
- end
-
- http_maxConnections = manager.get_value('1.3.6.1.4.1.311.1.7.3.1.13.0')
- if http_maxConnections.to_s !~ /Null/
- iis["MaxConnections"] = http_maxConnections
- end
-
- http_connectionAttempts = manager.get_value('1.3.6.1.4.1.311.1.7.3.1.14.0')
- if http_connectionAttempts.to_s !~ /Null/
- iis["ConnectionAttempts"] = http_connectionAttempts
- end
-
- http_logonAttempts = manager.get_value('1.3.6.1.4.1.311.1.7.3.1.15.0')
- if http_logonAttempts.to_s !~ /Null/
- iis["LogonAttempts"] = http_logonAttempts
- end
-
- http_totalGets = manager.get_value('1.3.6.1.4.1.311.1.7.3.1.16.0')
- if http_totalGets.to_s !~ /Null/
- iis["Gets"] = http_totalGets
- end
-
- http_totalPosts = manager.get_value('1.3.6.1.4.1.311.1.7.3.1.17.0')
- if http_totalPosts.to_s !~ /Null/
- iis["Posts"] = http_totalPosts
- end
-
- http_totalHeads = manager.get_value('1.3.6.1.4.1.311.1.7.3.1.18.0')
- if http_totalHeads.to_s !~ /Null/
- iis["Heads"] = http_totalHeads
- end
-
- http_totalOthers = manager.get_value('1.3.6.1.4.1.311.1.7.3.1.19.0')
- if http_totalOthers.to_s !~ /Null/
- iis["Others"] = http_totalOthers
- end
-
- http_totalCGIRequests = manager.get_value('1.3.6.1.4.1.311.1.7.3.1.20.0')
- if http_totalCGIRequests.to_s !~ /Null/
- iis["CGIRequests"] = http_totalCGIRequests
- end
-
- http_totalBGIRequests = manager.get_value('1.3.6.1.4.1.311.1.7.3.1.21.0')
- if http_totalBGIRequests.to_s !~ /Null/
- iis["BGIRequests"] = http_totalBGIRequests
- end
-
- http_totalNotFoundErrors = manager.get_value('1.3.6.1.4.1.311.1.7.3.1.22.0')
- if http_totalNotFoundErrors.to_s !~ /Null/
- iis["NotFoundErrors"] = http_totalNotFoundErrors
- end
-
- if not iis.empty?
- output_data["IIS server information"] = iis
- end
- end
-
- storage_information = []
-
- manager.walk([
- "1.3.6.1.2.1.25.2.3.1.1","1.3.6.1.2.1.25.2.3.1.2","1.3.6.1.2.1.25.2.3.1.3",
- "1.3.6.1.2.1.25.2.3.1.4","1.3.6.1.2.1.25.2.3.1.5","1.3.6.1.2.1.25.2.3.1.6"
- ]) do |index,type,descr,allocation,size,used|
-
- case type.value.to_s
- when /^1.3.6.1.2.1.25.2.1.1$/
- type.value = "Other"
- when /^1.3.6.1.2.1.25.2.1.2$/
- type.value = "Ram"
- when /^1.3.6.1.2.1.25.2.1.3$/
- type.value = "Virtual Memory"
- when /^1.3.6.1.2.1.25.2.1.4$/
- type.value = "Fixed Disk"
- when /^1.3.6.1.2.1.25.2.1.5$/
- type.value = "Removable Disk"
- when /^1.3.6.1.2.1.25.2.1.6$/
- type.value = "Floppy Disk"
- when /^1.3.6.1.2.1.25.2.1.7$/
- type.value = "Compact Disc"
- when /^1.3.6.1.2.1.25.2.1.8$/
- type.value = "RamDisk"
- when /^1.3.6.1.2.1.25.2.1.9$/
- type.value = "Flash Memory"
- when /^1.3.6.1.2.1.25.2.1.10$/
- type.value = "Network Disk"
- else
- type.value = "unknown"
- end
-
- allocation.value = "unknown" if allocation.value.to_s =~ /noSuchInstance/
- size.value = "unknown" if size.value.to_s =~ /noSuchInstance/
- used.value = "unknown" if used.value.to_s =~ /noSuchInstance/
-
- storage_information.push([[descr.value],[index.value],[type.value],[allocation.value],[size.value],[used.value]])
- end
-
- if not storage_information.empty?
- storage = []
- storage_information.each {|a,b,c,d,e,f|
- s = {}
-
- e = number_to_human_size(e,d)
- f = number_to_human_size(f,d)
-
- s["Description"]= a
- s["Device id"] = b
- s["Filesystem type"] = c
- s["Device unit"] = d
- s["Memory size"] = e
- s["Memory used"] = f
-
- storage.push(s)
- }
- output_data["Storage information"] = storage
- end
-
- file_system = {}
-
- hrFSIndex = manager.get_value('1.3.6.1.2.1.25.3.8.1.1.1')
- if hrFSIndex.to_s !~ /Null/
- file_system["Index"] = hrFSIndex
- end
-
- hrFSMountPoint = manager.get_value('1.3.6.1.2.1.25.3.8.1.2.1')
- if hrFSMountPoint.to_s !~ /Null/
- file_system["Mount point"] = hrFSMountPoint
- end
-
- hrFSRemoteMountPoint = manager.get_value('1.3.6.1.2.1.25.3.8.1.3.1')
- if hrFSRemoteMountPoint.to_s !~ /Null/ and hrFSRemoteMountPoint.to_s !~ /^noSuch/
- if hrFSRemoteMountPoint.empty?
- hrFSRemoteMountPoint = '-'
- end
- file_system["Remote mount point"] = hrFSRemoteMountPoint
- end
-
- hrFSType = manager.get_value('1.3.6.1.2.1.25.3.8.1.4.1')
-
- case hrFSType.to_s
- when /^1.3.6.1.2.1.25.3.9.1$/
- hrFSType = "Other"
- when /^1.3.6.1.2.1.25.3.9.2$/
- hrFSType = "Unknown"
- when /^1.3.6.1.2.1.25.3.9.3$/
- hrFSType = "BerkeleyFFS"
- when /^1.3.6.1.2.1.25.3.9.4$/
- hrFSType = "Sys5FS"
- when /^1.3.6.1.2.1.25.3.9.5$/
- hrFSType = "Fat"
- when /^1.3.6.1.2.1.25.3.9.6$/
- hrFSType = "HPFS"
- when /^1.3.6.1.2.1.25.3.9.7$/
- hrFSType = "HFS"
- when /^1.3.6.1.2.1.25.3.9.8$/
- hrFSType = "MFS"
- when /^1.3.6.1.2.1.25.3.9.9$/
- hrFSType = "NTFS"
- when /^1.3.6.1.2.1.25.3.9.10$/
- hrFSType = "VNode"
- when /^1.3.6.1.2.1.25.3.9.11$/
- hrFSType = "Journaled"
- when /^1.3.6.1.2.1.25.3.9.12$/
- hrFSType = "iso9660"
- when /^1.3.6.1.2.1.25.3.9.13$/
- hrFSType = "RockRidge"
- when /^1.3.6.1.2.1.25.3.9.14$/
- hrFSType = "NFS"
- when /^1.3.6.1.2.1.25.3.9.15$/
- hrFSType = "Netware"
- when /^1.3.6.1.2.1.25.3.9.16$/
- hrFSType = "AFS"
- when /^1.3.6.1.2.1.25.3.9.17$/
- hrFSType = "DFS"
- when /^1.3.6.1.2.1.25.3.9.18$/
- hrFSType = "Appleshare"
- when /^1.3.6.1.2.1.25.3.9.19$/
- hrFSType = "RFS"
- when /^1.3.6.1.2.1.25.3.9.20$/
- hrFSType = "DGCFS"
- when /^1.3.6.1.2.1.25.3.9.21$/
- hrFSType = "BFS"
- when /^1.3.6.1.2.1.25.3.9.22$/
- hrFSType = "FAT32"
- when /^1.3.6.1.2.1.25.3.9.23$/
- hrFSType = "LinuxExt2"
- else
- hrFSType = "Null"
- end
-
- if hrFSType.to_s !~ /Null/
- file_system["Type"] = hrFSType
- end
-
- hrFSAccess = manager.get_value('1.3.6.1.2.1.25.3.8.1.5.1')
- if hrFSAccess.to_s !~ /Null/
- file_system["Access"] = hrFSAccess
- end
-
- hrFSBootable = manager.get_value('1.3.6.1.2.1.25.3.8.1.6.1')
- if hrFSBootable.to_s !~ /Null/
- file_system["Bootable"] = hrFSBootable
- end
-
- if not file_system.empty?
- output_data["File system information"] = file_system
- end
-
- device_information = []
-
- manager.walk([
- "1.3.6.1.2.1.25.3.2.1.1","1.3.6.1.2.1.25.3.2.1.2",
- "1.3.6.1.2.1.25.3.2.1.5","1.3.6.1.2.1.25.3.2.1.3"
- ]) do |index,type,status,descr|
-
- case type.value.to_s
- when /^1.3.6.1.2.1.25.3.1.1$/
- type.value = "Other"
- when /^1.3.6.1.2.1.25.3.1.2$/
- type.value = "Unknown"
- when /^1.3.6.1.2.1.25.3.1.3$/
- type.value = "Processor"
- when /^1.3.6.1.2.1.25.3.1.4$/
- type.value = "Network"
- when /^1.3.6.1.2.1.25.3.1.5$/
- type.value = "Printer"
- when /^1.3.6.1.2.1.25.3.1.6$/
- type.value = "Disk Storage"
- when /^1.3.6.1.2.1.25.3.1.10$/
- type.value = "Video"
- when /^1.3.6.1.2.1.25.3.1.11$/
- type.value = "Audio"
- when /^1.3.6.1.2.1.25.3.1.12$/
- type.value = "Coprocessor"
- when /^1.3.6.1.2.1.25.3.1.13$/
- type.value = "Keyboard"
- when /^1.3.6.1.2.1.25.3.1.14$/
- type.value = "Modem"
- when /^1.3.6.1.2.1.25.3.1.15$/
- type.value = "Parallel Port"
- when /^1.3.6.1.2.1.25.3.1.16$/
- type.value = "Pointing"
- when /^1.3.6.1.2.1.25.3.1.17$/
- type.value = "Serial Port"
- when /^1.3.6.1.2.1.25.3.1.18$/
- type.value = "Tape"
- when /^1.3.6.1.2.1.25.3.1.19$/
- type.value = "Clock"
- when /^1.3.6.1.2.1.25.3.1.20$/
- type.value = "Volatile Memory"
- when /^1.3.6.1.2.1.25.3.1.21$/
- type.value = "Non Volatile Memory"
- else
- type.value = "unknown"
- end
-
- case status.value
- when 1
- status.value = "unknown"
- when 2
- status.value = "running"
- when 3
- status.value = "warning"
- when 4
- status.value = "testing"
- when 5
- status.value = "down"
- else
- status.value = "unknown"
- end
-
- descr.value = "unknown" if descr.value.to_s =~ /noSuchInstance/
-
- device_information.push([index.value, type.value, status.value, descr.value])
- end
-
- if not device_information.empty?
- output_data["Device information"] = [["Id","Type","Status","Descr"]] + device_information
- end
-
- software_list = []
-
- manager.walk(["1.3.6.1.2.1.25.6.3.1.1","1.3.6.1.2.1.25.6.3.1.2"]) do |index,name|
- software_list.push([index.value,name.value])
- end
-
- if not software_list.empty?
- output_data["Software components"] = [["Index","Name"]] + software_list
- end
-
- process_interfaces = []
-
- manager.walk([
- "1.3.6.1.2.1.25.4.2.1.1","1.3.6.1.2.1.25.4.2.1.2","1.3.6.1.2.1.25.4.2.1.4",
- "1.3.6.1.2.1.25.4.2.1.5","1.3.6.1.2.1.25.4.2.1.7"
- ]) do |id,name,path,param,status|
-
- if status.value == 1
- status.value = "running"
- elsif status.value == 2
- status.value = "runnable"
- else
- status.value = "unknown"
- end
-
- process_interfaces.push([id.value, status.value, name.value, path.value, param.value])
- end
-
- if not process_interfaces.empty?
- output_data["Processes"] = [["Id","Status","Name","Path","Parameters"]] + process_interfaces
- end
-
- hp_laserjet_printer_enumeration = []
-
- manager.walk([
- "1.3.6.1.4.1.11.2.3.9.4.2.1.1.6.5.1", # job-info-name1 - document name1
- "1.3.6.1.4.1.11.2.3.9.4.2.1.1.6.5.2", # job-info-name2 - document name2
- "1.3.6.1.4.1.11.2.3.9.4.2.1.1.6.5.23.1", # job-info-attr-1 - username
- "1.3.6.1.4.1.11.2.3.9.4.2.1.1.6.5.23.2", # job-info-attr-2 - machine name
- "1.3.6.1.4.1.11.2.3.9.4.2.1.1.6.5.23.3", # job-info-attr-3 - domain (?)
- "1.3.6.1.4.1.11.2.3.9.4.2.1.1.6.5.23.4", # job-info-attr-4 - timestamp
- "1.3.6.1.4.1.11.2.3.9.4.2.1.1.6.5.23.6", # job-info-attr-6 - application name
- "1.3.6.1.4.1.11.2.3.9.4.2.1.1.6.5.23.7", # job-info-attr-7 - application command
- ]) do |name1,name2,username,client,domain,timestamp,app_name,app_command|
-
- filename = name1.value.to_s + name2.value.to_s
-
- if (username.value.to_s !~ /noSuchInstance/)
- if username.value.to_s =~ /^JobAcct(\d+)=(.*)/
- username = $2
- else
- username = '-'
- end
- else
- username = '-'
- end
-
- if (client.value.to_s !~ /noSuchInstance/)
- if client.value.to_s =~ /^JobAcct(\d+)=(.*)/
- client = $2
- else
- client = '-'
- end
- else
- client = '-'
- end
-
- if (domain.value.to_s !~ /noSuchInstance/)
- if domain.value.to_s =~ /^JobAcct(\d+)=(.*)/
- domain = $2
- domain = '-' if domain.empty?
- else
- domain = '-'
- end
- else
- domain = '-'
- end
-
- if timestamp.value.to_s !~ /noSuchInstance/
- if timestamp.value.to_s =~ /^JobAcct(\d+)=(.*)/
- timestamp = $2
- else
- timestamp = '-'
- end
- else
- timestamp = nil
- end
-
- if (app_name.value.to_s !~ /noSuchInstance/)
- if app_name.value.to_s =~ /^JobAcct(\d+)=(.*)/
- app_name = $2
- end
- else
- app_name = '-'
- end
-
- if (app_command.value.to_s !~ /noSuchInstance/)
- if app_command.value.to_s =~ /^JobAcct(\d+)=(.*)/
- app_command = $2
- end
- else
- app_command = '-'
- end
-
- if not timestamp.nil?
- hp_laserjet_printer_enumeration.push({
- "Filename" => filename + "#{filename.length}",
- "Username" => username,
- "Client" => client,
- "Timestamp" => timestamp,
- "Domain" => domain,
- "Application name" => app_name,
- "Application command" => app_command
- })
- end
- end
-
- if not hp_laserjet_printer_enumeration.empty?
- output_data["HP LaserJet printer enumeration"] = hp_laserjet_printer_enumeration
- end
-
- print_things("System information:","result")
- puts
-
- line = ""
- width = 30 # name field width
- twidth = 32 # table like display cell width
-
- fields_order.each {|k|
- if not output_data.has_key?(k)
- next
- end
-
- v = output_data[k]
-
- case v
- when Array
- content = ""
-
- v.each{ |a|
- case a
- when Hash
- a.each{ |sk, sv|
- sk = truncate_to_twidth(sk, twidth)
- content << sprintf(" %s%s: %s\n", sk, " "*([0,width-sk.length].max), sv)
- }
- content << "\n"
- when Array
- a.each { |sv|
- sv = sv.to_s.strip
- content << sprintf(" %-20s", sv)
- }
- content << "\n"
- else
- content << sprintf(" %s\n", a)
- content << "\n"
- end
- }
-
- line << "\n[*] #{k}:\n\n#{content}"
-
- when Hash
- content = ""
- v.each{ |sk, sv|
- sk = truncate_to_twidth(sk,twidth)
- content << sprintf(" %s%s: %s\n", sk, " "*([0,width-sk.length].max), sv)
- }
-
- line << "\n[*] #{k}:\n\n#{content}"
- content << "\n"
- else
- if (v.nil? or v.empty? or v =~ /Null/)
- v = '-'
- end
-
- k = truncate_to_twidth(k,twidth)
- line << sprintf(" %s%s: %s\n", k, " "*([0,width-k.length].max), v)
- end
- }
-
- puts(line)
-
- end
-
- puts
-
- rescue SNMP::RequestTimeout
- print_things("#{target}:#{port} SNMP request timeout","error")
- rescue SNMP::ConnectionError
- print_things("#{target}:#{port} Connection refused","error")
- rescue SNMP::InvalidIpAddress
- print_things("#{target}:#{port} Invalid IP Address. Check it with 'snmpwalk tool'","error")
- rescue SNMP::UnsupportedVersion
- print_things("#{target}:#{port} Unsupported SNMP version specified. Select from '1' or '2c'","error")
- rescue ::Interrupt
- raise $!
- rescue ::Exception => e
- print_things("Unknown error: #{e.class} #{e}","error")
- print_things("Call stack:\n#{e.backtrace.join "\n"}","error")
-end
diff --git a/snmpcheck.1 b/snmpcheck.1
deleted file mode 100644
index b12c116..0000000
--- a/snmpcheck.1
+++ /dev/null
@@ -1,83 +0,0 @@
-.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.40.5.
-.TH SNMPCHECK "1" "January 2012" "snmpcheck version 1.8" "User Commands"
-.SH NAME
-snmpcheck - enumerate information via SNMP protocol
-.SH SYNOPSIS
-.B snmpcheck
-[\fB-OPTIONS \fR] \fB\-t\fR \fI\fR
-.SH DESCRIPTION
-Like to snmpwalk, snmpcheck permits to enumerate information via SNMP protocol.
-It allows enumeration (hardware, software, network) of any devices with SNMP protocol support.
-It could be useful for penetration testing or systems monitoring.
-
-Snmpcheck supports the following enumerations (in alfabetic order):
-.IP
-contact,
-description,
-devices,
-domain,
-hardware and storage informations,
-hostname,
-IIS statistics,
-IP forwarding,
-listening UDP ports,
-location,
-motd,
-mountpoints,
-network interfaces,
-network services,
-processes,
-routing information,
-software components,
-system uptime,
-TCP connections,
-total memory,
-uptime,
-user accounts,
-detect write access (separate action by enumeration)
-
-.PP
-Tested on GNU/Linux, *BSD and Windows (Cygwin and ActivePerl) systems.
-
-Distributed under GPL license and based on "Athena-2k" script by jshaw.
-
-
-.SH OPTIONS
-.BR "-t \fI\fR"
-target host
-.TP
-.BR "-p \fI\fR"
-SNMP port; default port is 161
-.TP
-.BR "-c \fI\fR"
-SNMP community; default is public
-.TP
-.BR "-v \fI\fR"
-SNMP version (1,2); default is 1
-.TP
-.BR "-r \fI\fR"
-request retries; default is 0
-.TP
-.BR "-T \fI\fR"
-force timeout in seconds; default is 20. Max is 60
-.TP
-.BR "-w
-detect write access (separate action by enumeration)
-.TP
-.BR "-d
-disable 'TCP connections' enumeration! "TCP connections enumeration" can be very long. Use -d flag to disable it.
-.TP
-.BR "-D
-enable debug
-.TP
-.BR "-h
-show help menu
-
-.SH SEE ALSO
-.BR snmpwalk (1),
-.BR snmpget (1),
-.BR onesixtyone (1)
-
-.SH "AUTHOR"
-Copyright (c) 2005-2011 by Matteo Cantoni
-
diff --git a/snmpcheck.spec b/snmpcheck.spec
deleted file mode 100644
index 768378c..0000000
--- a/snmpcheck.spec
+++ /dev/null
@@ -1,173 +0,0 @@
-Name: snmpcheck
-Version: 1.9
-Release: 21%{?dist}
-Summary: An utility to get information via SNMP protocols
-
-# Automatically converted from old format: GPLv3+ - review is highly recommended.
-License: GPL-3.0-or-later
-URL: https://www.nothink.org/codes/snmpcheck/
-Source0: https://www.nothink.org/codes/snmpcheck/%{name}-%{version}.rb
-#Manual page
-Source1: snmpcheck.1
-BuildArch: noarch
-
-Requires: ruby(release)
-Requires: rubygem(snmp)
-
-
-%description
-snmpcheck supports the following enumerations:
- * Contact
- * Description
- * Devices
- * Domain
- * Hardware and storage information
- * Hostname
- * IIS statistics
- * IP forwarding
- * Listening UDP ports
- * Location
- * Motd
- * Mountpoints
- * Network interfaces
- * Network services
- * Processes
- * Routing information
- * Software components (Windows programs or RPMs etc.)
- * System Uptime
- * TCP connections
- * Total Memory
- * Uptime
- * User accounts
- * Web server information (IIS)
-
-
-%prep
-
-
-%build
-
-
-%install
-rm -rf %{buildroot}
-install -d %{buildroot}%{_bindir}
-install -p -m 0755 %{SOURCE0} %{buildroot}%{_bindir}/%{name}
-install -d %{buildroot}%{_mandir}/man1
-install -p -m 0644 %{SOURCE1} %{buildroot}%{_mandir}/man1/%{name}.1
-
-
-
-%files
-%{_bindir}/%{name}
-%{_mandir}/man1/%{name}.1.*
-
-
-%changelog
-* Fri Jul 25 2025 Fedora Release Engineering - 1.9-21
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
-
-* Sun Jan 19 2025 Fedora Release Engineering - 1.9-20
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
-
-* Thu Jul 25 2024 Miroslav Suchý - 1.9-19
-- convert license to SPDX
-
-* Sat Jul 20 2024 Fedora Release Engineering - 1.9-18
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
-
-* Sat Jan 27 2024 Fedora Release Engineering - 1.9-17
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
-
-* Sat Jul 22 2023 Fedora Release Engineering - 1.9-16
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
-
-* Sat Jan 21 2023 Fedora Release Engineering - 1.9-15
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
-
-* Sat Jul 23 2022 Fedora Release Engineering - 1.9-14
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
-
-* Sat Jan 22 2022 Fedora Release Engineering - 1.9-13
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
-
-* Fri Jul 23 2021 Fedora Release Engineering - 1.9-12
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
-
-* Wed Jan 27 2021 Fedora Release Engineering - 1.9-11
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
-
-* Wed Jul 29 2020 Fedora Release Engineering - 1.9-10
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
-
-* Thu Jan 30 2020 Fedora Release Engineering - 1.9-9
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
-
-* Fri Jul 26 2019 Fedora Release Engineering - 1.9-8
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
-
-* Sun Feb 03 2019 Fedora Release Engineering - 1.9-7
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
-
-* Sat Jul 14 2018 Fedora Release Engineering - 1.9-6
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
-
-* Fri Feb 09 2018 Fedora Release Engineering - 1.9-5
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
-
-* Thu Jul 27 2017 Fedora Release Engineering - 1.9-4
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
-
-* Sat Feb 11 2017 Fedora Release Engineering - 1.9-3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
-
-* Sun May 15 2016 Jitka Plesnikova - 1.9-2
-- Perl 5.24 rebuild
-
-* Fri Apr 29 2016 Michal Ambroz - 1.9-1
-- bump to version 1.9
-
-* Fri Feb 05 2016 Fedora Release Engineering - 1.8-14
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
-
-* Fri Jun 19 2015 Fedora Release Engineering - 1.8-13
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
-
-* Wed Jun 03 2015 Jitka Plesnikova - 1.8-12
-- Perl 5.22 rebuild
-
-* Wed Aug 27 2014 Jitka Plesnikova - 1.8-11
-- Perl 5.20 rebuild
-
-* Sun Jun 08 2014 Fedora Release Engineering - 1.8-10
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
-
-* Sun Aug 04 2013 Fedora Release Engineering - 1.8-9
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
-
-* Wed Jul 17 2013 Petr Pisar - 1.8-8
-- Perl 5.18 rebuild
-
-* Fri Feb 15 2013 Fedora Release Engineering - 1.8-7
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
-
-* Sat Jul 21 2012 Fedora Release Engineering - 1.8-6
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
-
-* Wed Jun 27 2012 Petr Pisar - 1.8-5
-- Perl 5.16 rebuild
-
-* Sun May 27 2012 Michal Ambroz - 1.8-4
-- modifications based on the review comments
-
-* Sun May 20 2012 Michal Ambroz - 1.8-3
-- fixed manpage
-
-* Sun Jan 22 2012 Michal Ambroz - 1.8-2
-- added manpage
-
-* Sun Jan 22 2012 Michal Ambroz - 1.8-1
-- bump to version 1.8
-
-* Sat Feb 13 2010 Nikolay Ulyanitsky - 1.7-1
-- Initial package build
-
diff --git a/sources b/sources
deleted file mode 100644
index e69de29..0000000