diff --git a/Rakefile b/Rakefile index e59d20ade..2cbe4a114 100644 --- a/Rakefile +++ b/Rakefile @@ -1,53 +1,47 @@ # Rakefile for Puppet -*- ruby -*- $LOAD_PATH << File.join(File.dirname(__FILE__), 'tasks') require 'rake' require 'rake/packagetask' require 'rake/gempackagetask' require 'rspec' require "rspec/core/rake_task" module Puppet PUPPETVERSION = File.read('lib/puppet.rb')[/PUPPETVERSION *= *'(.*)'/,1] or fail "Couldn't find PUPPETVERSION" end Dir['tasks/**/*.rake'].each { |t| load t } FILES = FileList[ '[A-Z]*', 'install.rb', 'bin/**/*', 'sbin/**/*', 'lib/**/*', 'conf/**/*', 'man/**/*', 'examples/**/*', 'ext/**/*', 'tasks/**/*', - 'test/**/*', 'spec/**/*' ] Rake::PackageTask.new("puppet", Puppet::PUPPETVERSION) do |pkg| pkg.package_dir = 'pkg' pkg.need_tar_gz = true pkg.package_files = FILES.to_a end task :default do sh %{rake -T} end desc "Create the tarball and the gem - use when releasing" task :puppetpackages => [:create_gem, :package] RSpec::Core::RakeTask.new do |t| t.pattern ='spec/{unit,integration}/**/*.rb' t.fail_on_error = true end - -desc "Run the unit tests" -task :unit do - Dir.chdir("test") { sh "rake" } -end diff --git a/test/README b/test/README deleted file mode 100644 index 82a749a69..000000000 --- a/test/README +++ /dev/null @@ -1,24 +0,0 @@ -$Id$ - -To run all tests, run: 'rake test'. To run an individual suite, run the file -directly. e.g. cd test/util; ./utiltest.rb - -You might need to run some tests as root. - -If you do not have rake installed: - gem install rake - -## The following information is possibly out of date? - -Tests are organized into a dual hierarchy: each subdirectory is -considered a test suite, and each file in the subdirectory is considered -a test case. You can use any test case as an example of how to write -more of them, but basically the only requirements are that they each have -their own class names, their names each match /tc_.+\.r/, and that they have -the following header: - -if __FILE__ == $0 - $:.unshift '..' - $:.unshift '../../lib' - $blinkbase = "../.." -end diff --git a/test/Rakefile b/test/Rakefile deleted file mode 100644 index 7cde050f6..000000000 --- a/test/Rakefile +++ /dev/null @@ -1,96 +0,0 @@ -# let Emacs know it's -*- ruby -*- -begin - require 'rake/testtask' -rescue LoadError - $stderr.puts "You must have 'rake' installed to use this file" - exit(1) -end - -require 'find' - -include Find -include FileTest - -$exclusions = %W(lib data) -$test_library_paths = %W(lib ../lib) - -$: << File.join(Dir.getwd, "lib") - -require 'rake/puppet_testtask' - -filemap = Hash.new { |hash, key| hash[key] = [] } - -allfiles = [] - -# First collect the entire file list. -find(".") do |f| - # Get rid of the leading ./ - f = f.sub(/^\.\//, '') - - file = File.basename(f) - dir = File.dirname(f) - - # Prune . directories and excluded dirs - if (file =~ /^\./ and f != ".") or $exclusions.include?(File.basename(file)) - prune - next - end - next if f == "." - next if dir == "." - - # If we're a ruby script, then add it to the list of files for that dir - if file =~ /\.rb$/ - allfiles << f - # Add it to all of the parent dirs, not just our own - parts = File.split(dir) - if parts[0] == "." - parts.shift - end - parts.each_with_index { |part, i| - path = File.join(parts[0..i]) - filemap[path] << f - } - end -end - -desc "Run the full test suite" -Rake::PuppetTestTask.new :test do |t| - t.libs += $test_library_paths - - # Add every file as a test file to run - t.test_files = allfiles - t.verbose = true -end - -task :default => :test - -# Now create a task for every directory -filemap.each do |dir, files| - ns = dir.gsub "/", ":" - - # First create a separate task for each file in the namespace. - namespace ns do - files.each do |file| - Rake::PuppetTestTask.new File.basename(file, '.rb').to_sym do |t| - t.libs += $test_library_paths + ['..'] - t.libs << '..' - t.test_files = [ file ] - t.verbose = true - end - end - end - - # Then create a task that matches the directory itself. - Rake::PuppetTestTask.new dir do |t| - t.libs += $test_library_paths - if ENV["TESTFILES"] - t.test_files = ENV["TESTFILES"].split(/\s+/) - else - t.test_files = files.sort - end - t.verbose = true - end - - # And alias it with a slash on the end - task(dir + "/" => dir) -end diff --git a/test/data/providers/cron/crontab.allthree b/test/data/providers/cron/crontab.allthree deleted file mode 100644 index c1a61c30d..000000000 --- a/test/data/providers/cron/crontab.allthree +++ /dev/null @@ -1,17 +0,0 @@ ---- -- | - # comment 1 - # Puppet Name: name2 - env3=val - * * * * * command4 - # comment 5 - -- - :record_type: :comment - :line: "# comment 1" - - :command: command4 - :environment: - - env3=val - :name: name2 - :record_type: :crontab - - :record_type: :comment - :line: "# comment 5" diff --git a/test/data/providers/cron/crontab.envNcomment b/test/data/providers/cron/crontab.envNcomment deleted file mode 100644 index 44d41f535..000000000 --- a/test/data/providers/cron/crontab.envNcomment +++ /dev/null @@ -1,12 +0,0 @@ ---- -- | - # comment 9 - env10=val - * * * * * command11 - -- - :record_type: :comment - :line: "# comment 9" - - :record_type: :environment - :line: env10=val - - :command: command11 - :record_type: :crontab diff --git a/test/data/providers/cron/crontab.envNname b/test/data/providers/cron/crontab.envNname deleted file mode 100644 index 7cbc3fce1..000000000 --- a/test/data/providers/cron/crontab.envNname +++ /dev/null @@ -1,11 +0,0 @@ ---- -- | - env6=val - # Puppet Name: name7 - * * * * * command8 - -- - :record_type: :environment - :line: env6=val - - :command: command8 - :record_type: :crontab - :name: name7 diff --git a/test/data/providers/cron/crontab.multirecords b/test/data/providers/cron/crontab.multirecords deleted file mode 100644 index 44d41f535..000000000 --- a/test/data/providers/cron/crontab.multirecords +++ /dev/null @@ -1,12 +0,0 @@ ---- -- | - # comment 9 - env10=val - * * * * * command11 - -- - :record_type: :comment - :line: "# comment 9" - - :record_type: :environment - :line: env10=val - - :command: command11 - :record_type: :crontab diff --git a/test/data/providers/cron/crontab_collections.yaml b/test/data/providers/cron/crontab_collections.yaml deleted file mode 100644 index 9e070dae8..000000000 --- a/test/data/providers/cron/crontab_collections.yaml +++ /dev/null @@ -1,22 +0,0 @@ ---- -:with_name: -- :name -- :spaces_in_command_with_times -:with_env: -- :environment -- :spaces_in_command_with_times -:simple: -- :spaces_in_command_with_times -:with_multiple_envs: -- :environment -- :lowercase_environment -- :spaces_in_command_with_times -:with_name_and_env: -- :name_with_spaces -- :another_env -- :spaces_in_command_with_times -:with_name_and_multiple_envs: -- :long_name -- :another_env -- :fourth_env -- :spaces_in_command_with_times diff --git a/test/data/providers/cron/crontab_multiple_with_env.yaml b/test/data/providers/cron/crontab_multiple_with_env.yaml deleted file mode 100644 index ff7af8eb3..000000000 --- a/test/data/providers/cron/crontab_multiple_with_env.yaml +++ /dev/null @@ -1,54 +0,0 @@ ---- -- | - # comment 1 - # Puppet Name: name2 - env3=val - * * * * * command4 - # Puppet Name: name with spaces - env3=val - env4=other - * * * * * command5 - # comment 5 - -- - :record_type: :comment - :line: "# comment 1" - - :command: command4 - :environment: - - env3=val - :name: name2 - :record_type: :crontab - - :command: command5 - :environment: - - env3=val - - env4=other - :name: name with spaces - :record_type: :crontab - - :record_type: :comment - :line: "# comment 5" ---- -- | - # comment 1 - # Puppet Name: name2 - env3=val - * * * * * command4 - # Puppet Name: name with spaces - env3=val - env4=other - * * * * * command5 - # comment 5 - -- - :record_type: :comment - :line: "# comment 1" - - :command: command4 - :environment: - - env3=val - :name: name2 - :record_type: :crontab - - :command: command5 - :environment: - - env3=val - - env4=other - :name: name with spaces - :record_type: :crontab - - :record_type: :comment - :line: "# comment 5" diff --git a/test/data/providers/cron/crontab_sample_records.yaml b/test/data/providers/cron/crontab_sample_records.yaml deleted file mode 100644 index 56dd6ad49..000000000 --- a/test/data/providers/cron/crontab_sample_records.yaml +++ /dev/null @@ -1,272 +0,0 @@ ---- -:longcommment: - :text: "# This is a comment" - :record: - :line: "# This is a comment" - :record_type: :comment -:special: - :text: "@hourly /bin/date" - :record: - :special: hourly - :command: /bin/date - :record_type: :freebsd_special -:long_name: - :text: "# Puppet Name: long_name" - :record: - :line: "# Puppet Name: long_name" - :name: long_name - :record_type: :comment -:multiple_minutes: - :text: 5,15 * * * * /bin/date - :record: - :minute: - - "5" - - "15" - :command: /bin/date - :record_type: :crontab -:environment: - :text: ONE=TWO - :record: - :line: ONE=TWO - :record_type: :environment -:empty: - :text: "" - :record: - :line: "" - :record_type: :blank -:simple: - :text: "* * * * * /bin/date" - :record: - :command: /bin/date - :record_type: :crontab -:whitespace: - :text: " " - :record: - :line: " " - :record_type: :blank -:minute_and_hour: - :text: 5 15 * * * /bin/date - :record: - :minute: - - "5" - :hour: - - "15" - :command: /bin/date - :record_type: :crontab -:lowercase_environment: - :text: a=b - :record: - :line: a=b - :record_type: :environment -:special_with_spaces: - :text: "@daily /bin/echo testing" - :record: - :special: daily - :command: /bin/echo testing - :record_type: :freebsd_special -:tabs: - :text: !binary | - CQ== - - :record: - :line: !binary | - CQ== - - :record_type: :blank -:multiple_minute_and_hour: - :text: 5,10 15,20 * * * /bin/date - :record: - :minute: - - "5" - - "10" - :hour: - - "15" - - "20" - :command: /bin/date - :record_type: :crontab -:name: - :text: "# Puppet Name: testing" - :record: - :line: "# Puppet Name: testing" - :name: testing - :record_type: :comment -:another_env: - :text: Testing=True - :record: - :line: Testing=True - :record_type: :environment -:shortcomment: - :text: "#" - :record: - :line: "#" - :record_type: :comment -:spaces_in_command: - :text: "* * * * * /bin/echo testing" - :record: - :command: /bin/echo testing - :record_type: :crontab -:fourth_env: - :text: True=False - :record: - :line: True=False - :record_type: :environment -:simple_with_minute: - :text: 5 * * * * /bin/date - :record: - :minute: - - "5" - :command: /bin/date - :record_type: :crontab -:spaces_in_command_with_times: - :text: 5,10 15,20 * * * /bin/echo testing - :record: - :minute: - - "5" - - "10" - :hour: - - "15" - - "20" - :command: /bin/echo testing - :record_type: :crontab -:name_with_spaces: - :text: "# Puppet Name: another name" - :record: - :line: "# Puppet Name: another name" - :name: another name - :record_type: :comment ---- -:longcommment: - :text: "# This is a comment" - :record: - :line: "# This is a comment" - :record_type: :comment -:special: - :text: "@hourly /bin/date" - :record: - :special: hourly - :command: /bin/date - :record_type: :freebsd_special -:long_name: - :text: "# Puppet Name: long_name" - :record: - :line: "# Puppet Name: long_name" - :name: long_name - :record_type: :comment -:multiple_minutes: - :text: 5,15 * * * * /bin/date - :record: - :minute: - - "5" - - "15" - :command: /bin/date - :record_type: :crontab -:environment: - :text: ONE=TWO - :record: - :line: ONE=TWO - :record_type: :environment -:empty: - :text: "" - :record: - :line: "" - :record_type: :blank -:simple: - :text: "* * * * * /bin/date" - :record: - :command: /bin/date - :record_type: :crontab -:whitespace: - :text: " " - :record: - :line: " " - :record_type: :blank -:minute_and_hour: - :text: 5 15 * * * /bin/date - :record: - :minute: - - "5" - :hour: - - "15" - :command: /bin/date - :record_type: :crontab -:lowercase_environment: - :text: a=b - :record: - :line: a=b - :record_type: :environment -:special_with_spaces: - :text: "@daily /bin/echo testing" - :record: - :special: daily - :command: /bin/echo testing - :record_type: :freebsd_special -:tabs: - :text: !binary | - CQ== - - :record: - :line: !binary | - CQ== - - :record_type: :blank -:multiple_minute_and_hour: - :text: 5,10 15,20 * * * /bin/date - :record: - :minute: - - "5" - - "10" - :hour: - - "15" - - "20" - :command: /bin/date - :record_type: :crontab -:name: - :text: "# Puppet Name: testing" - :record: - :line: "# Puppet Name: testing" - :name: testing - :record_type: :comment -:another_env: - :text: Testing=True - :record: - :line: Testing=True - :record_type: :environment -:shortcomment: - :text: "#" - :record: - :line: "#" - :record_type: :comment -:spaces_in_command: - :text: "* * * * * /bin/echo testing" - :record: - :command: /bin/echo testing - :record_type: :crontab -:fourth_env: - :text: True=False - :record: - :line: True=False - :record_type: :environment -:simple_with_minute: - :text: 5 * * * * /bin/date - :record: - :minute: - - "5" - :command: /bin/date - :record_type: :crontab -:spaces_in_command_with_times: - :text: 5,10 15,20 * * * /bin/echo testing - :record: - :minute: - - "5" - - "10" - :hour: - - "15" - - "20" - :command: /bin/echo testing - :record_type: :crontab -:name_with_spaces: - :text: "# Puppet Name: another name" - :record: - :line: "# Puppet Name: another name" - :name: another name - :record_type: :comment diff --git a/test/data/providers/cron/examples/freebsd b/test/data/providers/cron/examples/freebsd deleted file mode 100644 index fba1e310b..000000000 --- a/test/data/providers/cron/examples/freebsd +++ /dev/null @@ -1,2 +0,0 @@ -@daily /path/to/some/job -@reboot /path/to/some/job diff --git a/test/data/providers/cron/examples/one b/test/data/providers/cron/examples/one deleted file mode 100644 index 9cddf97e7..000000000 --- a/test/data/providers/cron/examples/one +++ /dev/null @@ -1,14 +0,0 @@ -TZ=Europe/Paris -# -# Some comments -# and more comments -# -SHELL=/bin/sh -0 0 * * * /usr/local/bin/savelogs --period --postmovehook="/usr/local/apache/bin/apachectl graceful" --apacheconf=/www/conf/httpd.conf -58 23 * * * /usr/bin/diff /var/log/slow-queries.log /backup/var/log/slow-queries.log -59 23 * * * /usr/bin/diff /var/db/mysql/*.err /backup/var/db/mysql/*.err -0 7 * * Mon cd /usr/local/install; find . -maxdepth 1 -type f -mtime -30 -exec ls -l {} \; | mail -E -s 'Recent vinstall kits' vinstall@domain.com -#* * * * * /bin/ls|mail -s 'test !!' gg@domain.com -47 4 * * 1 /usr/local/bin/wget 'ftp://ftp.perl.org/pub/CPAN/MIRRORED.BY' -O /home/installman/www/install.domain.com/inst/MIRRORED.BY -25 */2 * * * /usr/local/bin/freshclam --quiet -#* * * * * /root/top.sh diff --git a/test/data/providers/cron/examples/openbsd b/test/data/providers/cron/examples/openbsd deleted file mode 100644 index d77597da0..000000000 --- a/test/data/providers/cron/examples/openbsd +++ /dev/null @@ -1,20 +0,0 @@ -# -SHELL=/bin/sh -PATH=/bin:/sbin:/usr/bin:/usr/sbin -HOME=/var/log -# -#minute hour mday month wday command -# -# sendmail clientmqueue runner -*/30 * * * * /usr/sbin/sendmail -L sm-msp-queue -Ac -q -# -# rotate log files every hour, if necessary -0 * * * * /usr/bin/newsyslog -# send log file notifications, if necessary -#1-59 * * * * /usr/bin/newsyslog -m -# -# do daily/weekly/monthly maintenance -30 1 * * * /bin/sh /etc/daily 2>&1 | tee /var/log/daily.out | mail -s "`/bin/hostname` daily output" root -30 3 * * 6 /bin/sh /etc/weekly 2>&1 | tee /var/log/weekly.out | mail -s "`/bin/hostname` weekly output" root -30 5 1 * * /bin/sh /etc/monthly 2>&1 | tee /var/log/monthly.out | mail -s "`/bin/hostname` monthly output" root -#0 * * * * /usr/libexec/spamd-setup diff --git a/test/data/providers/host/parsed/valid_hosts b/test/data/providers/host/parsed/valid_hosts deleted file mode 100644 index 24636295d..000000000 --- a/test/data/providers/host/parsed/valid_hosts +++ /dev/null @@ -1,19 +0,0 @@ -# Some leading comment, that should be ignored -# The next line is empty so it should be ignored - -::1 localhost - -# We now try another delimiter: Several tabs -127.0.0.1 localhost - -# No test trailing spaces -10.0.0.1 host1 - -# Ok its time to test aliases -2001:252:0:1::2008:8 ipv6host alias1 -192.168.0.1 ipv4host alias2 alias3 - -# Testing inlinecomments now -192.168.0.2 host3 # This is host3 -192.168.0.3 host4 alias10 # This is host4 -192.168.0.4 host5 alias11 alias12 # This is host5 diff --git a/test/data/providers/mailalias/aliases/test1 b/test/data/providers/mailalias/aliases/test1 deleted file mode 100644 index ecf532213..000000000 --- a/test/data/providers/mailalias/aliases/test1 +++ /dev/null @@ -1,28 +0,0 @@ -# Basic system aliases -- these MUST be present -MAILER-DAEMON: postmaster -postmaster: root - -# General redirections for pseudo accounts -bin: root -daemon: root -named: root -nobody: root -uucp: root -www: root -ftp-bugs: root -postfix: root - -# Put your local aliases here. - -# Well-known aliases -manager: root -dumper: root -operator: root -abuse: postmaster - -# trap decode to catch security attacks -decode: root - -# Other tests -anothertest: "|/path/to/rt-mailgate --queue 'another test' --action correspond --url http://my.com/" -test: "|/path/to/rt-mailgate --queue 'test' --action correspond --url http://my.com/" diff --git a/test/data/providers/mount/parsed/aix.mount b/test/data/providers/mount/parsed/aix.mount deleted file mode 100644 index 380dbc5ae..000000000 --- a/test/data/providers/mount/parsed/aix.mount +++ /dev/null @@ -1,7 +0,0 @@ -node mounted mounted over vfs date options ----- ------- ------------ --- ------------ ------------------- - /dev/hd0 / jfs Dec 17 08:04 rw, log =/dev/hd8 - /dev/hd3 /tmp jfs Dec 17 08:04 rw, log =/dev/hd8 - /dev/hd1 /home jfs Dec 17 08:06 rw, log =/dev/hd8 - /dev/hd2 /usr jfs Dec 17 08:06 rw, log =/dev/hd8 -sue /home/local/src /usr/code nfs Dec 17 08:06 ro, log =/dev/hd8 diff --git a/test/data/providers/mount/parsed/darwin.mount b/test/data/providers/mount/parsed/darwin.mount deleted file mode 100644 index 1bdfcf89a..000000000 --- a/test/data/providers/mount/parsed/darwin.mount +++ /dev/null @@ -1,6 +0,0 @@ -/dev/disk0s2 on / (hfs, local, journaled) -devfs on /dev (devfs, local, nobrowse) -map -hosts on /net (autofs, nosuid, automounted, nobrowse) -map auto_home on /home (autofs, automounted, nobrowse) -/dev/disk0s3 on /usr (hfs, local, journaled) -/dev/fake on /ghost (hfs, local, journaled) diff --git a/test/data/providers/mount/parsed/hpux.mount b/test/data/providers/mount/parsed/hpux.mount deleted file mode 100644 index d414fa47a..000000000 --- a/test/data/providers/mount/parsed/hpux.mount +++ /dev/null @@ -1,17 +0,0 @@ -/ on rpool/ROOT/opensolaris read/write/setuid/devices/dev=2d90002 on Wed Dec 31 16:00:00 1969 -/devices on /devices read/write/setuid/devices/dev=4a00000 on Thu Feb 17 14:34:02 2011 -/dev on /dev read/write/setuid/devices/dev=4a40000 on Thu Feb 17 14:34:02 2011 -/system/contract on ctfs read/write/setuid/devices/dev=4ac0001 on Thu Feb 17 14:34:02 2011 -/proc on proc read/write/setuid/devices/dev=4b00000 on Thu Feb 17 14:34:02 2011 -/etc/mnttab on mnttab read/write/setuid/devices/dev=4b40001 on Thu Feb 17 14:34:02 2011 -/etc/svc/volatile on swap read/write/setuid/devices/xattr/dev=4b80001 on Thu Feb 17 14:34:02 2011 -/system/object on objfs read/write/setuid/devices/dev=4bc0001 on Thu Feb 17 14:34:02 2011 -/etc/dfs/sharetab on sharefs read/write/setuid/devices/dev=4c00001 on Thu Feb 17 14:34:02 2011 -/lib/libc.so.1 on /usr/lib/libc/libc_hwcap1.so.1 read/write/setuid/devices/dev=2d90002 on Thu Feb 17 14:34:14 2011 -/dev/fd on fd read/write/setuid/devices/dev=4d00001 on Thu Feb 17 14:34:18 2011 -/tmp on swap read/write/setuid/devices/xattr/dev=4b80002 on Thu Feb 17 14:34:19 2011 -/var/run on swap read/write/setuid/devices/xattr/dev=4b80003 on Thu Feb 17 14:34:19 2011 -/export on rpool/export read/write/setuid/devices/nonbmand/exec/xattr/atime/dev=2d90006 on Thu Feb 17 14:37:48 2011 -/export/home on rpool/export/home read/write/setuid/devices/nonbmand/exec/xattr/atime/dev=2d90007 on Thu Feb 17 14:37:48 2011 -/rpool on rpool read/write/setuid/devices/nonbmand/exec/xattr/atime/dev=2d90009 on Thu Feb 17 14:37:48 2011 -/ghost on /dev/fake read/write/setuid/devices/nonbmand/exec/xattr/atime/dev=2d90009 on Thu Feb 17 14:37:48 2011 diff --git a/test/data/providers/mount/parsed/linux.mount b/test/data/providers/mount/parsed/linux.mount deleted file mode 100644 index 75dd71fd4..000000000 --- a/test/data/providers/mount/parsed/linux.mount +++ /dev/null @@ -1,5 +0,0 @@ -/dev/root on / type jfs (rw,noatime) -rc-svcdir on /lib64/rc/init.d type tmpfs (rw,nosuid,nodev,noexec,relatime,size=1024k,mode=755) -sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime) -/dev/sda9 on /usr/portage type jfs (rw) -/dev/fake on /ghost type jfs (rw) diff --git a/test/data/providers/mount/parsed/solaris.mount b/test/data/providers/mount/parsed/solaris.mount deleted file mode 100644 index 26fabc575..000000000 --- a/test/data/providers/mount/parsed/solaris.mount +++ /dev/null @@ -1,6 +0,0 @@ -/ on /dev/dsk/c0t0d0s0 read/write/setuid/intr/largefiles/xattr/onerror=panic/dev=2200000 on Mon Mar 18 08:48:45 2002 -/proc on /proc read/write/setuid/dev=4300000 on Mon Mar 18 08:48:44 2002 -/etc/mnttab on mnttab read/write/setuid/dev=43c0000 on Mon Mar 18 08:48:44 2002 -/tmp on swap read/write/setuid/xattr/dev=2 on Mon Mar 18 08:48:52 2002 -/export/home on /dev/dsk/c0t0d0s7 read/write/setuid/intr/largefiles/xattr/onerror=panic/dev=2200007 on Mon Mar 18 -/ghost on /dev/dsk/c0t1d0s7 read/write/setuid/intr/largefiles/xattr/onerror=panic/dev=2200007 on Mon Mar 18 diff --git a/test/data/providers/package/testpackages.yaml b/test/data/providers/package/testpackages.yaml deleted file mode 100644 index 7d7ce0225..000000000 --- a/test/data/providers/package/testpackages.yaml +++ /dev/null @@ -1,65 +0,0 @@ ---- -- :operatingsystem: Solaris - :files: - - /usr/local/pkg/rdesktop-1.3.1-sol10-intel-local - - /usr/local/pkg/rdesktop-1.4.1-sol10-x86-local - :hardwareisa: i386 - :name: SMCrdesk - :operatingsystemrelease: "5.10" - :provider: :sun -- :operatingsystem: Solaris - :name: cabextract - :provider: :blastwave -- :operatingsystem: Solaris - :files: - - /usr/local/pkg/arc-5.21e-sol8-sparc-local - :hardwareisa: sparc - :name: SMCarc - :operatingsystemrelease: "5.8" - :provider: :sun -- :operatingsystem: Solaris - :files: - - /usr/local/pkg/arc-5.21e-sol8-intel-local - :hardwareisa: i386 - :name: SMCarc - :operatingsystemrelease: "5.8" - :provider: :sun -- :operatingsystem: OpenBSD - :files: - - ftp://ftp.usa.openbsd.org/pub/OpenBSD/3.8/packages/i386/aalib-1.2-no_x11.tgz - :name: aalib - :provider: :openbsd -- :operatingsystem: Debian - :name: zec - :provider: :apt -- :operatingsystem: Debian - :name: zec - :provider: :aptitude -- :operatingsystem: Fedora - :name: wv - :provider: :yum -- :operatingsystem: - - Fedora - - CentOS - - RedHat - :files: - - /home/luke/rpm/RPMS/noarch/enhost-1.0.1-1.noarch.rpm - - /home/luke/rpm/RPMS/noarch/enhost-1.0.2-1.noarch.rpm - :name: enhost - :provider: :rpm -- :operatingsystem: Darwin - :name: aop - :provider: :darwinports -- :operatingsystem: FreeBSD - :name: yahtzee - :provider: :ports -- :provider: :apple - :files: - - /Users/luke/Documents/Puppet/pkgtesting.pkg - :name: pkgtesting - :cleanup: rm -rf /Library/Receipts/pkgtesting.pkg/ /tmp/file -- :provider: :gem - :name: wxrubylayouts - :versions: - - 0.0.2 - - 0.0.3 diff --git a/test/data/providers/ssh_authorized_key/parsed/authorized_keys b/test/data/providers/ssh_authorized_key/parsed/authorized_keys deleted file mode 100644 index b22329dca..000000000 --- a/test/data/providers/ssh_authorized_key/parsed/authorized_keys +++ /dev/null @@ -1,7 +0,0 @@ -ssh-dss AAAAB3NzaC1kc3MAAACBAJkupmdsJSDXfUy5EU5NTRBDr9Woo3w0YnB8KmnJW9ghU8C7SkWPB1fIHVe+esFfd3qWBseb83PoFX63geZJAg6bjV4/Rdn1zEoa9EO2QyUdYUen4+rpsh3vVKZ6HFNsn3+W5+kPYgE1F/N4INqkbjY3sqCkP/W1BL9+sbVVbuJFAAAAFQCfjWDk5XhvGUkPjNWWVqltBYzHtwAAAIEAg/XL7ky7x9Ad5banzPFAfmM+DGFe0A/JEbLDjKmr5KBM5x4RFohtEvZ8ECuVGUOqBWdgAjyYwsG4oRVjLnKrf/rgmbNRzSFgEWkcAye3BVwk7Dt6hh4knEl+mNfOLq+FH0011UhecOiqTcESMzQDtgQ1vJh2VchElBLjl3x/ZugAAACAAh5jGQC338t5ObP8trSlOefkx0sXmmEzUbo3Mt8mGUuGJPx8m+X0L8Xd+l5rQxytqE3SmV/RD+6REqBuPqHM8RQuqAzfjdOeg/Ajdggx1CRMTVhltZsgQoxO30cz9Qo0SdPoL+Jp1fLuaLZq7m/RmsWYvoLT3jebBlpvvQE8YlI= francois.deppierraz@nimag.net -ssh-dss AAAAB3NzaC1kc3MAAACBAJkupmdsJSDXfUy5EU5NTRBDr9Woo3w0YnB8KmnJW9ghU8C7SkWPB1fIHVe+esFfd3qWBseb83PoFX63geZJAg6bjV4/Rdn1zEoa9EO2QyUdYUen4+rpsh3vVKZ6HFNsn3+W5+kPYgE1F/N4INqkbjY3sqCkP/W1BL9+sbVVbuJFAAAAFQCfjWDk5XhvGUkPjNWWVqltBYzHtwAAAIEAg/XL7ky7x9Ad5banzPFAfmM+DGFe0A/JEbLDjKmr5KBM5x4RFohtEvZ8ECuVGUOqBWdgAjyYwsG4oRVjLnKrf/rgmbNRzSFgEWkcAye3BVwk7Dt6hh4knEl+mNfOLq+FH0011UhecOiqTcESMzQDtgQ1vJh2VchElBLjl3x/ZugAAACAAh5jGQC338t5ObP8trSlOefkx0sXmmEzUbo3Mt8mGUuGJPx8m+X0L8Xd+l5rQxytqE3SmV/RD+6REqBuPqHM8RQuqAzfjdOeg/Ajdggx1CRMTVhltZsgQoxO30cz9Qo0SdPoL+Jp1fLuaLZq7m/RmsWYvoLT3jebBlpvvQE8YlI= Francois Deppierraz -from="192.168.1.1",command="/bin/false",no-pty,no-port-forwarding ssh-dss AAAAB3NzaC1kc3MAAACBAJkupmdsJSDXfUy5EU5NTRBDr9Woo3w0YnB8KmnJW9ghU8C7SkWPB1fIHVe+esFfd3qWBseb83PoFX63geZJAg6bjV4/Rdn1zEoa9EO2QyUdYUen4+rpsh3vVKZ6HFNsn3+W5+kPYgE1F/N4INqkbjY3sqCkP/W1BL9+sbVVbuJFAAAAFQCfjWDk5XhvGUkPjNWWVqltBYzHtwAAAIEAg/XL7ky7x9Ad5banzPFAfmM+DGFe0A/JEbLDjKmr5KBM5x4RFohtEvZ8ECuVGUOqBWdgAjyYwsG4oRVjLnKrf/rgmbNRzSFgEWkcAye3BVwk7Dt6hh4knEl+mNfOLq+FH0011UhecOiqTcESMzQDtgQ1vJh2VchElBLjl3x/ZugAAACAAh5jGQC338t5ObP8trSlOefkx0sXmmEzUbo3Mt8mGUuGJPx8m+X0L8Xd+l5rQxytqE3SmV/RD+6REqBuPqHM8RQuqAzfjdOeg/Ajdggx1CRMTVhltZsgQoxO30cz9Qo0SdPoL+Jp1fLuaLZq7m/RmsWYvoLT3jebBlpvvQE8YlI= Francois Deppierraz -from="192.168.1.1, www.reductivelabs.com",command="/bin/false",no-pty,no-port-forwarding ssh-dss AAAAB3NzaC1kc3MAAACBAJkupmdsJSDXfUy5EU5NTRBDr9Woo3w0YnB8KmnJW9ghU8C7SkWPB1fIHVe+esFfd3qWBseb83PoFX63geZJAg6bjV4/Rdn1zEoa9EO2QyUdYUen4+rpsh3vVKZ6HFNsn3+W5+kPYgE1F/N4INqkbjY3sqCkP/W1BL9+sbVVbuJFAAAAFQCfjWDk5XhvGUkPjNWWVqltBYzHtwAAAIEAg/XL7ky7x9Ad5banzPFAfmM+DGFe0A/JEbLDjKmr5KBM5x4RFohtEvZ8ECuVGUOqBWdgAjyYwsG4oRVjLnKrf/rgmbNRzSFgEWkcAye3BVwk7Dt6hh4knEl+mNfOLq+FH0011UhecOiqTcESMzQDtgQ1vJh2VchElBLjl3x/ZugAAACAAh5jGQC338t5ObP8trSlOefkx0sXmmEzUbo3Mt8mGUuGJPx8m+X0L8Xd+l5rQxytqE3SmV/RD+6REqBuPqHM8RQuqAzfjdOeg/Ajdggx1CRMTVhltZsgQoxO30cz9Qo0SdPoL+Jp1fLuaLZq7m/RmsWYvoLT3jebBlpvvQE8YlI= Francois Deppierraz -ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA2Vi+TdC3iOGYcIo5vGTvC9P9rjHl9RxCuZmSfn+YDFQ35RXf0waijtjp9I7GYh6R4hBjA5z0u/Pzi95LET5NfRM0Gdc0DJyvBI7K+ALBxIT383Iz6Yz4iKxe1TEJgHGM2he4+7BHkjc3kdIZqIpZjucCk4VsXSxujO4MKKvtaKK2l+kahlLQHHw/vZkDpIgL52iGVsjW9l8RLJaKHZ4mDHJN/Q/Rzn2W4EvcdHUzwhvGMwZlm8clDwITBrSsawYtnivJrQSYcmTRqJuS8wprNDrLIhTGjrwFg5WpruUuMt6fLuCqwe6TeEL+nh3DQ4g554c5aRp3oU6LGBKTvNZGWQ== francois@korn -ssh-dss AAAAB3NzaC1kc3MAAACBAMPpCYnjywOemd8LqbbmC+bePNR3/H1rXsiFwjSLhYE3bbOpvclvOzN1DruFc34m0FopVnMkP+aubjdIYF8pijl+5hg9ggB7Kno2dl0Dd1rGN/swvmhA8OpLAQv7Qt7UnXKVho3as08zYZsrHxYFu0wlnkdbsv4cy4aXyQKd4MPVAAAAFQDSyQFWg8Qt3wU05buhZ10psoR7tQAAAIEAmAhguXwUnI3P2FF5NAW/mpJUmUERdL4pyZARUyAgpf7ezwrh9TJqrvGTQNBF97Xqaivyncm5JWQdMIsTBxEFaXZGkmBta02KnWcn447qvIh7iv8XpNL6M9flCkBEZOJ4t9El0ytTSHHaiCz8A20Et+E8evWyi1kXkFDt8ML2dGgAAACBAK0X4ympbdEjgV/ZyOc+BU22u7vOnfSOUJmyar4Ax1MIDNnoyNWKnGvxRutydQcQOKQHZEU0fE8MhPFn6nLF6CoVfEl/oz0EYz3hjV4WPFpHrF5DY/rhvNj8iuneKJ5P0dy/rG6m5qey25PnHyGFVoIRlkHJvBCJT40dHs40YEjI francois@korn -ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAut8aOSxenjOqF527dlsdHWV4MNoAsX14l9M297+SQXaQ5Z3BedIxZaoQthkDALlV/25A1COELrg9J2MqJNQc8Xe9XQOIkBQWWinUlD/BXwoOTWEy8C8zSZPHZ3getMMNhGTBO+q/O+qiJx3y5cA4MTbw2zSxukfWC87qWwcZ64UUlegIM056vPsdZWFclS9hsROVEa57YUMrehQ1EGxT4Z5j6zIopufGFiAPjZigq/vqgcAqhAKP6yu4/gwO6S9tatBeEjZ8fafvj1pmvvIplZeMr96gHE7xS3pEEQqnB3nd4RY7AF6j9kFixnsytAUO7STPh/M3pLiVQBN89TvWPQ== diff --git a/test/data/providers/ssh_authorized_key/parsed/authorized_keys1 b/test/data/providers/ssh_authorized_key/parsed/authorized_keys1 deleted file mode 100644 index 7aa0647ca..000000000 --- a/test/data/providers/ssh_authorized_key/parsed/authorized_keys1 +++ /dev/null @@ -1,3 +0,0 @@ -1024 35 167576894966720957580065952882142495543043407324667405194097438434880798807651864847570827148390962746149410384891026772700627764845955493549511618975091512997118590589399665757714186775228807376424903966072778732134483862302766419277581465932186641863495699668069439475320990051723279127881281145164415361627 francois@korn -2048 35 27332429396020032283276339339051507284036000350350092862949624519871013308460312287866673933080560923221560798334008554200019645416448528663000202951887890525621015333936122655294782671001073795264378070156670395703161543893088138531854776737799752600933431638059304355933305878665812555436198516842364330938321746086651639330436648850787370397302524667456837036413634152938122227368132322078811602953517461933179827432019932348409533535942749570969101453655028606209719023224268890314608444789012688070463327764203306501923404494017305972543000091038543051645924928018568725584728655193415567703220002707737714942757 francois@korn -from="192.168.1.1",command="/bin/false",no-pty,no-port-forwarding 2048 35 27332429396020032283276339339051507284036000350350092862949624519871013308460312287866673933080560923221560798334008554200019645416448528663000202951887890525621015333936122655294782671001073795264378070156670395703161543893088138531854776737799752600933431638059304355933305878665812555436198516842364330938321746086651639330436648850787370397302524667456837036413634152938122227368132322078811602953517461933179827432019932348409533535942749570969101453655028606209719023224268890314608444789012688070463327764203306501923404494017305972543000091038543051645924928018568725584728655193415567703220002707737714942757 francois@korn diff --git a/test/data/providers/ssh_authorized_key/parsed/authorized_keys2 b/test/data/providers/ssh_authorized_key/parsed/authorized_keys2 deleted file mode 100644 index 9bf830112..000000000 --- a/test/data/providers/ssh_authorized_key/parsed/authorized_keys2 +++ /dev/null @@ -1 +0,0 @@ -false ssh-dss AAAAB3NzaC1kc3MAAACBAJkupmdsJSDXfUy5EU5NTRBDr9Woo3w0YnB8KmnJW9ghU8C7SkWPB1fIHVe+esFfd3qWBseb83PoFX63geZJAg6bjV4/Rdn1zEoa9EO2QyUdYUen4+rpsh3vVKZ6HFNsn3+W5+kPYgE1F/N4INqkbjY3sqCkP/W1BL9+sbVVbuJFAAAAFQCfjWDk5XhvGUkPjNWWVqltBYzHtwAAAIEAg/XL7ky7x9Ad5banzPFAfmM+DGFe0A/JEbLDjKmr5KBM5x4RFohtEvZ8ECuVGUOqBWdgAjyYwsG4oRVjLnKrf/rgmbNRzSFgEWkcAye3BVwk7Dt6hh4knEl+mNfOLq+FH0011UhecOiqTcESMzQDtgQ1vJh2VchElBLjl3x/ZugAAACAAh5jGQC338t5ObP8trSlOefkx0sXmmEzUbo3Mt8mGUuGJPx8m+X0L8Xd+l5rQxytqE3SmV/RD+6REqBuPqHM8RQuqAzfjdOeg/Ajdggx1CRMTVhltZsgQoxO30cz9Qo0SdPoL+Jp1fLuaLZq7m/RmsWYvoLT3jebBlpvvQE8YlI= Francois Deppierraz diff --git a/test/data/reports/1.yaml b/test/data/reports/1.yaml deleted file mode 100644 index bc72b8241..000000000 --- a/test/data/reports/1.yaml +++ /dev/null @@ -1,108 +0,0 @@ ---- !ruby/object:Puppet::Transaction::Report -host: culain.madstop.com -logs: -- !ruby/object:Puppet::Log - level: :notice - message: executed successfully - objectsource: true - source: //culain.madstop.com/puppetserver/exec=/bin/echo testing/returns - tags: - - :puppetserver - - :puppetserver - - :basenode - - :"culain.madstop.com" - - :puppet - - :exec - - :returns - time: 2006-09-21 13:06:59.867782 -05:00 -- !ruby/object:Puppet::Log - level: :notice - message: ensure changed 'stopped' to 'running' - objectsource: true - source: //culain.madstop.com/mailserver/service=spamassassin/ensure - tags: - - :mailserver - - :mailserver - - :basenode - - :"culain.madstop.com" - - :puppet - - :service - - :ensure - time: 2006-09-21 13:07:01.336511 -05:00 -- !ruby/object:Puppet::Log - level: :notice - message: ensure changed 'stopped' to 'running' - objectsource: true - source: //culain.madstop.com/mailserver/service=courier-imap-ssl/ensure - tags: - - :mailserver - - :mailserver - - :basenode - - :"culain.madstop.com" - - :puppet - - :service - - :ensure - time: 2006-09-21 13:07:01.573506 -05:00 -- !ruby/object:Puppet::Log - level: :notice - message: ensure changed 'stopped' to 'running' - objectsource: true - source: //culain.madstop.com/mailserver/service=courier-authdaemon/ensure - tags: - - :mailserver - - :mailserver - - :basenode - - :"culain.madstop.com" - - :puppet - - :service - - :ensure - time: 2006-09-21 13:07:01.680440 -05:00 -metrics: - time: !ruby/object:Puppet::Metric - label: Time - name: time - values: - - - :config_retrieval - - Config retrieval - - 2.26467204093933 - - - :total - - Total - - 21.7894113063812 - changes: !ruby/object:Puppet::Metric - label: Changes - name: changes - values: - - - :total - - Total - - 4 - objects: !ruby/object:Puppet::Metric - label: Objects - name: objects - values: - - - :scheduled - - Scheduled - - 78 - - - :applied - - Applied - - 4 - - - :restarted - - Restarted - - 0 - - - :skipped - - Skipped - - 0 - - - :failed_restarts - - Failed restarts - - 0 - - - :out_of_sync - - Out of sync - - 4 - - - :failed - - Failed - - 0 - - - :total - - Total - - 79 -records: {} - -time: 2006-09-21 13:07:06.825337 -05:00 diff --git a/test/data/reports/2.yaml b/test/data/reports/2.yaml deleted file mode 100644 index 3805e90f5..000000000 --- a/test/data/reports/2.yaml +++ /dev/null @@ -1,108 +0,0 @@ ---- !ruby/object:Puppet::Transaction::Report -host: culain.madstop.com -logs: -- !ruby/object:Puppet::Log - level: :notice - message: executed successfully - objectsource: true - source: //culain.madstop.com/puppetserver/exec=/bin/echo testing/returns - tags: - - :puppetserver - - :puppetserver - - :basenode - - :"culain.madstop.com" - - :puppet - - :exec - - :returns - time: 2006-09-21 13:06:59.867782 -05:00 -- !ruby/object:Puppet::Log - level: :notice - message: ensure changed 'stopped' to 'running' - objectsource: true - source: //culain.madstop.com/mailserver/service=spamassassin/ensure - tags: - - :mailserver - - :mailserver - - :basenode - - :"culain.madstop.com" - - :puppet - - :service - - :ensure - time: 2006-09-21 13:07:01.336511 -05:00 -- !ruby/object:Puppet::Log - level: :notice - message: ensure changed 'stopped' to 'running' - objectsource: true - source: //culain.madstop.com/mailserver/service=courier-imap-ssl/ensure - tags: - - :mailserver - - :mailserver - - :basenode - - :"culain.madstop.com" - - :puppet - - :service - - :ensure - time: 2006-09-21 13:07:01.573506 -05:00 -- !ruby/object:Puppet::Log - level: :notice - message: ensure changed 'stopped' to 'running' - objectsource: true - source: //culain.madstop.com/mailserver/service=courier-authdaemon/ensure - tags: - - :mailserver - - :mailserver - - :basenode - - :"culain.madstop.com" - - :puppet - - :service - - :ensure - time: 2006-09-21 13:07:01.680440 -05:00 -metrics: - time: !ruby/object:Puppet::Metric - label: Time - name: time - values: - - - :config_retrieval - - Config retrieval - - 2.26467204093933 - - - :total - - Total - - 21.7894113063812 - changes: !ruby/object:Puppet::Metric - label: Changes - name: changes - values: - - - :total - - Total - - 4 - objects: !ruby/object:Puppet::Metric - label: Objects - name: objects - values: - - - :scheduled - - Scheduled - - 78 - - - :applied - - Applied - - 4 - - - :restarted - - Restarted - - 0 - - - :skipped - - Skipped - - 0 - - - :failed_restarts - - Failed restarts - - 0 - - - :out_of_sync - - Out of sync - - 4 - - - :failed - - Failed - - 0 - - - :total - - Total - - 79 -records: {} - -time: 2006-09-21 13:07:06.825337 -05:00 diff --git a/test/data/reports/tagmail_failers.conf b/test/data/reports/tagmail_failers.conf deleted file mode 100644 index d116b5fc7..000000000 --- a/test/data/reports/tagmail_failers.conf +++ /dev/null @@ -1,3 +0,0 @@ -tag: -: abuse@domain.com -invalid!tag: abuse@domain.com diff --git a/test/data/reports/tagmail_passers.conf b/test/data/reports/tagmail_passers.conf deleted file mode 100644 index ae6d2e7f2..000000000 --- a/test/data/reports/tagmail_passers.conf +++ /dev/null @@ -1,30 +0,0 @@ -# A comment -# or maybe two -# plus some blank lines - # with some blanks plus a comment - -# a simple tag report -one: abuse@domain.com - -# with weird spacing - one : abuse@domain.com - -# with multiple tags -one, two: abuse@domain.com - -# again with the weird syntax - one , two : abuse@domain.com - -# Some negations -one, !two: abuse@domain.com - -# some oddly-formatted tags -one, two-three, !four-five, !six: abuse@domain.com - -# multiple addresses -one, two: abuse@domain.com, testing@domain.com - -# and with weird spacing -one, two: abuse@domain.com , testing@domain.com - -# and a trailing comment diff --git a/test/data/types/hosts/1 b/test/data/types/hosts/1 deleted file mode 100644 index 286dcb72d..000000000 --- a/test/data/types/hosts/1 +++ /dev/null @@ -1,3 +0,0 @@ -# Do not remove the following line, or various programs -# that require network functionality will fail. -127.0.0.1 hostname.domain.net hostname localhost.localdomain localhost diff --git a/test/data/types/hosts/2 b/test/data/types/hosts/2 deleted file mode 100644 index 79b311b93..000000000 --- a/test/data/types/hosts/2 +++ /dev/null @@ -1,13 +0,0 @@ -127.0.0.1 localhost -192.168.0.3 culain.madstop.com culain -192.168.0.100 yaytest - -# The following lines are desirable for IPv6 capable hosts -# (added automatically by netbase upgrade) - -::1 ip6-localhost ip6-loopback -fe00::0 ip6-localnet -ff00::0 ip6-mcastprefix -ff02::1 ip6-allnodes -ff02::2 ip6-allrouters -ff02::3 ip6-allhosts diff --git a/test/data/types/hosts/solaris b/test/data/types/hosts/solaris deleted file mode 100644 index d62906d3c..000000000 --- a/test/data/types/hosts/solaris +++ /dev/null @@ -1,5 +0,0 @@ -# -# Internet host table -# -127.0.0.1 localhost -192.168.0.50 sol10b diff --git a/test/data/types/mailalias/file1 b/test/data/types/mailalias/file1 deleted file mode 100644 index a7cbd4ebf..000000000 --- a/test/data/types/mailalias/file1 +++ /dev/null @@ -1,183 +0,0 @@ -# This is the aliases file - it says who gets mail for whom. -# It was originally generated by `eximconfig', part of the exim package -# distributed with Debian, but it may edited by the mail system administrator. -# This file originally generated by eximconfig at Tue Jul 12345 12345:12345:12345 CDT 12345 -# See exim info section for details of the things that can be configured here. - -# Local aliases -eight-phone: 12345@domain.com -eight-pager: eight-phone -eight-sms: eight-phone -cindy-phone: 12345@domain.com -cindy-pager: cindy-phone -cindy-sms: cindy-phone - -ben-phone: 12345@txt.att.net -ben: eight -ajax: eight - -teyo: teyo@brainfinger.org - -#----------------# -# Family aliases # -#----------------# - -smithes: eight,six,two,seven,isaiah,kristen,cindy,three -smith: smithes -#morris: morrisbpaddlin@hotmail.com -#six: grendelwench@hotmail.com -two: twosmith@thirddomain.com -seven: sevensmith@thirddomain.com -isaiah: ismith@thirddomain.com -kristen: kristenwells@thirddomain.com -one-phone: 12345@otherdomain.com -one-pager: one-phone -seven-phone: 12345@otherdomain.com -seven-pager: seven-phone -seven-sms: seven-phone -ike-phone: 12345@otherdomain.com -ike-page: ike-phone -ike-sms: ike-phone -six-phone: 12345@otherdomain.com -six-page: six-phone -six-sms: six-phone -three: tferguson@mmc.edu -three-phone: 12345@otherdomain.com -three-page: three-phone -three-sms: three-phone -four-phone: 12345@otherdomain.com -four-page: four-phone -four-sms: four-phone -two-phone: 12345@otherdomain.com -two-page: two-phone -two-sms: two-phone -five-phone: 12345@otherdomain.com -five-page: five-phone -five-sms: five-phone - -#----------------# -# work aliases # -#----------------# -consulting: eight -svn: eight -info: eight -blog: eight -paypal: eight -trac: puppet-dev -dev: eight -sales: eight -training: eight -support: eight -faq: eight -puppet-docs: eight,nine@domain.com,ten@domain.com,eleven@other.com -docs: puppet-docs -jobs: eight - -# System stuff -postmaster: eight -root: eight - -daemon: root -bin: root -sys: root -sync: root -games: root -man: root -lp: root -mail: root -news: root -uucp: root -proxy: root -postgres: root -www-data: root -backup: root -operator: root -list: root -irc: root -gnats: root -nobody: root - -filemaker: eight - -hostmaster: root -usenet: root -webmaster: root -www: root -ftp: root -abuse: root -noc: root -security: root - -mailer-daemon: postmaster - -tap: one@two.com,two@three.com,three@four.com,four@five.com,five@six.com - -mailman: "|/var/lib/mailman/mail/mailman post mailman" -mailman-admin: "|/var/lib/mailman/mail/mailman admin mailman" -mailman-bounces: "|/var/lib/mailman/mail/mailman bounces mailman" -mailman-confirm: "|/var/lib/mailman/mail/mailman confirm mailman" -mailman-join: "|/var/lib/mailman/mail/mailman join mailman" -mailman-leave: "|/var/lib/mailman/mail/mailman leave mailman" -mailman-owner: "|/var/lib/mailman/mail/mailman owner mailman" -mailman-request: "|/var/lib/mailman/mail/mailman request mailman" -mailman-subscribe: "|/var/lib/mailman/mail/mailman subscribe mailman" -mailman-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe mailman" - -puppet-dev: "|/var/lib/mailman/mail/mailman post puppet-dev" -puppet-dev-admin: "|/var/lib/mailman/mail/mailman admin puppet-dev" -puppet-dev-bounces: "|/var/lib/mailman/mail/mailman bounces puppet-dev" -puppet-dev-confirm: "|/var/lib/mailman/mail/mailman confirm puppet-dev" -puppet-dev-join: "|/var/lib/mailman/mail/mailman join puppet-dev" -puppet-dev-leave: "|/var/lib/mailman/mail/mailman leave puppet-dev" -puppet-dev-owner: "|/var/lib/mailman/mail/mailman owner puppet-dev" -puppet-dev-request: "|/var/lib/mailman/mail/mailman request puppet-dev" -puppet-dev-subscribe: "|/var/lib/mailman/mail/mailman subscribe puppet-dev" -puppet-dev-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe puppet-dev" - -## puppet-commit mailing list -puppet-commit: "|/var/lib/mailman/mail/mailman post puppet-commit" -puppet-commit-admin: "|/var/lib/mailman/mail/mailman admin puppet-commit" -puppet-commit-bounces: "|/var/lib/mailman/mail/mailman bounces puppet-commit" -puppet-commit-confirm: "|/var/lib/mailman/mail/mailman confirm puppet-commit" -puppet-commit-join: "|/var/lib/mailman/mail/mailman join puppet-commit" -puppet-commit-leave: "|/var/lib/mailman/mail/mailman leave puppet-commit" -puppet-commit-owner: "|/var/lib/mailman/mail/mailman owner puppet-commit" -puppet-commit-request: "|/var/lib/mailman/mail/mailman request puppet-commit" -puppet-commit-subscribe: "|/var/lib/mailman/mail/mailman subscribe puppet-commit" -puppet-commit-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe puppet-commit" - -## bnageek mailing list -bnageek: "|/var/lib/mailman/mail/mailman post bnageek" -bnageek-admin: "|/var/lib/mailman/mail/mailman admin bnageek" -bnageek-bounces: "|/var/lib/mailman/mail/mailman bounces bnageek" -bnageek-confirm: "|/var/lib/mailman/mail/mailman confirm bnageek" -bnageek-join: "|/var/lib/mailman/mail/mailman join bnageek" -bnageek-leave: "|/var/lib/mailman/mail/mailman leave bnageek" -bnageek-owner: "|/var/lib/mailman/mail/mailman owner bnageek" -bnageek-request: "|/var/lib/mailman/mail/mailman request bnageek" -bnageek-subscribe: "|/var/lib/mailman/mail/mailman subscribe bnageek" -bnageek-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe bnageek" - -## puppet-users mailing list -puppet-users: "|/var/lib/mailman/mail/mailman post puppet-users" -puppet-users-admin: "|/var/lib/mailman/mail/mailman admin puppet-users" -puppet-users-bounces: "|/var/lib/mailman/mail/mailman bounces puppet-users" -puppet-users-confirm: "|/var/lib/mailman/mail/mailman confirm puppet-users" -puppet-users-join: "|/var/lib/mailman/mail/mailman join puppet-users" -puppet-users-leave: "|/var/lib/mailman/mail/mailman leave puppet-users" -puppet-users-owner: "|/var/lib/mailman/mail/mailman owner puppet-users" -puppet-users-request: "|/var/lib/mailman/mail/mailman request puppet-users" -puppet-users-subscribe: "|/var/lib/mailman/mail/mailman subscribe puppet-users" -puppet-users-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe puppet-users" - -## puppet-bugs mailing list -puppet-bugs: "|/var/lib/mailman/mail/mailman post puppet-bugs" -puppet-bugs-admin: "|/var/lib/mailman/mail/mailman admin puppet-bugs" -puppet-bugs-bounces: "|/var/lib/mailman/mail/mailman bounces puppet-bugs" -puppet-bugs-confirm: "|/var/lib/mailman/mail/mailman confirm puppet-bugs" -puppet-bugs-join: "|/var/lib/mailman/mail/mailman join puppet-bugs" -puppet-bugs-leave: "|/var/lib/mailman/mail/mailman leave puppet-bugs" -puppet-bugs-owner: "|/var/lib/mailman/mail/mailman owner puppet-bugs" -puppet-bugs-request: "|/var/lib/mailman/mail/mailman request puppet-bugs" -puppet-bugs-subscribe: "|/var/lib/mailman/mail/mailman subscribe puppet-bugs" -puppet-bugs-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe puppet-bugs" diff --git a/test/data/types/mount/freebsd.fstab b/test/data/types/mount/freebsd.fstab deleted file mode 100644 index a41104236..000000000 --- a/test/data/types/mount/freebsd.fstab +++ /dev/null @@ -1,7 +0,0 @@ -# Device Mountpoint FStype Options Dump Pass# -/dev/ad0s1b none swap sw 0 0 -/dev/ad0s1a / ufs rw 1 1 -/dev/ad0s1e /tmp ufs rw 2 2 -/dev/ad0s1f /usr ufs rw 2 2 -/dev/ad0s1d /var ufs rw 2 2 -/dev/acd0 /cdrom cd9660 ro,noauto 0 0 diff --git a/test/data/types/mount/linux.fstab b/test/data/types/mount/linux.fstab deleted file mode 100644 index c94ec7fa8..000000000 --- a/test/data/types/mount/linux.fstab +++ /dev/null @@ -1,12 +0,0 @@ -# A sample fstab, typical for a Fedora system -/dev/vg00/lv00 / ext3 defaults 1 1 -LABEL=/boot /boot ext3 defaults 1 2 -devpts /dev/pts devpts gid=5,mode=620 0 -tmpfs /dev/shm tmpfs defaults 0 -LABEL=/home /home ext3 defaults 1 2 -/home /homes auto bind 0 2 -proc /proc proc defaults 0 0 -/dev/vg00/lv01 /spare ext3 defaults 1 2 -sysfs /sys sysfs defaults 0 0 -LABEL=SWAP-hda6 swap swap defaults 0 0 -/dev/sda1 /usr xfs noatime 0 0 diff --git a/test/data/types/mount/solaris.fstab b/test/data/types/mount/solaris.fstab deleted file mode 100644 index 348b9d50b..000000000 --- a/test/data/types/mount/solaris.fstab +++ /dev/null @@ -1,12 +0,0 @@ -#device device mount FS fsck mount mount -#to mount to fsck point type pass at boot options -# -fd - /dev/fd fd - no - -/proc - /proc proc - no - -/dev/dsk/c0d0s0 /dev/rdsk/c0d0s0 / ufs 1 no - -/dev/dsk/c0d0p0:boot - /boot pcfs - no - -/devices - /devices devfs - no - -ctfs - /system/contract ctfs - no - -objfs - /system/object objfs - no - -#swap - /tmp tmpfs - yes - -/dev/dsk/c0d0s2 /dev/rdsk/c0d0s2 /usr ufs 1 no - diff --git a/test/data/types/port/1 b/test/data/types/port/1 deleted file mode 100644 index 47da837f0..000000000 --- a/test/data/types/port/1 +++ /dev/null @@ -1,533 +0,0 @@ -# Network services, Internet style -# -# Note that it is presently the policy of IANA to assign a single well-known -# port number for both TCP and UDP; hence, officially ports have two entries -# even if the protocol doesn't support UDP operations. -# -# Updated from http://www.iana.org/assignments/port-numbers and other -# sources like http://www.freebsd.org/cgi/cvsweb.cgi/src/etc/services . -# New ports will be added on request if they have been officially assigned -# by IANA and used in the real-world or are needed by a debian package. -# If you need a huge list of used numbers please install the nmap package. - -tcpmux 1/tcp # TCP port service multiplexer -echo 7/tcp -echo 7/udp -discard 9/tcp sink null -discard 9/udp sink null -systat 11/tcp users -daytime 13/tcp -daytime 13/udp -netstat 15/tcp -qotd 17/tcp quote -msp 18/tcp # message send protocol -msp 18/udp -chargen 19/tcp ttytst source -chargen 19/udp ttytst source -ftp-data 20/tcp -ftp 21/tcp -fsp 21/udp fspd -ssh 22/tcp # SSH Remote Login Protocol -ssh 22/udp -telnet 23/tcp -smtp 25/tcp mail -time 37/tcp timserver -time 37/udp timserver -rlp 39/udp resource # resource location -nameserver 42/tcp name # IEN 116 -whois 43/tcp nicname -tacacs 49/tcp # Login Host Protocol (TACACS) -tacacs 49/udp -re-mail-ck 50/tcp # Remote Mail Checking Protocol -re-mail-ck 50/udp -domain 53/tcp nameserver # name-domain server -domain 53/udp nameserver -mtp 57/tcp # deprecated -tacacs-ds 65/tcp # TACACS-Database Service -tacacs-ds 65/udp -bootps 67/tcp # BOOTP server -bootps 67/udp -bootpc 68/tcp # BOOTP client -bootpc 68/udp -tftp 69/udp -gopher 70/tcp # Internet Gopher -gopher 70/udp -rje 77/tcp netrjs -finger 79/tcp -www 80/tcp http # WorldWideWeb HTTP -www 80/udp # HyperText Transfer Protocol -link 87/tcp ttylink -kerberos 88/tcp kerberos5 krb5 kerberos-sec # Kerberos v5 -kerberos 88/udp kerberos5 krb5 kerberos-sec # Kerberos v5 -supdup 95/tcp -hostnames 101/tcp hostname # usually from sri-nic -iso-tsap 102/tcp tsap # part of ISODE -acr-nema 104/tcp dicom # Digital Imag. & Comm. 300 -acr-nema 104/udp dicom # Digital Imag. & Comm. 300 -csnet-ns 105/tcp cso-ns # also used by CSO name server -csnet-ns 105/udp cso-ns -rtelnet 107/tcp # Remote Telnet -rtelnet 107/udp -pop2 109/tcp postoffice pop-2 # POP version 2 -pop2 109/udp pop-2 -pop3 110/tcp pop-3 # POP version 3 -pop3 110/udp pop-3 -sunrpc 111/tcp portmapper # RPC 4.0 portmapper -sunrpc 111/udp portmapper -auth 113/tcp authentication tap ident -sftp 115/tcp -uucp-path 117/tcp -nntp 119/tcp readnews untp # USENET News Transfer Protocol -ntp 123/tcp -ntp 123/udp # Network Time Protocol -pwdgen 129/tcp # PWDGEN service -pwdgen 129/udp # PWDGEN service -loc-srv 135/tcp epmap # Location Service -loc-srv 135/udp epmap -netbios-ns 137/tcp # NETBIOS Name Service -netbios-ns 137/udp -netbios-dgm 138/tcp # NETBIOS Datagram Service -netbios-dgm 138/udp -netbios-ssn 139/tcp # NETBIOS session service -netbios-ssn 139/udp -imap2 143/tcp imap # Interim Mail Access P 2 and 4 -imap2 143/udp imap -snmp 161/tcp # Simple Net Mgmt Protocol -snmp 161/udp # Simple Net Mgmt Protocol -snmp-trap 162/tcp snmptrap # Traps for SNMP -snmp-trap 162/udp snmptrap # Traps for SNMP -cmip-man 163/tcp # ISO mgmt over IP (CMOT) -cmip-man 163/udp -cmip-agent 164/tcp -cmip-agent 164/udp -mailq 174/tcp # Mailer transport queue for Zmailer -mailq 174/udp # Mailer transport queue for Zmailer -xdmcp 177/tcp # X Display Mgr. Control Proto -xdmcp 177/udp -nextstep 178/tcp NeXTStep NextStep # NeXTStep window -nextstep 178/udp NeXTStep NextStep # server -bgp 179/tcp # Border Gateway Protocol -bgp 179/udp -prospero 191/tcp # Cliff Neuman's Prospero -prospero 191/udp -irc 194/tcp # Internet Relay Chat -irc 194/udp -smux 199/tcp # SNMP Unix Multiplexer -smux 199/udp -at-rtmp 201/tcp # AppleTalk routing -at-rtmp 201/udp -at-nbp 202/tcp # AppleTalk name binding -at-nbp 202/udp -at-echo 204/tcp # AppleTalk echo -at-echo 204/udp -at-zis 206/tcp # AppleTalk zone information -at-zis 206/udp -qmtp 209/tcp # Quick Mail Transfer Protocol -qmtp 209/udp # Quick Mail Transfer Protocol -z3950 210/tcp wais # NISO Z39.50 database -z3950 210/udp wais -ipx 213/tcp # IPX -ipx 213/udp -imap3 220/tcp # Interactive Mail Access -imap3 220/udp # Protocol v3 -pawserv 345/tcp # Perf Analysis Workbench -pawserv 345/udp -zserv 346/tcp # Zebra server -zserv 346/udp -fatserv 347/tcp # Fatmen Server -fatserv 347/udp -rpc2portmap 369/tcp -rpc2portmap 369/udp # Coda portmapper -codaauth2 370/tcp -codaauth2 370/udp # Coda authentication server -clearcase 371/tcp Clearcase -clearcase 371/udp Clearcase -ulistserv 372/tcp # UNIX Listserv -ulistserv 372/udp -ldap 389/tcp # Lightweight Directory Access Protocol -ldap 389/udp -imsp 406/tcp # Interactive Mail Support Protocol -imsp 406/udp -https 443/tcp # http protocol over TLS/SSL -https 443/udp -snpp 444/tcp # Simple Network Paging Protocol -snpp 444/udp -microsoft-ds 445/tcp # Microsoft Naked CIFS -microsoft-ds 445/udp -saft 487/tcp # Simple Asynchronous File Transfer -saft 487/udp -isakmp 500/tcp # IPsec - Internet Security Association -isakmp 500/udp # and Key Management Protocol -rtsp 554/tcp # Real Time Stream Control Protocol -rtsp 554/udp # Real Time Stream Control Protocol -nqs 607/tcp # Network Queuing system -nqs 607/udp -npmp-local 610/tcp dqs313_qmaster # npmp-local / DQS -npmp-local 610/udp dqs313_qmaster -npmp-gui 611/tcp dqs313_execd # npmp-gui / DQS -npmp-gui 611/udp dqs313_execd -hmmp-ind 612/tcp dqs313_intercell # HMMP Indication / DQS -hmmp-ind 612/udp dqs313_intercell -ipp 631/tcp # Internet Printing Protocol -ipp 631/udp -# -# UNIX specific services -# -exec 512/tcp -biff 512/udp comsat -login 513/tcp -who 513/udp whod -shell 514/tcp cmd # no passwords used -syslog 514/udp -printer 515/tcp spooler # line printer spooler -talk 517/udp -ntalk 518/udp -route 520/udp router routed # RIP -timed 525/udp timeserver -tempo 526/tcp newdate -courier 530/tcp rpc -conference 531/tcp chat -netnews 532/tcp readnews -netwall 533/udp # for emergency broadcasts -gdomap 538/tcp # GNUstep distributed objects -gdomap 538/udp -uucp 540/tcp uucpd # uucp daemon -klogin 543/tcp # Kerberized `rlogin' (v5) -kshell 544/tcp krcmd # Kerberized `rsh' (v5) -afpovertcp 548/tcp # AFP over TCP -afpovertcp 548/udp -remotefs 556/tcp rfs_server rfs # Brunhoff remote filesystem -nntps 563/tcp snntp # NNTP over SSL -nntps 563/udp snntp -submission 587/tcp # Submission [RFC2476] -submission 587/udp -ldaps 636/tcp # LDAP over SSL -ldaps 636/udp -tinc 655/tcp # tinc control port -tinc 655/udp -silc 706/tcp -silc 706/udp -kerberos-adm 749/tcp # Kerberos `kadmin' (v5) -# -webster 765/tcp # Network dictionary -webster 765/udp -rsync 873/tcp -rsync 873/udp -ftps-data 989/tcp # FTP over SSL (data) -ftps 990/tcp -telnets 992/tcp # Telnet over SSL -telnets 992/udp -imaps 993/tcp # IMAP over SSL -imaps 993/udp -ircs 994/tcp # IRC over SSL -ircs 994/udp -pop3s 995/tcp # POP-3 over SSL -pop3s 995/udp -# -# From ``Assigned Numbers'': -# -#> The Registered Ports are not controlled by the IANA and on most systems -#> can be used by ordinary user processes or programs executed by ordinary -#> users. -# -#> Ports are used in the TCP [45,106] to name the ends of logical -#> connections which carry long term conversations. For the purpose of -#> providing services to unknown callers, a service contact port is -#> defined. This list specifies the port used by the server process as its -#> contact port. While the IANA can not control uses of these ports it -#> does register or list uses of these ports as a convienence to the -#> community. -# -socks 1080/tcp # socks proxy server -socks 1080/udp -proofd 1093/tcp -proofd 1093/udp -rootd 1094/tcp -rootd 1094/udp -openvpn 1194/tcp -openvpn 1194/udp -rmiregistry 1099/tcp # Java RMI Registry -rmiregistry 1099/udp -kazaa 1214/tcp -kazaa 1214/udp -nessus 1241/tcp # Nessus vulnerability -nessus 1241/udp # assessment scanner -lotusnote 1352/tcp lotusnotes # Lotus Note -lotusnote 1352/udp lotusnotes -ms-sql-s 1433/tcp # Microsoft SQL Server -ms-sql-s 1433/udp -ms-sql-m 1434/tcp # Microsoft SQL Monitor -ms-sql-m 1434/udp -ingreslock 1524/tcp -ingreslock 1524/udp -prospero-np 1525/tcp # Prospero non-privileged -prospero-np 1525/udp -datametrics 1645/tcp old-radius -datametrics 1645/udp old-radius -sa-msg-port 1646/tcp old-radacct -sa-msg-port 1646/udp old-radacct -kermit 1649/tcp -kermit 1649/udp -l2f 1701/tcp l2tp -l2f 1701/udp l2tp -radius 1812/tcp -radius 1812/udp -radius-acct 1813/tcp radacct # Radius Accounting -radius-acct 1813/udp radacct -unix-status 1957/tcp # remstats unix-status server -log-server 1958/tcp # remstats log server -remoteping 1959/tcp # remstats remoteping server -rtcm-sc104 2101/tcp # RTCM SC-104 IANA 1/29/99 -rtcm-sc104 2101/udp -cvspserver 2401/tcp # CVS client/server operations -cvspserver 2401/udp -venus 2430/tcp # codacon port -venus 2430/udp # Venus callback/wbc interface -venus-se 2431/tcp # tcp side effects -venus-se 2431/udp # udp sftp side effect -codasrv 2432/tcp # not used -codasrv 2432/udp # server port -codasrv-se 2433/tcp # tcp side effects -codasrv-se 2433/udp # udp sftp side effect -mon 2583/tcp # MON -mon 2583/udp -dict 2628/tcp # Dictionary server -dict 2628/udp -gpsd 2947/tcp -gpsd 2947/udp -gds_db 3050/tcp # InterBase server -gds_db 3050/udp -icpv2 3130/tcp icp # Internet Cache Protocol -icpv2 3130/udp icp -mysql 3306/tcp -mysql 3306/udp -nut 3493/tcp # Network UPS Tools -nut 3493/udp -distcc 3632/tcp # distributed compiler -distcc 3632/udp -daap 3689/tcp # Digital Audio Access Protocol -daap 3689/udp -svn 3690/tcp subversion # Subversion protocol -svn 3690/udp subversion -iax 4569/tcp # Inter-Asterisk eXchange -iax 4569/udp -radmin-port 4899/tcp # RAdmin Port -radmin-port 4899/udp -rfe 5002/udp # Radio Free Ethernet -rfe 5002/tcp -sip 5060/tcp # Session Initiation Protocol -sip 5060/udp -sip-tls 5061/tcp -sip-tls 5061/udp -xmpp-client 5222/tcp jabber-client # Jabber Client Connection -xmpp-client 5222/udp jabber-client -xmpp-server 5269/tcp jabber-server # Jabber Server Connection -xmpp-server 5269/udp jabber-server -cfengine 5308/tcp -cfengine 5308/udp -postgresql 5432/tcp postgres # PostgreSQL Database -postgresql 5432/udp postgres -x11 6000/tcp x11-0 # X Window System -x11 6000/udp x11-0 -x11-1 6001/tcp -x11-1 6001/udp -x11-2 6002/tcp -x11-2 6002/udp -x11-3 6003/tcp -x11-3 6003/udp -x11-4 6004/tcp -x11-4 6004/udp -x11-5 6005/tcp -x11-5 6005/udp -x11-6 6006/tcp -x11-6 6006/udp -x11-7 6007/tcp -x11-7 6007/udp -gnutella-svc 6346/tcp # gnutella -gnutella-svc 6346/udp -gnutella-rtr 6347/tcp # gnutella -gnutella-rtr 6347/udp -afs3-fileserver 7000/tcp bbs # file server itself -afs3-fileserver 7000/udp bbs -afs3-callback 7001/tcp # callbacks to cache managers -afs3-callback 7001/udp -afs3-prserver 7002/tcp # users & groups database -afs3-prserver 7002/udp -afs3-vlserver 7003/tcp # volume location database -afs3-vlserver 7003/udp -afs3-kaserver 7004/tcp # AFS/Kerberos authentication -afs3-kaserver 7004/udp -afs3-volser 7005/tcp # volume managment server -afs3-volser 7005/udp -afs3-errors 7006/tcp # error interpretation service -afs3-errors 7006/udp -afs3-bos 7007/tcp # basic overseer process -afs3-bos 7007/udp -afs3-update 7008/tcp # server-to-server updater -afs3-update 7008/udp -afs3-rmtsys 7009/tcp # remote cache manager service -afs3-rmtsys 7009/udp -font-service 7100/tcp xfs # X Font Service -font-service 7100/udp xfs -bacula-dir 9101/tcp # Bacula Director -bacula-dir 9101/udp -bacula-fd 9102/tcp # Bacula File Daemon -bacula-fd 9102/udp -bacula-sd 9103/tcp # Bacula Storage Daemon -bacula-sd 9103/udp -amanda 10080/tcp # amanda backup services -amanda 10080/udp -hkp 11371/tcp # OpenPGP HTTP Keyserver -hkp 11371/udp # OpenPGP HTTP Keyserver -bprd 13720/tcp # VERITAS NetBackup -bprd 13720/udp -bpdbm 13721/tcp # VERITAS NetBackup -bpdbm 13721/udp -bpjava-msvc 13722/tcp # BP Java MSVC Protocol -bpjava-msvc 13722/udp -vnetd 13724/tcp # Veritas Network Utility -vnetd 13724/udp -bpcd 13782/tcp # VERITAS NetBackup -bpcd 13782/udp -vopied 13783/tcp # VERITAS NetBackup -vopied 13783/udp -wnn6 22273/tcp # wnn6 -wnn6 22273/udp - -# -# Datagram Delivery Protocol services -# -rtmp 1/ddp # Routing Table Maintenance Protocol -nbp 2/ddp # Name Binding Protocol -echo 4/ddp # AppleTalk Echo Protocol -zip 6/ddp # Zone Information Protocol - -#========================================================================= -# The remaining port numbers are not as allocated by IANA. -#========================================================================= - -# Kerberos (Project Athena/MIT) services -# Note that these are for Kerberos v4, and are unofficial. Sites running -# v4 should uncomment these and comment out the v5 entries above. -# -kerberos4 750/udp kerberos-iv kdc # Kerberos (server) -kerberos4 750/tcp kerberos-iv kdc -kerberos_master 751/udp # Kerberos authentication -kerberos_master 751/tcp -passwd_server 752/udp # Kerberos passwd server -krb_prop 754/tcp krb5_prop hprop # Kerberos slave propagation -krbupdate 760/tcp kreg # Kerberos registration -kpasswd 761/tcp kpwd # Kerberos "passwd" -swat 901/tcp # swat -kpop 1109/tcp # Pop with Kerberos -knetd 2053/tcp # Kerberos de-multiplexor -zephyr-srv 2102/udp # Zephyr server -zephyr-clt 2103/udp # Zephyr serv-hm connection -zephyr-hm 2104/udp # Zephyr hostmanager -eklogin 2105/tcp # Kerberos encrypted rlogin -# Hmmm. Are we using Kv4 or Kv5 now? Worrying. -# The following is probably Kerberos v5 --- ajt@debian.org (11/02/2000) -kx 2111/tcp # X over Kerberos -iprop 2121/tcp # incremental propagation -# -# Unofficial but necessary (for NetBSD) services -# -supfilesrv 871/tcp # SUP server -supfiledbg 1127/tcp # SUP debugging - -# -# Services added for the Debian GNU/Linux distribution -# -linuxconf 98/tcp # LinuxConf -poppassd 106/tcp # Eudora -poppassd 106/udp -ssmtp 465/tcp smtps # SMTP over SSL -moira_db 775/tcp # Moira database -moira_update 777/tcp # Moira update protocol -moira_ureg 779/udp # Moira user registration -spamd 783/tcp # spamassassin daemon -omirr 808/tcp omirrd # online mirror -omirr 808/udp omirrd -customs 1001/tcp # pmake customs server -customs 1001/udp -skkserv 1178/tcp # skk jisho server port -predict 1210/udp # predict -- satellite tracking -rmtcfg 1236/tcp # Gracilis Packeten remote config server -wipld 1300/tcp # Wipl network monitor -xtel 1313/tcp # french minitel -xtelw 1314/tcp # french minitel -support 1529/tcp # GNATS -sieve 2000/tcp # Sieve mail filter daemon -cfinger 2003/tcp # GNU Finger -ndtp 2010/tcp # Network dictionary transfer protocol -frox 2121/tcp # frox: caching ftp proxy -ninstall 2150/tcp # ninstall service -ninstall 2150/udp -zebrasrv 2600/tcp # zebra service -zebra 2601/tcp # zebra vty -ripd 2602/tcp # ripd vty (zebra) -ripngd 2603/tcp # ripngd vty (zebra) -ospfd 2604/tcp # ospfd vty (zebra) -bgpd 2605/tcp # bgpd vty (zebra) -ospf6d 2606/tcp # ospf6d vty (zebra) -ospfapi 2607/tcp # OSPF-API -isisd 2608/tcp # ISISd vty (zebra) -afbackup 2988/tcp # Afbackup system -afbackup 2988/udp -afmbackup 2989/tcp # Afmbackup system -afmbackup 2989/udp -xtell 4224/tcp # xtell server -fax 4557/tcp # FAX transmission service (old) -hylafax 4559/tcp # HylaFAX client-server protocol (new) -distmp3 4600/tcp # distmp3host daemon -munin 4949/tcp lrrd # Munin -enbd-cstatd 5051/tcp # ENBD client statd -enbd-sstatd 5052/tcp # ENBD server statd -pcrd 5151/tcp # PCR-1000 Daemon -noclog 5354/tcp # noclogd with TCP (nocol) -noclog 5354/udp # noclogd with UDP (nocol) -hostmon 5355/tcp # hostmon uses TCP (nocol) -hostmon 5355/udp # hostmon uses UDP (nocol) -rplay 5555/udp # RPlay audio service -rplay 5555/tcp -rptp 5556/udp # Remote Play Transfer Protocol -rptp 5556/tcp -nsca 5667/tcp # Nagios Agent - NSCA -mrtd 5674/tcp # MRT Routing Daemon -bgpsim 5675/tcp # MRT Routing Simulator -canna 5680/tcp # cannaserver -sane-port 6566/tcp sane saned # SANE network scanner daemon -ircd 6667/tcp # Internet Relay Chat -zope-ftp 8021/tcp # zope management by ftp -webcache 8080/tcp # WWW caching service -tproxy 8081/tcp # Transparent Proxy -omniorb 8088/tcp # OmniORB -omniorb 8088/udp -clc-build-daemon 8990/tcp # Common lisp build daemon -xinetd 9098/tcp -mandelspawn 9359/udp mandelbrot # network mandelbrot -zope 9673/tcp # zope server -kamanda 10081/tcp # amanda backup services (Kerberos) -kamanda 10081/udp -amandaidx 10082/tcp # amanda backup services -amidxtape 10083/tcp # amanda backup services -smsqp 11201/tcp # Alamin SMS gateway -smsqp 11201/udp -xpilot 15345/tcp # XPilot Contact Port -xpilot 15345/udp -sgi-cmsd 17001/udp # Cluster membership services daemon -sgi-crsd 17002/udp -sgi-gcd 17003/udp # SGI Group membership daemon -sgi-cad 17004/tcp # Cluster Admin daemon -isdnlog 20011/tcp # isdn logging system -isdnlog 20011/udp -vboxd 20012/tcp # voice box system -vboxd 20012/udp -binkp 24554/tcp # binkp fidonet protocol -asp 27374/tcp # Address Search Protocol -asp 27374/udp -dircproxy 57000/tcp # Detachable IRC Proxy -tfido 60177/tcp # fidonet EMSI over telnet -fido 60179/tcp # fidonet EMSI over TCP - -# Local services diff --git a/test/data/types/port/darwin b/test/data/types/port/darwin deleted file mode 100644 index 3d27dd506..000000000 --- a/test/data/types/port/darwin +++ /dev/null @@ -1,11866 +0,0 @@ -# -# Network services, Internet style -# -# Note that it is presently the policy of IANA to assign a single well-known -# port number for both TCP and UDP; hence, most entries here have two entries -# even if the protocol doesn't support UDP operations. -# -# The latest IANA port assignments can be gotten from -# -# http://www.iana.org/assignments/port-numbers -# -# The Well Known Ports are those from 0 through 1023. -# The Registered Ports are those from 1024 through 49151 -# The Dynamic and/or Private Ports are those from 49152 through 65535 -# -# $FreeBSD: src/etc/services,v 1.89 2002/12/17 23:59:10 eric Exp $ -# From: @(#)services 5.8 (Berkeley) 5/9/91 -# -# WELL KNOWN PORT NUMBERS -# -rtmp 1/ddp #Routing Table Maintenance Protocol -tcpmux 1/udp # TCP Port Service Multiplexer -tcpmux 1/tcp # TCP Port Service Multiplexer -# Mark Lottor -nbp 2/ddp #Name Binding Protocol -compressnet 2/udp # Management Utility -compressnet 2/tcp # Management Utility -compressnet 3/udp # Compression Process -compressnet 3/tcp # Compression Process -# Bernie Volz -echo 4/ddp #AppleTalk Echo Protocol -# 4/tcp Unassigned -# 4/udp Unassigned -rje 5/udp # Remote Job Entry -rje 5/tcp # Remote Job Entry -# Jon Postel -zip 6/ddp #Zone Information Protocol -# 6/tcp Unassigned -# 6/udp Unassigned -echo 7/udp # Echo -echo 7/tcp # Echo -# Jon Postel -# 8/tcp Unassigned -# 8/udp Unassigned -discard 9/udp # Discard -discard 9/tcp # Discard -# Jon Postel -# 10/tcp Unassigned -# 10/udp Unassigned -systat 11/udp # Active Users -systat 11/tcp # Active Users -# Jon Postel -# 12/tcp Unassigned -# 12/udp Unassigned -daytime 13/udp # Daytime (RFC 867) -daytime 13/tcp # Daytime (RFC 867) -# Jon Postel -# 14/tcp Unassigned -# 14/udp Unassigned -# 15/tcp Unassigned [was netstat] -# 15/udp Unassigned -# 16/tcp Unassigned -# 16/udp Unassigned -qotd 17/udp # Quote of the Day -qotd 17/tcp # Quote of the Day -# Jon Postel -msp 18/udp # Message Send Protocol -msp 18/tcp # Message Send Protocol -# Rina Nethaniel <---none---> -chargen 19/udp # Character Generator -chargen 19/tcp # Character Generator -ftp-data 20/udp # File Transfer [Default Data] -ftp-data 20/tcp # File Transfer [Default Data] -ftp 21/udp # File Transfer [Control] -ftp 21/tcp # File Transfer [Control] -# Jon Postel -ssh 22/udp # SSH Remote Login Protocol -ssh 22/tcp # SSH Remote Login Protocol -# Tatu Ylonen -telnet 23/udp # Telnet -telnet 23/tcp # Telnet -# Jon Postel - 24/udp # any private mail system - 24/tcp # any private mail system -# Rick Adams -smtp 25/udp # Simple Mail Transfer -smtp 25/tcp # Simple Mail Transfer -# Jon Postel -# 26/tcp Unassigned -# 26/udp Unassigned -nsw-fe 27/udp # NSW User System FE -nsw-fe 27/tcp # NSW User System FE -# Robert Thomas -# 28/tcp Unassigned -# 28/udp Unassigned -msg-icp 29/udp # MSG ICP -msg-icp 29/tcp # MSG ICP -# Robert Thomas -# 30/tcp Unassigned -# 30/udp Unassigned -msg-auth 31/udp # MSG Authentication -msg-auth 31/tcp # MSG Authentication -# Robert Thomas -# 32/tcp Unassigned -# 32/udp Unassigned -dsp 33/udp # Display Support Protocol -dsp 33/tcp # Display Support Protocol -# Ed Cain -# 34/tcp Unassigned -# 34/udp Unassigned - 35/udp # any private printer server - 35/tcp # any private printer server -# Jon Postel -# 36/tcp Unassigned -# 36/udp Unassigned -time 37/udp # Time -time 37/tcp # Time -# Jon Postel -rap 38/udp # Route Access Protocol -rap 38/tcp # Route Access Protocol -# Robert Ullmann -rlp 39/udp # Resource Location Protocol -rlp 39/tcp # Resource Location Protocol -# Mike Accetta -# 40/tcp Unassigned -# 40/udp Unassigned -graphics 41/udp # Graphics -graphics 41/tcp # Graphics -name 42/udp nameserver # Host Name Server -name 42/tcp nameserver # Host Name Server -nicname 43/udp # Who Is -nicname 43/tcp # Who Is -mpm-flags 44/udp # MPM FLAGS Protocol -mpm-flags 44/tcp # MPM FLAGS Protocol -mpm 45/udp # Message Processing Module [recv] -mpm 45/tcp # Message Processing Module [recv] -mpm-snd 46/udp # MPM [default send] -mpm-snd 46/tcp # MPM [default send] -# Jon Postel -ni-ftp 47/udp # NI FTP -ni-ftp 47/tcp # NI FTP -# Steve Kille -auditd 48/udp # Digital Audit Daemon -auditd 48/tcp # Digital Audit Daemon -# Larry Scott -tacacs 49/udp # Login Host Protocol (TACACS) -tacacs 49/tcp # Login Host Protocol (TACACS) -# Pieter Ditmars -re-mail-ck 50/udp # Remote Mail Checking Protocol -re-mail-ck 50/tcp # Remote Mail Checking Protocol -# Steve Dorner -la-maint 51/udp # IMP Logical Address Maintenance -la-maint 51/tcp # IMP Logical Address Maintenance -# Andy Malis -xns-time 52/udp # XNS Time Protocol -xns-time 52/tcp # XNS Time Protocol -# Susie Armstrong -domain 53/udp # Domain Name Server -domain 53/tcp # Domain Name Server -# Paul Mockapetris -xns-ch 54/udp # XNS Clearinghouse -xns-ch 54/tcp # XNS Clearinghouse -# Susie Armstrong -isi-gl 55/udp # ISI Graphics Language -isi-gl 55/tcp # ISI Graphics Language -xns-auth 56/udp # XNS Authentication -xns-auth 56/tcp # XNS Authentication -# Susie Armstrong - 57/udp # any private terminal access - 57/tcp # any private terminal access -# Jon Postel -xns-mail 58/udp # XNS Mail -xns-mail 58/tcp # XNS Mail -# Susie Armstrong - 59/udp # any private file service - 59/tcp # any private file service -# Jon Postel - 60/udp # Unassigned - 60/tcp # Unassigned -ni-mail 61/udp # NI MAIL -ni-mail 61/tcp # NI MAIL -# Steve Kille -acas 62/udp # ACA Services -acas 62/tcp # ACA Services -# E. Wald -whois++ 63/udp # whois++ -whois++ 63/tcp # whois++ -# Rickard Schoultz -covia 64/udp # Communications Integrator (CI) -covia 64/tcp # Communications Integrator (CI) -# Dan Smith -tacacs-ds 65/udp # TACACS-Database Service -tacacs-ds 65/tcp # TACACS-Database Service -# Kathy Huber -sql*net 66/udp # Oracle SQL*NET -sql*net 66/tcp # Oracle SQL*NET -# Jack Haverty -bootps 67/udp # Bootstrap Protocol Server -bootps 67/tcp # Bootstrap Protocol Server -bootpc 68/udp # Bootstrap Protocol Client -bootpc 68/tcp # Bootstrap Protocol Client -# Bill Croft -tftp 69/udp # Trivial File Transfer -tftp 69/tcp # Trivial File Transfer -# David Clark -gopher 70/udp # Gopher -gopher 70/tcp # Gopher -# Mark McCahill -netrjs-1 71/udp # Remote Job Service -netrjs-1 71/tcp # Remote Job Service -netrjs-2 72/udp # Remote Job Service -netrjs-2 72/tcp # Remote Job Service -netrjs-3 73/udp # Remote Job Service -netrjs-3 73/tcp # Remote Job Service -netrjs-4 74/udp # Remote Job Service -netrjs-4 74/tcp # Remote Job Service -# Bob Braden - 75/udp # any private dial out service - 75/tcp # any private dial out service -# Jon Postel -deos 76/udp # Distributed External Object Store -deos 76/tcp # Distributed External Object Store -# Robert Ullmann - 77/udp # any private RJE service - 77/tcp # any private RJE service -# Jon Postel -vettcp 78/udp # vettcp -vettcp 78/tcp # vettcp -# Christopher Leong -finger 79/udp # Finger -finger 79/tcp # Finger -# David Zimmerman -http 80/udp www www-http # World Wide Web HTTP -http 80/tcp www www-http # World Wide Web HTTP -# Tim Berners-Lee -hosts2-ns 81/udp # HOSTS2 Name Server -hosts2-ns 81/tcp # HOSTS2 Name Server -# Earl Killian -xfer 82/udp # XFER Utility -xfer 82/tcp # XFER Utility -# Thomas M. Smith -mit-ml-dev 83/udp # MIT ML Device -mit-ml-dev 83/tcp # MIT ML Device -# David Reed <--none---> -ctf 84/udp # Common Trace Facility -ctf 84/tcp # Common Trace Facility -# Hugh Thomas -mit-ml-dev 85/udp # MIT ML Device -mit-ml-dev 85/tcp # MIT ML Device -# David Reed <--none---> -mfcobol 86/udp # Micro Focus Cobol -mfcobol 86/tcp # Micro Focus Cobol -# Simon Edwards <--none---> - 87/udp # any private terminal link - 87/tcp # any private terminal link -# Jon Postel -kerberos 88/udp # Kerberos -kerberos 88/tcp # Kerberos -# B. Clifford Neuman -su-mit-tg 89/udp # SU/MIT Telnet Gateway -su-mit-tg 89/tcp # SU/MIT Telnet Gateway -# Mark Crispin -########### PORT 90 also being used unofficially by Pointcast ######### -dnsix 90/udp # DNSIX Securit Attribute Token Map -dnsix 90/tcp # DNSIX Securit Attribute Token Map -# Charles Watt -mit-dov 91/udp # MIT Dover Spooler -mit-dov 91/tcp # MIT Dover Spooler -# Eliot Moss -npp 92/udp # Network Printing Protocol -npp 92/tcp # Network Printing Protocol -# Louis Mamakos -dcp 93/udp # Device Control Protocol -dcp 93/tcp # Device Control Protocol -# Daniel Tappan -objcall 94/udp # Tivoli Object Dispatcher -objcall 94/tcp # Tivoli Object Dispatcher -# Tom Bereiter <--none---> -supdup 95/udp # SUPDUP -supdup 95/tcp # SUPDUP -# Mark Crispin -dixie 96/udp # DIXIE Protocol Specification -dixie 96/tcp # DIXIE Protocol Specification -# Tim Howes -swift-rvf 97/udp # Swift Remote Virtural File Protocol -swift-rvf 97/tcp # Swift Remote Virtural File Protocol -# Maurice R. Turcotte -# -tacnews 98/udp # TAC News -tacnews 98/tcp # TAC News -# Jon Postel -metagram 99/udp # Metagram Relay -metagram 99/tcp # Metagram Relay -# Geoff Goodfellow -newacct 100/tcp # [unauthorized use] -hostname 101/udp # NIC Host Name Server -hostname 101/tcp # NIC Host Name Server -# Jon Postel -iso-tsap 102/udp # ISO-TSAP Class 0 -iso-tsap 102/tcp # ISO-TSAP Class 0 -# Marshall Rose -gppitnp 103/udp # Genesis Point-to-Point Trans Net -gppitnp 103/tcp # Genesis Point-to-Point Trans Net -acr-nema 104/udp # ACR-NEMA Digital Imag. & Comm. 300 -acr-nema 104/tcp # ACR-NEMA Digital Imag. & Comm. 300 -# Patrick McNamee <--none---> -cso 105/udp # CCSO name server protocol -cso 105/tcp # CCSO name server protocol -# Martin Hamilton -csnet-ns 105/udp # Mailbox Name Nameserver -csnet-ns 105/tcp # Mailbox Name Nameserver -# Marvin Solomon -3com-tsmux 106/udp # 3COM-TSMUX -3com-tsmux 106/tcp # 3COM-TSMUX -# Jeremy Siegel -########## 106 Unauthorized use by insecure poppassd protocol -rtelnet 107/udp # Remote Telnet Service -rtelnet 107/tcp # Remote Telnet Service -# Jon Postel -snagas 108/udp # SNA Gateway Access Server -snagas 108/tcp # SNA Gateway Access Server -# Kevin Murphy -pop2 109/udp # Post Office Protocol - Version 2 -pop2 109/tcp # Post Office Protocol - Version 2 -# Joyce K. Reynolds -pop3 110/udp # Post Office Protocol - Version 3 -pop3 110/tcp # Post Office Protocol - Version 3 -# Marshall Rose -sunrpc 111/udp # SUN Remote Procedure Call -sunrpc 111/tcp # SUN Remote Procedure Call -# Chuck McManis -mcidas 112/udp # McIDAS Data Transmission Protocol -mcidas 112/tcp # McIDAS Data Transmission Protocol -# Glenn Davis -auth 113/udp # Authentication Service -ident 113/tcp auth # -# Mike St. Johns -audionews 114/udp # Audio News Multicast -audionews 114/tcp # Audio News Multicast -# Martin Forssen -sftp 115/udp # Simple File Transfer Protocol -sftp 115/tcp # Simple File Transfer Protocol -# Mark Lottor -ansanotify 116/udp # ANSA REX Notify -ansanotify 116/tcp # ANSA REX Notify -# Nicola J. Howarth -uucp-path 117/udp # UUCP Path Service -uucp-path 117/tcp # UUCP Path Service -sqlserv 118/udp # SQL Services -sqlserv 118/tcp # SQL Services -# Larry Barnes -nntp 119/udp # Network News Transfer Protocol -nntp 119/tcp # Network News Transfer Protocol -# Phil Lapsley -cfdptkt 120/udp # CFDPTKT -cfdptkt 120/tcp # CFDPTKT -# John Ioannidis -erpc 121/udp # Encore Expedited Remote Pro.Call -erpc 121/tcp # Encore Expedited Remote Pro.Call -# Jack O'Neil <---none---> -smakynet 122/udp # SMAKYNET -smakynet 122/tcp # SMAKYNET -# Pierre Arnaud -ntp 123/udp # Network Time Protocol -ntp 123/tcp # Network Time Protocol -# Dave Mills -ansatrader 124/udp # ANSA REX Trader -ansatrader 124/tcp # ANSA REX Trader -# Nicola J. Howarth -locus-map 125/udp # Locus PC-Interface Net Map Ser -locus-map 125/tcp # Locus PC-Interface Net Map Ser -# Eric Peterson -nxedit 126/udp # NXEdit -nxedit 126/tcp # NXEdit -# Don Payette -###########Port 126 Previously assigned to application below####### -#unitary 126/tcp Unisys Unitary Login -#unitary 126/udp Unisys Unitary Login -# -###########Port 126 Previously assigned to application above####### -locus-con 127/udp # Locus PC-Interface Conn Server -locus-con 127/tcp # Locus PC-Interface Conn Server -# Eric Peterson -gss-xlicen 128/udp # GSS X License Verification -gss-xlicen 128/tcp # GSS X License Verification -# John Light -pwdgen 129/udp # Password Generator Protocol -pwdgen 129/tcp # Password Generator Protocol -# Frank J. Wacho -cisco-fna 130/udp # cisco FNATIVE -cisco-fna 130/tcp # cisco FNATIVE -cisco-tna 131/udp # cisco TNATIVE -cisco-tna 131/tcp # cisco TNATIVE -cisco-sys 132/udp # cisco SYSMAINT -cisco-sys 132/tcp # cisco SYSMAINT -statsrv 133/udp # Statistics Service -statsrv 133/tcp # Statistics Service -# Dave Mills -ingres-net 134/udp # INGRES-NET Service -ingres-net 134/tcp # INGRES-NET Service -# Mike Berrow <---none---> -epmap 135/udp # DCE endpoint resolution -epmap 135/tcp # DCE endpoint resolution -# Joe Pato -profile 136/udp # PROFILE Naming System -profile 136/tcp # PROFILE Naming System -# Larry Peterson -netbios-ns 137/udp # NETBIOS Name Service -netbios-ns 137/tcp # NETBIOS Name Service -netbios-dgm 138/udp # NETBIOS Datagram Service -netbios-dgm 138/tcp # NETBIOS Datagram Service -netbios-ssn 139/udp # NETBIOS Session Service -netbios-ssn 139/tcp # NETBIOS Session Service -# Jon Postel -emfis-data 140/udp # EMFIS Data Service -emfis-data 140/tcp # EMFIS Data Service -emfis-cntl 141/udp # EMFIS Control Service -emfis-cntl 141/tcp # EMFIS Control Service -# Gerd Beling -bl-idm 142/udp # Britton-Lee IDM -bl-idm 142/tcp # Britton-Lee IDM -# Susie Snitzer <---none---> -imap 143/udp # Internet Message Access Protocol -imap 143/tcp # Internet Message Access Protocol -# Mark Crispin -uma 144/udp # Universal Management Architecture -uma 144/tcp # Universal Management Architecture -# Jay Whitney -uaac 145/udp # UAAC Protocol -uaac 145/tcp # UAAC Protocol -# David A. Gomberg -iso-tp0 146/udp # ISO-IP0 -iso-tp0 146/tcp # ISO-IP0 -iso-ip 147/udp # ISO-IP -iso-ip 147/tcp # ISO-IP -# Marshall Rose -jargon 148/udp # Jargon -jargon 148/tcp # Jargon -# Bill Weinman -aed-512 149/udp # AED 512 Emulation Service -aed-512 149/tcp # AED 512 Emulation Service -# Albert G. Broscius -sql-net 150/udp # SQL-NET -sql-net 150/tcp # SQL-NET -# Martin Picard <<---none---> -hems 151/udp # HEMS -hems 151/tcp # HEMS -bftp 152/udp # Background File Transfer Program -bftp 152/tcp # Background File Transfer Program -# Annette DeSchon -sgmp 153/udp # SGMP -sgmp 153/tcp # SGMP -# Marty Schoffstahl -netsc-prod 154/udp # NETSC -netsc-prod 154/tcp # NETSC -netsc-dev 155/udp # NETSC -netsc-dev 155/tcp # NETSC -# Sergio Heker -sqlsrv 156/udp # SQL Service -sqlsrv 156/tcp # SQL Service -# Craig Rogers -knet-cmp 157/udp # KNET/VM Command/Message Protocol -knet-cmp 157/tcp # KNET/VM Command/Message Protocol -# Gary S. Malkin -pcmail-srv 158/udp # PCMail Server -pcmail-srv 158/tcp # PCMail Server -# Mark L. Lambert -nss-routing 159/udp # NSS-Routing -nss-routing 159/tcp # NSS-Routing -# Yakov Rekhter -sgmp-traps 160/udp # SGMP-TRAPS -sgmp-traps 160/tcp # SGMP-TRAPS -# Marty Schoffstahl -snmp 161/udp # SNMP -snmp 161/tcp # SNMP -snmptrap 162/udp # SNMPTRAP -snmptrap 162/tcp # SNMPTRAP -# Marshall Rose -cmip-man 163/udp # CMIP/TCP Manager -cmip-man 163/tcp # CMIP/TCP Manager -cmip-agent 164/udp # CMIP/TCP Agent -cmip-agent 164/tcp # CMIP/TCP Agent -# Amatzia Ben-Artzi <---none---> -xns-courier 165/udp # Xerox -xns-courier 165/tcp # Xerox -# Susie Armstrong -s-net 166/udp # Sirius Systems -s-net 166/tcp # Sirius Systems -# Brian Lloyd -namp 167/udp # NAMP -namp 167/tcp # NAMP -# Marty Schoffstahl -rsvd 168/udp # RSVD -rsvd 168/tcp # RSVD -# Neil Todd -send 169/udp # SEND -send 169/tcp # SEND -# William D. Wisner -print-srv 170/udp # Network PostScript -print-srv 170/tcp # Network PostScript -# Brian Reid -multiplex 171/udp # Network Innovations Multiplex -multiplex 171/tcp # Network Innovations Multiplex -cl/1 172/udp # Network Innovations CL/1 -cl/1 172/tcp # Network Innovations CL/1 -# Kevin DeVault <<---none---> -xyplex-mux 173/udp # Xyplex -xyplex-mux 173/tcp # Xyplex -# Bob Stewart -mailq 174/udp # MAILQ -mailq 174/tcp # MAILQ -# Rayan Zachariassen -vmnet 175/udp # VMNET -vmnet 175/tcp # VMNET -# Christopher Tengi -genrad-mux 176/udp # GENRAD-MUX -genrad-mux 176/tcp # GENRAD-MUX -# Ron Thornton -xdmcp 177/udp # X Display Manager Control Protocol -xdmcp 177/tcp # X Display Manager Control Protocol -# Robert W. Scheifler -nextstep 178/udp # NextStep Window Server -nextstep 178/tcp # NextStep Window Server -# Leo Hourvitz -bgp 179/udp # Border Gateway Protocol -bgp 179/tcp # Border Gateway Protocol -# Kirk Lougheed -ris 180/udp # Intergraph -ris 180/tcp # Intergraph -# Dave Buehmann -unify 181/udp # Unify -unify 181/tcp # Unify -# Mark Ainsley -audit 182/udp # Unisys Audit SITP -audit 182/tcp # Unisys Audit SITP -# Gil Greenbaum -ocbinder 183/udp # OCBinder -ocbinder 183/tcp # OCBinder -ocserver 184/udp # OCServer -ocserver 184/tcp # OCServer -# Jerrilynn Okamura <--none---> -remote-kis 185/udp # Remote-KIS -remote-kis 185/tcp # Remote-KIS -kis 186/udp # KIS Protocol -kis 186/tcp # KIS Protocol -# Ralph Droms -aci 187/udp # Application Communication Interface -aci 187/tcp # Application Communication Interface -# Rick Carlos -mumps 188/udp # Plus Five's MUMPS -mumps 188/tcp # Plus Five's MUMPS -# Hokey Stenn -qft 189/udp # Queued File Transport -qft 189/tcp # Queued File Transport -# Wayne Schroeder -gacp 190/udp # Gateway Access Control Protocol -gacp 190/tcp # Gateway Access Control Protocol -# C. Philip Wood -prospero 191/udp # Prospero Directory Service -prospero 191/tcp # Prospero Directory Service -# B. Clifford Neuman -osu-nms 192/udp # OSU Network Monitoring System -osu-nms 192/tcp # OSU Network Monitoring System -# Doug Karl -srmp 193/udp # Spider Remote Monitoring Protocol -srmp 193/tcp # Spider Remote Monitoring Protocol -# Ted J. Socolofsky -irc 194/udp # Internet Relay Chat Protocol -irc 194/tcp # Internet Relay Chat Protocol -# Jarkko Oikarinen -dn6-nlm-aud 195/udp # DNSIX Network Level Module Audit -dn6-nlm-aud 195/tcp # DNSIX Network Level Module Audit -dn6-smm-red 196/udp # DNSIX Session Mgt Module Audit Redir -dn6-smm-red 196/tcp # DNSIX Session Mgt Module Audit Redir -# Lawrence Lebahn -dls 197/udp # Directory Location Service -dls 197/tcp # Directory Location Service -dls-mon 198/udp # Directory Location Service Monitor -dls-mon 198/tcp # Directory Location Service Monitor -# Scott Bellew -smux 199/udp # SMUX -smux 199/tcp # SMUX -# Marshall Rose -src 200/udp # IBM System Resource Controller -src 200/tcp # IBM System Resource Controller -# Gerald McBrearty <---none---> -at-rtmp 201/udp # AppleTalk Routing Maintenance -at-rtmp 201/tcp # AppleTalk Routing Maintenance -at-nbp 202/udp # AppleTalk Name Binding -at-nbp 202/tcp # AppleTalk Name Binding -at-3 203/udp # AppleTalk Unused -at-3 203/tcp # AppleTalk Unused -at-echo 204/udp # AppleTalk Echo -at-echo 204/tcp # AppleTalk Echo -at-5 205/udp # AppleTalk Unused -at-5 205/tcp # AppleTalk Unused -at-zis 206/udp # AppleTalk Zone Information -at-zis 206/tcp # AppleTalk Zone Information -at-7 207/udp # AppleTalk Unused -at-7 207/tcp # AppleTalk Unused -at-8 208/udp # AppleTalk Unused -at-8 208/tcp # AppleTalk Unused -# Rob Chandhok -qmtp 209/udp # The Quick Mail Transfer Protocol -qmtp 209/tcp # The Quick Mail Transfer Protocol -# Dan Bernstein -z39.50 210/udp # ANSI Z39.50 -z39.50 210/tcp # ANSI Z39.50 -# Mark H. Needleman -914c/g 211/udp # Texas Instruments 914C/G Terminal -914c/g 211/tcp # Texas Instruments 914C/G Terminal -# Bill Harrell <---none---> -anet 212/udp # ATEXSSTR -anet 212/tcp # ATEXSSTR -# Jim Taylor -ipx 213/udp # IPX -ipx 213/tcp # IPX -# Don Provan -vmpwscs 214/udp # VM PWSCS -vmpwscs 214/tcp # VM PWSCS -# Dan Shia -softpc 215/udp # Insignia Solutions -softpc 215/tcp # Insignia Solutions -# Martyn Thomas <---none---> -CAIlic 216/udp # Computer Associates Int'l License Server -CAIlic 216/tcp # Computer Associates Int'l License Server -# Chuck Spitz -dbase 217/udp # dBASE Unix -dbase 217/tcp # dBASE Unix -# Don Gibson -# -mpp 218/udp # Netix Message Posting Protocol -mpp 218/tcp # Netix Message Posting Protocol -# Shannon Yeh -uarps 219/udp # Unisys ARPs -uarps 219/tcp # Unisys ARPs -# Ashok Marwaha <---none---> -imap3 220/udp # Interactive Mail Access Protocol v3 -imap3 220/tcp # Interactive Mail Access Protocol v3 -# James Rice -fln-spx 221/udp # Berkeley rlogind with SPX auth -fln-spx 221/tcp # Berkeley rlogind with SPX auth -rsh-spx 222/udp # Berkeley rshd with SPX auth -rsh-spx 222/tcp # Berkeley rshd with SPX auth -cdc 223/udp # Certificate Distribution Center -cdc 223/tcp # Certificate Distribution Center -# Kannan Alagappan -########### Possible Conflict of Port 222 with "Masqdialer"############## -### Contact for Masqdialer is Charles Wright ### -masqdialer 224/udp # masqdialer -masqdialer 224/tcp # masqdialer -# Charles Wright -# 225-241 Reserved -# Jon Postel -direct 242/udp # Direct -direct 242/tcp # Direct -# Herb Sutter -sur-meas 243/udp # Survey Measurement -sur-meas 243/tcp # Survey Measurement -# Dave Clark -inbusiness 244/udp # inbusiness -inbusiness 244/tcp # inbusiness -# Derrick Hisatake -link 245/udp # LINK -link 245/tcp # LINK -dsp3270 246/udp # Display Systems Protocol -dsp3270 246/tcp # Display Systems Protocol -# Weldon J. Showalter -subntbcst_tftp 247/udp # SUBNTBCST_TFTP -subntbcst_tftp 247/tcp # SUBNTBCST_TFTP -# John Fake -bhfhs 248/udp # bhfhs -bhfhs 248/tcp # bhfhs -# John Kelly -# 249-255 Reserved -# Jon Postel -rap 256/udp # RAP -rap 256/tcp # RAP -# J.S. Greenfield -set 257/udp # Secure Electronic Transaction -set 257/tcp # Secure Electronic Transaction -# Donald Eastlake -yak-chat 258/udp # Yak Winsock Personal Chat -yak-chat 258/tcp # Yak Winsock Personal Chat -# Brian Bandy -esro-gen 259/udp # Efficient Short Remote Operations -esro-gen 259/tcp # Efficient Short Remote Operations -# Mohsen Banan -openport 260/udp # Openport -openport 260/tcp # Openport -# John Marland -nsiiops 261/udp # IIOP Name Service over TLS/SSL -nsiiops 261/tcp # IIOP Name Service over TLS/SSL -# Jeff Stewart -arcisdms 262/udp # Arcisdms -arcisdms 262/tcp # Arcisdms -# Russell Crook (rmc@sni.ca> -hdap 263/udp # HDAP -hdap 263/tcp # HDAP -# Troy Gau -bgmp 264/udp # BGMP -bgmp 264/tcp # BGMP -# Dave Thaler -x-bone-ctl 265/udp # X-Bone CTL -x-bone-ctl 265/tcp # X-Bone CTL -# Joe Touch -sst 266/udp # SCSI on ST -sst 266/tcp # SCSI on ST -# Donald D. Woelz -td-service 267/udp # Tobit David Service Layer -td-service 267/tcp # Tobit David Service Layer -td-replica 268/udp # Tobit David Replica -td-replica 268/tcp # Tobit David Replica -# Franz-Josef Leuders -# 269-279 Unassigned -http-mgmt 280/udp # http-mgmt -http-mgmt 280/tcp # http-mgmt -# Adrian Pell -# -personal-link 281/udp # Personal Link -personal-link 281/tcp # Personal Link -# Dan Cummings -cableport-ax 282/udp # Cable Port A/X -cableport-ax 282/tcp # Cable Port A/X -# Craig Langfahl -rescap 283/udp # rescap -rescap 283/tcp # rescap -# Paul Hoffman -corerjd 284/udp # corerjd -corerjd 284/tcp # corerjd -# Chris Thornhill -# 285 Unassigned -fxp-1 286/udp # FXP-1 -fxp-1 286/tcp # FXP-1 -# James Darnall -k-block 287/udp # K-BLOCK -k-block 287/tcp # K-BLOCK -# Simon P Jackson -# 288-307 Unassigned -novastorbakcup 308/udp # Novastor Backup -novastorbakcup 308/tcp # Novastor Backup -# Brian Dickman -entrusttime 309/udp # EntrustTime -entrusttime 309/tcp # EntrustTime -# Peter Whittaker -bhmds 310/udp # bhmds -bhmds 310/tcp # bhmds -# John Kelly -asip-webadmin 311/udp # AppleShare IP WebAdmin -asip-webadmin 311/tcp # AppleShare IP WebAdmin -# Ann Huang -vslmp 312/udp # VSLMP -vslmp 312/tcp # VSLMP -# Gerben Wierda -magenta-logic 313/udp # Magenta Logic -magenta-logic 313/tcp # Magenta Logic -# Karl Rousseau -opalis-robot 314/udp # Opalis Robot -opalis-robot 314/tcp # Opalis Robot -# Laurent Domenech, Opalis -dpsi 315/udp # DPSI -dpsi 315/tcp # DPSI -# Tony Scamurra -decauth 316/udp # decAuth -decauth 316/tcp # decAuth -# Michael Agishtein -zannet 317/udp # Zannet -zannet 317/tcp # Zannet -# Zan Oliphant -pkix-timestamp 318/udp # PKIX TimeStamp -pkix-timestamp 318/tcp # PKIX TimeStamp -# Robert Zuccherato -ptp-event 319/udp # PTP Event -ptp-event 319/tcp # PTP Event -ptp-general 320/udp # PTP General -ptp-general 320/tcp # PTP General -# John Eidson -pip 321/udp # PIP -pip 321/tcp # PIP -# Gordon Mohr -rtsps 322/udp # RTSPS -rtsps 322/tcp # RTSPS -# Anders Klemets -# 323-332 Unassigned -texar 333/udp # Texar Security Port -texar 333/tcp # Texar Security Port -# Eugen Bacic -# 334-343 Unassigned -pdap 344/udp # Prospero Data Access Protocol -pdap 344/tcp # Prospero Data Access Protocol -# B. Clifford Neuman -pawserv 345/udp # Perf Analysis Workbench -pawserv 345/tcp # Perf Analysis Workbench -zserv 346/udp # Zebra server -zserv 346/tcp # Zebra server -fatserv 347/udp # Fatmen Server -fatserv 347/tcp # Fatmen Server -csi-sgwp 348/udp # Cabletron Management Protocol -csi-sgwp 348/tcp # Cabletron Management Protocol -mftp 349/udp # mftp -mftp 349/tcp # mftp -# Dave Feinleib -matip-type-a 350/udp # MATIP Type A -matip-type-a 350/tcp # MATIP Type A -matip-type-b 351/udp # MATIP Type B -matip-type-b 351/tcp # MATIP Type B -# Alain Robert -# The following entry records an unassigned but widespread use -bhoetty 351/udp # bhoetty -bhoetty 351/tcp # bhoetty (added 5/21/97) -# John Kelly -dtag-ste-sb 352/udp # DTAG -dtag-ste-sb 352/tcp # DTAG (assigned long ago) -# Ruediger Wald -# The following entry records an unassigned but widespread use -bhoedap4 352/udp # bhoedap4 -bhoedap4 352/tcp # bhoedap4 (added 5/21/97) -# John Kelly -ndsauth 353/udp # NDSAUTH -ndsauth 353/tcp # NDSAUTH -# Jayakumar Ramalingam -bh611 354/udp # bh611 -bh611 354/tcp # bh611 -# John Kelly -datex-asn 355/udp # DATEX-ASN -datex-asn 355/tcp # DATEX-ASN -# Kenneth Vaughn -cloanto-net-1 356/udp # Cloanto Net 1 -cloanto-net-1 356/tcp # Cloanto Net 1 -# Michael Battilana -bhevent 357/udp # bhevent -bhevent 357/tcp # bhevent -# John Kelly -shrinkwrap 358/udp # Shrinkwrap -shrinkwrap 358/tcp # Shrinkwrap -# Bill Simpson -nsrmp 359/udp # Network Security Risk Management Protocol -nsrmp 359/tcp # Network Security Risk Management Protocol -# Eric Jacksch -scoi2odialog 360/udp # scoi2odialog -scoi2odialog 360/tcp # scoi2odialog -# Keith Petley -semantix 361/udp # Semantix -semantix 361/tcp # Semantix -# Semantix -srssend 362/udp # SRS Send -srssend 362/tcp # SRS Send -# Curt Mayer -rsvp_tunnel 363/udp # RSVP Tunnel -rsvp_tunnel 363/tcp # RSVP Tunnel -# Andreas Terzis -aurora-cmgr 364/udp # Aurora CMGR -aurora-cmgr 364/tcp # Aurora CMGR -# Philip Budne -dtk 365/udp # DTK -dtk 365/tcp # DTK -# Fred Cohen -odmr 366/udp # ODMR -odmr 366/tcp # ODMR -# Randall Gellens -mortgageware 367/udp # MortgageWare -mortgageware 367/tcp # MortgageWare -# Ole Hellevik -qbikgdp 368/udp # QbikGDP -qbikgdp 368/tcp # QbikGDP -# Adrien de Croy -rpc2portmap 369/udp # rpc2portmap -rpc2portmap 369/tcp # rpc2portmap -codaauth2 370/udp # codaauth2 -codaauth2 370/tcp # codaauth2 -# Robert Watson -clearcase 371/udp # Clearcase -clearcase 371/tcp # Clearcase -# Dave LeBlang -ulistproc 372/udp # ListProcessor -ulistproc 372/tcp # ListProcessor -# Anastasios Kotsikonas -legent-1 373/udp # Legent Corporation -legent-1 373/tcp # Legent Corporation -legent-2 374/udp # Legent Corporation -legent-2 374/tcp # Legent Corporation -# Keith Boyce <---none---> -hassle 375/udp # Hassle -hassle 375/tcp # Hassle -# Reinhard Doelz -nip 376/udp # Amiga Envoy Network Inquiry Proto -nip 376/tcp # Amiga Envoy Network Inquiry Proto -# Heinz Wrobel -tnETOS 377/udp # NEC Corporation -tnETOS 377/tcp # NEC Corporation -dsETOS 378/udp # NEC Corporation -dsETOS 378/tcp # NEC Corporation -# Tomoo Fujita -is99c 379/udp # TIA/EIA/IS-99 modem client -is99c 379/tcp # TIA/EIA/IS-99 modem client -is99s 380/udp # TIA/EIA/IS-99 modem server -is99s 380/tcp # TIA/EIA/IS-99 modem server -# Frank Quick -hp-collector 381/udp # hp performance data collector -hp-collector 381/tcp # hp performance data collector -hp-managed-node 382/udp # hp performance data managed node -hp-managed-node 382/tcp # hp performance data managed node -hp-alarm-mgr 383/udp # hp performance data alarm manager -hp-alarm-mgr 383/tcp # hp performance data alarm manager -# Frank Blakely -arns 384/udp # A Remote Network Server System -arns 384/tcp # A Remote Network Server System -# David Hornsby -ibm-app 385/udp # IBM Application -ibm-app 385/tcp # IBM Application -# Lisa Tomita <---none---> -asa 386/udp # ASA Message Router Object Def. -asa 386/tcp # ASA Message Router Object Def. -# Steve Laitinen -aurp 387/udp # Appletalk Update-Based Routing Pro. -aurp 387/tcp # Appletalk Update-Based Routing Pro. -# Chris Ranch -unidata-ldm 388/udp # Unidata LDM -unidata-ldm 388/tcp # Unidata LDM -# Glenn Davis -ldap 389/udp # Lightweight Directory Access Protocol -ldap 389/tcp # Lightweight Directory Access Protocol -# Tim Howes -uis 390/udp # UIS -uis 390/tcp # UIS -# Ed Barron <---none---> -synotics-relay 391/udp # SynOptics SNMP Relay Port -synotics-relay 391/tcp # SynOptics SNMP Relay Port -synotics-broker 392/udp # SynOptics Port Broker Port -synotics-broker 392/tcp # SynOptics Port Broker Port -# Illan Raab -meta5 393/udp # Meta5 -meta5 393/tcp # Meta5 -# Jim Kanzler -embl-ndt 394/udp # EMBL Nucleic Data Transfer -embl-ndt 394/tcp # EMBL Nucleic Data Transfer -# Peter Gad -netcp 395/udp # NETscout Control Protocol -netcp 395/tcp # NETscout Control Protocol -# Anil Singhal <---none---> -netware-ip 396/udp # Novell Netware over IP -netware-ip 396/tcp # Novell Netware over IP -mptn 397/udp # Multi Protocol Trans. Net. -mptn 397/tcp # Multi Protocol Trans. Net. -# Soumitra Sarkar -kryptolan 398/udp # Kryptolan -kryptolan 398/tcp # Kryptolan -# Peter de Laval -iso-tsap-c2 399/udp # ISO Transport Class 2 Non-Control over UDP -iso-tsap-c2 399/tcp # ISO Transport Class 2 Non-Control over TCP -# Yanick Pouffary -work-sol 400/udp # Workstation Solutions -work-sol 400/tcp # Workstation Solutions -# Jim Ward -ups 401/udp # Uninterruptible Power Supply -ups 401/tcp # Uninterruptible Power Supply -# Charles Bennett -genie 402/udp # Genie Protocol -genie 402/tcp # Genie Protocol -# Mark Hankin <---none---> -decap 403/udp # decap -decap 403/tcp # decap -nced 404/udp # nced -nced 404/tcp # nced -ncld 405/udp # ncld -ncld 405/tcp # ncld -# Richard Jones <---none---> -imsp 406/udp # Interactive Mail Support Protocol -imsp 406/tcp # Interactive Mail Support Protocol -# John Myers -timbuktu 407/udp # Timbuktu -timbuktu 407/tcp # Timbuktu -# Marc Epard -prm-sm 408/udp # Prospero Resource Manager Sys. Man. -prm-sm 408/tcp # Prospero Resource Manager Sys. Man. -prm-nm 409/udp # Prospero Resource Manager Node Man. -prm-nm 409/tcp # Prospero Resource Manager Node Man. -# B. Clifford Neuman -decladebug 410/udp # DECLadebug Remote Debug Protocol -decladebug 410/tcp # DECLadebug Remote Debug Protocol -# Anthony Berent -rmt 411/udp # Remote MT Protocol -rmt 411/tcp # Remote MT Protocol -# Peter Eriksson -synoptics-trap 412/udp # Trap Convention Port -synoptics-trap 412/tcp # Trap Convention Port -# Illan Raab -smsp 413/udp # Storage Management Services Protocol -smsp 413/tcp # Storage Management Services Protocol -# Murthy Srinivas -infoseek 414/udp # InfoSeek -infoseek 414/tcp # InfoSeek -# Steve Kirsch -bnet 415/udp # BNet -bnet 415/tcp # BNet -# Jim Mertz -silverplatter 416/udp # Silverplatter -silverplatter 416/tcp # Silverplatter -# Peter Ciuffetti -onmux 417/udp # Onmux -onmux 417/tcp # Onmux -# Stephen Hanna -hyper-g 418/udp # Hyper-G -hyper-g 418/tcp # Hyper-G -# Frank Kappe -ariel1 419/udp # Ariel 1 -ariel1 419/tcp # Ariel 1 -# Joel Karafin -smpte 420/udp # SMPTE -smpte 420/tcp # SMPTE -# Si Becker <71362.22@CompuServe.COM> -ariel2 421/udp # Ariel 2 -ariel2 421/tcp # Ariel 2 -ariel3 422/udp # Ariel 3 -ariel3 422/tcp # Ariel 3 -# Joel Karafin -opc-job-start 423/udp # IBM Operations Planning and Control Start -opc-job-start 423/tcp # IBM Operations Planning and Control Start -opc-job-track 424/udp # IBM Operations Planning and Control Track -opc-job-track 424/tcp # IBM Operations Planning and Control Track -# Conny Larsson -icad-el 425/udp # ICAD -icad-el 425/tcp # ICAD -# Larry Stone -smartsdp 426/udp # smartsdp -smartsdp 426/tcp # smartsdp -# Alexander Dupuy -svrloc 427/udp # Server Location -svrloc 427/tcp # Server Location -# -ocs_cmu 428/udp # OCS_CMU -ocs_cmu 428/tcp # OCS_CMU -ocs_amu 429/udp # OCS_AMU -ocs_amu 429/tcp # OCS_AMU -# Florence Wyman -utmpsd 430/udp # UTMPSD -utmpsd 430/tcp # UTMPSD -utmpcd 431/udp # UTMPCD -utmpcd 431/tcp # UTMPCD -iasd 432/udp # IASD -iasd 432/tcp # IASD -# Nir Baroz -nnsp 433/udp # NNSP -nnsp 433/tcp # NNSP -# Rob Robertson -mobileip-agent 434/udp # MobileIP-Agent -mobileip-agent 434/tcp # MobileIP-Agent -mobilip-mn 435/udp # MobilIP-MN -mobilip-mn 435/tcp # MobilIP-MN -# Kannan Alagappan -dna-cml 436/udp # DNA-CML -dna-cml 436/tcp # DNA-CML -# Dan Flowers -comscm 437/udp # comscm -comscm 437/tcp # comscm -# Jim Teague -dsfgw 438/udp # dsfgw -dsfgw 438/tcp # dsfgw -# Andy McKeen -dasp 439/udp # dasp tommy@inlab.m.eunet.de -dasp 439/tcp # dasp Thomas Obermair -# Thomas Obermair -sgcp 440/udp # sgcp -sgcp 440/tcp # sgcp -# Marshall Rose -decvms-sysmgt 441/udp # decvms-sysmgt -decvms-sysmgt 441/tcp # decvms-sysmgt -# Lee Barton -cvc_hostd 442/udp # cvc_hostd -cvc_hostd 442/tcp # cvc_hostd -# Bill Davidson -https 443/udp # http protocol over TLS/SSL -https 443/tcp # http protocol over TLS/SSL -# Kipp E.B. Hickman -snpp 444/udp # Simple Network Paging Protocol -snpp 444/tcp # Simple Network Paging Protocol -# [RFC1568] -microsoft-ds 445/udp # Microsoft-DS -microsoft-ds 445/tcp # Microsoft-DS -# Pradeep Bahl -ddm-rdb 446/udp # DDM-RDB -ddm-rdb 446/tcp # DDM-RDB -ddm-dfm 447/udp # DDM-RFM -ddm-dfm 447/tcp # DDM-RFM -# Jan David Fisher -ddm-ssl 448/udp # DDM-SSL -ddm-ssl 448/tcp # DDM-SSL -# Steve Ritland -as-servermap 449/udp # AS Server Mapper -as-servermap 449/tcp # AS Server Mapper -# Barbara Foss -tserver 450/udp # Computer Supported Telecomunication Applications -tserver 450/tcp # Computer Supported Telecomunication Applications -# Harvey S. Schultz -sfs-smp-net 451/udp # Cray Network Semaphore server -sfs-smp-net 451/tcp # Cray Network Semaphore server -sfs-config 452/udp # Cray SFS config server -sfs-config 452/tcp # Cray SFS config server -# Walter Poxon -creativeserver 453/udp # CreativeServer -creativeserver 453/tcp # CreativeServer -contentserver 454/udp # ContentServer -contentserver 454/tcp # ContentServer -creativepartnr 455/udp # CreativePartnr -creativepartnr 455/tcp # CreativePartnr -# Jesus Ortiz -macon-udp 456/udp # macon-udp -macon-tcp 456/tcp # macon-tcp -# Yoshinobu Inoue -# -scohelp 457/udp # scohelp -scohelp 457/tcp # scohelp -# Faith Zack -appleqtc 458/udp # apple quick time -appleqtc 458/tcp # apple quick time -# Murali Ranganathan -# -ampr-rcmd 459/udp # ampr-rcmd -ampr-rcmd 459/tcp # ampr-rcmd -# Rob Janssen -skronk 460/udp # skronk -skronk 460/tcp # skronk -# Henry Strickland -datasurfsrv 461/udp # DataRampSrv -datasurfsrv 461/tcp # DataRampSrv -datasurfsrvsec 462/udp # DataRampSrvSec -datasurfsrvsec 462/tcp # DataRampSrvSec -# Diane Downie -alpes 463/udp # alpes -alpes 463/tcp # alpes -# Alain Durand -kpasswd 464/udp # kpasswd -kpasswd 464/tcp # kpasswd -# Theodore Ts'o -igmpv3lite 465/udp # IGMP over UDP for SSM -urd 465/tcp # URL Rendesvous Directory for SSM -# Toerless Eckert -digital-vrc 466/udp # digital-vrc -digital-vrc 466/tcp # digital-vrc -# Peter Higginson -mylex-mapd 467/udp # mylex-mapd -mylex-mapd 467/tcp # mylex-mapd -# Gary Lewis -photuris 468/udp # proturis -photuris 468/tcp # proturis -# Bill Simpson -rcp 469/udp # Radio Control Protocol -rcp 469/tcp # Radio Control Protocol -# Jim Jennings +1-708-538-7241 -scx-proxy 470/udp # scx-proxy -scx-proxy 470/tcp # scx-proxy -# Scott Narveson -mondex 471/udp # Mondex -mondex 471/tcp # Mondex -# Bill Reding -ljk-login 472/udp # ljk-login -ljk-login 472/tcp # ljk-login -# LJK Software, Cambridge, Massachusetts -# -hybrid-pop 473/udp # hybrid-pop -hybrid-pop 473/tcp # hybrid-pop -# Rami Rubin -tn-tl-w2 474/udp # tn-tl-w2 -tn-tl-w1 474/tcp # tn-tl-w1 -# Ed Kress -tcpnethaspsrv 475/udp # tcpnethaspsrv -tcpnethaspsrv 475/tcp # tcpnethaspsrv -# Charlie Hava -tn-tl-fd1 476/udp # tn-tl-fd1 -tn-tl-fd1 476/tcp # tn-tl-fd1 -# Ed Kress -ss7ns 477/udp # ss7ns -ss7ns 477/tcp # ss7ns -# Jean-Michel URSCH -spsc 478/udp # spsc -spsc 478/tcp # spsc -# Mike Rieker -iafserver 479/udp # iafserver -iafserver 479/tcp # iafserver -iafdbase 480/udp # iafdbase -iafdbase 480/tcp # iafdbase -# ricky@solect.com -ph 481/udp # Ph service -ph 481/tcp # Ph service -# Roland Hedberg -bgs-nsi 482/udp # bgs-nsi -bgs-nsi 482/tcp # bgs-nsi -# Jon Saperia -ulpnet 483/udp # ulpnet -ulpnet 483/tcp # ulpnet -# Kevin Mooney -integra-sme 484/udp # Integra Software Management Environment -integra-sme 484/tcp # Integra Software Management Environment -# Randall Dow -powerburst 485/udp # Air Soft Power Burst -powerburst 485/tcp # Air Soft Power Burst -# -avian 486/udp # avian -avian 486/tcp # avian -# Robert Ullmann -# -saft 487/udp # saft Simple Asynchronous File Transfer -saft 487/tcp # saft Simple Asynchronous File Transfer -# Ulli Horlacher -gss-http 488/udp # gss-http -gss-http 488/tcp # gss-http -# Doug Rosenthal -nest-protocol 489/udp # nest-protocol -nest-protocol 489/tcp # nest-protocol -# Gilles Gameiro -micom-pfs 490/udp # micom-pfs -micom-pfs 490/tcp # micom-pfs -# David Misunas -go-login 491/udp # go-login -go-login 491/tcp # go-login -# Troy Morrison -ticf-1 492/udp # Transport Independent Convergence for FNA -ticf-1 492/tcp # Transport Independent Convergence for FNA -ticf-2 493/udp # Transport Independent Convergence for FNA -ticf-2 493/tcp # Transport Independent Convergence for FNA -# Mamoru Ito -pov-ray 494/udp # POV-Ray -pov-ray 494/tcp # POV-Ray -# POV-Team Co-ordinator -# -intecourier 495/udp # intecourier -intecourier 495/tcp # intecourier -# Steve Favor -pim-rp-disc 496/udp # PIM-RP-DISC -pim-rp-disc 496/tcp # PIM-RP-DISC -# Dino Farinacci -dantz 497/udp # dantz -dantz 497/tcp # dantz -# Richard Zulch -siam 498/udp # siam -siam 498/tcp # siam -# Philippe Gilbert -iso-ill 499/udp # ISO ILL Protocol -iso-ill 499/tcp # ISO ILL Protocol -# Mark H. Needleman -isakmp 500/udp # isakmp -isakmp 500/tcp # isakmp -# Mark Schertler -stmf 501/udp # STMF -stmf 501/tcp # STMF -# Alan Ungar -asa-appl-proto 502/udp # asa-appl-proto -asa-appl-proto 502/tcp # asa-appl-proto -# Dennis Dube -intrinsa 503/udp # Intrinsa -intrinsa 503/tcp # Intrinsa -# Robert Ford -citadel 504/udp # citadel -citadel 504/tcp # citadel -# Art Cancro -mailbox-lm 505/udp # mailbox-lm -mailbox-lm 505/tcp # mailbox-lm -# Beverly Moody -ohimsrv 506/udp # ohimsrv -ohimsrv 506/tcp # ohimsrv -# Scott Powell -crs 507/udp # crs -crs 507/tcp # crs -# Brad Wright -xvttp 508/udp # xvttp -xvttp 508/tcp # xvttp -# Keith J. Alphonso -snare 509/udp # snare -snare 509/tcp # snare -# Dennis Batchelder -fcp 510/udp # FirstClass Protocol -fcp 510/tcp # FirstClass Protocol -# Mike Marshburn -passgo 511/udp # PassGo -passgo 511/tcp # PassGo -# John Rainford -exec 512/tcp # remote process execution; -# authentication performed using -# passwords and UNIX login names -comsat 512/udp biff # -# of new mail received; currently -# receives messages only from -# processes on the same machine -login 513/tcp # remote login a la telnet; -# automatic authentication performed -# based on priviledged port numbers -# and distributed data bases which -# identify "authentication domains" -who 513/udp # maintains data bases showing who's -# logged in to machines on a local -# net and the load average of the -# machine -shell 514/tcp # cmd -# like exec, but automatic authentication -# is performed as for login server -syslog 514/udp # -printer 515/udp # spooler -printer 515/tcp # spooler -videotex 516/udp # videotex -videotex 516/tcp # videotex -# Daniel Mavrakis -talk 517/tcp # like tenex link, but across -# machine - unfortunately, doesn't -# use link protocol (this is actually -# just a rendezvous port from which a -# tcp connection is established) -talk 517/udp # like tenex link, but across -# machine - unfortunately, doesn't -# use link protocol (this is actually -# just a rendezvous port from which a -# tcp connection is established) -ntalk 518/udp # -ntalk 518/tcp # -utime 519/udp # unixtime -utime 519/tcp # unixtime -router 520/udp # local routing process (on site); -efs 520/tcp # extended file name server -# uses variant of Xerox NS routing -# information protocol - RIP -ripng 521/udp # ripng -ripng 521/tcp # ripng -# Robert E. Minnear -ulp 522/udp # ULP -ulp 522/tcp # ULP -# Max Morris -ibm-db2 523/udp # IBM-DB2 -ibm-db2 523/tcp # IBM-DB2 -# Peter Pau -ncp 524/udp # NCP -ncp 524/tcp # NCP -# Don Provan -timed 525/udp # timeserver -timed 525/tcp # timeserver -tempo 526/udp # newdate -tempo 526/tcp # newdate -# Unknown -stx 527/udp # Stock IXChange -stx 527/tcp # Stock IXChange -custix 528/udp # Customer IXChange -custix 528/tcp # Customer IXChange -# Ferdi Ladeira -irc-serv 529/udp # IRC-SERV -irc-serv 529/tcp # IRC-SERV -# Brian Tackett -courier 530/udp # rpc -courier 530/tcp # rpc -conference 531/udp # chat -conference 531/tcp # chat -netnews 532/udp # readnews -netnews 532/tcp # readnews -netwall 533/udp # for emergency broadcasts -netwall 533/tcp # for emergency broadcasts -mm-admin 534/udp # MegaMedia Admin -mm-admin 534/tcp # MegaMedia Admin -# Andreas Heidemann -iiop 535/udp # iiop -iiop 535/tcp # iiop -# Jeff M.Michaud -opalis-rdv 536/udp # opalis-rdv -opalis-rdv 536/tcp # opalis-rdv -# Laurent Domenech -nmsp 537/udp # Networked Media Streaming Protocol -nmsp 537/tcp # Networked Media Streaming Protocol -# Paul Santinelli Jr. -gdomap 538/udp # gdomap -gdomap 538/tcp # gdomap -# Richard Frith-Macdonald -apertus-ldp 539/udp # Apertus Technologies Load Determination -apertus-ldp 539/tcp # Apertus Technologies Load Determination -uucp 540/udp # uucpd -uucp 540/tcp # uucpd -uucp-rlogin 541/udp # uucp-rlogin -uucp-rlogin 541/tcp # uucp-rlogin -# Stuart Lynne -commerce 542/udp # commerce -commerce 542/tcp # commerce -# Randy Epstein -klogin 543/udp # -klogin 543/tcp # -kshell 544/udp # krcmd -kshell 544/tcp # krcmd -appleqtcsrvr 545/udp # appleqtcsrvr -appleqtcsrvr 545/tcp # appleqtcsrvr -# Murali Ranganathan -# -dhcpv6-client 546/udp # DHCPv6 Client -dhcpv6-client 546/tcp # DHCPv6 Client -dhcpv6-server 547/udp # DHCPv6 Server -dhcpv6-server 547/tcp # DHCPv6 Server -# Jim Bound -afpovertcp 548/udp # AFP over TCP -afpovertcp 548/tcp # AFP over TCP -# Leland Wallace -idfp 549/udp # IDFP -idfp 549/tcp # IDFP -# Ramana Kovi -new-rwho 550/udp # new-who -new-rwho 550/tcp # new-who -cybercash 551/udp # cybercash -cybercash 551/tcp # cybercash -# Donald E. Eastlake 3rd -devshr-nts 552/udp # DeviceShare -devshr-nts 552/tcp # DeviceShare -# Benjamin Rosenberg -pirp 553/udp # pirp -pirp 553/tcp # pirp -# D. J. Bernstein -rtsp 554/udp # Real Time Stream Control Protocol -rtsp 554/tcp # Real Time Stream Control Protocol -# Rob Lanphier -dsf 555/udp # -dsf 555/tcp # -remotefs 556/udp # rfs server -remotefs 556/tcp # rfs server -openvms-sysipc 557/udp # openvms-sysipc -openvms-sysipc 557/tcp # openvms-sysipc -# Alan Potter -sdnskmp 558/udp # SDNSKMP -sdnskmp 558/tcp # SDNSKMP -teedtap 559/udp # TEEDTAP -teedtap 559/tcp # TEEDTAP -# Mort Hoffman -rmonitor 560/udp # rmonitord -rmonitor 560/tcp # rmonitord -monitor 561/udp # -monitor 561/tcp # -chshell 562/udp # chcmd -chshell 562/tcp # chcmd -nntps 563/udp # nntp protocol over TLS/SSL (was snntp) -nntps 563/tcp # nntp protocol over TLS/SSL (was snntp) -# Kipp E.B. Hickman -9pfs 564/udp # plan 9 file service -9pfs 564/tcp # plan 9 file service -whoami 565/udp # whoami -whoami 565/tcp # whoami -streettalk 566/udp # streettalk -streettalk 566/tcp # streettalk -banyan-rpc 567/udp # banyan-rpc -banyan-rpc 567/tcp # banyan-rpc -# Tom Lemaire -ms-shuttle 568/udp # microsoft shuttle -ms-shuttle 568/tcp # microsoft shuttle -# Rudolph Balaz -ms-rome 569/udp # microsoft rome -ms-rome 569/tcp # microsoft rome -# Rudolph Balaz -meter 570/udp # demon -meter 570/tcp # demon -meter 571/udp # udemon -meter 571/tcp # udemon -sonar 572/udp # sonar -sonar 572/tcp # sonar -# Keith Moore -banyan-vip 573/udp # banyan-vip -banyan-vip 573/tcp # banyan-vip -# Denis Leclerc -ftp-agent 574/udp # FTP Software Agent System -ftp-agent 574/tcp # FTP Software Agent System -# Michael S. Greenberg -vemmi 575/udp # VEMMI -vemmi 575/tcp # VEMMI -# Daniel Mavrakis -ipcd 576/udp # ipcd -ipcd 576/tcp # ipcd -vnas 577/udp # vnas -vnas 577/tcp # vnas -ipdd 578/udp # ipdd -ipdd 578/tcp # ipdd -# Jay Farhat -decbsrv 579/udp # decbsrv -decbsrv 579/tcp # decbsrv -# Rudi Martin -sntp-heartbeat 580/udp # SNTP HEARTBEAT -sntp-heartbeat 580/tcp # SNTP HEARTBEAT -# Louis Mamakos -bdp 581/udp # Bundle Discovery Protocol -bdp 581/tcp # Bundle Discovery Protocol -# Gary Malkin -scc-security 582/udp # SCC Security -scc-security 582/tcp # SCC Security -# Prashant Dholakia -philips-vc 583/udp # Philips Video-Conferencing -philips-vc 583/tcp # Philips Video-Conferencing -# Janna Chang -keyserver 584/udp # Key Server -keyserver 584/tcp # Key Server -# Gary Howland -imap4-ssl 585/udp # IMAP4+SSL (use 993 instead) -imap4-ssl 585/tcp # IMAP4+SSL (use 993 instead) -# Terry Gray -# Use of 585 is not recommended, use 993 instead -password-chg 586/udp # Password Change -password-chg 586/tcp # Password Change -submission 587/udp # Submission -submission 587/tcp # Submission -# Randy Gellens -cal 588/udp # CAL -cal 588/tcp # CAL -# Myron Hattig -eyelink 589/udp # EyeLink -eyelink 589/tcp # EyeLink -# Dave Stampe -tns-cml 590/udp # TNS CML -tns-cml 590/tcp # TNS CML -# Jerome Albin -http-alt 591/udp # FileMaker, Inc. - HTTP Alternate (see Port 80) -http-alt 591/tcp # FileMaker, Inc. - HTTP Alternate (see Port 80) -# Clay Maeckel -eudora-set 592/udp # Eudora Set -eudora-set 592/tcp # Eudora Set -# Randall Gellens -http-rpc-epmap 593/udp # HTTP RPC Ep Map -http-rpc-epmap 593/tcp # HTTP RPC Ep Map -# Edward Reus -tpip 594/udp # TPIP -tpip 594/tcp # TPIP -# Brad Spear -cab-protocol 595/udp # CAB Protocol -cab-protocol 595/tcp # CAB Protocol -# Winston Hetherington -smsd 596/udp # SMSD -smsd 596/tcp # SMSD -# Wayne Barlow -ptcnameservice 597/udp # PTC Name Service -ptcnameservice 597/tcp # PTC Name Service -# Yuri Machkasov -sco-websrvrmg3 598/udp # SCO Web Server Manager 3 -sco-websrvrmg3 598/tcp # SCO Web Server Manager 3 -# Simon Baldwin -acp 599/udp # Aeolon Core Protocol -acp 599/tcp # Aeolon Core Protocol -# Michael Alyn Miller -ipcserver 600/udp # Sun IPC server -ipcserver 600/tcp # Sun IPC server -# Bill Schiefelbein -syslog-conn 601/udp # Reliable Syslog Service -syslog-conn 601/tcp # Reliable Syslog Service -# RFC 3195 -xmlrpc-beep 602/udp # XML-RPC over BEEP -xmlrpc-beep 602/tcp # XML-RPC over BEEP -# RFC3529 March 2003 -idxp 603/udp # IDXP -idxp 603/tcp # IDXP -# RFC-ietf-idwg-beep-idxp-07.txt -tunnel 604/udp # TUNNEL -tunnel 604/tcp # TUNNEL -# RFC-ietf-idwg-beep-tunnel-05.txt -soap-beep 605/udp # SOAP over BEEP -soap-beep 605/tcp # SOAP over BEEP -# RFC3288 April 2002 -urm 606/udp # Cray Unified Resource Manager -urm 606/tcp # Cray Unified Resource Manager -nqs 607/udp # nqs -nqs 607/tcp # nqs -# Bill Schiefelbein -sift-uft 608/udp # Sender-Initiated/Unsolicited File Transfer -sift-uft 608/tcp # Sender-Initiated/Unsolicited File Transfer -# Rick Troth -npmp-trap 609/udp # npmp-trap -npmp-trap 609/tcp # npmp-trap -npmp-local 610/udp # npmp-local -npmp-local 610/tcp # npmp-local -npmp-gui 611/udp # npmp-gui -npmp-gui 611/tcp # npmp-gui -# John Barnes -hmmp-ind 612/udp # HMMP Indication -hmmp-ind 612/tcp # HMMP Indication -hmmp-op 613/udp # HMMP Operation -hmmp-op 613/tcp # HMMP Operation -# Andrew Sinclair -sshell 614/udp # SSLshell -sshell 614/tcp # SSLshell -# Simon J. Gerraty -sco-inetmgr 615/udp # Internet Configuration Manager -sco-inetmgr 615/tcp # Internet Configuration Manager -sco-sysmgr 616/udp # SCO System Administration Server -sco-sysmgr 616/tcp # SCO System Administration Server -sco-dtmgr 617/udp # SCO Desktop Administration Server -sco-dtmgr 617/tcp # SCO Desktop Administration Server -# Christopher Durham -dei-icda 618/udp # DEI-ICDA -dei-icda 618/tcp # DEI-ICDA -# David Turner -compaq-evm 619/udp # Compaq EVM -compaq-evm 619/tcp # Compaq EVM -# Jem Treadwell -sco-websrvrmgr 620/udp # SCO WebServer Manager -sco-websrvrmgr 620/tcp # SCO WebServer Manager -# Christopher Durham -escp-ip 621/udp # ESCP -escp-ip 621/tcp # ESCP -# Lai Zit Seng -collaborator 622/udp # Collaborator -collaborator 622/tcp # Collaborator -# Johnson Davis -asf-rmcp 623/udp # ASF Remote Management and Control Protocol -asf-rmcp 623/tcp # ASF Remote Management and Control Protocol -# Carl First -cryptoadmin 624/udp # Crypto Admin -cryptoadmin 624/tcp # Crypto Admin -# Tony Walker -dec_dlm 625/udp # DEC DLM -dec_dlm 625/tcp # DEC DLM -# Rudi Martin -asia 626/udp # ASIA -asia 626/tcp # ASIA -# Michael Dasenbrock -passgo-tivoli 627/udp # PassGo Tivoli -passgo-tivoli 627/tcp # PassGo Tivoli -# Chris Hall -qmqp 628/udp # QMQP -qmqp 628/tcp # QMQP -# Dan Bernstein -3com-amp3 629/udp # 3Com AMP3 -3com-amp3 629/tcp # 3Com AMP3 -# Prakash Banthia -rda 630/udp # RDA -rda 630/tcp # RDA -# John Hadjioannou -ipp 631/udp # IPP (Internet Printing Protocol) -ipp 631/tcp # IPP (Internet Printing Protocol) -# Carl-Uno Manros -bmpp 632/udp # bmpp -bmpp 632/tcp # bmpp -# Troy Rollo -servstat 633/udp # Service Status update (Sterling Software) -servstat 633/tcp # Service Status update (Sterling Software) -# Greg Rose -ginad 634/udp # ginad -ginad 634/tcp # ginad -# Mark Crother -rlzdbase 635/udp # RLZ DBase -rlzdbase 635/tcp # RLZ DBase -# Michael Ginn -ldaps 636/udp # ldap protocol over TLS/SSL (was sldap) -ldaps 636/tcp # ldap protocol over TLS/SSL (was sldap) -# Pat Richard -lanserver 637/udp # lanserver -lanserver 637/tcp # lanserver -# Chris Larsson -mcns-sec 638/udp # mcns-sec -mcns-sec 638/tcp # mcns-sec -# Kaz Ozawa -msdp 639/udp # MSDP -msdp 639/tcp # MSDP -# Dino Farinacci -entrust-sps 640/udp # entrust-sps -entrust-sps 640/tcp # entrust-sps -# Marek Buchler -repcmd 641/udp # repcmd -repcmd 641/tcp # repcmd -# Scott Dale -esro-emsdp 642/udp # ESRO-EMSDP V1.3 -esro-emsdp 642/tcp # ESRO-EMSDP V1.3 -# Mohsen Banan -sanity 643/udp # SANity -sanity 643/tcp # SANity -# Peter Viscarola -dwr 644/udp # dwr -dwr 644/tcp # dwr -# Bill Fenner -pssc 645/udp # PSSC -pssc 645/tcp # PSSC -# Egon Meier-Engelen -ldp 646/udp # LDP -ldp 646/tcp # LDP -# Bob Thomas -dhcp-failover 647/udp # DHCP Failover -dhcp-failover 647/tcp # DHCP Failover -# Bernard Volz -rrp 648/udp # Registry Registrar Protocol (RRP) -rrp 648/tcp # Registry Registrar Protocol (RRP) -# Scott Hollenbeck -cadview-3d 649/udp # Cadview-3d - streaming 3d models over the internet -cadview-3d 649/tcp # Cadview-3d - streaming 3d models over the internet -# David Cooper -obex 650/udp # OBEX -obex 650/tcp # OBEX -# Jeff Garbers -ieee-mms 651/udp # IEEE MMS -ieee-mms 651/tcp # IEEE MMS -# Curtis Anderson -hello-port 652/udp # HELLO_PORT -hello-port 652/tcp # HELLO_PORT -# Patrick Cipiere -repscmd 653/udp # RepCmd -repscmd 653/tcp # RepCmd -# Scott Dale -aodv 654/udp # AODV -aodv 654/tcp # AODV -# Charles Perkins -tinc 655/udp # TINC -tinc 655/tcp # TINC -# Ivo Timmermans -spmp 656/udp # SPMP -spmp 656/tcp # SPMP -# Jakob Kaivo -rmc 657/udp # RMC -rmc 657/tcp # RMC -# Michael Schmidt -tenfold 658/udp # TenFold -tenfold 658/tcp # TenFold -# Louis Olszyk -# 659 Removed (2001-06-06) -mac-srvr-admin 660/udp # MacOS Server Admin -mac-srvr-admin 660/tcp # MacOS Server Admin -# Forest Hill -hap 661/udp # HAP -hap 661/tcp # HAP -# Igor Plotnikov -pftp 662/udp # PFTP -pftp 662/tcp # PFTP -# Ben Schluricke -purenoise 663/udp # PureNoise -purenoise 663/tcp # PureNoise -# Sam Osa -asf-secure-rmcp 664/udp # ASF Secure Remote Management and Control Protocol -asf-secure-rmcp 664/tcp # ASF Secure Remote Management and Control Protocol -# Carl First -sun-dr 665/udp # Sun DR -sun-dr 665/tcp # Sun DR -# Harinder Bhasin -mdqs 666/udp doom # -mdqs 666/tcp doom # -# -disclose 667/udp # campaign contribution disclosures - SDR Technologies -disclose 667/tcp # campaign contribution disclosures - SDR Technologies -# Jim Dixon -mecomm 668/udp # MeComm -mecomm 668/tcp # MeComm -meregister 669/udp # MeRegister -meregister 669/tcp # MeRegister -# Armin Sawusch -vacdsm-sws 670/udp # VACDSM-SWS -vacdsm-sws 670/tcp # VACDSM-SWS -vacdsm-app 671/udp # VACDSM-APP -vacdsm-app 671/tcp # VACDSM-APP -vpps-qua 672/udp # VPPS-QUA -vpps-qua 672/tcp # VPPS-QUA -cimplex 673/udp # CIMPLEX -cimplex 673/tcp # CIMPLEX -# Ulysses G. Smith Jr. -acap 674/udp # ACAP -acap 674/tcp # ACAP -# Chris Newman -dctp 675/udp # DCTP -dctp 675/tcp # DCTP -# Andre Kramer -vpps-via 676/udp # VPPS Via -vpps-via 676/tcp # VPPS Via -# Ulysses G. Smith Jr. -vpp 677/udp # Virtual Presence Protocol -vpp 677/tcp # Virtual Presence Protocol -# Klaus Wolf -ggf-ncp 678/udp # GNU Generation Foundation NCP -ggf-ncp 678/tcp # GNU Generation Foundation NCP -# Noah Paul -mrm 679/udp # MRM -mrm 679/tcp # MRM -# Liming Wei -entrust-aaas 680/udp # entrust-aaas -entrust-aaas 680/tcp # entrust-aaas -entrust-aams 681/udp # entrust-aams -entrust-aams 681/tcp # entrust-aams -# Adrian Mancini -xfr 682/udp # XFR -xfr 682/tcp # XFR -# Noah Paul -corba-iiop 683/udp # CORBA IIOP -corba-iiop 683/tcp # CORBA IIOP -corba-iiop-ssl 684/udp # CORBA IIOP SSL -corba-iiop-ssl 684/tcp # CORBA IIOP SSL -# Henry Lowe -mdc-portmapper 685/udp # MDC Port Mapper -mdc-portmapper 685/tcp # MDC Port Mapper -# Noah Paul -hcp-wismar 686/udp # Hardware Control Protocol Wismar -hcp-wismar 686/tcp # Hardware Control Protocol Wismar -# David Merchant -asipregistry 687/udp # asipregistry -asipregistry 687/tcp # asipregistry -# Erik Sea -realm-rusd 688/udp # REALM-RUSD -realm-rusd 688/tcp # REALM-RUSD -# Jerry Knight -nmap 689/udp # NMAP -nmap 689/tcp # NMAP -# Peter Dennis Bartok -vatp 690/udp # VATP -vatp 690/tcp # VATP -# Atica Software -msexch-routing 691/udp # MS Exchange Routing -msexch-routing 691/tcp # MS Exchange Routing -# David Lemson -hyperwave-isp 692/udp # Hyperwave-ISP -hyperwave-isp 692/tcp # Hyperwave-ISP -# Gerald Mesaric -connendp 693/udp # connendp -connendp 693/tcp # connendp -# Ronny Bremer -ha-cluster 694/udp # ha-cluster -ha-cluster 694/tcp # ha-cluster -# Alan Robertson -ieee-mms-ssl 695/udp # IEEE-MMS-SSL -ieee-mms-ssl 695/tcp # IEEE-MMS-SSL -# Curtis Anderson -rushd 696/udp # RUSHD -rushd 696/tcp # RUSHD -# Greg Ercolano -uuidgen 697/udp # UUIDGEN -uuidgen 697/tcp # UUIDGEN -# James Falkner -olsr 698/udp # OLSR -olsr 698/tcp # OLSR -# Thomas Clausen -accessnetwork 699/udp # Access Network -accessnetwork 699/tcp # Access Network -# Yingchun Xu -# 700-703 Unassigned -elcsd 704/udp # errlog copy/server daemon -elcsd 704/tcp # errlog copy/server daemon -agentx 705/udp # AgentX -agentx 705/tcp # AgentX -# Bob Natale -silc 706/udp # SILC -silc 706/tcp # SILC -# Pekka Riikonen -borland-dsj 707/udp # Borland DSJ -borland-dsj 707/tcp # Borland DSJ -# Gerg Cole -# 708 Unassigned -entrust-kmsh 709/udp # Entrust Key Management Service Handler -entrust-kmsh 709/tcp # Entrust Key Management Service Handler -entrust-ash 710/udp # Entrust Administration Service Handler -entrust-ash 710/tcp # Entrust Administration Service Handler -# Peter Whittaker -cisco-tdp 711/udp # Cisco TDP -cisco-tdp 711/tcp # Cisco TDP -# Bruce Davie -# 712-728 Unassigned -netviewdm1 729/udp # IBM NetView DM/6000 Server/Client -netviewdm1 729/tcp # IBM NetView DM/6000 Server/Client -netviewdm2 730/udp # IBM NetView DM/6000 send/tcp -netviewdm2 730/tcp # IBM NetView DM/6000 send/tcp -netviewdm3 731/udp # IBM NetView DM/6000 receive/tcp -netviewdm3 731/tcp # IBM NetView DM/6000 receive/tcp -# Philippe Binet (phbinet@vnet.IBM.COM) -# 732-740 Unassigned -netgw 741/udp # netGW -netgw 741/tcp # netGW -# Oliver Korfmacher (okorf@netcs.com) -netrcs 742/udp # Network based Rev. Cont. Sys. -netrcs 742/tcp # Network based Rev. Cont. Sys. -# Gordon C. Galligher -# 743 Unassigned -flexlm 744/udp # Flexible License Manager -flexlm 744/tcp # Flexible License Manager -# Matt Christiano -# -# 745-746 Unassigned -fujitsu-dev 747/udp # Fujitsu Device Control -fujitsu-dev 747/tcp # Fujitsu Device Control -ris-cm 748/udp # Russell Info Sci Calendar Manager -ris-cm 748/tcp # Russell Info Sci Calendar Manager -kerberos-adm 749/udp # kerberos administration -kerberos-adm 749/tcp # kerberos administration -loadav 750/udp kerberos-iv # -rfile 750/tcp # -# Martin Hamilton -pump 751/udp # -pump 751/tcp # -qrh 752/udp # -qrh 752/tcp # -rrh 753/udp # -rrh 753/tcp # -tell 754/udp # send -tell 754/tcp # send -# Josyula R. Rao -# 755-756 Unassigned -nlogin 758/udp # -nlogin 758/tcp # -con 759/udp # -con 759/tcp # -ns 760/udp # -ns 760/tcp # -rxe 761/udp # -rxe 761/tcp # -quotad 762/udp # -quotad 762/tcp # -cycleserv 763/udp # -cycleserv 763/tcp # -omserv 764/udp # -omserv 764/tcp # -webster 765/udp # -webster 765/tcp # -# Josyula R. Rao -# 766 Unassigned -phonebook 767/udp # phone -phonebook 767/tcp # phone -# Josyula R. Rao -# 768 Unassigned -vid 769/udp # -vid 769/tcp # -cadlock 770/udp # -cadlock 770/tcp # -rtip 771/udp # -rtip 771/tcp # -cycleserv2 772/udp # -cycleserv2 772/tcp # -notify 773/udp # -submit 773/tcp # -acmaint_dbd 774/udp # -rpasswd 774/tcp # -acmaint_transd 775/udp # -entomb 775/tcp # -wpages 776/udp # -wpages 776/tcp # -# Josyula R. Rao -multiling-http 777/udp # Multiling HTTP -multiling-http 777/tcp # Multiling HTTP -# Alejandro Bonet -# 778-779 Unassigned -wpgs 780/udp # -wpgs 780/tcp # -# Josyula R. Rao -# 781-785 Unassigned -# 786 Unassigned (Removed 2002-05-08) -# 787 Unassigned (Removed 2002-10-08) -# 788-799 Unassigned -mdbs_daemon 800/udp # -mdbs_daemon 800/tcp # -device 801/udp # -device 801/tcp # -# 802-809 Unassigned -fcp-udp 810/udp # FCP Datagram -fcp-udp 810/tcp # FCP -# Paul Whittemore -# 811-827 Unassigned -itm-mcell-s 828/udp # itm-mcell-s -itm-mcell-s 828/tcp # itm-mcell-s -# Miles O'Neal -pkix-3-ca-ra 829/udp # PKIX-3 CA/RA -pkix-3-ca-ra 829/tcp # PKIX-3 CA/RA -# Carlisle Adams -# 830-846 Unassigned -dhcp-failover2 847/udp # dhcp-failover 2 -dhcp-failover2 847/tcp # dhcp-failover 2 -# Bernard Volz -gdoi 848/udp # GDOI -gdoi 848/tcp # GDOI -# RFC-ietf-msec-gdoi-07.txt -# 849-859 Unassigned -iscsi 860/udp # iSCSI -iscsi 860/tcp # iSCSI -# RFC-draft-ietf-ips-iscsi-20.txt -# 861-872 Unassigned -rsync 873/udp # rsync -rsync 873/tcp # rsync -# Andrew Tridgell -# 874-885 Unassigned -iclcnet-locate 886/udp # ICL coNETion locate server -iclcnet-locate 886/tcp # ICL coNETion locate server -# Bob Lyon -iclcnet_svinfo 887/udp # ICL coNETion server info -iclcnet_svinfo 887/tcp # ICL coNETion server info -# Bob Lyon -accessbuilder 888/udp # AccessBuilder -accessbuilder 888/tcp # AccessBuilder -# Steve Sweeney -# The following entry records an unassigned but widespread use -cddbp 888/tcp # CD Database Protocol -# Steve Scherf -# -# 889-899 Unassigned -omginitialrefs 900/udp # OMG Initial Refs -omginitialrefs 900/tcp # OMG Initial Refs -# Christian Callsen -smpnameres 901/udp # SMPNAMERES -smpnameres 901/tcp # SMPNAMERES -# Leif Ekblad -ideafarm-chat 902/udp # IDEAFARM-CHAT -ideafarm-chat 902/tcp # IDEAFARM-CHAT -ideafarm-catch 903/udp # IDEAFARM-CATCH -ideafarm-catch 903/tcp # IDEAFARM-CATCH -# Wo'o Ideafarm -# 904-910 Unassigned -xact-backup 911/udp # xact-backup -xact-backup 911/tcp # xact-backup -# Bill Carroll -apex-mesh 912/udp # APEX relay-relay service -apex-mesh 912/tcp # APEX relay-relay service -apex-edge 913/udp # APEX endpoint-relay service -apex-edge 913/tcp # APEX endpoint-relay service -# [RFC3340] -# 914-988 Unassigned -ftps-data 989/udp # ftp protocol, data, over TLS/SSL -ftps-data 989/tcp # ftp protocol, data, over TLS/SSL -ftps 990/udp # ftp protocol, control, over TLS/SSL -ftps 990/tcp # ftp protocol, control, over TLS/SSL -# Christopher Allen -nas 991/udp # Netnews Administration System -nas 991/tcp # Netnews Administration System -# Vera Heinau -# Heiko Schlichting -telnets 992/udp # telnet protocol over TLS/SSL -telnets 992/tcp # telnet protocol over TLS/SSL -imaps 993/udp # imap4 protocol over TLS/SSL -imaps 993/tcp # imap4 protocol over TLS/SSL -ircs 994/udp # irc protocol over TLS/SSL -ircs 994/tcp # irc protocol over TLS/SSL -# Christopher Allen -pop3s 995/udp # pop3 protocol over TLS/SSL (was spop3) -pop3s 995/tcp # pop3 protocol over TLS/SSL (was spop3) -# Gordon Mangione -vsinet 996/udp # vsinet -vsinet 996/tcp # vsinet -# Rob Juergens -maitrd 997/udp # -maitrd 997/tcp # -puparp 998/udp # -busboy 998/tcp # -applix 999/udp puprouter # Applix ac -garcon 999/tcp puprouter # -cadlock2 1000/udp # -cadlock2 1000/tcp # -# 1001-1009 Unassigned -# 1008/udp Possibly used by Sun Solaris???? -surf 1010/udp # surf -surf 1010/tcp # surf -# Joseph Geer -# 1011-1022 Reserved - 1023/udp # Reserved - 1023/tcp # Reserved -# IANA - 1024/udp # Reserved - 1024/tcp # Reserved -# IANA -# -# REGISTERED PORT NUMBERS -# -blackjack 1025/udp # network blackjack -blackjack 1025/tcp # network blackjack -# Unknown contact -cap 1026/udp # Calender Access Protocol -cap 1026/tcp # Calender Access Protocol -# Doug Royer June 2002 -exosee 1027/udp # ExoSee -exosee 1027/tcp # ExoSee -# Chagdali Isamail June 2003 -# 1028-1029 Unassigned -iad1 1030/udp # BBN IAD -iad1 1030/tcp # BBN IAD -iad2 1031/udp # BBN IAD -iad2 1031/tcp # BBN IAD -iad3 1032/udp # BBN IAD -iad3 1032/tcp # BBN IAD -# Andy Malis -netinfo-local 1033/udp # local netinfo port -netinfo-local 1033/tcp # local netinfo port -# Marc Majka August 2002 -activesync 1034/udp # ActiveSync Notifications -activesync 1034/tcp # ActiveSync Notifications -# Sandra Vargas March 2003 -mxxrlogin 1035/udp # MX-XR RPC -mxxrlogin 1035/tcp # MX-XR RPC -# Arnold E. Mauer April 2003 -pcg-radar 1036/udp # RADAR Service Protocol -pcg-radar 1036/tcp # RADAR Service Protocol -# Steve Ravida -# 1037-1039 Unassigned -netarx 1040/udp # Netarx -netarx 1040/tcp # Netarx -# Fredrick Paul Eisele -# 1041-1044 Unassigned -fpitp 1045/udp # Fingerprint Image Transfer Protocol -fpitp 1045/tcp # Fingerprint Image Transfer Protocol -# Steven Fields February 2002 -# 1046 Unassigned -neod1 1047/udp # Sun's NEO Object Request Broker -neod1 1047/tcp # Sun's NEO Object Request Broker -neod2 1048/udp # Sun's NEO Object Request Broker -neod2 1048/tcp # Sun's NEO Object Request Broker -# Rohit Garg -td-postman 1049/udp # Tobit David Postman VPMN -td-postman 1049/tcp # Tobit David Postman VPMN -# Franz-Josef Leuders -cma 1050/udp # CORBA Management Agent -cma 1050/tcp # CORBA Management Agent -# Ramy Zaarour -optima-vnet 1051/udp # Optima VNET -optima-vnet 1051/tcp # Optima VNET -# Ralf Doewich -ddt 1052/udp # Dynamic DNS Tools -ddt 1052/tcp # Dynamic DNS Tools -# Remi Lefebvre -remote-as 1053/udp # Remote Assistant (RA) -remote-as 1053/tcp # Remote Assistant (RA) -# Roman Kriis -brvread 1054/udp # BRVREAD -brvread 1054/tcp # BRVREAD -# Gilles Roussel -ansyslmd 1055/udp # ANSYS - License Manager -ansyslmd 1055/tcp # ANSYS - License Manager -# Suzanne Lorrin -vfo 1056/udp # VFO -vfo 1056/tcp # VFO -# Anthony Gonzalez -startron 1057/udp # STARTRON -startron 1057/tcp # STARTRON -# Markus Sabadello -nim 1058/udp # nim -nim 1058/tcp # nim -nimreg 1059/udp # nimreg -nimreg 1059/tcp # nimreg -# Robert Gordon -polestar 1060/udp # POLESTAR -polestar 1060/tcp # POLESTAR -# Masakuni Okada -kiosk 1061/udp # KIOSK -kiosk 1061/tcp # KIOSK -# Howard Buck -veracity 1062/udp # Veracity -veracity 1062/tcp # Veracity -# Ross Williams -kyoceranetdev 1063/udp # KyoceraNetDev -kyoceranetdev 1063/tcp # KyoceraNetDev -# Shigenaka Kanemitsu -# -jstel 1064/udp # JSTEL -jstel 1064/tcp # JSTEL -# Duane Kiser -syscomlan 1065/udp # SYSCOMLAN -syscomlan 1065/tcp # SYSCOMLAN -# Urs Ryf -fpo-fns 1066/udp # FPO-FNS -fpo-fns 1066/tcp # FPO-FNS -# Jens Klose -instl_boots 1067/udp # Installation Bootstrap Proto. Serv. -instl_boots 1067/tcp # Installation Bootstrap Proto. Serv. -instl_bootc 1068/udp # Installation Bootstrap Proto. Cli. -instl_bootc 1068/tcp # Installation Bootstrap Proto. Cli. -# David Arko -cognex-insight 1069/udp # COGNEX-INSIGHT -cognex-insight 1069/tcp # COGNEX-INSIGHT -# Steve Olson -gmrupdateserv 1070/udp # GMRUpdateSERV -gmrupdateserv 1070/tcp # GMRUpdateSERV -# Steve Kellogg -bsquare-voip 1071/udp # BSQUARE-VOIP -bsquare-voip 1071/tcp # BSQUARE-VOIP -# Yen Lee -cardax 1072/udp # CARDAX -cardax 1072/tcp # CARDAX -# Charles Oram -bridgecontrol 1073/udp # Bridge Control -bridgecontrol 1073/tcp # Bridge Control -# Andy Heron -fastechnologlm 1074/udp # FASTechnologies License Manager -fastechnologlm 1074/tcp # FASTechnologies License Manager -# Robert C. Henningsgard -# -rdrmshc 1075/udp # RDRMSHC -rdrmshc 1075/tcp # RDRMSHC -# Ericko Shimada -dab-sti-c 1076/udp # DAB STI-C -dab-sti-c 1076/tcp # DAB STI-C -# World DAB -imgames 1077/udp # IMGames -imgames 1077/tcp # IMGames -# Jean A. Ames -avocent-proxy 1078/udp # Avocent Proxy Protocol -avocent-proxy 1078/tcp # Avocent Proxy Protocol -# Steven W. Clark -asprovatalk 1079/udp # ASPROVATalk -asprovatalk 1079/tcp # ASPROVATalk -# Chiew Farn Chung -socks 1080/udp # Socks -socks 1080/tcp # Socks -# Ying-Da Lee Peter.Lipp@iaik.at> -amt-esd-prot 1082/udp # AMT-ESD-PROT -amt-esd-prot 1082/tcp # AMT-ESD-PROT -# AMTEC S.p.A -ansoft-lm-1 1083/udp # Anasoft License Manager -ansoft-lm-1 1083/tcp # Anasoft License Manager -ansoft-lm-2 1084/udp # Anasoft License Manager -ansoft-lm-2 1084/tcp # Anasoft License Manager -webobjects 1085/udp # Web Objects -webobjects 1085/tcp # Web Objects -# Andy Belk -cplscrambler-lg 1086/udp # CPL Scrambler Logging -cplscrambler-lg 1086/tcp # CPL Scrambler Logging -cplscrambler-in 1087/udp # CPL Scrambler Internal -cplscrambler-in 1087/tcp # CPL Scrambler Internal -cplscrambler-al 1088/udp # CPL Scrambler Alarm Log -cplscrambler-al 1088/tcp # CPL Scrambler Alarm Log -# Richard Corn -ff-annunc 1089/udp # FF Annunciation -ff-annunc 1089/tcp # FF Annunciation -ff-fms 1090/udp # FF Fieldbus Message Specification -ff-fms 1090/tcp # FF Fieldbus Message Specification -ff-sm 1091/udp # FF System Management -ff-sm 1091/tcp # FF System Management -# Fieldbus Foundation -obrpd 1092/udp # Open Business Reporting Protocol -obrpd 1092/tcp # Open Business Reporting Protocol -# William Randolph Royere III -# -proofd 1093/udp # PROOFD -proofd 1093/tcp # PROOFD -rootd 1094/udp # ROOTD -rootd 1094/tcp # ROOTD -# Fons Rademakers -nicelink 1095/udp # NICELink -nicelink 1095/tcp # NICELink -# Jordi Lisbona -cnrprotocol 1096/udp # Common Name Resolution Protocol -cnrprotocol 1096/tcp # Common Name Resolution Protocol -# Michael Mealling -sunclustermgr 1097/udp # Sun Cluster Manager -sunclustermgr 1097/tcp # Sun Cluster Manager -# Ashit Patel -rmiactivation 1098/udp # RMI Activation -rmiactivation 1098/tcp # RMI Activation -rmiregistry 1099/udp # RMI Registry -rmiregistry 1099/tcp # RMI Registry -# Mark Hodapp -mctp 1100/udp # MCTP -mctp 1100/tcp # MCTP -# Vitaly Revsin -pt2-discover 1101/udp # PT2-DISCOVER -pt2-discover 1101/tcp # PT2-DISCOVER -# Ralph Kammerlander -# -adobeserver-1 1102/udp # ADOBE SERVER 1 -adobeserver-1 1102/tcp # ADOBE SERVER 1 -adobeserver-2 1103/udp # ADOBE SERVER 2 -adobeserver-2 1103/tcp # ADOBE SERVER 2 -# Frank Soetebeer -xrl 1104/udp # XRL -xrl 1104/tcp # XRL -# Patrick Robinson -ftranhc 1105/udp # FTRANHC -ftranhc 1105/tcp # FTRANHC -# Eriko Shimada -isoipsigport-1 1106/udp # ISOIPSIGPORT-1 -isoipsigport-1 1106/tcp # ISOIPSIGPORT-1 -isoipsigport-2 1107/udp # ISOIPSIGPORT-2 -isoipsigport-2 1107/tcp # ISOIPSIGPORT-2 -# Peter Egli -ratio-adp 1108/udp # ratio-adp -ratio-adp 1108/tcp # ratio-adp -# Oliver Thulke -# 1109 Reserved - IANA -nfsd-keepalive 1110/udp # Client status info -nfsd-status 1110/tcp # Cluster status info -# Edgar Circenis -lmsocialserver 1111/udp # LM Social Server -lmsocialserver 1111/tcp # LM Social Server -# Ron Lussier -icp 1112/udp # Intelligent Communication Protocol -icp 1112/tcp # Intelligent Communication Protocol -# Mark H. David -# 1113 Unassigned -mini-sql 1114/udp # Mini SQL -mini-sql 1114/tcp # Mini SQL -# David Hughes -ardus-trns 1115/udp # ARDUS Transfer -ardus-trns 1115/tcp # ARDUS Transfer -ardus-cntl 1116/udp # ARDUS Control -ardus-cntl 1116/tcp # ARDUS Control -ardus-mtrns 1117/udp # ARDUS Multicast Transfer -ardus-mtrns 1117/tcp # ARDUS Multicast Transfer -# Shinya Abe -# 1118-1121 Unassigned -availant-mgr 1122/udp # availant-mgr -availant-mgr 1122/tcp # availant-mgr -# Steven Pelletier -murray 1123/udp # Murray -murray 1123/tcp # Murray -# Stu Mark -# 1124-1154 Unassigned -nfa 1155/udp # Network File Access -nfa 1155/tcp # Network File Access -# James Powell -# 1156-1160 Unassigned -health-polling 1161/udp # Health Polling -health-polling 1161/tcp # Health Polling -health-trap 1162/udp # Health Trap -health-trap 1162/tcp # Health Trap -# 1163-1167 Unassigned -vchat 1168/udp # VChat Conference Service -vchat 1168/tcp # VChat Conference Service -# Andreas Wetzel September 2002 -tripwire 1169/udp # TRIPWIRE -tripwire 1169/tcp # TRIPWIRE -# Ed Metcalf -# Albert Holt -# 1170-1179 Unassigned -mc-client 1180/udp # Millicent Client Proxy -mc-client 1180/tcp # Millicent Client Proxy -# Steve Glassman -# 1181-1182 Unassigned -llsurfup-http 1183/udp # LL Surfup HTTP -llsurfup-http 1183/tcp # LL Surfup HTTP -llsurfup-https 1184/udp # LL Surfup HTTPS -llsurfup-https 1184/tcp # LL Surfup HTTPS -# Katy Lynn McCullough -catchpole 1185/udp # Catchpole port -catchpole 1185/tcp # Catchpole port -# Christian Catchpole March 2002 -# 1186-1187 Unassigned -hp-webadmin 1188/udp # HP Web Admin -hp-webadmin 1188/tcp # HP Web Admin -# Lance Kind -# 1189-1198 Unassigned -dmidi 1199/udp # DMIDI -dmidi 1199/tcp # DMIDI -# Phil Kerr February 2002 -scol 1200/udp # SCOL -scol 1200/tcp # SCOL -# Cryo-Networks -nucleus-sand 1201/udp # Nucleus Sand -nucleus-sand 1201/tcp # Nucleus Sand -# James Marsh -caiccipc 1202/udp # caiccipc -caiccipc 1202/tcp # caiccipc -# Vince Re -ssslic-mgr 1203/udp # License Validation -ssslic-mgr 1203/tcp # License Validation -ssslog-mgr 1204/udp # Log Request Listener -ssslog-mgr 1204/tcp # Log Request Listener -# Eric Bruno -accord-mgc 1205/udp # Accord-MGC -accord-mgc 1205/tcp # Accord-MGC -# Roni Even -anthony-data 1206/udp # Anthony Data -anthony-data 1206/tcp # Anthony Data -# Paul Dollemore -metasage 1207/udp # MetaSage -metasage 1207/tcp # MetaSage -# Peter Anvelt -seagull-ais 1208/udp # SEAGULL AIS -seagull-ais 1208/tcp # SEAGULL AIS -# Lee Breisacher -ipcd3 1209/udp # IPCD3 -ipcd3 1209/tcp # IPCD3 -# Mark Ciskey -eoss 1210/udp # EOSS -eoss 1210/tcp # EOSS -# Robert Armes -groove-dpp 1211/udp # Groove DPP -groove-dpp 1211/tcp # Groove DPP -# Ken Moore -lupa 1212/udp # lupa -lupa 1212/tcp # lupa -# Barney Wolff -mpc-lifenet 1213/udp # MPC LIFENET -mpc-lifenet 1213/tcp # MPC LIFENET -# Ward Silver -kazaa 1214/udp # KAZAA -kazaa 1214/tcp # KAZAA -# Ahti Heinla -scanstat-1 1215/udp # scanSTAT 1.0 -scanstat-1 1215/tcp # scanSTAT 1.0 -# William Scheding -etebac5 1216/udp # ETEBAC 5 -etebac5 1216/tcp # ETEBAC 5 -# GSIT -hpss-ndapi 1217/udp # HPSS-NDAPI -hpss-ndapi 1217/tcp # HPSS-NDAPI -# Michael Gleicher -aeroflight-ads 1218/udp # AeroFlight-ADs -aeroflight-ads 1218/tcp # AeroFlight-ADs -aeroflight-ret 1219/udp # AeroFlight-Ret -aeroflight-ret 1219/tcp # AeroFlight-Ret -# Eric Johnson -qt-serveradmin 1220/udp # QT SERVER ADMIN -qt-serveradmin 1220/tcp # QT SERVER ADMIN -# Chris LeCroy -sweetware-apps 1221/udp # SweetWARE Apps -sweetware-apps 1221/tcp # SweetWARE Apps -# David Dunetz -nerv 1222/udp # SNI R&D network -nerv 1222/tcp # SNI R&D network -# Martin Freiss -tgp 1223/udp # TGP -tgp 1223/tcp # TGP -# Gur Kimchi -vpnz 1224/udp # VPNz -vpnz 1224/tcp # VPNz -# Tom Strack -slinkysearch 1225/udp # SLINKYSEARCH -slinkysearch 1225/tcp # SLINKYSEARCH -# Desmond Chan -stgxfws 1226/udp # STGXFWS -stgxfws 1226/tcp # STGXFWS -# Tetsuya Shioda -dns2go 1227/udp # DNS2Go -dns2go 1227/tcp # DNS2Go -# Mark Richards -florence 1228/udp # FLORENCE -florence 1228/tcp # FLORENCE -# Brian Trammell -novell-zfs 1229/udp # Novell ZFS -novell-zfs 1229/tcp # Novell ZFS -# Ty Ellis -periscope 1230/udp # Periscope -periscope 1230/tcp # Periscope -# Kevin Madden -menandmice-lpm 1231/udp # menandmice-lpm -menandmice-lpm 1231/tcp # menandmice-lpm -# Sigfus Magnusson -##### Microsoft (unoffically) using 1232 ##### -univ-appserver 1233/udp # Universal App Server -univ-appserver 1233/tcp # Universal App Server -# Tim Sent -search-agent 1234/udp # Infoseek Search Agent -search-agent 1234/tcp # Infoseek Search Agent -# Jackie Wu -mosaicsyssvc1 1235/udp # mosaicsyssvc1 -mosaicsyssvc1 1235/tcp # mosaicsyssvc1 -# Brian Matthews -bvcontrol 1236/udp # bvcontrol -bvcontrol 1236/tcp # bvcontrol -# Daniel J Walsh -tsdos390 1237/udp # tsdos390 -tsdos390 1237/tcp # tsdos390 -# Ben Pracht -hacl-qs 1238/udp # hacl-qs -hacl-qs 1238/tcp # hacl-qs -# Farid Faez -nmsd 1239/udp # NMSD -nmsd 1239/tcp # NMSD -# Yuri Machkasov -instantia 1240/udp # Instantia -instantia 1240/tcp # Instantia -# Ruth Slater -nessus 1241/udp # nessus -nessus 1241/tcp # nessus -# Jordan Hrycaj -nmasoverip 1242/udp # NMAS over IP -nmasoverip 1242/tcp # NMAS over IP -# Hal Henderson -serialgateway 1243/udp # SerialGateway -serialgateway 1243/tcp # SerialGateway -# Stephen LaValley -isbconference1 1244/udp # isbconference1 -isbconference1 1244/tcp # isbconference1 -isbconference2 1245/udp # isbconference2 -isbconference2 1245/tcp # isbconference2 -# Arnold Dittmann -payrouter 1246/udp # payrouter -payrouter 1246/tcp # payrouter -# David Wilson -visionpyramid 1247/udp # VisionPyramid -visionpyramid 1247/tcp # VisionPyramid -# Gavin Hutchinson -hermes 1248/udp # hermes -hermes 1248/tcp # hermes -# Not known -mesavistaco 1249/udp # Mesa Vista Co -mesavistaco 1249/tcp # Mesa Vista Co -# Rick LaBanca -swldy-sias 1250/udp # swldy-sias -swldy-sias 1250/tcp # swldy-sias -# Peter E Williams -servergraph 1251/udp # servergraph -servergraph 1251/tcp # servergraph -# Lindsay Morris -bspne-pcc 1252/udp # bspne-pcc -bspne-pcc 1252/tcp # bspne-pcc -q55-pcc 1253/udp # q55-pcc -q55-pcc 1253/tcp # q55-pcc -# Prem Tirilok -de-noc 1254/udp # de-noc -de-noc 1254/tcp # de-noc -de-cache-query 1255/udp # de-cache-query -de-cache-query 1255/tcp # de-cache-query -de-server 1256/udp # de-server -de-server 1256/tcp # de-server -# Jeff Burdette -shockwave2 1257/udp # Shockwave 2 -shockwave2 1257/tcp # Shockwave 2 -# Dave Simmons -opennl 1258/udp # Open Network Library -opennl 1258/tcp # Open Network Library -opennl-voice 1259/udp # Open Network Library Voice -opennl-voice 1259/tcp # Open Network Library Voice -# Phil Frisbie -ibm-ssd 1260/udp # ibm-ssd -ibm-ssd 1260/tcp # ibm-ssd -# Barry Whyte -mpshrsv 1261/udp # mpshrsv -mpshrsv 1261/tcp # mpshrsv -# Makoto Ikeyama -qnts-orb 1262/udp # QNTS-ORB -qnts-orb 1262/tcp # QNTS-ORB -# Raghurama Bhat -dka 1263/udp # dka -dka 1263/tcp # dka -# Chris Griffin -prat 1264/udp # PRAT -prat 1264/tcp # PRAT -# Keith Wood -dssiapi 1265/udp # DSSIAPI -dssiapi 1265/tcp # DSSIAPI -# Steve Sando -dellpwrappks 1266/udp # DELLPWRAPPKS -dellpwrappks 1266/tcp # DELLPWRAPPKS -# David Troeger -epc 1267/udp # eTrust Policy Compliance -epc 1267/tcp # eTrust Policy Compliance -# Aaron Stein -propel-msgsys 1268/udp # PROPEL-MSGSYS -propel-msgsys 1268/tcp # PROPEL-MSGSYS -# Bert Van der Linden -watilapp 1269/udp # WATiLaPP -watilapp 1269/tcp # WATiLaPP -# Frederic Weymann -opsmgr 1270/udp # Microsoft Operations Manager -opsmgr 1270/tcp # Microsoft Operations Manager -# Ashvin Sanghvi -dabew 1271/udp # Dabew -dabew 1271/tcp # Dabew -# Norm Freedman -cspmlockmgr 1272/udp # CSPMLockMgr -cspmlockmgr 1272/tcp # CSPMLockMgr -# Ibtsam Mahfouz -emc-gateway 1273/udp # EMC-Gateway -emc-gateway 1273/tcp # EMC-Gateway -# Rene Fontaine -t1distproc 1274/udp # t1distproc -t1distproc 1274/tcp # t1distproc -# Julian Biddle -ivcollector 1275/udp # ivcollector -ivcollector 1275/tcp # ivcollector -ivmanager 1276/udp # ivmanager -ivmanager 1276/tcp # ivmanager -# Xavier Roques -miva-mqs 1277/udp # mqs -miva-mqs 1277/tcp # mqs -# Miva Corporation -dellwebadmin-1 1278/udp # Dell Web Admin 1 -dellwebadmin-1 1278/tcp # Dell Web Admin 1 -dellwebadmin-2 1279/udp # Dell Web Admin 2 -dellwebadmin-2 1279/tcp # Dell Web Admin 2 -# Bridget Navoda -pictrography 1280/udp # Pictrography -pictrography 1280/tcp # Pictrography -# Takashi Hoshino -healthd 1281/udp # healthd -healthd 1281/tcp # healthd -# James E. Housley -emperion 1282/udp # Emperion -emperion 1282/tcp # Emperion -# Claus Thor Barth -productinfo 1283/udp # ProductInfo -productinfo 1283/tcp # ProductInfo -iee-qfx 1284/udp # IEE-QFX -iee-qfx 1284/tcp # IEE-QFX -# Kevin D. Quitt -neoiface 1285/udp # neoiface -neoiface 1285/tcp # neoiface -# Jason McManus -netuitive 1286/udp # netuitive -netuitive 1286/tcp # netuitive -# Clayton Wilkinson -# 1287 Unassigned -navbuddy 1288/udp # NavBuddy -navbuddy 1288/tcp # NavBuddy -# Eric Hackman -jwalkserver 1289/udp # JWalkServer -jwalkserver 1289/tcp # JWalkServer -winjaserver 1290/udp # WinJaServer -winjaserver 1290/tcp # WinJaServer -seagulllms 1291/udp # SEAGULLLMS -seagulllms 1291/tcp # SEAGULLLMS -# Lee Breisacher -dsdn 1292/udp # dsdn -dsdn 1292/tcp # dsdn -# Stanislaw Skowronek -pkt-krb-ipsec 1293/udp # PKT-KRB-IPSec -pkt-krb-ipsec 1293/tcp # PKT-KRB-IPSec -# Nancy Davoust -cmmdriver 1294/udp # CMMdriver -cmmdriver 1294/tcp # CMMdriver -# Lutz Karras -ehtp 1295/udp # End-by-Hop Transmission Protocol -ehtp 1295/tcp # End-by-Hop Transmission Protocol -# Alexander Bogdanov -dproxy 1296/udp # dproxy -dproxy 1296/tcp # dproxy -sdproxy 1297/udp # sdproxy -sdproxy 1297/tcp # sdproxy -# Raimond Diederik -lpcp 1298/udp # lpcp -lpcp 1298/tcp # lpcp -# Christian Stredicke -hp-sci 1299/udp # hp-sci -hp-sci 1299/tcp # hp-sci -# Kim Scott -h323hostcallsc 1300/udp # H323 Host Call Secure -h323hostcallsc 1300/tcp # H323 Host Call Secure -# Jim Toga -ci3-software-1 1301/udp # CI3-Software-1 -ci3-software-1 1301/tcp # CI3-Software-1 -ci3-software-2 1302/udp # CI3-Software-2 -ci3-software-2 1302/tcp # CI3-Software-2 -# Kelli Watson -sftsrv 1303/udp # sftsrv -sftsrv 1303/tcp # sftsrv -# Robert Frazier -boomerang 1304/udp # Boomerang -boomerang 1304/tcp # Boomerang -# Bruce Lueckenhoff -pe-mike 1305/udp # pe-mike -pe-mike 1305/tcp # pe-mike -# Stephen Hemminger -re-conn-proto 1306/udp # RE-Conn-Proto -re-conn-proto 1306/tcp # RE-Conn-Proto -# Sandeep Singhal -pacmand 1307/udp # Pacmand -pacmand 1307/tcp # Pacmand -# Edward T. O'Shea -odsi 1308/udp # Optical Domain Service Interconnect (ODSI) -odsi 1308/tcp # Optical Domain Service Interconnect (ODSI) -# K. Arvind -jtag-server 1309/udp # JTAG server -jtag-server 1309/tcp # JTAG server -# Andrew Draper -husky 1310/udp # Husky -husky 1310/tcp # Husky -# Mark Zang -rxmon 1311/udp # RxMon -rxmon 1311/tcp # RxMon -# Javier Jiminez -sti-envision 1312/udp # STI Envision -sti-envision 1312/tcp # STI Envision -# Don Stedman -bmc_patroldb 1313/udp # BMC_PATROLDB -bmc_patroldb 1313/tcp # BMC_PATROLDB -# Devon Shows -pdps 1314/udp # Photoscript Distributed Printing System -pdps 1314/tcp # Photoscript Distributed Printing System -# Les Klein -els 1315/udp # E.L.S., Event Listener Service -els 1315/tcp # E.L.S., Event Listener Service -# Jim Cleppe -exbit-escp 1316/udp # Exbit-ESCP -exbit-escp 1316/tcp # Exbit-ESCP -# Morten Christensen -vrts-ipcserver 1317/udp # vrts-ipcserver -vrts-ipcserver 1317/tcp # vrts-ipcserver -# Bruce Hestand -krb5gatekeeper 1318/udp # krb5gatekeeper -krb5gatekeeper 1318/tcp # krb5gatekeeper -# Patrick Moore -panja-icsp 1319/udp # Panja-ICSP -panja-icsp 1319/tcp # Panja-ICSP -# Ron Barber -panja-axbnet 1320/udp # Panja-AXBNET -panja-axbnet 1320/tcp # Panja-AXBNET -# Andrew van Wensen -pip 1321/udp # PIP -pip 1321/tcp # PIP -# Gordon Mohr -novation 1322/udp # Novation -novation 1322/tcp # Novation -# Alan Dano -brcd 1323/udp # brcd -brcd 1323/tcp # brcd -# Todd Picquelle -delta-mcp 1324/udp # delta-mcp -delta-mcp 1324/tcp # delta-mcp -# Quinton Tormanen -dx-instrument 1325/udp # DX-Instrument -dx-instrument 1325/tcp # DX-Instrument -# Walt Modic -wimsic 1326/udp # WIMSIC -wimsic 1326/tcp # WIMSIC -# James Brown -ultrex 1327/udp # Ultrex -ultrex 1327/tcp # Ultrex -# Tim Walsh -ewall 1328/udp # EWALL -ewall 1328/tcp # EWALL -# Jeff Busma -netdb-export 1329/udp # netdb-export -netdb-export 1329/tcp # netdb-export -# Konstantinos Kostis -streetperfect 1330/udp # StreetPerfect -streetperfect 1330/tcp # StreetPerfect -# Michael R. Young -intersan 1331/udp # intersan -intersan 1331/tcp # intersan -# Barry H. Feild -pcia-rxp-b 1332/udp # PCIA RXP-B -pcia-rxp-b 1332/tcp # PCIA RXP-B -# James Dabbs -passwrd-policy 1333/udp # Password Policy -passwrd-policy 1333/tcp # Password Policy -# Tonio Pirotta -writesrv 1334/udp # writesrv -writesrv 1334/tcp # writesrv -# Marvin Toungate -digital-notary 1335/udp # Digital Notary Protocol -digital-notary 1335/tcp # Digital Notary Protocol -# Wes Doonan -ischat 1336/udp # Instant Service Chat -ischat 1336/tcp # Instant Service Chat -# Mike Clise -menandmice-dns 1337/udp # menandmice DNS -menandmice-dns 1337/tcp # menandmice DNS -# Sigfus Magnusson -wmc-log-svc 1338/udp # WMC-log-svr -wmc-log-svc 1338/tcp # WMC-log-svr -# Stephen Brosseau -kjtsiteserver 1339/udp # kjtsiteserver -kjtsiteserver 1339/tcp # kjtsiteserver -# Jason Aubain -naap 1340/udp # NAAP -naap 1340/tcp # NAAP -# Henry Haverinen -qubes 1341/udp # QuBES -qubes 1341/tcp # QuBES -# Eric Grange -esbroker 1342/udp # ESBroker -esbroker 1342/tcp # ESBroker -# Alexander Medvinsky -re101 1343/udp # re101 -re101 1343/tcp # re101 -# Doriano Blengino -icap 1344/udp # ICAP -icap 1344/tcp # ICAP -# Jeremy Elson -vpjp 1345/udp # VPJP -vpjp 1345/tcp # VPJP -# Michael Collins -alta-ana-lm 1346/udp # Alta Analytics License Manager -alta-ana-lm 1346/tcp # Alta Analytics License Manager -bbn-mmc 1347/udp # multi media conferencing -bbn-mmc 1347/tcp # multi media conferencing -bbn-mmx 1348/udp # multi media conferencing -bbn-mmx 1348/tcp # multi media conferencing -sbook 1349/udp # Registration Network Protocol -sbook 1349/tcp # Registration Network Protocol -editbench 1350/udp # Registration Network Protocol -editbench 1350/tcp # Registration Network Protocol -# Simson L. Garfinkel -equationbuilder 1351/udp # Digital Tool Works (MIT) -equationbuilder 1351/tcp # Digital Tool Works (MIT) -# Terrence J. Talbot -lotusnote 1352/udp # Lotus Note -lotusnote 1352/tcp # Lotus Note -# Greg Pflaum -relief 1353/udp # Relief Consulting -relief 1353/tcp # Relief Consulting -# John Feiler -rightbrain 1354/udp # RightBrain Software -rightbrain 1354/tcp # RightBrain Software -# Glenn Reid -intuitive-edge 1355/udp # Intuitive Edge -intuitive-edge 1355/tcp # Intuitive Edge -# Montgomery Zukowski -# -cuillamartin 1356/udp # CuillaMartin Company -cuillamartin 1356/tcp # CuillaMartin Company -pegboard 1357/udp # Electronic PegBoard -pegboard 1357/tcp # Electronic PegBoard -# Chris Cuilla -# -connlcli 1358/udp # CONNLCLI -connlcli 1358/tcp # CONNLCLI -ftsrv 1359/udp # FTSRV -ftsrv 1359/tcp # FTSRV -# Ines Homem de Melo -mimer 1360/udp # MIMER -mimer 1360/tcp # MIMER -# Per Schroeder -linx 1361/udp # LinX -linx 1361/tcp # LinX -# Steffen Schilke <---none---> -timeflies 1362/udp # TimeFlies -timeflies 1362/tcp # TimeFlies -# Doug Kent -ndm-requester 1363/udp # Network DataMover Requester -ndm-requester 1363/tcp # Network DataMover Requester -ndm-server 1364/udp # Network DataMover Server -ndm-server 1364/tcp # Network DataMover Server -# Toshio Watanabe -# -adapt-sna 1365/udp # Network Software Associates -adapt-sna 1365/tcp # Network Software Associates -# Jeffery Chiao <714-768-401> -netware-csp 1366/udp # Novell NetWare Comm Service Platform -netware-csp 1366/tcp # Novell NetWare Comm Service Platform -# Laurie Lindsey -dcs 1367/udp # DCS -dcs 1367/tcp # DCS -# Stefan Siebert -screencast 1368/udp # ScreenCast -screencast 1368/tcp # ScreenCast -# Bill Tschumy -gv-us 1369/udp # GlobalView to Unix Shell -gv-us 1369/tcp # GlobalView to Unix Shell -us-gv 1370/udp # Unix Shell to GlobalView -us-gv 1370/tcp # Unix Shell to GlobalView -# Makoto Mita -fc-cli 1371/udp # Fujitsu Config Protocol -fc-cli 1371/tcp # Fujitsu Config Protocol -fc-ser 1372/udp # Fujitsu Config Protocol -fc-ser 1372/tcp # Fujitsu Config Protocol -# Ryuichi Horie -chromagrafx 1373/udp # Chromagrafx -chromagrafx 1373/tcp # Chromagrafx -# Mike Barthelemy -molly 1374/udp # EPI Software Systems -molly 1374/tcp # EPI Software Systems -# Jim Vlcek -bytex 1375/udp # Bytex -bytex 1375/tcp # Bytex -# Mary Ann Burt -ibm-pps 1376/udp # IBM Person to Person Software -ibm-pps 1376/tcp # IBM Person to Person Software -# Simon Phipps -cichlid 1377/udp # Cichlid License Manager -cichlid 1377/tcp # Cichlid License Manager -# Andy Burgess -elan 1378/udp # Elan License Manager -elan 1378/tcp # Elan License Manager -# Ken Greer -dbreporter 1379/udp # Integrity Solutions -dbreporter 1379/tcp # Integrity Solutions -# Tim Dawson -telesis-licman 1380/udp # Telesis Network License Manager -telesis-licman 1380/tcp # Telesis Network License Manager -# Karl Schendel, Jr. -apple-licman 1381/udp # Apple Network License Manager -apple-licman 1381/tcp # Apple Network License Manager -# Earl Wallace -udt_os 1382/udp # udt_os -udt_os 1382/tcp # udt_os -gwha 1383/udp # GW Hannaway Network License Manager -gwha 1383/tcp # GW Hannaway Network License Manager -# J. Gabriel Foster -os-licman 1384/udp # Objective Solutions License Manager -os-licman 1384/tcp # Objective Solutions License Manager -# Donald Cornwell -atex_elmd 1385/udp # Atex Publishing License Manager -atex_elmd 1385/tcp # Atex Publishing License Manager -# Brett Sorenson -checksum 1386/udp # CheckSum License Manager -checksum 1386/tcp # CheckSum License Manager -# Andreas Glocker -cadsi-lm 1387/udp # Computer Aided Design Software Inc LM -cadsi-lm 1387/tcp # Computer Aided Design Software Inc LM -# Sulistio Muljadi -objective-dbc 1388/udp # Objective Solutions DataBase Cache -objective-dbc 1388/tcp # Objective Solutions DataBase Cache -# Donald Cornwell -iclpv-dm 1389/udp # Document Manager -iclpv-dm 1389/tcp # Document Manager -iclpv-sc 1390/udp # Storage Controller -iclpv-sc 1390/tcp # Storage Controller -iclpv-sas 1391/udp # Storage Access Server -iclpv-sas 1391/tcp # Storage Access Server -iclpv-pm 1392/udp # Print Manager -iclpv-pm 1392/tcp # Print Manager -iclpv-nls 1393/udp # Network Log Server -iclpv-nls 1393/tcp # Network Log Server -iclpv-nlc 1394/udp # Network Log Client -iclpv-nlc 1394/tcp # Network Log Client -iclpv-wsm 1395/udp # PC Workstation Manager software -iclpv-wsm 1395/tcp # PC Workstation Manager software -# A.P. Hobson -dvl-activemail 1396/udp # DVL Active Mail -dvl-activemail 1396/tcp # DVL Active Mail -audio-activmail 1397/udp # Audio Active Mail -audio-activmail 1397/tcp # Audio Active Mail -video-activmail 1398/udp # Video Active Mail -video-activmail 1398/tcp # Video Active Mail -# Avshalom Houri -cadkey-licman 1399/udp # Cadkey License Manager -cadkey-licman 1399/tcp # Cadkey License Manager -cadkey-tablet 1400/udp # Cadkey Tablet Daemon -cadkey-tablet 1400/tcp # Cadkey Tablet Daemon -# Joe McCollough -goldleaf-licman 1401/udp # Goldleaf License Manager -goldleaf-licman 1401/tcp # Goldleaf License Manager -# John Fox <---none---> -prm-sm-np 1402/udp # Prospero Resource Manager -prm-sm-np 1402/tcp # Prospero Resource Manager -prm-nm-np 1403/udp # Prospero Resource Manager -prm-nm-np 1403/tcp # Prospero Resource Manager -# B. Clifford Neuman -igi-lm 1404/udp # Infinite Graphics License Manager -igi-lm 1404/tcp # Infinite Graphics License Manager -ibm-res 1405/udp # IBM Remote Execution Starter -ibm-res 1405/tcp # IBM Remote Execution Starter -netlabs-lm 1406/udp # NetLabs License Manager -netlabs-lm 1406/tcp # NetLabs License Manager -dbsa-lm 1407/udp # DBSA License Manager -dbsa-lm 1407/tcp # DBSA License Manager -# Scott Shattuck -sophia-lm 1408/udp # Sophia License Manager -sophia-lm 1408/tcp # Sophia License Manager -# Eric Brown -here-lm 1409/udp # Here License Manager -here-lm 1409/tcp # Here License Manager -# David Ison -hiq 1410/udp # HiQ License Manager -hiq 1410/tcp # HiQ License Manager -# Rick Pugh -af 1411/udp # AudioFile -af 1411/tcp # AudioFile -# Jim Gettys -innosys 1412/udp # InnoSys -innosys 1412/tcp # InnoSys -innosys-acl 1413/udp # Innosys-ACL -innosys-acl 1413/tcp # Innosys-ACL -# Eric Welch <--none---> -ibm-mqseries 1414/udp # IBM MQSeries -ibm-mqseries 1414/tcp # IBM MQSeries -# Roger Meli -dbstar 1415/udp # DBStar -dbstar 1415/tcp # DBStar -# Jeffrey Millman -novell-lu6.2 1416/udp # Novell LU6.2 -novell-lu6.2 1416/tcp # Novell LU6.2 -# Peter Liu <--none---> -timbuktu-srv1 1417/udp # Timbuktu Service 1 Port -timbuktu-srv1 1417/tcp # Timbuktu Service 1 Port -timbuktu-srv2 1418/udp # Timbuktu Service 2 Port -timbuktu-srv2 1418/tcp # Timbuktu Service 2 Port -timbuktu-srv3 1419/udp # Timbuktu Service 3 Port -timbuktu-srv3 1419/tcp # Timbuktu Service 3 Port -timbuktu-srv4 1420/udp # Timbuktu Service 4 Port -timbuktu-srv4 1420/tcp # Timbuktu Service 4 Port -# Marc Epard -gandalf-lm 1421/udp # Gandalf License Manager -gandalf-lm 1421/tcp # Gandalf License Manager -# gilmer@gandalf.ca -autodesk-lm 1422/udp # Autodesk License Manager -autodesk-lm 1422/tcp # Autodesk License Manager -# David Ko -essbase 1423/udp # Essbase Arbor Software -essbase 1423/tcp # Essbase Arbor Software -hybrid 1424/udp # Hybrid Encryption Protocol -hybrid 1424/tcp # Hybrid Encryption Protocol -# Howard Hart -zion-lm 1425/udp # Zion Software License Manager -zion-lm 1425/tcp # Zion Software License Manager -# David Ferrero -sais 1426/udp # Satellite-data Acquisition System 1 -sais 1426/tcp # Satellite-data Acquisition System 1 -# Bill Taylor -mloadd 1427/udp # mloadd monitoring tool -mloadd 1427/tcp # mloadd monitoring tool -# Bob Braden -informatik-lm 1428/udp # Informatik License Manager -informatik-lm 1428/tcp # Informatik License Manager -# Harald Schlangmann -# -nms 1429/udp # Hypercom NMS -nms 1429/tcp # Hypercom NMS -tpdu 1430/udp # Hypercom TPDU -tpdu 1430/tcp # Hypercom TPDU -# Noor Chowdhury -rgtp 1431/udp # Reverse Gossip Transport -rgtp 1431/tcp # Reverse Gossip Transport -# Ian Jackson -blueberry-lm 1432/udp # Blueberry Software License Manager -blueberry-lm 1432/tcp # Blueberry Software License Manager -# Steve Beigel -ms-sql-s 1433/udp # Microsoft-SQL-Server -ms-sql-s 1433/tcp # Microsoft-SQL-Server -ms-sql-m 1434/udp # Microsoft-SQL-Monitor -ms-sql-m 1434/tcp # Microsoft-SQL-Monitor -# Peter Hussey -ibm-cics 1435/udp # IBM CICS -ibm-cics 1435/tcp # IBM CICS -# Geoff Meacock -saism 1436/udp # Satellite-data Acquisition System 2 -saism 1436/tcp # Satellite-data Acquisition System 2 -# Bill Taylor -tabula 1437/udp # Tabula -tabula 1437/tcp # Tabula -# Marcelo Einhorn -# -eicon-server 1438/udp # Eicon Security Agent/Server -eicon-server 1438/tcp # Eicon Security Agent/Server -eicon-x25 1439/udp # Eicon X25/SNA Gateway -eicon-x25 1439/tcp # Eicon X25/SNA Gateway -eicon-slp 1440/udp # Eicon Service Location Protocol -eicon-slp 1440/tcp # Eicon Service Location Protocol -# Pat Calhoun -cadis-1 1441/udp # Cadis License Management -cadis-1 1441/tcp # Cadis License Management -cadis-2 1442/udp # Cadis License Management -cadis-2 1442/tcp # Cadis License Management -# Todd Wichers -ies-lm 1443/udp # Integrated Engineering Software -ies-lm 1443/tcp # Integrated Engineering Software -# David Tong -marcam-lm 1444/udp # Marcam License Management -marcam-lm 1444/tcp # Marcam License Management -# Therese Hunt -proxima-lm 1445/udp # Proxima License Manager -proxima-lm 1445/tcp # Proxima License Manager -ora-lm 1446/udp # Optical Research Associates License Manager -ora-lm 1446/tcp # Optical Research Associates License Manager -apri-lm 1447/udp # Applied Parallel Research LM -apri-lm 1447/tcp # Applied Parallel Research LM -# Jim Dillon -oc-lm 1448/udp # OpenConnect License Manager -oc-lm 1448/tcp # OpenConnect License Manager -# Sue Barnhill -peport 1449/udp # PEport -peport 1449/tcp # PEport -# Qentin Neill -dwf 1450/udp # Tandem Distributed Workbench Facility -dwf 1450/tcp # Tandem Distributed Workbench Facility -# Mike Bert -infoman 1451/udp # IBM Information Management -infoman 1451/tcp # IBM Information Management -# Karen Burns <---none---> -gtegsc-lm 1452/udp # GTE Government Systems License Man -gtegsc-lm 1452/tcp # GTE Government Systems License Man -# Mike Gregory -genie-lm 1453/udp # Genie License Manager -genie-lm 1453/tcp # Genie License Manager -# Paul Applegate -interhdl_elmd 1454/udp # interHDL License Manager -interhdl_elmd 1454/tcp # interHDL License Manager -# Eli Sternheim eli@interhdl.com -esl-lm 1455/udp # ESL License Manager -esl-lm 1455/tcp # ESL License Manager -# Abel Chou -dca 1456/udp # DCA -dca 1456/tcp # DCA -# Jeff Garbers -valisys-lm 1457/udp # Valisys License Manager -valisys-lm 1457/tcp # Valisys License Manager -# Leslie Lincoln -nrcabq-lm 1458/udp # Nichols Research Corp. -nrcabq-lm 1458/tcp # Nichols Research Corp. -# Howard Cole -proshare1 1459/udp # Proshare Notebook Application -proshare1 1459/tcp # Proshare Notebook Application -proshare2 1460/udp # Proshare Notebook Application -proshare2 1460/tcp # Proshare Notebook Application -# Robin Kar -ibm_wrless_lan 1461/udp # IBM Wireless LAN -ibm_wrless_lan 1461/tcp # IBM Wireless LAN -# -world-lm 1462/udp # World License Manager -world-lm 1462/tcp # World License Manager -# Michael S Amirault -nucleus 1463/udp # Nucleus -nucleus 1463/tcp # Nucleus -# Venky Nagar -msl_lmd 1464/udp # MSL License Manager -msl_lmd 1464/tcp # MSL License Manager -# Matt Timmermans -pipes 1465/udp # Pipes Platform mfarlin@peerlogic.com -pipes 1465/tcp # Pipes Platform -# Mark Farlin -oceansoft-lm 1466/udp # Ocean Software License Manager -oceansoft-lm 1466/tcp # Ocean Software License Manager -# Randy Leonard -csdmbase 1467/udp # CSDMBASE -csdmbase 1467/tcp # CSDMBASE -csdm 1468/udp # CSDM -csdm 1468/tcp # CSDM -# Robert Stabl -aal-lm 1469/udp # Active Analysis Limited License Manager -aal-lm 1469/tcp # Active Analysis Limited License Manager -# David Snocken +44 (71)437-7009 -uaiact 1470/udp # Universal Analytics -uaiact 1470/tcp # Universal Analytics -# Mark R. Ludwig -csdmbase 1471/udp # csdmbase -csdmbase 1471/tcp # csdmbase -csdm 1472/udp # csdm -csdm 1472/tcp # csdm -# Robert Stabl -openmath 1473/udp # OpenMath -openmath 1473/tcp # OpenMath -# Garth Mayville -telefinder 1474/udp # Telefinder -telefinder 1474/tcp # Telefinder -# Jim White -taligent-lm 1475/udp # Taligent License Manager -taligent-lm 1475/tcp # Taligent License Manager -# Mark Sapsford -clvm-cfg 1476/udp # clvm-cfg -clvm-cfg 1476/tcp # clvm-cfg -# Eric Soderberg -ms-sna-server 1477/udp # ms-sna-server -ms-sna-server 1477/tcp # ms-sna-server -ms-sna-base 1478/udp # ms-sna-base -ms-sna-base 1478/tcp # ms-sna-base -# Gordon Mangione -dberegister 1479/udp # dberegister -dberegister 1479/tcp # dberegister -# Brian Griswold -pacerforum 1480/udp # PacerForum -pacerforum 1480/tcp # PacerForum -# Peter Caswell -airs 1481/udp # AIRS -airs 1481/tcp # AIRS -# Bruce Wilson, 905-771-6161 -miteksys-lm 1482/udp # Miteksys License Manager -miteksys-lm 1482/tcp # Miteksys License Manager -# Shane McRoberts -afs 1483/udp # AFS License Manager -afs 1483/tcp # AFS License Manager -# Michael R. Pizolato -confluent 1484/udp # Confluent License Manager -confluent 1484/tcp # Confluent License Manager -# James Greenfiel -lansource 1485/udp # LANSource -lansource 1485/tcp # LANSource -# Christopher Wells -nms_topo_serv 1486/udp # nms_topo_serv -nms_topo_serv 1486/tcp # nms_topo_serv -# Sylvia Siu -localinfosrvr 1487/udp # LocalInfoSrvr -localinfosrvr 1487/tcp # LocalInfoSrvr -# Brian Matthews -docstor 1488/udp # DocStor -docstor 1488/tcp # DocStor -# Brian Spears -dmdocbroker 1489/udp # dmdocbroker -dmdocbroker 1489/tcp # dmdocbroker -# Razmik Abnous -insitu-conf 1490/udp # insitu-conf -insitu-conf 1490/tcp # insitu-conf -# Paul Blacknell -anynetgateway 1491/udp # anynetgateway -anynetgateway 1491/tcp # anynetgateway -# Dan Poirier -stone-design-1 1492/udp # stone-design-1 -stone-design-1 1492/tcp # stone-design-1 -# Andrew Stone -netmap_lm 1493/udp # netmap_lm -netmap_lm 1493/tcp # netmap_lm -# Phillip Magson -ica 1494/udp # ica -ica 1494/tcp # ica -# John Richardson, Citrix Systems -cvc 1495/udp # cvc -cvc 1495/tcp # cvc -# Bill Davidson -liberty-lm 1496/udp # liberty-lm -liberty-lm 1496/tcp # liberty-lm -# Jim Rogers -rfx-lm 1497/udp # rfx-lm -rfx-lm 1497/tcp # rfx-lm -# Bill Bishop -sybase-sqlany 1498/udp # Sybase SQL Any -sybase-sqlany 1498/tcp # Sybase SQL Any -# Dave Neudoerffer -fhc 1499/udp # Federico Heinz Consultora -fhc 1499/tcp # Federico Heinz Consultora -# Federico Heinz -vlsi-lm 1500/udp # VLSI License Manager -vlsi-lm 1500/tcp # VLSI License Manager -# Shue-Lin Kuo -saiscm 1501/udp # Satellite-data Acquisition System 3 -saiscm 1501/tcp # Satellite-data Acquisition System 3 -# Bill Taylor -shivadiscovery 1502/udp # Shiva -shivadiscovery 1502/tcp # Shiva -# Jonathan Wenocur -imtc-mcs 1503/udp # Databeam -imtc-mcs 1503/tcp # Databeam -# Jim Johnston -evb-elm 1504/udp # EVB Software Engineering License Manager -evb-elm 1504/tcp # EVB Software Engineering License Manager -# B.G. Mahesh < mahesh@sett.com> -funkproxy 1505/udp # Funk Software, Inc. -funkproxy 1505/tcp # Funk Software, Inc. -# Robert D. Vincent -utcd 1506/udp # Universal Time daemon (utcd) -utcd 1506/tcp # Universal Time daemon (utcd) -# Walter Poxon -symplex 1507/udp # symplex -symplex 1507/tcp # symplex -# Mike Turley -diagmond 1508/udp # diagmond -diagmond 1508/tcp # diagmond -# Pete Moscatelli -robcad-lm 1509/udp # Robcad, Ltd. License Manager -robcad-lm 1509/tcp # Robcad, Ltd. License Manager -# Hindin Joseph -mvx-lm 1510/udp # Midland Valley Exploration Ltd. Lic. Man. -mvx-lm 1510/tcp # Midland Valley Exploration Ltd. Lic. Man. -# Neil Salter Laszlo -3l-l1 1511/udp # 3l-l1 -3l-l1 1511/tcp # 3l-l1 -# Ian A. Young -wins 1512/udp # Microsoft's Windows Internet Name Service -wins 1512/tcp # Microsoft's Windows Internet Name Service -# Pradeep Bahl -fujitsu-dtc 1513/udp # Fujitsu Systems Business of America, Inc -fujitsu-dtc 1513/tcp # Fujitsu Systems Business of America, Inc -fujitsu-dtcns 1514/udp # Fujitsu Systems Business of America, Inc -fujitsu-dtcns 1514/tcp # Fujitsu Systems Business of America, Inc -# Charles A. Higgins <75730.2257@compuserve.com> -ifor-protocol 1515/udp # ifor-protocol -ifor-protocol 1515/tcp # ifor-protocol -# Dr. R.P. Alston -vpad 1516/udp # Virtual Places Audio data -vpad 1516/tcp # Virtual Places Audio data -vpac 1517/udp # Virtual Places Audio control -vpac 1517/tcp # Virtual Places Audio control -vpvd 1518/udp # Virtual Places Video data -vpvd 1518/tcp # Virtual Places Video data -vpvc 1519/udp # Virtual Places Video control -vpvc 1519/tcp # Virtual Places Video control -# Avshalom Houri -atm-zip-office 1520/udp # atm zip office -atm-zip-office 1520/tcp # atm zip office -# Wilson Kwan -ncube-lm 1521/udp # nCube License Manager -ncube-lm 1521/tcp # nCube License Manager -# Maxine Yuen -ricardo-lm 1522/udp # Ricardo North America License Manager -ricardo-lm 1522/tcp # Ricardo North America License Manager -# Mike Flemming -cichild-lm 1523/udp # cichild -cichild-lm 1523/tcp # cichild -# Andy Burgess -ingreslock 1524/udp # ingres -ingreslock 1524/tcp # ingres -orasrv 1525/udp prospero-np # oracle -orasrv 1525/tcp prospero-np # oracle -pdap-np 1526/udp # Prospero Data Access Prot non-priv -pdap-np 1526/tcp # Prospero Data Access Prot non-priv -# B. Clifford Neuman -tlisrv 1527/udp # oracle -tlisrv 1527/tcp # oracle -mciautoreg 1528/udp # micautoreg -mciautoreg 1528/tcp # micautoreg -# John Klensin -coauthor 1529/udp # oracle -coauthor 1529/tcp # oracle -rap-service 1530/udp # rap-service -rap-service 1530/tcp # rap-service -rap-listen 1531/udp # rap-listen -rap-listen 1531/tcp # rap-listen -# Phil Servita -miroconnect 1532/udp # miroconnect -miroconnect 1532/tcp # miroconnect -# Michael Fischer +49 531 21 13 0 -virtual-places 1533/udp # Virtual Places Software -virtual-places 1533/tcp # Virtual Places Software -# Avshalom Houri -micromuse-lm 1534/udp # micromuse-lm -micromuse-lm 1534/tcp # micromuse-lm -# Adam Kerrison -ampr-info 1535/udp # ampr-info -ampr-info 1535/tcp # ampr-info -ampr-inter 1536/udp # ampr-inter -ampr-inter 1536/tcp # ampr-inter -# Rob Janssen -sdsc-lm 1537/udp # isi-lm -sdsc-lm 1537/tcp # isi-lm -# Len Wanger -3ds-lm 1538/udp # 3ds-lm -3ds-lm 1538/tcp # 3ds-lm -# Keith Trummel -intellistor-lm 1539/udp # Intellistor License Manager -intellistor-lm 1539/tcp # Intellistor License Manager -# Ron Vaughn -rds 1540/udp # rds -rds 1540/tcp # rds -rds2 1541/udp # rds2 -rds2 1541/tcp # rds2 -# Sudhakar Rajamannar -gridgen-elmd 1542/udp # gridgen-elmd -gridgen-elmd 1542/tcp # gridgen-elmd -# John R. Chawner +1 817 354-1004 -simba-cs 1543/udp # simba-cs -simba-cs 1543/tcp # simba-cs -# Betsy Alexander +1 604-681-4549 -aspeclmd 1544/udp # aspeclmd -aspeclmd 1544/tcp # aspeclmd -# V. Balaji -vistium-share 1545/udp # vistium-share -vistium-share 1545/tcp # vistium-share -# Allison Carleton -# -abbaccuray 1546/udp # abbaccuray -abbaccuray 1546/tcp # abbaccuray -# John Wendt 614-261-2000 -laplink 1547/udp # laplink -laplink 1547/tcp # laplink -# Michael Crawford -axon-lm 1548/udp # Axon License Manager -axon-lm 1548/tcp # Axon License Manager -# Mark Pearce < -shivasound 1549/udp # Shiva Sound -shivahose 1549/tcp # Shiva Hose -# Kin Chan -3m-image-lm 1550/udp # Image Storage license manager 3M Company -3m-image-lm 1550/tcp # Image Storage license manager 3M Company -# J. C. Canessa -hecmtl-db 1551/udp # HECMTL-DB -hecmtl-db 1551/tcp # HECMTL-DB -# Maxime Belanger -pciarray 1552/udp # pciarray -pciarray 1552/tcp # pciarray -# Ron Folk -sna-cs 1553/udp # sna-cs -sna-cs 1553/tcp # sna-cs -# Tony Sowter -caci-lm 1554/udp # CACI Products Company License Manager -caci-lm 1554/tcp # CACI Products Company License Manager -# Erik Blume -livelan 1555/udp # livelan -livelan 1555/tcp # livelan -# khedayat@roadrunner.pictel.com -ashwin 1556/udp # AshWin CI Tecnologies -ashwin 1556/tcp # AshWin CI Tecnologies -# Dave Neal -arbortext-lm 1557/udp # ArborText License Manager -arbortext-lm 1557/tcp # ArborText License Manager -# David J. Wilson -xingmpeg 1558/udp # xingmpeg -xingmpeg 1558/tcp # xingmpeg -# Howard Gordon -web2host 1559/udp # web2host -web2host 1559/tcp # web2host -# Stephen Johnson -asci-val 1560/udp # ASCI-RemoteSHADOW -asci-val 1560/tcp # ASCI-RemoteSHADOW -# Benjamin Rosenberg -facilityview 1561/udp # facilityview -facilityview 1561/tcp # facilityview -# Ed Green -pconnectmgr 1562/udp # pconnectmgr -pconnectmgr 1562/tcp # pconnectmgr -# Bob Kaiser -cadabra-lm 1563/udp # Cadabra License Manager -cadabra-lm 1563/tcp # Cadabra License Manager -# Arthur Castonguay -pay-per-view 1564/udp # Pay-Per-View -pay-per-view 1564/tcp # Pay-Per-View -# Brian Tung -winddlb 1565/udp # WinDD -winddlb 1565/tcp # WinDD -# Kelly Sims -corelvideo 1566/udp # CORELVIDEO -corelvideo 1566/tcp # CORELVIDEO -# Ming Poon -jlicelmd 1567/udp # jlicelmd -jlicelmd 1567/tcp # jlicelmd -# Christian Schormann <100410.3063@compuserve.com> -tsspmap 1568/udp # tsspmap -tsspmap 1568/tcp # tsspmap -# Paul W. Nelson -ets 1569/udp # ets -ets 1569/tcp # ets -# Carstein Seeberg -orbixd 1570/udp # orbixd -orbixd 1570/tcp # orbixd -# Bridget Walsh -rdb-dbs-disp 1571/udp # Oracle Remote Data Base -rdb-dbs-disp 1571/tcp # Oracle Remote Data Base -# -chip-lm 1572/udp # Chipcom License Manager -chip-lm 1572/tcp # Chipcom License Manager -# Jerry Natowitz -itscomm-ns 1573/udp # itscomm-ns -itscomm-ns 1573/tcp # itscomm-ns -# Rich Thompson -mvel-lm 1574/udp # mvel-lm -mvel-lm 1574/tcp # mvel-lm -# David Bisset -oraclenames 1575/udp # oraclenames -oraclenames 1575/tcp # oraclenames -# P.V.Shivkumar -moldflow-lm 1576/udp # moldflow-lm -moldflow-lm 1576/tcp # moldflow-lm -# Paul Browne -hypercube-lm 1577/udp # hypercube-lm -hypercube-lm 1577/tcp # hypercube-lm -# Christopher McLendon -jacobus-lm 1578/udp # Jacobus License Manager -jacobus-lm 1578/tcp # Jacobus License Manager -# Tony Cleveland -ioc-sea-lm 1579/udp # ioc-sea-lm -ioc-sea-lm 1579/tcp # ioc-sea-lm -# Paul Nelson -tn-tl-r2 1580/udp # tn-tl-r2 -tn-tl-r1 1580/tcp # tn-tl-r1 -# Ed Kress -mil-2045-47001 1581/udp # MIL-2045-47001 -mil-2045-47001 1581/tcp # MIL-2045-47001 -# Eric Whitehill -msims 1582/udp # MSIMS -msims 1582/tcp # MSIMS -# Glenn Olander -simbaexpress 1583/udp # simbaexpress -simbaexpress 1583/tcp # simbaexpress -# Betsy Alexander +1 604-681-4549 -tn-tl-fd2 1584/udp # tn-tl-fd2 -tn-tl-fd2 1584/tcp # tn-tl-fd2 -# Ed Kress -intv 1585/udp # intv -intv 1585/tcp # intv -# Dermot Tynand -ibm-abtact 1586/udp # ibm-abtact -ibm-abtact 1586/tcp # ibm-abtact -# Sandeep K. Singhal -pra_elmd 1587/udp # pra_elmd -pra_elmd 1587/tcp # pra_elmd -# Dennis Mastin -triquest-lm 1588/udp # triquest-lm -triquest-lm 1588/tcp # triquest-lm -# Nand Kumar -vqp 1589/udp # VQP -vqp 1589/tcp # VQP -# Keith McCloghrie -gemini-lm 1590/udp # gemini-lm -gemini-lm 1590/tcp # gemini-lm -# Tony Sawyer -ncpm-pm 1591/udp # ncpm-pm -ncpm-pm 1591/tcp # ncpm-pm -# Ted Power -commonspace 1592/udp # commonspace -commonspace 1592/tcp # commonspace -# Rob Chandhok -mainsoft-lm 1593/udp # mainsoft-lm -mainsoft-lm 1593/tcp # mainsoft-lm -# Anand Gangadharan -sixtrak 1594/udp # sixtrak -sixtrak 1594/tcp # sixtrak -# Bob Rennie -radio 1595/udp # radio -radio 1595/tcp # radio -radio-bc 1596/udp # radio-bc -radio-sm 1596/tcp # radio-sm -# Ken Chapman -orbplus-iiop 1597/udp # orbplus-iiop -orbplus-iiop 1597/tcp # orbplus-iiop -# Robert A. Kukura -picknfs 1598/udp # picknfs -picknfs 1598/tcp # picknfs -# John Lombardo -simbaservices 1599/udp # simbaservices -simbaservices 1599/tcp # simbaservices -# Betsy Alexander +1 604-681-4549 -issd 1600/udp # -issd 1600/tcp # -aas 1601/udp # aas -aas 1601/tcp # aas -# Bob Beard -inspect 1602/udp # inspect -inspect 1602/tcp # inspect -# Frank O'Neill -picodbc 1603/udp # pickodbc -picodbc 1603/tcp # pickodbc -# John Lombardo -icabrowser 1604/udp # icabrowser -icabrowser 1604/tcp # icabrowser -# Brad Pedersen -slp 1605/udp # Salutation Manager (Salutation Protocol) -slp 1605/tcp # Salutation Manager (Salutation Protocol) -slm-api 1606/udp # Salutation Manager (SLM-API) -slm-api 1606/tcp # Salutation Manager (SLM-API) -# Tohru Mori -stt 1607/udp # stt -stt 1607/tcp # stt -# Ryan Bolz -smart-lm 1608/udp # Smart Corp. License Manager -smart-lm 1608/tcp # Smart Corp. License Manager -# Connie Qiu -isysg-lm 1609/udp # isysg-lm -isysg-lm 1609/tcp # isysg-lm -# Adam Curtin -taurus-wh 1610/udp # taurus-wh -taurus-wh 1610/tcp # taurus-wh -# Jeff Moffatt -ill 1611/udp # Inter Library Loan -ill 1611/tcp # Inter Library Loan -# Niall Murphy -netbill-trans 1612/udp # NetBill Transaction Server -netbill-trans 1612/tcp # NetBill Transaction Server -netbill-keyrep 1613/udp # NetBill Key Repository -netbill-keyrep 1613/tcp # NetBill Key Repository -netbill-cred 1614/udp # NetBill Credential Server -netbill-cred 1614/tcp # NetBill Credential Server -netbill-auth 1615/udp # NetBill Authorization Server -netbill-auth 1615/tcp # NetBill Authorization Server -netbill-prod 1616/udp # NetBill Product Server -netbill-prod 1616/tcp # NetBill Product Server -# Marvin Sirbu -nimrod-agent 1617/udp # Nimrod Inter-Agent Communication -nimrod-agent 1617/tcp # Nimrod Inter-Agent Communication -# Charles Lynn -skytelnet 1618/udp # skytelnet -skytelnet 1618/tcp # skytelnet -# Byron Jones -xs-openstorage 1619/udp # xs-openstorage -xs-openstorage 1619/tcp # xs-openstorage -# XuiS Software Ltd. <100322.2376@compuserve.com> -faxportwinport 1620/udp # faxportwinport -faxportwinport 1620/tcp # faxportwinport -# Chris Wells -softdataphone 1621/udp # softdataphone -softdataphone 1621/tcp # softdataphone -# Dror Gill n -ontime 1622/udp # ontime -ontime 1622/tcp # ontime -# Keith Rhodes 810-559-5955 -jaleosnd 1623/udp # jaleosnd -jaleosnd 1623/tcp # jaleosnd -# Christian Schormann <100410.3063@compuserve.com> -udp-sr-port 1624/udp # udp-sr-port -udp-sr-port 1624/tcp # udp-sr-port -# Herb Jensen -svs-omagent 1625/udp # svs-omagent -svs-omagent 1625/tcp # svs-omagent -# Alberto Berlen -shockwave 1626/udp # Shockwave -shockwave 1626/tcp # Shockwave -# Sarah Allen -t128-gateway 1627/udp # T.128 Gateway -t128-gateway 1627/tcp # T.128 Gateway -# Phil May -lontalk-norm 1628/udp # LonTalk normal -lontalk-norm 1628/tcp # LonTalk normal -lontalk-urgnt 1629/udp # LonTalk urgent -lontalk-urgnt 1629/tcp # LonTalk urgent -# Dan Wing -oraclenet8cman 1630/udp # Oracle Net8 Cman -oraclenet8cman 1630/tcp # Oracle Net8 Cman -# Tong-Ming Lee -visitview 1631/udp # Visit view -visitview 1631/tcp # Visit view -# Tom Whittaker -pammratc 1632/udp # PAMMRATC -pammratc 1632/tcp # PAMMRATC -pammrpc 1633/udp # PAMMRPC -pammrpc 1633/tcp # PAMMRPC -# John Britton -loaprobe 1634/udp # Log On America Probe -loaprobe 1634/tcp # Log On America Probe -# James Tavares, Log On America -edb-server1 1635/udp # EDB Server 1 -edb-server1 1635/tcp # EDB Server 1 -# Carlos Portela -cncp 1636/udp # CableNet Control Protocol -cncp 1636/tcp # CableNet Control Protocol -cnap 1637/udp # CableNet Admin Protocol -cnap 1637/tcp # CableNet Admin Protocol -cnip 1638/udp # CableNet Info Protocol -cnip 1638/tcp # CableNet Info Protocol -# Damian Hamill -cert-initiator 1639/udp # cert-initiator -cert-initiator 1639/tcp # cert-initiator -cert-responder 1640/udp # cert-responder -cert-responder 1640/tcp # cert-responder -# Tom Markson -invision 1641/udp # InVision -invision 1641/tcp # InVision -# Christopher Davey -isis-am 1642/udp # isis-am -isis-am 1642/tcp # isis-am -isis-ambc 1643/udp # isis-ambc -isis-ambc 1643/tcp # isis-ambc -# Ken Chapman -saiseh 1644/tcp # Satellite-data Acquisition System 4 -# Bill Taylor -sightline 1645/udp # SightLine -sightline 1645/tcp # SightLine -# Stuart J. Newman -sa-msg-port 1646/udp # sa-msg-port -sa-msg-port 1646/tcp # sa-msg-port -# Eric Whitehill -rsap 1647/udp # rsap -rsap 1647/tcp # rsap -# Holger Reif -# -concurrent-lm 1648/udp # concurrent-lm -concurrent-lm 1648/tcp # concurrent-lm -# Maggie Brinsford -kermit 1649/udp # kermit -kermit 1649/tcp # kermit -# Frank da Cruz -nkd 1650/udp # nkd -nkd 1650/tcp # nkdn -shiva_confsrvr 1651/udp # shiva_confsrvr -shiva_confsrvr 1651/tcp # shiva_confsrvr -# Mike Horowitz -xnmp 1652/udp # xnmp -xnmp 1652/tcp # xnmp -# Ali Saleh -alphatech-lm 1653/udp # alphatech-lm -alphatech-lm 1653/tcp # alphatech-lm -# Joseph Hauk -stargatealerts 1654/udp # stargatealerts -stargatealerts 1654/tcp # stargatealerts -# Tim Coppernoll -# -dec-mbadmin 1655/udp # dec-mbadmin -dec-mbadmin 1655/tcp # dec-mbadmin -dec-mbadmin-h 1656/udp # dec-mbadmin-h -dec-mbadmin-h 1656/tcp # dec-mbadmin-h -# Nick Shipman -fujitsu-mmpdc 1657/udp # fujitsu-mmpdc -fujitsu-mmpdc 1657/tcp # fujitsu-mmpdc -# Katsumi Oomuro -sixnetudr 1658/udp # sixnetudr -sixnetudr 1658/tcp # sixnetudr -# Bob Rennie -sg-lm 1659/udp # Silicon Grail License Manager -sg-lm 1659/tcp # Silicon Grail License Manager -# William R Bishop -skip-mc-gikreq 1660/udp # skip-mc-gikreq -skip-mc-gikreq 1660/tcp # skip-mc-gikreq -# Tom Markson -netview-aix-1 1661/udp # netview-aix-1 -netview-aix-1 1661/tcp # netview-aix-1 -netview-aix-2 1662/udp # netview-aix-2 -netview-aix-2 1662/tcp # netview-aix-2 -netview-aix-3 1663/udp # netview-aix-3 -netview-aix-3 1663/tcp # netview-aix-3 -netview-aix-4 1664/udp # netview-aix-4 -netview-aix-4 1664/tcp # netview-aix-4 -netview-aix-5 1665/udp # netview-aix-5 -netview-aix-5 1665/tcp # netview-aix-5 -netview-aix-6 1666/udp # netview-aix-6 -netview-aix-6 1666/tcp # netview-aix-6 -netview-aix-7 1667/udp # netview-aix-7 -netview-aix-7 1667/tcp # netview-aix-7 -netview-aix-8 1668/udp # netview-aix-8 -netview-aix-8 1668/tcp # netview-aix-8 -netview-aix-9 1669/udp # netview-aix-9 -netview-aix-9 1669/tcp # netview-aix-9 -netview-aix-10 1670/udp # netview-aix-10 -netview-aix-10 1670/tcp # netview-aix-10 -netview-aix-11 1671/udp # netview-aix-11 -netview-aix-11 1671/tcp # netview-aix-11 -netview-aix-12 1672/udp # netview-aix-12 -netview-aix-12 1672/tcp # netview-aix-12 -# Martha Crisson -# -proshare-mc-1 1673/udp # Intel Proshare Multicast -proshare-mc-1 1673/tcp # Intel Proshare Multicast -proshare-mc-2 1674/udp # Intel Proshare Multicast -proshare-mc-2 1674/tcp # Intel Proshare Multicast -# Mark Lewis -pdp 1675/udp # Pacific Data Products -pdp 1675/tcp # Pacific Data Products -# Gary Morton -netcomm2 1676/udp # netcomm2 -netcomm1 1676/tcp # netcomm1 -# Bulent Kasman -groupwise 1677/udp # groupwise -groupwise 1677/tcp # groupwise -# Brent Bradshaw -prolink 1678/udp # prolink -prolink 1678/tcp # prolink -# Brian Abramson -darcorp-lm 1679/udp # darcorp-lm -darcorp-lm 1679/tcp # darcorp-lm -# -microcom-sbp 1680/udp # microcom-sbp -microcom-sbp 1680/tcp # microcom-sbp -# Boris B. Maiden -sd-elmd 1681/udp # sd-elmd -sd-elmd 1681/tcp # sd-elmd -# Bryan Otey -lanyon-lantern 1682/udp # lanyon-lantern -lanyon-lantern 1682/tcp # lanyon-lantern -# Robin Lewis -ncpm-hip 1683/udp # ncpm-hip -ncpm-hip 1683/tcp # ncpm-hip -# Ken Hearn -snaresecure 1684/udp # SnareSecure -snaresecure 1684/tcp # SnareSecure -# Marty Batchelder -n2nremote 1685/udp # n2nremote -n2nremote 1685/tcp # n2nremote -# Kin Chan -cvmon 1686/udp # cvmon -cvmon 1686/tcp # cvmon -# Carol Ann Krug -nsjtp-ctrl 1687/udp # nsjtp-ctrl -nsjtp-ctrl 1687/tcp # nsjtp-ctrl -nsjtp-data 1688/udp # nsjtp-data -nsjtp-data 1688/tcp # nsjtp-data -# Orazio Granato -firefox 1689/udp # firefox -firefox 1689/tcp # firefox -# Mark S. Edwards -ng-umds 1690/udp # ng-umds -ng-umds 1690/tcp # ng-umds -# Louis E. Simard <76400.3371@compuserve.com> -empire-empuma 1691/udp # empire-empuma -empire-empuma 1691/tcp # empire-empuma -# Bobby Krupczak -sstsys-lm 1692/udp # sstsys-lm -sstsys-lm 1692/tcp # sstsys-lm -# Yih-Wu Wang -rrirtr 1693/udp # rrirtr -rrirtr 1693/tcp # rrirtr -rrimwm 1694/udp # rrimwm -rrimwm 1694/tcp # rrimwm -rrilwm 1695/udp # rrilwm -rrilwm 1695/tcp # rrilwm -rrifmm 1696/udp # rrifmm -rrifmm 1696/tcp # rrifmm -rrisat 1697/udp # rrisat -rrisat 1697/tcp # rrisat -# Allen Briggs -rsvp-encap-1 1698/udp # RSVP-ENCAPSULATION-1 -rsvp-encap-1 1698/tcp # RSVP-ENCAPSULATION-1 -rsvp-encap-2 1699/udp # RSVP-ENCAPSULATION-2 -rsvp-encap-2 1699/tcp # RSVP-ENCAPSULATION-2 -# Bob Braden -mps-raft 1700/udp # mps-raft -mps-raft 1700/tcp # mps-raft -# Jason Leupen -l2f 1701/udp l2tp # l2f -l2f 1701/tcp l2tp # l2f -# Andy Valencia -deskshare 1702/udp # deskshare -deskshare 1702/tcp # deskshare -# Sarah Thompson cchou@zoom.com> -bcs-broker 1704/udp # bcs-broker -bcs-broker 1704/tcp # bcs-broker -# Andy Warner -slingshot 1705/udp # slingshot -slingshot 1705/tcp # slingshot -# Paul Groarke -jetform 1706/udp # jetform -jetform 1706/tcp # jetform -# gdeinsta -vdmplay 1707/udp # vdmplay -vdmplay 1707/tcp # vdmplay -# Vadim Lebedev -gat-lmd 1708/udp # gat-lmd -gat-lmd 1708/tcp # gat-lmd -# Igor Zaoutine -centra 1709/udp # centra -centra 1709/tcp # centra -# Drew Wolff -impera 1710/udp # impera -impera 1710/tcp # impera -# Stepehen Campbell -pptconference 1711/udp # pptconference -pptconference 1711/tcp # pptconference -# John Tafoya -registrar 1712/udp # resource monitoring service -registrar 1712/tcp # resource monitoring service -# Ron Lawson -conferencetalk 1713/udp # ConferenceTalk -conferencetalk 1713/tcp # ConferenceTalk -# George Kajos -sesi-lm 1714/udp # sesi-lm -sesi-lm 1714/tcp # sesi-lm -houdini-lm 1715/udp # houdini-lm -houdini-lm 1715/tcp # houdini-lm -# Paul Breslin -xmsg 1716/udp # xmsg -xmsg 1716/tcp # xmsg -# Mark E. Fogle -fj-hdnet 1717/udp # fj-hdnet -fj-hdnet 1717/tcp # fj-hdnet -# Manabu Makino -h323gatedisc 1718/udp # h323gatedisc -h323gatedisc 1718/tcp # h323gatedisc -h323gatestat 1719/udp # h323gatestat -h323gatestat 1719/tcp # h323gatestat -h323hostcall 1720/udp # h323hostcall -h323hostcall 1720/tcp # h323hostcall -# Jim Toga -caicci 1721/udp # caicci -caicci 1721/tcp # caicci -# Sylvia Scheuren -hks-lm 1722/udp # HKS License Manager -hks-lm 1722/tcp # HKS License Manager -# Michael Wood -pptp 1723/udp # pptp -pptp 1723/tcp # pptp -# Ken Crocker -csbphonemaster 1724/udp # csbphonemaster -csbphonemaster 1724/tcp # csbphonemaster -# Mark Kellerhuis -iden-ralp 1725/udp # iden-ralp -iden-ralp 1725/tcp # iden-ralp -# Chris Stanaway -iberiagames 1726/udp # IBERIAGAMES -iberiagames 1726/tcp # IBERIAGAMES -# Jose Luis <73374.313@compuserve.com> -winddx 1727/udp # winddx -winddx 1727/tcp # winddx -# Bill Andrews -telindus 1728/udp # TELINDUS -telindus 1728/tcp # TELINDUS -# Paul Pyck citydisc@euronet.nl> -roketz 1730/udp # roketz -roketz 1730/tcp # roketz -# Ahti Heinla -msiccp 1731/udp # MSICCP -msiccp 1731/tcp # MSICCP -# Max Morris -proxim 1732/udp # proxim -proxim 1732/tcp # proxim -# Srinivas N. Mogalapalli -siipat 1733/udp # SIMS - SIIPAT Protocol for Alarm Transmission -siipat 1733/tcp # SIMS - SIIPAT Protocol for Alarm Transmission -# Steve Ryckman -cambertx-lm 1734/udp # Camber Corporation License Management -cambertx-lm 1734/tcp # Camber Corporation License Management -# Jeannie Burleson -privatechat 1735/udp # PrivateChat -privatechat 1735/tcp # PrivateChat -# Louis E. Simard <76400.3371@CompuServe.COM> -street-stream 1736/udp # street-stream -street-stream 1736/tcp # street-stream -# Glenn Levitt -ultimad 1737/udp # ultimad -ultimad 1737/tcp # ultimad -# (Michael Lanzetta -gamegen1 1738/udp # GameGen1 -gamegen1 1738/tcp # GameGen1 -# Glen Pearson -webaccess 1739/udp # webaccess -webaccess 1739/tcp # webaccess -# Christian Saether -encore 1740/udp # encore -encore 1740/tcp # encore -# Stuart Button -cisco-net-mgmt 1741/udp # cisco-net-mgmt -cisco-net-mgmt 1741/tcp # cisco-net-mgmt -# John McCormack -3Com-nsd 1742/udp # 3Com-nsd -3Com-nsd 1742/tcp # 3Com-nsd -# Nitza Steinberg -cinegrfx-lm 1743/udp # Cinema Graphics License Manager -cinegrfx-lm 1743/tcp # Cinema Graphics License Manager -# Rodney Iwashina -ncpm-ft 1744/udp # ncpm-ft -ncpm-ft 1744/tcp # ncpm-ft -# Ken Hearn -remote-winsock 1745/udp # remote-winsock -remote-winsock 1745/tcp # remote-winsock -# Avi Nathan -ftrapid-1 1746/udp # ftrapid-1 -ftrapid-1 1746/tcp # ftrapid-1 -ftrapid-2 1747/udp # ftrapid-2 -ftrapid-2 1747/tcp # ftrapid-2 -# Richard J. Williams -oracle-em1 1748/udp # oracle-em1 -oracle-em1 1748/tcp # oracle-em1 -# Bob Purvy -aspen-services 1749/udp # aspen-services -aspen-services 1749/tcp # aspen-services -# Mark B. Hurst -sslp 1750/udp # Simple Socket Library's PortMaster -sslp 1750/tcp # Simple Socket Library's PortMaster -# Dr. Charles E. Campbell Jr. -# -swiftnet 1751/udp # SwiftNet -swiftnet 1751/tcp # SwiftNet -# Terry Lim -lofr-lm 1752/udp # Leap of Faith Research License Manager -lofr-lm 1752/tcp # Leap of Faith Research License Manager -# -translogic-lm 1753/udp # Translogic License Manager -translogic-lm 1753/tcp # Translogic License Manager -# Stan Dallas -oracle-em2 1754/udp # oracle-em2 -oracle-em2 1754/tcp # oracle-em2 -# Bob Purvy -ms-streaming 1755/udp # ms-streaming -ms-streaming 1755/tcp # ms-streaming -# Bret O'Rourke -capfast-lmd 1756/udp # capfast-lmd -capfast-lmd 1756/tcp # capfast-lmd -# Chuck Neal -cnhrp 1757/udp # cnhrp -cnhrp 1757/tcp # cnhrp -# William Stoye -tftp-mcast 1758/udp # tftp-mcast -tftp-mcast 1758/tcp # tftp-mcast -# Tom Emberson -spss-lm 1759/udp # SPSS License Manager -spss-lm 1759/tcp # SPSS License Manager -# Tex Hull -www-ldap-gw 1760/udp # www-ldap-gw -www-ldap-gw 1760/tcp # www-ldap-gw -# Nick Emery -cft-0 1761/udp # cft-0 -cft-0 1761/tcp # cft-0 -cft-1 1762/udp # cft-1 -cft-1 1762/tcp # cft-1 -cft-2 1763/udp # cft-2 -cft-2 1763/tcp # cft-2 -cft-3 1764/udp # cft-3 -cft-3 1764/tcp # cft-3 -cft-4 1765/udp # cft-4 -cft-4 1765/tcp # cft-4 -cft-5 1766/udp # cft-5 -cft-5 1766/tcp # cft-5 -cft-6 1767/udp # cft-6 -cft-6 1767/tcp # cft-6 -cft-7 1768/udp # cft-7 -cft-7 1768/tcp # cft-7 -# Martine Marchand 16 1 46 59 24 84 -bmc-net-adm 1769/udp # bmc-net-adm -bmc-net-adm 1769/tcp # bmc-net-adm -# Cameron Haight -bmc-net-svc 1770/udp # bmc-net-svc -bmc-net-svc 1770/tcp # bmc-net-svc -# Cameron Haight bmc-net-svc -vaultbase 1771/udp # vaultbase -vaultbase 1771/tcp # vaultbase -# Jose A. Sesin -essweb-gw 1772/udp # EssWeb Gateway -essweb-gw 1772/tcp # EssWeb Gateway -# Bob Nattenberg -kmscontrol 1773/udp # KMSControl -kmscontrol 1773/tcp # KMSControl -# Roy Chastain -global-dtserv 1774/udp # global-dtserv -global-dtserv 1774/tcp # global-dtserv -# Nicholas Davies -# 1775/tcp -femis 1776/udp # Federal Emergency Management Information System -femis 1776/tcp # Federal Emergency Management Information System -# Larry Gerhardstein -powerguardian 1777/udp # powerguardian -powerguardian 1777/tcp # powerguardian -# Charles Bennett -prodigy-intrnet 1778/udp # prodigy-internet -prodigy-intrnet 1778/tcp # prodigy-internet -# Bob Dedrick -pharmasoft 1779/udp # pharmasoft -pharmasoft 1779/tcp # pharmasoft -# Ola Strandberg -dpkeyserv 1780/udp # dpkeyserv -dpkeyserv 1780/tcp # dpkeyserv -# Yasunari Gon Yamasita -answersoft-lm 1781/udp # answersoft-lm -answersoft-lm 1781/tcp # answersoft-lm -# James A. Brewster -hp-hcip 1782/udp # hp-hcip -hp-hcip 1782/tcp # hp-hcip -# Allen Baker -# 1783 Decomissioned Port 04/14/00, ms -# -finle-lm 1784/udp # Finle License Manager -finle-lm 1784/tcp # Finle License Manager -# Dongling Wang -windlm 1785/udp # Wind River Systems License Manager -windlm 1785/tcp # Wind River Systems License Manager -# Will Dere -funk-logger 1786/udp # funk-logger -funk-logger 1786/tcp # funk-logger -funk-license 1787/udp # funk-license -funk-license 1787/tcp # funk-license -# Cimarron Boozer -# Eric Wilde -psmond 1788/udp # psmond -psmond 1788/tcp # psmond -# Will Golson -hello 1789/udp # hello -hello 1789/tcp # hello -# D. J. Bernstein -nmsp 1790/udp # Narrative Media Streaming Protocol -nmsp 1790/tcp # Narrative Media Streaming Protocol -# Paul Santinelli, Jr. -ea1 1791/udp # EA1 -ea1 1791/tcp # EA1 -# Kirk MacLean -ibm-dt-2 1792/udp # ibm-dt-2 -ibm-dt-2 1792/tcp # ibm-dt-2 -# Sam Borman -rsc-robot 1793/udp # rsc-robot -rsc-robot 1793/tcp # rsc-robot -# Andrew Jay Schneider -cera-bcm 1794/udp # cera-bcm -cera-bcm 1794/tcp # cera-bcm -# Leo Moesgaard -dpi-proxy 1795/udp # dpi-proxy -dpi-proxy 1795/tcp # dpi-proxy -# Charles Gordon -vocaltec-admin 1796/udp # Vocaltec Server Administration -vocaltec-admin 1796/tcp # Vocaltec Server Administration -# Scott Petrack -uma 1797/udp # UMA -uma 1797/tcp # UMA -# Martin Kirk -etp 1798/udp # Event Transfer Protocol -etp 1798/tcp # Event Transfer Protocol -# Mike Wray -netrisk 1799/udp # NETRISK -netrisk 1799/tcp # NETRISK -# Kevin Green -ansys-lm 1800/udp # ANSYS-License manager -ansys-lm 1800/tcp # ANSYS-License manager -# Suzanne Lorrin -msmq 1801/udp # Microsoft Message Que -msmq 1801/tcp # Microsoft Message Que -# Amnon Horowitz -concomp1 1802/udp # ConComp1 -concomp1 1802/tcp # ConComp1 -# Ed Vincent <@edv@concomp.com> -hp-hcip-gwy 1803/udp # HP-HCIP-GWY -hp-hcip-gwy 1803/tcp # HP-HCIP-GWY -# Allen Baker -enl 1804/udp # ENL -enl 1804/tcp # ENL -# Brian Olson -enl-name 1805/udp # ENL-Name -enl-name 1805/tcp # ENL-Name -# Brian Olson -musiconline 1806/udp # Musiconline -musiconline 1806/tcp # Musiconline -# Craig Weeks -fhsp 1807/udp # Fujitsu Hot Standby Protocol -fhsp 1807/tcp # Fujitsu Hot Standby Protocol -# Eiki Iwata (eiki@nd.net.fujitsu.co.jp> -oracle-vp2 1808/udp # Oracle-VP2 -oracle-vp2 1808/tcp # Oracle-VP2 -# Craig Fowler -oracle-vp1 1809/udp # Oracle-VP1 -oracle-vp1 1809/tcp # Oracle-VP1 -# Craig Fowler -jerand-lm 1810/udp # Jerand License Manager -jerand-lm 1810/tcp # Jerand License Manager -# Robert Monat -scientia-sdb 1811/udp # Scientia-SDB -scientia-sdb 1811/tcp # Scientia-SDB -# Ian Miller -radius 1812/udp # RADIUS -radius 1812/tcp # RADIUS -# Carl Rigney -radius-acct 1813/udp # RADIUS Accounting -radius-acct 1813/tcp # RADIUS Accounting -# Carl Rigney -tdp-suite 1814/udp # TDP Suite -tdp-suite 1814/tcp # TDP Suite -# Rob Lockhart -mmpft 1815/udp # MMPFT -mmpft 1815/tcp # MMPFT -# Ralf Muckenhirn -# -harp 1816/udp # HARP -harp 1816/tcp # HARP -# Bjorn Chambless -rkb-oscs 1817/udp # RKB-OSCS -rkb-oscs 1817/tcp # RKB-OSCS -# Robert Kevin Breton -etftp 1818/udp # Enhanced Trivial File Transfer Protocol -etftp 1818/tcp # Enhanced Trivial File Transfer Protocol -# William Polites -plato-lm 1819/udp # Plato License Manager -plato-lm 1819/tcp # Plato License Manager -# Mark Morris -mcagent 1820/udp # mcagent -mcagent 1820/tcp # mcagent -# Ryoichi Shinohara -donnyworld 1821/udp # donnyworld -donnyworld 1821/tcp # donnyworld -# Don Oliver -es-elmd 1822/udp # es-elmd -es-elmd 1822/tcp # es-elmd -# David Duncan -unisys-lm 1823/udp # Unisys Natural Language License Manager -unisys-lm 1823/tcp # Unisys Natural Language License Manager -# Raymond A. Diedrichs -metrics-pas 1824/udp # metrics-pas -metrics-pas 1824/tcp # metrics-pas -# Tom Haapanen -direcpc-video 1825/udp # DirecPC Video -direcpc-video 1825/tcp # DirecPC Video -# Chris Kerrigan -ardt 1826/udp # ARDT -ardt 1826/tcp # ARDT -# Mike Goddard -asi 1827/udp # ASI -asi 1827/tcp # ASI -# Bob Tournoux -itm-mcell-u 1828/udp # itm-mcell-u -itm-mcell-u 1828/tcp # itm-mcell-u -# Miles O'Neal -optika-emedia 1829/udp # Optika eMedia -optika-emedia 1829/tcp # Optika eMedia -# Daryle DeBalski -net8-cman 1830/udp # Oracle Net8 CMan Admin -net8-cman 1830/tcp # Oracle Net8 CMan Admin -# Shuvayu Kanjilal -myrtle 1831/udp # Myrtle -myrtle 1831/tcp # Myrtle -# Ron Achin -tht-treasure 1832/udp # ThoughtTreasure -tht-treasure 1832/tcp # ThoughtTreasure -# Erik Mueller -udpradio 1833/udp # udpradio -udpradio 1833/tcp # udpradio -# Guus Sliepen -ardusuni 1834/udp # ARDUS Unicast -ardusuni 1834/tcp # ARDUS Unicast -ardusmul 1835/udp # ARDUS Multicast -ardusmul 1835/tcp # ARDUS Multicast -# Toshikatsu Ito -ste-smsc 1836/udp # ste-smsc -ste-smsc 1836/tcp # ste-smsc -# Tom Snauwaert -csoft1 1837/udp # csoft1 -csoft1 1837/tcp # csoft1 -# John Coll -talnet 1838/udp # TALNET -talnet 1838/tcp # TALNET -# Aaron Lav -netopia-vo1 1839/udp # netopia-vo1 -netopia-vo1 1839/tcp # netopia-vo1 -netopia-vo2 1840/udp # netopia-vo2 -netopia-vo2 1840/tcp # netopia-vo2 -netopia-vo3 1841/udp # netopia-vo3 -netopia-vo3 1841/tcp # netopia-vo3 -netopia-vo4 1842/udp # netopia-vo4 -netopia-vo4 1842/tcp # netopia-vo4 -netopia-vo5 1843/udp # netopia-vo5 -netopia-vo5 1843/tcp # netopia-vo5 -# Marc Epard -direcpc-dll 1844/udp # DirecPC-DLL -direcpc-dll 1844/tcp # DirecPC-DLL -# Chris Kerrigan -altalink 1845/udp # altalink -altalink 1845/tcp # altalink -# Alberto Raydan -tunstall-pnc 1846/udp # Tunstall PNC -tunstall-pnc 1846/tcp # Tunstall PNC -# Robert M. Moore -slp-notify 1847/udp # SLP Notification -slp-notify 1847/tcp # SLP Notification -# James Kempf -fjdocdist 1848/udp # fjdocdist -fjdocdist 1848/tcp # fjdocdist -# Yuichi Ohiwa -alpha-sms 1849/udp # ALPHA-SMS -alpha-sms 1849/tcp # ALPHA-SMS -# Benjamin Grimm -gsi 1850/udp # GSI -gsi 1850/tcp # GSI -# William Mullaney -ctcd 1851/udp # ctcd -ctcd 1851/tcp # ctcd -# John Ryan -virtual-time 1852/udp # Virtual Time -virtual-time 1852/tcp # Virtual Time -# Angie S. Morner -vids-avtp 1853/udp # VIDS-AVTP -vids-avtp 1853/tcp # VIDS-AVTP -# Sascha Kuemmel -buddy-draw 1854/udp # Buddy Draw -buddy-draw 1854/tcp # Buddy Draw -# Marvin Shin -fiorano-rtrsvc 1855/udp # Fiorano RtrSvc -fiorano-rtrsvc 1855/tcp # Fiorano RtrSvc -fiorano-msgsvc 1856/udp # Fiorano MsgSvc -fiorano-msgsvc 1856/tcp # Fiorano MsgSvc -# Albert Holt -datacaptor 1857/udp # DataCaptor -datacaptor 1857/tcp # DataCaptor -# Steven M. Forrester -privateark 1858/udp # PrivateArk -privateark 1858/tcp # PrivateArk -# Ronen Zoran -gammafetchsvr 1859/udp # Gamma Fetcher Server -gammafetchsvr 1859/tcp # Gamma Fetcher Server -# Cnaan Aviv -sunscalar-svc 1860/udp # SunSCALAR Services -sunscalar-svc 1860/tcp # SunSCALAR Services -# Sanjay Radia -lecroy-vicp 1861/udp # LeCroy VICP -lecroy-vicp 1861/tcp # LeCroy VICP -# Anthony Cake -techra-server 1862/udp # techra-server -techra-server 1862/tcp # techra-server -# Roy Lyseng -msnp 1863/udp # MSNP -msnp 1863/tcp # MSNP -# William Lai -paradym-31port 1864/udp # Paradym 31 Port -paradym-31port 1864/tcp # Paradym 31 Port -# David Wooden -entp 1865/udp # ENTP -entp 1865/tcp # ENTP -# Seiko Epson -swrmi 1866/udp # swrmi -swrmi 1866/tcp # swrmi -# Jun Yoshii -udrive 1867/udp # UDRIVE -udrive 1867/tcp # UDRIVE -# Robby Walker -viziblebrowser 1868/udp # VizibleBrowser -viziblebrowser 1868/tcp # VizibleBrowser -# Jimmy Talbot -yestrader 1869/udp # YesTrader -yestrader 1869/tcp # YesTrader -# Robert Bryan -sunscalar-dns 1870/udp # SunSCALAR DNS Service -sunscalar-dns 1870/tcp # SunSCALAR DNS Service -# Sanjay Radia -canocentral0 1871/udp # Cano Central 0 -canocentral0 1871/tcp # Cano Central 0 -canocentral1 1872/udp # Cano Central 1 -canocentral1 1872/tcp # Cano Central 1 -# Mark McNamara -fjmpjps 1873/udp # Fjmpjps -fjmpjps 1873/tcp # Fjmpjps -fjswapsnp 1874/udp # Fjswapsnp -fjswapsnp 1874/tcp # Fjswapsnp -# Y. Ohiwa -westell-stats 1875/udp # westell stats -westell-stats 1875/tcp # westell stats -# Thomas McCabe -ewcappsrv 1876/udp # ewcappsrv -ewcappsrv 1876/tcp # ewcappsrv -# Howard Yin -hp-webqosdb 1877/udp # hp-webqosdb -hp-webqosdb 1877/tcp # hp-webqosdb -# Kim Scott -drmsmc 1878/udp # drmsmc -drmsmc 1878/tcp # drmsmc -# Katsuhiko Abe -nettgain-nms 1879/udp # NettGain NMS -nettgain-nms 1879/tcp # NettGain NMS -# Dr. Yair Shapira -vsat-control 1880/udp # Gilat VSAT Control -vsat-control 1880/tcp # Gilat VSAT Control -# Yariv Kaplan -ibm-mqseries2 1881/udp # IBM WebSphere MQ -ibm-mqseries2 1881/tcp # IBM WebSphere MQ -# Richard Maxwell -ecsqdmn 1882/udp # ecsqdmn -ecsqdmn 1882/tcp # ecsqdmn -# Paul Wissmiller -ibm-mqisdp 1883/udp # IBM MQSeries SCADA -ibm-mqisdp 1883/tcp # IBM MQSeries SCADA -# Andy Stanford-Clark -idmaps 1884/udp # Internet Distance Map Svc -idmaps 1884/tcp # Internet Distance Map Svc -# Sugih Jamim -vrtstrapserver 1885/udp # Veritas Trap Server -vrtstrapserver 1885/tcp # Veritas Trap Server -# Russell Thrasher -leoip 1886/udp # Leonardo over IP -leoip 1886/tcp # Leonardo over IP -# Dietmar Finkler -filex-lport 1887/udp # FileX Listening Port -filex-lport 1887/tcp # FileX Listening Port -# Megan Woods -ncconfig 1888/udp # NC Config Port -ncconfig 1888/tcp # NC Config Port -# Simon Parker -unify-adapter 1889/udp # Unify Web Adapter Service -unify-adapter 1889/tcp # Unify Web Adapter Service -# Duane Gibson -wilkenlistener 1890/udp # wilkenListener -wilkenlistener 1890/tcp # wilkenListener -# Wilken GmbH -childkey-notif 1891/udp # ChildKey Notification -childkey-notif 1891/tcp # ChildKey Notification -childkey-ctrl 1892/udp # ChildKey Control -childkey-ctrl 1892/tcp # ChildKey Control -# Ivan Berardinelli -elad 1893/udp # ELAD Protocol -elad 1893/tcp # ELAD Protocol -# Franco Milan -o2server-port 1894/udp # O2Server Port -o2server-port 1894/tcp # O2Server Port -# Tim Howard -##### Microsoft (unoffically) using 1895 ##### -b-novative-ls 1896/udp # b-novative license server -b-novative-ls 1896/tcp # b-novative license server -# Matthias Riese -metaagent 1897/udp # MetaAgent -metaagent 1897/tcp # MetaAgent -# Stephane Vinsot -cymtec-port 1898/udp # Cymtec secure management -cymtec-port 1898/tcp # Cymtec secure management -# Michael Mester -mc2studios 1899/udp # MC2Studios -mc2studios 1899/tcp # MC2Studios -# Michael Coon -ssdp 1900/udp # SSDP -ssdp 1900/tcp # SSDP -# Yaron Goland -fjicl-tep-a 1901/udp # Fujitsu ICL Terminal Emulator Program A -fjicl-tep-a 1901/tcp # Fujitsu ICL Terminal Emulator Program A -# Bob Lyon -fjicl-tep-b 1902/udp # Fujitsu ICL Terminal Emulator Program B -fjicl-tep-b 1902/tcp # Fujitsu ICL Terminal Emulator Program B -# Bob Lyon -linkname 1903/udp # Local Link Name Resolution -linkname 1903/tcp # Local Link Name Resolution -# Dan Harrington -fjicl-tep-c 1904/udp # Fujitsu ICL Terminal Emulator Program C -fjicl-tep-c 1904/tcp # Fujitsu ICL Terminal Emulator Program C -# Bob Lyon -sugp 1905/udp # Secure UP.Link Gateway Protocol -sugp 1905/tcp # Secure UP.Link Gateway Protocol -# Peter King -tpmd 1906/udp # TPortMapperReq -tpmd 1906/tcp # TPortMapperReq -# Sheila Devins -intrastar 1907/udp # IntraSTAR -intrastar 1907/tcp # IntraSTAR -# Peter Schoenberger -dawn 1908/udp # Dawn -dawn 1908/tcp # Dawn -# Michael Crawford -global-wlink 1909/udp # Global World Link -global-wlink 1909/tcp # Global World Link -# Nicholas Davies -ultrabac 1910/udp # UltraBac Software communications port -ultrabac 1910/tcp # UltraBac Software communications port -# Paul Bunn -mtp 1911/udp # Starlight Networks Multimedia Transport Protocol -mtp 1911/tcp # Starlight Networks Multimedia Transport Protocol -# Bruce Lieberman -rhp-iibp 1912/udp # rhp-iibp -rhp-iibp 1912/tcp # rhp-iibp -# George Nachman -# Tom Lake -armadp 1913/udp # armadp -armadp 1913/tcp # armadp -# Kevin Welton -elm-momentum 1914/udp # Elm-Momentum -elm-momentum 1914/tcp # Elm-Momentum -# Willie Wu -facelink 1915/udp # FACELINK -facelink 1915/tcp # FACELINK -# J.H. Hermans -persona 1916/udp # Persoft Persona -persona 1916/tcp # Persoft Persona -# Tom Spidell -noagent 1917/udp # nOAgent -noagent 1917/tcp # nOAgent -# Martin Bestmann -can-nds 1918/udp # Candle Directory Service - NDS -can-nds 1918/tcp # Candle Directory Service - NDS -can-dch 1919/udp # Candle Directory Service - DCH -can-dch 1919/tcp # Candle Directory Service - DCH -can-ferret 1920/udp # Candle Directory Service - FERRET -can-ferret 1920/tcp # Candle Directory Service - FERRET -# Dannis Yang -noadmin 1921/udp # NoAdmin -noadmin 1921/tcp # NoAdmin -# Martin Bestmann -tapestry 1922/udp # Tapestry -tapestry 1922/tcp # Tapestry -# Ken Oliver -spice 1923/udp # SPICE -spice 1923/tcp # SPICE -# Nicholas Chua -xiip 1924/udp # XIIP -xiip 1924/tcp # XIIP -# Alain Robert -discovery-port 1925/udp # Surrogate Discovery Port -discovery-port 1925/tcp # Surrogate Discovery Port -# Keith Thompson -egs 1926/udp # Evolution Game Server -egs 1926/tcp # Evolution Game Server -# Simon Butcher -videte-cipc 1927/udp # Videte CIPC Port -videte-cipc 1927/tcp # Videte CIPC Port -# Videte IT -emsd-port 1928/udp # Expnd Maui Srvr Dscovr -emsd-port 1928/tcp # Expnd Maui Srvr Dscovr -# Edo Yahav -bandwiz-system 1929/udp # Bandwiz System - Server -bandwiz-system 1929/tcp # Bandwiz System - Server -# Joseph Weihs -driveappserver 1930/udp # Drive AppServer -driveappserver 1930/tcp # Drive AppServer -# Andrew Johnson -# -amdsched 1931/udp # AMD SCHED -amdsched 1931/tcp # AMD SCHED -# Michael Walsh -ctt-broker 1932/udp # CTT Broker -ctt-broker 1932/tcp # CTT Broker -# Jens Edlund -xmapi 1933/udp # IBM LM MT Agent -xmapi 1933/tcp # IBM LM MT Agent -xaapi 1934/udp # IBM LM Appl Agent -xaapi 1934/tcp # IBM LM Appl Agent -# Helga Wolin -macromedia-fcs 1935/udp # Macromedia Flash Communications server MX -macromedia-fcs 1935/tcp # Macromedia Flash Communications Server MX -# Pritham Shetty -jetcmeserver 1936/udp # JetCmeServer Server Port -jetcmeserver 1936/tcp # JetCmeServer Server Port -jwserver 1937/udp # JetVWay Server Port -jwserver 1937/tcp # JetVWay Server Port -jwclient 1938/udp # JetVWay Client Port -jwclient 1938/tcp # JetVWay Client Port -jvserver 1939/udp # JetVision Server Port -jvserver 1939/tcp # JetVision Server Port -jvclient 1940/udp # JetVision Client Port -jvclient 1940/tcp # JetVision Client Port -# Stephen Tsun -dic-aida 1941/udp # DIC-Aida -dic-aida 1941/tcp # DIC-Aida -# Frans S.C. Witte -res 1942/udp # Real Enterprise Service -res 1942/tcp # Real Enterprise Service -# Bob Janssen -beeyond-media 1943/udp # Beeyond Media -beeyond-media 1943/tcp # Beeyond Media -# Bob Deblier -close-combat 1944/udp # close-combat -close-combat 1944/tcp # close-combat -# David Hua -dialogic-elmd 1945/udp # dialogic-elmd -dialogic-elmd 1945/tcp # dialogic-elmd -# Roger Kay -tekpls 1946/udp # tekpls -tekpls 1946/tcp # tekpls -# Brian Abramson -hlserver 1947/udp # hlserver -hlserver 1947/tcp # hlserver -# Michael Zzunke -eye2eye 1948/udp # eye2eye -eye2eye 1948/tcp # eye2eye -# Trevor Bell -ismaeasdaqlive 1949/udp # ISMA Easdaq Live -ismaeasdaqlive 1949/tcp # ISMA Easdaq Live -ismaeasdaqtest 1950/udp # ISMA Easdaq Test -ismaeasdaqtest 1950/tcp # ISMA Easdaq Test -# Stephen Dunne -bcs-lmserver 1951/udp # bcs-lmserver -bcs-lmserver 1951/tcp # bcs-lmserver -# Andy Warner -mpnjsc 1952/udp # mpnjsc -mpnjsc 1952/tcp # mpnjsc -# Takenori Miyahara -rapidbase 1953/udp # Rapid Base -rapidbase 1953/tcp # Rapid Base -# Antoni Wolski -abr-basic 1954/udp # ABR-Basic Data -abr-basic 1954/tcp # ABR-Basic Data -abr-secure 1955/udp # ABR-Secure Data -abr-secure 1955/tcp # ABR-Secure Data -# Aero9 - Graham Wooden -vrtl-vmf-ds 1956/udp # Vertel VMF DS -vrtl-vmf-ds 1956/tcp # Vertel VMF DS -# Alan Akahoshi -unix-status 1957/udp # unix-status -unix-status 1957/tcp # unix-status -# Thomas Erskine -dxadmind 1958/udp # CA Administration Daemon -dxadmind 1958/tcp # CA Administration Daemon -# John Birrell -simp-all 1959/udp # SIMP Channel -simp-all 1959/tcp # SIMP Channel -# Tim Hunnewell -nasmanager 1960/udp # Merit DAC NASmanager -nasmanager 1960/tcp # Merit DAC NASmanager -# Richard S. Conto -bts-appserver 1961/udp # BTS APPSERVER -bts-appserver 1961/tcp # BTS APPSERVER -# Carl Obsorn -biap-mp 1962/udp # BIAP-MP -biap-mp 1962/tcp # BIAP-MP -# Chuck Shotton -webmachine 1963/udp # WebMachine -webmachine 1963/tcp # WebMachine -# Tim Jowers -solid-e-engine 1964/udp # SOLID E ENGINE -solid-e-engine 1964/tcp # SOLID E ENGINE -# Ari Valtanen -tivoli-npm 1965/udp # Tivoli NPM -tivoli-npm 1965/tcp # Tivoli NPM -# Ivana Cuozzo -slush 1966/udp # Slush -slush 1966/tcp # Slush -# Damien Miller -sns-quote 1967/udp # SNS Quote -sns-quote 1967/tcp # SNS Quote -# Robert Ellman -lipsinc 1968/udp # LIPSinc -lipsinc 1968/tcp # LIPSinc -lipsinc1 1969/udp # LIPSinc 1 -lipsinc1 1969/tcp # LIPSinc 1 -# Robert Armington -netop-rc 1970/udp # NetOp Remote Control -netop-rc 1970/tcp # NetOp Remote Control -netop-school 1971/udp # NetOp School -netop-school 1971/tcp # NetOp School -# NetOp Technical Support -intersys-cache 1972/udp # Cache -intersys-cache 1972/tcp # Cache -# Mark Hanson -dlsrap 1973/udp # Data Link Switching Remote Access Protocol -dlsrap 1973/tcp # Data Link Switching Remote Access Protocol -# Steve T. Chiang -drp 1974/udp # DRP -drp 1974/tcp # DRP -# Richard Alan Johnson -tcoflashagent 1975/udp # TCO Flash Agent -tcoflashagent 1975/tcp # TCO Flash Agent -tcoregagent 1976/udp # TCO Reg Agent -tcoregagent 1976/tcp # TCO Reg Agent -tcoaddressbook 1977/udp # TCO Address Book -tcoaddressbook 1977/tcp # TCO Address Book -# Allan Panitch -unisql 1978/udp # UniSQL -unisql 1978/tcp # UniSQL -unisql-java 1979/udp # UniSQL Java -unisql-java 1979/tcp # UniSQL Java -# Keith Yarbrough -pearldoc-xact 1980/udp # PearlDoc XACT -pearldoc-xact 1980/tcp # PearlDoc XACT -# Chris Vertonghen -p2pq 1981/udp # p2pQ -p2pq 1981/tcp # p2pQ -# Warren Alexander -estamp 1982/udp # Evidentiary Timestamp -estamp 1982/tcp # Evidentiary Timestamp -# Todd Glassey -lhtp 1983/udp # Loophole Test Protocol -lhtp 1983/tcp # Loophole Test Protocol -# Kade Hansson -bb 1984/udp # BB -bb 1984/tcp # BB -# Sean MacGuire -hsrp 1985/udp # Hot Standby Router Protocol -hsrp 1985/tcp # Hot Standby Router Protocol -# Phil Morton -licensedaemon 1986/udp # cisco license management -licensedaemon 1986/tcp # cisco license management -tr-rsrb-p1 1987/udp # cisco RSRB Priority 1 port -tr-rsrb-p1 1987/tcp # cisco RSRB Priority 1 port -tr-rsrb-p2 1988/udp # cisco RSRB Priority 2 port -tr-rsrb-p2 1988/tcp # cisco RSRB Priority 2 port -tr-rsrb-p3 1989/udp # cisco RSRB Priority 3 port -tr-rsrb-p3 1989/tcp # cisco RSRB Priority 3 port -# The following entry records an unassigned but widespread use -mshnet 1989/udp # MHSnet system -mshnet 1989/tcp # MHSnet system -# Bob Kummerfeld -stun-p1 1990/udp # cisco STUN Priority 1 port -stun-p1 1990/tcp # cisco STUN Priority 1 port -stun-p2 1991/udp # cisco STUN Priority 2 port -stun-p2 1991/tcp # cisco STUN Priority 2 port -stun-p3 1992/udp # cisco STUN Priority 3 port -stun-p3 1992/tcp # cisco STUN Priority 3 port -# The following entry records an unassigned but widespread use -ipsendmsg 1992/udp # IPsendmsg -ipsendmsg 1992/tcp # IPsendmsg -# Bob Kummerfeld -snmp-tcp-port 1993/udp # cisco SNMP TCP port -snmp-tcp-port 1993/tcp # cisco SNMP TCP port -stun-port 1994/udp # cisco serial tunnel port -stun-port 1994/tcp # cisco serial tunnel port -perf-port 1995/udp # cisco perf port -perf-port 1995/tcp # cisco perf port -tr-rsrb-port 1996/udp # cisco Remote SRB port -tr-rsrb-port 1996/tcp # cisco Remote SRB port -gdp-port 1997/udp # cisco Gateway Discovery Protocol -gdp-port 1997/tcp # cisco Gateway Discovery Protocol -x25-svc-port 1998/udp # cisco X.25 service (XOT) -x25-svc-port 1998/tcp # cisco X.25 service (XOT) -tcp-id-port 1999/udp # cisco identification port -tcp-id-port 1999/tcp # cisco identification port -# -callbook 2000/udp # callbook -callbook 2000/tcp # callbook -# Devon Bowen -wizard 2001/udp # curry -dc 2001/tcp # -globe 2002/udp # -globe 2002/tcp # -emce 2004/udp # CCWS mm conf -mailbox 2004/tcp # -oracle 2005/udp # -berknet 2005/tcp # -raid-cc 2006/udp # raid -invokator 2006/tcp # -raid-am 2007/udp # -dectalk 2007/tcp # -terminaldb 2008/udp # -conf 2008/tcp # -whosockami 2009/udp # -news 2009/tcp # -pipe_server 2010/udp # -search 2010/tcp # -servserv 2011/udp # -raid-cc 2011/tcp # raid -raid-ac 2012/udp # -ttyinfo 2012/tcp # -raid-cd 2013/udp # -raid-am 2013/tcp # -raid-sf 2014/udp # -troff 2014/tcp # -raid-cs 2015/udp # -cypress 2015/tcp # -bootserver 2016/udp # -bootserver 2016/tcp # -bootclient 2017/udp # -cypress-stat 2017/tcp # -rellpack 2018/udp # -terminaldb 2018/tcp # -about 2019/udp # -whosockami 2019/tcp # -xinupageserver 2020/udp # -xinupageserver 2020/tcp # -xinuexpansion1 2021/udp # -servexec 2021/tcp # -xinuexpansion2 2022/udp # -down 2022/tcp # -xinuexpansion3 2023/udp # -xinuexpansion3 2023/tcp # -xinuexpansion4 2024/udp # -xinuexpansion4 2024/tcp # -xribs 2025/udp # -ellpack 2025/tcp # -scrabble 2026/udp # -scrabble 2026/tcp # -shadowserver 2027/udp # -shadowserver 2027/tcp # -submitserver 2028/udp # -submitserver 2028/tcp # -# 2029 Unassigned -device2 2030/udp # -device2 2030/tcp # -# 2031 Unassigned -blackboard 2032/udp # -blackboard 2032/tcp # -glogger 2033/udp # -glogger 2033/tcp # -scoremgr 2034/udp # -scoremgr 2034/tcp # -imsldoc 2035/udp # -imsldoc 2035/tcp # -# 2036 Unassigned -p2plus 2037/udp # P2plus Application Server -p2plus 2037/tcp # P2plus Application Server -# Thomas Boerkel -objectmanager 2038/udp # -objectmanager 2038/tcp # -# 2039 Unassigned -lam 2040/udp # -lam 2040/tcp # -interbase 2041/udp # -interbase 2041/tcp # -isis 2042/udp # isis -isis 2042/tcp # isis -isis-bcast 2043/udp # isis-bcast -isis-bcast 2043/tcp # isis-bcast -# Ken Chapman -rimsl 2044/udp # -rimsl 2044/tcp # -cdfunc 2045/udp # -cdfunc 2045/tcp # -sdfunc 2046/udp # -sdfunc 2046/tcp # -dls 2047/udp # -dls 2047/tcp # -dls-monitor 2048/udp # -dls-monitor 2048/tcp # -# <== NOTE Conflict on 2049 ! -shilp 2049/udp nfs # -shilp 2049/tcp nfs # -# Brent Callaghan -av-emb-config 2050/udp # Avaya EMB Config Port -av-emb-config 2050/tcp # Avaya EMB Config Port -# John Yeager -epnsdp 2051/udp # EPNSDP -epnsdp 2051/tcp # EPNSDP -# Hiroyasu Ogata -clearvisn 2052/udp # clearVisn Services Port -clearvisn 2052/tcp # clearVisn Services Port -# Dave Lyons -lot105-ds-upd 2053/udp # Lot105 DSuper Updates -lot105-ds-upd 2053/tcp # Lot105 DSuper Updates -# Piers Scannell -weblogin 2054/udp # Weblogin Port -weblogin 2054/tcp # Weblogin Port -# Diego Saravia -iop 2055/udp # Iliad-Odyssey Protocol -iop 2055/tcp # Iliad-Odyssey Protocol -# Bruce Lueckenhoff -omnisky 2056/udp # OmniSky Port -omnisky 2056/tcp # OmniSky Port -# Oren Hurvitz -rich-cp 2057/udp # Rich Content Protocol -rich-cp 2057/tcp # Rich Content Protocol -# Ronen Vainish -newwavesearch 2058/udp # NewWaveSearchables RMI -newwavesearch 2058/tcp # NewWaveSearchables RMI -# Thomas Kerkau -bmc-messaging 2059/udp # BMC Messaging Service -bmc-messaging 2059/tcp # BMC Messaging Service -# Roger Huebner -teleniumdaemon 2060/udp # Telenium Daemon IF -teleniumdaemon 2060/tcp # Telenium Daemon IF -# Nick Woronuk -netmount 2061/udp # NetMount -netmount 2061/tcp # NetMount -# Alex Oberlander -icg-swp 2062/udp # ICG SWP Port -icg-swp 2062/tcp # ICG SWP Port -icg-bridge 2063/udp # ICG Bridge Port -icg-bridge 2063/tcp # ICG Bridge Port -icg-iprelay 2064/udp # ICG IP Relay Port -icg-iprelay 2064/tcp # ICG IP Relay Port -# Steve Quintana -dlsrpn 2065/udp # Data Link Switch Read Port Number -dlsrpn 2065/tcp # Data Link Switch Read Port Number -# Amir Peless -# 2066 Unassigned -dlswpn 2067/udp # Data Link Switch Write Port Number -dlswpn 2067/tcp # Data Link Switch Write Port Number -# Amir Peless -avauthsrvprtcl 2068/udp # Avocent AuthSrv Protocol -avauthsrvprtcl 2068/tcp # Avocent AuthSrv Protocol -# Steven W. Clark -event-port 2069/udp # HTTP Event Port -event-port 2069/tcp # HTTP Event Port -# Larry Emlich -ah-esp-encap 2070/udp # AH and ESP Encapsulated in UDP packet -ah-esp-encap 2070/tcp # AH and ESP Encapsulated in UDP packet -# Amy Weaver -acp-port 2071/udp # Axon Control Protocol -acp-port 2071/tcp # Axon Control Protocol -# Christiaan Simons -msync 2072/udp # GlobeCast mSync -msync 2072/tcp # GlobeCast mSync -# Piers Scannell -gxs-data-port 2073/udp # DataReel Database Socket -gxs-data-port 2073/tcp # DataReel Database Socket -# Douglas M. Gaer -vrtl-vmf-sa 2074/udp # Vertel VMF SA -vrtl-vmf-sa 2074/tcp # Vertel VMF SA -# Alan Akahoshi -newlixengine 2075/udp # Newlix ServerWare Engine -newlixengine 2075/tcp # Newlix ServerWare Engine -newlixconfig 2076/udp # Newlix JSPConfig -newlixconfig 2076/tcp # Newlix JSPConfig -# Jean-Serge Gagnon -trellisagt 2077/udp # TrelliSoft Agent -trellisagt 2077/tcp # TrelliSoft Agent -trellissvr 2078/udp # TrelliSoft Server -trellissvr 2078/tcp # TrelliSoft Server -# Justin R. Bendich -idware-router 2079/udp # IDWARE Router Port -idware-router 2079/tcp # IDWARE Router Port -# Zdenek Kolba -autodesk-nlm 2080/udp # Autodesk NLM (FLEXlm) -autodesk-nlm 2080/tcp # Autodesk NLM (FLEXlm) -# Greg Suppes -kme-trap-port 2081/udp # KME PRINTER TRAP PORT -kme-trap-port 2081/tcp # KME PRINTER TRAP PORT -# Masakatsu Matsuo -infowave 2082/udp # Infowave Mobiltiy Server -infowave 2082/tcp # Infowave Mobility Server -# Kaz Kylheku -# 2083-2085 Unassigned -gnunet 2086/udp # GNUnet -gnunet 2086/tcp # GNUnet -# Christian Grothoff October 2002 -eli 2087/udp # ELI - Event Logging Integration -eli 2087/tcp # ELI - Event Logging Integration -# Maya Zimerman -# 2088 Unassigned -sep 2089/udp # Security Encapsulation Protocol - SEP -sep 2089/tcp # Security Encapsulation Protocol - SEP -# Maya Zimerman -lrp 2090/udp # Load Report Protocol -lrp 2090/tcp # Load Report Protocol -# Amir Peless -prp 2091/udp # PRP -prp 2091/tcp # PRP -# Amir Peless -descent3 2092/udp # Descent 3 -descent3 2092/tcp # Descent 3 -# Kevin Bentley -nbx-cc 2093/udp # NBX CC -nbx-cc 2093/tcp # NBX CC -nbx-au 2094/udp # NBX AU -nbx-au 2094/tcp # NBX AU -nbx-ser 2095/udp # NBX SER -nbx-ser 2095/tcp # NBX SER -nbx-dir 2096/udp # NBX DIR -nbx-dir 2096/tcp # NBX DIR -# Henry Houh -jetformpreview 2097/udp # Jet Form Preview -jetformpreview 2097/tcp # Jet Form Preview -# Zygmunt Wiercioch -dialog-port 2098/udp # Dialog Port -dialog-port 2098/tcp # Dialog Port -# Joseph Mathew -h2250-annex-g 2099/udp # H.225.0 Annex G -h2250-annex-g 2099/tcp # H.225.0 Annex G -# Gur Kimchi -amiganetfs 2100/udp # Amiga Network Filesystem -amiganetfs 2100/tcp # Amiga Network Filesystem -# Rudi Chiarito -rtcm-sc104 2101/udp # rtcm-sc104 -rtcm-sc104 2101/tcp # rtcm-sc104 -# Wolfgang Rupprecht -zephyr-srv 2102/udp # Zephyr server -zephyr-srv 2102/tcp # Zephyr server -zephyr-clt 2103/udp # Zephyr serv-hm connection -zephyr-clt 2103/tcp # Zephyr serv-hm connection -zephyr-hm 2104/udp # Zephyr hostmanager -zephyr-hm 2104/tcp # Zephyr hostmanager -# Greg Hudson -minipay 2105/udp # MiniPay -minipay 2105/tcp # MiniPay -# Amir Herzberg -mzap 2106/udp # MZAP -mzap 2106/tcp # MZAP -# Dave Thaler -bintec-admin 2107/udp # BinTec Admin -bintec-admin 2107/tcp # BinTec Admin -# Thomas Schmidt -comcam 2108/udp # Comcam -comcam 2108/tcp # Comcam -# Don Gilbreath -ergolight 2109/udp # Ergolight -ergolight 2109/tcp # Ergolight -# Jindra Ryvola -umsp 2110/udp # UMSP -umsp 2110/tcp # UMSP -# Alexander Bogdanov -dsatp 2111/udp # DSATP -dsatp 2111/tcp # DSATP -# Ralph Beck -idonix-metanet 2112/udp # Idonix MetaNet -idonix-metanet 2112/tcp # Idonix MetaNet -# Paul Harrison -hsl-storm 2113/udp # HSL StoRM -hsl-storm 2113/tcp # HSL StoRM -# Jost Faganel -newheights 2114/udp # NEWHEIGHTS -newheights 2114/tcp # NEWHEIGHTS -# Michael Levy -kdm 2115/udp # Key Distribution Manager -kdm 2115/tcp # Key Distribution Manager -# Mike Little -ccowcmr 2116/udp # CCOWCMR -ccowcmr 2116/tcp # CCOWCMR -# Mark Morwood -mentaclient 2117/udp # MENTACLIENT -mentaclient 2117/tcp # MENTACLIENT -mentaserver 2118/udp # MENTASERVER -mentaserver 2118/tcp # MENTASERVER -# Ilan Shlosberg -gsigatekeeper 2119/udp # GSIGATEKEEPER -gsigatekeeper 2119/tcp # GSIGATEKEEPER -# Steve Tuecke -qencp 2120/udp # Quick Eagle Networks CP -qencp 2120/tcp # Quick Eagle Networks CP -# Santa Dasu -scientia-ssdb 2121/udp # SCIENTIA-SSDB -scientia-ssdb 2121/tcp # SCIENTIA-SSDB -# Ian Miller -caupc-remote 2122/udp # CauPC Remote Control -caupc-remote 2122/tcp # CauPC Remote Control -# Environics Oy -gtp-control 2123/udp # GTP-Control Plane (3GPP) -gtp-control 2123/tcp # GTP-Control Plane (3GPP) -# Alessio Casati -elatelink 2124/udp # ELATELINK -elatelink 2124/tcp # ELATELINK -# Tim Lawrence -lockstep 2125/udp # LOCKSTEP -lockstep 2125/tcp # LOCKSTEP -# Karl Forster -pktcable-cops 2126/udp # PktCable-COPS -pktcable-cops 2126/tcp # PktCable-COPS -# Glenn Russell -index-pc-wb 2127/udp # INDEX-PC-WB -index-pc-wb 2127/tcp # INDEX-PC-WB -# James David Fisher -net-steward 2128/udp # Net Steward Control -net-steward 2128/tcp # Net Steward Control -# Martin Norman -cs-live 2129/udp # cs-live.com -cs-live 2129/tcp # cs-live.com -# Matt Lachance -swc-xds 2130/udp # SWC-XDS -swc-xds 2130/tcp # SWC-XDS -# Peter Zurich -avantageb2b 2131/udp # Avantageb2b -avantageb2b 2131/tcp # Avantageb2b -# Avi Software -avail-epmap 2132/udp # AVAIL-EPMAP -avail-epmap 2132/tcp # AVAIL-EPMAP -# Mark Armstrong -zymed-zpp 2133/udp # ZYMED-ZPP -zymed-zpp 2133/tcp # ZYMED-ZPP -# Gregg Welker -avenue 2134/udp # AVENUE -avenue 2134/tcp # AVENUE -# Jason Cater -gris 2135/udp # Grid Resource Information Server -gris 2135/tcp # Grid Resource Information Server -# Steve Tuecke -appworxsrv 2136/udp # APPWORXSRV -appworxsrv 2136/tcp # APPWORXSRV -# Fred McLain -connect 2137/udp # CONNECT -connect 2137/tcp # CONNECT -# Reid Ligon -unbind-cluster 2138/udp # UNBIND-CLUSTER -unbind-cluster 2138/tcp # UNBIND-CLUSTER -# Francois Harvey -ias-auth 2139/udp # IAS-AUTH -ias-auth 2139/tcp # IAS-AUTH -ias-reg 2140/udp # IAS-REG -ias-reg 2140/tcp # IAS-REG -ias-admind 2141/udp # IAS-ADMIND -ias-admind 2141/tcp # IAS-ADMIND -# Baiju V. Patel -tdm-over-ip 2142/udp # TDM-OVER-IP -tdm-over-ip 2142/tcp # TDM-OVER-IP -# Tal Gilad -lv-jc 2143/udp # Live Vault Job Control -lv-jc 2143/tcp # Live Vault Job Control -lv-ffx 2144/udp # Live Vault Fast Object Transfer -lv-ffx 2144/tcp # Live Vault Fast Object Transfer -lv-pici 2145/udp # Live Vault Remote Diagnostic Console Support -lv-pici 2145/tcp # Live Vault Remote Diagnostic Console Support -lv-not 2146/udp # Live Vault Admin Event Notification -lv-not 2146/tcp # Live Vault Admin Event Notification -lv-auth 2147/udp # Live Vault Authentication -lv-auth 2147/tcp # Live Vault Authentication -# Ted Hess -veritas-ucl 2148/udp # VERITAS UNIVERSAL COMMUNICATION LAYER -veritas-ucl 2148/tcp # VERITAS UNIVERSAL COMMUNICATION LAYER -# Songlin Ren -acptsys 2149/udp # ACPTSYS -acptsys 2149/tcp # ACPTSYS -# Michael Lekias -dynamic3d 2150/udp # DYNAMIC3D -dynamic3d 2150/tcp # DYNAMIC3D -# Tobias Wegner -docent 2151/udp # DOCENT -docent 2151/tcp # DOCENT -# Hali Lindbloom -gtp-user 2152/udp # GTP-User Plane (3GPP) -gtp-user 2152/tcp # GTP-User Plane (3GPP) -# Alessio Casati -# 2153-2158 Unassigned -gdbremote 2159/udp # GDB Remote Debug Port -gdbremote 2159/tcp # GDB Remote Debug Port -# Nigel Stephens -apc-2160 2160/udp # APC 2160 -apc-2160 2160/tcp # APC 2160 -# American Power Conversion -apc-2161 2161/udp # APC 2161 -apc-2161 2161/tcp # APC 2161 -# American Power Conversion -navisphere 2162/udp # Navisphere -navisphere 2162/tcp # Navisphere -navisphere-sec 2163/udp # Navisphere Secure -navisphere-sec 2163/tcp # Navisphere Secure -# Andreas Bauer -ddns-v3 2164/udp # Dynamic DNS Version 3 -ddns-v3 2164/tcp # Dynamic DNS Version 3 -# Alan Yates -x-bone-api 2165/udp # X-Bone API -x-bone-api 2165/tcp # X-Bone API -# Joe Touch -iwserver 2166/udp # iwserver -iwserver 2166/tcp # iwserver -# Fred Surr -raw-serial 2167/udp # Raw Async Serial Link -raw-serial 2167/tcp # Raw Async Serial Link -# Benjamin Green -# 2168-2179 Unassigned -mc-gt-srv 2180/udp # Millicent Vendor Gateway Server -mc-gt-srv 2180/tcp # Millicent Vendor Gateway Server -# Steve Glassman -eforward 2181/udp # eforward -eforward 2181/tcp # eforward -# Greg Pringle -# 2182-2189 Unassigned -tivoconnect 2190/udp # TiVoConnect Beacon -tivoconnect 2190/tcp # TiVoConnect Beacon -# Jeffrey J. Peters August 2002 -tvbus 2191/udp # TvBus Messaging -tvbus 2191/tcp # TvBus Messaging -# Brian W. Beach January 2003 -# 2192-2199 Unassigned -ici 2200/udp # ICI -ici 2200/tcp # ICI -# Brent Hines -ats 2201/udp # Advanced Training System Program -ats 2201/tcp # Advanced Training System Program -# (Need contact info) -imtc-map 2202/udp # Int. Multimedia Teleconferencing Cosortium -imtc-map 2202/tcp # Int. Multimedia Teleconferencing Cosortium -# Pat Galvin -kali 2213/udp # Kali -kali 2213/tcp # Kali -# Jay Cotton -netiq 2220/udp # NetIQ End2End -netiq 2220/tcp # NetIQ End2End -# Gary Weichinger -rockwell-csp1 2221/udp # Rockwell CSP1 -rockwell-csp1 2221/tcp # Rockwell CSP1 -rockwell-csp2 2222/udp # Rockwell CSP2 -rockwell-csp2 2222/tcp # Rockwell CSP2 -rockwell-csp3 2223/udp # Rockwell CSP3 -rockwell-csp3 2223/tcp # Rockwell CSP3 -# Brian Batke -# -ivs-video 2232/udp # IVS Video default -ivs-video 2232/tcp # IVS Video default -# Thierry Turletti -infocrypt 2233/udp # INFOCRYPT -infocrypt 2233/tcp # INFOCRYPT -# Erica Liu -directplay 2234/udp # DirectPlay -directplay 2234/tcp # DirectPlay -# Ajay Jindal -sercomm-wlink 2235/udp # Sercomm-WLink -sercomm-wlink 2235/tcp # Sercomm-WLink -# Melinda Tsao -nani 2236/udp # Nani -nani 2236/tcp # Nani -# Steve Benoit -optech-port1-lm 2237/udp # Optech Port1 License Manager -optech-port1-lm 2237/tcp # Optech Port1 License Manager -# Gerard Cannie -aviva-sna 2238/udp # AVIVA SNA SERVER -aviva-sna 2238/tcp # AVIVA SNA SERVER -# Vick Keshishian -imagequery 2239/udp # Image Query -imagequery 2239/tcp # Image Query -# Charles Jacobs -recipe 2240/udp # RECIPe -recipe 2240/tcp # RECIPe -# Charlie Limoges -ivsd 2241/udp # IVS Daemon -ivsd 2241/tcp # IVS Daemon -# Thierry Turletti -# -foliocorp 2242/udp # Folio Remote Server -foliocorp 2242/tcp # Folio Remote Server -# Pat Mcgowan -magicom 2243/udp # Magicom Protocol -magicom 2243/tcp # Magicom Protocol -# Yossi Appleboum -nmsserver 2244/udp # NMS Server -nmsserver 2244/tcp # NMS Server -# Dmitry Krasnonosenkikh -# -hao 2245/udp # HaO -hao 2245/tcp # HaO -# Panic Ride -pc-mta-addrmap 2246/udp # PacketCable MTA Addr Map -pc-mta-addrmap 2246/tcp # PacketCable MTA Addr Map -# Dave Maxwell -# 2247 Unassigned -ums 2248/udp # User Management Service -ums 2248/tcp # User Management Service -# Andrew Crockford -# -rfmp 2249/udp # RISO File Manager Protocol -rfmp 2249/tcp # RISO File Manager Protocol -# Shinji Yamanaka -remote-collab 2250/udp # remote-collab -remote-collab 2250/tcp # remote-collab -# Richard Walters -dif-port 2251/udp # Distributed Framework Port -dif-port 2251/tcp # Distributed Framework Port -# Sebastien Lambla -njenet-ssl 2252/udp # NJENET using SSL -njenet-ssl 2252/tcp # NJENET using SSL -# Hans U Schmidt -dtv-chan-req 2253/udp # DTV Channel Request -dtv-chan-req 2253/tcp # DTV Channel Request -# Richard Hodges -seispoc 2254/udp # Seismic P.O.C. Port -seispoc 2254/tcp # Seismic P.O.C. Port -# Robert Reimiller -vrtp 2255/udp # VRTP - ViRtue Transfer Protocol -vrtp 2255/tcp # VRTP - ViRtue Transfer Protocol -# Max Fudim -# 2256-2259 Unassigned -apc-2260 2260/udp # APC 2260 -apc-2260 2260/tcp # APC 2260 -# American Power Conversion February 2002 -# 2261-2278 Unassigned -xmquery 2279/udp # xmquery -xmquery 2279/tcp # xmquery -# Niels Christiansen -lnvpoller 2280/udp # LNVPOLLER -lnvpoller 2280/tcp # LNVPOLLER -lnvconsole 2281/udp # LNVCONSOLE -lnvconsole 2281/tcp # LNVCONSOLE -lnvalarm 2282/udp # LNVALARM -lnvalarm 2282/tcp # LNVALARM -lnvstatus 2283/udp # LNVSTATUS -lnvstatus 2283/tcp # LNVSTATUS -lnvmaps 2284/udp # LNVMAPS -lnvmaps 2284/tcp # LNVMAPS -lnvmailmon 2285/udp # LNVMAILMON -lnvmailmon 2285/tcp # LNVMAILMON -# John Payne -nas-metering 2286/udp # NAS-Metering -nas-metering 2286/tcp # NAS-Metering -# Steven Sawkins -dna 2287/udp # DNA -dna 2287/tcp # DNA -# Tung Nguyen -netml 2288/udp # NETML -netml 2288/tcp # NETML -# Jochen Hansmeyer -# 2289-2293 Unassigned -konshus-lm 2294/udp # Konshus License Manager (FLEX) -konshus-lm 2294/tcp # Konshus License Manager (FLEX) -# Francois Painchaud -advant-lm 2295/udp # Advant License Manager -advant-lm 2295/tcp # Advant License Manager -# Lars-Goran Magnusson -# -theta-lm 2296/udp # Theta License Manager (Rainbow) -theta-lm 2296/tcp # Theta License Manager (Rainbow) -# David Thompson -d2k-datamover1 2297/udp # D2K DataMover 1 -d2k-datamover1 2297/tcp # D2K DataMover 1 -d2k-datamover2 2298/udp # D2K DataMover 2 -d2k-datamover2 2298/tcp # D2K DataMover 2 -# Eric Lan -pc-telecommute 2299/udp # PC Telecommute -pc-telecommute 2299/tcp # PC Telecommute -# John Daniel Bonamico -cvmmon 2300/udp # CVMMON -cvmmon 2300/tcp # CVMMON -# Roger Kumpf -cpq-wbem 2301/udp # Compaq HTTP -cpq-wbem 2301/tcp # Compaq HTTP -# Scott Shaffer -binderysupport 2302/udp # Bindery Support -binderysupport 2302/tcp # Bindery Support -# Narasimha Rao N. -proxy-gateway 2303/udp # Proxy Gateway -proxy-gateway 2303/tcp # Proxy Gateway -# Paul Funk -attachmate-uts 2304/udp # Attachmate UTS -attachmate-uts 2304/tcp # Attachmate UTS -# George Gianelos -mt-scaleserver 2305/udp # MT ScaleServer -mt-scaleserver 2305/tcp # MT ScaleServer -# Paul Glaubitz -tappi-boxnet 2306/udp # TAPPI BoxNet -tappi-boxnet 2306/tcp # TAPPI BoxNet -# Richard Spartz -pehelp 2307/udp # pehelp -pehelp 2307/tcp # pehelp -# Jens Kilian -sdhelp 2308/udp # sdhelp -sdhelp 2308/tcp # sdhelp -# Annette Klecha -sdserver 2309/udp # SD Server -sdserver 2309/tcp # SD Server -sdclient 2310/udp # SD Client -sdclient 2310/tcp # SD Client -# Jeurgen Broesamle -messageservice 2311/udp # Message Service -messageservice 2311/tcp # Message Service -# No contact Listed -iapp 2313/udp # IAPP (Inter Access Point Protocol) -iapp 2313/tcp # IAPP (Inter Access Point Protocol) -# Henri Moelard -cr-websystems 2314/udp # CR WebSystems -cr-websystems 2314/tcp # CR WebSystems -# Robin Giese -precise-sft 2315/udp # Precise Sft. -precise-sft 2315/tcp # Precise Sft. -# Michael Landwehr -sent-lm 2316/udp # SENT License Manager -sent-lm 2316/tcp # SENT License Manager -# Pisharath Krishnan -attachmate-g32 2317/udp # Attachmate G32 -attachmate-g32 2317/tcp # Attachmate G32 -# Bryce Bhatnagar -cadencecontrol 2318/udp # Cadence Control -cadencecontrol 2318/tcp # Cadence Control -# Buck Caldwell -infolibria 2319/udp # InfoLibria -infolibria 2319/tcp # InfoLibria -# Chris Chiotasso -siebel-ns 2320/udp # Siebel NS -siebel-ns 2320/tcp # Siebel NS -# Gilberto Arnaiz -rdlap 2321/udp # RDLAP -rdlap 2321/tcp # RDLAP -# Robert Wiebe -ofsd 2322/udp # ofsd -ofsd 2322/tcp # ofsd -3d-nfsd 2323/udp # 3d-nfsd -3d-nfsd 2323/tcp # 3d-nfsd -# Mike Sherrill -cosmocall 2324/udp # Cosmocall -cosmocall 2324/tcp # Cosmocall -# Steve Dellutri -designspace-lm 2325/udp # Design Space License Management -designspace-lm 2325/tcp # Design Space License Management -# Suzanne Lorrin -idcp 2326/udp # IDCP -idcp 2326/tcp # IDCP -# Keisokugiken Corp. -xingcsm 2327/udp # xingcsm -xingcsm 2327/tcp # xingcsm -# Dave Spencer -netrix-sftm 2328/udp # Netrix SFTM -netrix-sftm 2328/tcp # Netrix SFTM -# Garrett Herschleb -nvd 2329/udp # NVD -nvd 2329/tcp # NVD -# Peter Weyman -tscchat 2330/udp # TSCCHAT -tscchat 2330/tcp # TSCCHAT -# Mike Jackson -agentview 2331/udp # AGENTVIEW -agentview 2331/tcp # AGENTVIEW -# Ram Iyer -rcc-host 2332/udp # RCC Host -rcc-host 2332/tcp # RCC Host -# Martin Shoemaker -snapp 2333/udp # SNAPP -snapp 2333/tcp # SNAPP -# Kevin Osborn -ace-client 2334/udp # ACE Client Auth -ace-client 2334/tcp # ACE Client Auth -ace-proxy 2335/udp # ACE Proxy -ace-proxy 2335/tcp # ACE Proxy -# Riaz Zolfonoon -appleugcontrol 2336/udp # Apple UG Control -appleugcontrol 2336/tcp # Apple UG Control -# Gene Tyacke -ideesrv 2337/udp # ideesrv -ideesrv 2337/tcp # ideesrv -# Marazzi -norton-lambert 2338/udp # Norton Lambert -norton-lambert 2338/tcp # Norton Lambert -# Richard de Mornay -3com-webview 2339/udp # 3Com WebView -3com-webview 2339/tcp # 3Com WebView -# Jennifer Grace -wrs_registry 2340/udp # WRS Registry -wrs_registry 2340/tcp # WRS Registry -# Christophe Cleraux -xiostatus 2341/udp # XIO Status -xiostatus 2341/tcp # XIO Status -# Randy Maas -manage-exec 2342/udp # Seagate Manage Exec -manage-exec 2342/tcp # Seagate Manage Exec -# Jim Flaherty -nati-logos 2343/udp # nati logos -nati-logos 2343/tcp # nati logos -# David Pierce -fcmsys 2344/udp # fcmsys -fcmsys 2344/tcp # fcmsys -dbm 2345/udp # dbm -dbm 2345/tcp # dbm -# Dean Robson -redstorm_join 2346/udp # Game Connection Port -redstorm_join 2346/tcp # Game Connection Port -redstorm_find 2347/udp # Game Announcement and Location -redstorm_find 2347/tcp # Game Announcement and Location -redstorm_info 2348/udp # Information to query for game status -redstorm_info 2348/tcp # Information to query for game status -redstorm_diag 2349/udp # Diagnostics Port -redstorm_diag 2349/tcp # Diagnostics Port -# David Weinstein -psbserver 2350/udp # psbserver -psbserver 2350/tcp # psbserver -psrserver 2351/udp # psrserver -psrserver 2351/tcp # psrserver -pslserver 2352/udp # pslserver -pslserver 2352/tcp # pslserver -pspserver 2353/udp # pspserver -pspserver 2353/tcp # pspserver -psprserver 2354/udp # psprserver -psprserver 2354/tcp # psprserver -psdbserver 2355/udp # psdbserver -psdbserver 2355/tcp # psdbserver -# Paul Reddy -gxtelmd 2356/udp # GXT License Managemant -gxtelmd 2356/tcp # GXT License Managemant -# Robert Hodgson -unihub-server 2357/udp # UniHub Server -unihub-server 2357/tcp # UniHub Server -# Tim Kenyon -futrix 2358/udp # Futrix -futrix 2358/tcp # Futrix -# Peter Frankenberg -flukeserver 2359/udp # FlukeServer -flukeserver 2359/tcp # FlukeServer -# Bill Marbaker -nexstorindltd 2360/udp # NexstorIndLtd -nexstorindltd 2360/tcp # NexstorIndLtd -# NexStor India Limited -tl1 2361/udp # TL1 -tl1 2361/tcp # TL1 -# Charles Scott Roberson -digiman 2362/udp # digiman -digiman 2362/tcp # digiman -# Aaron S. Kurland -mediacntrlnfsd 2363/udp # Media Central NFSD -mediacntrlnfsd 2363/tcp # Media Central NFSD -# shivakumar s. govindarajapuram -oi-2000 2364/udp # OI-2000 -oi-2000 2364/tcp # OI-2000 -# Software Horizons Inc. -dbref 2365/udp # dbref -dbref 2365/tcp # dbref -# Yoshihiro Yamazaki -qip-login 2366/udp # qip-login -qip-login 2366/tcp # qip-login -# Mike Morgan -service-ctrl 2367/udp # Service Control -service-ctrl 2367/tcp # Service Control -# Humberto Sanchez -opentable 2368/udp # OpenTable -opentable 2368/tcp # OpenTable -# Thomas Theobald -acs2000-dsp 2369/udp # ACS2000 DSP -acs2000-dsp 2369/tcp # ACS2000 DSP -# Jeffrey Beauchamp -l3-hbmon 2370/udp # L3-HBMon -l3-hbmon 2370/tcp # L3-HBMon -# Dolores Scott -#### Port 2370 Unofficially used by Compaq #### -worldwire 2371/udp # Compaq WorldWire Port -worldwire 2371/tcp # Compaq WorldWire Port -# Michael Spratte -# 2372-2380 Unassigned -compaq-https 2381/udp # Compaq HTTPS -compaq-https 2381/tcp # Compaq HTTPS -# Scott Shaffer -ms-olap3 2382/udp # Microsoft OLAP -ms-olap3 2382/tcp # Microsoft OLAP -ms-olap4 2383/udp # Microsoft OLAP -ms-olap4 2383/tcp # Microsoft OLAP -# Mosha Pasumansky -sd-capacity 2384/udp # SD-CAPACITY -sd-request 2384/tcp # SD-REQUEST -# Jason McManus -sd-data 2385/udp # SD-DATA -sd-data 2385/tcp # SD-DATA -# Jason McManus -virtualtape 2386/udp # Virtual Tape -virtualtape 2386/tcp # Virtual Tape -vsamredirector 2387/udp # VSAM Redirector -vsamredirector 2387/tcp # VSAM Redirector -# Ingo Franzki -mynahautostart 2388/udp # MYNAH AutoStart -mynahautostart 2388/tcp # MYNAH AutoStart -# Thomas J. Klehr -ovsessionmgr 2389/udp # OpenView Session Mgr -ovsessionmgr 2389/tcp # OpenView Session Mgr -# Eric Pulsipher -rsmtp 2390/udp # RSMTP -rsmtp 2390/tcp # RSMTP -# Geoff Collyer -3com-net-mgmt 2391/udp # 3COM Net Management -3com-net-mgmt 2391/tcp # 3COM Net Management -# Prathibha Nagvar -tacticalauth 2392/udp # Tactical Auth -tacticalauth 2392/tcp # Tactical Auth -# David Yon -ms-olap1 2393/udp # MS OLAP 1 -ms-olap1 2393/tcp # MS OLAP 1 -ms-olap2 2394/udp # MS OLAP 2 -ms-olap2 2394/tcp # MS OLAP 2 -# Mosha Pasumansky -lan900_remote 2395/udp # LAN900 Remote -lan900_remote 2395/tcp # LAN900 Remote -# Tom Quinlan -wusage 2396/udp # Wusage -wusage 2396/tcp # Wusage -# Thomas Boutell -ncl 2397/udp # NCL -ncl 2397/tcp # NCL -# Robert Wiebe -orbiter 2398/udp # Orbiter -orbiter 2398/tcp # Orbiter -# David Goldberg -fmpro-fdal 2399/udp # FileMaker, Inc. - Data Access Layer -fmpro-fdal 2399/tcp # FileMaker, Inc. - Data Access Layer -# Clay Maeckal -opequus-server 2400/udp # OpEquus Server -opequus-server 2400/tcp # OpEquus Server -# Gavin Hutchinson -cvspserver 2401/udp # cvspserver -cvspserver 2401/tcp # cvspserver -# Jim Kingdon -taskmaster2000 2402/udp # TaskMaster 2000 Server -taskmaster2000 2402/tcp # TaskMaster 2000 Server -taskmaster2000 2403/udp # TaskMaster 2000 Web -taskmaster2000 2403/tcp # TaskMaster 2000 Web -# Ed Odjaghian -iec-104 2404/udp # IEC 60870-5-104 process control over IP -iec-104 2404/tcp # IEC 60870-5-104 process control over IP -# Walter K. Eichelburg -trc-netpoll 2405/udp # TRC Netpoll -trc-netpoll 2405/tcp # TRC Netpoll -# Bizhan Ghavami -jediserver 2406/udp # JediServer -jediserver 2406/tcp # JediServer -# Paul McEntire -orion 2407/udp # Orion -orion 2407/tcp # Orion -# Matthew Horoschun -optimanet 2408/udp # OptimaNet -optimanet 2408/tcp # OptimaNet -# John Graham-Cumming -sns-protocol 2409/udp # SNS Protocol -sns-protocol 2409/tcp # SNS Protocol -# Amir Blich -vrts-registry 2410/udp # VRTS Registry -vrts-registry 2410/tcp # VRTS Registry -# Pranay Varma -netwave-ap-mgmt 2411/udp # Netwave AP Management -netwave-ap-mgmt 2411/tcp # Netwave AP Management -# Johnny Zweig -cdn 2412/udp # CDN -cdn 2412/tcp # CDN -# Alan Noble -orion-rmi-reg 2413/udp # orion-rmi-reg -orion-rmi-reg 2413/tcp # orion-rmi-reg -# J.S. Greenfield -beeyond 2414/udp # Beeyond -beeyond 2414/tcp # Beeyond -# Bob Deblier -codima-rtp 2415/udp # Codima Remote Transaction Protocol -codima-rtp 2415/tcp # Codima Remote Transaction Protocol -# Sylvia Ross -rmtserver 2416/udp # RMT Server -rmtserver 2416/tcp # RMT Server -# Yvon Marineau -composit-server 2417/udp # Composit Server -composit-server 2417/tcp # Composit Server -# Katsuaki Naoi -cas 2418/udp # cas -cas 2418/tcp # cas -# Akiyoshi Ochi -attachmate-s2s 2419/udp # Attachmate S2S -attachmate-s2s 2419/tcp # Attachmate S2S -# Chris Rominski -dslremote-mgmt 2420/udp # DSL Remote Management -dslremote-mgmt 2420/tcp # DSL Remote Management -# Westell, Inc. -g-talk 2421/udp # G-Talk -g-talk 2421/tcp # G-Talk -# Matt Hammond -crmsbits 2422/udp # CRMSBITS -crmsbits 2422/tcp # CRMSBITS -# Rod Ward -rnrp 2423/udp # RNRP -rnrp 2423/tcp # RNRP -# Per Sahlqvist -kofax-svr 2424/udp # KOFAX-SVR -kofax-svr 2424/tcp # KOFAX-SVR -# Terry Reagan -fjitsuappmgr 2425/udp # Fujitsu App Manager -fjitsuappmgr 2425/tcp # Fujitsu App Manager -# Hiroyuki Kawabuchi -# 2426 Unassigned (Removed 2002-04-29) -mgcp-gateway 2427/udp # Media Gateway Control Protocol Gateway -mgcp-gateway 2427/tcp # Media Gateway Control Protocol Gateway -# Christian Huitema -ott 2428/udp # One Way Trip Time -ott 2428/tcp # One Way Trip Time -# Greg Troxel -ft-role 2429/udp # FT-ROLE -ft-role 2429/tcp # FT-ROLE -# Doug Boone -venus 2430/udp # venus -venus 2430/tcp # venus -venus-se 2431/udp # venus-se -venus-se 2431/tcp # venus-se -codasrv 2432/udp # codasrv -codasrv 2432/tcp # codasrv -codasrv-se 2433/udp # codasrv-se -codasrv-se 2433/tcp # codasrv-se -# Robert Watson -pxc-epmap 2434/udp # pxc-epmap -pxc-epmap 2434/tcp # pxc-epmap -# Jun Nakamura -optilogic 2435/udp # OptiLogic -optilogic 2435/tcp # OptiLogic -# Clark Williams -topx 2436/udp # TOP/X -topx 2436/tcp # TOP/X -# Dragos Pop -unicontrol 2437/udp # UniControl -unicontrol 2437/tcp # UniControl -# Ing. Markus Huemer -msp 2438/udp # MSP -msp 2438/tcp # MSP -# Evan Caves -sybasedbsynch 2439/udp # SybaseDBSynch -sybasedbsynch 2439/tcp # SybaseDBSynch -# Dave Neudoerffer -spearway 2440/udp # Spearway Lockers -spearway 2440/tcp # Spearway Lockers -# Pierre Frisch -pvsw-inet 2441/udp # Pervasive I*net Data Server -pvsw-inet 2441/tcp # Pervasive I*net Data Server -# Chuck Talk -netangel 2442/udp # Netangel -netangel 2442/tcp # Netangel -# Ladislav Baranyay -powerclientcsf 2443/udp # PowerClient Central Storage Facility -powerclientcsf 2443/tcp # PowerClient Central Storage Facility -# Brian Klassen -btpp2sectrans 2444/udp # BT PP2 Sectrans -btpp2sectrans 2444/tcp # BT PP2 Sectrans -# Ian Daniels -dtn1 2445/udp # DTN1 -dtn1 2445/tcp # DTN1 -# Bob Gaddie -bues_service 2446/udp # bues_service -bues_service 2446/tcp # bues_service -# Leonhard Diekmann -# -ovwdb 2447/udp # OpenView NNM daemon -ovwdb 2447/tcp # OpenView NNM daemon -# Eric Pulsipher -hpppssvr 2448/udp # hpppsvr -hpppssvr 2448/tcp # hpppsvr -# Bridgette Landers -ratl 2449/udp # RATL -ratl 2449/tcp # RATL -# Paul Greenfield -netadmin 2450/udp # netadmin -netadmin 2450/tcp # netadmin -netchat 2451/udp # netchat -netchat 2451/tcp # netchat -# Julian Mehnle -snifferclient 2452/udp # SnifferClient -snifferclient 2452/tcp # SnifferClient -# Amy Weaver -madge-om 2453/udp # madge-om -madge-om 2453/tcp # madge-om -# Andrew Draper -indx-dds 2454/udp # IndX-DDS -indx-dds 2454/tcp # IndX-DDS -# Paul Carmichael -wago-io-system 2455/udp # WAGO-IO-SYSTEM -wago-io-system 2455/tcp # WAGO-IO-SYSTEM -# Uwe Rathert -altav-remmgt 2456/udp # altav-remmgt -altav-remmgt 2456/tcp # altav-remmgt -# Gary M. Allen -rapido-ip 2457/udp # Rapido_IP -rapido-ip 2457/tcp # Rapido_IP -# Man Shuen Cheung -griffin 2458/udp # griffin -griffin 2458/tcp # griffin -# Tom Taylor -community 2459/udp # Community -community 2459/tcp # Community -# David Schwartz -ms-theater 2460/udp # ms-theater -ms-theater 2460/tcp # ms-theater -# Anton Kucer -qadmifoper 2461/udp # qadmifoper -qadmifoper 2461/tcp # qadmifoper -qadmifevent 2462/udp # qadmifevent -qadmifevent 2462/tcp # qadmifevent -# Pekka Takaranta -symbios-raid 2463/udp # Symbios Raid -symbios-raid 2463/tcp # Symbios Raid -# Bill Delaney -direcpc-si 2464/udp # DirecPC SI -direcpc-si 2464/tcp # DirecPC SI -# Doug Dillon -lbm 2465/udp # Load Balance Management -lbm 2465/tcp # Load Balance Management -lbf 2466/udp # Load Balance Forwarding -lbf 2466/tcp # Load Balance Forwarding -# Kazuhiro Koide -high-criteria 2467/udp # High Criteria -high-criteria 2467/tcp # High Criteria -# Konstantin Iavid -qip-msgd 2468/udp # qip_msgd -qip-msgd 2468/tcp # qip_msgd -# Mike Morgan -mti-tcs-comm 2469/udp # MTI-TCS-COMM -mti-tcs-comm 2469/tcp # MTI-TCS-COMM -# Mario Bonin -taskman-port 2470/udp # taskman port -taskman-port 2470/tcp # taskman port -# Boris Panteleev -seaodbc 2471/udp # SeaODBC -seaodbc 2471/tcp # SeaODBC -# Adrian Hornby -c3 2472/udp # C3 -c3 2472/tcp # C3 -# Eckhard Grieger -aker-cdp 2473/udp # Aker-cdp -aker-cdp 2473/tcp # Aker-cdp -# Rodrigo Ormonde -vitalanalysis 2474/udp # Vital Analysis -vitalanalysis 2474/tcp # Vital Analysis -# Srinivas Reddy -ace-server 2475/udp # ACE Server -ace-server 2475/tcp # ACE Server -ace-svr-prop 2476/udp # ACE Server Propagation -ace-svr-prop 2476/tcp # ACE Server Propagation -ssm-cvs 2477/udp # SecurSight Certificate Valifation Service -ssm-cvs 2477/tcp # SecurSight Certificate Valifation Service -ssm-cssps 2478/udp # SecurSight Authentication Server (SSL) -ssm-cssps 2478/tcp # SecurSight Authentication Server (SSL) -ssm-els 2479/udp # SecurSight Event Logging Server (SSL) -ssm-els 2479/tcp # SecurSight Event Logging Server (SSL) -# John Linn -lingwood 2480/udp # Lingwood's Detail -lingwood 2480/tcp # Lingwood's Detail -# Dave Richmond -giop 2481/udp # Oracle GIOP -giop 2481/tcp # Oracle GIOP -giop-ssl 2482/udp # Oracle GIOP SSL -giop-ssl 2482/tcp # Oracle GIOP SSL -ttc 2483/udp # Oracle TTC -ttc 2483/tcp # Oracle TTC -ttc-ssl 2484/udp # Oracle TTC SSL -ttc-ssl 2484/tcp # Oracle TTC SSL -# Chandar Venkataraman -netobjects1 2485/udp # Net Objects1 -netobjects1 2485/tcp # Net Objects1 -netobjects2 2486/udp # Net Objects2 -netobjects2 2486/tcp # Net Objects2 -# Francois Granade -pns 2487/udp # Policy Notice Service -pns 2487/tcp # Policy Notice Service -# Akiyoshi Ochi -moy-corp 2488/udp # Moy Corporation -moy-corp 2488/tcp # Moy Corporation -# Gang Gong Moy -tsilb 2489/udp # TSILB -tsilb 2489/tcp # TSILB -# James Irwin -qip-qdhcp 2490/udp # qip_qdhcp -qip-qdhcp 2490/tcp # qip_qdhcp -# Mike Morgan -conclave-cpp 2491/udp # Conclave CPP -conclave-cpp 2491/tcp # Conclave CPP -# Larry Lipstone -groove 2492/udp # GROOVE -groove 2492/tcp # GROOVE -# Ray Ozzie -talarian-mqs 2493/udp # Talarian MQS -talarian-mqs 2493/tcp # Talarian MQS -# Jim Stabile -bmc-ar 2494/udp # BMC AR -bmc-ar 2494/tcp # BMC AR -# Shelia Childs -fast-rem-serv 2495/udp # Fast Remote Services -fast-rem-serv 2495/tcp # Fast Remote Services -# Scott St. Clair -dirgis 2496/udp # DIRGIS -dirgis 2496/tcp # DIRGIS -# Deutschland Informations- und -# Reservierungsgesellschaft mbH -quaddb 2497/udp # Quad DB -quaddb 2497/tcp # Quad DB -# Jeff Rosenthal -odn-castraq 2498/udp # ODN-CasTraq -odn-castraq 2498/tcp # ODN-CasTraq -# Richard Hodges -unicontrol 2499/udp # UniControl -unicontrol 2499/tcp # UniControl -# Ing. Markus Huemer -rtsserv 2500/udp # Resource Tracking system server -rtsserv 2500/tcp # Resource Tracking system server -rtsclient 2501/udp # Resource Tracking system client -rtsclient 2501/tcp # Resource Tracking system client -# Aubrey Turner -# -kentrox-prot 2502/udp # Kentrox Protocol -kentrox-prot 2502/tcp # Kentrox Protocol -# Anil Lakhwara -nms-dpnss 2503/udp # NMS-DPNSS -nms-dpnss 2503/tcp # NMS-DPNSS -# Jean-Christophe Desire -# -wlbs 2504/udp # WLBS -wlbs 2504/tcp # WLBS -# William Bain -# 2505 Removed (2002-06-14) -jbroker 2506/udp # jbroker -jbroker 2506/tcp # jbroker -# Rohit Garg -spock 2507/udp # spock -spock 2507/tcp # spock -# Jon A. Christopher -jdatastore 2508/udp # JDataStore -jdatastore 2508/tcp # JDataStore -# Tod Landis -fjmpss 2509/udp # fjmpss -fjmpss 2509/tcp # fjmpss -# Makoto Watanabe -fjappmgrbulk 2510/udp # fjappmgrbulk -fjappmgrbulk 2510/tcp # fjappmgrbulk -# Hiroyuki Kawabuchi -metastorm 2511/udp # Metastorm -metastorm 2511/tcp # Metastorm -# Eric Isom -citrixima 2512/udp # Citrix IMA -citrixima 2512/tcp # Citrix IMA -citrixadmin 2513/udp # Citrix ADMIN -citrixadmin 2513/tcp # Citrix ADMIN -# Myk Willis -facsys-ntp 2514/udp # Facsys NTP -facsys-ntp 2514/tcp # Facsys NTP -facsys-router 2515/udp # Facsys Router -facsys-router 2515/tcp # Facsys Router -# Jeff Hoffman -maincontrol 2516/udp # Main Control -maincontrol 2516/tcp # Main Control -# Nathan Sadia -call-sig-trans 2517/udp # H.323 Annex E call signaling transport -call-sig-trans 2517/tcp # H.323 Annex E call signaling transport -# Gur Kimchi -willy 2518/udp # Willy -willy 2518/tcp # Willy -# Carl-Johan Wik -globmsgsvc 2519/udp # globmsgsvc -globmsgsvc 2519/tcp # globmsgsvc -# David Wiltz -pvsw 2520/udp # Pervasive Listener -pvsw 2520/tcp # Pervasive Listener -# Chuck Talk -adaptecmgr 2521/udp # Adaptec Manager -adaptecmgr 2521/tcp # Adaptec Manager -# Mark Parenti -windb 2522/udp # WinDb -windb 2522/tcp # WinDb -# Larry Traylor -qke-llc-v3 2523/udp # Qke LLC V.3 -qke-llc-v3 2523/tcp # Qke LLC V.3 -# Joerg Niehoff -optiwave-lm 2524/udp # Optiwave License Management -optiwave-lm 2524/tcp # Optiwave License Management -# Slawomir Krzesinski -ms-v-worlds 2525/udp # MS V-Worlds -ms-v-worlds 2525/tcp # MS V-Worlds -# Pete Wong -ema-sent-lm 2526/udp # EMA License Manager -ema-sent-lm 2526/tcp # EMA License Manager -# Thaddeus Perala -iqserver 2527/udp # IQ Server -iqserver 2527/tcp # IQ Server -# Nick Straguzzi -ncr_ccl 2528/udp # NCR CCL -ncr_ccl 2528/tcp # NCR CCL -# Amitava Dutta -utsftp 2529/udp # UTS FTP -utsftp 2529/tcp # UTS FTP -# David Moore -vrcommerce 2530/udp # VR Commerce -vrcommerce 2530/tcp # VR Commerce -# Yosi Mass -ito-e-gui 2531/udp # ITO-E GUI -ito-e-gui 2531/tcp # ITO-E GUI -# Michael Haeuptle -ovtopmd 2532/udp # OVTOPMD -ovtopmd 2532/tcp # OVTOPMD -# Eric Pulsipher -snifferserver 2533/udp # SnifferServer -snifferserver 2533/tcp # SnifferServer -# Amy Weaver -combox-web-acc 2534/udp # Combox Web Access -combox-web-acc 2534/tcp # Combox Web Access -# Yochai Cohen -madcap 2535/udp # MADCAP -madcap 2535/tcp # MADCAP -# Stephen Hanna -btpp2audctr1 2536/udp # btpp2audctr1 -btpp2audctr1 2536/tcp # btpp2audctr1 -# Ian Daniels -upgrade 2537/udp # Upgrade Protocol -upgrade 2537/tcp # Upgrade Protocol -# Breck Auten -vnwk-prapi 2538/udp # vnwk-prapi -vnwk-prapi 2538/tcp # vnwk-prapi -# John Hasselkus -vsiadmin 2539/udp # VSI Admin -vsiadmin 2539/tcp # VSI Admin -# Rob Juergens -lonworks 2540/udp # LonWorks -lonworks 2540/tcp # LonWorks -lonworks2 2541/udp # LonWorks2 -lonworks2 2541/tcp # LonWorks2 -# Gary Bartlett -davinci 2542/udp # daVinci Presenter -davinci 2542/tcp # daVinci Presenter -# b-novative GmbH -reftek 2543/udp # REFTEK -reftek 2543/tcp # REFTEK -# Robert Banfill -novell-zen 2544/udp # Novell ZEN -novell-zen 2544/tcp # Novell ZEN -# Randy Cook -sis-emt 2545/udp # sis-emt -sis-emt 2545/tcp # sis-emt -# Bill Crawford -vytalvaultbrtp 2546/udp # vytalvaultbrtp -vytalvaultbrtp 2546/tcp # vytalvaultbrtp -vytalvaultvsmp 2547/udp # vytalvaultvsmp -vytalvaultvsmp 2547/tcp # vytalvaultvsmp -vytalvaultpipe 2548/udp # vytalvaultpipe -vytalvaultpipe 2548/tcp # vytalvaultpipe -# Tim Boldt -ipass 2549/udp # IPASS -ipass 2549/tcp # IPASS -# Michael Fischer -ads 2550/udp # ADS -ads 2550/tcp # ADS -# Michael O'Connor -isg-uda-server 2551/udp # ISG UDA Server -isg-uda-server 2551/tcp # ISG UDA Server -# Dror Harari -call-logging 2552/udp # Call Logging -call-logging 2552/tcp # Call Logging -# Dean Webb -efidiningport 2553/udp # efidiningport -efidiningport 2553/tcp # efidiningport -# Lynn Carter -vcnet-link-v10 2554/udp # VCnet-Link v10 -vcnet-link-v10 2554/tcp # VCnet-Link v10 -# Csaba Mate -compaq-wcp 2555/udp # Compaq WCP -compaq-wcp 2555/tcp # Compaq WCP -# Ferruccio Barletta -nicetec-nmsvc 2556/udp # nicetec-nmsvc -nicetec-nmsvc 2556/tcp # nicetec-nmsvc -nicetec-mgmt 2557/udp # nicetec-mgmt -nicetec-mgmt 2557/tcp # nicetec-mgmt -# Joerg Paulus -pclemultimedia 2558/udp # PCLE Multi Media -pclemultimedia 2558/tcp # PCLE Multi Media -# Bernd Scharping -lstp 2559/udp # LSTP -lstp 2559/tcp # LSTP -# Waiki Wright -labrat 2560/udp # labrat -labrat 2560/tcp # labrat -# John Harvey -mosaixcc 2561/udp # MosaixCC -mosaixcc 2561/tcp # MosaixCC -# Steven Frare -delibo 2562/udp # Delibo -delibo 2562/tcp # Delibo -# NovaWiz LTD -cti-redwood 2563/udp # CTI Redwood -cti-redwood 2563/tcp # CTI Redwood -# Songwon Chi -hp-3000-telnet 2564/tcp # HP 3000 NS/VT block mode telnet -# -coord-svr 2565/udp # Coordinator Server -coord-svr 2565/tcp # Coordinator Server -# Richard Steiger -pcs-pcw 2566/udp # pcs-pcw -pcs-pcw 2566/tcp # pcs-pcw -# W. Jordan Fitzhugh -clp 2567/udp # Cisco Line Protocol -clp 2567/tcp # Cisco Line Protocol -# Susan Hinrichs -spamtrap 2568/udp # SPAM TRAP -spamtrap 2568/tcp # SPAM TRAP -# Chuck Bennett -sonuscallsig 2569/udp # Sonus Call Signal -sonuscallsig 2569/tcp # Sonus Call Signal -# Mark Garti -hs-port 2570/udp # HS Port -hs-port 2570/tcp # HS Port -# Uri Doron -cecsvc 2571/udp # CECSVC -cecsvc 2571/tcp # CECSVC -# Roger Pao -ibp 2572/udp # IBP -ibp 2572/tcp # IBP -# Jonathan Downes -trustestablish 2573/udp # Trust Establish -trustestablish 2573/tcp # Trust Establish -# Yosi Mass -blockade-bpsp 2574/udp # Blockade BPSP -blockade-bpsp 2574/tcp # Blockade BPSP -# VP - Research & Development -hl7 2575/udp # HL7 -hl7 2575/tcp # HL7 -# Tim Jacobs -tclprodebugger 2576/udp # TCL Pro Debugger -tclprodebugger 2576/tcp # TCL Pro Debugger -scipticslsrvr 2577/udp # Scriptics Lsrvr -scipticslsrvr 2577/tcp # Scriptics Lsrvr -# Brent Welch -rvs-isdn-dcp 2578/udp # RVS ISDN DCP -rvs-isdn-dcp 2578/tcp # RVS ISDN DCP -# Michael Zirpel -mpfoncl 2579/udp # mpfoncl -mpfoncl 2579/tcp # mpfoncl -# Itaru Kimura -tributary 2580/udp # Tributary -tributary 2580/tcp # Tributary -# Louis Lu -argis-te 2581/udp # ARGIS TE -argis-te 2581/tcp # ARGIS TE -argis-ds 2582/udp # ARGIS DS -argis-ds 2582/tcp # ARGIS DS -# John Legh-Page -mon 2583/udp # MON -mon 2583/tcp # MON -# Jim Trocki -cyaserv 2584/udp # cyaserv -cyaserv 2584/tcp # cyaserv -# Morgan Jones -netx-server 2585/udp # NETX Server -netx-server 2585/tcp # NETX Server -netx-agent 2586/udp # NETX Agent -netx-agent 2586/tcp # NETX Agent -# Brett Dolecheck -masc 2587/udp # MASC -masc 2587/tcp # MASC -# Pavlin Ivanov Radoslavov -# -privilege 2588/udp # Privilege -privilege 2588/tcp # Privilege -# Gil Hecht -quartus-tcl 2589/udp # quartus tcl -quartus-tcl 2589/tcp # quartus tcl -# Subroto Datta -idotdist 2590/udp # idotdist -idotdist 2590/tcp # idotdist -# Jason Hunter -maytagshuffle 2591/udp # Maytag Shuffle -maytagshuffle 2591/tcp # Maytag Shuffle -# Maytag Corporation -netrek 2592/udp # netrek -netrek 2592/tcp # netrek -# Al Guetzlaff -mns-mail 2593/udp # MNS Mail Notice Service -mns-mail 2593/tcp # MNS Mail Notice Service -# Rumiko Kikuta -dts 2594/udp # Data Base Server -dts 2594/tcp # Data Base Server -# Andreas Roene -worldfusion1 2595/udp # World Fusion 1 -worldfusion1 2595/tcp # World Fusion 1 -worldfusion2 2596/udp # World Fusion 2 -worldfusion2 2596/tcp # World Fusion 2 -# World Fusion -homesteadglory 2597/udp # Homestead Glory -homesteadglory 2597/tcp # Homestead Glory -# John Tokash -citriximaclient 2598/udp # Citrix MA Client -citriximaclient 2598/tcp # Citrix MA Client -# Myk Willis -snapd 2599/udp # Snap Discovery -snapd 2599/tcp # Snap Discovery -# Kevin Osborn -hpstgmgr 2600/udp # HPSTGMGR -hpstgmgr 2600/tcp # HPSTGMGR -# Kevin Collins -discp-client 2601/udp # discp client -discp-client 2601/tcp # discp client -discp-server 2602/udp # discp server -discp-server 2602/tcp # discp server -# Peter White -servicemeter 2603/udp # Service Meter -servicemeter 2603/tcp # Service Meter -# Duncan Hare -nsc-ccs 2604/udp # NSC CCS -nsc-ccs 2604/tcp # NSC CCS -nsc-posa 2605/udp # NSC POSA -nsc-posa 2605/tcp # NSC POSA -# Tom Findley -netmon 2606/udp # Dell Netmon -netmon 2606/tcp # Dell Netmon -connection 2607/udp # Dell Connection -connection 2607/tcp # Dell Connection -# Sudhir Shetty -wag-service 2608/udp # Wag Service -wag-service 2608/tcp # Wag Service -# Gilles Bourquard -system-monitor 2609/udp # System Monitor -system-monitor 2609/tcp # System Monitor -# Greg Robson-Garth -versa-tek 2610/udp # VersaTek -versa-tek 2610/tcp # VersaTek -# James Kou -lionhead 2611/udp # LIONHEAD -lionhead 2611/tcp # LIONHEAD -# Tim Rance -qpasa-agent 2612/udp # Qpasa Agent -qpasa-agent 2612/tcp # Qpasa Agent -# Craig Ching -smntubootstrap 2613/udp # SMNTUBootstrap -smntubootstrap 2613/tcp # SMNTUBootstrap -# Matt Cecile -neveroffline 2614/udp # Never Offline -neveroffline 2614/tcp # Never Offline -# Dustin Brand -firepower 2615/udp # firepower -firepower 2615/tcp # firepower -# Jason Volk -appswitch-emp 2616/udp # appswitch-emp -appswitch-emp 2616/tcp # appswitch-emp -# Ted Ross -cmadmin 2617/udp # Clinical Context Managers -cmadmin 2617/tcp # Clinical Context Managers -# Mark Morwood -priority-e-com 2618/udp # Priority E-Com -priority-e-com 2618/tcp # Priority E-Com -# Marcelo Einhorn -bruce 2619/udp # bruce -bruce 2619/tcp # bruce -# Alec Muffett -lpsrecommender 2620/udp # LPSRecommender -lpsrecommender 2620/tcp # LPSRecommender -# Pritham Shetty -miles-apart 2621/udp # Miles Apart Jukebox Server -miles-apart 2621/tcp # Miles Apart Jukebox Server -# Michael Rathmann -metricadbc 2622/udp # MetricaDBC -metricadbc 2622/tcp # MetricaDBC -# Russ Olivant -lmdp 2623/udp # LMDP -lmdp 2623/tcp # LMDP -# Ken Bailey -aria 2624/udp # Aria -aria 2624/tcp # Aria -# Logan Bruns -blwnkl-port 2625/udp # Blwnkl Port -blwnkl-port 2625/tcp # Blwnkl Port -# Weng Chin (Winson) Yung -gbjd816 2626/udp # gbjd816 -gbjd816 2626/tcp # gbjd816 -# George Balesta -moshebeeri 2627/udp # Moshe Beeri -moshebeeri 2627/tcp # Moshe Beeri -# Moshe Beeri -dict 2628/udp # DICT -dict 2628/tcp # DICT -# Rik Faith -sitaraserver 2629/udp # Sitara Server -sitaraserver 2629/tcp # Sitara Server -sitaramgmt 2630/udp # Sitara Management -sitaramgmt 2630/tcp # Sitara Management -sitaradir 2631/udp # Sitara Dir -sitaradir 2631/tcp # Sitara Dir -# Manickam R.Sridhar -irdg-post 2632/udp # IRdg Post -irdg-post 2632/tcp # IRdg Post -# IRdg, Inc. -interintelli 2633/udp # InterIntelli -interintelli 2633/tcp # InterIntelli -# Mike Gagle -pk-electronics 2634/udp # PK Electronics -pk-electronics 2634/tcp # PK Electronics -# Seb Ibis -backburner 2635/udp # Back Burner -backburner 2635/tcp # Back Burner -# Kevin Teiskoetter -solve 2636/udp # Solve -solve 2636/tcp # Solve -# Peter Morrison -imdocsvc 2637/udp # Import Document Service -imdocsvc 2637/tcp # Import Document Service -# Zia Bhatti -sybaseanywhere 2638/udp # Sybase Anywhere -sybaseanywhere 2638/tcp # Sybase Anywhere -# Dave Neudoerffer -aminet 2639/udp # AMInet -aminet 2639/tcp # AMInet -# Alcorn McBride Inc. -sai_sentlm 2640/udp # Sabbagh Associates Licence Manager -sai_sentlm 2640/tcp # Sabbagh Associates Licence Manager -# Elias Sabbagh -hdl-srv 2641/udp # HDL Server -hdl-srv 2641/tcp # HDL Server -# David Ely -tragic 2642/udp # Tragic -tragic 2642/tcp # Tragic -# Stu Mark -gte-samp 2643/udp # GTE-SAMP -gte-samp 2643/tcp # GTE-SAMP -# Asher Altman -travsoft-ipx-t 2644/udp # Travsoft IPX Tunnel -travsoft-ipx-t 2644/tcp # Travsoft IPX Tunnel -# Jack Wilson -novell-ipx-cmd 2645/udp # Novell IPX CMD -novell-ipx-cmd 2645/tcp # Novell IPX CMD -# Juan Carlos Luciani -and-lm 2646/udp # AND License Manager -and-lm 2646/tcp # AND License Manager -# Dick van der Sijs -syncserver 2647/udp # SyncServer -syncserver 2647/tcp # SyncServer -# Dave Finnegan -upsnotifyprot 2648/udp # Upsnotifyprot -upsnotifyprot 2648/tcp # Upsnotifyprot -# Mario Leboute -vpsipport 2649/udp # VPSIPPORT -vpsipport 2649/tcp # VPSIPPORT -# Joon Radley -eristwoguns 2650/udp # eristwoguns -eristwoguns 2650/tcp # eristwoguns -# NetPro Computing Inc. -ebinsite 2651/udp # EBInSite -ebinsite 2651/tcp # EBInSite -# Lefteris Kalamaras -interpathpanel 2652/udp # InterPathPanel -interpathpanel 2652/tcp # InterPathPanel -# Stephen Misel -sonus 2653/udp # Sonus -sonus 2653/tcp # Sonus -# Mark Garti -corel_vncadmin 2654/udp # Corel VNC Admin -corel_vncadmin 2654/tcp # Corel VNC Admin -# Oleg Noskov -unglue 2655/udp # UNIX Nt Glue -unglue 2655/tcp # UNIX Nt Glue -# Peter Santoro -kana 2656/udp # Kana -kana 2656/tcp # Kana -# Colin Goldstein -sns-dispatcher 2657/udp # SNS Dispatcher -sns-dispatcher 2657/tcp # SNS Dispatcher -sns-admin 2658/udp # SNS Admin -sns-admin 2658/tcp # SNS Admin -sns-query 2659/udp # SNS Query -sns-query 2659/tcp # SNS Query -# Mary Holstege -gcmonitor 2660/udp # GC Monitor -gcmonitor 2660/tcp # GC Monitor -# Gustavo Rodriguez-Rivera -olhost 2661/udp # OLHOST -olhost 2661/tcp # OLHOST -# Robert Ripberger -bintec-capi 2662/udp # BinTec-CAPI -bintec-capi 2662/tcp # BinTec-CAPI -bintec-tapi 2663/udp # BinTec-TAPI -bintec-tapi 2663/tcp # BinTec-TAPI -# -patrol-mq-gm 2664/udp # Patrol for MQ GM -patrol-mq-gm 2664/tcp # Patrol for MQ GM -patrol-mq-nm 2665/udp # Patrol for MQ NM -patrol-mq-nm 2665/tcp # Patrol for MQ NM -# Richard Nikula -extensis 2666/udp # extensis -extensis 2666/tcp # extensis -# Milton Sagen -alarm-clock-s 2667/udp # Alarm Clock Server -alarm-clock-s 2667/tcp # Alarm Clock Server -alarm-clock-c 2668/udp # Alarm Clock Client -alarm-clock-c 2668/tcp # Alarm Clock Client -toad 2669/udp # TOAD -toad 2669/tcp # TOAD -# Michael Marking -tve-announce 2670/udp # TVE Announce -tve-announce 2670/tcp # TVE Announce -# Dean Blackketter -newlixreg 2671/udp # newlixreg -newlixreg 2671/tcp # newlixreg -# Jean-Serge Gagnon -nhserver 2672/udp # nhserver -nhserver 2672/tcp # nhserver -# Adrian Hornby -firstcall42 2673/udp # First Call 42 -firstcall42 2673/tcp # First Call 42 -# Luke Bowen -ewnn 2674/udp # ewnn -ewnn 2674/tcp # ewnn -# Yasunari Yamashita -ttc-etap 2675/udp # TTC ETAP -ttc-etap 2675/tcp # TTC ETAP -# Daniel Becker -simslink 2676/udp # SIMSLink -simslink 2676/tcp # SIMSLink -# Steve Ryckman -gadgetgate1way 2677/udp # Gadget Gate 1 Way -gadgetgate1way 2677/tcp # Gadget Gate 1 Way -gadgetgate2way 2678/udp # Gadget Gate 2 Way -gadgetgate2way 2678/tcp # Gadget Gate 2 Way -# Matt Rollins -syncserverssl 2679/udp # Sync Server SSL -syncserverssl 2679/tcp # Sync Server SSL -# Dave Finnegan -pxc-sapxom 2680/udp # pxc-sapxom -pxc-sapxom 2680/tcp # pxc-sapxom -# Hideki Kiriyama -mpnjsomb 2681/udp # mpnjsomb -mpnjsomb 2681/tcp # mpnjsomb -# Takenori Miyahara -# 2682 Removed (2002-04-30) -ncdloadbalance 2683/udp # NCDLoadBalance -ncdloadbalance 2683/tcp # NCDLoadBalance -# Tim Stevenson -mpnjsosv 2684/udp # mpnjsosv -mpnjsosv 2684/tcp # mpnjsosv -mpnjsocl 2685/udp # mpnjsocl -mpnjsocl 2685/tcp # mpnjsocl -mpnjsomg 2686/udp # mpnjsomg -mpnjsomg 2686/tcp # mpnjsomg -# Takenori Miyahara -pq-lic-mgmt 2687/udp # pq-lic-mgmt -pq-lic-mgmt 2687/tcp # pq-lic-mgmt -# Bob Sledge -md-cg-http 2688/udp # md-cf-http -md-cg-http 2688/tcp # md-cf-http -# Lyndon Nerenberg -fastlynx 2689/udp # FastLynx -fastlynx 2689/tcp # FastLynx -# Dave Sewell -hp-nnm-data 2690/udp # HP NNM Embedded Database -hp-nnm-data 2690/tcp # HP NNM Embedded Database -# Chris Das -itinternet 2691/udp # ITInternet ISM Server -itinternet 2691/tcp # ITInternet ISM Server -# Ron Ehli -admins-lms 2692/udp # Admins LMS -admins-lms 2692/tcp # Admins LMS -# Dagfinn Saether -belarc-http 2693/udp # belarc-http -belarc-http 2693/tcp # belarc-http -# Gary Newman -pwrsevent 2694/udp # pwrsevent -pwrsevent 2694/tcp # pwrsevent -# Yoshinobu Nakamura -# -vspread 2695/udp # VSPREAD -vspread 2695/tcp # VSPREAD -# Sumitake kobayashi -# -unifyadmin 2696/udp # Unify Admin -unifyadmin 2696/tcp # Unify Admin -# Duane Gibson -oce-snmp-trap 2697/udp # Oce SNMP Trap Port -oce-snmp-trap 2697/tcp # Oce SNMP Trap Port -# Peter Teeuwen -mck-ivpip 2698/udp # MCK-IVPIP -mck-ivpip 2698/tcp # MCK-IVPIP -# Robert Vincent -csoft-plusclnt 2699/udp # Csoft Plus Client -csoft-plusclnt 2699/tcp # Csoft Plus Client -# Nedelcho Stanev -tqdata 2700/udp # tqdata -tqdata 2700/tcp # tqdata -# Al Guetzlaff -sms-rcinfo 2701/udp # SMS RCINFO -sms-rcinfo 2701/tcp # SMS RCINFO -sms-xfer 2702/udp # SMS XFER -sms-xfer 2702/tcp # SMS XFER -sms-chat 2703/udp # SMS CHAT -sms-chat 2703/tcp # SMS CHAT -sms-remctrl 2704/udp # SMS REMCTRL -sms-remctrl 2704/tcp # SMS REMCTRL -# Tom Friend -sds-admin 2705/udp # SDS Admin -sds-admin 2705/tcp # SDS Admin -# Don Traub -ncdmirroring 2706/udp # NCD Mirroring -ncdmirroring 2706/tcp # NCD Mirroring -# Tim Stevenson -emcsymapiport 2707/udp # EMCSYMAPIPORT -emcsymapiport 2707/tcp # EMCSYMAPIPORT -# Bruce Ferjulian -banyan-net 2708/udp # Banyan-Net -banyan-net 2708/tcp # Banyan-Net -# R. Thirumurthy -supermon 2709/udp # Supermon -supermon 2709/tcp # Supermon -# Ron Minnich -sso-service 2710/udp # SSO Service -sso-service 2710/tcp # SSO Service -sso-control 2711/udp # SSO Control -sso-control 2711/tcp # SSO Control -# Martin Proulx -aocp 2712/udp # Axapta Object Communication Protocol -aocp 2712/tcp # Axapta Object Communication Protocol -# Jakob Steen Hansen -raven1 2713/udp # Raven1 -raven1 2713/tcp # Raven1 -raven2 2714/udp # Raven2 -raven2 2714/tcp # Raven2 -# Daniel Sorlov -hpstgmgr2 2715/udp # HPSTGMGR2 -hpstgmgr2 2715/tcp # HPSTGMGR2 -# Kevin Collins -inova-ip-disco 2716/udp # Inova IP Disco -inova-ip-disco 2716/tcp # Inova IP Disco -# Chris Koeritz -pn-requester 2717/udp # PN REQUESTER -pn-requester 2717/tcp # PN REQUESTER -pn-requester2 2718/udp # PN REQUESTER 2 -pn-requester2 2718/tcp # PN REQUESTER 2 -# Edmund Chang -scan-change 2719/udp # Scan & Change -scan-change 2719/tcp # Scan & Change -# Alexander Raji -wkars 2720/udp # wkars -wkars 2720/tcp # wkars -# Barry Shelton -smart-diagnose 2721/udp # Smart Diagnose -smart-diagnose 2721/tcp # Smart Diagnose -# Geoffry Meek -proactivesrvr 2722/udp # Proactive Server -proactivesrvr 2722/tcp # Proactive Server -# Dalit Naor -watchdognt 2723/udp # WatchDog NT -watchdognt 2723/tcp # WatchDog NT -# Glen Sansoucie -qotps 2724/udp # qotps -qotps 2724/tcp # qotps -# Piotr Parlewicz -msolap-ptp2 2725/udp # MSOLAP PTP2 -msolap-ptp2 2725/tcp # MSOLAP PTP2 -# Cristian Petculescu -tams 2726/udp # TAMS -tams 2726/tcp # TAMS -# David Leinbach -mgcp-callagent 2727/udp # Media Gateway Control Protocol Call Agent -mgcp-callagent 2727/tcp # Media Gateway Control Protocol Call Agent -# Christian Huitema -sqdr 2728/udp # SQDR -sqdr 2728/tcp # SQDR -# Matthew Orzen -tcim-control 2729/udp # TCIM Control -tcim-control 2729/tcp # TCIM Control -# Dean Skelton -nec-raidplus 2730/udp # NEC RaidPlus -nec-raidplus 2730/tcp # NEC RaidPlus -# Yusuke Asai -fyre-messanger 2731/udp # Fyre Messagner -fyre-messanger 2731/tcp # Fyre Messanger -# Robert Waters -g5m 2732/udp # G5M -g5m 2732/tcp # G5M -# Graham Klyne -signet-ctf 2733/udp # Signet CTF -signet-ctf 2733/tcp # Signet CTF -# Greg Broiles -ccs-software 2734/udp # CCS Software -ccs-software 2734/tcp # CCS Software -# Bertus Jacobs -netiq-mc 2735/udp # NetIQ Monitor Console -netiq-mc 2735/tcp # NetIQ Monitor Console -# Scott Southard -radwiz-nms-srv 2736/udp # RADWIZ NMS SRV -radwiz-nms-srv 2736/tcp # RADWIZ NMS SRV -# Israel Shainert -srp-feedback 2737/udp # SRP Feedback -srp-feedback 2737/tcp # SRP Feedback -# Werner Almesberger -ndl-tcp-ois-gw 2738/udp # NDL TCP-OSI Gateway -ndl-tcp-ois-gw 2738/tcp # NDL TCP-OSI Gateway -# Martin Norman -tn-timing 2739/udp # TN Timing -tn-timing 2739/tcp # TN Timing -# Paul Roberts -alarm 2740/udp # Alarm -alarm 2740/tcp # Alarm -# Uriy Makasjuk -tsb 2741/udp # TSB -tsb 2741/tcp # TSB -tsb2 2742/udp # TSB2 -tsb2 2742/tcp # TSB2 -# Ashish Chatterjee -# -murx 2743/udp # murx -murx 2743/tcp # murx -# Thomas Kuiper -honyaku 2744/udp # honyaku -honyaku 2744/tcp # honyaku -# Yasunari Yamashita -urbisnet 2745/udp # URBISNET -urbisnet 2745/tcp # URBISNET -# Urbis.Net Ltd -cpudpencap 2746/udp # CPUDPENCAP -cpudpencap 2746/tcp # CPUDPENCAP -# Tamir Zegman -fjippol-swrly 2747/udp # -fjippol-swrly 2747/tcp # -fjippol-polsvr 2748/udp # -fjippol-polsvr 2748/tcp # -fjippol-cnsl 2749/udp # -fjippol-cnsl 2749/tcp # -fjippol-port1 2750/udp # -fjippol-port1 2750/tcp # -fjippol-port2 2751/udp # -fjippol-port2 2751/tcp # -# Shoichi Tachibana -rsisysaccess 2752/udp # RSISYS ACCESS -rsisysaccess 2752/tcp # RSISYS ACCESS -# Christophe Besant -de-spot 2753/udp # de-spot -de-spot 2753/tcp # de-spot -# Sanjay Parekh -apollo-cc 2754/udp # APOLLO CC -apollo-cc 2754/tcp # APOLLO CC -# Brand Communications -expresspay 2755/udp # Express Pay -expresspay 2755/tcp # Express Pay -# Ben Higgins -simplement-tie 2756/udp # simplement-tie -simplement-tie 2756/tcp # simplement-tie -# Tzvika Chumash -cnrp 2757/udp # CNRP -cnrp 2757/tcp # CNRP -# Jacob Ulmert -apollo-status 2758/udp # APOLLO Status -apollo-status 2758/tcp # APOLLO Status -apollo-gms 2759/udp # APOLLO GMS -apollo-gms 2759/tcp # APOLLO GMS -# Simon Hovell -sabams 2760/udp # Saba MS -sabams 2760/tcp # Saba MS -# Davoud Maha -dicom-iscl 2761/udp # DICOM ISCL -dicom-iscl 2761/tcp # DICOM ISCL -dicom-tls 2762/udp # DICOM TLS -dicom-tls 2762/tcp # DICOM TLS -# Lawrence Tarbox -desktop-dna 2763/udp # Desktop DNA -desktop-dna 2763/tcp # Desktop DNA -# Jon Walker -data-insurance 2764/udp # Data Insurance -data-insurance 2764/tcp # Data Insurance -# Brent Irwin -qip-audup 2765/udp # qip-audup -qip-audup 2765/tcp # qip-audup -# Mike Morgan -compaq-scp 2766/udp # Compaq SCP -compaq-scp 2766/tcp # Compaq SCP -# Ferruccio Barletta -uadtc 2767/udp # UADTC -uadtc 2767/tcp # UADTC -uacs 2768/udp # UACS -uacs 2768/tcp # UACS -# Vishwas Lele -singlept-mvs 2769/udp # Single Point MVS -singlept-mvs 2769/tcp # Single Point MVS -# Thomas Anderson -veronica 2770/udp # Veronica -veronica 2770/tcp # Veronica -# Jonas Oberg -vergencecm 2771/udp # Vergence CM -vergencecm 2771/tcp # Vergence CM -# Mark Morwood -auris 2772/udp # auris -auris 2772/tcp # auris -# Francisco Saez Arance -rbakcup1 2773/udp # RBackup Remote Backup -rbakcup1 2773/tcp # RBackup Remote Backup -rbakcup2 2774/udp # RBackup Remote Backup -rbakcup2 2774/tcp # RBackup Remote Backup -# Rob Cosgrove -smpp 2775/udp # SMPP -smpp 2775/tcp # SMPP -# Owen Sullivan -ridgeway1 2776/udp # Ridgeway Systems & Software -ridgeway1 2776/tcp # Ridgeway Systems & Software -ridgeway2 2777/udp # Ridgeway Systems & Software -ridgeway2 2777/tcp # Ridgeway Systems & Software -# Steve Read -gwen-sonya 2778/udp # Gwen-Sonya -gwen-sonya 2778/tcp # Gwen-Sonya -# Mark Hurst -lbc-sync 2779/udp # LBC Sync -lbc-sync 2779/tcp # LBC Sync -lbc-control 2780/udp # LBC Control -lbc-control 2780/tcp # LBC Control -# Keiji Michine -whosells 2781/udp # whosells -whosells 2781/tcp # whosells -# William Randolph Royere III -# -everydayrc 2782/udp # everydayrc -everydayrc 2782/tcp # everydayrc -# Ahti Heinla -aises 2783/udp # AISES -aises 2783/tcp # AISES -# Daniel Grazioli -www-dev 2784/udp # world wide web - development -www-dev 2784/tcp # world wide web - development -aic-np 2785/udp # aic-np -aic-np 2785/tcp # aic-np -# Brad Parker -aic-oncrpc 2786/udp # aic-oncrpc - Destiny MCD database -aic-oncrpc 2786/tcp # aic-oncrpc - Destiny MCD database -# Brad Parker -piccolo 2787/udp # piccolo - Cornerstone Software -piccolo 2787/tcp # piccolo - Cornerstone Software -# Dave Bellivea -fryeserv 2788/udp # NetWare Loadable Module - Seagate Software -fryeserv 2788/tcp # NetWare Loadable Module - Seagate Software -# Joseph LoPilato -# -media-agent 2789/udp # Media Agent -media-agent 2789/tcp # Media Agent -# Nitzan Daube -plgproxy 2790/udp # PLG Proxy -plgproxy 2790/tcp # PLG Proxy -# Charlie Hava -mtport-regist 2791/udp # MT Port Registrator -mtport-regist 2791/tcp # MT Port Registrator -# Maxim Tseitlin -f5-globalsite 2792/udp # f5-globalsite -f5-globalsite 2792/tcp # f5-globalsite -# Christian Saether -initlsmsad 2793/udp # initlsmsad -initlsmsad 2793/tcp # initlsmsad -# Kelly Green -aaftp 2794/udp # aaftp -aaftp 2794/tcp # aaftp -# E. Jay Berkenbilt -livestats 2795/udp # LiveStats -livestats 2795/tcp # LiveStats -# Chris Greene -ac-tech 2796/udp # ac-tech -ac-tech 2796/tcp # ac-tech -# Chiming Huang -esp-encap 2797/udp # esp-encap -esp-encap 2797/tcp # esp-encap -# Jorn Sierwald -tmesis-upshot 2798/udp # TMESIS-UPShot -tmesis-upshot 2798/tcp # TMESIS-UPShot -# Brian Schenkenberger -icon-discover 2799/udp # ICON Discover -icon-discover 2799/tcp # ICON Discover -# Alexander Falk -acc-raid 2800/udp # ACC RAID -acc-raid 2800/tcp # ACC RAID -# Scott St. Clair -igcp 2801/udp # IGCP -igcp 2801/tcp # IGCP -# David Hampson -veritas-udp1 2802/udp # Veritas UDP1 -veritas-tcp1 2802/tcp # Veritas TCP1 -# Russ Thrasher -btprjctrl 2803/udp # btprjctrl -btprjctrl 2803/tcp # btprjctrl -# Huw Thomas -telexis-vtu 2804/udp # Telexis VTU -telexis-vtu 2804/tcp # Telexis VTU -# Todd White -wta-wsp-s 2805/udp # WTA WSP-S -wta-wsp-s 2805/tcp # WTA WSP-S -# Sebastien Bury (WAP Forum) -# -cspuni 2806/udp # cspuni -cspuni 2806/tcp # cspuni -cspmulti 2807/udp # cspmulti -cspmulti 2807/tcp # cspmulti -# Terumasa Yoneda -j-lan-p 2808/udp # J-LAN-P -j-lan-p 2808/tcp # J-LAN-P -# Takeshi Sahara -corbaloc 2809/udp # CORBA LOC -corbaloc 2809/tcp # CORBA LOC -# Ted McFadden -netsteward 2810/udp # Active Net Steward -netsteward 2810/tcp # Active Net Steward -# Keith Morley -gsiftp 2811/udp # GSI FTP -gsiftp 2811/tcp # GSI FTP -# Von Welch -atmtcp 2812/udp # atmtcp -atmtcp 2812/tcp # atmtcp -# Werner Almesberger -llm-pass 2813/udp # llm-pass -llm-pass 2813/tcp # llm-pass -llm-csv 2814/udp # llm-csv -llm-csv 2814/tcp # llm-csv -# Glen Sansoucie -lbc-measure 2815/udp # LBC Measurement -lbc-measure 2815/tcp # LBC Measurement -lbc-watchdog 2816/udp # LBC Watchdog -lbc-watchdog 2816/tcp # LBC Watchdog -# Akiyoshi Ochi -nmsigport 2817/udp # NMSig Port -nmsigport 2817/tcp # NMSig Port -# Peter Egli -rmlnk 2818/udp # rmlnk -rmlnk 2818/tcp # rmlnk -fc-faultnotify 2819/udp # FC Fault Notification -fc-faultnotify 2819/tcp # FC Fault Notification -# Dave Watkins -univision 2820/udp # UniVision -univision 2820/tcp # UniVision -# Keith Ansell -vrts-at-port 2821/udp # VERITAS Authentication Service -vrts-at-port 2821/tcp # VERITAS Authentication Service -# Stefan Winkel -ka0wuc 2822/udp # ka0wuc -ka0wuc 2822/tcp # ka0wuc -# Kit Haskins -cqg-netlan 2823/udp # CQG Net/LAN -cqg-netlan 2823/tcp # CQG Net/LAN -cqg-netlan-1 2824/udp # CQG Net/Lan 1 -cqg-netlan-1 2824/tcp # CQG Net/LAN 1 -# Jeff Wood -# 2825 (unassigned) Possibly assigned -slc-systemlog 2826/udp # slc systemlog -slc-systemlog 2826/tcp # slc systemlog -slc-ctrlrloops 2827/udp # slc ctrlrloops -slc-ctrlrloops 2827/tcp # slc ctrlrloops -# Erwin Hogeweg -itm-lm 2828/udp # ITM License Manager -itm-lm 2828/tcp # ITM License Manager -# Miles O'Neal -silkp1 2829/udp # silkp1 -silkp1 2829/tcp # silkp1 -silkp2 2830/udp # silkp2 -silkp2 2830/tcp # silkp2 -silkp3 2831/udp # silkp3 -silkp3 2831/tcp # silkp3 -silkp4 2832/udp # silkp4 -silkp4 2832/tcp # silkp4 -# Erik Skyten -glishd 2833/udp # glishd -glishd 2833/tcp # glishd -# Darrell Schiebel -evtp 2834/udp # EVTP -evtp 2834/tcp # EVTP -evtp-data 2835/udp # EVTP-DATA -evtp-data 2835/tcp # EVTP-DATA -# Eric Bruno -catalyst 2836/udp # catalyst -catalyst 2836/tcp # catalyst -# Garret Tollkuhn -repliweb 2837/udp # Repliweb -repliweb 2837/tcp # Repliweb -# William Orme -starbot 2838/udp # Starbot -starbot 2838/tcp # Starbot -# Markus Sabadello -nmsigport 2839/udp # NMSigPort -nmsigport 2839/tcp # NMSigPort -# Peter Egli -l3-exprt 2840/udp # l3-exprt -l3-exprt 2840/tcp # l3-exprt -l3-ranger 2841/udp # l3-ranger -l3-ranger 2841/tcp # l3-ranger -l3-hawk 2842/udp # l3-hawk -l3-hawk 2842/tcp # l3-hawk -# Dolores Scott -pdnet 2843/udp # PDnet -pdnet 2843/tcp # PDnet -# Torsten Scheffler -bpcp-poll 2844/udp # BPCP POLL -bpcp-poll 2844/tcp # BPCP POLL -bpcp-trap 2845/udp # BPCP TRAP -bpcp-trap 2845/tcp # BPCP TRAP -# Steve Van Duser -# -aimpp-hello 2846/udp # AIMPP Hello -aimpp-hello 2846/tcp # AIMPP Hello -aimpp-port-req 2847/udp # AIMPP Port Req -aimpp-port-req 2847/tcp # AIMPP Port Req -# Brian Martinicky -# -amt-blc-port 2848/udp # AMT-BLC-PORT -amt-blc-port 2848/tcp # AMT-BLC-PORT -# Sandra Frulloni -fxp 2849/udp # FXP -fxp 2849/tcp # FXP -# Martin Lichtin -metaconsole 2850/udp # MetaConsole -metaconsole 2850/tcp # MetaConsole -# Rakesh Mahajan -webemshttp 2851/udp # webemshttp -webemshttp 2851/tcp # webemshttp -# Stephen Tsun -bears-01 2852/udp # bears-01 -bears-01 2852/tcp # bears-01 -# Bruce McKinnon -ispipes 2853/udp # ISPipes -ispipes 2853/tcp # ISPipes -# Rajesh Nandyalam -infomover 2854/udp # InfoMover -infomover 2854/tcp # InfoMover -# Carla Caputo -cesdinv 2856/udp # cesdinv -cesdinv 2856/tcp # cesdinv -# Yoshiaki Tokumoto -simctlp 2857/udp # SimCtIP -simctlp 2857/tcp # SimCtIP -# Christian Zietz -ecnp 2858/udp # ECNP -ecnp 2858/tcp # ECNP -# Robert Reimiller -activememory 2859/udp # Active Memory -activememory 2859/tcp # Active Memory -# Joe Graham -dialpad-voice1 2860/udp # Dialpad Voice 1 -dialpad-voice1 2860/tcp # Dialpad Voice 1 -dialpad-voice2 2861/udp # Dialpad Voice 2 -dialpad-voice2 2861/tcp # Dialpad Voice 2 -# Wongyu Cho -ttg-protocol 2862/udp # TTG Protocol -ttg-protocol 2862/tcp # TTG Protocol -# Mark Boler -sonardata 2863/udp # Sonar Data -sonardata 2863/tcp # Sonar Data -# Ian Higginbottom -astromed-main 2864/udp # main 5001 cmd -astromed-main 2864/tcp # main 5001 cmd -# Chris Tate -pit-vpn 2865/udp # pit-vpn -pit-vpn 2865/tcp # pit-vpn -# Norbert Sendetzky -iwlistener 2866/udp # iwlistener -iwlistener 2866/tcp # iwlistener -# Fred Surr -esps-portal 2867/udp # esps-portal -esps-portal 2867/tcp # esps-portal -# Nicholas Stowfis -npep-messaging 2868/udp # NPEP Messaging -npep-messaging 2868/tcp # NPEP Messaging -# Kristian A. Bognaes -icslap 2869/udp # ICSLAP -icslap 2869/tcp # ICSLAP -# Richard Lamb -daishi 2870/udp # daishi -daishi 2870/tcp # daishi -# Patrick Chipman -msi-selectplay 2871/udp # MSI Select Play -msi-selectplay 2871/tcp # MSI Select Play -# Paul Fonte -radix 2872/udp # RADIX -radix 2872/tcp # RADIX -# Stein Roger Skaflotten -# -paspar2-zoomin 2873/udp # PASPAR2 ZoomIn -paspar2-zoomin 2873/tcp # PASPAR2 ZoomIn -# Amonn David -dxmessagebase1 2874/udp # dxmessagebase1 -dxmessagebase1 2874/tcp # dxmessagebase1 -dxmessagebase2 2875/udp # dxmessagebase2 -dxmessagebase2 2875/tcp # dxmessagebase2 -# Ozz Nixon -sps-tunnel 2876/udp # SPS Tunnel -sps-tunnel 2876/tcp # SPS Tunnel -# Bill McIntosh -bluelance 2877/udp # BLUELANCE -bluelance 2877/tcp # BLUELANCE -# Michael Padrezas -aap 2878/udp # AAP -aap 2878/tcp # AAP -# Stephen Hanna -ucentric-ds 2879/udp # ucentric-ds -ucentric-ds 2879/tcp # ucentric-ds -# Alex Vasilevsky -synapse 2880/udp # Synapse Transport -synapse 2880/tcp # Synapse Transport -# Ali Fracyon -ndsp 2881/udp # NDSP -ndsp 2881/tcp # NDSP -ndtp 2882/udp # NDTP -ndtp 2882/tcp # NDTP -ndnp 2883/udp # NDNP -ndnp 2883/tcp # NDNP -# Khelben Blackstaff -flashmsg 2884/udp # Flash Msg -flashmsg 2884/tcp # Flash Msg -# Jeffrey Zinkerman -topflow 2885/udp # TopFlow -topflow 2885/tcp # TopFlow -# Ted Ross -responselogic 2886/udp # RESPONSELOGIC -responselogic 2886/tcp # RESPONSELOGIC -# Bruce Casey -aironetddp 2887/udp # aironet -aironetddp 2887/tcp # aironet -# Victor Griswold -spcsdlobby 2888/udp # SPCSDLOBBY -spcsdlobby 2888/tcp # SPCSDLOBBY -# Matthew Williams -rsom 2889/udp # RSOM -rsom 2889/tcp # RSOM -# Justine Higgins -cspclmulti 2890/udp # CSPCLMULTI -cspclmulti 2890/tcp # CSPCLMULTI -# Yoneda Terumasa -cinegrfx-elmd 2891/udp # CINEGRFX-ELMD License Manager -cinegrfx-elmd 2891/tcp # CINEGRFX-ELMD License Manager -# Greg Ercolano -snifferdata 2892/udp # SNIFFERDATA -snifferdata 2892/tcp # SNIFFERDATA -# Jeff Mangasarian -vseconnector 2893/udp # VSECONNECTOR -vseconnector 2893/tcp # VSECONNECTOR -# Ingo Franzki -abacus-remote 2894/udp # ABACUS-REMOTE -abacus-remote 2894/tcp # ABACUS-REMOTE -# Mike Bello -natuslink 2895/udp # NATUS LINK -natuslink 2895/tcp # NATUS LINK -# Jonathan Mergy -ecovisiong6-1 2896/udp # ECOVISIONG6-1 -ecovisiong6-1 2896/tcp # ECOVISIONG6-1 -# Henrik Holst -citrix-rtmp 2897/udp # Citrix RTMP -citrix-rtmp 2897/tcp # Citrix RTMP -# Myk Willis -appliance-cfg 2898/udp # APPLIANCE-CFG -appliance-cfg 2898/tcp # APPLIANCE-CFG -# Gary A. James -powergemplus 2899/udp # POWERGEMPLUS -powergemplus 2899/tcp # POWERGEMPLUS -# Koich Nakamura -quicksuite 2900/udp # QUICKSUITE -quicksuite 2900/tcp # QUICKSUITE -# William Egge -allstorcns 2901/udp # ALLSTORCNS -allstorcns 2901/tcp # ALLSTORCNS -# Steve Dobson -netaspi 2902/udp # NET ASPI -netaspi 2902/tcp # NET ASPI -# Johnson Luo -suitcase 2903/udp # SUITCASE -suitcase 2903/tcp # SUITCASE -# Milton E. Sagen -m2ua 2904/sctp # M2UA -m2ua 2904/udp # M2UA -m2ua 2904/tcp # M2UA -# Lyndon Ong -m3ua 2905/sctp # M3UA -m3ua 2905/udp # De-registered (2001 June 07) -m3ua 2905/tcp # M3UA -# Lyndon Ong -caller9 2906/udp # CALLER9 -caller9 2906/tcp # CALLER9 -# Shams Naqi -webmethods-b2b 2907/udp # WEBMETHODS B2B -webmethods-b2b 2907/tcp # WEBMETHODS B2B -# Joseph Hines -mao 2908/udp # mao -mao 2908/tcp # mao -# Marc Baudoin -funk-dialout 2909/udp # Funk Dialout -funk-dialout 2909/tcp # Funk Dialout -# Cimarron Boozer -tdaccess 2910/udp # TDAccess -tdaccess 2910/tcp # TDAccess -# Tom Haapanen -blockade 2911/udp # Blockade -blockade 2911/tcp # Blockade -# VP - Research & Development -epicon 2912/udp # Epicon -epicon 2912/tcp # Epicon -# Michael Khalandovsky -boosterware 2913/udp # Booster Ware -boosterware 2913/tcp # Booster Ware -# Ido Ben-David -gamelobby 2914/udp # Game Lobby -gamelobby 2914/tcp # Game Lobby -# Paul Ford-Hutchinson -tksocket 2915/udp # TK Socket -tksocket 2915/tcp # TK Socket -# Alan Fahrner -elvin_server 2916/udp # Elvin Server -elvin_server 2916/tcp # Elvin Server -elvin_client 2917/udp # Elvin Client -elvin_client 2917/tcp # Elvin Client -# David Arnold -kastenchasepad 2918/udp # Kasten Chase Pad -kastenchasepad 2918/tcp # Kasten Chase Pad -# Marc Gauthier -roboer 2919/udp # ROBOER -roboer 2919/tcp # ROBOER -# Paul Snook -roboeda 2920/udp # ROBOEDA -roboeda 2920/tcp # ROBOEDA -# Paul Snook -cesdcdman 2921/udp # CESD Contents Delivery Management -cesdcdman 2921/tcp # CESD Contents Delivery Management -# Shinya Abe -cesdcdtrn 2922/udp # CESD Contents Delivery Data Transfer -cesdcdtrn 2922/tcp # CESD Contents Delivery Data Transfer -# Shinya Abe -wta-wsp-wtp-s 2923/udp # WTA-WSP-WTP-S -wta-wsp-wtp-s 2923/tcp # WTA-WSP-WTP-S -# Sebastien Bury (WAP Forum) -# -precise-vip 2924/udp # PRECISE-VIP -precise-vip 2924/tcp # PRECISE-VIP -# Michael Landwehr -# 2925 Unassigned (FRP-Released 12/7/00) -mobile-file-dl 2926/udp # MOBILE-FILE-DL -mobile-file-dl 2926/tcp # MOBILE-FILE-DL -# Mitsuji Toda -unimobilectrl 2927/udp # UNIMOBILECTRL -unimobilectrl 2927/tcp # UNIMOBILECTRL -# Vikas -redstone-cpss 2928/udp # REDSTONE-CPSS -redstone-cpss 2928/tcp # REDSTONE-CPSS -# Jeff Looman -amx-webadmin 2929/udp # AMX-WEBADMIN -amx-webadmin 2929/tcp # AMX-WEBADMIN -# Mike Morris -amx-weblinx 2930/udp # AMX-WEBLINX -amx-weblinx 2930/tcp # AMX-WEBLINX -# Mike Morris -circle-x 2931/udp # Circle-X -circle-x 2931/tcp # Circle-X -# Norm Freedman -incp 2932/udp # INCP -incp 2932/tcp # INCP -# Keith Paulsen -4-tieropmgw 2933/udp # 4-TIER OPM GW -4-tieropmgw 2933/tcp # 4-TIER OPM GW -# Francois Peloffy -4-tieropmcli 2934/udp # 4-TIER OPM CLI -4-tieropmcli 2934/tcp # 4-TIER OPM CLI -# Francois Peloffy -qtp 2935/udp # QTP -qtp 2935/tcp # QTP -# Cameron Young -otpatch 2936/udp # OTPatch -otpatch 2936/tcp # OTPatch -# Thomas J. Theobald -pnaconsult-lm 2937/udp # PNACONSULT-LM -pnaconsult-lm 2937/tcp # PNACONSULT-LM -# Theo Nijssen -sm-pas-1 2938/udp # SM-PAS-1 -sm-pas-1 2938/tcp # SM-PAS-1 -sm-pas-2 2939/udp # SM-PAS-2 -sm-pas-2 2939/tcp # SM-PAS-2 -sm-pas-3 2940/udp # SM-PAS-3 -sm-pas-3 2940/tcp # SM-PAS-3 -sm-pas-4 2941/udp # SM-PAS-4 -sm-pas-4 2941/tcp # SM-PAS-4 -sm-pas-5 2942/udp # SM-PAS-5 -sm-pas-5 2942/tcp # SM-PAS-5 -# Tom Haapanen -ttnrepository 2943/udp # TTNRepository -ttnrepository 2943/tcp # TTNRepository -# Robert Orr -megaco-h248 2944/udp # Megaco H-248 -megaco-h248 2944/tcp # Megaco H-248 -h248-binary 2945/udp # H248 Binary -h248-binary 2945/tcp # H248 Binary -# Tom Taylor -fjsvmpor 2946/udp # FJSVmpor -fjsvmpor 2946/tcp # FJSVmpor -# Naoki Hayashi -gpsd 2947/udp # GPSD -gpsd 2947/tcp # GPSD -# Derrick J. Brashear -wap-push 2948/udp # WAP PUSH -wap-push 2948/tcp # WAP PUSH -wap-pushsecure 2949/udp # WAP PUSH SECURE -wap-pushsecure 2949/tcp # WAP PUSH SECURE -# WAP FORUM -esip 2950/udp # ESIP -esip 2950/tcp # ESIP -# David Stephenson -ottp 2951/udp # OTTP -ottp 2951/tcp # OTTP -# Brent Foster -mpfwsas 2952/udp # MPFWSAS -mpfwsas 2952/tcp # MPFWSAS -# Toru Murai -ovalarmsrv 2953/udp # OVALARMSRV -ovalarmsrv 2953/tcp # OVALARMSRV -ovalarmsrv-cmd 2954/udp # OVALARMSRV-CMD -ovalarmsrv-cmd 2954/tcp # OVALARMSRV-CMD -# Eric Pulsipher -csnotify 2955/udp # CSNOTIFY -csnotify 2955/tcp # CSNOTIFY -# Israel Beniaminy -ovrimosdbman 2956/udp # OVRIMOSDBMAN -ovrimosdbman 2956/tcp # OVRIMOSDBMAN -# Dimitrios Souflis -jmact5 2957/udp # JAMCT5 -jmact5 2957/tcp # JAMCT5 -jmact6 2958/udp # JAMCT6 -jmact6 2958/tcp # JAMCT6 -rmopagt 2959/udp # RMOPAGT -rmopagt 2959/tcp # RMOPAGT -# Shuji Okubo -dfoxserver 2960/udp # DFOXSERVER -dfoxserver 2960/tcp # DFOXSERVER -# David Holden -boldsoft-lm 2961/udp # BOLDSOFT-LM -boldsoft-lm 2961/tcp # BOLDSOFT-LM -# Fredrik Haglund -iph-policy-cli 2962/udp # IPH-POLICY-CLI -iph-policy-cli 2962/tcp # IPH-POLICY-CLI -iph-policy-adm 2963/udp # IPH-POLICY-ADM -iph-policy-adm 2963/tcp # IPH-POLICY-ADM -# Shai Herzog -bullant-srap 2964/udp # BULLANT SRAP -bullant-srap 2964/tcp # BULLANT SRAP -bullant-rap 2965/udp # BULLANT RAP -bullant-rap 2965/tcp # BULLANT RAP -# Michael Cahill -idp-infotrieve 2966/udp # IDP-INFOTRIEVE -idp-infotrieve 2966/tcp # IDP-INFOTRIEVE -# Kevin Bruckert -ssc-agent 2967/udp # SSC-AGENT -ssc-agent 2967/tcp # SSC-AGENT -# George Dzieciol -enpp 2968/udp # ENPP -enpp 2968/tcp # ENPP -# Kazuhito Gassho -essp 2969/udp # ESSP -essp 2969/tcp # ESSP -# Hitoshi Ishida -index-net 2970/udp # INDEX-NET -index-net 2970/tcp # INDEX-NET -# Chris J. Wren -netclip 2971/udp # NetClip clipboard daemon -netclip 2971/tcp # NetClip clipboard daemon -# Rudi Chiarito -pmsm-webrctl 2972/udp # PMSM Webrctl -pmsm-webrctl 2972/tcp # PMSM Webrctl -# Markus Michels -svnetworks 2973/udp # SV Networks -svnetworks 2973/tcp # SV Networks -# Sylvia Siu -signal 2974/udp # Signal -signal 2974/tcp # Signal -# Wyatt Williams -fjmpcm 2975/udp # Fujitsu Configuration Management Service -fjmpcm 2975/tcp # Fujitsu Configuration Management Service -# Hiroki Kawano -cns-srv-port 2976/udp # CNS Server Port -cns-srv-port 2976/tcp # CNS Server Port -# Ram Golla -ttc-etap-ns 2977/udp # TTCs Enterprise Test Access Protocol - NS -ttc-etap-ns 2977/tcp # TTCs Enterprise Test Access Protocol - NS -ttc-etap-ds 2978/udp # TTCs Enterprise Test Access Protocol - DS -ttc-etap-ds 2978/tcp # TTCs Enterprise Test Access Protocol - DS -# Daniel Becker -h263-video 2979/udp # H.263 Video Streaming -h263-video 2979/tcp # H.263 Video Streaming -# Jauvane C. de Oliveira -wimd 2980/udp # Instant Messaging Service -wimd 2980/tcp # Instant Messaging Service -# Kevin Birch -mylxamport 2981/udp # MYLXAMPORT -mylxamport 2981/tcp # MYLXAMPORT -# Wei Gao -iwb-whiteboard 2982/udp # IWB-WHITEBOARD -iwb-whiteboard 2982/tcp # IWB-WHITEBOARD -# David W. Radcliffe -netplan 2983/udp # NETPLAN -netplan 2983/tcp # NETPLAN -# Thomas Driemeyer -hpidsadmin 2984/udp # HPIDSADMIN -hpidsadmin 2984/tcp # HPIDSADMIN -hpidsagent 2985/udp # HPIDSAGENT -hpidsagent 2985/tcp # HPIDSAGENT -# John Trudeau -stonefalls 2986/udp # STONEFALLS -stonefalls 2986/tcp # STONEFALLS -# Scott Grau -identify 2987/udp # identify -identify 2987/tcp # identify -hippad 2988/udp # HIPPA Reporting Protocol -hippad 2988/tcp # HIPPA Reporting Protocol -# William Randolph Royere III -# -zarkov 2989/udp # ZARKOV Intelligent Agent Communication -zarkov 2989/tcp # ZARKOV Intelligent Agent Communication -# Robin Felix -boscap 2990/udp # BOSCAP -boscap 2990/tcp # BOSCAP -# Dirk Hillbrecht -wkstn-mon 2991/udp # WKSTN-MON -wkstn-mon 2991/tcp # WKSTN-MON -# William David -itb301 2992/udp # ITB301 -itb301 2992/tcp # ITB301 -# Bodo Rueskamp -veritas-vis1 2993/udp # VERITAS VIS1 -veritas-vis1 2993/tcp # VERITAS VIS1 -veritas-vis2 2994/udp # VERITAS VIS2 -veritas-vis2 2994/tcp # VERITAS VIS2 -# Dinkar Chivaluri -idrs 2995/udp # IDRS -idrs 2995/tcp # IDRS -# Jeff Eaton -vsixml 2996/udp # vsixml -vsixml 2996/tcp # vsixml -# Rob Juergens -rebol 2997/udp # REBOL -rebol 2997/tcp # REBOL -# Holger Kruse -realsecure 2998/udp # Real Secure -realsecure 2998/tcp # Real Secure -# Tim Farley -remoteware-un 2999/udp # RemoteWare Unassigned -remoteware-un 2999/tcp # RemoteWare Unassigned -# Tim Farley -hbci 3000/udp # HBCI -hbci 3000/tcp # HBCI -# Kurt Haubner -# The following entry records an unassigned but widespread use -remoteware-cl 3000/udp # RemoteWare Client -remoteware-cl 3000/tcp # RemoteWare Client -# Tim Farley -redwood-broker 3001/udp # Redwood Broker -redwood-broker 3001/tcp # Redwood Broker -# Joseph Morrison -exlm-agent 3002/udp # EXLM Agent -exlm-agent 3002/tcp # EXLM Agent -# Randy Martin -# The following entry records an unassigned but widespread use -remoteware-srv 3002/udp # RemoteWare Server -remoteware-srv 3002/tcp # RemoteWare Server -# Tim Farley -cgms 3003/udp # CGMS -cgms 3003/tcp # CGMS -# Jim Mazzonna -csoftragent 3004/udp # Csoft Agent -csoftragent 3004/tcp # Csoft Agent -# Nedelcho Stanev -geniuslm 3005/udp # Genius License Manager -geniuslm 3005/tcp # Genius License Manager -# Jakob Spies -ii-admin 3006/udp # Instant Internet Admin -ii-admin 3006/tcp # Instant Internet Admin -# Lewis Donzis -lotusmtap 3007/udp # Lotus Mail Tracking Agent Protocol -lotusmtap 3007/tcp # Lotus Mail Tracking Agent Protocol -# Ken Lin -midnight-tech 3008/udp # Midnight Technologies -midnight-tech 3008/tcp # Midnight Technologies -# Kyle Unice -pxc-ntfy 3009/udp # PXC-NTFY -pxc-ntfy 3009/tcp # PXC-NTFY -# Takeshi Nishizawa -ping-pong 3010/udp # Telerate Workstation -gw 3010/tcp # Telerate Workstation -# Timo Sivonen -trusted-web 3011/udp # Trusted Web -trusted-web 3011/tcp # Trusted Web -twsdss 3012/udp # Trusted Web Client -twsdss 3012/tcp # Trusted Web Client -# Alex Duncan -gilatskysurfer 3013/udp # Gilat Sky Surfer -gilatskysurfer 3013/tcp # Gilat Sky Surfer -# Yossi Gal -broker_service 3014/udp # Broker Service -broker_service 3014/tcp # Broker Service -# Dale Bethers -nati-dstp 3015/udp # NATI DSTP -nati-dstp 3015/tcp # NATI DSTP -# Paul Austin -notify_srvr 3016/udp # Notify Server -notify_srvr 3016/tcp # Notify Server -# Hugo Parra -event_listener 3017/udp # Event Listener -event_listener 3017/tcp # Event Listener -# Ted Tronson -srvc_registry 3018/udp # Service Registry -srvc_registry 3018/tcp # Service Registry -# Mark Killgore -resource_mgr 3019/udp # Resource Manager -resource_mgr 3019/tcp # Resource Manager -# Gary Glover -cifs 3020/udp # CIFS -cifs 3020/tcp # CIFS -# Paul Leach -agriserver 3021/udp # AGRI Server -agriserver 3021/tcp # AGRI Server -# Frank Neulichedl -csregagent 3022/udp # CSREGAGENT -csregagent 3022/tcp # CSREGAGENT -# Nedelcho Stanev -magicnotes 3023/udp # magicnotes -magicnotes 3023/tcp # magicnotes -# Karl Edwall -nds_sso 3024/udp # NDS_SSO -nds_sso 3024/tcp # NDS_SSO -# Mel Oyler -arepa-raft 3025/udp # Arepa Raft -arepa-raft 3025/tcp # Arepa Raft -# Mark Ellison -agri-gateway 3026/udp # AGRI Gateway -agri-gateway 3026/tcp # AGRI Gateway -# Agri Datalog -LiebDevMgmt_C 3027/udp # LiebDevMgmt_C -LiebDevMgmt_C 3027/tcp # LiebDevMgmt_C -LiebDevMgmt_DM 3028/udp # LiebDevMgmt_DM -LiebDevMgmt_DM 3028/tcp # LiebDevMgmt_DM -LiebDevMgmt_A 3029/udp # LiebDevMgmt_A -LiebDevMgmt_A 3029/tcp # LiebDevMgmt_A -# Mike Velten -arepa-cas 3030/udp # Arepa Cas -arepa-cas 3030/tcp # Arepa Cas -# Seth Silverman -eppc 3031/udp # Remote AppleEvents/PPC Toolbox -eppc 3031/tcp # Remote AppleEvents/PPC Toolbox -# Steve Zellers -redwood-chat 3032/udp # Redwood Chat -redwood-chat 3032/tcp # Redwood Chat -# Songwon Chi -pdb 3033/udp # PDB -pdb 3033/tcp # PDB -# Don Bowman -osmosis-aeea 3034/udp # Osmosis / Helix (R) AEEA Port -osmosis-aeea 3034/tcp # Osmosis / Helix (R) AEEA Port -# Larry Atkin -fjsv-gssagt 3035/udp # FJSV gssagt -fjsv-gssagt 3035/tcp # FJSV gssagt -# Tomoji Koike -hagel-dump 3036/udp # Hagel DUMP -hagel-dump 3036/tcp # Hagel DUMP -# Haim Gelfenbeyn -hp-san-mgmt 3037/udp # HP SAN Mgmt -hp-san-mgmt 3037/tcp # HP SAN Mgmt -# Steve Britt -santak-ups 3038/udp # Santak UPS -santak-ups 3038/tcp # Santak UPS -# Tom Liu -cogitate 3039/udp # Cogitate, Inc. -cogitate 3039/tcp # Cogitate, Inc. -# Jim Harlan -tomato-springs 3040/udp # Tomato Springs -tomato-springs 3040/tcp # Tomato Springs -# Jack Waller III -di-traceware 3041/udp # di-traceware -di-traceware 3041/tcp # di-traceware -# Carlos Hung -journee 3042/udp # journee -journee 3042/tcp # journee -# Kevin Calman -brp 3043/udp # BRP -brp 3043/tcp # BRP -# Greg Gee -epp 3044/udp # EndPoint Protocol -epp 3044/tcp # EndPoint Protocol -# Stephen Cipolli -responsenet 3045/udp # ResponseNet -responsenet 3045/tcp # ResponseNet -# Chul Yoon -di-ase 3046/udp # di-ase -di-ase 3046/tcp # di-ase -# Carlos Hung -hlserver 3047/udp # Fast Security HL Server -hlserver 3047/tcp # Fast Security HL Server -# Michael Zunke -pctrader 3048/udp # Sierra Net PC Trader -pctrader 3048/tcp # Sierra Net PC Trader -# Chris Hahn -nsws 3049/udp # NSWS -nsws 3049/tcp # NSWS -# Ray Gwinn -gds_db 3050/udp # gds_db -gds_db 3050/tcp # gds_db -# Madhukar N. Thakur -galaxy-server 3051/udp # Galaxy Server -galaxy-server 3051/tcp # Galaxy Server -# Michael Andre -apc-3052 3052/udp # APC 3052 -apc-3052 3052/tcp # APC 3052 -# American Power Conversion -dsom-server 3053/udp # dsom-server -dsom-server 3053/tcp # dsom-server -# Daniel Sisk -amt-cnf-prot 3054/udp # AMT CNF PROT -amt-cnf-prot 3054/tcp # AMT CNF PROT -# Marco Marcucci -policyserver 3055/udp # Policy Server -policyserver 3055/tcp # Policy Server -# Mark Garti -cdl-server 3056/udp # CDL Server -cdl-server 3056/tcp # CDL Server -# Paul Roberts -goahead-fldup 3057/udp # GoAhead FldUp -goahead-fldup 3057/tcp # GoAhead FldUp -# Alan Pickrell -videobeans 3058/udp # videobeans -videobeans 3058/tcp # videobeans -# Hiroyuki Takahashi -qsoft 3059/udp # qsoft -qsoft 3059/tcp # qsoft -# James Kunz -interserver 3060/udp # interserver -interserver 3060/tcp # interserver -# Madhukar N. Thakur -cautcpd 3061/udp # cautcpd -cautcpd 3061/tcp # cautcpd -ncacn-ip-tcp 3062/udp # ncacn-ip-tcp -ncacn-ip-tcp 3062/tcp # ncacn-ip-tcp -ncadg-ip-udp 3063/udp # ncadg-ip-udp -ncadg-ip-udp 3063/tcp # ncadg-ip-udp -# Gabi Kalmar -rprt 3064/udp # Remote Port Redirector -rprt 3064/tcp # Remote Port Redirector -# Robin Johnston -slinterbase 3065/udp # slinterbase -slinterbase 3065/tcp # slinterbase -# Bie Tie -netattachsdmp 3066/udp # NETATTACHSDMP -netattachsdmp 3066/tcp # NETATTACHSDMP -# Mike Young -fjhpjp 3067/udp # FJHPJP -fjhpjp 3067/tcp # FJHPJP -# Ryozo Furutani -ls3bcast 3068/udp # ls3 Broadcast -ls3bcast 3068/tcp # ls3 Broadcast -ls3 3069/udp # ls3 -ls3 3069/tcp # ls3 -# Andrei Tsyganenko -mgxswitch 3070/udp # MGXSWITCH -mgxswitch 3070/tcp # MGXSWITCH -# George Walter -csd-mgmt-port 3071/udp # ContinuStor Manager Port -csd-mgmt-port 3071/tcp # ContinuStor Manager Port -csd-monitor 3072/udp # ContinuStor Monitor Port -csd-monitor 3072/tcp # ContinuStor Monitor Port -# Ray Jantz -vcrp 3073/udp # Very simple chatroom prot -vcrp 3073/tcp # Very simple chatroom prot -# Andreas Wurf -xbox 3074/udp # Xbox game port -xbox 3074/tcp # Xbox game port -# Damon Danieli -orbix-locator 3075/udp # Orbix 2000 Locator -orbix-locator 3075/tcp # Orbix 2000 Locator -orbix-config 3076/udp # Orbix 2000 Config -orbix-config 3076/tcp # Orbix 2000 Config -orbix-loc-ssl 3077/udp # Orbix 2000 Locator SSL -orbix-loc-ssl 3077/tcp # Orbix 2000 Locator SSL -orbix-cfg-ssl 3078/udp # Orbix 2000 Locator SSL -orbix-cfg-ssl 3078/tcp # Orbix 2000 Locator SSL -# Eric Newcomer -lv-frontpanel 3079/udp # LV Front Panel -lv-frontpanel 3079/tcp # LV Front Panel -# Darshan Shah -stm_pproc 3080/udp # stm_pproc -stm_pproc 3080/tcp # stm_pproc -# Paul McGinnis -tl1-lv 3081/udp # TL1-LV -tl1-lv 3081/tcp # TL1-LV -tl1-raw 3082/udp # TL1-RAW -tl1-raw 3082/tcp # TL1-RAW -tl1-telnet 3083/udp # TL1-TELNET -tl1-telnet 3083/tcp # TL1-TELNET -# SONET Internetworking Forum (SIF) -# - SONET Contact -itm-mccs 3084/udp # ITM-MCCS -itm-mccs 3084/tcp # ITM-MCCS -# Alain Callebaut -pcihreq 3085/udp # PCIHReq -pcihreq 3085/tcp # PCIHReq -# Paul Sanders -jdl-dbkitchen 3086/udp # JDL-DBKitchen -jdl-dbkitchen 3086/tcp # JDL-DBKitchen -# Hideo Wakabayashi -asoki-sma 3087/udp # Asoki SMA -asoki-sma 3087/tcp # Asoki SMA -# Andrew Mossberg -xdtp 3088/udp # eXtensible Data Transfer Protocol -xdtp 3088/tcp # eXtensible Data Transfer Protocol -# Michael Shearson -ptk-alink 3089/udp # ParaTek Agent Linking -ptk-alink 3089/tcp # ParaTek Agent Linking -# Robert Hodgson -rtss 3090/udp # Rappore Session Services -rtss 3090/tcp # Rappore Session Services -# Peter Boucher -1ci-smcs 3091/udp # 1Ci Server Management -1ci-smcs 3091/tcp # 1Ci Server Management -# Ralf Bensmann -njfss 3092/udp # Netware sync services -njfss 3092/tcp # Netware sync services -# Gordon Ross -rapidmq-center 3093/udp # Jiiva RapidMQ Center -rapidmq-center 3093/tcp # Jiiva RapidMQ Center -rapidmq-reg 3094/udp # Jiiva RapidMQ Registry -rapidmq-reg 3094/tcp # Jiiva RapidMQ Registry -# Mark Ericksen -panasas 3095/udp # Panasas rendevous port -panasas 3095/tcp # Panasas rendevous port -# Peter Berger -ndl-aps 3096/udp # Active Print Server Port -ndl-aps 3096/tcp # Active Print Server Port -# Martin Norman -# 3097/tcp Reserved -# 3097/udp Reserved -itu-bicc-stc 3097/sctp # ITU-T Q.1902.1/Q.2150.3 -# Greg Sidebottom -umm-port 3098/udp # Universal Message Manager -umm-port 3098/tcp # Universal Message Manager -# Phil Braham -chmd 3099/udp # CHIPSY Machine Daemon -chmd 3099/tcp # CHIPSY Machine Daemon -# Trond Borsting -opcon-xps 3100/udp # OpCon/xps -opcon-xps 3100/tcp # OpCon/xps -# David Bourland -hp-pxpib 3101/udp # HP PolicyXpert PIB Server -hp-pxpib 3101/tcp # HP PolicyXpert PIB Server -# Brian O'Keefe -slslavemon 3102/udp # SoftlinK Slave Mon Port -slslavemon 3102/tcp # SoftlinK Slave Mon Port -# Moshe Livne -autocuesmi 3103/udp # Autocue SMI Protocol -autocuesmi 3103/tcp # Autocue SMI Protocol -autocuetime 3104/udp # Autocue Time Service -autocuelog 3104/tcp # Autocue Logger Protocol -# Geoff Back -cardbox 3105/udp # Cardbox -cardbox 3105/tcp # Cardbox -cardbox-http 3106/udp # Cardbox HTTP -cardbox-http 3106/tcp # Cardbox HTTP -# Martin Kochanski -business 3107/udp # Business protocol -business 3107/tcp # Business protocol -geolocate 3108/udp # Geolocate protocol -geolocate 3108/tcp # Geolocate protocol -personnel 3109/udp # Personnel protocol -personnel 3109/tcp # Personnel protocol -# William Randolph Royere III -# -sim-control 3110/udp # simulator control port -sim-control 3110/tcp # simulator control port -# Ian Bell -wsynch 3111/udp # Web Synchronous Services -wsynch 3111/tcp # Web Synchronous Services -# Valery Fremaux -ksysguard 3112/udp # KDE System Guard -ksysguard 3112/tcp # KDE System Guard -# Chris Schlaeger -cs-auth-svr 3113/udp # CS-Authenticate Svr Port -cs-auth-svr 3113/tcp # CS-Authenticate Svr Port -# Cliff Diamond -# Andy Georgiou -ccmad 3114/udp # CCM AutoDiscover -ccmad 3114/tcp # CCM AutoDiscover -# Ram Sudama -mctet-master 3115/udp # MCTET Master -mctet-master 3115/tcp # MCTET Master -mctet-gateway 3116/udp # MCTET Gateway -mctet-gateway 3116/tcp # MCTET Gateway -mctet-jserv 3117/udp # MCTET Jserv -mctet-jserv 3117/tcp # MCTET Jserv -# Manuel Veloso -pkagent 3118/udp # PKAgent -pkagent 3118/tcp # PKAgent -# Michael Douglass -d2000kernel 3119/udp # D2000 Kernel Port -d2000kernel 3119/tcp # D2000 Kernel Port -d2000webserver 3120/udp # D2000 Webserver Port -d2000webserver 3120/tcp # D2000 Webserver Port -# Tomas Rajcan -epp-temp 3121/udp # Extensible Provisioning Protocol -epp-temp 3121/tcp # Extensible Provisioning Protocol -# Scott Hollenbeck -vtr-emulator 3122/udp # MTI VTR Emulator port -vtr-emulator 3122/tcp # MTI VTR Emulator port -# John Mertus -edix 3123/udp # EDI Translation Protocol -edix 3123/tcp # EDI Translation Protocol -# William Randolph Royere III -beacon-port 3124/udp # Beacon Port -beacon-port 3124/tcp # Beacon Port -# James Paul Duncan -a13-an 3125/udp # A13-AN Interface -a13-an 3125/tcp # A13-AN Interface -# Douglas Knisely -ms-dotnetster 3126/udp # Microsoft .NETster Port -ms-dotnetster 3126/tcp # Microsoft .NETster Port -# Dave Mendlen -ctx-bridge 3127/udp # CTX Bridge Port -ctx-bridge 3127/tcp # CTX Bridge Port -# Alexander Dubrovsky -ndl-aas 3128/udp # Active API Server Port -ndl-aas 3128/tcp # Active API Server Port -# Martin Norman -netport-id 3129/udp # NetPort Discovery Port -netport-id 3129/tcp # NetPort Discovery Port -# P.T.K. Farrar -icpv2 3130/udp # ICPv2 -icpv2 3130/tcp # ICPv2 -# Duane Wessels -netbookmark 3131/udp # Net Book Mark -netbookmark 3131/tcp # Net Book Mark -# Yiftach Ravid -ms-rule-engine 3132/udp # Microsoft Business Rule Engine Update Service -ms-rule-engine 3132/tcp # Microsoft Business Rule Engine Update Service -# Anush Kumar -prism-deploy 3133/udp # Prism Deploy User Port -prism-deploy 3133/tcp # Prism Deploy User Port -# Joan Linck -ecp 3134/udp # Extensible Code Protocol -ecp 3134/tcp # Extensible Code Protocol -# Jim Trek -# Mark Bocko -peerbook-port 3135/udp # PeerBook Port -peerbook-port 3135/tcp # PeerBook Port -# John Flowers -grubd 3136/udp # Grub Server Port -grubd 3136/tcp # Grub Server Port -# Kord Campbell -rtnt-1 3137/udp # rtnt-1 data packets -rtnt-1 3137/tcp # rtnt-1 data packets -rtnt-2 3138/udp # rtnt-2 data packets -rtnt-2 3138/tcp # rtnt-2 data packets -# Ron Muellerschoen -incognitorv 3139/udp # Incognito Rendez-Vous -incognitorv 3139/tcp # Incognito Rendez-Vous -# Stephane Bourque -ariliamulti 3140/udp # Arilia Multiplexor -ariliamulti 3140/tcp # Arilia Multiplexor -# Stephane Bourque -vmodem 3141/udp # VMODEM -vmodem 3141/tcp # VMODEM -# Ray Gwinn -rdc-wh-eos 3142/udp # RDC WH EOS -rdc-wh-eos 3142/tcp # RDC WH EOS -# Udi Nir -seaview 3143/udp # Sea View -seaview 3143/tcp # Sea View -# Jim Flaherty -tarantella 3144/udp # Tarantella -tarantella 3144/tcp # Tarantella -# Roger Binns -csi-lfap 3145/udp # CSI-LFAP -csi-lfap 3145/tcp # CSI-LFAP -# Paul Amsden -bears-02 3146/udp # bears-02 -bears-02 3146/tcp # bears-02 -# Bruce McKinnon -rfio 3147/udp # RFIO -rfio 3147/tcp # RFIO -# Frederic Hemmer -nm-game-admin 3148/udp # NetMike Game Administrator -nm-game-admin 3148/tcp # NetMike Game Administrator -nm-game-server 3149/udp # NetMike Game Server -nm-game-server 3149/tcp # NetMike Game Server -nm-asses-admin 3150/udp # NetMike Assessor Administrator -nm-asses-admin 3150/tcp # NetMike Assessor Administrator -nm-assessor 3151/udp # NetMike Assessor -nm-assessor 3151/tcp # NetMike Assessor -# Andrew Sharpe -feitianrockey 3152/udp # FeiTian Port -feitianrockey 3152/tcp # FeiTian Port -# Huang Yu -s8-client-port 3153/udp # S8Cargo Client Port -s8-client-port 3153/tcp # S8Cargo Client Port -# Jon S. Kyle -ccmrmi 3154/udp # ON RMI Registry -ccmrmi 3154/tcp # ON RMI Registry -# Ram Sudama -jpegmpeg 3155/udp # JpegMpeg Port -jpegmpeg 3155/tcp # JpegMpeg Port -# Richard Bassous -indura 3156/udp # Indura Collector -indura 3156/tcp # Indura Collector -# Bruce Kosbab -e3consultants 3157/udp # CCC Listener Port -e3consultants 3157/tcp # CCC Listener Port -# Brian Carnell -stvp 3158/udp # SmashTV Protocol -stvp 3158/tcp # SmashTV Protocol -# Christian Wolff -navegaweb-port 3159/udp # NavegaWeb Tarification -navegaweb-port 3159/tcp # NavegaWeb Tarification -# Miguel Angel Fernandez -tip-app-server 3160/udp # TIP Application Server -tip-app-server 3160/tcp # TIP Application Server -# Olivier Mascia -doc1lm 3161/udp # DOC1 License Manager -doc1lm 3161/tcp # DOC1 License Manager -# Greg Goodson -sflm 3162/udp # SFLM -sflm 3162/tcp # SFLM -# Keith Turner -res-sap 3163/udp # RES-SAP -res-sap 3163/tcp # RES-SAP -# Bob Janssen -imprs 3164/udp # IMPRS -imprs 3164/tcp # IMPRS -# Lars Bohn -newgenpay 3165/udp # Newgenpay Engine Service -newgenpay 3165/tcp # Newgenpay Engine Service -# Ilan Zisser -qrepos 3166/udp # Quest Repository -qrepos 3166/tcp # Quest Repository -# Fred Surr -poweroncontact 3167/udp # poweroncontact -poweroncontact 3167/tcp # poweroncontact -poweronnud 3168/udp # poweronnud -poweronnud 3168/tcp # poweronnud -# Paul Cone -serverview-as 3169/udp # SERVERVIEW-AS -serverview-as 3169/tcp # SERVERVIEW-AS -serverview-asn 3170/udp # SERVERVIEW-ASN -serverview-asn 3170/tcp # SERVERVIEW-ASN -serverview-gf 3171/udp # SERVERVIEW-GF -serverview-gf 3171/tcp # SERVERVIEW-GF -serverview-rm 3172/udp # SERVERVIEW-RM -serverview-rm 3172/tcp # SERVERVIEW-RM -serverview-icc 3173/udp # SERVERVIEW-ICC -serverview-icc 3173/tcp # SERVERVIEW-ICC -# Guenther Kroenert -# -armi-server 3174/udp # ARMI Server -armi-server 3174/tcp # ARMI Server -# Bobby Martin -t1-e1-over-ip 3175/udp # T1_E1_Over_IP -t1-e1-over-ip 3175/tcp # T1_E1_Over_IP -# Mark Doyle -ars-master 3176/udp # ARS Master -ars-master 3176/tcp # ARS Master -# Ade Adebayo -phonex-port 3177/udp # Phonex Protocol -phonex-port 3177/tcp # Phonex Protocol -# Doug Grover -radclientport 3178/udp # Radiance UltraEdge Port -radclientport 3178/tcp # Radiance UltraEdge Port -# Sri Subramaniam -h2gf-w-2m 3179/udp # H2GF W.2m Handover prot. -h2gf-w-2m 3179/tcp # H2GF W.2m Handover prot. -# Arne Norefors -mc-brk-srv 3180/udp # Millicent Broker Server -mc-brk-srv 3180/tcp # Millicent Broker Server -# Steve Glassman -bmcpatrolagent 3181/udp # BMC Patrol Agent -bmcpatrolagent 3181/tcp # BMC Patrol Agent -bmcpatrolrnvu 3182/udp # BMC Patrol Rendezvous -bmcpatrolrnvu 3182/tcp # BMC Patrol Rendezvous -# Eric Anderson -cops-tls 3183/udp # COPS/TLS -cops-tls 3183/tcp # COPS/TLS -# Mark Stevens -apogeex-port 3184/udp # ApogeeX Port -apogeex-port 3184/tcp # ApogeeX Port -# Tom Nys -smpppd 3185/udp # SuSE Meta PPPD -smpppd 3185/tcp # SuSE Meta PPPD -# Arvin Schnell -iiw-port 3186/udp # IIW Monitor User Port -iiw-port 3186/tcp # IIW Monitor User Port -# Corey Burnett -odi-port 3187/udp # Open Design Listen Port -odi-port 3187/tcp # Open Design Listen Port -# Phivos Aristides -brcm-comm-port 3188/udp # Broadcom Port -brcm-comm-port 3188/tcp # Broadcom Port -# Thomas L. Johnson -pcle-infex 3189/udp # Pinnacle Sys InfEx Port -pcle-infex 3189/tcp # Pinnacle Sys InfEx Port -# Anthon van der Neut -csvr-proxy 3190/udp # ConServR Proxy -csvr-proxy 3190/tcp # ConServR Proxy -csvr-sslproxy 3191/udp # ConServR SSL Proxy -csvr-sslproxy 3191/tcp # ConServR SSL Proxy -# Mikhail Kruk -firemonrcc 3192/udp # FireMon Revision Control -firemonrcc 3192/tcp # FireMon Revision Control -# Michael Bishop -cordataport 3193/udp # Cordaxis Data Port -cordataport 3193/tcp # Cordaxis Data Port -# Jay Fesco -magbind 3194/udp # Rockstorm MAG protocol -magbind 3194/tcp # Rockstorm MAG protocol -# Jens Nilsson -ncu-1 3195/udp # Network Control Unit -ncu-1 3195/tcp # Network Control Unit -ncu-2 3196/udp # Network Control Unit -ncu-2 3196/tcp # Network Control Unit -# Charlie Hundre -embrace-dp-s 3197/udp # Embrace Device Protocol Server -embrace-dp-s 3197/tcp # Embrace Device Protocol Server -embrace-dp-c 3198/udp # Embrace Device Protocol Client -embrace-dp-c 3198/tcp # Embrace Device Protocol Client -# Elliot Schwartz -dmod-workspace 3199/udp # DMOD WorkSpace -dmod-workspace 3199/tcp # DMOD WorkSpace -# Nick Plante -tick-port 3200/udp # Press-sense Tick Port -tick-port 3200/tcp # Press-sense Tick Port -# Boris Svetlitsky -cpq-tasksmart 3201/udp # CPQ-TaskSmart -cpq-tasksmart 3201/tcp # CPQ-TaskSmart -# Jackie Lau -intraintra 3202/udp # IntraIntra -intraintra 3202/tcp # IntraIntra -# Matthew Asham -netwatcher-mon 3203/udp # Network Watcher Monitor -netwatcher-mon 3203/tcp # Network Watcher Monitor -netwatcher-db 3204/udp # Network Watcher DB Access -netwatcher-db 3204/tcp # Network Watcher DB Access -# Hirokazu Fujisawa -isns 3205/udp # iSNS Server Port -isns 3205/tcp # iSNS Server Port -# Josh Tseng -ironmail 3206/udp # IronMail POP Proxy -ironmail 3206/tcp # IronMail POP Proxy -# Mike Hudack -vx-auth-port 3207/udp # Veritas Authentication Port -vx-auth-port 3207/tcp # Veritas Authentication Port -# Senthil Ponnuswamy -pfu-prcallback 3208/udp # PFU PR Callback -pfu-prcallback 3208/tcp # PFU PR Callback -# Tetsuharu Hanada -netwkpathengine 3209/udp # HP OpenView Network Path Engine Server -netwkpathengine 3209/tcp # HP OpenView Network Path Engine Server -# Anthony Walker -flamenco-proxy 3210/udp # Flamenco Networks Proxy -flamenco-proxy 3210/tcp # Flamenco Networks Proxy -# Corey Corrick -avsecuremgmt 3211/udp # Avocent Secure Management -avsecuremgmt 3211/tcp # Avocent Secure Management -# Brian S. Stewart -surveyinst 3212/udp # Survey Instrument -surveyinst 3212/tcp # Survey Instrument -# Al Amet -neon24x7 3213/udp # NEON 24X7 Mission Control -neon24x7 3213/tcp # NEON 24X7 Mission Control -# Tony Lubrano -jmq-daemon-1 3214/udp # JMQ Daemon Port 1 -jmq-daemon-1 3214/tcp # JMQ Daemon Port 1 -jmq-daemon-2 3215/udp # JMQ Daemon Port 2 -jmq-daemon-2 3215/tcp # JMQ Daemon Port 2 -# Martin West -ferrari-foam 3216/udp # Ferrari electronic FOAM -ferrari-foam 3216/tcp # Ferrari electronic FOAM -# Johann Deutinger -unite 3217/udp # Unified IP & Telecomm Env -unite 3217/tcp # Unified IP & Telecomm Env -# Christer Gunnarsson -# -smartpackets 3218/udp # EMC SmartPackets -smartpackets 3218/tcp # EMC SmartPackets -# Steve Spataro -wms-messenger 3219/udp # WMS Messenger -wms-messenger 3219/tcp # WMS Messenger -# Michael Monasterio -xnm-ssl 3220/udp # XML NM over SSL -xnm-ssl 3220/tcp # XML NM over SSL -xnm-clear-text 3221/udp # XML NM over TCP -xnm-clear-text 3221/tcp # XML NM over TCP -# Mark Trostler -glbp 3222/udp # Gateway Load Balancing Pr -glbp 3222/tcp # Gateway Load Balancing Pr -# Douglas McLaggan -digivote 3223/udp # DIGIVOTE (R) Vote-Server -digivote 3223/tcp # DIGIVOTE (R) Vote-Server -# Christian Treczoks -aes-discovery 3224/udp # AES Discovery Port -aes-discovery 3224/tcp # AES Discovery Port -# Ken Richard -fcip-port 3225/udp # FCIP -fcip-port 3225/tcp # FCIP -# RFC-ietf-ips-fcovertcpip-12.txt -isi-irp 3226/udp # ISI Industry Software IRP -isi-irp 3226/tcp # ISI Industry Software IRP -# Peter Sandstrom -dwnmshttp 3227/udp # DiamondWave NMS Server -dwnmshttp 3227/tcp # DiamondWave NMS Server -dwmsgserver 3228/udp # DiamondWave MSG Server -dwmsgserver 3228/tcp # DiamondWave MSG Server -# Varma Bhupatiraju -global-cd-port 3229/udp # Global CD Port -global-cd-port 3229/tcp # Global CD Port -# Vitaly Revsin -sftdst-port 3230/udp # Software Distributor Port -sftdst-port 3230/tcp # Software Distributor Port -# Andrea Lanza -dsnl 3231/udp # Delta Solutions Direct -dsnl 3231/tcp # Delta Solutions Direct -# Peter Ijkhout -mdtp 3232/udp # MDT port -mdtp 3232/tcp # MDT port -# IJsbrand Wijnands -whisker 3233/udp # WhiskerControl main port -whisker 3233/tcp # WhiskerControl main port -# Rudolf Cardinal February 2002 -alchemy 3234/udp # Alchemy Server -alchemy 3234/tcp # Alchemy Server -# Mikhail Belov February 2002 -mdap-port 3235/udp # MDAP Port -mdap-port 3235/tcp # MDAP port -# Johan Deleu February 2002 -apparenet-ts 3236/udp # appareNet Test Server -apparenet-ts 3236/tcp # appareNet Test Server -apparenet-tps 3237/udp # appareNet Test Packet Sequencer -apparenet-tps 3237/tcp # appareNet Test Packet Sequencer -apparenet-as 3238/udp # appareNet Analysis Server -apparenet-as 3238/tcp # appareNet Analysis Server -apparenet-ui 3239/udp # appareNet User Interface -apparenet-ui 3239/tcp # appareNet User Interface -# Fred Klassen February 2002 -triomotion 3240/udp # Trio Motion Control Port -triomotion 3240/tcp # Trio Motion Control Port -# Tony Matthews February 2002 -sysorb 3241/udp # SysOrb Monitoring Server -sysorb 3241/tcp # SysOrb Monitoring Server -# Jakob Oestergaard February 2002 -sdp-id-port 3242/udp # Session Description ID -sdp-id-port 3242/tcp # Session Description ID -# Greg Rose February 2002 -timelot 3243/udp # Timelot Port -timelot 3243/tcp # Timelot Port -# David Ferguson February 2002 -onesaf 3244/udp # OneSAF -onesaf 3244/tcp # OneSAF -# Gene McCulley February 2002 -vieo-fe 3245/udp # VIEO Fabric Executive -vieo-fe 3245/tcp # VIEO Fabric Executive -# James Cox February 2002 -dvt-system 3246/udp # DVT SYSTEM PORT -dvt-system 3246/tcp # DVT SYSTEM PORT -dvt-data 3247/udp # DVT DATA LINK -dvt-data 3247/tcp # DVT DATA LINK -# Phillip Heil February 2002 -procos-lm 3248/udp # PROCOS LM -procos-lm 3248/tcp # PROCOS LM -# Torsten Rendelmann -# February 2002 -ssp 3249/udp # State Sync Protocol -ssp 3249/tcp # State Sync Protocol -# Stephane Beaulieu February 2002 -hicp 3250/udp # HMS hicp port -hicp 3250/tcp # HMS hicp port -# Joel Palsson, HMS Industrial Networks AB -# February 2002 -sysscanner 3251/udp # Sys Scanner -sysscanner 3251/tcp # Sys Scanner -# Dick Georges February 2002 -dhe 3252/udp # DHE port -dhe 3252/tcp # DHE port -# Fabrizio Massimo Ferrara February 2002 -pda-data 3253/udp # PDA Data -pda-data 3253/tcp # PDA Data -pda-sys 3254/udp # PDA System -pda-sys 3254/tcp # PDA System -# Jian Fan February 2002 -semaphore 3255/udp # Semaphore Connection Port -semaphore 3255/tcp # Semaphore Connection Port -# Jay Eckles February 2002 -cpqrpm-agent 3256/udp # Compaq RPM Agent Port -cpqrpm-agent 3256/tcp # Compaq RPM Agent Port -cpqrpm-server 3257/udp # Compaq RPM Server Port -cpqrpm-server 3257/tcp # Compaq RPM Server Port -# Royal King February 2002 -ivecon-port 3258/udp # Ivecon Server Port -ivecon-port 3258/tcp # Ivecon Server Port -# Serguei Tevs February 2002 -epncdp2 3259/udp # Epson Network Common Devi -epncdp2 3259/tcp # Epson Network Common Devi -# SEIKO EPSON Corporation - Oishi Toshiaki -# February 2002 -iscsi-target 3260/udp # iSCSI port -iscsi-target 3260/tcp # iSCSI port -# Julian Satran -winshadow 3261/udp # winShadow -winshadow 3261/tcp # winShadow -# Colin Barry -necp 3262/udp # NECP -necp 3262/tcp # NECP -# Alberto Cerpa -ecolor-imager 3263/udp # E-Color Enterprise Imager -ecolor-imager 3263/tcp # E-Color Enterprise Imager -# Tamara Baker -ccmail 3264/udp # cc:mail/lotus -ccmail 3264/tcp # cc:mail/lotus -# -altav-tunnel 3265/udp # Altav Tunnel -altav-tunnel 3265/tcp # Altav Tunnel -# Gary M. Allen -ns-cfg-server 3266/udp # NS CFG Server -ns-cfg-server 3266/tcp # NS CFG Server -# Aivi Lie -ibm-dial-out 3267/udp # IBM Dial Out -ibm-dial-out 3267/tcp # IBM Dial Out -# Skip Booth -msft-gc 3268/udp # Microsoft Global Catalog -msft-gc 3268/tcp # Microsoft Global Catalog -msft-gc-ssl 3269/udp # Microsoft Global Catalog with LDAP/SSL -msft-gc-ssl 3269/tcp # Microsoft Global Catalog with LDAP/SSL -# Asaf Kashi -verismart 3270/udp # Verismart -verismart 3270/tcp # Verismart -# Jay Weber -csoft-prev 3271/udp # CSoft Prev Port -csoft-prev 3271/tcp # CSoft Prev Port -# Nedelcho Stanev -user-manager 3272/udp # Fujitsu User Manager -user-manager 3272/tcp # Fujitsu User Manager -# Yukihiko Sakurai -sxmp 3273/udp # Simple Extensible Multiplexed Protocol -sxmp 3273/tcp # Simple Extensible Multiplexed Protocol -# Stuart Newman -ordinox-server 3274/udp # Ordinox Server -ordinox-server 3274/tcp # Ordinox Server -# Guy Letourneau -samd 3275/udp # SAMD -samd 3275/tcp # SAMD -# Edgar Circenis -maxim-asics 3276/udp # Maxim ASICs -maxim-asics 3276/tcp # Maxim ASICs -# Dave Inman -awg-proxy 3277/udp # AWG Proxy -awg-proxy 3277/tcp # AWG Proxy -# Alex McDonald -lkcmserver 3278/udp # LKCM Server -lkcmserver 3278/tcp # LKCM Server -# Javier Jimenez -admind 3279/udp # admind -admind 3279/tcp # admind -# Jeff Haynes -vs-server 3280/udp # VS Server -vs-server 3280/tcp # VS Server -# Scott Godlew -sysopt 3281/udp # SYSOPT -sysopt 3281/tcp # SYSOPT -# Tony Hoffman -datusorb 3282/udp # Datusorb -datusorb 3282/tcp # Datusorb -# Thomas Martin -net-assistant 3283/udp # Net Assistant -net-assistant 3283/tcp # Net Assistant -# Michael Stein -4talk 3284/udp # 4Talk -4talk 3284/tcp # 4Talk -# Tony Bushnell -plato 3285/udp # Plato -plato 3285/tcp # Plato -# Jim Battin -e-net 3286/udp # E-Net -e-net 3286/tcp # E-Net -# Steven Grigsby -directvdata 3287/udp # DIRECTVDATA -directvdata 3287/tcp # DIRECTVDATA -# Michael Friedman -cops 3288/udp # COPS -cops 3288/tcp # COPS -# Shai Herzog -enpc 3289/udp # ENPC -enpc 3289/tcp # ENPC -# SEIKO EPSON -caps-lm 3290/udp # CAPS LOGISTICS TOOLKIT - LM -caps-lm 3290/tcp # CAPS LOGISTICS TOOLKIT - LM -# Joseph Krebs -sah-lm 3291/udp # S A Holditch & Associates - LM -sah-lm 3291/tcp # S A Holditch & Associates - LM -# Randy Hudgens -cart-o-rama 3292/udp # Cart O Rama -cart-o-rama 3292/tcp # Cart O Rama -# Phillip Dillinger -fg-fps 3293/udp # fg-fps -fg-fps 3293/tcp # fg-fps -fg-gip 3294/udp # fg-gip -fg-gip 3294/tcp # fg-gip -# Jean-Marc Frailong -dyniplookup 3295/udp # Dynamic IP Lookup -dyniplookup 3295/tcp # Dynamic IP Lookup -# Eugene Osovetsky -rib-slm 3296/udp # Rib License Manager -rib-slm 3296/tcp # Rib License Manager -# Kristean Heisler -cytel-lm 3297/udp # Cytel License Manager -cytel-lm 3297/tcp # Cytel License Manager -# Yogesh P. Gajjar -deskview 3298/udp # DeskView -deskview 3298/tcp # DeskView -# Manfred Randelzofer -# -pdrncs 3299/udp # pdrncs -pdrncs 3299/tcp # pdrncs -# Paul Wissenbach -########### 3300-3301 Unauthorized Use by SAP R/3 ###### -mcs-fastmail 3302/udp # MCS Fastmail -mcs-fastmail 3302/tcp # MCS Fastmail -# Patti Jo Newsom -opsession-clnt 3303/udp # OP Session Client -opsession-clnt 3303/tcp # OP Session Client -opsession-srvr 3304/udp # OP Session Server -opsession-srvr 3304/tcp # OP Session Server -# Amir Blich -odette-ftp 3305/udp # ODETTE-FTP -odette-ftp 3305/tcp # ODETTE-FTP -# David Nash -mysql 3306/udp # MySQL -mysql 3306/tcp # MySQL -# Monty -opsession-prxy 3307/udp # OP Session Proxy -opsession-prxy 3307/tcp # OP Session Proxy -# Amir Blich -tns-server 3308/udp # TNS Server -tns-server 3308/tcp # TNS Server -tns-adv 3309/udp # TNS ADV -tns-adv 3309/tcp # TNS ADV -# Jerome Albin -dyna-access 3310/udp # Dyna Access -dyna-access 3310/tcp # Dyna Access -# Dave Belliveau -# -mcns-tel-ret 3311/udp # MCNS Tel Ret -mcns-tel-ret 3311/tcp # MCNS Tel Ret -# Randall Atkinson -appman-server 3312/udp # Application Management Server -appman-server 3312/tcp # Application Management Server -uorb 3313/udp # Unify Object Broker -uorb 3313/tcp # Unify Object Broker -uohost 3314/udp # Unify Object Host -uohost 3314/tcp # Unify Object Host -# Duane Gibson -cdid 3315/udp # CDID -cdid 3315/tcp # CDID -# Andrew Borisov -aicc-cmi 3316/udp # AICC/CMI -aicc-cmi 3316/tcp # AICC/CMI -# William McDonald -vsaiport 3317/udp # VSAI PORT -vsaiport 3317/tcp # VSAI PORT -# Rieko Asai -ssrip 3318/udp # Swith to Swith Routing Information Protocol -ssrip 3318/tcp # Swith to Swith Routing Information Protocol -# Baba Hidekazu -sdt-lmd 3319/udp # SDT License Manager -sdt-lmd 3319/tcp # SDT License Manager -# Salvo Nassisi -officelink2000 3320/udp # Office Link 2000 -officelink2000 3320/tcp # Office Link 2000 -# Mike Balch -vnsstr 3321/udp # VNSSTR -vnsstr 3321/tcp # VNSSTR -# Takeshi Ohmura -# Bob Braden -sftu 3326/udp # SFTU -sftu 3326/tcp # SFTU -# Eduardo Rosenberg de Moura -bbars 3327/udp # BBARS -bbars 3327/tcp # BBARS -# Lou Harris -egptlm 3328/udp # Eaglepoint License Manager -egptlm 3328/tcp # Eaglepoint License Manager -# Dave Benton -hp-device-disc 3329/udp # HP Device Disc -hp-device-disc 3329/tcp # HP Device Disc -# Shivaun Albright -mcs-calypsoicf 3330/udp # MCS Calypso ICF -mcs-calypsoicf 3330/tcp # MCS Calypso ICF -mcs-messaging 3331/udp # MCS Messaging -mcs-messaging 3331/tcp # MCS Messaging -mcs-mailsvr 3332/udp # MCS Mail Server -mcs-mailsvr 3332/tcp # MCS Mail Server -# Patti Jo Newsom -dec-notes 3333/udp # DEC Notes -dec-notes 3333/tcp # DEC Notes -# Kim Moraros -directv-web 3334/udp # Direct TV Webcasting -directv-web 3334/tcp # Direct TV Webcasting -directv-soft 3335/udp # Direct TV Software Updates -directv-soft 3335/tcp # Direct TV Software Updates -directv-tick 3336/udp # Direct TV Tickers -directv-tick 3336/tcp # Direct TV Tickers -directv-catlg 3337/udp # Direct TV Data Catalog -directv-catlg 3337/tcp # Direct TV Data Catalog -# Michael Friedman -anet-b 3338/udp # OMF data b -anet-b 3338/tcp # OMF data b -anet-l 3339/udp # OMF data l -anet-l 3339/tcp # OMF data l -anet-m 3340/udp # OMF data m -anet-m 3340/tcp # OMF data m -anet-h 3341/udp # OMF data h -anet-h 3341/tcp # OMF data h -# Per Sahlqvist -webtie 3342/udp # WebTIE -webtie 3342/tcp # WebTIE -# Kevin Frender -ms-cluster-net 3343/udp # MS Cluster Net -ms-cluster-net 3343/tcp # MS Cluster Net -# Mike Massa -bnt-manager 3344/udp # BNT Manager -bnt-manager 3344/tcp # BNT Manager -# Brian J. Ives -influence 3345/udp # Influence -influence 3345/tcp # Influence -# Russ Ferriday -trnsprntproxy 3346/udp # Trnsprnt Proxy -trnsprntproxy 3346/tcp # Trnsprnt Proxy -# Grant Kirby -phoenix-rpc 3347/udp # Phoenix RPC -phoenix-rpc 3347/tcp # Phoenix RPC -# Ian Anderson -pangolin-laser 3348/udp # Pangolin Laser -pangolin-laser 3348/tcp # Pangolin Laser -# William Benner -chevinservices 3349/udp # Chevin Services -chevinservices 3349/tcp # Chevin Services -# Gus McNaughton -findviatv 3350/udp # FINDVIATV -findviatv 3350/tcp # FINDVIATV -# Oran Davis -btrieve 3351/udp # Btrieve port -btrieve 3351/tcp # Btrieve port -ssql 3352/udp # Scalable SQL -ssql 3352/tcp # Scalable SQL -# Chuck Talk -fatpipe 3353/udp # FATPIPE -fatpipe 3353/tcp # FATPIPE -# Sanchaita Datta -suitjd 3354/udp # SUITJD -suitjd 3354/tcp # SUITJD -# Todd Moyer -ordinox-dbase 3355/udp # Ordinox Dbase -ordinox-dbase 3355/tcp # Ordinox Dbase -# Guy Litourneau -upnotifyps 3356/udp # UPNOTIFYPS -upnotifyps 3356/tcp # UPNOTIFYPS -# Mark Fox -adtech-test 3357/udp # Adtech Test IP -adtech-test 3357/tcp # Adtech Test IP -# Robin Uyeshiro -mpsysrmsvr 3358/udp # Mp Sys Rmsvr -mpsysrmsvr 3358/tcp # Mp Sys Rmsvr -# Hiroyuki Kawabuchi -wg-netforce 3359/udp # WG NetForce -wg-netforce 3359/tcp # WG NetForce -# Lee Wheat -kv-server 3360/udp # KV Server -kv-server 3360/tcp # KV Server -kv-agent 3361/udp # KV Agent -kv-agent 3361/tcp # KV Agent -# Thomas Soranno -dj-ilm 3362/udp # DJ ILM -dj-ilm 3362/tcp # DJ ILM -# Don Tyson -nati-vi-server 3363/udp # NATI Vi Server -nati-vi-server 3363/tcp # NATI Vi Server -# Robert Dye -creativeserver 3364/udp # Creative Server -creativeserver 3364/tcp # Creative Server -contentserver 3365/udp # Content Server -contentserver 3365/tcp # Content Server -creativepartnr 3366/udp # Creative Partner -creativepartnr 3366/tcp # Creative Partner -# Jesus Ortiz -# Scott Engel -tip2 3372/udp # TIP 2 -tip2 3372/tcp # TIP 2 -# Keith Evans -lavenir-lm 3373/udp # Lavenir License Manager -lavenir-lm 3373/tcp # Lavenir License Manager -# Marius Matioc -cluster-disc 3374/udp # Cluster Disc -cluster-disc 3374/tcp # Cluster Disc -# Jeff Hughes -vsnm-agent 3375/udp # VSNM Agent -vsnm-agent 3375/tcp # VSNM Agent -# Venkat Rangan -cdbroker 3376/udp # CD Broker -cdbroker 3376/tcp # CD Broker -# Moon Ho Chung -cogsys-lm 3377/udp # Cogsys Network License Manager -cogsys-lm 3377/tcp # Cogsys Network License Manager -# Simon Chinnick -wsicopy 3378/udp # WSICOPY -wsicopy 3378/tcp # WSICOPY -# James Overby -socorfs 3379/udp # SOCORFS -socorfs 3379/tcp # SOCORFS -# Hugo Charbonneau -sns-channels 3380/udp # SNS Channels -sns-channels 3380/tcp # SNS Channels -# Shekar Pasumarthi -geneous 3381/udp # Geneous -geneous 3381/tcp # Geneous -# Nick de Smith -fujitsu-neat 3382/udp # Fujitsu Network Enhanced Antitheft function -fujitsu-neat 3382/tcp # Fujitsu Network Enhanced Antitheft function -# Markku Viima -esp-lm 3383/udp # Enterprise Software Products License Manager -esp-lm 3383/tcp # Enterprise Software Products License Manager -# George Rudy -hp-clic 3384/udp # Hardware Management -hp-clic 3384/tcp # Cluster Management Services -# Rajesh Srinivasaraghavan -qnxnetman 3385/udp # qnxnetman -qnxnetman 3385/tcp # qnxnetman -# Michael Hunter -gprs-sig 3386/udp # GPRS SIG -gprs-data 3386/tcp # GPRS Data -# Ansgar Bergmann -backroomnet 3387/udp # Back Room Net -backroomnet 3387/tcp # Back Room Net -# Clayton Wilkinson -cbserver 3388/udp # CB Server -cbserver 3388/tcp # CB Server -# Allen Wei -ms-wbt-server 3389/udp # MS WBT Server -ms-wbt-server 3389/tcp # MS WBT Server -# Ritu Bahl -dsc 3390/udp # Distributed Service Coordinator -dsc 3390/tcp # Distributed Service Coordinator -# Chas Honton -savant 3391/udp # SAVANT -savant 3391/tcp # SAVANT -# Andy Bruce -efi-lm 3392/udp # EFI License Management -efi-lm 3392/tcp # EFI License Management -# Ross E. Greinke -d2k-tapestry1 3393/udp # D2K Tapestry Client to Server -d2k-tapestry1 3393/tcp # D2K Tapestry Client to Server -d2k-tapestry2 3394/udp # D2K Tapestry Server to Server -d2k-tapestry2 3394/tcp # D2K Tapestry Server to Server -# Eric Lan -dyna-lm 3395/udp # Dyna License Manager (Elam) -dyna-lm 3395/tcp # Dyna License Manager (Elam) -# Anjana Iyer -printer_agent 3396/udp # Printer Agent -printer_agent 3396/tcp # Printer Agent -# Devon Taylor -cloanto-lm 3397/udp # Cloanto License Manager -cloanto-lm 3397/tcp # Cloanto License Manager -# Takeo Sato -mercantile 3398/udp # Mercantile -mercantile 3398/tcp # Mercantile -# Erik Kragh Jensen -csms 3399/udp # CSMS -csms 3399/tcp # CSMS -csms2 3400/udp # CSMS2 -csms2 3400/tcp # CSMS2 -# Markus Michels -filecast 3401/udp # filecast -filecast 3401/tcp # filecast -# Eden Sherry -fxaengine-net 3402/udp # FXa Engine Network Port -fxaengine-net 3402/tcp # FXa Engine Network Port -# Lucas Alonso February 2002 -copysnap 3403/udp # CopySnap Server Port -copysnap 3403/tcp # CopySnap Server Port -# Steve Zellers February 2002 -# 3404 Removed (2002-05-01) -nokia-ann-ch1 3405/udp # Nokia Announcement ch 1 -nokia-ann-ch1 3405/tcp # Nokia Announcement ch 1 -nokia-ann-ch2 3406/udp # Nokia Announcement ch 2 -nokia-ann-ch2 3406/tcp # Nokia Announcement ch 2 -# Morteza Kalhour February 2002 -ldap-admin 3407/udp # LDAP admin server port -ldap-admin 3407/tcp # LDAP admin server port -# Stephen Tsun February 2002 -issapi 3408/udp # POWERpack API Port -issapi 3408/tcp # POWERpack API Port -# Colin Griffiths February 2002 -networklens 3409/udp # NetworkLens Event Port -networklens 3409/tcp # NetworkLens Event Port -networklenss 3410/udp # NetworkLens SSL Event -networklenss 3410/tcp # NetworkLens SSL Event -# Greg Bailey February 2002 -biolink-auth 3411/udp # BioLink Authenteon server -biolink-auth 3411/tcp # BioLink Authenteon server -# BioLink Support February 2002 -xmlblaster 3412/udp # xmlBlaster -xmlblaster 3412/tcp # xmlBlaster -# Marcel Ruff February 2002 -svnet 3413/udp # SpecView Networking -svnet 3413/tcp # SpecView Networking -# Richard Dickins February 2002 -wip-port 3414/udp # BroadCloud WIP Port -wip-port 3414/tcp # BroadCloud WIP Port -bcinameservice 3415/udp # BCI Name Service -bcinameservice 3415/tcp # BCI Name Service -# Dennis Parker February 2002 -commandport 3416/udp # AirMobile IS Command Port -commandport 3416/tcp # AirMobile IS Command Port -# Mike Klein February 2002 -csvr 3417/udp # ConServR file translation -csvr 3417/tcp # ConServR file translation -# Albert Leung February 2002 -rnmap 3418/udp # Remote nmap -rnmap 3418/tcp # Remote nmap -# Tuomo Makinen February 2002 -softaudit 3419/udp # ISogon SoftAudit -softaudit 3419/tcp # Isogon SoftAudit -# Per Hellberg February 2002 -ifcp-port 3420/udp # iFCP User Port -ifcp-port 3420/tcp # iFCP User Port -# Charles Monia -bmap 3421/udp # Bull Apprise portmapper -bmap 3421/tcp # Bull Apprise portmapper -# Jeremy Gilbert -rusb-sys-port 3422/udp # Remote USB System Port -rusb-sys-port 3422/tcp # Remote USB System Port -# Steven Klein February 2002 -xtrm 3423/udp # xTrade Reliable Messaging -xtrm 3423/tcp # xTrade Reliable Messaging -xtrms 3424/udp # xTrade over TLS/SSL -xtrms 3424/tcp # xTrade over TLS/SSL -# Mats Nilsson February 2002 -agps-port 3425/udp # AGPS Access Port -agps-port 3425/tcp # AGPS Access Port -# Kristoffer Nilsson -# February 2002 -arkivio 3426/udp # Arkivio Storage Protocol -arkivio 3426/tcp # Arkivio Storage Protocol -# Bruce Greenblatt February 2002 -websphere-snmp 3427/udp # WebSphere SNMP -websphere-snmp 3427/tcp # WebSphere SNMP -# Richard Mills February 2002 -twcss 3428/udp # 2Wire CSS -twcss 3428/tcp # 2Wire CSS -# 2Wire IANA Contact February 2002 -gcsp 3429/udp # GCSP user port -gcsp 3429/tcp # GCSP user port -# Anirban Majumder March 2002 -ssdispatch 3430/udp # Scott Studios Dispatch -ssdispatch 3430/tcp # Scott Studios Dispatch -# Michael Settles March 2002 -ndl-als 3431/udp # Active License Server Port -ndl-als 3431/tcp # Active License Server Port -# Quentin Brown March 2002 -osdcp 3432/udp # Secure Device Protocol -osdcp 3432/tcp # Secure Device Protocol -# Peter Fernandez March 2002 -alta-smp 3433/udp # Altaworks Service Management Platform -alta-smp 3433/tcp # Altaworks Service Management Platform -# Ted Macomber March 2002 -opencm 3434/udp # OpenCM Server -opencm 3434/tcp # OpenCM Server -# Jonathan S. Shapiro March 2002 -pacom 3435/udp # Pacom Security User Port -pacom 3435/tcp # Pacom Security User Port -# Steve Barton March 2002 -gc-config 3436/udp # GuardControl Exchange Protocol -gc-config 3436/tcp # GuardControl Exchange Protocol -# Andreas Schwarz March 2002 -autocueds 3437/udp # Autocue Directory Service -autocueds 3437/tcp # Autocue Directory Service -# Geoff Back March 2002 -spiral-admin 3438/udp # Spiralcraft Admin -spiral-admin 3438/tcp # Spiralcraft Admin -# Michael Toth March 2002 -hri-port 3439/udp # HRI Interface Port -hri-port 3439/tcp # HRI Interface Port -# John Fayos March 2002 -ans-console 3440/udp # Net Steward Mgmt Console -ans-console 3440/tcp # Net Steward Mgmt Console -# John Richmond March 2002 -connect-client 3441/udp # OC Connect Client -connect-client 3441/tcp # OC Connect Client -connect-server 3442/udp # OC Connect Server -connect-server 3442/tcp # OC Connect Server -# Mike Velten March 2002 -ov-nnm-websrv 3443/udp # OpenView Network Node Manager WEB Server -ov-nnm-websrv 3443/tcp # OpenView Network Node Manager WEB Server -# Anthony Walker March 2002 -denali-server 3444/udp # Denali Server -denali-server 3444/tcp # Denali Server -# Joe Devlin March 2002 -monp 3445/udp # Media Object Network -monp 3445/tcp # Media Object Network -# Ron Herardian March 2002 -3comfaxrpc 3446/udp # 3Com FAX RPC port -3comfaxrpc 3446/tcp # 3Com FAX RPC port -# Christopher Wells April 2002 -cddn 3447/udp # CompuDuo DirectNet -cddn 3447/tcp # CompuDuo DirectNet -# Gregory Richards April 2002 -dnc-port 3448/udp # Discovery and Net Config -dnc-port 3448/tcp # Discovery and Net Config -# Chi Chen April 2002 -hotu-chat 3449/udp # HotU Chat -hotu-chat 3449/tcp # HotU Chat -# Tim Burgess April 2002 -castorproxy 3450/udp # CAStorProxy -castorproxy 3450/tcp # CAStorProxy -# Raymond J. Young April 2002 -asam 3451/udp # ASAM Services -asam 3451/tcp # ASAM Services -# Mike Gossett April 2002 -sabp-signal 3452/udp # SABP-Signalling Protocol -sabp-signal 3452/tcp # SABP-Signalling Protocol -# Brendan McWilliams April 2002 -pscupd 3453/udp # PSC Update Port -pscupd 3453/tcp # PSC Update Port -# Reid B. Ligon -mira 3454/tcp # Apple Remote Access Protocol -# Mike Alexander -prsvp 3455/udp # RSVP Port -prsvp 3455/tcp # RSVP Port -# Bob Braden -vat 3456/udp # VAT default data -vat 3456/tcp # VAT default data -# Van Jacobson -vat-control 3457/udp # VAT default control -vat-control 3457/tcp # VAT default control -# Van Jacobson -d3winosfi 3458/udp # D3WinOSFI -d3winosfi 3458/tcp # D3WinOSFI -# Brad Hamilton -integral 3459/udp # TIP Integral -integral 3459/tcp # TIP Integral -# Olivier Mascia -edm-manager 3460/udp # EDM Manger -edm-manager 3460/tcp # EDM Manger -edm-stager 3461/udp # EDM Stager -edm-stager 3461/tcp # EDM Stager -edm-std-notify 3462/udp # EDM STD Notify -edm-std-notify 3462/tcp # EDM STD Notify -edm-adm-notify 3463/udp # EDM ADM Notify -edm-adm-notify 3463/tcp # EDM ADM Notify -edm-mgr-sync 3464/udp # EDM MGR Sync -edm-mgr-sync 3464/tcp # EDM MGR Sync -edm-mgr-cntrl 3465/udp # EDM MGR Cntrl -edm-mgr-cntrl 3465/tcp # EDM MGR Cntrl -# Tom Hennessy -workflow 3466/udp # WORKFLOW -workflow 3466/tcp # WORKFLOW -# Robert Hufsky -rcst 3467/udp # RCST -rcst 3467/tcp # RCST -# Kit Sturgeon -ttcmremotectrl 3468/udp # TTCM Remote Controll -ttcmremotectrl 3468/tcp # TTCM Remote Controll -# Yossi Cohen-Shahar -pluribus 3469/udp # Pluribus -pluribus 3469/tcp # Pluribus -# Mark Miller -jt400 3470/udp # jt400 -jt400 3470/tcp # jt400 -jt400-ssl 3471/udp # jt400-ssl -jt400-ssl 3471/tcp # jt400-ssl -# Clifton Nock -jaugsremotec-1 3472/udp # JAUGS N-G Remotec 1 -jaugsremotec-1 3472/tcp # JAUGS N-G Remotec 1 -jaugsremotec-2 3473/udp # JAUGS N-G Remotec 2 -jaugsremotec-2 3473/tcp # JAUGS N-G Remotec 2 -# Steven B. Cliff April 2002 -ttntspauto 3474/udp # TSP Automation -ttntspauto 3474/tcp # TSP Automation -# Arnie Koster April 2002 -genisar-port 3475/udp # Genisar Comm Port -genisar-port 3475/tcp # Genisar Comm Port -# Candace Niccolson April 2002 -nppmp 3476/udp # NVIDIA Mgmt Protocol -nppmp 3476/tcp # NVIDIA Mgmt Protocol -# Gilbert Yeung April 2002 -ecomm 3477/udp # eComm link port -ecomm 3477/tcp # eComm link port -# Thomas Soerensen April 2002 -nat-stun-port 3478/udp # Simple Traversal of UDP Through NAT (STUN) port -nat-stun-port 3478/tcp # Simple Traversal of UDP Through NAT (STUN) port -# Jonathan Rosenberg April 2002 -twrpc 3479/udp # 2Wire RPC -twrpc 3479/tcp # 2Wire RPC -# 2Wire IANA Contact April 2002 -plethora 3480/udp # Secure Virtual Workspace -plethora 3480/tcp # Secure Virtual Workspace -# Tim Simms April 2002 -cleanerliverc 3481/udp # CleanerLive remote ctrl -cleanerliverc 3481/tcp # CleanerLive remote ctrl -# David Mojdehi April 2002 -vulture 3482/udp # Vulture Monitoring System -vulture 3482/tcp # Vulture Monitoring System -# Jason Santos April 2002 -slim-devices 3483/udp # Slim Devices Protocol -slim-devices 3483/tcp # Slim Devices Protocol -# Sean Adams May 2002 -gbs-stp 3484/udp # GBS SnapTalk Protocol -gbs-stp 3484/tcp # GBS SnapTalk Protocol -# Eric Harris-Braun May 2002 -celatalk 3485/udp # CelaTalk -celatalk 3485/tcp # CelaTalk -# Carl Blundell May 2002 -ifsf-hb-port 3486/udp # IFSF Heartbeat Port -ifsf-hb-port 3486/tcp # IFSF Heartbeat Port -# IFSF Secretary May 2002 -ltcudp 3487/udp # LISA UDP Transfer Channel -ltctcp 3487/tcp # LISA TCP Transfer Channel -# Pit Vetterick May 2002 -fs-rh-srv 3488/udp # FS Remote Host Server -fs-rh-srv 3488/tcp # FS Remote Host Server -# Brian Nickles May 2002 -dtp-dia 3489/udp # DTP/DIA -dtp-dia 3489/tcp # DTP/DIA -# Alexei V. Soloviev May 2002 -colubris 3490/udp # Colubris Management Port -colubris 3490/tcp # Colubris Management Port -# Gilbert Moineau May 2002 -swr-port 3491/udp # SWR Port -swr-port 3491/tcp # SWR Port -# Ian Manning May 2002 -tvdumtray-port 3492/udp # TVDUM Tray Port -tvdumtray-port 3492/tcp # TVDUM Tray Port -# Peter Boers May 2002 -nut 3493/udp # Network UPS Tools -nut 3493/tcp # Network UPS Tools -# Russell Kroll May 2002 -ibm3494 3494/udp # IBM 3494 -ibm3494 3494/tcp # IBM 3494 -# Jeffrey Pilch -seclayer-tcp 3495/udp # securitylayer over tcp -seclayer-tcp 3495/tcp # securitylayer over tcp -seclayer-tls 3496/udp # securitylayer over tls -seclayer-tls 3496/tcp # securitylayer over tls -# Arno Hollosi March 2002 -ipether232port 3497/udp # ipEther232Port -ipether232port 3497/tcp # ipEther232Port -# Marcus Leufgen May 2002 -dashpas-port 3498/udp # DASHPAS user port -dashpas-port 3498/tcp # DASHPAS user port -# Albrecht Mayer May 2002 -sccip-media 3499/udp # SccIP Media -sccip-media 3499/tcp # SccIP Media -# David Yon May 2002 -rtmp-port 3500/udp # RTMP Port -rtmp-port 3500/tcp # RTMP Port -# Miriam Wohlgelernter -isoft-p2p 3501/udp # iSoft-P2P -isoft-p2p 3501/tcp # iSoft-P2P -# David Walling -avinstalldisc 3502/udp # Avocent Install Discovery -avinstalldisc 3502/tcp # Avocent Install Discovery -# Brian S. Stewart -lsp-ping 3503/udp # MPLS LSP-echo Port -lsp-ping 3503/tcp # MPLS LSP-echo Port -# Ping Pan -ironstorm 3504/udp # IronStorm game server -ironstorm 3504/tcp # IronStorm game server -# Arnaud Clermonte -ccmcomm 3505/udp # CCM communications port -ccmcomm 3505/tcp # CCM communications port -# Tom Bougan -apc-3506 3506/udp # APC 3506 -apc-3506 3506/tcp # APC 3506 -# American Power Conversion -nesh-broker 3507/udp # Nesh Broker Port -nesh-broker 3507/tcp # Nesh Broker Port -# Jeremy Maiden -interactionweb 3508/udp # Interaction Web -interactionweb 3508/tcp # Interaction Web -# Andy Niksch -vt-ssl 3509/udp # Virtual Token SSL Port -vt-ssl 3509/tcp # Virtual Token SSL Port -# Libor Sykora May 2002 -xss-port 3510/udp # XSS Port -xss-port 3510/tcp # XSS Port -# Joe Purcell May 2002 -webmail-2 3511/udp # WebMail/2 -webmail-2 3511/tcp # WebMail/2 -# Dimitris Michelinakis May 2002 -aztec 3512/udp # Aztec Distribution Port -aztec 3512/tcp # Aztec Distribution Port -# Alan Francis May 2002 -arcpd 3513/udp # Adaptec Remote Protocol -arcpd 3513/tcp # Adaptec Remote Protocol -# Hardy Doelfel May 2002 -must-p2p 3514/udp # MUST Peer to Peer -must-p2p 3514/tcp # MUST Peer to Peer -must-backplane 3515/udp # MUST Backplane -must-backplane 3515/tcp # MUST Backplane -# Rick Stefanik May 2002 -smartcard-port 3516/udp # Smartcard Port -smartcard-port 3516/tcp # Smartcard Port -# Scott Guthery May 2002 -802-11-iapp 3517/udp # IEEE 802.11 WLANs WG IAPP -802-11-iapp 3517/tcp # IEEE 802.11 WLANs WG IAPP -# Stuart J. Kerry (Chair IEEE 802.11 WG) -# May 2002 -artifact-msg 3518/udp # Artifact Message Server -artifact-msg 3518/tcp # Artifact Message Server -# Ron Capwell June 2002 -galileo 3519/udp # Netvion Galileo Port -nvmsgd 3519/tcp # Netvion Messenger Port -galileolog 3520/udp # Netvion Galileo Log Port -galileolog 3520/tcp # Netvion Galileo Log Port -# Ray Caruso June 2002 -mc3ss 3521/udp # Telequip Labs MC3SS -mc3ss 3521/tcp # Telequip Labs MC3SS -# Michael Sparks June 2002 -nssocketport 3522/udp # DO over NSSocketPort -nssocketport 3522/tcp # DO over NSSocketPort -# Douglas Davidson June 2002 -odeumservlink 3523/udp # Odeum Serverlink -odeumservlink 3523/tcp # Odeum Serverlink -# Mads Peter Back June 2002 -ecmport 3524/udp # ECM Server port -ecmport 3524/tcp # ECM Server port -eisport 3525/udp # EIS Server port -eisport 3525/tcp # EIS Server port -# Paul Kraus June 2002 -starquiz-port 3526/udp # starQuiz Port -starquiz-port 3526/tcp # starQuiz Port -# Adam Ernst June 2002 -beserver-msg-q 3527/udp # VERITAS Backup Exec Server -beserver-msg-q 3527/tcp # VERITAS Backup Exec Server -# Katherine Wattwood June 2002 -jboss-iiop 3528/udp # JBoss IIOP -jboss-iiop 3528/tcp # JBoss IIOP -jboss-iiop-ssl 3529/udp # JBoss IIOP/SSL -jboss-iiop-ssl 3529/tcp # JBoss IIOP/SSL -# Francisco Reverbel June 2002 -gf 3530/udp # Grid Friendly -gf 3530/tcp # Grid Friendly -# Daivd P. Chassin June 2002 -joltid 3531/udp # Joltid -joltid 3531/tcp # Joltid -# Ahti Heinla June 2002 -raven-rmp 3532/udp # Raven Remote Management Control -raven-rmp 3532/tcp # Raven Remote Management Control -raven-rdp 3533/udp # Raven Remote Management Data -raven-rdp 3533/tcp # Raven Remote Management Data -# Daniel Sorlov June 2002 -urld-port 3534/udp # URL Daemon Port -urld-port 3534/tcp # URL Daemon Port -# Jim Binkley June 2002 -ms-la 3535/udp # MS-LA -ms-la 3535/tcp # MS-LA -# Eric Ledoux -snac 3536/udp # SNAC -snac 3536/tcp # SNAC -# Tatsuya Igarashi July 2002 -ni-visa-remote 3537/udp # Remote NI-VISA port -ni-visa-remote 3537/tcp # Remote NI-VISA port -# Sinnadurai Dharshan July 2002 -ibm-diradm 3538/udp # IBM Directory Server -ibm-diradm 3538/tcp # IBM Directory Server -ibm-diradm-ssl 3539/udp # IBM Directory Server SSL -ibm-diradm-ssl 3539/tcp # IBM Directory Server SSL -# Mark Cavage July 2002 -pnrp-port 3540/udp # PNRP User Port -pnrp-port 3540/tcp # PNRP User Port -# Igor Kostic July 2002 -voispeed-port 3541/udp # VoiSpeed Port -voispeed-port 3541/tcp # VoiSpeed Port -# Virgilio Lattanzi July 2002 -hacl-monitor 3542/udp # HA cluster monitor -hacl-monitor 3542/tcp # HA cluster monitor -# Jason Ko July 2002 -qftest-lookup 3543/udp # qftest Lookup Port -qftest-lookup 3543/tcp # qftest Lookup Port -# Gregor Schmid July 2002 -teredo 3544/udp # Teredo Port -teredo 3544/tcp # Teredo Port -# Dave Thaler July 2002 -camac 3545/udp # CAMAC equipment -camac 3545/tcp # CAMAC equipment -# Eugene Zhiganov July 2002 -# 3546 Unassigned (removed September 2002) -symantec-sim 3547/udp # Symantec SIM -symantec-sim 3547/tcp # Symantec SIM -# George Dzieciol July 2002 -interworld 3548/udp # Interworld -interworld 3548/tcp # Interworld -# John Stephen July 2002 -tellumat-nms 3549/udp # Tellumat MDR NMS -tellumat-nms 3549/tcp # Tellumat MDR NMS -# Hennie van der Merwe July 2002 -ssmpp 3550/udp # Secure SMPP -ssmpp 3550/tcp # Secure SMPP -# Cormac Long July 2002 -apcupsd 3551/udp # Apcupsd Information Port -apcupsd 3551/tcp # Apcupsd Information Port -# Riccardo Facchetti July 2002 -taserver 3552/udp # TeamAgenda Server Port -taserver 3552/tcp # TeamAgenda Server Port -# Dany Ayotte July 2002 -rbr-discovery 3553/udp # Red Box Recorder ADP -rbr-discovery 3553/tcp # Red Box Recorder ADP -# Simon Jolly July 2002 -questnotify 3554/udp # Quest Notification Server -questnotify 3554/tcp # Quest Notification Server -# Rob Griffin July 2002 -razor 3555/udp # Vipul's Razor -razor 3555/tcp # Vipul's Razor -# Vipul Ved Prakash July 2002 -sky-transport 3556/udp # Sky Transport Protocol -sky-transport 3556/tcp # Sky Transport Protocol -# Michael Paddon July 2002 -personalos-001 3557/udp # PersonalOS Comm Port -personalos-001 3557/tcp # PersonalOS Comm Port -# Shane Roberts July 2002 -mcp-port 3558/udp # MCP user port -mcp-port 3558/tcp # MCP user port -# Professor Paul S. Wang July 2002 -cctv-port 3559/udp # CCTV control port -cctv-port 3559/tcp # CCTV control port -# Raymond Lyons July 2002 -iniserve-port 3560/udp # INIServe port -iniserve-port 3560/tcp # INIServe port -# Peter Moylan August 2002 -bmc-onekey 3561/udp # BMC-OneKey -bmc-onekey 3561/tcp # BMC-OneKey -# Alon Tam August 2002 -sdbproxy 3562/udp # SDBProxy -sdbproxy 3562/tcp # SDBProxy -# Eric Grange August 2002 -watcomdebug 3563/udp # Watcom Debug -watcomdebug 3563/tcp # Watcom Debug -# Dave Neudoerffer -esimport 3564/udp # Electromed SIM port -esimport 3564/tcp # Electromed SIM port -# Francois Marchand August 2002 -m2pa 3565/sctp # M2PA -m2pa 3565/tcp # M2PA -# Tom George May 2002 -quest-launcher 3566/udp # Quest Agent Manager -quest-launcher 3566/tcp # Quest Agent Manager -# Eyal Kalderon April 2002 -emware-oft 3567/udp # emWare OFT Services -emware-oft 3567/tcp # emWare OFT Services -# Bryant Eastham August 2002 -emware-epss 3568/udp # emWare EMIT/Secure -emware-epss 3568/tcp # emWare EMIT/Secure -# Bryant Eastham January 2003 -mbg-ctrl 3569/udp # Meinberg Control Service -mbg-ctrl 3569/tcp # Meinberg Control Service -# Martin Burnicki August 2002 -mccwebsvr-port 3570/udp # MCC Web Server Port -mccwebsvr-port 3570/tcp # MCC Web Server Port -megardsvr-port 3571/udp # MegaRAID Server Port -megardsvr-port 3571/tcp # MegaRAID Server Port -megaregsvrport 3572/udp # Registration Server Port -megaregsvrport 3572/tcp # Registration Server Port -# Sreenivas Bagalkote August 2002 -tag-ups-1 3573/udp # Advantage Group UPS Suite -tag-ups-1 3573/tcp # Advantage Group UPS Suite -# James Goddard August 2002 -dmaf-caster 3574/udp # DMAF Caster -dmaf-server 3574/tcp # DMAF Server -# Ramakrishna Nadendla August 2002 -ccm-port 3575/udp # Coalsere CCM Port -ccm-port 3575/tcp # Coalsere CCM Port -cmc-port 3576/udp # Coalsere CMC Port -cmc-port 3576/tcp # Coalsere CMC Port -# Chris Hawkinson August 2002 -config-port 3577/udp # Configuration Port -config-port 3577/tcp # Configuration Port -data-port 3578/udp # Data Port -data-port 3578/tcp # Data Port -# Anupam Bharali August 2002 -ttat3lb 3579/udp # Tarantella Load Balancing -ttat3lb 3579/tcp # Tarantella Load Balancing -# Jim Musgrave August 2002 -nati-svrloc 3580/udp # NATI-ServiceLocator -nati-svrloc 3580/tcp # NATI-ServiceLocator -# Jason Case August 2002 -kfxaclicensing 3581/udp # Ascent Capture Licensing -kfxaclicensing 3581/tcp # Ascent Capture Licensing -# Brad Hamilton August 2002 -press 3582/udp # PEG PRESS Server -press 3582/tcp # PEG PRESS Server -# Jim DeLisle August 2002 -canex-watch 3583/udp # CANEX Watch System -canex-watch 3583/tcp # CANEX Watch System -# Peter Kollath August 2002 -u-dbap 3584/udp # U-DBase Access Protocol -u-dbap 3584/tcp # U-DBase Access Protocol -# Bodo Rueskamp August 2002 -emprise-lls 3585/udp # Emprise License Server -emprise-lls 3585/tcp # Emprise License Server -emprise-lsc 3586/udp # License Server Console -emprise-lsc 3586/tcp # License Server Console -# James J. Diaz August 2002 -p2pgroup 3587/udp # Peer to Peer Grouping -p2pgroup 3587/tcp # Peer to Peer Grouping -# Igor Kostic August 2002 -sentinel 3588/udp # Sentinel Server -sentinel 3588/tcp # Sentinel Server -# Ian Gordon August 2002 -isomair 3589/udp # isomair -isomair 3589/tcp # isomair -# Richard Fleming August 2002 -wv-csp-sms 3590/udp # WV CSP SMS Binding -wv-csp-sms 3590/tcp # WV CSP SMS Binding -# Matti Salmi August 2002 -gtrack-server 3591/udp # LOCANIS G-TRACK Server -gtrack-server 3591/tcp # LOCANIS G-TRACK Server -gtrack-ne 3592/udp # LOCANIS G-TRACK NE Port -gtrack-ne 3592/tcp # LOCANIS G-TRACK NE Port -# Juergen.Edelhaeuser August 2002 -bpmd 3593/udp # BP Model Debugger -bpmd 3593/tcp # BP Model Debugger -# Keith Fligg September 2002 -mediaspace 3594/udp # MediaSpace -mediaspace 3594/tcp # MediaSpace -shareapp 3595/udp # ShareApp -shareapp 3595/tcp # ShareApp -# Jeff King September 2002 -iw-mmogame 3596/udp # Illusion Wireless MMOG -iw-mmogame 3596/tcp # Illusion Wireless MMOG -# Jan Vrsinsky September 2002 -a14 3597/udp # A14 (AN-to-SC/MM) -a14 3597/tcp # A14 (AN-to-SC/MM) -a15 3598/udp # A15 (AN-to-AN) -a15 3598/tcp # A15 (AN-to-AN) -# David Ott September 2002 -quasar-server 3599/udp # Quasar Accounting Server -quasar-server 3599/tcp # Quasar Accounting Server -# Brad Pepers September 2002 -trap-daemon 3600/udp # text relay-answer -trap-daemon 3600/tcp # text relay-answer -# John Willis September 2002 -visinet-gui 3601/udp # Visinet Gui -visinet-gui 3601/tcp # Visinet Gui -# Jeff Douglass September 2002 -infiniswitchcl 3602/udp # InfiniSwitch Mgr Client -infiniswitchcl 3602/tcp # InfiniSwitch Mgr Client -# Lee VanTine September 2002 -int-rcv-cntrl 3603/udp # Integrated Rcvr Control -int-rcv-cntrl 3603/tcp # Integrated Rcvr Control -# Dave Stone September 2002 -bmc-jmx-port 3604/udp # BMC JMX Port -bmc-jmx-port 3604/tcp # BMC JMX Port -# Mike Behne September 2002 -comcam-io 3605/udp # ComCam IO Port -comcam-io 3605/tcp # ComCam IO Port -# Don Gilbreath September 2002 -splitlock 3606/udp # Splitlock Server -splitlock 3606/tcp # Splitlock Server -# Andrew Tune September 2002 -precise-i3 3607/udp # Precise I3 -precise-i3 3607/tcp # Precise I3 -# Tomer Shain September 2002 -trendchip-dcp 3608/udp # Trendchip control protocol -trendchip-dcp 3608/tcp # Trendchip control protocol -# Ming-Jen Chen September 2002 -cpdi-pidas-cm 3609/udp # CPDI PIDAS Connection Mon -cpdi-pidas-cm 3609/tcp # CPDI PIDAS Connection Mon -# Tony Splaver September 2002 -echonet 3610/udp # ECHONET -echonet 3610/tcp # ECHONET -# Takeshi Saito September 2002 -six-degrees 3611/udp # Six Degrees Port -six-degrees 3611/tcp # Six Degrees Port -# Dan Hansen September 2002 -hp-dataprotect 3612/udp # HP Data Protector -hp-dataprotect 3612/tcp # HP Data Protector -# Stephen Gold September 2002 -alaris-disc 3613/udp # Alaris Device Discovery -alaris-disc 3613/tcp # Alaris Device Discovery -# Chris McAllen October 2002 -sigma-port 3614/udp # Invensys Sigma Port -sigma-port 3614/tcp # Invensys Sigma Port -# Dr. Sajed Husein October 2002 -start-network 3615/udp # Start Messaging Network -start-network 3615/tcp # Start Messaging Network -# Peter Rocca October 2002 -cd3o-protocol 3616/udp # cd3o Control Protocol -cd3o-protocol 3616/tcp # cd3o Control Protocol -# Chris Wilcox October 2002 -sharp-server 3617/udp # ATI SHARP Logic Engine -sharp-server 3617/tcp # ATI SHARP Logic Engine -# Bill Reveile -aairnet-1 3618/udp # AAIR-Network 1 -aairnet-1 3618/tcp # AAIR-Network 1 -aairnet-2 3619/udp # AAIR-Network 2 -aairnet-2 3619/tcp # AAIR-Network 2 -# James Mealey October 2002 -ep-pcp 3620/udp # EPSON Projector Control Port -ep-pcp 3620/tcp # EPSON Projector Control Port -ep-nsp 3621/udp # EPSON Network Screen Port -ep-nsp 3621/tcp # EPSON Network Screen Port -# SEIKO EPSON October 2002 -ff-lr-port 3622/udp # FF LAN Redundancy Port -ff-lr-port 3622/tcp # FF LAN Redundancy Port -# Fieldbus Foundation October 2002 -haipe-discover 3623/udp # HAIPIS Dynamic Discovery -haipe-discover 3623/tcp # HAIPIS Dynamic Discovery -# Mike Irani October 2002 -dist-upgrade 3624/udp # Distributed Upgrade Port -dist-upgrade 3624/tcp # Distributed Upgrade Port -# Jason Schoon October 2002 -volley 3625/udp # Volley -volley 3625/tcp # Volley -# David Catmull October 2002 -bvcdaemon-port 3626/udp # bvControl Daemon -bvcdaemon-port 3626/tcp # bvControl Daemon -# Ravi Gokhale October 2002 -jamserverport 3627/udp # Jam Server Port -jamserverport 3627/tcp # Jam Server Port -# Art Pope October 2002 -ept-machine 3628/udp # EPT Machine Interface -ept-machine 3628/tcp # EPT Machine Interface -# Victor H. Farrace October 2002 -escvpnet 3629/udp # ESC/VP.net -escvpnet 3629/tcp # ESC/VP.net -# Hiroyuki Hashimoto October 2002 -cs-remote-db 3630/udp # C&S Remote Database Port -cs-remote-db 3630/tcp # C&S Remote Database Port -cs-services 3631/udp # C&S Web Services Port -cs-services 3631/tcp # C&S Web Services Port -# Computer Software GmbH October 2002 -distcc 3632/udp # distributed complier -distcc 3632/tcp # distributed compiler -# Martin Pool November 2002 -wacp 3633/udp # Wyrnix AIS port -wacp 3633/tcp # Wyrnix AIS port -# Harry T. Vennik November 2002 -hlibmgr 3634/udp # hNTSP Library Manager -hlibmgr 3634/tcp # hNTSP Library Manager -# Kenji Tetsuyama November 2002 -sdo 3635/udp # Simple Distributed Objects -sdo 3635/tcp # Simple Distributed Objects -# Alexander Philippou November 2002 -opscenter 3636/udp # OpsCenter -opscenter 3636/tcp # OpsCenter -# Ralph Campbell November 2002 -scservp 3637/udp # Customer Service Port -scservp 3637/tcp # Customer Service Port -# Jonathan A. Zdziarski November 2002 -ehp-backup 3638/udp # EHP Backup Protocol -ehp-backup 3638/tcp # EHP Backup Protocol -# Ed Fair November 2002 -xap-ha 3639/udp # Extensible Automation -xap-ha 3639/tcp # Extensible Automation -# Mark Harrison November 2002 -netplay-port1 3640/udp # Netplay Port 1 -netplay-port1 3640/tcp # Netplay Port 1 -netplay-port2 3641/udp # Netplay Port 2 -netplay-port2 3641/tcp # Netplay Port 2 -# Predrag Filipovic November 2002 -juxml-port 3642/udp # Juxml Replication port -juxml-port 3642/tcp # Juxml Replication port -# Colin Reid November 2002 -audiojuggler 3643/udp # AudioJuggler -audiojuggler 3643/tcp # AudioJuggler -# Morten Mertner November 2002 -ssowatch 3644/udp # ssowatch -ssowatch 3644/tcp # ssowatch -# Stephane Vinsot November 2002 -cyc 3645/udp # Cyc -cyc 3645/tcp # Cyc -# Stephen Reed January 2003 -xss-srv-port 3646/udp # XSS Server Port -xss-srv-port 3646/tcp # XSS Server Port -# Joe Purcell January 2003 -splitlock-gw 3647/udp # Splitlock Gateway -splitlock-gw 3647/tcp # Splitlock Gateway -# Andrew Tune January 2003 -fjcp 3648/udp # Fujitsu Cooperation Port -fjcp 3648/tcp # Fujitsu Cooperation Port -# Kouji Sugisawa January 2003 -nmmp 3649/udp # Nishioka Miyuki Msg Protocol -nmmp 3649/tcp # Nishioka Miyuki Msg Protocol -# TAKEDA Hiroyuki January 2003 -prismiq-plugin 3650/udp # PRISMIQ VOD plug-in -prismiq-plugin 3650/tcp # PRISMIQ VOD plug-in -# Richard Hodges January 2003 -xrpc-registry 3651/udp # XRPC Registry -xrpc-registry 3651/tcp # XRPC Registry -# Slava Monich January 2003 -vxcrnbuport 3652/udp # VxCR NBU Default Port -vxcrnbuport 3652/tcp # VxCR NBU Default Port -# Boris Star January 2003 -tsp 3653/udp # Tunnel Setup Protocol -tsp 3653/tcp # Tunnel Setup Protocol -# Marc Blanchet January 2003 -vaprtm 3654/udp # VAP RealTime Messenger -vaprtm 3654/tcp # VAP RealTime Messenger -# Boris Polevoy January 2003 -abatemgr 3655/udp # ActiveBatch Exec Agent -abatemgr 3655/tcp # ActiveBatch Exec Agent -abatjss 3656/udp # ActiveBatch Job Scheduler -abatjss 3656/tcp # ActiveBatch Job Scheduler -# Ben Rosenberg January 2003 -immedianet-bcn 3657/udp # ImmediaNet Beacon -immedianet-bcn 3657/tcp # ImmediaNet Beacon -# Bill Homan January 2003 -ps-ams 3658/udp # PlayStation AMS (Secure) -ps-ams 3658/tcp # PlayStation AMS (Secure) -# Edgar Alan Tu January 2003 -apple-sasl 3659/udp # Apple SASL -apple-sasl 3659/tcp # Apple SASL -# David M. O'Rourke January 2003 -can-nds-ssl 3660/udp # Candle Directory Services using SSL -can-nds-ssl 3660/tcp # Candle Directory Services using SSL -can-ferret-ssl 3661/udp # Candle Directory Services using SSL -can-ferret-ssl 3661/tcp # Candle Directory Services using SSL -# Nic Catrambone January 2003 -pserver 3662/udp # pserver -pserver 3662/tcp # pserver -# Patrick Furlong January 2003 -dtp 3663/udp # DIRECWAY Tunnel Protocol -dtp 3663/tcp # DIRECWAY Tunnel Protocol -# Greg Gee January 2003 -ups-engine 3664/udp # UPS Engine Port -ups-engine 3664/tcp # UPS Engine Port -ent-engine 3665/udp # Enterprise Engine Port -ent-engine 3665/tcp # Enterprise Engine Port -# Mike Delgrosso January 2003 -eserver-pap 3666/udp # IBM EServer PAP -eserver-pap 3666/tcp # IBM eServer PAP -# Dave Gimpl January 2003 -infoexch 3667/udp # IBM Information Exchange -infoexch 3667/tcp # IBM Information Exchange -# Paul Ford-Hutchinson January 2003 -dell-rm-port 3668/udp # Dell Remote Management -dell-rm-port 3668/tcp # Dell Remote Management -# Bradley Bransom January 2003 -casanswmgmt 3669/udp # CA SAN Switch Management -casanswmgmt 3669/tcp # CA SAN Switch Management -# Emre Tunar January 2003 -smile 3670/udp # SMILE TCP/UDP Interface -smile 3670/tcp # SMILE TCP/UDP Interface -# Andre Petras January 2003 -efcp 3671/udp # e Field Control (EIBnet) -efcp 3671/tcp # e Field Control (EIBnet) -# Marc Goossens January 2003 -lispworks-orb 3672/udp # LispWorks ORB -lispworks-orb 3672/tcp # LispWorks ORB -# Lisp Support -mediavault-gui 3673/udp # Openview Media Vault GUI -mediavault-gui 3673/tcp # Openview Media Vault GUI -# Stephen Gold January 2003 -wininstall-ipc 3674/udp # WinINSTALL IPC Port -wininstall-ipc 3674/tcp # WinINSTALL IPC Port -# Bill Somerville January 2003 -calltrax 3675/udp # CallTrax Data Port -calltrax 3675/tcp # CallTrax Data Port -# Oliver Bailey January 2003 -va-pacbase 3676/udp # VisualAge Pacbase server -va-pacbase 3676/tcp # VisualAge Pacbase server -# Dominique Lelievre January 2003 -roverlog 3677/udp # RoverLog IPC -roverlog 3677/tcp # RoverLog IPC -# Tom Mayo January 2003 -ipr-dglt 3678/udp # DataGuardianLT -ipr-dglt 3678/tcp # DataGuardianLT -# Bruce Carlson January 2003 -newton-dock 3679/udp # Newton Dock -newton-dock 3679/tcp # Newton Dock -npds-tracker 3680/udp # NPDS Tracker -npds-tracker 3680/tcp # NPDS Tracker -# Paul Guyot January 2003 -bts-x73 3681/udp # BTS X73 Port -bts-x73 3681/tcp # BTS X73 Port -# Todd Cooper January 2003 -cas-mapi 3682/udp # EMC SmartPackets-MAPI -cas-mapi 3682/tcp # EMC SmartPackets-MAPI -# Koen Schoofs January 2003 -bmc-ea 3683/udp # BMC EDV/EA -bmc-ea 3683/tcp # BMC EDV/EA -# Jeffrey Glanz January 2003 -faxstfx-port 3684/udp # FAXstfX -faxstfx-port 3684/tcp # FAXstfX -# Alec Carlson January 2003 -dsx-agent 3685/udp # DS Expert Agent -dsx-agent 3685/tcp # DS Expert Agent -# NetPro Computing January 2003 -tnmpv2 3686/udp # Trivial Network Management -tnmpv2 3686/tcp # Trivial Network Management -# Andrea Premoli January 2003 -simple-push 3687/udp # simple-push -simple-push 3687/tcp # simple-push -simple-push-s 3688/udp # simple-push Secure -simple-push-s 3688/tcp # simple-push Secure -# C. Enrique Ortiz January 2003 -daap 3689/udp # Digital Audio Access Protocol -daap 3689/tcp # Digital Audio Access Protocol -# Amandeep Jawa January 2003 -svn 3690/udp # Subversion -svn 3690/tcp # Subversion -# Greg Hudson January 2003 -magaya-network 3691/udp # Magaya Network Port -magaya-network 3691/tcp # Magaya Network Port -# Jesus David Rodriguez February 2003 -intelsync 3692/udp # Brimstone IntelSync -intelsync 3692/tcp # Brimstone IntelSync -# Davey Taylor February 2003 -gttp 3693/udp # GTTP -gttp 3693/tcp # GTTP -vpncpp 3694/udp # VPN Cookie Prop Protocol -vpncpp 3694/tcp # VPN Cookie Prop Protocol -# Rondald P. Bonica February 2003 -bmc-data-coll 3695/udp # BMC Data Collection -bmc-data-coll 3695/tcp # BMC Data Collection -# Randall De Weerd February 2003 -telnetcpcd 3696/udp # Telnet Com Port Control -telnetcpcd 3696/tcp # Telnet Com Port Control -# Thomas J. Pinkl February 2003 -nw-license 3697/udp # NavisWorks Licnese System -nw-license 3697/tcp # NavisWorks License System -# Tim Wiegand February 2003 -sagectlpanel 3698/udp # SAGECTLPANEL -sagectlpanel 3698/tcp # SAGECTLPANEL -# Mark Gamble February 2003 -kpn-icw 3699/udp # Internet Call Waiting -kpn-icw 3699/tcp # Internet Call Waiting -# B.J. Kortekaas February 2003 -lrs-paging 3700/udp # LRS NetPage -lrs-paging 3700/tcp # LRS NetPage -# Geoffrey Wossum February 2003 -netcelera 3701/udp # NetCelera -netcelera 3701/tcp # NetCelera -# Tarek Nabhan February 2003 -upnp-discovery 3702/udp # UPNP v2 Discovery -upnp-discovery 3702/tcp # UPNP v2 Discovery -# Christian Huitema February 2003 -adobeserver-3 3703/udp # Adobe Server 3 -adobeserver-3 3703/tcp # Adobe Server 3 -adobeserver-4 3704/udp # Adobe Server 4 -adobeserver-4 3704/tcp # Adobe Server 4 -adobeserver-5 3705/udp # Adobe Server 5 -adobeserver-5 3705/tcp # Adobe Server 5 -# Frank Soetebeer January 2003 -rt-event 3706/udp # Real-Time Event Port -rt-event 3706/tcp # Real-Time Event Port -rt-event-s 3707/udp # Real-Time Event Secure Port -rt-event-s 3707/tcp # Real-Time Event Secure Port -# Terry Gin February 2003 -# 3708 Unassigned -ca-idms 3709/udp # CA-IDMS Server -ca-idms 3709/tcp # CA-IDMS Server -# Dave Ross -portgate-auth 3710/udp # PortGate Authentication -portgate-auth 3710/tcp # PortGate Authentication -# Scott Harris February 2003 -edb-server2 3711/udp # EBD Server 2 -edb-server2 3711/tcp # EBD Server 2 -# Carlos Portela February 2003 -sentinel-ent 3712/udp # Sentinel Enterprise -sentinel-ent 3712/tcp # Sentinel Enterprise -# Ian Gordon March 2003 -tftps 3713/udp # TFTP over TLS -tftps 3713/tcp # TFTP over TLS -# Mark mayernick March 2003 -delos-dms 3714/udp # DELOS Direct Messaging -delos-dms 3714/tcp # DELOS Direct Messaging -# Ekkehard Morgenstern March 2003 -anoto-rendezv 3715/udp # Anoto Rendezvous Port -anoto-rendezv 3715/tcp # Anoto Rendezvous Port -# Ola Sandstrom March 2003 -wv-csp-sms-cir 3716/udp # WV CSP SMS CIR Channel -wv-csp-sms-cir 3716/tcp # WV CSP SMS CIR Channel -wv-csp-udp-cir 3717/udp # WV CSP UDP/IP CIR Channel -wv-csp-udp-cir 3717/tcp # WV CSP UDP/IP CIR Channel -# Jon Ingi Ingimundarson March 2003 -opus-services 3718/udp # OPUS Server Port -opus-services 3718/tcp # OPUS Server Port -# Detlef Stoever March 2003 -itelserverport 3719/udp # iTel Server Port -itelserverport 3719/tcp # iTel Server Port -# Mark Hendricks March 2003 -ufastro-instr 3720/udp # UF Astro. Instr. Services -ufastro-instr 3720/tcp # UF Astro. Instr. Services -# David B. Hon March 2003 -xsync 3721/udp # Xsync -xsync 3721/tcp # Xsync -xserveraid 3722/udp # Xserver RAID -xserveraid 3722/tcp # Xserver RAID -# Bob Bradley March 2003 -sychrond 3723/udp # Sychron Service Daemon -sychrond 3723/tcp # Sychron Service Daemon -# Robert Marinelli March 2003 -battlenet 3724/udp # Blizzard Battlenet -battlenet 3724/tcp # Blizzard Battlenet -# Adrian Luff March 2003 -na-er-tip 3725/udp # Netia NA-ER Port -na-er-tip 3725/tcp # Netia NA-ER Port -# Jean-Pierre Garcia April 2003 -array-manager 3726/udp # Xyartex Array Manager -array-manager 3726/tcp # Xyratex Array Manager -# David A. Lethe April 2003 -e-mdu 3727/udp # Ericsson Mobile Data Unit -e-mdu 3727/tcp # Ericsson Mobile Data Unit -e-woa 3728/udp # Ericsson Web on Air -e-woa 3728/tcp # Ericsson Web on Air -# Marco Casole April 2003 -fksp-audit 3729/udp # Fireking Audit Port -fksp-audit 3729/tcp # Fireking Audit Port -# Richard Thurman April 2003 -client-ctrl 3730/udp # Client Control -client-ctrl 3730/tcp # Client Control -# Lawrence W. Dunn April 2003 -smap 3731/udp # Service Manager -smap 3731/tcp # Service Manager -m-wnn 3732/udp # Mobile Wnn -m-wnn 3732/tcp # Mobile Wnn -# Yasunari Yamashita April 2003 -multip-msg 3733/udp # Multipuesto Msg Port -multip-msg 3733/tcp # Multipuesto Msg Port -# Felisa Ares April 2003 -synel-data 3734/udp # Synel Data Collection Port -synel-data 3734/tcp # Synel Data Collection Port -# David Ashkenazi April 2003 -pwdis 3735/udp # Password Distribution -pwdis 3735/tcp # Password Distribution -# Robert Erl April 2003 -rs-rmi 3736/udp # RealSpace RMI -rs-rmi 3736/tcp # RealSpace RMI -# Barry McDarby April 2003 -# 3737 Unassigned (Removed 2003-02-26) -versatalk 3738/udp # versaTalk Server Port -versatalk 3738/tcp # versaTalk Server Port -# Dr. Kingsley C. Nwosu April 2003 -launchbird-lm 3739/udp # Launchbird LicenseManager -launchbird-lm 3739/tcp # Launchbird LicenseManager -# Tom Hawkins April 2003 -heartbeat 3740/udp # Heartbeat Protocol -heartbeat 3740/tcp # Heartbeat Protocol -# Jeroen Massar April 2003 -wysdma 3741/udp # WysDM Agent -wysdma 3741/tcp # WysDM Agent -# Jim McDonald April 2003 -cst-port 3742/udp # CST - Configuration & Service Tracker -cst-port 3742/tcp # CST - Configuration & Service Tracker -# Hai Ou-Yang April 2003 -ipcs-command 3743/udp # IP Control Systems Ltd. -ipcs-command 3743/tcp # IP Control Systems Ltd. -# Paul Anderson April 2003 -sasg 3744/udp # SASG -sasg 3744/tcp # SASG -# Cristian Petculescu April 2003 -gw-call-port 3745/udp # GWRTC Call Port -gw-call-port 3745/tcp # GWRTC Call Port -# Felisa Ares April 2003 -linktest 3746/udp # LXPRO.COM LinkTest -linktest 3746/tcp # LXPRO.COM LinkTest -linktest-s 3747/udp # LXPRO.COM LinkTest SSL -linktest-s 3747/tcp # LXPRO.COM LinkTest SSL -# Greg Bailey April 2003 -webdata 3748/udp # webData -webdata 3748/tcp # webData -# Michael Whiteley April 2003 -cimtrak 3749/udp # CimTrak -cimtrak 3749/tcp # CimTrak -cbos-ip-port 3750/udp # CBOS/IP ncapsalatoin port -cbos-ip-port 3750/tcp # CBOS/IP ncapsalation port -# Thomas Dannemiller April 2003 -gprs-cube 3751/udp # CommLinx GPRS Cube -gprs-cube 3751/tcp # CommLinx GPRS Cube -# Peter Johnson April 2003 -vipremoteagent 3752/udp # Vigil-IP RemoteAgent -vipremoteagent 3752/tcp # Vigil-IP RemoteAgent -# Bryan Alvord April 2003 -nattyserver 3753/udp # NattyServer Port -nattyserver 3753/tcp # NattyServer Port -# Akira Saito April 2003 -timestenbroker 3754/udp # TimesTen Broker Port -timestenbroker 3754/tcp # TimesTen Broker Port -# David Aspinwall April 2003 -sas-remote-hlp 3755/udp # SAS Remote Help Server -sas-remote-hlp 3755/tcp # SAS Remote Help Server -# Gary T. Ciampa April 2003 -canon-capt 3756/udp # Canon CAPT Port -canon-capt 3756/tcp # Canon CAPT Port -# Takashi Okazawa April 2003 -grf-port 3757/udp # GRF Server Port -grf-port 3757/tcp # GRF Server Port -# Robert Banfill April 2003 -apw-registry 3758/udp # apw RMI registry -apw-registry 3758/tcp # apw RMI registry -# Dan Davis April 2003 -exapt-lmgr 3759/udp # Exapt License Manager -exapt-lmgr 3759/tcp # Exapt License Manager -# Christoph Kukulies April 2003 -adtempusclient 3760/udp # adTEmpus Client -adtempusclient 3760/tcp # adTempus Client -# Bill Wingate May 2003 -gsakmp 3761/udp # gsakmp port -gsakmp 3761/tcp # gsakmp port -# Uri Meth June 2003 -gbs-smp 3762/udp # GBS SnapMail Protocol -gbs-smp 3762/tcp # GBS SnapMail Protocol -# Eric Harris-Braun June 2003 -xo-wave 3763/udp # XO Wave Control Port -xo-wave 3763/tcp # XO Wave Control Port -# Bjorn Dittmer-Roche June 2003 -mni-prot-rout 3764/udp # MNI Protected Routing -mni-prot-rout 3764/tcp # MNI Protected Routing -# Tim Behne June 2003 -rtraceroute 3765/udp # Remote Traceroute -rtraceroute 3765/tcp # Remote Traceroute -# A. Blake Cooper June 2003 -listmgr-port 3767/udp # ListMGR Port -listmgr-port 3767/tcp # ListMGR Port -# Takashi Kubota June 2003 -rblcheckd 3768/udp # rblcheckd server daemon -rblcheckd 3768/tcp # rblcheckd server daemon -# Sabri Berisha June 2003 -haipe-otnk 3769/udp # HAIPE Network Keying -haipe-otnk 3769/tcp # HAIPE Network Keying -# Mike Irani June 2003 -cindycollab 3770/udp # Cinderella Collaboration -cindycollab 3770/tcp # Cinderella Collaboration -# Ulrich Kortenkamp June 2003 -paging-port 3771/udp # RTP Paging Port -paging-port 3771/tdp # RTP Paging Port -# Patrick Ferriter June 2003 -ctp 3772/udp # Chantry Tunnel Protocol -ctp 3772/tcp # Chantry Tunnel Protocol -# Inderpreet Singh June 2003 -ctdhercules 3773/udp # ctdhercules -ctdhercules 3773/tcp # ctdhercules -# Carl Banzhof June 2003 -zicom 3774/udp # ZICOM -zicom 3774/tcp # ZICOM -# Sabu Das June 2003 -ispmmgr 3775/udp # ISPM Manager Port -ispmmgr 3775/tcp # ISPM Manager Port -# Eric Anderson June 2003 -# 3776 Unassigned -jibe-eb 3777/udp # Jibe EdgeBurst -jibe-eb 3777/tcp # Jibe EdgeBurst -# Chap Tippin June 2003 -c-h-it-port 3778/udp # Cutler-Hammer IT Port -c-h-it-port 3778/tcp # Cutler-Hammer IT Port -# Thomas Ruchti June 2003 -cognima 3779/udp # Cognima Replication -cognima 3779/tcp # Cognima Replication -# Raplh Grenwell June 2003 -nnp 3780/udp # Nuzzler Network Protocol -nnp 3780/tcp # Nuzzler Network Protocol -# Andreas Schwarz June 2003 -abcvoice-port 3781/udp # ABCvoice server port -abcvoice-port 3781/tcp # ABCvoice server port -# Carlos Gonzalez-Roman Ferrer June 2003 -iso-tp0s 3782/udp # Secure ISO TP0 port -iso-tp0s 3782/tcp # Secure ISO TP0 port -# Herbert Falk June 2003 -# 3783-3799 Unassigned -pwgpsi 3800/udp # Print Services Interface -pwgpsi 3800/tcp # Print Services Interface -# Harry Lewis May 2003 -# 3801 Unassigned -vhd 3802/udp # VHD -vhd 3802/tcp # VHD -# Chris Duncombe -# 3803-3844 Unassigned -v-one-spp 3845/udp # V-ONE Single Port Proxy -v-one-spp 3845/tcp # V-ONE Single Port Proxy -# Daniel Becker -# 3846-3860 Unassigned -winshadow-hd 3861/udp # winShadow Host Discovery -winshadow-hd 3861/tcp # winShadow Host Discovery -# Shu-Wei Tan March 2003 -giga-pocket 3862/udp # GIGA-POCKET -giga-pocket 3862/tcp # GIGA-POCKET -# Yoshikazu Watanabe -# 3863-3874 Unassigned -pnbscada 3875/udp # PNBSCADA -pnbscada 3875/tcp # PNBSCADA -# Philip N. Bergstresser -# 3876-3884 Unassigned -topflow-ssl 3885/udp # TopFlow SSL -topflow-ssl 3885/tcp # TopFlow SSL -# Ken Nelson -# 3886-3899 Unassigned -udt_os 3900/udp # Unidata UDT OS -udt_os 3900/tcp # Unidata UDT OS -# James Powell -# 3901-3938 Unassigned -aamp 3939/udp # Anti-virus Application Management Port -aamp 3939/tcp # Anti-virus Application Management Port -# In-sik Choi February 2002 -# 3940-3983 Unassigned -mapper-nodemgr 3984/udp # MAPPER network node manager -mapper-nodemgr 3984/tcp # MAPPER network node manager -mapper-mapethd 3985/udp # MAPPER TCP/IP server -mapper-mapethd 3985/tcp # MAPPER TCP/IP server -mapper-ws_ethd 3986/udp # MAPPER workstation server -mapper-ws_ethd 3986/tcp # MAPPER workstation server -# John C. Horton -centerline 3987/udp # Centerline -centerline 3987/tcp # Centerline -# Mark Simpson -# 3988-3999 Unassigned -terabase 4000/udp # Terabase -terabase 4000/tcp # Terabase -# Thor Olson -####### Potential Conflict of ports ################################ -####### PORT 4000 also used by ICQ ################### -newoak 4001/udp # NewOak -newoak 4001/tcp # NewOak -# Jim Philippou -pxc-spvr-ft 4002/udp # pxc-spvr-ft -pxc-spvr-ft 4002/tcp # pxc-spvr-ft -pxc-splr-ft 4003/udp # pxc-splr-ft -pxc-splr-ft 4003/tcp # pxc-splr-ft -pxc-roid 4004/udp # pxc-roid -pxc-roid 4004/tcp # pxc-roid -pxc-pin 4005/udp # pxc-pin -pxc-pin 4005/tcp # pxc-pin -pxc-spvr 4006/udp # pxc-spvr -pxc-spvr 4006/tcp # pxc-spvr -pxc-splr 4007/udp # pxc-splr -pxc-splr 4007/tcp # pxc-splr -# Dave Nesbitt -netcheque 4008/udp # NetCheque accounting -netcheque 4008/tcp # NetCheque accounting -# B. Clifford Neuman -chimera-hwm 4009/udp # Chimera HWM -chimera-hwm 4009/tcp # Chimera HWM -# Ken Anderson -samsung-unidex 4010/udp # Samsung Unidex -samsung-unidex 4010/tcp # Samsung Unidex -# Konstantin V. Vyaznikov -altserviceboot 4011/udp # Alternate Service Boot -altserviceboot 4011/tcp # Alternate Service Boot -# Eric Dittert -pda-gate 4012/udp # PDA Gate -pda-gate 4012/tcp # PDA Gate -# Masakuni Okada -acl-manager 4013/udp # ACL Manager -acl-manager 4013/tcp # ACL Manager -# Toru Murai -taiclock 4014/udp # TAICLOCK -taiclock 4014/tcp # TAICLOCK -# Dan Bernstein -talarian-mcast1 4015/udp # Talarian Mcast -talarian-mcast1 4015/tcp # Talarian Mcast -talarian-mcast2 4016/udp # Talarian Mcast -talarian-mcast2 4016/tcp # Talarian Mcast -talarian-mcast3 4017/udp # Talarian Mcast -talarian-mcast3 4017/tcp # Talarian Mcast -talarian-mcast4 4018/udp # Talarian Mcast -talarian-mcast4 4018/tcp # Talarian Mcast -talarian-mcast5 4019/udp # Talarian Mcast -talarian-mcast5 4019/tcp # Talarian Mcast -# Geoff Mendal -trap 4020/udp # TRAP Port -trap 4020/tcp # TRAP Port -# Jeffrey C. Byrd -nexus-portal 4021/udp # Nexus Portal -nexus-portal 4021/tcp # Nexus Portal -# Damian Tarnawsky -dnox 4022/udp # DNOX -dnox 4022/tcp # DNOX -# Leo Rathnayake -esnm-zoning 4023/udp # ESNM Zoning Port -esnm-zoning 4023/tcp # ESNM Zoning Port -# Yong Cai -tnp1-port 4024/udp # TNP1 User Port -tnp1-port 4024/tcp # TNP1 User Port -# Tony Gibbs -partimage 4025/udp # Partition Image Port -partimage 4025/tcp # Partition Image Port -# Franck Ladurelle -as-debug 4026/udp # Graphical Debug Server -as-debug 4026/tcp # Graphical Debug Server -# Steve Halverson -bxp 4027/udp # bitxpress -bxp 4027/tcp # bitxpress -# Morgan Doyle -dtserver-port 4028/udp # DTServer Port -dtserver-port 4028/tcp # DTServer Port -# Stephen Aikins -ip-qsig 4029/udp # IP Q signaling protocol -ip-qsig 4029/tcp # IP Q signaling protocol -# Toru Tachibana -jdmn-port 4030/udp # Accell/JSP Daemon Port -jdmn-port 4030/tcp # Accell/JSP Daemon Port -# Art Grand -suucp 4031/udp # UUCP over SSL -suucp 4031/tcp # UUCP over SSL -# Harald Welte -vrts-auth-port 4032/udp # VERITAS Authorization Service -vrts-auth-port 4032/tcp # VERITAS Authorization Service -# Stefan Winkel -sanavigator 4033/udp # SANavigator Peer Port -sanavigator 4033/tcp # SANavigator Peer Port -# Robert J. Chansler -ubxd 4034/udp # Ubiquinox Daemon -ubxd 4034/tcp # Ubiquinox Daemon -# Kit Smithers -wap-push-http 4035/udp # WAP Push OTA-HTTP port -wap-push-http 4035/tcp # WAP Push OTA-HTTP port -wap-push-https 4036/udp # WAP Push OTA-HTTP secure -wap-push-https 4036/tcp # WAP Push OTA-HTTP secure -# Matthieu Lachance -# -# 4037-4039 Unassigned -yo-main 4040/udp # Yo.net main service -yo-main 4040/tcp # Yo.net main service -# John Tintor -houston 4041/udp # Rocketeer-Houston -houston 4041/tcp # Rocketeer-Houston -# Johnny C. Norris II -ldxp 4042/udp # LDXP -ldxp 4042/tcp # LDXP -# Craig Calef -# 4043-4095 Unassigned -bre 4096/udp # BRE (Bridge Relay Element) -bre 4096/tcp # BRE (Bridge Relay Element) -# Stephen Egbert -patrolview 4097/udp # Patrol View -patrolview 4097/tcp # Patrol View -# Vincent Chin -drmsfsd 4098/udp # drmsfsd -drmsfsd 4098/tcp # drmsfsd -# Masao Iwai -dpcp 4099/udp # DPCP -dpcp 4099/tcp # DPCP -# John Croft -igo-incognito 4100/udp # IGo Incognito Data Port -igo-incognito 4100/tcp # IGo Incognito Data Port -# Paul Reddy February 2002 -# 4101-4110 Unassigned -xgrid 4111/tcp # Xgrid -xgrid 4111/udp # Xgrid -jomamqmonitor 4114/udp # JomaMQMonitor -jomamqmonitor 4114/tcp # JomaMQMonitor -# Marcel Hofstetter January 2003 -# 4115-4131 Unassigned -nuts_dem 4132/udp # NUTS Daemon -nuts_dem 4132/tcp # NUTS Daemon -nuts_bootp 4133/udp # NUTS Bootp Server -nuts_bootp 4133/tcp # NUTS Bootp Server -# Martin Freiss -nifty-hmi 4134/udp # NIFTY-Serve HMI protocol -nifty-hmi 4134/tcp # NIFTY-Serve HMI protocol -# Ryuichi Suzuki -# 4135-4137 Unassigned -nettest 4138/udp # nettest -nettest 4138/tcp # nettest -# David Borman March 2003 -# 4139-4140 Unassigned -oirtgsvc 4141/udp # Workflow Server -oirtgsvc 4141/tcp # Workflow Server -oidocsvc 4142/udp # Document Server -oidocsvc 4142/tcp # Document Server -oidsr 4143/udp # Document Replication -oidsr 4143/tcp # Document Replication -# Norman Brie -########## Compuserve (unoffically) is using port 4144 ######### -# 4144 Unassigned -vvr-control 4145/udp # VVR Control -vvr-control 4145/tcp # VVR Control -# Ming Xu -# 4146-4153 Unassigned -atlinks 4154/udp # atlinks device discovery -atlinks 4154/tcp # atlinks device discovery -# Scott Griepentrog October 2002 -# 4155-4159 Unassigned -jini-discovery 4160/udp # Jini Discovery -jini-discovery 4160/tcp # Jini Discovery -# Mark Hodapp -# 4161-4198 Unassigned -eims-admin 4199/udp # EIMS ADMIN -eims-admin 4199/tcp # EIMS ADMIN -# Glenn Anderson -# Mitra -corelccam 4300/udp # Corel CCam -corelccam 4300/tcp # Corel CCam -# Jason Aiken -# 4301-4320 Unassigned -rwhois 4321/udp # Remote Who Is -rwhois 4321/tcp # Remote Who Is -# Mark Kosters -unicall 4343/udp # UNICALL -unicall 4343/tcp # UNICALL -# James Powell -vinainstall 4344/udp # VinaInstall -vinainstall 4344/tcp # VinaInstall -# Jay Slupesky -m4-network-as 4345/udp # Macro 4 Network AS -m4-network-as 4345/tcp # Macro 4 Network AS -# Paul Wren -elanlm 4346/udp # ELAN LM -elanlm 4346/tcp # ELAN LM -# Paul Ballew -lansurveyor 4347/udp # LAN Surveyor -lansurveyor 4347/tcp # LAN Surveyor -# Michael Swan -itose 4348/udp # ITOSE -itose 4348/tcp # ITOSE -# Michael Haeuptle -fsportmap 4349/udp # File System Port Map -fsportmap 4349/tcp # File System Port Map -# Ron Minnich -net-device 4350/udp # Net Device -net-device 4350/tcp # Net Device -# Glenn Peterson -plcy-net-svcs 4351/udp # PLCY Net Services -plcy-net-svcs 4351/tcp # PLCY Net Services -# J.J. Ekstrom -# 4352 Unassigned -f5-iquery 4353/udp # F5 iQuery -f5-iquery 4353/tcp # F5 iQuery -# Tom Kee -qsnet-trans 4354/udp # QSNet Transmitter -qsnet-trans 4354/tcp # QSNet Transmitter -qsnet-workst 4355/udp # QSNet Workstation -qsnet-workst 4355/tcp # QSNet Workstation -qsnet-assist 4356/udp # QSNet Assistant -qsnet-assist 4356/tcp # QSNet Assistant -qsnet-cond 4357/udp # QSNet Conductor -qsnet-cond 4357/tcp # QSNet Conductor -qsnet-nucl 4358/udp # QSNet Nucleus -qsnet-nucl 4358/tcp # QSNet Nucleus -# Neer Kleinman -# 4359-4441 Unassigned -saris 4442/udp # Saris -saris 4442/tcp # Saris -pharos 4443/udp # Pharos -pharos 4443/tcp # Pharos -# TeleConsult GmbH, 76275 Ettlingen, Germany -# -krb524 4444/udp # KRB524 -krb524 4444/tcp # KRB524 -# B. Clifford Neuman -# PROBLEM krb524 assigned the port, -# PROBLEM nv used it without an assignment -nv-video 4444/udp # NV Video default -nv-video 4444/tcp # NV Video default -# Ron Frederick -upnotifyp 4445/udp # UPNOTIFYP -upnotifyp 4445/tcp # UPNOTIFYP -# Mark Fox -n1-fwp 4446/udp # N1-FWP -n1-fwp 4446/tcp # N1-FWP -n1-rmgmt 4447/udp # N1-RMGMT -n1-rmgmt 4447/tcp # N1-RMGMT -# Lori Tassin -asc-slmd 4448/udp # ASC Licence Manager -asc-slmd 4448/tcp # ASC Licence Manager -# Casper Stoel -privatewire 4449/udp # PrivateWire -privatewire 4449/tcp # PrivateWire -# Uri Resnitzky -camp 4450/udp # Camp -camp 4450/tcp # Camp -ctisystemmsg 4451/udp # CTI System Msg -ctisystemmsg 4451/tcp # CTI System Msg -ctiprogramload 4452/udp # CTI Program Load -ctiprogramload 4452/tcp # CTI Program Load -# Steven Cliff -nssalertmgr 4453/udp # NSS Alert Manager -nssalertmgr 4453/tcp # NSS Alert Manager -nssagentmgr 4454/udp # NSS Agent Manager -nssagentmgr 4454/tcp # NSS Agent Manager -# Jim Hill -prchat-user 4455/udp # PR Chat User -prchat-user 4455/tcp # PR Chat User -prchat-server 4456/udp # PR Chat Server -prchat-server 4456/tcp # PR Chat Server -prRegister 4457/udp # PR Register -prRegister 4457/tcp # PR Register -# Donny Gilor -# 4458-4499 Unassigned -ipsec-msft 4500/udp # Microsoft IPsec NAT-T -ipsec-msft 4500/tcp # Microsoft IPsec NAT-T -# Christian Huitema March 2002 -# 4501 De-registered (08 June 2001) -# IANA -# 4502-4544 Unassigned -worldscores 4545/udp # WorldScores -worldscores 4545/tcp # WorldScores -# Steve Davis -sf-lm 4546/udp # SF License Manager (Sentinel) -sf-lm 4546/tcp # SF License Manager (Sentinel) -# Thomas Koell -lanner-lm 4547/udp # Lanner License Manager -lanner-lm 4547/tcp # Lanner License Manager -# Les Enstone -# 4548-4554 Unassigned -rsip 4555/udp # RSIP Port -rsip 4555/tcp # RSIP Port -# RFC 3103 -# 4556-4558 Unassigned -hylafax 4559/udp # HylaFAX -hylafax 4559/tcp # HylaFAX -# Lee Howard March 2002 -# 4560-4566 Unassigned -tram 4567/udp # TRAM -tram 4567/tcp # TRAM -# Joe Wesley -bmc-reporting 4568/udp # BMC Reporting -bmc-reporting 4568/tcp # BMC Reporting -# Randall De Weerd -# 4569-4599 Unassigned -piranha1 4600/udp # Piranha1 -piranha1 4600/tcp # Piranha1 -piranha2 4601/udp # Piranha2 -piranha2 4601/tcp # Piranha2 -# Primark Corporation -# 4602-4659 Unassigned -smaclmgr 4660/udp # smaclmgr -smaclmgr 4660/tcp # smaclmgr -# Hiromi Taki -kar2ouche 4661/udp # Kar2ouche Peer location service -kar2ouche 4661/tcp # Kar2ouche Peer location service -# Andy Krouwel -# 4662-4671 Unassigned -rfa 4672/udp # remote file access server -rfa 4672/tcp # remote file access server -# 4673-4751 Unassigned -snap 4752/udp # Simple Network Audio Protocol -snap 4752/tcp # Simple Network Audio Protocol -# Dameon Wagner February 2002 -# 4753-4799 Unassigned -iims 4800/udp # Icona Instant Messenging System -iims 4800/tcp # Icona Instant Messenging System -iwec 4801/udp # Icona Web Embedded Chat -iwec 4801/tcp # Icona Web Embedded Chat -ilss 4802/udp # Icona License System Server -ilss 4802/tcp # Icona License System Server -# Paul Stephen Borlie -# 4803-4826 Unassigned -htcp 4827/udp # HTCP -htcp 4827/tcp # HTCP -# Paul Vixie -# 4828-4836 Unassigned -varadero-0 4837/udp # Varadero-0 -varadero-0 4837/tcp # Varadero-0 -varadero-1 4838/udp # Varadero-1 -varadero-1 4838/tcp # Varadero-1 -varadero-2 4839/udp # Varadero-2 -varadero-2 4839/tcp # Varadero-2 -# Carlos Arteaga -# 4840-4847 Unassigned -appserv-http 4848/udp # App Server - Admin HTTP -appserv-http 4848/tcp # App Server - Admin HTTP -appserv-https 4849/udp # App Server - Admin HTTPS -appserv-https 4849/tcp # App Server - Admin HTTPS -# Sreeram Duvvuru April 2002 -# 4850-4867 Unassigned -phrelay 4868/udp # Photon Relay -phrelay 4868/tcp # Photon Relay -phrelaydbg 4869/udp # Photon Relay Debug -phrelaydbg 4869/tcp # Photon Relay Debug -# Michael Hunter -# 4870-4884 Unassigned -abbs 4885/udp # ABBS -abbs 4885/tcp # ABBS -# Ryan Rubley -# 4886-4893 Unassigned -lyskom 4894/udp # LysKOM Protocol A -lyskom 4894/tcp # LysKOM Protocol A -# Per Cederqvist -# 4895-4898 Unassigned -radmin-port 4899/udp # RAdmin Port -radmin-port 4899/tcp # RAdmin Port -# Dmitri Znosko March 2003 -# 4900-4982 Unassigned -att-intercom 4983/udp # AT&T Intercom -att-intercom 4983/tcp # AT&T Intercom -# Tony Hansen -# 4984-4986 Unassigned -smar-se-port1 4987/udp # SMAR Ethernet Port 1 -smar-se-port1 4987/tcp # SMAR Ethernet Port 1 -smar-se-port2 4988/udp # SMAR Ethernet Port 2 -smar-se-port2 4988/tcp # SMAR Ethernet Port 2 -# Delcio Prizon -parallel 4989/udp # Parallel for GAUSS (tm) -parallel 4989/tcp # Parallel for GAUSS (tm) -# Matthew Ford March 2003 -# 4990-4999 Unassigned -commplex-main 5000/udp # -commplex-main 5000/tcp # -commplex-link 5001/udp # -commplex-link 5001/tcp # -rfe 5002/udp # radio free ethernet -rfe 5002/tcp # radio free ethernet -fmpro-internal 5003/udp # FileMaker, Inc. - Proprietary name binding -fmpro-internal 5003/tcp # FileMaker, Inc. - Proprietary transport -# Clay Maeckel -avt-profile-1 5004/udp # avt-profile-1 -avt-profile-1 5004/tcp # avt-profile-1 -avt-profile-2 5005/udp # avt-profile-2 -avt-profile-2 5005/tcp # avt-profile-2 -# Henning Schulzrinne -wsm-server 5006/udp # wsm server -wsm-server 5006/tcp # wsm server -wsm-server-ssl 5007/udp # wsm server ssl -wsm-server-ssl 5007/tcp # wsm server ssl -# Adam Berk -synapsis-edge 5008/udp # Synapsis EDGE -synapsis-edge 5008/tcp # Synapsis EDGE -# Paul Schilling -# 5009 Unassigned -telelpathstart 5010/udp # TelepathStart -telelpathstart 5010/tcp # TelepathStart -telelpathattack 5011/udp # TelepathAttack -telelpathattack 5011/tcp # TelepathAttack -# Helmuth Breitenfellner -# 5012-5019 Unassigned -zenginkyo-1 5020/udp # zenginkyo-1 -zenginkyo-1 5020/tcp # zenginkyo-1 -zenginkyo-2 5021/udp # zenginkyo-2 -zenginkyo-2 5021/tcp # zenginkyo-2 -# Masashi Suzaki -mice 5022/udp # mice server -mice 5022/tcp # mice server -# Alan Clifford -htuilsrv 5023/udp # Htuil Server for PLD2 -htuilsrv 5023/tcp # Htuil Server for PLD2 -# Dennis Reinhardt -scpi-telnet 5024/udp # SCPI-TELNET -scpi-telnet 5024/tcp # SCPI-TELNET -scpi-raw 5025/udp # SCPI-RAW -scpi-raw 5025/tcp # SCPI-RAW -# Ryan Columbus October 2002 -# 5026-5041 Unassigned -asnaacceler8db 5042/udp # asnaacceler8db -asnaacceler8db 5042/tcp # asnaacceler8db -# Walter Goodwin -# 5043-5049 Unassigned -mmcc 5050/udp # multimedia conference control tool -mmcc 5050/tcp # multimedia conference control tool -# Steve Casner -ita-agent 5051/udp # ITA Agent -ita-agent 5051/tcp # ITA Agent -ita-manager 5052/udp # ITA Manager -ita-manager 5052/tcp # ITA Manager -# Don Merrell -# 5053-5054 Unassigned -unot 5055/udp # UNOT -unot 5055/tcp # UNOT -# Gordon Mohr -intecom-ps1 5056/udp # Intecom PS 1 -intecom-ps1 5056/tcp # Intecom PS 1 -intecom-ps2 5057/udp # Intecom PS 2 -intecom-ps2 5057/tcp # Intecom PS 2 -# David Meermans -# 5058-5059 Unassigned -sip 5060/udp # SIP -sip 5060/tcp # SIP -sip-tls 5061/udp # SIP-TLS -sip-tls 5061/tcp # SIP-TLS -# Henning Schulzrinne -# 5062-5063 Unassigned -ca-1 5064/udp # Channel Access 1 -ca-1 5064/tcp # Channel Access 1 -ca-2 5065/udp # Channel Access 2 -ca-2 5065/tcp # Channel Access 2 -# Jeffrey Hill August 2002 -# 5066-5067 Unassigned -stanag-5066 5066/udp # STANAG-5066-SUBNET-INTF -stanag-5066 5066/tcp # STANAG-5066-SUBNET-INTF -# Donald G. Kallgren -# -# 5062-5068 Unassigned -i-net-2000-npr 5069/udp # I/Net 2000-NPR -i-net-2000-npr 5069/tcp # I/Net 2000-NPR -# Kenny Garrison -# 5070 Unassigned -powerschool 5071/udp # PowerSchool -powerschool 5071/tcp # PowerSchool -# Greg Porter -# 5072-5080 Unassigned -sdl-ets 5081/udp # SDL - Ent Trans Server -sdl-ets 5081/tcp # SDL - Ent Trans Server -# Marc Morin April 2002 -# 5082-5092 Unassigned -sentinel-lm 5093/udp # Sentinel LM -sentinel-lm 5093/tcp # Sentinel LM -# Derick Snyder -# 5094-5098 Unassigned -sentlm-srv2srv 5099/udp # SentLM Srv2Srv -sentlm-srv2srv 5099/tcp # SentLM Srv2Srv -# Derick Snyder -# 5100 Unassigned -talarian-udp 5101/udp # Talarian_UDP -talarian-tcp 5101/tcp # Talarian_TCP -# Leo Martins -# 5102-5136 Unassigned -ctsd 5137/udp # MyCTS server port -ctsd 5137/tcp # MyCTS server port -# Jilles Oldenbeuving June 2002 -# 5138-5144 Unassigned -rmonitor_secure 5145/udp # RMONITOR SECURE -rmonitor_secure 5145/tcp # RMONITOR SECURE -# Kory Hamzeh -# 5146-5149 Unassigned -atmp 5150/udp # Ascend Tunnel Management Protocol -atmp 5150/tcp # Ascend Tunnel Management Protocol -# Kory Hamzeh -esri_sde 5151/udp # ESRI SDE Remote Start -esri_sde 5151/tcp # ESRI SDE Instance -sde-discovery 5152/udp # ESRI SDE Instance Discovery -sde-discovery 5152/tcp # ESRI SDE Instance Discovery -# Peter Aronson -# 5153-5164 Unassigned -ife_icorp 5165/udp # ife_1corp -ife_icorp 5165/tcp # ife_1corp -# Paul Annala -# 5166-5189 Unassigned -aol 5190/udp # America-Online -aol 5190/tcp # America-Online -# Marty Lyons -aol-1 5191/udp # AmericaOnline1 -aol-1 5191/tcp # AmericaOnline1 -aol-2 5192/udp # AmericaOnline2 -aol-2 5192/tcp # AmericaOnline2 -aol-3 5193/udp # AmericaOnline3 -aol-3 5193/tcp # AmericaOnline3 -# Bruce Mackey -# 5194-5199 Unassigned -targus-getdata 5200/udp # TARGUS GetData -targus-getdata 5200/tcp # TARGUS GetData -targus-getdata1 5201/udp # TARGUS GetData 1 -targus-getdata1 5201/tcp # TARGUS GetData 1 -targus-getdata2 5202/udp # TARGUS GetData 2 -targus-getdata2 5202/tcp # TARGUS GetData 2 -targus-getdata3 5203/udp # TARGUS GetData 3 -targus-getdata3 5203/tcp # TARGUS GetData 3 -# John Keaveney -# 5204-5221 Unassigned -jabber-client 5222/udp # Jabber Client Connection -jabber-client 5222/tcp # Jabber Client Connection -# David Waite February 2002 -# 5223-5224 Unassigned -hp-server 5225/udp # HP Server -hp-server 5225/tcp # HP Server -hp-status 5226/udp # HP Status -hp-status 5226/tcp # HP Status -# Brett Green -# 5227-5235 Unassigned -padl2sim 5236/udp # -padl2sim 5236/tcp # -# 5237-5249 Unassigned -igateway 5250/udp # iGateway -igateway 5250/tcp # iGateway -# Greg Bodine February 2002 -# 5251-5263 Unassigned -3com-njack-1 5264/udp # 3Com Network Jack Port 1 -3com-njack-1 5264/tcp # 3Com Network Jack Port 1 -3com-njack-2 5265/udp # 3Com Network Jack Port 2 -3com-njack-2 5265/tcp # 3Com Network Jack Port 2 -# Abhay Rajaram March 2003 -# 5266-5268 Unassigned -jabber-server 5269/udp # Jabber Server Connection -jabber-server 5269/tcp # Jabber Server Connection -# David Waite February 2002 -# 5270-5271 Unassigned -pk 5272/udp # PK -pk 5272/tcp # PK -# Patrick Kara -# 5273-5281 Unassigned -transmit-port 5282/udp # Marimba Transmitter Port -transmit-port 5282/tcp # Marimba Transmitter Port -# Johan Eriksson April 2002 -# 5283-5299 Unassigned -hacl-hb 5300/udp # # HA cluster heartbeat -hacl-hb 5300/tcp # # HA cluster heartbeat -hacl-gs 5301/udp # # HA cluster general services -hacl-gs 5301/tcp # # HA cluster general services -hacl-cfg 5302/udp # # HA cluster configuration -hacl-cfg 5302/tcp # # HA cluster configuration -hacl-probe 5303/udp # # HA cluster probing -hacl-probe 5303/tcp # # HA cluster probing -hacl-local 5304/udp # -hacl-local 5304/tcp # # HA Cluster Commands -hacl-test 5305/udp # -hacl-test 5305/tcp # # HA Cluster Test -# Eric Soderberg -# Edward Yim -sun-mc-grp 5306/udp # Sun MC Group -sun-mc-grp 5306/tcp # Sun MC Group -# Michael DeMoney -sco-aip 5307/udp # SCO AIP -sco-aip 5307/tcp # SCO AIP -# Barrie Cooper -cfengine 5308/udp # CFengine -cfengine 5308/tcp # CFengine -# Mark Burgess -jprinter 5309/udp # J Printer -jprinter 5309/tcp # J Printer -# Ken Blackwell -outlaws 5310/udp # Outlaws -outlaws 5310/tcp # Outlaws -# Richard Fife -tmlogin 5311/udp # TM Login -tmlogin 5311/tcp # TM Login -# Eric Sharakan -# 5312-5313 Unassigned -opalis-rbt-ipc 5314/udp # opalis-rbt-ipc -opalis-rbt-ipc 5314/tcp # opalis-rbt-ipc -# Laurent Domenech -hacl-poll 5315/udp # HA Cluster UDP Polling -hacl-poll 5315/tcp # HA Cluster UDP Polling -# Hoa Nguyen -# 5316-5352 Unassigned -mdns 5353/udp # Multicast DNS -mdns 5353/tcp # Multicast DNS -# Stuart Cheshire -# 5354-5399 Unassigned -excerpt 5400/udp # Excerpt Search -excerpt 5400/tcp # Excerpt Search -excerpts 5401/udp # Excerpt Search Secure -excerpts 5401/tcp # Excerpt Search Secure -# John Hinsdale -mftp 5402/udp # MFTP -mftp 5402/tcp # MFTP -# Alan Rosenberg -hpoms-ci-lstn 5403/udp # HPOMS-CI-LSTN -hpoms-ci-lstn 5403/tcp # HPOMS-CI-LSTN -hpoms-dps-lstn 5404/udp # HPOMS-DPS-LSTN -hpoms-dps-lstn 5404/tcp # HPOMS-DPS-LSTN -# Harold Froehling -netsupport 5405/udp # NetSupport -netsupport 5405/tcp # NetSupport -# Paul Sanders -systemics-sox 5406/udp # Systemics Sox -systemics-sox 5406/tcp # Systemics Sox -# Gary Howland -foresyte-clear 5407/udp # Foresyte-Clear -foresyte-clear 5407/tcp # Foresyte-Clear -foresyte-sec 5408/udp # Foresyte-Sec -foresyte-sec 5408/tcp # Foresyte-Sec -# Jorge Aldana -salient-dtasrv 5409/udp # Salient Data Server -salient-dtasrv 5409/tcp # Salient Data Server -salient-usrmgr 5410/udp # Salient User Manager -salient-usrmgr 5410/tcp # Salient User Manager -# Richard Farnham -actnet 5411/udp # ActNet -actnet 5411/tcp # ActNet -# Simon Robillard -continuus 5412/udp # Continuus -continuus 5412/tcp # Continuus -# Steven Holtsberg -wwiotalk 5413/udp # WWIOTALK -wwiotalk 5413/tcp # WWIOTALK -# Roger Knobbe -statusd 5414/udp # StatusD -statusd 5414/tcp # StatusD -# Stephen Misel -ns-server 5415/udp # NS Server -ns-server 5415/tcp # NS Server -# Jeffrey Chiao -sns-gateway 5416/udp # SNS Gateway -sns-gateway 5416/tcp # SNS Gateway -sns-agent 5417/udp # SNS Agent -sns-agent 5417/tcp # SNS Agent -# Mary Holstage -mcntp 5418/udp # MCNTP -mcntp 5418/tcp # MCNTP -# Heiko Rupp -dj-ice 5419/udp # DJ-ICE -dj-ice 5419/tcp # DJ-ICE -# Don Tyson -cylink-c 5420/udp # Cylink-C -cylink-c 5420/tcp # Cylink-C -# John Jobe -netsupport2 5421/udp # Net Support 2 -netsupport2 5421/tcp # Net Support 2 -# Paul Sanders -salient-mux 5422/udp # Salient MUX -salient-mux 5422/tcp # Salient MUX -# Richard Farnham -virtualuser 5423/udp # VIRTUALUSER -virtualuser 5423/tcp # VIRTUALUSER -# Chad Williams -# 5424-5425 Unassigned -devbasic 5426/udp # DEVBASIC -devbasic 5426/tcp # DEVBASIC -# Curtis Smith -sco-peer-tta 5427/udp # SCO-PEER-TTA -sco-peer-tta 5427/tcp # SCO-PEER-TTA -# Andrew Shire -telaconsole 5428/udp # TELACONSOLE -telaconsole 5428/tcp # TELACONSOLE -# Joseph M. Newcomer -base 5429/udp # Billing and Accounting System Exchange -base 5429/tcp # Billing and Accounting System Exchange -# Odo Maletzki -radec-corp 5430/udp # RADEC CORP -radec-corp 5430/tcp # RADEC CORP -# David Chell -park-agent 5431/udp # PARK AGENT -park-agent 5431/tcp # PARK AGENT -# John Clifford -postgresql 5432/udp # PostgreSQL Database -postgresql 5432/tcp # PostgreSQL Database -# Tom Lane -# 5433-5434 Unassigned -dttl 5435/udp # Data Tunneling Transceiver Linking (DTTL) -dttl 5435/tcp # Data Tunneling Transceiver Linking (DTTL) -# Richard Olsen -# 5436-5453 Unassigned -apc-5454 5454/udp # APC 5454 -apc-5454 5454/tcp # APC 5454 -apc-5455 5455/udp # APC 5455 -apc-5455 5455/tcp # APC 5455 -apc-5456 5456/udp # APC 5456 -apc-5456 5456/tcp # APC 5456 -# American Power Conversion -# 5457-5460 Unassigned -silkmeter 5461/udp # SILKMETER -silkmeter 5461/tcp # SILKMETER -# Alexander Kotopoulis -ttl-publisher 5462/udp # TTL Publisher -ttl-publisher 5462/tcp # TTL Publisher -# Peter Jacobs -ttlpriceproxy 5463/udp # TTL Price Proxy -ttlpriceproxy 5463/tcp # TTL Price Proxy -# Peter Jacobs -# 5464 Unassigned -netops-broker 5465/udp # NETOPS-BROKER -netops-broker 5465/tcp # NETOPS-BROKER -# John R. Deuel -# 5466-5499 Unassigned -fcp-addr-srvr1 5500/udp # fcp-addr-srvr1 -fcp-addr-srvr1 5500/tcp # fcp-addr-srvr1 -fcp-addr-srvr2 5501/udp # fcp-addr-srvr2 -fcp-addr-srvr2 5501/tcp # fcp-addr-srvr2 -fcp-srvr-inst1 5502/udp # fcp-srvr-inst1 -fcp-srvr-inst1 5502/tcp # fcp-srvr-inst1 -fcp-srvr-inst2 5503/udp # fcp-srvr-inst2 -fcp-srvr-inst2 5503/tcp # fcp-srvr-inst2 -fcp-cics-gw1 5504/udp # fcp-cics-gw1 -fcp-cics-gw1 5504/tcp # fcp-cics-gw1 -# Mark Zeiss -# 5505-5552 Unassigned -sgi-eventmond 5553/udp # SGI Eventmond Port -sgi-eventmond 5553/tcp # SGI Eventmond Port -# Andrei Vilkotski June 2003 -sgi-esphttp 5554/udp # SGI ESP HTTP -sgi-esphttp 5554/tcp # SGI ESP HTTP -# Vladimir Legalov -############Port 5555 also used by HP Omniback##################### -personal-agent 5555/udp # Personal Agent -personal-agent 5555/tcp # Personal Agent -# Jackie Wu -################################################################### -# 5556-5565 Unassigned -udpplus 5566/udp # UDPPlus -udpplus 5566/tcp # UDPPlus -# Cody Gibson -# 5567-5598 Unassigned -esinstall 5599/udp # Enterprise Security Remote Install -esinstall 5599/tcp # Enterprise Security Remote Install -esmmanager 5600/udp # Enterprise Security Manager -esmmanager 5600/tcp # Enterprise Security Manager -esmagent 5601/udp # Enterprise Security Agent -esmagent 5601/tcp # Enterprise Security Agent -# Kimberly Gibbs -a1-msc 5602/udp # A1-MSC -a1-msc 5602/tcp # A1-MSC -a1-bs 5603/udp # A1-BS -a1-bs 5603/tcp # A1-BS -a3-sdunode 5604/udp # A3-SDUNode -a3-sdunode 5604/tcp # A3-SDUNode -a4-sdunode 5605/udp # A4-SDUNode -a4-sdunode 5605/tcp # A4-SDUNode -# Mike Dolan -# 5606-5630 Unassigned -pcanywheredata 5631/udp # pcANYWHEREdata -pcanywheredata 5631/tcp # pcANYWHEREdata -pcanywherestat 5632/udp # pcANYWHEREstat -pcanywherestat 5632/tcp # pcANYWHEREstat -# Jon Rosarky -# 5633-5672 Unassigned -jms 5673/udp # JACL Message Server -jms 5673/tcp # JACL Message Server -# Stuart Allen February 2002 -hyperscsi-port 5674/udp # HyperSCSI Port -hyperscsi-port 5674/tcp # HyperSCSI Port -# Data Storage Institute, Singapore -# February 2002 -v5ua 5675/udp # V5UA application port -v5ua 5675/tcp # V5UA application port -# Sanjay Rao February 2002 -raadmin 5676/udp # RA Administration -raadmin 5676/tcp # RA Administration -# Sergei Zjaikin February 2002 -questdb2-lnchr 5677/udp # Quest Central DB2 Launchr -questdb2-lnchr 5677/tcp # Quest Central DB2 Launchr -# Robert M. Mackowiak February 2002 -rrac 5678/udp # Remote Replication Agent Connection -rrac 5678/tcp # Remote Replication Agent Connection -dccm 5679/udp # Direct Cable Connect Manager -dccm 5679/tcp # Direct Cable Connect Manager -# Mark Miller -# 5680-5687 Unassigned -ggz 5688/udp # GGZ Gaming Zone -ggz 5688/tcp # GGZ Gaming Zone -# Josef Spillner January 2003 -# 5689-5712 Unassigned -proshareaudio 5713/udp # proshare conf audio -proshareaudio 5713/tcp # proshare conf audio -prosharevideo 5714/udp # proshare conf video -prosharevideo 5714/tcp # proshare conf video -prosharedata 5715/udp # proshare conf data -prosharedata 5715/tcp # proshare conf data -prosharerequest 5716/udp # proshare conf request -prosharerequest 5716/tcp # proshare conf request -prosharenotify 5717/udp # proshare conf notify -prosharenotify 5717/tcp # proshare conf notify -# -# 5718-5719 Unassigned -ms-licensing 5720/udp # MS-Licensing -ms-licensing 5720/tcp # MS-Licensing -# Thomas Lindeman November 2002 -# 5721-5728 Unassigned -openmail 5729/udp # Openmail User Agent Layer -openmail 5729/tcp # Openmail User Agent Layer -# OpenMail Encyclopedia -# Don Loughry -unieng 5730/udp # Steltor's calendar access -unieng 5730/tcp # Steltor's calendar access -# Bernard Desruisseaux -# 5731-5740 Unassigned -ida-discover1 5741/udp # IDA Discover Port 1 -ida-discover1 5741/tcp # IDA Discover Port 1 -ida-discover2 5742/udp # IDA Discover Port 2 -ida-discover2 5742/tcp # IDA Discover Port 2 -# MPITech Support -# 5743-5744 Unassigned -fcopy-server 5745/udp # fcopy-server -fcopy-server 5745/tcp # fcopy-server -fcopys-server 5746/udp # fcopys-server -fcopys-server 5746/tcp # fcopys-server -# Moshe Leibovitch opencyc@hpopd.pwd.hp.com> -# Don Loughry -# 5769-5770 Unassigned -netagent 5771/udp # NetAgent -netagent 5771/tcp # NetAgent -# Bradley Birnbaum -# 5772-5812 Unassigned -icmpd 5813/udp # ICMPD -icmpd 5813/tcp # ICMPD -# Shane O'Donnell -# 5814-5858 Unassigned -wherehoo 5859/udp # WHEREHOO -wherehoo 5859/tcp # WHEREHOO -# Jim Youll -# 5860-5967 Unassigned -mppolicy-v5 5968/udp # mppolicy-v5 -mppolicy-v5 5968/tcp # mppolicy-v5 -mppolicy-mgr 5969/udp # mppolicy-mgr -mppolicy-mgr 5969/tcp # mppolicy-mgr -# Yutaka Ono -# 5970-5986 Unassigned -wbem-rmi 5987/udp # WBEM RMI -wbem-rmi 5987/tcp # WBEM RMI -wbem-http 5988/udp # WBEM HTTP -wbem-http 5988/tcp # WBEM HTTP -# Jim Davis -wbem-https 5989/udp # WBEM HTTPS -wbem-https 5989/tcp # WBEM HTTPS -# Jim Davis -# 5990 Unassigned (Removed 2003-02-26) -nuxsl 5991/udp # NUXSL -nuxsl 5991/tcp # NUXSL -# Kai Kretschmann March 2002 -# 5992-5998 Unassigned -cvsup 5999/udp # CVSup -cvsup 5999/tcp # CVSup -# Randall Atkinson -# Stephen Gildea -ndl-ahp-svc 6064/udp # NDL-AHP-SVC -ndl-ahp-svc 6064/tcp # NDL-AHP-SVC -# John Richmond -winpharaoh 6065/udp # WinPharaoh -winpharaoh 6065/tcp # WinPharaoh -# Basil Lee -ewctsp 6066/udp # EWCTSP -ewctsp 6066/tcp # EWCTSP -# Mark Bailon -srb 6067/udp # SRB -srb 6067/tcp # SRB -# Heinz Naef -gsmp 6068/udp # GSMP -gsmp 6068/tcp # GSMP -# Avri Doria -trip 6069/udp # TRIP -trip 6069/tcp # TRIP -# Hussein F. Salama -messageasap 6070/udp # Messageasap -messageasap 6070/tcp # Messageasap -# Murray Freeman -ssdtp 6071/udp # SSDTP -ssdtp 6071/tcp # SSDTP -# Michael Shearson -diagnose-proc 6072/udp # DIAGNOSE-PROC -diagnose-proc 6072/tcp # DIAGNOSE-PROC -# Allan Miller -directplay8 6073/udp # DirectPlay8 -directplay8 6073/tcp # DirectPlay8 -# John Kane -# 6074-6084 Unassigned -konspire2b 6085/udp # konspire2b p2p network -konspire2b 6085/tcp # konspire2b p2p network -# Jason Rohrer October 2002 -# 6086-6099 Unassigned -synchronet-db 6100/udp # SynchroNet-db -synchronet-db 6100/tcp # SynchroNet-db -synchronet-rtc 6101/udp # SynchroNet-rtc -synchronet-rtc 6101/tcp # SynchroNet-rtc -synchronet-upd 6102/udp # SynchroNet-upd -synchronet-upd 6102/tcp # SynchroNet-upd -# Arne Haugland -rets 6103/udp # RETS -rets 6103/tcp # RETS -# Bruce Toback -dbdb 6104/udp # DBDB -dbdb 6104/tcp # DBDB -# Aaron Brick -primaserver 6105/udp # Prima Server -primaserver 6105/tcp # Prima Server -mpsserver 6106/udp # MPS Server -mpsserver 6106/tcp # MPS Server -# Prima Designs Systems Ltd. -etc-control 6107/udp # ETC Control -etc-control 6107/tcp # ETC Control -# Steve Polishinski -sercomm-scadmin 6108/udp # Sercomm-SCAdmin -sercomm-scadmin 6108/tcp # Sercomm-SCAdmin -# Melinda Tsao -globecast-id 6109/udp # GLOBECAST-ID -globecast-id 6109/tcp # GLOBECAST-ID -# Piers Scannell -softcm 6110/udp # HP SoftBench CM -softcm 6110/tcp # HP SoftBench CM -spc 6111/udp # HP SoftBench Sub-Process Control -spc 6111/tcp # HP SoftBench Sub-Process Control -# Scott A. Kramer -dtspcd 6112/udp # dtspcd -dtspcd 6112/tcp # dtspcd -# Doug Royer -# 6113-6122 Unassigned -backup-express 6123/udp # Backup Express -backup-express 6123/tcp # Backup Express -# Chi Shih Chang -# 6124-6140 Unassigned -meta-corp 6141/udp # Meta Corporation License Manager -meta-corp 6141/tcp # Meta Corporation License Manager -# Osamu Masuda <--none---> -aspentec-lm 6142/udp # Aspen Technology License Manager -aspentec-lm 6142/tcp # Aspen Technology License Manager -# Kevin Massey -watershed-lm 6143/udp # Watershed License Manager -watershed-lm 6143/tcp # Watershed License Manager -# David Ferrero -statsci1-lm 6144/udp # StatSci License Manager - 1 -statsci1-lm 6144/tcp # StatSci License Manager - 1 -statsci2-lm 6145/udp # StatSci License Manager - 2 -statsci2-lm 6145/tcp # StatSci License Manager - 2 -# Scott Blachowicz -lonewolf-lm 6146/udp # Lone Wolf Systems License Manager -lonewolf-lm 6146/tcp # Lone Wolf Systems License Manager -# Dan Klein -montage-lm 6147/udp # Montage License Manager -montage-lm 6147/tcp # Montage License Manager -# Michael Ubell -ricardo-lm 6148/udp # Ricardo North America License Manager -ricardo-lm 6148/tcp # Ricardo North America License Manager -# M Flemming -tal-pod 6149/udp # tal-pod -tal-pod 6149/tcp # tal-pod -# Steven Loomis -# 6150-6252 Unassigned -crip 6253/udp # CRIP -crip 6253/tcp # CRIP -# Mike Rodbell -# 6254-6299 Unassigned -bmc-grx 6300/udp # BMC GRX -bmc-grx 6300/tcp # BMC GRX -# Ed Penak -# 6301-6320 Unassigned -emp-server1 6321/udp # Empress Software Connectivity Server 1 -emp-server1 6321/tcp # Empress Software Connectivity Server 1 -emp-server2 6322/udp # Empress Software Connectivity Server 2 -emp-server2 6322/tcp # Empress Software Connectivity Server 2 -# Srdjan Holovac -# 6323-6342 Unassigned -sflow 6343/udp # sFlow traffic monitoring -sflow 6343/tcp # sFlow traffic monitoring -# Peter Phaal June 2003 -# 6344-6345 Unassigned -gnutella-svc 6346/udp # gnutella-svc -gnutella-svc 6346/tcp # gnutella-svc -gnutella-rtr 6347/udp # gnutella-rtr -gnutella-rtr 6347/tcp # gnutella-rtr -# Serguei Osokine -# 6348-6381 Unassigned -metatude-mds 6382/udp # Metatude Dialogue Server -metatude-mds 6382/tcp # Metatude Dialogue Server -# Menno Zweistra -# 6383-6388 Unassigned -clariion-evr01 6389/udp # clariion-evr01 -clariion-evr01 6389/tcp # clariion-evr01 -# Dave DesRoches -# 6390-6399 Unassigned -# The following blocks are in use by Seagate Software 6400-6410 # -# The previous ports are in use by Seagate Software 6400-6410 # -# Contact for these ports is Wade Richards -# 6411-6454 Unassigned -skip-cert-recv 6455/tcp # SKIP Certificate Receive -skip-cert-send 6456/tcp # SKIP Certificate Send -# Tom Markson -# 6457-6470 Unassigned -lvision-lm 6471/udp # LVision License Manager -lvision-lm 6471/tcp # LVision License Manager -# Brian McKinnon -# 6472-6499 Unassigned -boks 6500/udp # BoKS Master -boks 6500/tcp # BoKS Master -boks_servc 6501/udp # BoKS Servc -boks_servc 6501/tcp # BoKS Servc -boks_servm 6502/udp # BoKS Servm -boks_servm 6502/tcp # BoKS Servm -boks_clntd 6503/udp # BoKS Clntd -boks_clntd 6503/tcp # BoKS Clntd -# Magnus Nystrom -# 6504 Unassigned -badm_priv 6505/udp # BoKS Admin Private Port -badm_priv 6505/tcp # BoKS Admin Private Port -badm_pub 6506/udp # BoKS Admin Public Port -badm_pub 6506/tcp # BoKS Admin Public Port -bdir_priv 6507/udp # BoKS Dir Server, Private Port -bdir_priv 6507/tcp # BoKS Dir Server, Private Port -bdir_pub 6508/udp # BoKS Dir Server, Public Port -bdir_pub 6508/tcp # BoKS Dir Server, Public Port -# Magnus Nystrom -mgcs-mfp-port 6509/udp # MGCS-MFP Port -mgcs-mfp-port 6509/tcp # MGCS-MFP Port -# Minoru Ozaki -mcer-port 6510/udp # MCER Port -mcer-port 6510/tcp # MCER Port -# Ade Adebayo -# 6511-6542 Unassigned -lds-distrib 6543/udp # lds_distrib -lds-distrib 6543/tcp # lds_distrib -# Jack Baker June 2003 -# 6544-6546 Unassigned -apc-6547 6547/udp # APC 6547 -apc-6547 6547/tcp # APC 6547 -apc-6548 6548/udp # APC 6548 -apc-6548 6548/tcp # APC 6548 -apc-6549 6549/udp # APC 6549 -apc-6549 6549/tcp # APC 6549 -# American Power Conversion -fg-sysupdate 6550/udp # fg-sysupdate -fg-sysupdate 6550/tcp # fg-sysupdate -# Mark Beyer -# 6551-6557 Unassigned -xdsxdm 6558/udp # -xdsxdm 6558/tcp # -# Brian Tackett possible contact -# 6559-6565 Unassigned -sane-port 6566/udp # SANE Control Port -sane-port 6566/tcp # SANE Control Port -# Henning Meier-Geinitz October 2002 -# 6567-6579 Unassigned -parsec-master 6580/udp # Parsec Masterserver -parsec-master 6580/tcp # Parsec Masterserver -parsec-peer 6581/udp # Parsec Peer-to-Peer -parsec-peer 6581/tcp # Parsec Peer-to-Peer -parsec-game 6582/udp # Parsec Gameserver -parsec-game 6582/tcp # Parsec Gameserver -# Andreas Varga -# 6583-6587 Unassigned -# 6588 Unassigned -####Unofficial use of port 6588 by AnalogX and Microsoft#### -# 6589-6627 Unassigned -afesc-mc 6628/udp # AFE Stock Channel M/C -afesc-mc 6628/tcp # AFE Stock Channel M/C -# Timothy Tam March 2003 -# 6629-6630 Unassigned -mach 6631/udp # Mitchell telecom host -mach 6631/tcp # Mitchell telecom host -# Mark Derail March 2003 -# 6632-6664 Unassigned -# Brian Tackett -vocaltec-gold 6670/udp # Vocaltec Global Online Directory -vocaltec-gold 6670/tcp # Vocaltec Global Online Directory -# Scott Petrack -# 6671 Unassigned -vision_server 6672/udp # vision_server -vision_server 6672/tcp # vision_server -vision_elmd 6673/udp # vision_elmd -vision_elmd 6673/tcp # vision_elmd -# Chris Kramer -# 6674-6700 Unassigned -kti-icad-srvr 6701/udp # KTI/ICAD Nameserver -kti-icad-srvr 6701/tcp # KTI/ICAD Nameserver -# Stanley Knutson -# 6702-6713 Unassigned -ibprotocol 6714/udp # Internet Backplane Protocol -ibprotocol 6714/tcp # Internet Backplane Protocol -# Alessandro Bassi -# 6715-6766 Unassigned -bmc-perf-agent 6767/udp # BMC PERFORM AGENT -bmc-perf-agent 6767/tcp # BMC PERFORM AGENT -bmc-perf-mgrd 6768/udp # BMC PERFORM MGRD -bmc-perf-mgrd 6768/tcp # BMC PERFORM MGRD -# Dima Seliverstov -# 6769-6787 Unassigned -smc-http 6788/udp # SMC-HTTP -smc-http 6788/tcp # SMC-HTTP -# Ratnadeep Bhattacharjee November 2002 -smc-https 6789/udp # SMC-HTTPS -smc-https 6789/tcp # SMC-HTTPS -# Ratnadeep Bhattacharjee August 2002 -hnmp 6790/udp # HNMP -hnmp 6790/tcp # HNMP -# Jude George -# 6791-6830 Unassigned -ambit-lm 6831/udp # ambit-lm -ambit-lm 6831/tcp # ambit-lm -# Don Hejna -# 6832-6840 Unassigned -netmo-default 6841/udp # Netmo Default -netmo-default 6841/tcp # Netmo Default -netmo-http 6842/udp # Netmo HTTP -netmo-http 6842/tcp # Netmo HTTP -# Urs Bertschinger -# 6843-6849 Unassigned -iccrushmore 6850/udp # ICCRUSHMORE -iccrushmore 6850/tcp # ICCRUSHMORE -# Dave Hubbard -# 6851-6887 Unassigned -muse 6888/udp # MUSE -muse 6888/tcp # MUSE -# Muse Communications Corporation -# -# 6889-6960 Unassigned -jmact3 6961/udp # JMACT3 -jmact3 6961/tcp # JMACT3 -jmevt2 6962/udp # jmevt2 -jmevt2 6962/tcp # jmevt2 -swismgr1 6963/udp # swismgr1 -swismgr1 6963/tcp # swismgr1 -swismgr2 6964/udp # swismgr2 -swismgr2 6964/tcp # swismgr2 -swistrap 6965/udp # swistrap -swistrap 6965/tcp # swistrap -swispol 6966/udp # swispol -swispol 6966/tcp # swispol -# Yutaka Ono -# 6967-6968 Unassigned -acmsoda 6969/udp # acmsoda -acmsoda 6969/tcp # acmsoda -# Daniel Simms -# 6970-6997 Unassigned -iatp-highpri 6998/udp # IATP-highPri -iatp-highpri 6998/tcp # IATP-highPri -iatp-normalpri 6999/udp # IATP-normalPri -iatp-normalpri 6999/tcp # IATP-normalPri -# John Murphy -afs3-fileserver 7000/udp # file server itself -afs3-fileserver 7000/tcp # file server itself -afs3-callback 7001/udp # callbacks to cache managers -afs3-callback 7001/tcp # callbacks to cache managers -afs3-prserver 7002/udp # users & groups database -afs3-prserver 7002/tcp # users & groups database -afs3-vlserver 7003/udp # volume location database -afs3-vlserver 7003/tcp # volume location database -afs3-kaserver 7004/udp # AFS/Kerberos authentication service -afs3-kaserver 7004/tcp # AFS/Kerberos authentication service -afs3-volser 7005/udp # volume managment server -afs3-volser 7005/tcp # volume managment server -afs3-errors 7006/udp # error interpretation service -afs3-errors 7006/tcp # error interpretation service -afs3-bos 7007/udp # basic overseer process -afs3-bos 7007/tcp # basic overseer process -afs3-update 7008/udp # server-to-server updater -afs3-update 7008/tcp # server-to-server updater -afs3-rmtsys 7009/udp # remote cache manager service -afs3-rmtsys 7009/tcp # remote cache manager service -# -ups-onlinet 7010/udp # onlinet uninterruptable power supplies -ups-onlinet 7010/tcp # onlinet uninterruptable power supplies -# Brian Hammill -talon-disc 7011/udp # Talon Discovery Port -talon-disc 7011/tcp # Talon Discovery Port -talon-engine 7012/udp # Talon Engine -talon-engine 7012/tcp # Talon Engine -microtalon-dis 7013/udp # Microtalon Discovery -microtalon-dis 7013/tcp # Microtalon Discovery -microtalon-com 7014/udp # Microtalon Communications -microtalon-com 7014/tcp # Microtalon Communications -talon-webserver 7015/udp # Talon Webserver -talon-webserver 7015/tcp # Talon Webserver -# Jack Curtin -# 7016-7019 Unassigned -dpserve 7020/udp # DP Serve -dpserve 7020/tcp # DP Serve -dpserveadmin 7021/udp # DP Serve Admin -dpserveadmin 7021/tcp # DP Serve Admin -# Allan Stanley -# 7022-7029 Unassigned -op-probe 7030/udp # ObjectPlanet probe -op-probe 7030/tcp # ObjectPlanet probe -# Bjorn Jarle Kvande April 2002 -# 7031-7069 Unassigned -arcp 7070/udp # ARCP -arcp 7070/tcp # ARCP -# Jude George -# 7071-7098 Unassigned -lazy-ptop 7099/udp # lazy-ptop -lazy-ptop 7099/tcp # lazy-ptop -# Guy Keren -font-service 7100/udp # X Font Service -font-service 7100/tcp # X Font Service -# Stephen Gildea -# 7101-7120 Unassigned -virprot-lm 7121/udp # Virtual Prototypes License Manager -virprot-lm 7121/tcp # Virtual Prototypes License Manager -# Victor Galis -# 7122-7173 Unassigned -clutild 7174/udp # Clutild -clutild 7174/tcp # Clutild -# Cheryl Stoutenburg -# 7175-7199 Unassigned -fodms 7200/udp # FODMS FLIP -fodms 7200/tcp # FODMS FLIP -# David Anthony -dlip 7201/udp # DLIP -dlip 7201/tcp # DLIP -# Albert Manfredi -# 7202-7279 Unassigned -itactionserver1 7280/udp # ITACTIONSERVER 1 -itactionserver1 7280/tcp # ITACTIONSERVER 1 -itactionserver2 7281/udp # ITACTIONSERVER 2 -itactionserver2 7281/tcp # ITACTIONSERVER 2 -# Brian Taylor -# 7282-7299 Unassigned -# Edgar Blum -mindfilesys 7391/udp # mind-file system server -mindfilesys 7391/tcp # mind-file system server -mrssrendezvous 7392/udp # mrss-rendezvous server -mrssrendezvous 7392/tcp # mrss-rendezvous server -# Dave Porter -# 7393-7394 Unassigned -winqedit 7395/udp # winqedit -winqedit 7395/tcp # winqedit -# David Greer -# 7396-7425 Unassigned -pmdmgr 7426/udp # OpenView DM Postmaster Manager -pmdmgr 7426/tcp # OpenView DM Postmaster Manager -oveadmgr 7427/udp # OpenView DM Event Agent Manager -oveadmgr 7427/tcp # OpenView DM Event Agent Manager -ovladmgr 7428/udp # OpenView DM Log Agent Manager -ovladmgr 7428/tcp # OpenView DM Log Agent Manager -opi-sock 7429/udp # OpenView DM rqt communication -opi-sock 7429/tcp # OpenView DM rqt communication -xmpv7 7430/udp # OpenView DM xmpv7 api pipe -xmpv7 7430/tcp # OpenView DM xmpv7 api pipe -pmd 7431/udp # OpenView DM ovc/xmpv3 api pipe -pmd 7431/tcp # OpenView DM ovc/xmpv3 api pipe -# Dave Lamb -faximum 7437/udp # Faximum -faximum 7437/tcp # Faximum -# George Pajari -# 7438-7490 Unassigned -telops-lmd 7491/udp # telops-lmd -telops-lmd 7491/tcp # telops-lmd -# David Spencer -# 7492-7499 Unassigned -# 7500 Unassigned -ovbus 7501/udp # HP OpenView Bus Daemon -ovbus 7501/tcp # HP OpenView Bus Daemon -# David M. Rhodes -# 7502-7509 Unassigned -ovhpas 7510/udp # HP OpenView Application Server -ovhpas 7510/tcp # HP OpenView Application Server -# Jeff Conrad -pafec-lm 7511/udp # pafec-lm -pafec-lm 7511/tcp # pafec-lm -# Billy Dhillon -# 7512-7543 Unassigned -nta-ds 7544/udp # FlowAnalyzer DisplayServer -nta-ds 7544/tcp # FlowAnalyzer DisplayServer -nta-us 7545/udp # FlowAnalyzer UtilityServer -nta-us 7545/tcp # FlowAnalyzer UtilityServer -# Fred Messinger -# 7546-7565 Unassigned -vsi-omega 7566/udp # VSI Omega -vsi-omega 7566/tcp # VSI Omega -# Curtis Smith -# 7567-7569 Unassigned -aries-kfinder 7570/udp # Aries Kfinder -aries-kfinder 7570/tcp # Aries Kfinder -# James King, III -# 7571-7587 Unassigned -sun-lm 7588/udp # Sun License Manager -sun-lm 7588/tcp # Sun License Manager -# Sophie Deng -# 7589-7623 Unassigned -indi 7624/udp # Instrument Neutral Distributed Interface -indi 7624/tcp # Instrument Neutral Distributed Interface -# Elwood Downey April 2002 -# 7625-7632 Unassigned -pmdfmgt 7633/udp # PMDF Management -pmdfmgt 7633/tcp # PMDF Management -# Hunter Goatley -# 7634-7673 Unassigned -imqtunnels 7674/udp # iMQ SSL tunnel -imqtunnels 7674/tcp # iMQ SSL tunnel -imqtunnel 7675/udp # iMQ Tunnel -imqtunnel 7675/tcp # iMQ Tunnel -# Shailesh S. Bavadekar April 2002 -imqbrokerd 7676/udp # iMQ Broker Rendezvous -imqbrokerd 7676/tcp # iMQ Broker Rendezvous -# Joseph Di Pol April 2002 -# 7677-7742 Unassigned -sstp-1 7743/udp # Sakura Script Transfer Protocol -sstp-1 7743/tcp # Sakura Script Transfer Protocol -# Kouichi Takeda -# 7744-7776 Unassigned -cbt 7777/udp # cbt -cbt 7777/tcp # cbt -# Tony Ballardie -interwise 7778/udp # Interwise -interwise 7778/tcp # Interwise -# Joseph Gray -vstat 7779/udp # VSTAT -vstat 7779/tcp # VSTAT -# Vinh Nguyn -# 7780 Unassigned -accu-lmgr 7781/udp # accu-lmgr -accu-lmgr 7781/tcp # accu-lmgr -# Moises E. Hernandez -# 7782-7785 Unassigned -minivend 7786/udp # MINIVEND -minivend 7786/tcp # MINIVEND -# Mike Heins -# 7787-7796 Unassigned -pnet-conn 7797/udp # Propel Connector port -pnet-conn 7797/tcp # Propel Connector port -pnet-enc 7798/udp # Propel Encoder port -pnet-enc 7798/tcp # Propel Encoder port -# Leif Hedstrom April 2002 -# 7799-7844 Unassigned -apc-7845 7845/udp # APC 7845 -apc-7845 7845/tcp # APC 7845 -apc-7846 7846/udp # APC 7846 -apc-7846 7846/tcp # APC 7846 -# American Power Conversion -# 7847-7912 Unassigned -qo-secure 7913/udp # QuickObjects secure port -qo-secure 7913/tcp # QuickObjects secure port -# Jonas Bovin -# 7914-7931 Unassigned -t2-drm 7932/udp # Tier 2 Data Resource Manager -t2-drm 7932/tcp # Tier 2 Data Resource Manager -t2-brm 7933/udp # Tier 2 Business Rules Manager -t2-brm 7933/tcp # Tier 2 Business Rules Manager -# Peter Carlson -# 7934-7966 Unassigned -supercell 7967/udp # Supercell -supercell 7967/tcp # Supercell -# Kevin Nakagawa -# 7968-7978 Unassigned -micromuse-ncps 7979/udp # Micromuse-ncps -micromuse-ncps 7979/tcp # Micromuse-ncps -# Hing Wing To -quest-vista 7980/udp # Quest Vista -quest-vista 7980/tcp # Quest Vista -# Preston Bannister -# 7981-7998 Unassigned -irdmi2 7999/udp # iRDMI2 -irdmi2 7999/tcp # iRDMI2 -irdmi 8000/udp # iRDMI -irdmi 8000/tcp # iRDMI -# Gil Shafriri -vcom-tunnel 8001/udp # VCOM Tunnel -vcom-tunnel 8001/tcp # VCOM Tunnel -# Mark Lewandowski -teradataordbms 8002/udp # Teradata ORDBMS -teradataordbms 8002/tcp # Teradata ORDBMS -# Curt Ellmann -# 8003-8007 Unassigned -http-alt 8008/udp # HTTP Alternate -http-alt 8008/tcp # HTTP Alternate -# James Gettys -# 8009-8021 Unassigned -oa-system 8022/udp # oa-system -oa-system 8022/tcp # oa-system -# Denis Girault -# 8023-8031 Unassigned -pro-ed 8032/udp # ProEd -pro-ed 8032/tcp # ProEd -mindprint 8033/udp # MindPrint -mindprint 8033/tcp # MindPrint -# Larry Tusoni -# 8034-8079 Unassigned -http-alt 8080/udp # HTTP Alternate (see port 80) -http-alt 8080/tcp # HTTP Alternate (see port 80) -# Stephen Casner -# 8081-8087 Unassigned -radan-http 8088/udp # Radan HTTP -radan-http 8088/tcp # Radan HTTP -# Steve Hay April 2002 -# 8089-8099 Unassigned -xprint-server 8100/udp # Xprint Server -xprint-server 8100/tcp # Xprint Server -# John McKernan -# 8101-8114 Unassigned -mtl8000-matrix 8115/udp # MTL8000 Matrix -mtl8000-matrix 8115/tcp # MTL8000 Matrix -# David Pinch April 2002 -cp-cluster 8116/udp # Check Point Clustering -cp-cluster 8116/tcp # Check Point Clustering -# Roni Moshitzky -# 8117 Unassigned -privoxy 8118/udp # Privoxy HTTP proxy -privoxy 8118/tcp # Privoxy HTTP proxy -# Andreas Oesterhelt June 2002 -# 8119-8129 Unassigned -indigo-vrmi 8130/udp # INDIGO-VRMI -indigo-vrmi 8130/tcp # INDIGO-VRMI -indigo-vbcp 8131/udp # INDIGO-VBCP -indigo-vbcp 8131/tcp # INDIGO-VBCP -# Colin Caughie -dbabble 8132/udp # dbabble -dbabble 8132/tcp # dbabble -# Chris Pugmire -# 8133-8159 Unassigned -patrol 8160/udp # Patrol -patrol 8160/tcp # Patrol -patrol-snmp 8161/udp # Patrol SNMP -patrol-snmp 8161/tcp # Patrol SNMP -# Daisy Tam -# 8162-8198 Unassigned -vvr-data 8199/udp # VVR DATA -vvr-data 8199/tcp # VVR DATA -# Ming Xu -trivnet1 8200/udp # TRIVNET -trivnet1 8200/tcp # TRIVNET -trivnet2 8201/udp # TRIVNET -trivnet2 8201/tcp # TRIVNET -# Saar Wilf -# 8202-8203 Unassigned -lm-perfworks 8204/udp # LM Perfworks -lm-perfworks 8204/tcp # LM Perfworks -lm-instmgr 8205/udp # LM Instmgr -lm-instmgr 8205/tcp # LM Instmgr -lm-dta 8206/udp # LM Dta -lm-dta 8206/tcp # LM Dta -lm-sserver 8207/udp # LM SServer -lm-sserver 8207/tcp # LM SServer -lm-webwatcher 8208/udp # LM Webwatcher -lm-webwatcher 8208/tcp # LM Webwatcher -# Chris Flynn -# 8209-8350 Unassigned -server-find 8351/udp # Server Find -server-find 8351/tcp # Server Find -# Chris Brown -# 8352-8375 Unassigned -cruise-enum 8376/udp # Cruise ENUM -cruise-enum 8376/tcp # Cruise ENUM -cruise-swroute 8377/udp # Cruise SWROUTE -cruise-swroute 8377/tcp # Cruise SWROUTE -cruise-config 8378/udp # Cruise CONFIG -cruise-config 8378/tcp # Cruise CONFIG -cruise-diags 8379/udp # Cruise DIAGS -cruise-diags 8379/tcp # Cruise DIAGS -cruise-update 8380/udp # Cruise UPDATE -cruise-update 8380/tcp # Cruise UPDATE -# Steve Husak -# 8381-8399 Unassigned -cvd 8400/udp # cvd -cvd 8400/tcp # cvd -sabarsd 8401/udp # sabarsd -sabarsd 8401/tcp # sabarsd -abarsd 8402/udp # abarsd -abarsd 8402/tcp # abarsd -admind 8403/udp # admind -admind 8403/tcp # admind -# Aaron Bilbrey -# 8404-8415 Unassigned -espeech 8416/udp # eSpeech Session Protocol -espeech 8416/tcp # eSpeech Session Protocol -# Scott Tarone November 2002 -espeech-rtp 8417/udp # eSpeech RTP Protocol -espeech-rtp 8417/tcp # eSpeech RTP Protocol -# Scott Tarone April 2003 -# 8418-8442 Unassigned -pcsync-https 8443/udp # PCsync HTTPS -pcsync-https 8443/tcp # PCsync HTTPS -pcsync-http 8444/udp # PCsync HTTP -pcsync-http 8444/tcp # PCsync HTTP -# Katy Lynn McCullough -# 8445-8449 Unassigned -npmp 8450/udp # npmp -npmp 8450/tcp # npmp -# Ian Chard -# 8451-8472 Unassigned -vp2p 8473/udp # Virtual Point to Point -vp2p 8473/tcp # Virtual Point to Point -# Jerome Grimbert -# 8474-8553 Unassigned -rtsp-alt 8554/udp # RTSP Alternate (see port 554) -rtsp-alt 8554/tcp # RTSP Alternate (see port 554) -# Stephen Casner -d-fence 8555/udp # SYMAX D-FENCE -d-fence 8555/tcp # SYMAX D-FENCE -# Thomas Geisel January 2003 -# 8556-8667 Unassigned -natd 8668/divert # Network Address Translation -# 8669-8732 Unassigned -ibus 8733/udp # iBus -ibus 8733/tcp # iBus -# Silvano Maffeis -# 8734-8762 Unassigned -mc-appserver 8763/udp # MC-APPSERVER -mc-appserver 8763/tcp # MC-APPSERVER -# Romeo Kasanwidjojo -openqueue 8764/udp # OPENQUEUE -openqueue 8764/tcp # OPENQUEUE -# Matt Jensen -ultraseek-http 8765/udp # Ultraseek HTTP -ultraseek-http 8765/tcp # Ultraseek HTTP -# Walter Underwood -# 8766-8785 Unassigned -msgclnt 8786/udp # Message Client -msgclnt 8786/tcp # Message Client -msgsrvr 8787/udp # Message Server -msgsrvr 8787/tcp # Message Server -# Michael O'Brien March 2003 -# 8788-8803 Unassigned -truecm 8804/udp # truecm -truecm 8804/tcp # truecm -# Scott Kramer -# 8805-8879 -cddbp-alt 8880/udp # CDDBP -cddbp-alt 8880/tcp # CDDBP -# Steve Scherf -# 8881-8887 Unassigned -ddi-udp-1 8888/udp # NewsEDGE server UDP (UDP 1) -ddi-tcp-1 8888/tcp # NewsEDGE server TCP (TCP 1) -ddi-udp-2 8889/udp # NewsEDGE server broadcast -ddi-tcp-2 8889/tcp # Desktop Data TCP 1 -ddi-udp-3 8890/udp # NewsEDGE client broadcast -ddi-tcp-3 8890/tcp # Desktop Data TCP 2 -ddi-udp-4 8891/udp # Desktop Data UDP 3: NESS application -ddi-tcp-4 8891/tcp # Desktop Data TCP 3: NESS application -ddi-udp-5 8892/udp # Desktop Data UDP 4: FARM product -ddi-tcp-5 8892/tcp # Desktop Data TCP 4: FARM product -ddi-udp-6 8893/udp # Desktop Data UDP 5: NewsEDGE/Web application -ddi-tcp-6 8893/tcp # Desktop Data TCP 5: NewsEDGE/Web application -ddi-udp-7 8894/udp # Desktop Data UDP 6: COAL application -ddi-tcp-7 8894/tcp # Desktop Data TCP 6: COAL application -# Fred Yao -# 8895-8899 Unassigned -jmb-cds1 8900/udp # JMB-CDS 1 -jmb-cds1 8900/tcp # JMB-CDS 1 -jmb-cds2 8901/udp # JMB-CDS 2 -jmb-cds2 8901/tcp # JMB-CDS 2 -# Curtis Bray -# 8902-8909 Unassigned -manyone-http 8910/udp # manyone-http -manyone-http 8910/tcp # manyone-http -manyone-xml 8911/udp # manyone-xml -manyone-xml 8911/tcp # manyone-xml -# Matt King April 2002 -# 8912-8953 Unassigned -cumulus-admin 8954/udp # Cumulus Admin Port -cumulus-admin 8954/tcp # Cumulus Admin Port -# Thomas Schleu -# 8955-8998 Unassigned -bctp 8999/udp # Brodos Crypto Trade Protocol -bctp 8999/tcp # Brodos Crypto Trade Protocol -# Alexander Sahler February 2002 -cslistener 9000/udp # CSlistener -cslistener 9000/tcp # CSlistener -# David Jones -etlservicemgr 9001/udp # ETL Service Manager -etlservicemgr 9001/tcp # ETL Service Manager -# Stephen McCrea March 2002 -dynamid 9002/udp # DynamID authentication -dynamid 9002/tcp # DynamID authentication -# Jerome Dusautois March 2002 -# 9003-9005 Unassigned -# 9006 De-Commissioned Port 02/24/00, ms -# 9007-9019 Unassigned -tambora 9020/udp # TAMBORA -tambora 9020/tcp # TAMBORA -# Jason van Zyl March 2002 -panagolin-ident 9021/udp # Pangolin Identification -panagolin-ident 9021/tcp # Pangolin Identification -# William Benner March 2002 -paragent 9022/udp # PrivateArk Remote Agent -paragent 9022/tcp # PrivateArk Remote Agent -# Gal Cucuy March 2002 -swa-1 9023/udp # Secure Web Access - 1 -swa-1 9023/tcp # Secure Web Access - 1 -swa-2 9024/udp # Secure Web Access - 2 -swa-2 9024/tcp # Secure Web Access - 2 -swa-3 9025/udp # Secure Web Access - 3 -swa-3 9025/tcp # Secure Web Access - 3 -swa-4 9026/udp # Secure Web Access - 4 -swa-4 9026/tcp # Secure Web Access - 4 -# Tim McGranaghan -# 9027-9079 Unassigned -glrpc 9080/udp # Groove GLRPC -glrpc 9080/tcp # Groove GLRPC -# Adrian Popescu September 2002 -# 9081-9089 Unassigned -websm 9090/udp # WebSM -websm 9090/tcp # WebSM -# I-Hsing Tsao -xmltec-xmlmail 9091/udp # xmltec-xmlmail -xmltec-xmlmail 9091/tcp # xmltec-xmlmail -# Mitch Kaufman -# 9092-9099 Unassigned -hp-pdl-datastr 9100/udp # PDL Data Streaming Port -hp-pdl-datastr 9100/tcp # PDL Data Streaming Port -# Shivaun Albright April 2002 -#### The protocol name "pdl-datastream" is primarily registered for use #### -#### in DNS SRV records (RFC 2782). DNS SRV records allow a protocol to run on #### -#### any port number, but the default port for this protocol is 9100 ####. -pdl-datastream 9100/udp # Printer PDL Data Stream -pdl-datastream 9100/tcp # Printer PDL Data Stream -bacula-dir 9101/udp # Bacula Director -bacula-dir 9101/tcp # Bacula Director -bacula-fd 9102/udp # Bacula File Daemon -bacula-fd 9102/tcp # Bacula File Daemon -bacula-sd 9103/udp # Bacula Storage Daemon -bacula-sd 9103/tcp # Bacula Storage Daemon -# Kern Sibbald January 2002 -# 9104-9159 Unassigned -netlock1 9160/udp # NetLOCK1 -netlock1 9160/tcp # NetLOCK1 -netlock2 9161/udp # NetLOCK2 -netlock2 9161/tcp # NetLOCK2 -netlock3 9162/udp # NetLOCK3 -netlock3 9162/tcp # NetLOCK3 -netlock4 9163/udp # NetLOCK4 -netlock4 9163/tcp # NetLOCK4 -netlock5 9164/udp # NetLOCK5 -netlock5 9164/tcp # NetLOCK5 -# Steven Sawkins -# 9165-9199 Unassigned -wap-wsp 9200/udp # WAP connectionless session service -wap-wsp 9200/tcp # WAP connectionless session service -wap-wsp-wtp 9201/udp # WAP session service -wap-wsp-wtp 9201/tcp # WAP session service -wap-wsp-s 9202/udp # WAP secure connectionless session service -wap-wsp-s 9202/tcp # WAP secure connectionless session service -wap-wsp-wtp-s 9203/udp # WAP secure session service -wap-wsp-wtp-s 9203/tcp # WAP secure session service -wap-vcard 9204/udp # WAP vCard -wap-vcard 9204/tcp # WAP vCard -wap-vcal 9205/udp # WAP vCal -wap-vcal 9205/tcp # WAP vCal -wap-vcard-s 9206/udp # WAP vCard Secure -wap-vcard-s 9206/tcp # WAP vCard Secure -wap-vcal-s 9207/udp # WAP vCal Secure -wap-vcal-s 9207/tcp # WAP vCal Secure -# WAP Forum -# WAP Forum -# 9208-9209 Unassigned -lif-mlp 9210/udp # LIF Mobile Locn Protocol -lif-mlp 9210/tcp # LIF Mobile Locn Protocol -lif-mlp-s 9211/udp # LIF Mobile Locn Secure -lif-mlp-s 9211/tcp # LIF Mobile Locn Secure -# Location Interoperability Forum -# April 2002 -# 9212-9216 Unassigned -fsc-port 9217/udp # FSC Communication Port -fsc-port 9217/tcp # FSC Communication Port -# Teijo Mustonen March 2002 -# 9218-9280 Unassigned -swtp-port1 9281/udp # SofaWare transport port 1 -swtp-port1 9281/tcp # SofaWare transport port 1 -swtp-port2 9282/udp # SofaWare transport port 2 -swtp-port2 9282/tcp # SofaWare transport port 2 -# Amir Rapson February 2002 -callwaveiam 9283/udp # CallWaveIAM -callwaveiam 9283/tcp # CallWaveIAM -# Colin Kelley -visd 9284/udp # VERITAS Information Serve -visd 9284/tcp # VERITAS Information Serve -# Ravi Tavakely February 2002 -n2h2server 9285/udp # N2H2 Filter Service Port -n2h2server 9285/tcp # N2H2 Filter Service Port -# Jim Irwin February 2002 -# 9286 Unassigned -cumulus 9287/udp # Cumulus -cumulus 9287/tcp # Cumulus -# Thomas Schleu -# 9288-9291 Unassigned -armtechdaemon 9292/udp # ArmTech Daemon -armtechdaemon 9292/tcp # ArmTech Daemon -# Rohan Story -# 9293-9320 Unassigned -guibase 9321/udp # guibase -guibase 9321/tcp # guibase -# Yutaka Ono -# 9322-9342 Unassigned -mpidcmgr 9343/udp # MpIdcMgr -mpidcmgr 9343/tcp # MpIdcMgr -mphlpdmc 9344/udp # Mphlpdmc -mphlpdmc 9344/tcp # Mphlpdmc -# Yutaka Ono -# 9345 Unassigned -ctechlicensing 9346/udp # C Tech Licensing -ctechlicensing 9346/tcp # C Tech Licensing -# Reed Copsey, Jr. -# 9347-9373 Unassigned -fjdmimgr 9374/udp # fjdmimgr -fjdmimgr 9374/tcp # fjdmimgr -# Yutaka Ono -# 9375-9395 Unassigned -fjinvmgr 9396/udp # fjinvmgr -fjinvmgr 9396/tcp # fjinvmgr -mpidcagt 9397/udp # MpIdcAgt -mpidcagt 9397/tcp # MpIdcAgt -# Yutaka Ono -# 9398-9499 Unassigned -ismserver 9500/udp # ismserver -ismserver 9500/tcp # ismserver -# Ian Gordon -# 9501-9534 Unassigned -mngsuite 9535/udp # Management Suite Remote Control -mngsuite 9535/tcp # Management Suite Remote Control -# Alan Butt -# 9536-9593 Unassigned -msgsys 9594/udp # Message System -msgsys 9594/tcp # Message System -pds 9595/udp # Ping Discovery Service -pds 9595/tcp # Ping Discovery Service -# Alan Butt -# 9596-9599 Unassigned -micromuse-ncpw 9600/udp # MICROMUSE-NCPW -micromuse-ncpw 9600/tcp # MICROMUSE-NCPW -# Hing Wing To -# 9601-9611 Unassigned -streamcomm-ds 9612/udp # StreamComm User Directory -streamcomm-ds 9612/tcp # StreamComm User Directory -# Brian C. Wiles -# 9613-9746 Unassigned -l5nas-parchan 9747/udp # L5NAS Parallel Channel -l5nas-parchan 9747/tcp # L5NAS Parallel Channel -# Lawrence J. Dickson - Land-5 Corporation -# March 2002 -# 9748-9752 Unassigned -rasadv 9753/udp # rasadv -rasadv 9753/tcp # rasadv -# Dave Thaler -# 9754-9799 Unassigned -davsrc 9800/udp # WebDav Source Port -davsrc 9800/tcp # WebDav Source Port -# Ethan Fremen -sstp-2 9801/udp # Sakura Script Transfer Protocol-2 -sstp-2 9801/tcp # Sakura Script Transfer Protocol-2 -# Kouichi Takeda -# 9802-9874 Unassigned -sapv1 9875/udp # Session Announcement v1 -sapv1 9875/tcp # Session Announcement v1 -# RFC 2974 -sd 9876/udp # Session Director -sd 9876/tcp # Session Director -# Van Jacobson -cyborg-systems 9888/udp # CYBORG Systems -cyborg-systems 9888/tcp # CYBORG Systems -# Malcolm Graham -monkeycom 9898/udp # MonkeyCom -monkeycom 9898/tcp # MonkeyCom -# Yuji Kuwabara -sctp-tunneling 9899/udp # SCTP TUNNELING -sctp-tunneling 9899/tcp # SCTP TUNNELING -iua 9900/sctp # IUA -iua 9900/udp # IUA -iua 9900/tcp # IUA -# Lyndon Ong -# 9901-9908 Unassigned -domaintime 9909/udp # domaintime -domaintime 9909/tcp # domaintime -# Jeffry Dwight -# 9910 Unassigned -sype-transport 9911/udp # SYPECom Transport Protocol -sype-transport 9911/tcp # SYPECom Transport Protocol -# Sylvain Pedneault March 2003 -# 9912-9949 Unassigned -apc-9950 9950/udp # APC 9950 -apc-9950 9950/tcp # APC 9950 -apc-9951 9951/udp # APC 9951 -apc-9951 9951/tcp # APC 9951 -apc-9952 9952/udp # APC 9952 -apc-9952 9952/tcp # APC 9952 -# American Power Conversion -# 9953-9991 Unassigned -palace-1 9992/udp # OnLive-1 -palace-1 9992/tcp # OnLive-1 -palace-2 9993/udp # OnLive-2 -palace-2 9993/tcp # OnLive-2 -palace-3 9994/udp # OnLive-3 -palace-3 9994/tcp # OnLive-3 -palace-4 9995/udp # Palace-4 -palace-4 9995/tcp # Palace-4 -palace-5 9996/udp # Palace-5 -palace-5 9996/tcp # Palace-5 -palace-6 9997/udp # Palace-6 -palace-6 9997/tcp # Palace-6 -# Douglas Crockford -distinct32 9998/udp # Distinct32 -distinct32 9998/tcp # Distinct32 -distinct 9999/udp # distinct -distinct 9999/tcp # distinct -# Anoop Tewari -ndmp 10000/udp # Network Data Management Protocol -ndmp 10000/tcp # Network Data Management Protocol -# Brian Ehrmantraut -scp-config 10001/udp # SCP Configuration Port -scp-config 10001/tcp # SCP Configuration Port -# Brad Strand -# 10002-10006 Unassigned -mvs-capacity 10007/udp # MVS Capacity -mvs-capacity 10007/tcp # MVS Capacity -# Donna Dillenberger -octopus 10008/udp # Octopus Multiplexer -octopus 10008/tcp # Octopus Multiplexer -# Chris Koeritz October 2002 -# 10009-10079 Unassigned -amanda 10080/udp # Amanda -amanda 10080/tcp # Amanda -# John Jackson -# -# 10081-10100 Unassigned -ezmeeting-2 10101/udp # eZmeeting -ezmeeting-2 10101/tcp # eZmeeting -ezproxy-2 10102/udp # eZproxy -ezproxy-2 10102/tcp # eZproxy -ezrelay 10103/udp # eZrelay -ezrelay 10103/tcp # eZrelay -# Albert C. Yang March 2002 -# 10104-10112 Unassigned -netiq-endpoint 10113/udp # NetIQ Endpoint -netiq-endpoint 10113/tcp # NetIQ Endpoint -netiq-qcheck 10114/udp # NetIQ Qcheck -netiq-qcheck 10114/tcp # NetIQ Qcheck -# John Wood -netiq-endpt 10115/udp # NetIQ Endpoint -netiq-endpt 10115/tcp # NetIQ Endpoint -# Gary Weichinger -netiq-voipa 10116/udp # NetIQ VoIP Assessor -netiq-voipa 10116/tcp # NetIQ VoIP Assessor -# Gary Weichinger -# 10117-10127 Unassigned -bmc-perf-sd 10128/udp # BMC-PERFORM-SERVICE DAEMON -bmc-perf-sd 10128/tcp # BMC-PERFORM-SERVICE DAEMON -# Dima Seliverstov -# 10129-10259 Unassigned -axis-wimp-port 10260/udp # Axis WIMP Port -axis-wimp-port 10260/tcp # Axis WIMP Port -# Stefan Eriksson -# 10261-10287 Unassigned -blocks 10288/udp # Blocks -blocks 10288/tcp # Blocks -# Carl Malamud -# 10289-10989 Unassigned -rmiaux 10990/udp # Auxiliary RMI Port -rmiaux 10990/tcp # Auxiliary RMI Port -# Eugen Bacic -# 10991-10999 Unassigned -irisa 11000/udp # IRISA -irisa 11000/tcp # IRISA -# Vladimir Brauner -metasys 11001/udp # Metasys -metasys 11001/tcp # Metasys -# Tobin Schuster -# 11002-11110 Unassigned -vce 11111/udp # Viral Computing Environment (VCE) -vce 11111/tcp # Viral Computing Environment (VCE) -# Fred Cohen -# 11112-11200 Unassigned -smsqp 11201/udp # smsqp -smsqp 11201/tcp # smsqp -# Andres Seco Hernandez -# 11202-11318 Unassigned -imip 11319/udp # IMIP -imip 11319/tcp # IMIP -# IM Unified Coalition, Len Zuvela -# -imip-channels 11320/udp # IMIP Channels Port -imip-channels 11320/tcp # IMIP Channels Port -# Len Zuvela -arena-server 11321/udp # Arena Server Listen -arena-server 11321/tcp # Arena Server Listen -# Earl Brannigan -# 11322-11366 Unassigned -atm-uhas 11367/udp # ATM UHAS -atm-uhas 11367/tcp # ATM UHAS -# Todd Barker -# 11368-11370 Unassigned -hkp 11371/udp # OpenPGP HTTP Keyserver -hkp 11371/tcp # OpenPGP HTTP Keyserver -# David Shaw May 2003 -# 11372-11599 Unassigned -tempest-port 11600/udp # Tempest Protocol Port -tempest-port 11600/tcp # Tempest Protocol Port -# Francis Cianfrocca -# 11601-11719 Unassigned -h323callsigalt 11720/udp # h323 Call Signal Alternate -h323callsigalt 11720/tcp # h323 Call Signal Alternate -# Chris White -# 11721-11750 Unassigned -intrepid-ssl 11751/udp # Intrepid SSL -intrepid-ssl 11751/tcp # Intrepid SSL -# Robert Eden March 2003 -# 11752-11966 Unassigned -sysinfo-sp 11967/udp # SysInfo Sercice Protocol -sysinfo-sp 11967/tcp # SysInfo Service Protocol -# Mike Cooper March 2003 -# 11968-11999 Unassiged -entextxid 12000/udp # IBM Enterprise Extender SNA XID Exchange -entextxid 12000/tcp # IBM Enterprise Extender SNA XID Exchange -entextnetwk 12001/udp # IBM Enterprise Extender SNA COS Network Priority -entextnetwk 12001/tcp # IBM Enterprise Extender SNA COS Network Priority -entexthigh 12002/udp # IBM Enterprise Extender SNA COS High Priority -entexthigh 12002/tcp # IBM Enterprise Extender SNA COS High Priority -entextmed 12003/udp # IBM Enterprise Extender SNA COS Medium Priority -entextmed 12003/tcp # IBM Enterprise Extender SNA COS Medium Priority -entextlow 12004/udp # IBM Enterprise Extender SNA COS Low Priority -entextlow 12004/tcp # IBM Enterprise Extender SNA COS Low Priority -# Eugene Cox -dbisamserver1 12005/udp # DBISAM Database Server - Regular -dbisamserver1 12005/tcp # DBISAM Database Server - Regular -dbisamserver2 12006/udp # DBISAM Database Server - Admin -dbisamserver2 12006/tcp # DBISAM Database Server - Admin -# Tim Young May 2002 -# 12007-12108 Unassigned -rets-ssl 12109/udp # RETS over SSL -rets-ssl 12109/tcp # RETS over SSL -# Bruce Toback February 2003 -# 12110-12171 Unassigned -hivep 12172/udp # HiveP -hivep 12172/tcp # HiveP -# Dick Augustsson -# 12173-12344 Unassigned -italk 12345/udp # Italk Chat System -italk 12345/tcp # Italk Chat System -# Takayuki Ito -# 12346-12752 Unassigned -tsaf 12753/udp # tsaf port -tsaf 12753/tcp # tsaf port -# Andreas Fehr <100042.2070@CompuServe.COM> -# 12754-13159 Unassigned -i-zipqd 13160/udp # I-ZIPQD -i-zipqd 13160/tcp # I-ZIPQD -# Chuck Runquist -# 13161-13222 Unassigned -powwow-client 13223/udp # PowWow Client -powwow-client 13223/tcp # PowWow Client -powwow-server 13224/udp # PowWow Server -powwow-server 13224/tcp # PowWow Server -# Paul K. Peterson -# 13225-13719 Unassigned -bprd 13720/udp # BPRD Protocol (VERITAS NetBackup) -bprd 13720/tcp # BPRD Protocol (VERITAS NetBackup) -bpdbm 13721/udp # BPDBM Protocol (VERITAS NetBackup) -bpdbm 13721/tcp # BPDBM Protocol (VERITAS NetBackup) -# Jeff Holmbeck -bpjava-msvc 13722/udp # BP Java MSVC Protocol -bpjava-msvc 13722/tcp # BP Java MSVC Protocol -# Tim Schmidt -# 13723 Unassigned -vnetd 13724/udp # Veritas Network Utility -vnetd 13724/tcp # Veritas Network Utility -# Jeff Holmbeck -# 13725-13781 Unassigned -bpcd 13782/udp # VERITAS NetBackup -bpcd 13782/tcp # VERITAS NetBackup -vopied 13783/udp # VOPIED Protocol -vopied 13783/tcp # VOPIED Protocol -# Jeff Holmbeck -# 13784-13817 Unassigned -dsmcc-config 13818/udp # DSMCC Config -dsmcc-config 13818/tcp # DSMCC Config -dsmcc-session 13819/udp # DSMCC Session Messages -dsmcc-session 13819/tcp # DSMCC Session Messages -dsmcc-passthru 13820/udp # DSMCC Pass-Thru Messages -dsmcc-passthru 13820/tcp # DSMCC Pass-Thru Messages -dsmcc-download 13821/udp # DSMCC Download Protocol -dsmcc-download 13821/tcp # DSMCC Download Protocol -dsmcc-ccp 13822/udp # DSMCC Channel Change Protocol -dsmcc-ccp 13822/tcp # DSMCC Channel Change Protocol -# Tim Addington -# ISO/IEC 13818-6 MPEG-2 DSM-CC -# 13823-14000 Unassigned -sua 14001/sctp # SUA -sua 14001/udp # De-Registered (2001 June 06) -sua 14001/tcp # SUA -# Miguel Angel Garcia -# 14002-14032 Unassigned -sage-best-com1 14033/udp # sage Best! Config Server 1 -sage-best-com1 14033/tcp # sage Best! Config Server 1 -sage-best-com2 14034/udp # sage Best! Config Server 2 -sage-best-com2 14034/tcp # sage Best! Config Server 2 -# Christian Rubach -# 14035-14140 Unassigned -vcs-app 14141/udp # VCS Application -vcs-app 14141/tcp # VCS Application -# Ming Xu -# 14142-14144 Unassigned -gcm-app 14145/udp # GCM Application -gcm-app 14145/tcp # GCM Application -# Ming Xu -# 14146-14148 Unassigned -vrts-tdd 14149/udp # Veritas Traffic Director -vrts-tdd 14149/tcp # Veritas Traffic Director -# Sameer Deokule March 2002 -# 14150-14935 Unassigned -hde-lcesrvr-1 14936/udp # hde-lcesrvr-1 -hde-lcesrvr-1 14936/tcp # hde-lcesrvr-1 -hde-lcesrvr-2 14937/udp # hde-lcesrvr-2 -hde-lcesrvr-2 14937/tcp # hde-lcesrvr-2 -# Horizon Digital Enterprise, Inc. -# 14938-14999 Unassigned -hydap 15000/udp # Hypack Data Aquisition -hydap 15000/tcp # Hypack Data Aquisition -# Mircea Neacsu -# 15001-15344 Unassigned -xpilot 15345/udp # XPilot Contact Port -xpilot 15345/tcp # XPilot Contact Port -# Bert Gijsbers -# 15346-15362 Unassigned -3link 15363/udp # 3Link Negotiation -3link 15363/tcp # 3Link Negotiation -# Brant Thomsen January 2003 -# 15364-16359 Unassigned -netserialext1 16360/udp # netserialext1 -netserialext1 16360/tcp # netserialext1 -netserialext2 16361/udp # netserialext2 -netserialext2 16361/tcp # netserialext2 -# Mike Hoy -# 16362-16366 Unassigned -netserialext3 16367/udp # netserialext3 -netserialext3 16367/tcp # netserialext3 -netserialext4 16368/udp # netserialext4 -netserialext4 16368/tcp # netserialext4 -# Mike Hoy -# 16369-16990 Unassigned -intel-rci-mp 16991/udp # INTEL-RCI-MP -intel-rci-mp 16991/tcp # INTEL-RCI-MP -# Jane Dashevsky -# 16992-17006 Unassigned -isode-dua 17007/udp # -isode-dua 17007/tcp # -# 17008-17184 Unassigned -soundsvirtual 17185/udp # Sounds Virtual -soundsvirtual 17185/tcp # Sounds Virtual -# Richard Snider -# 17186-17218 Unassigned -chipper 17219/udp # Chipper -chipper 17219/tcp # Chipper -# Ronald Jimmink -# 17220-17999 Unassigned -biimenu 18000/udp # Beckman Instruments, Inc. -biimenu 18000/tcp # Beckman Instruments, Inc. -# R. L. Meyering -# 18001-18180 Unassigned -opsec-cvp 18181/udp # OPSEC CVP -opsec-cvp 18181/tcp # OPSEC CVP -opsec-ufp 18182/udp # OPSEC UFP -opsec-ufp 18182/tcp # OPSEC UFP -# Alon Kantor -opsec-sam 18183/udp # OPSEC SAM -opsec-sam 18183/tcp # OPSEC SAM -opsec-lea 18184/udp # OPSEC LEA -opsec-lea 18184/tcp # OPSEC LEA -opsec-omi 18185/udp # OPSEC OMI -opsec-omi 18185/tcp # OPSEC OMI -# Alon Kantor -# 18186 Unassigned -opsec-ela 18187/udp # OPSEC ELA -opsec-ela 18187/tcp # OPSEC ELA -# Alon Kantor -# 18188-18240 Unassigned -checkpoint-rtm 18241/udp # Check Point RTM -checkpoint-rtm 18241/tcp # Check Point RTM -# Dudi Hazan -# 18242-18462 Unassigned -ac-cluster 18463/udp # AC Cluster -ac-cluster 18463/tcp # AC Cluster -# Lisa Zhong -# 18464-18768 Unassigned -ique 18769/udp # IQue Protocol -ique 18769/tcp # IQue Protocol -# Avi Drissman July 2002 -# 18770-18887 Unassigned -apc-necmp 18888/udp # APCNECMP -apc-necmp 18888/tcp # APCNECMP -# Michael Yip -# 18889-19190 Unassigned -opsec-uaa 19191/udp # OPSEC UAA -opsec-uaa 19191/tcp # OPSEC UAA -# Reuven Harrison -# 19192-19193 Unassigned -ua-secureagent 19194/udp # UserAuthority SecureAgent -ua-secureagent 19194/tcp # UserAuthority SecureAgent -# Reuven Harrison January 2003 -# 19195-19282 Unassigned -keysrvr 19283/udp # Key Server for SASSAFRAS -keysrvr 19283/tcp # Key Server for SASSAFRAS -# Mark Valence -# 19284-19314 Unassigned -keyshadow 19315/udp # Key Shadow for SASSAFRAS -keyshadow 19315/tcp # Key Shadow for SASSAFRAS -# Mark Valence -# 19316-19397 Unassigned -mtrgtrans 19398/udp # mtrgtrans -mtrgtrans 19398/tcp # mtrgtrans -# Katsuhito Muroi -# 19399-19409 Unassigned -hp-sco 19410/udp # hp-sco -hp-sco 19410/tcp # hp-sco -hp-sca 19411/udp # hp-sca -hp-sca 19411/tcp # hp-sca -# Larry Schwartz -hp-sessmon 19412/udp # HP-SESSMON -hp-sessmon 19412/tcp # HP-SESSMON -# Gita Murthy -# 19413-19539 Unassigned -sxuptp 19540/udp # SXUPTP -sxuptp 19540/tcp # SXUPTP -# Keiji Okuma August 2002 -jcp 19541/udp # JCP Client -jcp 19541/tcp # JCP Client -# Yuji Sasaki -# 19542-19999 Unassigned -dnp 20000/udp # DNP -dnp 20000/tcp # DNP -# Michael Thesing -# 20001-20201 Unassigned -ipdtp-port 20202/udp # IPD Tunneling Port -ipdtp-port 20202/tcp # IPD Tunneling Port -# Vikki Yin Wei January 2003 -# 20203-20221 Unassigned -ipulse-ics 20222/udp # iPulse-ICS -ipulse-ics 20222/tcp # iPulse-ICS -# Meggie Garica-Woodruff -# 20223-20669 Unassigned -track 20670/udp # Track -track 20670/tcp # Track -# Michael Sweet -# 20671-20998 Unassigned -athand-mmp 20999/udp # AT Hand MMP -athand-mmp 20999/tcp # At Hand MMP -# Stepan Riha -# 20300-21589 Unassigned -vofr-gateway 21590/udp # VoFR Gateway -vofr-gateway 21590/tcp # VoFR Gateway -# Marty Borden -# 21591-21799 Unassigned -tvpm 21800/udp # TVNC Pro Multiplexing -tvpm 21800/tcp # TVNC Pro Multiplexing -# Brian Blevins -# 21801-21844 Unassigned -webphone 21845/udp # webphone -webphone 21845/tcp # webphone -netspeak-is 21846/udp # NetSpeak Corp. Directory Services -netspeak-is 21846/tcp # NetSpeak Corp. Directory Services -netspeak-cs 21847/udp # NetSpeak Corp. Connection Services -netspeak-cs 21847/tcp # NetSpeak Corp. Connection Services -netspeak-acd 21848/udp # NetSpeak Corp. Automatic Call Distribution -netspeak-acd 21848/tcp # NetSpeak Corp. Automatic Call Distribution -netspeak-cps 21849/udp # NetSpeak Corp. Credit Processing System -netspeak-cps 21849/tcp # NetSpeak Corp. Credit Processing System -# Toby Hosterman -# 21850-21999 Unassigned -snapenetio 22000/udp # SNAPenetIO -snapenetio 22000/tcp # SNAPenetIO -optocontrol 22001/udp # OptoControl -optocontrol 22001/tcp # OptoControl -# Kevin Kuhns -# 22002-22272 Unassigned -wnn6 22273/udp # wnn6 -wnn6 22273/tcp # wnn6 -# Yasunari Gon Yamasita Scott_Petrack@vocaltec.com> -# 22556-22799 Unassigned -aws-brf 22800/udp # Telerate Information Platform LAN -aws-brf 22800/tcp # Telerate Information Platform LAN -# Timo Sivonen -# 22801-22950 Unassigned -brf-gw 22951/udp # Telerate Information Platform WAN -brf-gw 22951/tcp # Telerate Information Platform WAN -# Timo Sivonen -# 22952-23999 Unassigned -med-ltp 24000/udp # med-ltp -med-ltp 24000/tcp # med-ltp -med-fsp-rx 24001/udp # med-fsp-rx -med-fsp-rx 24001/tcp # med-fsp-rx -med-fsp-tx 24002/udp # med-fsp-tx -med-fsp-tx 24002/tcp # med-fsp-tx -med-supp 24003/udp # med-supp -med-supp 24003/tcp # med-supp -med-ovw 24004/udp # med-ovw -med-ovw 24004/tcp # med-ovw -med-ci 24005/udp # med-ci -med-ci 24005/tcp # med-ci -med-net-svc 24006/udp # med-net-svc -med-net-svc 24006/tcp # med-net-svc -# Juergen Fischbach -# 24007-24241 Unassigned -filesphere 24242/udp # fileSphere -filesphere 24242/tcp # fileSphere -# Carl Cedergren -# 24243-24248 Unassigned -vista-4gl 24249/udp # Vista 4GL -vista-4gl 24249/tcp # Vista 4GL -# Mark Itzcovitz -# 24250-24385 Unassigned -intel_rci 24386/udp # Intel RCI -intel_rci 24386/tcp # Intel RCI -# Mark Lewis -# 24387-24553 Unassigned -binkp 24554/udp # BINKP -binkp 24554/tcp # BINKP -# Max Masyutin -# 24554-34676 Unassigned -flashfiler 24677/udp # FlashFiler -flashfiler 24677/tcp # FlashFiler -# Ben Oram -proactivate 24678/udp # Turbopower Proactivate -proactivate 24678/tcp # Turbopower Proactivate -# Ben Oram -# 24679-24921 Unassigned -snip 24922/udp # Simple Net Ident Protocol -snip 24922/tcp # Simple Net Ident Protocol -# Jean-Paul Moreaux -# -# 24923-24999 Unassigned -icl-twobase1 25000/udp # icl-twobase1 -icl-twobase1 25000/tcp # icl-twobase1 -icl-twobase2 25001/udp # icl-twobase2 -icl-twobase2 25001/tcp # icl-twobase2 -icl-twobase3 25002/udp # icl-twobase3 -icl-twobase3 25002/tcp # icl-twobase3 -icl-twobase4 25003/udp # icl-twobase4 -icl-twobase4 25003/tcp # icl-twobase4 -icl-twobase5 25004/udp # icl-twobase5 -icl-twobase5 25004/tcp # icl-twobase5 -icl-twobase6 25005/udp # icl-twobase6 -icl-twobase6 25005/tcp # icl-twobase6 -icl-twobase7 25006/udp # icl-twobase7 -icl-twobase7 25006/tcp # icl-twobase7 -icl-twobase8 25007/udp # icl-twobase8 -icl-twobase8 25007/tcp # icl-twobase8 -icl-twobase9 25008/udp # icl-twobase9 -icl-twobase9 25008/tcp # icl-twobase9 -icl-twobase10 25009/udp # icl-twobase10 -icl-twobase10 25009/tcp # icl-twobase10 -# J. A. (Tony) Sever -# 25010-25792 Unassigned -vocaltec-hos 25793/udp # Vocaltec Address Server -vocaltec-hos 25793/tcp # Vocaltec Address Server -# Scott Petrack -# 25794-25900 Unassigned -niobserver 25901/udp # NIObserver -niobserver 25901/tcp # NIObserver -# Roman Oliynyk -# 25902 Unassigned -niprobe 25903/udp # NIProbe -niprobe 25903/tcp # NIProbe -# Roman Oliynyk -# 25904-25999 Unassigned -quake 26000/udp # quake -quake 26000/tcp # quake -# Yasunari Gon Yamasita -# 26001-26207 Unassigned -wnn6-ds 26208/udp # wnn6-ds -wnn6-ds 26208/tcp # wnn6-ds -# Yasunari Gon Yamasita -# 26209-26259 Unassigned -ezproxy 26260/udp # eZproxy -ezproxy 26260/tcp # eZproxy -ezmeeting 26261/udp # eZmeeting -ezmeeting 26261/tcp # eZmeeting -# Albert C. Yang -k3software-svr 26262/udp # K3 Software-Server -k3software-svr 26262/tcp # K3 Software-Server -k3software-cli 26263/udp # K3 Software-Client -k3software-cli 26263/tcp # K3 Software-Client -# Jim Baldridge -gserver 26264/udp # Gserver -gserver 26264/tcp # Gserver -# Szanto Gabor -# 26265-26999 Unassigned -# Daniel Birns -# 27010-27344 Unassigned -imagepump 27345/udp # ImagePump -imagepump 27345/tcp # ImagePump -# Richard Minner -# 27346-27503 Unassigned -kopek-httphead 27504/udp # Kopek HTTP Head Port -kopek-httphead 27504/tcp # Kopek HTTP Head Port -# Sten H. Danielsen July 2002 -# 27505-27998 Unassigned -tw-auth-key 27999/udp # Attribute Certificate Services -tw-auth-key 27999/tcp # TW Authentication/Key Distribution and -# Alex Duncan -# 28000-30000 Unassigned -pago-services1 30001/udp # Pago Services 1 -pago-services1 30001/tcp # Pago Services 1 -pago-services2 30002/udp # Pago Services 2 -pago-services2 30002/tcp # Pago Services 2 -# Balduin Mueller-Platz -# March 2002 -# 30003-31415 Unassigned -xqosd 31416/udp # XQoS network monitor -xqosd 31416/tcp # XQoS network monitor -# Joe Elliott June 2002 -# 31417-31619 Unassigned -lm-mon 31620/udp # lm mon -lm-mon 31620/tcp # lm mon -# Mounir Hahad June 2003 -# 31621-31764 Unassigned -gamesmith-port 31765/udp # GameSmith Port -gamesmith-port 31765/tcp # GameSmith Port -# Randy Thompson August 2002 -# 31766-32767 Unassigned -filenet-tms 32768/udp # Filenet TMS -filenet-tms 32768/tcp # Filenet TMS -filenet-rpc 32769/udp # Filenet RPC -filenet-rpc 32769/tcp # Filenet RPC -filenet-nch 32770/udp # Filenet NCH -filenet-nch 32770/tcp # Filenet NCH -# Daniel Whelan -filenet-rmi 32771/udp # FileNet RMI -filenet-rmi 32771/tcp # FileNET RMI -# Chris Adkins -filenet-pa 32772/udp # FileNET Process Analyzer -filenet-pa 32772/tcp # FileNET Process Analyzer -# Chris Adkins January 2003 -# 32773-32895 Unassigned -idmgratm 32896/udp # Attachmate ID Manager -idmgratm 32896/tcp # Attachmate ID Manager -# George Gianelos March 2003 -# 32897-33330 Unassigned -diamondport 33331/udp # DiamondCentral Interface -diamondport 33331/tcp # DiamondCentral Interface -# Edward Browdy July 2002 -# 33332-33433 Unassigned -traceroute 33434/udp # traceroute use -traceroute 33434/tcp # traceroute use -# IANA -# 33435-34248 Unassigned -turbonote-2 34249/udp # TurboNote Relay Server Default Port -turbonote-2 34249/tcp # TurboNote Relay Server Default Port -# Peter Hyde -# 34250-36864 Unassigned -kastenxpipe 36865/udp # KastenX Pipe -kastenxpipe 36865/tcp # KastenX Pipe -# Guy Cheng -# 36866-37474 Unassigned -neckar 37475/udp # science + computing's Venus Administration Port -neckar 37475/tcp # science + computing's Venus Administration Port -# Ralf Allrutz February 2002 -# 37476-38200 Unassigned -galaxy7-data 38201/udp # Galaxy7 Data Tunnel -galaxy7-data 38201/tcp # Galaxy7 Data Tunnel -# Tatham Oddie September 2002 -# 38202-39680 Unassigned -turbonote-1 39681/udp # TurboNote Default Port -turbonote-1 39681/tcp # TurboNote Default Port -# Peter Hyde -# 39682-40840 Unassigned -cscp 40841/udp # CSCP -cscp 40841/tcp # CSCP -# Michael Dodge -csccredir 40842/udp # CSCCREDIR -csccredir 40842/tcp # CSCCREDIR -csccfirewall 40843/udp # CSCCFIREWALL -csccfirewall 40843/tcp # CSCCFIREWALL -# Sudhir Menon -# 40844-41110 Unassigned -fs-qos 41111/udp # Foursticks QoS Protocol -fs-qos 41111/tcp # Foursticks QoS Protocol -# Chee Kent Lam April 2002 -# 41112-41793 Unassigned -crestron-cip 41794/udp # Crestron Control Port -crestron-cip 41794/tcp # Crestron Control Port -crestron-ctp 41795/udp # Crestron Terminal Port -crestron-ctp 41795/tcp # Crestron Terminal Port -# Ed Ranney January 2003 -# 41796-43187 Unassigned -reachout 43188/udp # REACHOUT -reachout 43188/tcp # REACHOUT -ndm-agent-port 43189/udp # NDM-AGENT-PORT -ndm-agent-port 43189/tcp # NDM-AGENT-PORT -ip-provision 43190/udp # IP-PROVISION -ip-provision 43190/tcp # IP-PROVISION -# Roman Kriis -# 43191-44320 Unassigned -pmcd 44321/udp # PCP server (pmcd) -pmcd 44321/tcp # PCP server (pmcd) -# Ken McDonell June 2002 -# 44322-44817 Unassigned -rockwell-encap 44818/udp # Rockwell Encapsulation -rockwell-encap 44818/tcp # Rockwell Encapsulation -# Brian Batke -# 44819-45053 Unassigned -invision-ag 45054/udp # InVision AG -invision-ag 45054/tcp # InVision AG -# Matthias Schroer -# 45055-45677 Unassigned -eba 45678/udp # EBA PRISE -eba 45678/tcp # EBA PRISE -# Patrick Kara -# 45679-45965 Unassigned -ssr-servermgr 45966/udp # SSRServerMgr -ssr-servermgr 45966/tcp # SSRServerMgr -# Jeremy Gilliat -# 45967-46999 Unassigned -mbus 47000/udp # Message Bus -mbus 47000/tcp # Message Bus -# Dirk Kutscher -# 47001-47556 Unassigned -dbbrowse 47557/udp # Databeam Corporation -dbbrowse 47557/tcp # Databeam Corporation -# Cindy Martin -# 47558-47623 Unassigned -directplaysrvr 47624/udp # Direct Play Server -directplaysrvr 47624/tcp # Direct Play Server -# Ajay Jindal -# 47625-47805 Unassigned -ap 47806/udp # ALC Protocol -ap 47806/tcp # ALC Protocol -# Andrew Newton -# 47807 Unassigned -bacnet 47808/udp # Building Automation and Control Networks -bacnet 47808/tcp # Building Automation and Control Networks -# H. Michael Newman -# 47809-47999 Unassigned -nimcontroller 48000/udp # Nimbus Controller -nimcontroller 48000/tcp # Nimbus Controller -nimspooler 48001/udp # Nimbus Spooler -nimspooler 48001/tcp # Nimbus Spooler -nimhub 48002/udp # Nimbus Hub -nimhub 48002/tcp # Nimbus Hub -nimgtw 48003/udp # Nimbus Gateway -nimgtw 48003/tcp # Nimbus Gateway -# Carstein Seeberg -# 48004-48555 Unassigned -com-bardac-dw 48556/udp # com-bardac-dw -com-bardac-dw 48556/tcp # com-bardac-dw -# Nicholas J Howes -# 48557-49150 Unassigned -# 49151 IANA Reserved diff --git a/test/data/types/ssh_authorized_key/1 b/test/data/types/ssh_authorized_key/1 deleted file mode 100644 index 69d1af15e..000000000 --- a/test/data/types/ssh_authorized_key/1 +++ /dev/null @@ -1,2 +0,0 @@ -ssh-dss AAAAB3NzaC1kc3MAAACBAJkupmdsJSDXfUy5EU5NTRBDr9Woo3w0YnB8KmnJW9ghU8C7SkWPB1fIHVe+esFfd3qWBseb83PoFX63geZJAg6bjV4/Rdn1zEoa9EO2QyUdYUen4+rpsh3vVKZ6HFNsn3+W5+kPYgE1F/N4INqkbjY3sqCkP/W1BL9+sbVVbuJFAAAAFQCfjWDk5XhvGUkPjNWWVqltBYzHtwAAAIEAg/XL7ky7x9Ad5banzPFAfmM+DGFe0A/JEbLDjKmr5KBM5x4RFohtEvZ8ECuVGUOqBWdgAjyYwsG4oRVjLnKrf/rgmbNRzSFgEWkcAye3BVwk7Dt6hh4knEl+mNfOLq+FH0011UhecOiqTcESMzQDtgQ1vJh2VchElBLjl3x/ZugAAACAAh5jGQC338t5ObP8trSlOefkx0sXmmEzUbo3Mt8mGUuGJPx8m+X0L8Xd+l5rQxytqE3SmV/RD+6REqBuPqHM8RQuqAzfjdOeg/Ajdggx1CRMTVhltZsgQoxO30cz9Qo0SdPoL+Jp1fLuaLZq7m/RmsWYvoLT3jebBlpvvQE8YlI= francois.deppierraz@camptocamp.com -from="192.168.1.2",command="/usr/local/bin/backup.sh",no-agent-forwarding,no-port-forwarding,no-X11-forwarding ssh-rsa AAAAB3NzaC1kc3MAAACBAJkupmdsJSDXfUy5EU5NTRBDr9Woo3w0YnB8KmnJW9ghU8C7SkWPB1fIHVesG4oRVjLnKrf/rgmbNRzSFgEWkcAye3BVwk7Dt6hh4ksG4oRVjLnKrf/rgmbNRzSFgEWkcAye3BVwk7Dt6hh4ksG4oRVjLnKrf/rgmbNRzSFgEWkcAye3BVwk7Dt6hh4kxytqE3SmV/RD+6REqBuPqHM8RQuqAzfjdOeg/Ajdggx1CRMTVhltZsgQoxO30cz9Qo0SdPoL+Jp1fLuaL Backup system diff --git a/test/data/types/sshkey/1 b/test/data/types/sshkey/1 deleted file mode 100644 index 840ed19df..000000000 --- a/test/data/types/sshkey/1 +++ /dev/null @@ -1,21 +0,0 @@ -hosting2.planetargon.com,64.34.164.77 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAy+f2t52cDMrYkgEKQ6juqfMf/a0nDFry3JAzl+SAWQ0gTklVxNcVbfHx2pkZk66EBGQfrK33Bx1BflZ/iEDyiCwmzVtNba0X9A6ELYjB9WSkWdIqZCfPlKZMu9N//aZ6+3SDVuz/BVFsAVmtqQ4Let2QjOFiSIKXrtPqWvVT/MM= -kirby.madstop.com,192.168.0.5 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAw9iHuAa/wepHoUzWqsvhQvSkpE4K7agrdLOWHM9mvyRQ2X3HVq5GqzAvWu4J+f0FvcLPwA9tivpxt1oSt5MOtvDM6HoM+8m3P4daBp0nlNaYR8/vHCAmX6N3RyM8FWfp+VqWyux1SooQwxYxVFy86G78ApTqNsZ+p7cHmnBYqk0= -fedora1,192.168.0.51 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAyz1rKcApU4//j8CHYKexq4qnq2WVqLPrZYGnlij1t7FscLiDVKvBuRHVkfyTNIjAM/t7tM1Dj+FuD4iWziCmf7RO9q4wI5y/1zgCiSUegnZVSmH2yxnWGMdHGpXOkN3NXcpy6jylxyBo0M7T22PSezCxyUVfMclesjOEO1jETd0= -kirby ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAw9iHuAa/wepHoUzWqsvhQvSkpE4K7agrdLOWHM9mvyRQ2X3HVq5GqzAvWu4J+f0FvcLPwA9tivpxt1oSt5MOtvDM6HoM+8m3P4daBp0nlNaYR8/vHCAmX6N3RyM8FWfp+VqWyux1SooQwxYxVFy86G78ApTqNsZ+p7cHmnBYqk0= -sol10b,192.168.0.50 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAs37kiDwKxWqi6EfSdKwRaZXBwh2doOARRqZzyitBaPwESy26DwTx+xdQ2rwB4V2k1WIec+1f3bgTS2ArH75dQSPyba2HKqxaSRBd3Zh4z23+uUxpupEyoRdW1HolMOvuoceheSMsruiuYcuiyct41d4c/Qmr51Dv04Doi00k6Ws= -piratehaven.org,64.81.59.88 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEA7TYRRkle0wDNohZ0TNZN6R1Zp0svxgX+GJ9umI5yNM1bMxUTgeNRh5nIvZg1HgD1WRXQ57dSxxLzbvRyAqc245g6S8eWWCtenvOFLl0rOF5D3VxbQuw79sOe8/Ac8TC+c8RuWB7aaxpwL5Rv9xfDeazOtoKXj7+uwQW1PUmTaEM= -atalanta,192.168.0.10 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAysniuWiJH6OQLXl63XXcS1b/hP2lAgSz0IutjQ6ZUfBrt1BZ8udEgSh57w5QDLsZ1lNvND61u5cy6iDKXI5TIQY4DvUmsoFZhyr4iYJbtT/h6UJSyaZtEnA7ZMRjGhUIMOn+mjbj7Z3zmJMhxtImK3Xo3O2fJ1hnK4jsBwQPSLc= -pixie,192.168.0.9 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAzDp588CvET6w11LB2s/vPjc4tX9+u46iYJgNFfhzxrXYMVv4GF7d30IXB5+Hwyi2FOQIG1+h0kUXVGWEv64rAFBT7pD2KMFX0lcDERV4avqT0TRDIIA5OqFOhq9Ff+kOmHS2cB7eFyR5vqbN4ujOnJGTmru9dcqyL+2AcFekvh0= -culain,192.168.0.3 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAvJ/IORhQMdAsJ7LB1sI2LlWUHc7HPTCDiEgJ96ij3jFvqaIiYieRFaNkxbbk75mPkj3vIqWIgAsAtHmKX4wDikNG/gyjs4WM4cWFKtl2jiVhqpoxqqCaVxs6Ex+vpKuKhQR6SzFBFDlBZYP9an6DPu1msTLT8/hZH2WwswVmpyU= -cs312-server.een.orst.edu,128.193.40.66 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEA+t3hsOiyp1mztt013bLdJqIAFCo8lxlz86MYEPz/mADHzWLs3Xv7xpAUv/E8pRbhEOzXo84EddORRBXz6DgVyMah8+v/u3IOkpXuZI0Iu1n5hZyf2l5DGEyGecr3oqqjUdMuM9HeXFLnqXJI3hDE7civBtqf5AJSol+TCcipeE8= -freebsd1,192.168.0.52 ssh-dss AAAAB3NzaC1kc3MAAACBAJSiOyQhYlKAi0FDLKy42VzLDq6yJWXGXVCLSfgWyVx7QCq/3+W3C1dtHuAvjbypcjqqvsuGGITgQ1Y6B/+76n5d7FyQnj4SFZ5drOBn/TvslXhrS/Ok5KCcndfNAa+EyMnSZJ21jhoRjZftY4lmb4hy6fEF3RvjuOdf1qBN5FWpAAAAFQDcsWF0zELAW6YUlSjAyO0T0lfPbwAAAIAlOLdOd/WszzVaplCOnH5vF6LWfr6BosZKDkFi0mv6Ec636YGaj4AMxK8sRPusHv6sVByN17ntIJnLo2XD1SuoH28bZ0ZnPIdVnd0l1KqsOCuuow9LZYJUihezoUuYuTvij1jZdrwltuPNJTVLYtsZDnKE5plw+Tjzeb7ImjbXGwAAAIBT40olg3fxhRDiZECle0WK7GitgXCB3njs+4dba8VwveEJb9UuulMc1eR+zQiJR96IUBagC9NiLvUGS1IfiIHpT4FA8O/MK1W9SgxXB9d39Nk/9l8dH3U/fLnbC/hYVo8bN0or/mKxcxQMkdBwpPlWAbELRftod2BkkkvgfQdc+g== -192.168.0.2 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgwCZ+qxpMMRJ3otGsjaYeKTKf6tuCZyK1cD+ns9Eu7V0ZJLJ/LLMxduu7n4H/ufGI5rGV5axzgx8yZhjDRzsrGjLAQYsqlomMkf901YQI6UuieSA4MZa5MDkq/Jt6Vx1kEGTpkgrfw9kRMX5BngECt1QKY4xTgC7Ex+WlFvZwk+tRUT3 -openbsd1,192.168.0.54 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAvgRVrtJk0fBg9YsLf7rWR1X32ZjFcva5XBvenDlHruObaHzuGXyyr6iOCAEOc7eCZjlPBYrGZ2potqyk8HlBOHXr1cCBf49t4yAt8KgKswtzWlgdbU1UEwllSRVOpzqULAT0smv/jfaIZdvRoN1rLriqtpn4bQL//ZOHiyXCwdlJ+di8Mza2L8KZ5T75hwIFBhrgL12xfymRp3v+Iy21MjjzsF3pROIkZ7icitNqQF55U9vsHaA37vG8FepVkO10bYYP7IHPZaBPBMPx7qPyRgRDJahEUGBnkIkzwJHEmA+7YMiNTZu6MigezD+CIqY1xOi/eXZwObLwLKXo7eRmpw== -192.168.0.60 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAufcvE7s1eRwhUwMBfZ6uFNxkdSdzjSDEn3vjByOjG/eraNhnYAW3rxV7WIf2pEa6JSOMrE1mqsEL75xEtpXlzC949Ysz4+1OSHY52KonoFm/a+FbmbFp81TVuVPYaLoeWN27STiJh+puC5spkIZe0laqT1GU13M4gj6B+j3NLhU= -rh3a,192.168.0.55 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAufcvE7s1eRwhUwMBfZ6uFNxkdSdzjSDEn3vjByOjG/eraNhnYAW3rxV7WIf2pEa6JSOMrE1mqsEL75xEtpXlzC949Ysz4+1OSHY52KonoFm/a+FbmbFp81TVuVPYaLoeWN27STiJh+puC5spkIZe0laqT1GU13M4gj6B+j3NLhU= -tsetse,192.168.0.7 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAwCDGn82BEMSCfcE2LZKcwdAoyIBC+u2twVwWNRm3KzyrJMQ+RbTQo4AwGOdyr/QYh6KaxTKTSoDtiBLr132uenMQKwF47gCKMA1T47uiy+TBUehgOGwOxteSYP/pQRpKXFmhOppSPyDPQVq234XvANeJp0iT8ZKEhF2FsWTs6sM= -config.sage.org,131.106.3.205 ssh-dss AAAAB3NzaC1kc3MAAACBAL2akEcIfQsfm3zCd2hD6PgH3kWA/tqX/qbrLhL/ipX7iqK/y282GMClZQSQjc1YNi9virvLzb6u/gdZxicZ8K5O3FaJrULQJOZaP62SOHk5CUSHVnvpMCaCnbwB6gEHa2LeMWStcEfWW+g1CC2hzPJw16/S5GISGXbyanO02MnXAAAAFQDomwx/OCjTmmQljMTU5rgNn2E4gwAAAIBmtMSfcs2Tq5iFFKK5cahluv047vVNfXqYIAkeJniceL0Et16MKfuzadpq0H9ocxQYW/5Ir9nUULrdxBUN9LxNKq15/uWkJC9QCSh8PysgvFnjVZeCODua/dn6eZTZnY9DZ3S6v1pT8CP6uWr5fmZJ8FKJGrC3gYX4y1V1ZTCVewAAAIB6e7RCST6vkTS5rgn5wGbrfLK5ad+PW+2i66k77Zv1pjtfRz+0oejBjwJDPNVSc2YNEl7X0nEEMNjo/a5x8Ls+nVqhzJA+NXIwS1e/moKbXFGewW5HAtxd79gtInC8dEIO7hmnWnqF1dBkRHXg1YffYkHrMVJBxpzagw7nYa0BBQ== -rh3b,192.168.0.56 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAufcvE7s1eRwhUwMBfZ6uFNxkdSdzjSDEn3vjByOjG/eraNhnYAW3rxV7WIf2pEa6JSOMrE1mqsEL75xEtpXlzC949Ysz4+1OSHY52KonoFm/a+FbmbFp81TVuVPYaLoeWN27STiJh+puC5spkIZe0laqT1GU13M4gj6B+j3NLhU= -centos1,192.168.0.57 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEA0DXqYF+3Lf68GkWBAjjKBb6UITNnzm4wiDi/AGjv5+DoVXqDcqHvZ8rZFAMgUe1dVob4pWT2ZWLHW0gicoJCdr4UQbPXlWz1F62z8fo2PRRPlG6KN1wmF7pnyml8jr0wBX8lQZJsMqi4InGozf7wFHLH/7DNGRK3MD6tSp3Z4is= -doorstop.cafes.net,205.241.238.186 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEApJKeB9/bN5t55zLETHs0MVo/vEkfQ3EzY7178GKLI/yiOFmcn+NvUvUtCQK/xKpod813LBHCODxZPG1Kb0SjlaC/EkFEenb74LNu0o1qXa1GWh3wfaIm0JRNjXqPqxAWTlMs43O2HXwOwmLVhl7SSP3xtTw6h9gREbVKmfBaRdsRfzD0etfz1NCnmGh/1Sh9+j4eeS+IBtwoR5JVhZVhuofHCqs5HZ8gLDgfn8HXP7pMbLkx54cf1R/tmFmn9JGLdTPtEGcSIiu7414XSbfChSC83rGZCDPKHq7ZodiE8GpbWLBnyPXi2AYxTPM7aZMqitIHv3MWf5suV0q0WLGdnQ== -host.domain.com,host1.domain.com,192.168.0.1 dss thisismykey1 diff --git a/test/lib/puppettest.rb b/test/lib/puppettest.rb deleted file mode 100755 index a6d1e0831..000000000 --- a/test/lib/puppettest.rb +++ /dev/null @@ -1,321 +0,0 @@ -# Add .../test/lib -testlib = File.expand_path(File.dirname(__FILE__)) -$LOAD_PATH.unshift(testlib) unless $LOAD_PATH.include?(testlib) -# Add .../lib -mainlib = File.expand_path(File.join(File.dirname(__FILE__), '../../lib')) -$LOAD_PATH.unshift(mainlib) unless $LOAD_PATH.include?(mainlib) - -require 'puppet' -require 'mocha' - -# Only load the test/unit class if we're not in the spec directory. -# Else we get the bogus 'no tests, no failures' message. -unless Dir.getwd =~ /spec/ - require 'test/unit' -end - -# Yay; hackish but it works -if ARGV.include?("-d") - ARGV.delete("-d") - $console = true -end - -require File.expand_path(File.join(File.dirname(__FILE__), '../../spec/monkey_patches/publicize_methods')) - -module PuppetTest - # These need to be here for when rspec tests use these - # support methods. - @@tmpfiles = [] - - # Munge cli arguments, so we can enable debugging if we want - # and so we can run just specific methods. - def self.munge_argv - require 'getoptlong' - - - result = GetoptLong.new( - - [ "--debug", "-d", GetoptLong::NO_ARGUMENT ], - [ "--resolve", "-r", GetoptLong::REQUIRED_ARGUMENT ], - [ "-n", GetoptLong::REQUIRED_ARGUMENT ], - - [ "--help", "-h", GetoptLong::NO_ARGUMENT ] - ) - - usage = "USAGE: TESTOPTS='[-n -n ...] [-d]' rake [target] [target] ..." - - opts = [] - - dir = method = nil - result.each { |opt,arg| - case opt - when "--resolve" - dir, method = arg.split(",") - when "--debug" - $puppet_debug = true - Puppet::Util::Log.level = :debug - Puppet::Util::Log.newdestination(:console) - when "--help" - puts usage - exit - else - opts << opt << arg - end - } - suites = nil - - args = ARGV.dup - - # Reset the options, so the test suite can deal with them (this is - # what makes things like '-n' work). - opts.each { |o| ARGV << o } - - args - end - - # Find the root of the Puppet tree; this is not the test directory, but - # the parent of that dir. - def basedir(*list) - unless defined?(@@basedir) - Dir.chdir(File.dirname(__FILE__)) do - @@basedir = File.dirname(File.dirname(Dir.getwd)) - end - end - if list.empty? - @@basedir - else - File.join(@@basedir, *list) - end - end - - def datadir(*list) - File.join(basedir, "test", "data", *list) - end - - def exampledir(*args) - @@exampledir = File.join(basedir, "examples") unless defined?(@@exampledir) - - if args.empty? - return @@exampledir - else - return File.join(@@exampledir, *args) - end - end - - module_function :basedir, :datadir, :exampledir - - def cleanup(&block) - @@cleaners << block - end - - # Rails clobbers RUBYLIB, thanks - def libsetup - curlibs = ENV["RUBYLIB"].split(":") - $LOAD_PATH.reject do |dir| dir =~ /^\/usr/ end.each do |dir| - curlibs << dir unless curlibs.include?(dir) - end - - ENV["RUBYLIB"] = curlibs.join(":") - end - - def logcollector - collector = [] - Puppet::Util::Log.newdestination(collector) - cleanup do - Puppet::Util::Log.close(collector) - end - collector - end - - def rake? - $0 =~ /test_loader/ - end - - # Redirect stdout and stderr - def redirect - @stderr = tempfile - @stdout = tempfile - $stderr = File.open(@stderr, "w") - $stdout = File.open(@stdout, "w") - - cleanup do - $stderr = STDERR - $stdout = STDOUT - end - end - - def setup - ENV["PATH"] += File::PATH_SEPARATOR + "/usr/sbin" unless ENV["PATH"].split(File::PATH_SEPARATOR).include?("/usr/sbin") - @memoryatstart = Puppet::Util.memory - if defined?(@@testcount) - @@testcount += 1 - else - @@testcount = 0 - end - - - @configpath = File.join( - tmpdir, - "configdir" + @@testcount.to_s + "/" - ) - - unless defined? $user and $group - $user = nonrootuser.uid.to_s - $group = nonrootgroup.gid.to_s - end - - Puppet.settings.clear - Puppet[:user] = $user - Puppet[:group] = $group - - - Puppet.settings.set_value(:name, "unittest", :application_defaults) - Puppet[:confdir] = @configpath - Puppet[:vardir] = @configpath - Puppet[:logdir] = @configpath - Puppet[:rundir] = @configpath - - Dir.mkdir(@configpath) unless File.exists?(@configpath) - - @@tmpfiles << @configpath << tmpdir - @@tmppids = [] - - @@cleaners = [] - - @logs = [] - - # If we're running under rake, then disable debugging and such. - #if rake? or ! Puppet[:debug] - #if defined?($puppet_debug) or ! rake? - Puppet[:color] = false if textmate? - Puppet::Util::Log.newdestination(Puppet::Test::LogCollector.new(@logs)) - if defined? $console - Puppet.info @method_name - Puppet::Util::Log.newdestination(:console) - Puppet[:trace] = true - end - Puppet::Util::Log.level = :debug - #$VERBOSE = 1 - #else - # Puppet::Util::Log.close - # Puppet::Util::Log.newdestination(@logs) - # Puppet[:httplog] = tempfile - #end - - Puppet[:ignoreschedules] = true - - #@start = Time.now - - #Facter.stubs(:value).returns "stubbed_value" - #Facter.stubs(:to_hash).returns({}) - end - - def tempfile(suffix = '') - if defined?(@@tmpfilenum) - @@tmpfilenum += 1 - else - @@tmpfilenum = 1 - end - - f = File.join(self.tmpdir, "tempfile_" + @@tmpfilenum.to_s + suffix) - @@tmpfiles ||= [] - @@tmpfiles << f - f - end - - def textmate? - !!ENV["TM_FILENAME"] - end - - def tstdir - dir = tempfile - Dir.mkdir(dir) - dir - end - - def tmpdir - unless @tmpdir - @tmpdir = case Facter["operatingsystem"].value - when "Darwin" then "/private/tmp" - when "SunOS" then "/var/tmp" - else - "/tmp" - end - - - @tmpdir = File.join(@tmpdir, "puppettesting#{Process.pid}") - - unless File.exists?(@tmpdir) - FileUtils.mkdir_p(@tmpdir) - File.chmod(01777, @tmpdir) - end - end - @tmpdir - end - - def remove_tmp_files - @@tmpfiles.each { |file| - unless file =~ /tmp/ - puts "Not deleting tmpfile #{file}" - next - end - if FileTest.exists?(file) - system("chmod -R 755 #{file}") - system("rm -rf #{file}") - end - } - @@tmpfiles.clear - end - - def teardown - #@stop = Time.now - #File.open("/tmp/test_times.log", ::File::WRONLY|::File::CREAT|::File::APPEND) { |f| f.puts "%0.4f %s %s" % [@stop - @start, @method_name, self.class] } - @@cleaners.each { |cleaner| cleaner.call } - - remove_tmp_files - - @@tmppids.each { |pid| - %x{kill -INT #{pid} 2>/dev/null} - } - - @@tmppids.clear - - Puppet::Util::Storage.clear - Puppet.clear - Puppet.settings.clear - - @memoryatend = Puppet::Util.memory - diff = @memoryatend - @memoryatstart - - Puppet.info "#{self.class}##{@method_name} memory growth (#{@memoryatstart} to #{@memoryatend}): #{diff}" if diff > 1000 - - # reset all of the logs - Puppet::Util::Log.close_all - @logs.clear - - # Just in case there are processes waiting to die... - require 'timeout' - - begin - Timeout::timeout(5) do - Process.waitall - end - rescue Timeout::Error - # just move on - end - end - - def logstore - @logs = [] - Puppet::Util::Log.newdestination(Puppet::Test::LogCollector.new(@logs)) - end -end - -require 'puppettest/support' -require 'puppettest/filetesting' -require 'puppettest/fakes' -require 'puppettest/exetest' -require 'puppettest/parsertesting' -require 'puppettest/servertest' -require 'puppettest/testcase' - diff --git a/test/lib/puppettest/certificates.rb b/test/lib/puppettest/certificates.rb deleted file mode 100644 index a1d8a7784..000000000 --- a/test/lib/puppettest/certificates.rb +++ /dev/null @@ -1,74 +0,0 @@ -# Certificate-related helper methods. - -require 'puppettest' - -module PuppetTest::Certificates - include PuppetTest - - def mkPassFile() - keyfile = File.join(@dir, "tmpkeyfile") - @@tmpfiles << keyfile - system("mkdir -p #{@dir}") unless FileTest.exists?(@dir) - File.open(keyfile, "w", 0600) { |f| - f.print "as;dklj23rlkjzdflij23wr" - } - - keyfile - end - - def mkCA - # The defaults make tests that consume this very slow. - Puppet[:req_bits] = 512 - Puppet[:keylength] = 512 - - ca = nil - assert_nothing_raised { - ca = Puppet::SSLCertificates::CA.new - } - - ca - end - - def mkStore(ca) - # The defaults make tests that consume this very slow. - Puppet[:req_bits] = 512 - Puppet[:keylength] = 512 - - store = OpenSSL::X509::Store.new - store.purpose = OpenSSL::X509::PURPOSE_SSL_CLIENT - store.flags = OpenSSL::X509::V_FLAG_CRL_CHECK - store.add_cert(ca.cert) - store.add_crl(ca.crl) - store - end - - def mkcert(hostname) - # The defaults make tests that consume this very slow. - Puppet[:req_bits] = 512 - Puppet[:keylength] = 512 - - cert = nil - assert_nothing_raised { - cert = Puppet::SSLCertificates::Certificate.new(:name => hostname) - cert.mkcsr - } - - cert - end - - def mksignedcert(ca = nil, hostname = nil) - # The defaults make tests that consume this very slow. - Puppet[:req_bits] = 512 - Puppet[:keylength] = 512 - - ca ||= mkCA() - hostname ||= "ttltest.example.com" - - cert = nil - assert_nothing_raised { - cert, cacert = ca.sign(mkcert(hostname).mkcsr) - } - cert - end -end - diff --git a/test/lib/puppettest/exetest.rb b/test/lib/puppettest/exetest.rb deleted file mode 100644 index 09626ff0d..000000000 --- a/test/lib/puppettest/exetest.rb +++ /dev/null @@ -1,125 +0,0 @@ -require 'puppettest/servertest' - -module PuppetTest::ExeTest - include PuppetTest::ServerTest - - def setup - super - setbindir - setlibdir - end - - def bindir - File.join(basedir, "bin") - end - - def sbindir - File.join(basedir, "sbin") - end - - def setbindir - ENV["PATH"] = [bindir, ENV["PATH"]].join(":") unless ENV["PATH"].split(":").include?(bindir) - ENV["PATH"] = [sbindir, ENV["PATH"]].join(":") unless ENV["PATH"].split(":").include?(sbindir) - end - - def setlibdir - ENV["RUBYLIB"] = $LOAD_PATH.find_all { |dir| - dir =~ /puppet/ or dir =~ /\.\./ - }.join(":") - end - - # Run a ruby command. This explicitly uses ruby to run stuff, since we - # don't necessarily know where our ruby binary is, dernit. - # Currently unused, because I couldn't get it to work. - def rundaemon(*cmd) - @ruby ||= %x{which ruby}.chomp - cmd = cmd.unshift(@ruby).join(" ") - - out = nil - Dir.chdir(bindir) { - out = %x{#{@ruby} #{cmd}} - } - out - end - - def startmasterd(args = "") - output = nil - - manifest = mktestmanifest - args += " --manifest #{manifest}" - args += " --confdir #{Puppet[:confdir]}" - args += " --rundir #{File.join(Puppet[:vardir], "run")}" - args += " --vardir #{Puppet[:vardir]}" - args += " --dns_alt_names #{Puppet[:master_dns_alt_names]}" - args += " --masterport #{@@port}" - args += " --user #{Puppet::Util::SUIDManager.uid}" - args += " --group #{Puppet::Util::SUIDManager.gid}" - args += " --autosign true" - - #if Puppet[:debug] - # args += " --debug" - #end - - cmd = "puppetmasterd #{args}" - - - assert_nothing_raised { - output = %x{#{cmd}}.chomp - } - assert_equal("", output, "Puppetmasterd produced output #{output}") - assert($CHILD_STATUS == 0, "Puppetmasterd exit status was #{$CHILD_STATUS}") - sleep(1) - - cleanup do - stopmasterd - sleep(1) - end - - manifest - end - - def stopmasterd(running = true) - ps = Facter["ps"].value || "ps -ef" - - pidfile = File.join(Puppet[:vardir], "run", "puppetmasterd.pid") - - pid = nil - if FileTest.exists?(pidfile) - pid = File.read(pidfile).chomp.to_i - File.unlink(pidfile) - end - - return unless running - if running or pid - runningpid = nil - %x{#{ps}}.chomp.split(/\n/).each { |line| - if line =~ /ruby.+puppetmasterd/ - next if line =~ /\.rb/ # skip the test script itself - next if line =~ /^puppet/ # skip masters running as 'puppet' - ary = line.sub(/^\s+/, '').split(/\s+/) - pid = ary[1].to_i - end - } - - end - - # we default to mandating that it's running, but teardown - # doesn't require that - if pid - if pid == $PID - raise Puppet::Error, "Tried to kill own pid" - end - begin - Process.kill(:INT, pid) - rescue - # ignore it - end - end - end - - def teardown - stopmasterd(false) - super - end -end - diff --git a/test/lib/puppettest/fakes.rb b/test/lib/puppettest/fakes.rb deleted file mode 100644 index 712332b74..000000000 --- a/test/lib/puppettest/fakes.rb +++ /dev/null @@ -1,199 +0,0 @@ -require File.expand_path(File.join(File.dirname(__FILE__), '../../../lib/puppet/util')) - -module PuppetTest - # A baseclass for the faketypes. - class FakeModel - include Puppet::Util - class << self - attr_accessor :name, :realresource - @name = :fakeresource - end - - def self.key_attributes - @realresource.key_attributes - end - - def self.validproperties - Puppet::Type.type(@name).validproperties - end - - def self.validproperty?(name) - Puppet::Type.type(@name).validproperty?(name) - end - - def self.to_s - "Fake#{@name.to_s.capitalize}" - end - - def [](param) - if @realresource.attrtype(param) == :property - @is[param] - else - @params[param] - end - end - - def []=(param, value) - param = symbolize(param) - raise Puppet::DevError, "Invalid attribute #{param} for #{@realresource.name}" unless @realresource.valid_parameter?(param) - if @realresource.attrtype(param) == :property - @should[param] = value - else - @params[param] = value - end - end - - def initialize(name) - @realresource = Puppet::Type.type(self.class.name) - raise "Could not find type #{self.class.name}" unless @realresource - @is = {} - @should = {} - @params = {} - self[@realresource.key_attributes.first] = name - end - - def inspect - "#{self.class.to_s.sub(/.+::/, '')}(#{super()})" - end - - def is(param) - @is[param] - end - - def should(param) - @should[param] - end - - def to_hash - hash = @params.dup - [@is, @should].each do |h| - h.each do |p, v| - hash[p] = v - end - end - hash - end - - def name - self[:name] - end - end - - class FakeProvider - attr_accessor :resource - class << self - attr_accessor :name, :resource_type, :methods - end - - # A very low number, so these never show up as defaults via the standard - # algorithms. - def self.defaultnum - -50 - end - - # Set up methods to fake things - def self.apimethods(*ary) - @resource_type.validproperties.each do |property| - ary << property unless ary.include? property - end - attr_accessor(*ary) - - @methods = ary - end - - def self.default? - false - end - - def self.initvars - @calls = Hash.new do |hash, key| - hash[key] = 0 - end - end - - def self.source - self.name - end - - def self.supports_parameter?(param) - true - end - - def self.suitable? - true - end - - def clear - @resource = nil - end - - def initialize(resource) - @resource = resource - end - - def properties - self.class.resource_type.validproperties.inject({}) do |props, name| - props[name] = self.send(name) || :absent - props - end - end - end - - class FakeParsedProvider < FakeProvider - def hash - ret = {} - instance_variables.each do |v| - v = v.sub("@", '') - if val = self.send(v) - ret[v.intern] = val - end - end - - ret - end - - def store(hash) - hash.each do |n, v| - method = n.to_s + "=" - send(method, v) if respond_to? method - end - end - end - - @@fakeresources = {} - @@fakeproviders = {} - - def fakeresource(type, name, options = {}) - type = type.intern if type.is_a? String - unless @@fakeresources.include? type - @@fakeresources[type] = Class.new(FakeModel) - @@fakeresources[type].name = type - - resource = Puppet::Type.type(type) - raise("Could not find type #{type}") unless resource - @@fakeresources[type].realresource = resource - end - - obj = @@fakeresources[type].new(name) - options.each do |name, val| - obj[name] = val - end - obj - end - - module_function :fakeresource - - def fakeprovider(type, resource) - type = type.intern if type.is_a? String - unless @@fakeproviders.include? type - @@fakeproviders[type] = Class.new(FakeModel) do - @name = type - end - end - - @@fakeproviders[type].new(resource) - end - - module_function :fakeprovider -end - diff --git a/test/lib/puppettest/fileparsing.rb b/test/lib/puppettest/fileparsing.rb deleted file mode 100644 index bd4f9e152..000000000 --- a/test/lib/puppettest/fileparsing.rb +++ /dev/null @@ -1,28 +0,0 @@ -require 'test/unit' - -module PuppetTest::FileParsing - # Run an isomorphism test on our parsing process. - def fakedataparse(*files) - files.each do |file| - @provider.stubs(:default_target).returns(file) - - @provider.prefetch - - text = @provider.to_file(@provider.target_records(file)) - text.gsub!(/^# HEADER.+\n/, '') - - yield if block_given? - - oldlines = File.readlines(file) - newlines = text.chomp.split "\n" - oldlines.zip(newlines).each do |old, new| - if self.is_a?(Test::Unit::TestCase) - assert_equal(old.chomp.gsub(/\s+/, ''), new.gsub(/\s+/, ''), "File was not written back out correctly") - else - new.gsub(/\s+/, '').should == old.chomp.gsub(/\s+/, '') - end - end - end - end -end - diff --git a/test/lib/puppettest/filetesting.rb b/test/lib/puppettest/filetesting.rb deleted file mode 100644 index 08babfe88..000000000 --- a/test/lib/puppettest/filetesting.rb +++ /dev/null @@ -1,221 +0,0 @@ -require 'puppettest' - -module PuppetTest::FileTesting - include PuppetTest - def cycle(comp) - trans = nil - assert_nothing_raised { - trans = comp.evaluate - } - assert_nothing_raised { - trans.evaluate - } - end - - def randlist(list) - num = rand(4) - if num == 0 - num = 1 - end - set = [] - - ret = [] - num.times { |index| - item = list[rand(list.length)] - redo if set.include?(item) - - ret.push item - } - ret - end - - def mkranddirsandfiles(dirs = nil,files = nil,depth = 3) - return if depth < 0 - - dirs ||= %w{This Is A Set Of Directories} - - files ||= %w{and this is a set of files} - - tfiles = randlist(files) - tdirs = randlist(dirs) - - tfiles.each { |file| - File.open(file, "w") { |of| - 4.times { - of.puts rand(100) - } - } - } - - tdirs.each { |dir| - # it shouldn't already exist, but... - unless FileTest.exists?(dir) - Dir.mkdir(dir) - FileUtils.cd(dir) { - mkranddirsandfiles(dirs,files,depth - 1) - } - end - } - end - - def file_list(dir) - list = nil - FileUtils.cd(dir) { - list = %x{find . 2>/dev/null}.chomp.split(/\n/) - } - list - end - - def assert_trees_equal(fromdir,todir) - assert(FileTest.directory?(fromdir)) - assert(FileTest.directory?(todir)) - - # verify the file list is the same - fromlist = nil - FileUtils.cd(fromdir) { - fromlist = %x{find . 2>/dev/null}.chomp.split(/\n/).reject { |file| - ! FileTest.readable?(file) - }.sort - } - tolist = file_list(todir).sort - - fromlist.sort.zip(tolist.sort).each { |a,b| - assert_equal(a, b, "Fromfile #{a} with length #{fromlist.length} does not match tofile #{b} with length #{tolist.length}") - } - #assert_equal(fromlist,tolist) - - # and then do some verification that the files are actually set up - # the same - checked = 0 - fromlist.each_with_index { |file,i| - fromfile = File.join(fromdir,file) - tofile = File.join(todir,file) - fromstat = File.stat(fromfile) - tostat = File.stat(tofile) - [:ftype,:gid,:mode,:uid].each { |method| - - assert_equal( - - fromstat.send(method), - - tostat.send(method) - ) - - next if fromstat.ftype == "directory" - if checked < 10 and i % 3 == 0 - from = File.open(fromfile) { |f| f.read } - to = File.open(tofile) { |f| f.read } - - assert_equal(from,to) - checked += 1 - end - } - } - end - - def random_files(dir) - checked = 0 - list = file_list(dir) - list.reverse.each_with_index { |file,i| - path = File.join(dir,file) - stat = File.stat(dir) - if checked < 10 and (i % 3) == 2 - next unless yield path - checked += 1 - end - } - end - - def delete_random_files(dir) - deleted = [] - random_files(dir) { |file| - stat = File.stat(file) - begin - if stat.ftype == "directory" - false - else - deleted << file - File.unlink(file) - true - end - rescue => detail - # we probably won't be able to open our own secured files - puts detail - false - end - } - - deleted - end - - def add_random_files(dir) - added = [] - random_files(dir) { |file| - stat = File.stat(file) - begin - if stat.ftype == "directory" - name = File.join(file,"file" + rand(100).to_s) - File.open(name, "w") { |f| - f.puts rand(10) - } - added << name - else - false - end - rescue => detail - # we probably won't be able to open our own secured files - puts detail - false - end - } - added - end - - def modify_random_files(dir) - modded = [] - random_files(dir) { |file| - stat = File.stat(file) - begin - if stat.ftype == "directory" - false - else - File.open(file, "w") { |f| - f.puts rand(10) - } - modded << name - true - end - rescue => detail - # we probably won't be able to open our own secured files - puts detail - false - end - } - modded - end - - def readonly_random_files(dir) - modded = [] - random_files(dir) { |file| - stat = File.stat(file) - begin - if stat.ftype == "directory" - File.new(file).chmod(0111) - else - File.new(file).chmod(0000) - end - modded << file - rescue => detail - # we probably won't be able to open our own secured files - puts detail - false - end - } - modded - end - - def conffile - exampledir("root/etc/configfile") - end -end - diff --git a/test/lib/puppettest/parsertesting.rb b/test/lib/puppettest/parsertesting.rb deleted file mode 100644 index b76eaff52..000000000 --- a/test/lib/puppettest/parsertesting.rb +++ /dev/null @@ -1,366 +0,0 @@ -require 'puppettest' -require 'puppet/rails' - -module PuppetTest::ParserTesting - include PuppetTest - AST = Puppet::Parser::AST - - Compiler = Puppet::Parser::Compiler - - # A fake class that we can use for testing evaluation. - class FakeAST - attr_writer :evaluate - - def evaluated? - @evaluated - end - - def evaluate(*args) - @evaluated = true - @evaluate - end - - def initialize(val = nil) - @evaluate = val if val - end - - def reset - @evaluated = nil - end - - def safeevaluate(*args) - evaluate - end - - def evaluate_match(othervalue, scope, options={}) - value = evaluate - othervalue == value - end - end - - def astarray(*args) - AST::ASTArray.new( - :children => args - ) - end - - def mkcompiler(parser = nil) - node = mknode - Compiler.new(node) - end - - def mknode(name = nil) - require 'puppet/node' - Puppet::Node.new(name || "nodename") - end - - def mkparser - Puppet::Node::Environment.clear - Puppet::Parser::Parser.new(Puppet::Node::Environment.new) - end - - def mkscope(hash = {}) - parser ||= mkparser - compiler ||= mkcompiler - compiler.topscope.source = (parser.find_hostclass("", "") || parser.newclass("")) - - raise "Could not find source for scope" unless compiler.topscope.source - # Make the 'main' stuff - compiler.send(:evaluate_main) - compiler.topscope - end - - def classobj(name, hash = {}) - hash[:file] ||= __FILE__ - hash[:line] ||= __LINE__ - hash[:type] ||= name - AST::HostClass.new(hash) - end - - def tagobj(*names) - args = {} - newnames = names.collect do |name| - if name.is_a? AST - name - else - nameobj(name) - end - end - args[:type] = astarray(*newnames) - assert_nothing_raised("Could not create tag #{names.inspect}") { - return AST::Tag.new(args) - } - end - - def resourcedef(type, title, params) - title = stringobj(title) unless title.is_a?(AST) - instance = AST::ResourceInstance.new(:title => title, :parameters => resourceparams(params)) - assert_nothing_raised("Could not create #{type} #{title}") { - - return AST::Resource.new( - - :file => __FILE__, - :line => __LINE__, - :type => type, - :instances => AST::ASTArray.new(:children => [instance]) - ) - } - end - - def virt_resourcedef(*args) - res = resourcedef(*args) - res.virtual = true - res - end - - def resourceoverride(type, title, params) - assert_nothing_raised("Could not create #{type} #{name}") { - - return AST::ResourceOverride.new( - - :file => __FILE__, - :line => __LINE__, - :object => resourceref(type, title), - :parameters => resourceparams(params) - ) - } - end - - def resourceref(type, title) - assert_nothing_raised("Could not create #{type} #{title}") { - - return AST::ResourceReference.new( - - :file => __FILE__, - :line => __LINE__, - :type => type, - - :title => stringobj(title) - ) - } - end - - def fileobj(path, hash = {"owner" => "root"}) - assert_nothing_raised("Could not create file #{path}") { - return resourcedef("file", path, hash) - } - end - - def nameobj(name) - assert_nothing_raised("Could not create name #{name}") { - - return AST::Name.new( - - :file => tempfile, - - :line => rand(100), - :value => name - ) - } - end - - def typeobj(name) - assert_nothing_raised("Could not create type #{name}") { - - return AST::Type.new( - - :file => tempfile, - - :line => rand(100), - :value => name - ) - } - end - - def nodedef(name) - assert_nothing_raised("Could not create node #{name}") { - - return AST::NodeDef.new( - - :file => tempfile, - - :line => rand(100), - :names => nameobj(name), - - :code => AST::ASTArray.new( - - :children => [ - varobj("#{name}var", "#{name}value"), - - fileobj("/#{name}") - ] - ) - ) - } - end - - def resourceparams(hash) - assert_nothing_raised("Could not create resource instance") { - params = hash.collect { |param, value| - resourceparam(param, value) - } - - return AST::ASTArray.new( - - :file => tempfile, - - :line => rand(100), - :children => params - ) - } - end - - def resourceparam(param, value) - # Allow them to pass non-strings in - value = stringobj(value) if value.is_a?(String) - assert_nothing_raised("Could not create param #{param}") { - - return AST::ResourceParam.new( - - :file => tempfile, - - :line => rand(100), - :param => param, - :value => value - ) - } - end - - def stringobj(value) - - AST::String.new( - - :file => tempfile, - - :line => rand(100), - :value => value - ) - end - - def varobj(name, value) - value = stringobj(value) unless value.is_a? AST - assert_nothing_raised("Could not create #{name} code") { - - return AST::VarDef.new( - - :file => tempfile, - - :line => rand(100), - :name => nameobj(name), - :value => value - ) - } - end - - def varref(name) - assert_nothing_raised("Could not create #{name} variable") { - - return AST::Variable.new( - - :file => __FILE__, - :line => __LINE__, - - :value => name - ) - } - end - - def argobj(name, value) - assert_nothing_raised("Could not create #{name} compargument") { - return AST::CompArgument.new( - :children => [nameobj(name), stringobj(value)] - ) - } - end - - def defaultobj(type, params) - pary = [] - params.each { |p,v| - - pary << AST::ResourceParam.new( - - :file => __FILE__, - :line => __LINE__, - :param => p, - - :value => stringobj(v) - ) - } - - past = AST::ASTArray.new( - - :file => __FILE__, - :line => __LINE__, - - :children => pary - ) - - assert_nothing_raised("Could not create defaults for #{type}") { - - return AST::ResourceDefaults.new( - - :file => __FILE__, - :line => __LINE__, - :type => type, - - :parameters => past - ) - } - end - - def taggedobj(name, ftype = :statement) - functionobj("tagged", name, ftype) - end - - def functionobj(function, name, ftype = :statement) - func = nil - assert_nothing_raised do - - func = Puppet::Parser::AST::Function.new( - - :name => function, - :ftype => ftype, - - :arguments => AST::ASTArray.new( - :children => [nameobj(name)] - ) - ) - end - - func - end - - # This assumes no nodes - def assert_creates(manifest, *files) - oldmanifest = Puppet[:manifest] - Puppet[:manifest] = manifest - - catalog = Puppet::Parser::Compiler.new(mknode).compile.to_ral - catalog.apply - - files.each do |file| - assert(FileTest.exists?(file), "Did not create #{file}") - end - ensure - Puppet[:manifest] = oldmanifest - end - - # Take a list of AST resources, evaluate them, and return the results - def assert_evaluate(children) - top = nil - assert_nothing_raised("Could not create top object") { - top = AST::ASTArray.new( - :children => children - ) - } - - trans = nil - scope = nil - assert_nothing_raised { - scope = Puppet::Parser::Scope.new - trans = scope.evaluate(:ast => top) - } - - trans - end -end diff --git a/test/lib/puppettest/railstesting.rb b/test/lib/puppettest/railstesting.rb deleted file mode 100644 index f5666f2c4..000000000 --- a/test/lib/puppettest/railstesting.rb +++ /dev/null @@ -1,18 +0,0 @@ -module PuppetTest::RailsTesting - Parser = Puppet::Parser - AST = Puppet::Parser::AST - include PuppetTest::ParserTesting - - def teardown - super - - # If we don't clean up the connection list, then the rails - # lib will still think it's connected. - ActiveRecord::Base.clear_active_connections! if Puppet.features.rails? - end - - def railsinit - Puppet::Rails.init - end -end - diff --git a/test/lib/puppettest/reporttesting.rb b/test/lib/puppettest/reporttesting.rb deleted file mode 100644 index 54a2f6799..000000000 --- a/test/lib/puppettest/reporttesting.rb +++ /dev/null @@ -1,16 +0,0 @@ -module PuppetTest::Reporttesting - def fakereport - # Create a bunch of log messages in an array. - report = Puppet::Transaction::Report.new("apply") - - 3.times { |i| - # We have to use warning so that the logs always happen - log = Puppet.warning("Report test message #{i}") - - report << log - } - - report - end -end - diff --git a/test/lib/puppettest/resourcetesting.rb b/test/lib/puppettest/resourcetesting.rb deleted file mode 100644 index ea8bec01b..000000000 --- a/test/lib/puppettest/resourcetesting.rb +++ /dev/null @@ -1,54 +0,0 @@ -module PuppetTest::ResourceTesting - Parser = Puppet::Parser - AST = Puppet::Parser::AST - - def mkevaltest(parser = nil) - parser ||= mkparser - - @parser.newdefine( - "evaltest", - - :arguments => [%w{one}, ["two", stringobj("755")]], - - :code => resourcedef( - "file", "/tmp", - - "owner" => varref("one"), "mode" => varref("two")) - ) - end - - def mkresource(args = {}) - args[:source] ||= "source" - args[:scope] ||= mkscope - - type = args[:type] || "resource" - title = args[:title] || "testing" - args.delete(:type) - args.delete(:title) - {:source => "source", :scope => "scope"}.each do |param, value| - args[param] ||= value - end - - params = args[:parameters] || {:one => "yay", :three => "rah"} - if args[:parameters] == :none - args.delete(:parameters) - else - args[:parameters] = paramify args[:source], params - end - - Parser::Resource.new(type, title, args) - end - - def param(name, value, source) - Parser::Resource::Param.new(:name => name, :value => value, :source => source) - end - - def paramify(source, hash) - hash.collect do |name, value| - Parser::Resource::Param.new( - :name => name, :value => value, :source => source - ) - end - end -end - diff --git a/test/lib/puppettest/runnable_test.rb b/test/lib/puppettest/runnable_test.rb deleted file mode 100644 index bb8d89e27..000000000 --- a/test/lib/puppettest/runnable_test.rb +++ /dev/null @@ -1,43 +0,0 @@ -# Manage whether a test is runnable. -module PuppetTest - module RunnableTest - # Confine this example group based on specified criteria. This can be - # a message and its related test either as a hash or as a single - # message argument and a block to be evaluated at the time the confine - # is checked. - # - # Examples: - # - # confine "Rails is not available" => Puppet.features.rails? - # - # confine("ActiveRecord 2.1.x") { ::ActiveRecord::VERSION::MAJOR == 2 and ::ActiveRecord::VERSION::MINOR <= 1 } - # - def confine(hash_or_message, &block) - hash = block_given? ? {hash_or_message => block} : hash_or_message - confines.update hash - end - - # Check all confines for a given example group, starting with any - # specified in the parent example group. If any confine test is false, - # the example group is not runnable (and will be skipped). Note: This - # is used directly by Rspec and is not intended for develper use. - # - def runnable? - return false if superclass.respond_to?(:runnable?) and not superclass.runnable? - - confines.each do |message, is_runnable| - is_runnable = is_runnable.call if is_runnable.respond_to?(:call) - messages << message unless is_runnable - end - - messages.empty? - end - - def messages; @messages ||= [] end - - private - - def confines; @confines ||= {} end - end - -end diff --git a/test/lib/puppettest/servertest.rb b/test/lib/puppettest/servertest.rb deleted file mode 100644 index 852c0ec27..000000000 --- a/test/lib/puppettest/servertest.rb +++ /dev/null @@ -1,32 +0,0 @@ -require 'puppettest' - -module PuppetTest::ServerTest - include PuppetTest - def setup - super - - if defined?(@@port) - @@port += 1 - else - @@port = 20000 - end - end - - # create a simple manifest that just creates a file - def mktestmanifest - file = File.join(Puppet[:confdir], "#{(self.class.to_s + "test")}site.pp") - #@createdfile = File.join(tmpdir, self.class.to_s + "manifesttesting" + - # "_#{@method_name}") - @createdfile = tempfile - - File.open(file, "w") { |f| - f.puts "file { \"%s\": ensure => file, mode => 755 }\n" % @createdfile - } - - @@tmpfiles << @createdfile - @@tmpfiles << file - - file - end -end - diff --git a/test/lib/puppettest/support.rb b/test/lib/puppettest/support.rb deleted file mode 100644 index c81b5cd9d..000000000 --- a/test/lib/puppettest/support.rb +++ /dev/null @@ -1,8 +0,0 @@ -require 'puppettest' - -module PuppetTest::Support -end - -require 'puppettest/support/assertions' -require 'puppettest/support/helpers' -require 'puppettest/support/utils' diff --git a/test/lib/puppettest/support/assertions.rb b/test/lib/puppettest/support/assertions.rb deleted file mode 100644 index 758c126ce..000000000 --- a/test/lib/puppettest/support/assertions.rb +++ /dev/null @@ -1,69 +0,0 @@ -require 'puppettest/support/utils' -require 'fileutils' - -module PuppetTest - include PuppetTest::Support::Utils - def assert_logged(level, regex, msg = nil) - # Skip verifying logs that we're not supposed to send. - return unless Puppet::Util::Log.sendlevel?(level) - r = @logs.detect { |l| l.level == level and l.message =~ regex } - @logs.clear - assert(r, msg) - end - - def assert_uid_gid(uid, gid, filename) - flunk "Must be uid 0 to run these tests" unless Process.uid == 0 - - fork do - Puppet::Util::SUIDManager.gid = gid - Puppet::Util::SUIDManager.uid = uid - # FIXME: use the tempfile method from puppettest.rb - system("mkfifo #{filename}") - f = File.open(filename, "w") - f << "#{Puppet::Util::SUIDManager.uid}\n#{Puppet::Util::SUIDManager.gid}\n" - yield if block_given? - end - - # avoid a race. - true while !File.exists? filename - - f = File.open(filename, "r") - - a = f.readlines - assert_equal(uid, a[0].chomp.to_i, "UID was incorrect") - assert_equal(gid, a[1].chomp.to_i, "GID was incorrect") - FileUtils.rm(filename) - end - - def assert_events(events, *resources) - trans = nil - comp = nil - msg = nil - - raise Puppet::DevError, "Incorrect call of assert_events" unless events.is_a? Array - msg = resources.pop if resources[-1].is_a? String - - config = resources2catalog(*resources) - transaction = Puppet::Transaction.new(config) - - transaction.evaluate - newevents = transaction.events. - reject { |e| ['failure', 'audit'].include? e.status }. - collect { |e| e.name } - - assert_equal(events, newevents, "Incorrect evaluate #{msg} events") - - transaction - end - - # A simpler method that just applies what we have. - def assert_apply(*resources) - config = resources2catalog(*resources) - - events = nil - assert_nothing_raised("Failed to evaluate") { - events = config.apply.events - } - events - end -end diff --git a/test/lib/puppettest/support/helpers.rb b/test/lib/puppettest/support/helpers.rb deleted file mode 100644 index 75c699f72..000000000 --- a/test/lib/puppettest/support/helpers.rb +++ /dev/null @@ -1,18 +0,0 @@ -require 'puppettest' - -module PuppetTest - # NOTE: currently both of these will produce bogus results on Darwin due to the wonderful - # UID of nobody. - def nonrootuser - Etc.passwd { |user| - return user if user.uid != Puppet::Util::SUIDManager.uid and user.uid > 0 and user.uid < 255 - } - end - - def nonrootgroup - Etc.group { |group| - return group if group.gid != Puppet::Util::SUIDManager.gid and group.gid > 0 and group.gid < 255 - } - end -end - diff --git a/test/lib/puppettest/support/resources.rb b/test/lib/puppettest/support/resources.rb deleted file mode 100755 index d5bf98f91..000000000 --- a/test/lib/puppettest/support/resources.rb +++ /dev/null @@ -1,31 +0,0 @@ -#!/usr/bin/env ruby -module PuppetTest::Support::Resources - def tree_resource(name) - Puppet::Type.type(:file).new :title => name, :path => "/tmp/#{name}", :mode => 0755 - end - - def tree_container(name) - Puppet::Type::Component.create :name => name, :type => "yay" - end - - def treenode(config, name, *resources) - comp = tree_container name - resources.each do |resource| - resource = tree_resource(resource) if resource.is_a?(String) - config.add_edge(comp, resource) - config.add_resource resource unless config.resource(resource.ref) - end - comp - end - - def mktree - catalog = Puppet::Resource::Catalog.new do |config| - one = treenode(config, "one", "a", "b") - two = treenode(config, "two", "c", "d") - middle = treenode(config, "middle", "e", "f", two) - top = treenode(config, "top", "g", "h", middle, one) - end - - catalog - end -end diff --git a/test/lib/puppettest/support/utils.rb b/test/lib/puppettest/support/utils.rb deleted file mode 100644 index 10cfa95ee..000000000 --- a/test/lib/puppettest/support/utils.rb +++ /dev/null @@ -1,132 +0,0 @@ -module PuppetTest::Support -end -module PuppetTest::Support::Utils - def gcdebug(type) - Puppet.warning "#{type}: #{ObjectSpace.each_object(type) { |o| }}" - end - - def basedir(*list) - unless defined? @@basedir - Dir.chdir(File.dirname(__FILE__)) do - @@basedir = File.dirname(File.dirname(File.dirname(File.dirname(Dir.getwd)))) - end - end - if list.empty? - @@basedir - else - File.join(@@basedir, *list) - end - end - - def fakedata(dir,pat='*') - glob = "#{basedir}/test/#{dir}/#{pat}" - files = Dir.glob(glob,File::FNM_PATHNAME) - raise Puppet::DevError, "No fakedata matching #{glob}" if files.empty? - files - end - - def datadir(*list) - File.join(basedir, "test", "data", *list) - end - - # - # TODO: I think this method needs to be renamed to something a little more - # explanatory. - # - - # Turn a list of resources, or possibly a catalog and some resources, - # into a catalog object. - def resources2catalog(*resources) - if resources[0].is_a?(Puppet::Resource::Catalog) - config = resources.shift - resources.each { |r| config.add_resource r } unless resources.empty? - elsif resources[0].is_a?(Puppet::Type.type(:component)) - raise ArgumentError, "resource2config() no longer accpts components" - comp = resources.shift - comp.delve - else - config = Puppet::Resource::Catalog.new - resources.each { |res| config.add_resource res } - end - config - end - - # TODO: rewrite this to use the 'etc' module. - - # Define a variable that contains the name of my user. - def setme - # retrieve the user name - id = %x{id}.chomp - if id =~ /uid=\d+\(([^\)]+)\)/ - @me = $1 - else - puts id - end - raise "Could not retrieve user name; 'id' did not work" unless defined?(@me) - end - - # Define a variable that contains a group I'm in. - def set_mygroup - # retrieve the user name - group = %x{groups}.chomp.split(/ /)[0] - raise "Could not find group to set in @mygroup" unless group - @mygroup = group - end - - def fakefile(name) - ary = [basedir, "test"] - ary += name.split("/") - file = File.join(ary) - raise Puppet::DevError, "No fakedata file #{file}" unless FileTest.exists?(file) - file - end - - # wrap how to retrieve the masked mode - def filemode(file) - File.stat(file).mode & 007777 - end - - def memory - Puppet::Util.memory - end - - # a list of files that we can parse for testing - def textfiles - textdir = datadir "snippets" - Dir.entries(textdir).reject { |f| - f =~ /^\./ or f =~ /fail/ - }.each { |f| - yield File.join(textdir, f) - } - end - - def failers - textdir = datadir "failers" - # only parse this one file now - files = Dir.entries(textdir).reject { |file| - file =~ %r{\.swp} - }.reject { |file| - file =~ %r{\.disabled} - }.collect { |file| - File.join(textdir,file) - }.find_all { |file| - FileTest.file?(file) - }.sort.each { |file| - Puppet.debug "Processing #{file}" - yield file - } - end - - def mk_catalog(*resources) - if resources[0].is_a?(String) - name = resources.shift - else - name = :testing - end - config = Puppet::Resource::Catalog.new :testing do |conf| - resources.each { |resource| conf.add_resource resource } - end - - config - end -end diff --git a/test/lib/puppettest/testcase.rb b/test/lib/puppettest/testcase.rb deleted file mode 100755 index 0ec98846c..000000000 --- a/test/lib/puppettest/testcase.rb +++ /dev/null @@ -1,24 +0,0 @@ -#!/usr/bin/env ruby -require 'puppettest' -require 'puppettest/runnable_test' -require 'test/unit' - -class PuppetTest::TestCase < Test::Unit::TestCase - include PuppetTest - extend PuppetTest::RunnableTest - - def self.suite - # Always skip this parent class. It'd be nice if there were a - # "supported" way to do this. - if self == PuppetTest::TestCase - suite = Test::Unit::TestSuite.new(name) - return suite - elsif self.runnable? - return super - else - puts "Skipping #{name}: #{@messages.join(", ")}" if defined? $console - suite = Test::Unit::TestSuite.new(name) - return suite - end - end -end diff --git a/test/lib/rake/puppet_test_loader.rb b/test/lib/rake/puppet_test_loader.rb deleted file mode 100644 index 17d29591f..000000000 --- a/test/lib/rake/puppet_test_loader.rb +++ /dev/null @@ -1,14 +0,0 @@ - -require 'test/unit/autorunner' -require 'getoptlong' -require 'puppettest' - -args = PuppetTest.munge_argv - -args.each { |f| require f unless f =~ /^-/ } - -runner = Test::Unit::AutoRunner.new(false) -runner.process_args - -exit 14 unless runner.run - diff --git a/test/lib/rake/puppet_testtask.rb b/test/lib/rake/puppet_testtask.rb deleted file mode 100644 index c490e5710..000000000 --- a/test/lib/rake/puppet_testtask.rb +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/env ruby - -require 'rake' -require 'rake/testtask' - -module Rake - class PuppetTestTask < Rake::TestTask - def rake_loader - if Integer(RUBY_VERSION.split(/\./)[2]) < 4 - file = super - else - file = find_file('rake/puppet_test_loader') or - fail "unable to find rake test loader" - end - file - end - end -end - diff --git a/test/lib/stubba.rb b/test/lib/stubba.rb deleted file mode 100644 index 747054cfc..000000000 --- a/test/lib/stubba.rb +++ /dev/null @@ -1,2 +0,0 @@ -# for backwards compatibility -require 'mocha' diff --git a/test/network/authconfig.rb b/test/network/authconfig.rb deleted file mode 100755 index 3a4f18838..000000000 --- a/test/network/authconfig.rb +++ /dev/null @@ -1,69 +0,0 @@ -#!/usr/bin/env ruby - -require File.expand_path(File.dirname(__FILE__) + '/../lib/puppettest') - -require 'puppettest' - -require 'puppet/network/authconfig' - -class TestAuthConfig < Test::Unit::TestCase - include PuppetTest - - def request(call, client, ip) - r = Puppet::Network::ClientRequest.new(client, ip, false) - h, m = call.split(".") - r.handler = h - r.method = m - r - end - - def test_parsingconfigfile - file = tempfile - assert(Puppet[:authconfig], "No config path") - - Puppet[:authconfig] = file - - File.open(file, "w") { |f| - f.puts "[pelementserver.describe] - allow *.madstop.com - deny 10.10.1.1 - -[fileserver] - allow *.madstop.com - deny 10.10.1.1 - -[fileserver.list] - allow 10.10.1.1 -" - } - - config = nil - assert_nothing_raised { - config = Puppet::Network::AuthConfig.new(file) - } - - assert_nothing_raised { - assert(config.allowed?(request("pelementserver.describe", "culain.madstop.com", "1.1.1.1")), "Did not allow host") - assert(! config.allowed?(request("pelementserver.describe", "culain.madstop.com", "10.10.1.1")), "Allowed host") - assert(config.allowed?(request("fileserver.yay", "culain.madstop.com", "10.1.1.1")), "Did not allow host to fs") - assert(! config.allowed?(request("fileserver.yay", "culain.madstop.com", "10.10.1.1")), "Allowed host to fs") - assert(config.allowed?(request("fileserver.list", "culain.madstop.com", "10.10.1.1")), "Did not allow host to fs.list") - } - end - - def test_singleton - auth = nil - assert_nothing_raised { auth = Puppet::Network::AuthConfig.main } - assert(auth, "did not get main authconfig") - - other = nil - assert_nothing_raised { other = Puppet::Network::AuthConfig.main } - - assert_equal( - auth.object_id, other.object_id, - - "did not get same authconfig from class") - end -end - - diff --git a/test/network/authorization.rb b/test/network/authorization.rb deleted file mode 100755 index 5a1254a84..000000000 --- a/test/network/authorization.rb +++ /dev/null @@ -1,138 +0,0 @@ -#!/usr/bin/env ruby - -require File.expand_path(File.dirname(__FILE__) + '/../lib/puppettest') - -require 'puppettest' -require 'puppet/network/authorization' -require 'mocha' - -class TestAuthConfig < Test::Unit::TestCase - include PuppetTest - - # A mock class for authconfig - class FakeAuth - class << self - attr_accessor :allow, :exists - end - def allowed?(req) - self.class.allow - end - def exists? - self.class.exists - end - end - - class AuthTest - include Puppet::Network::Authorization - - def clear - @loaded.clear - end - - def load(name) - @loaded ||= [] - @loaded << name - end - - def handler_loaded?(name) - @loaded ||= [] - @loaded.include?(name) - end - end - - def setup - super - @obj = AuthTest.new - - # Override the authconfig to make life easier - class << @obj - def authconfig - @authconfig ||= FakeAuth.new - end - end - @request = Puppet::Network::ClientRequest.new("host", "ip", false) - @request.handler = "foo" - @request.method = "bar" - end - - def test_authconfig - obj = AuthTest.new - auth = nil - assert_nothing_raised { auth = obj.send(:authconfig) } - assert(auth, "did not get auth") - assert_equal(Puppet::Network::AuthConfig.main.object_id, auth.object_id, "did not get main authconfig") - end - - def test_authorize - # Make sure that unauthenticated clients can do puppetca stuff, but - # nothing else. - @request.handler = "puppetca" - @request.method = "yay" - assert(@obj.authorized?(@request), "Did not allow unauthenticated ca call") - assert_logged(:notice, /Allowing/, "did not log call") - @request.handler = "other" - assert(! @obj.authorized?(@request), "Allowed unauthencated other call") - assert_logged(:notice, /Denying/, "did not log call") - - @request.authenticated = true - # We start without the namespace auth file, so everything should - # start out denied - assert(! @obj.authorized?(@request), "Allowed call with no config file") - assert_logged(:notice, /Denying/, "did not log call") - - # Now set our run_mode to master, so calls are allowed - Puppet.run_mode.stubs(:master?).returns true - - assert( - @obj.authorized?(@request), - - "Denied call with no config file and master") - assert_logged(:debug, /Allowing/, "did not log call") - - # Now "create" the file, so we do real tests - FakeAuth.exists = true - - # We start out denying - assert(! @obj.authorized?(@request), "Allowed call when denying") - assert_logged(:notice, /Denying/, "did not log call") - - FakeAuth.allow = true - assert(@obj.authorized?(@request), "Denied call when allowing") - assert_logged(:debug, /Allowing/, "did not log call") - end - - def test_available? - # Start out false - assert(! @obj.available?(@request), "Defaulted to true") - assert_logged(:warning, /requested unavailable/, "did not log call") - - @obj.load(@request.handler) - assert(@obj.available?(@request), "did not see it loaded") - end - - # Make sure we raise things appropriately - def test_verify - # Start out unavailabl - assert_raise(Puppet::Network::InvalidClientRequest) do - @obj.verify(@request) - end - class << @obj - def available?(req) - true - end - end - assert_raise(Puppet::Network::InvalidClientRequest) do - @obj.verify(@request) - end - class << @obj - def authorized?(req) - true - end - end - assert_nothing_raised do - @obj.verify(@request) - end - end -end - - diff --git a/test/network/authstore.rb b/test/network/authstore.rb deleted file mode 100755 index e3c185302..000000000 --- a/test/network/authstore.rb +++ /dev/null @@ -1,540 +0,0 @@ -#!/usr/bin/env ruby - -require File.expand_path(File.dirname(__FILE__) + '/../lib/puppettest') - -require 'puppettest' -require 'mocha' -require 'puppet/network/authstore' - -class TestAuthStore < Test::Unit::TestCase - include PuppetTest - Declaration = Puppet::Network::AuthStore::Declaration - def mkstore - store = nil - assert_nothing_raised { - store = Puppet::Network::AuthStore.new - } - - store - end - - def setup - super - @store = mkstore - end - - def test_localallow - Puppet[:trace] = false - assert_nothing_raised { - assert(@store.allowed?(nil, nil), "Store disallowed local access") - } - - assert_raise(Puppet::DevError) { - @store.allowed?("kirby.madstop.com", nil) - } - - assert_raise(Puppet::DevError) { - @store.allowed?(nil, "192.168.0.1") - } - end - - def test_simpleips - %w{ - 192.168.0.5 - 7.0.48.7 - }.each { |ip| - assert_nothing_raised("Failed to @store IP address #{ip}") { - @store.allow(ip) - } - - assert(@store.allowed?("hosttest.com", ip), "IP #{ip} not allowed") - } - - #assert_raise(Puppet::AuthStoreError) { - # @store.allow("192.168.674.0") - #} - end - - def test_ipranges - %w{ - 192.168.0.* - 192.168.1.0/24 - 192.178.* - 193.179.0.0/8 - }.each { |range| - assert_nothing_raised("Failed to @store IP range #{range}") { - @store.allow(range) - } - } - - %w{ - 192.168.0.1 - 192.168.1.5 - 192.178.0.5 - 193.0.0.1 - }.each { |ip| - assert(@store.allowed?("fakename.com", ip), "IP #{ip} is not allowed") - } - end - - def test_iprangedenials - assert_nothing_raised("Failed to @store overlapping IP ranges") { - @store.allow("192.168.0.0/16") - @store.deny("192.168.0.0/24") - } - - assert(@store.allowed?("fake.name", "192.168.1.50"), "/16 ip not allowed") - assert(! @store.allowed?("fake.name", "192.168.0.50"), "/24 ip allowed") - end - - def test_subdomaindenails - assert_nothing_raised("Failed to @store overlapping IP ranges") { - @store.allow("*.madstop.com") - @store.deny("*.sub.madstop.com") - } - - - assert( - @store.allowed?("hostname.madstop.com", "192.168.1.50"), - - "hostname not allowed") - - assert( - ! @store.allowed?("name.sub.madstop.com", "192.168.0.50"), - - "subname name allowed") - end - - def test_orderingstuff - assert_nothing_raised("Failed to @store overlapping IP ranges") { - @store.allow("*.madstop.com") - @store.deny("192.168.0.0/24") - } - - - assert( - @store.allowed?("hostname.madstop.com", "192.168.1.50"), - - "hostname not allowed") - - assert( - ! @store.allowed?("hostname.madstop.com", "192.168.0.50"), - - "Host allowed over IP") - end - - def test_globalallow - assert_nothing_raised("Failed to add global allow") { - @store.allow("*") - } - - [ - %w{hostname.com 192.168.0.4}, - %w{localhost 192.168.0.1}, - %w{localhost 127.0.0.1} - - ].each { |ary| - assert(@store.allowed?(*ary), "Failed to allow #{ary.join(",")}") - } - end - - def test_store - assert_nothing_raised do - - assert_nil( - @store.send(:store, :allow, "*.host.com"), - - "store did not return nil") - end - assert_equal([Declaration.new(:allow, "*.host.com")], - @store.send(:instance_variable_get, "@declarations"), - "Did not store declaration") - - # Now add another one and make sure it gets sorted appropriately - assert_nothing_raised do - - assert_nil( - @store.send(:store, :allow, "me.host.com"), - - "store did not return nil") - end - - - assert_equal( - [ - Declaration.new(:allow, "me.host.com"), - - Declaration.new(:allow, "*.host.com") - ], - @store.send(:instance_variable_get, "@declarations"), - "Did not sort declarations") - end - - def test_allow_and_deny - store = Puppet::Network::AuthStore.new - store.expects(:store).with(:allow, "host.com") - store.allow("host.com") - - store = Puppet::Network::AuthStore.new - store.expects(:store).with(:deny, "host.com") - store.deny("host.com") - - store = Puppet::Network::AuthStore.new - assert_nothing_raised do - - assert_nil( - store.allow("*"), - - "allow did not return nil") - end - - - assert( - store.globalallow?, - - "did not enable global allow") - end - - def test_hostnames - Puppet[:trace] = false - %w{ - kirby.madstop.com - luke.madstop.net - name-other.madstop.net - }.each { |name| - assert_nothing_raised("Failed to @store simple name #{name}") { - @store.allow(name) - } - assert(@store.allowed?(name, "192.168.0.1"), "Name #{name} not allowed") - } - - %w{ - ^invalid! - inval$id - - }.each { |pat| - - assert_raise( - Puppet::AuthStoreError, - - "name '#{pat}' was allowed") { - @store.allow(pat) - } - } - end - - def test_domains - assert_nothing_raised("Failed to @store domains") { - @store.allow("*.a.very.long.domain.name.com") - @store.allow("*.madstop.com") - @store.allow("*.some-other.net") - @store.allow("*.much.longer.more-other.net") - } - - %w{ - madstop.com - culain.madstop.com - kirby.madstop.com - funtest.some-other.net - ya-test.madstop.com - some.much.much.longer.more-other.net - }.each { |name| - assert(@store.allowed?(name, "192.168.0.1"), "Host #{name} not allowed") - } - - assert_raise(Puppet::AuthStoreError) { - @store.allow("domain.*.com") - } - - - assert( - !@store.allowed?("very.long.domain.name.com", "1.2.3.4"), - - "Long hostname allowed") - - assert_raise(Puppet::AuthStoreError) { - @store.allow("domain.*.other.com") - } - end - - # #531 - def test_case_insensitivity - @store.allow("hostname.com") - - %w{hostname.com Hostname.COM hostname.Com HOSTNAME.COM}.each do |name| - assert(@store.allowed?(name, "127.0.0.1"), "did not allow #{name}") - end - end - - def test_allowed? - Puppet[:trace] = false - - assert( - @store.allowed?(nil, nil), - - "Did not default to true for local checks") - assert_raise(Puppet::DevError, "did not fail on one input") do - @store.allowed?("host.com", nil) - end - assert_raise(Puppet::DevError, "did not fail on one input") do - @store.allowed?(nil, "192.168.0.1") - end - - end - - # Make sure more specific allows and denies win over generalities - def test_specific_overrides - @store.allow("host.madstop.com") - @store.deny("*.madstop.com") - - - assert( - @store.allowed?("host.madstop.com", "192.168.0.1"), - - "More specific allowal by name failed") - - @store.allow("192.168.0.1") - @store.deny("192.168.0.0/24") - - - assert( - @store.allowed?("host.madstop.com", "192.168.0.1"), - - "More specific allowal by ip failed") - end - - def test_dynamic_backreferences - @store.allow("$1.madstop.com") - - assert_nothing_raised { @store.interpolate([nil, "host"]) } - assert(@store.allowed?("host.madstop.com", "192.168.0.1"), "interpolation failed") - assert_nothing_raised { @store.reset_interpolation } - end - - def test_dynamic_ip - @store.allow("192.168.0.$1") - - assert_nothing_raised { @store.interpolate([nil, "12"]) } - assert(@store.allowed?("host.madstop.com", "192.168.0.12"), "interpolation failed") - assert_nothing_raised { @store.reset_interpolation } - end - - def test_multiple_dynamic_backreferences - @store.allow("$1.$2") - - assert_nothing_raised { @store.interpolate([nil, "host", "madstop.com"]) } - assert(@store.allowed?("host.madstop.com", "192.168.0.1"), "interpolation failed") - assert_nothing_raised { @store.reset_interpolation } - end - - def test_multithreaded_allow_with_dynamic_backreferences - @store.allow("$1.madstop.com") - - threads = [] - 9.times { |a| - threads << Thread.new { - 9.times { |b| - Thread.pass - @store.interpolate([nil, "a#{b}", "madstop.com"]) - Thread.pass - assert( @store.allowed?("a#{b}.madstop.com", "192.168.0.1") ) - Thread.pass - @store.reset_interpolation - Thread.pass - } - } - } - threads.each { |th| th.join } - end - -end - -class TestAuthStoreDeclaration < PuppetTest::TestCase - include PuppetTest - Declaration = Puppet::Network::AuthStore::Declaration - - def setup - super - @decl = Declaration.new(:allow, "hostname.com") - end - - def test_parse - { - "192.168.0.1" => [:ip, IPAddr.new("192.168.0.1"), nil], - "2001:700:300:1800::" => [:ip, IPAddr.new("2001:700:300:1800::"), nil], - "2001:700:300:1800::/64" => [:ip, IPAddr.new("2001:700:300:1800::/64"), 64], - "192.168.0.1/32" => [:ip, IPAddr.new("192.168.0.1/32"), 32], - "192.168.0.1/24" => [:ip, IPAddr.new("192.168.0.1/24"), 24], - "192.*" => [:ip, IPAddr.new("192.0.0.0/8"), 8], - "192.168.*" => [:ip, IPAddr.new("192.168.0.0/16"), 16], - "192.168.0.*" => [:ip, IPAddr.new("192.168.0.0/24"), 24], - "hostname.com" => [:domain, %w{com hostname}, nil], - "Hostname.COM" => [:domain, %w{com hostname}, nil], - "billy.Hostname.COM" => [:domain, %w{com hostname billy}, nil], - "billy-jean.Hostname.COM" => [:domain, %w{com hostname billy-jean}, nil], - "*.hostname.COM" => [:domain, %w{com hostname}, 2], - "*.hostname.COM" => [:domain, %w{com hostname}, 2], - "$1.hostname.COM" => [:dynamic, %w{com hostname $1}, nil], - "192.168.$1.$2" => [:dynamic, %w{$2 $1 168 192}, nil], - "8A5BC90C-B8FD-4CBC-81DA-BAD84D551791" => [:opaque, %w{8A5BC90C-B8FD-4CBC-81DA-BAD84D551791}, nil] - }.each do |input, output| - - # Create a new decl each time, so values aren't cached. - assert_nothing_raised do - @decl = Declaration.new(:allow, input) - end - - [:name, :pattern, :length].zip(output).each do |method, value| - assert_equal(value, @decl.send(method), "Got incorrect value for #{method} from #{input}") - end - end - - %w{-hostname.com hostname.*}.each do |input| - assert_raise(Puppet::AuthStoreError, "Did not fail on #{input}") do - @decl.pattern = input - end - end - - ["hostname .com", "192.168 .0.1"].each do |input| - assert_raise(Puppet::AuthStoreError, "Did not fail on #{input}") do - @decl.pattern = input - end - end - end - - def test_result - ["allow", :allow].each do |val| - assert_nothing_raised { @decl.type = val } - assert_equal(true, @decl.result, "did not result to true with #{val.inspect}") - end - - [:deny, "deny"].each do |val| - assert_nothing_raised { @decl.type = val } - - assert_equal( - false, @decl.result, - - "did not result to false with #{val.inspect}") - end - - ["yay", 1, nil, false, true].each do |val| - assert_raise(ArgumentError, "Did not fail on #{val.inspect}") do - @decl.type = val - end - end - end - - def test_munge_name - { - "hostname.com" => %w{com hostname}, - "alley.hostname.com" => %w{com hostname alley}, - "*.hostname.com" => %w{com hostname *}, - "*.HOSTNAME.Com" => %w{com hostname *}, - "*.HOSTNAME.Com" => %w{com hostname *}, - - }.each do |input, output| - assert_equal(output, @decl.send(:munge_name, input), "munged #{input} incorrectly") - end - end - - # Make sure people can specify TLDs - def test_match_tlds - assert_nothing_raised { - @decl.pattern = "*.tld" - } - - assert_equal(%w{tld}, @decl.pattern, "Failed to allow custom tld") - end - - # Make sure we sort correctly. - def test_sorting - # Make sure declarations with no length sort first. - host_exact = Declaration.new(:allow, "host.com") - host_range = Declaration.new(:allow, "*.host.com") - - ip_exact = Declaration.new(:allow, "192.168.0.1") - ip_range = Declaration.new(:allow, "192.168.0.*") - - - assert_equal( - -1, host_exact <=> host_range, - - "exact name match did not sort first") - - - assert_equal( - -1, ip_exact <=> ip_range, - - "exact ip match did not sort first") - - # Next make sure we sort by length - ip_long = Declaration.new(:allow, "192.168.*") - assert_equal(-1, ip_range <=> ip_long, "/16 sorted before /24 in ip") - - # Now try it using masks - ip24 = Declaration.new(:allow, "192.168.0.0/24") - ip16 = Declaration.new(:allow, "192.168.0.0/16") - - assert_equal(-1, ip24 <=> ip16, "/16 sorted before /24 in ip with masks") - - # Make sure ip checks sort before host checks - assert_equal(-1, ip_exact <=> host_exact, "IP exact did not sort before host exact") - - - assert_equal( - -1, ip_range <=> host_range, - - "IP range did not sort before host range") - - host_long = Declaration.new(:allow, "*.domain.host.com") - - assert_equal(-1, host_long <=> host_range, "did not sort by domain length") - - # Now make sure denies sort before allows, for equivalent - # declarations. - host_deny = Declaration.new(:deny, "host.com") - assert_equal(-1, host_deny <=> host_exact, "deny did not sort before allow when exact") - - host_range_deny = Declaration.new(:deny, "*.host.com") - assert_equal(-1, host_range_deny <=> host_range, "deny did not sort before allow when ranged") - - ip_allow = Declaration.new(:allow, "192.168.0.0/16") - ip_deny = Declaration.new(:deny, "192.168.0.0/16") - - - assert_equal( - -1, ip_deny <=> ip_allow, - - "deny did not sort before allow in ip range") - - %w{host.com *.domain.com 192.168.0.1 192.168.0.1/24}.each do |decl| - assert_equal(0, Declaration.new(:allow, decl) <=> - Declaration.new(:allow, decl), - "Equivalent declarations for #{decl} were considered different" - ) - end - end - - def test_match? - host = Declaration.new(:allow, "host.com") - host.expects(:matchname?).with("host.com") - host.match?("host.com", "192.168.0.1") - - ip = Declaration.new(:allow, "192.168.0.1") - ip.pattern.expects(:include?) - ip.match?("host.com", "192.168.0.1") - end - - def test_matchname? - host = Declaration.new(:allow, "host.com") - assert(host.send(:matchname?, "host.com"), "exact did not match") - assert(! host.send(:matchname?, "yay.com"), "incorrect match") - - domain = Declaration.new(:allow, "*.domain.com") - %w{host.domain.com domain.com very.long.domain.com very-long.domain.com }.each do |name| - assert(domain.send(:matchname?, name), "Did not match #{name}") - end - end -end - - diff --git a/test/network/client_request.rb b/test/network/client_request.rb deleted file mode 100755 index 96b9d3e4f..000000000 --- a/test/network/client_request.rb +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/env ruby - -require File.expand_path(File.dirname(__FILE__) + '/../lib/puppettest') - -require 'puppettest' - -require 'puppet/network/client_request' - -class TestClientRequest < Test::Unit::TestCase - include PuppetTest - - def test_initialize - req = nil - assert_nothing_raised do - req = Puppet::Network::ClientRequest.new("name", "ip", false) - end - - assert_equal("name", req.name, "host name was not set correctly") - assert_equal("ip", req.ip, "host ip was not set correctly") - assert_equal(false, req.authenticated, "host auth was not set correctly") - assert(! req.authenticated, "host was incorrectly considered authenticated") - - req.authenticated = true - assert(req.authenticated, "host was not considered authenticated") - - assert_raise(ArgumentError) do - req.call - end - - req.handler = "yay" - req.method = "foo" - assert_equal("yay.foo", req.call, "call was not built correctly") - - assert_equal("name(ip)", req.to_s, "request string not correct") - end -end - - diff --git a/test/network/rights.rb b/test/network/rights.rb deleted file mode 100755 index 0167a98f1..000000000 --- a/test/network/rights.rb +++ /dev/null @@ -1,40 +0,0 @@ -#!/usr/bin/env ruby - -require File.expand_path(File.dirname(__FILE__) + '/../lib/puppettest') - -require 'puppettest' -require 'puppet/network/rights' - -class TestRights < Test::Unit::TestCase - include PuppetTest - - def setup - super - @store = Puppet::Network::Rights.new - end - - - def test_rights - assert_raise(ArgumentError, "Did not fail on unknown right") { - @store.allowed?(:write, "host.madstop.com", "0.0.0.0") - } - - assert_nothing_raised { - @store.newright(:write) - } - - - assert( - ! @store.allowed?(:write, "host.madstop.com", "0.0.0.0"), - - "Defaulted to allowing access") - - assert_nothing_raised { - @store[:write].info "This is a log message" - } - - assert_logged(:info, /This is a log message/, "did not log from Rights") - end -end - - diff --git a/test/other/puppet.rb b/test/other/puppet.rb deleted file mode 100755 index 871860f08..000000000 --- a/test/other/puppet.rb +++ /dev/null @@ -1,85 +0,0 @@ -#!/usr/bin/env ruby - -require File.expand_path(File.dirname(__FILE__) + '/../lib/puppettest') - -require 'puppet' -require 'puppettest' - -# Test the different features of the main puppet module -class TestPuppetModule < Test::Unit::TestCase - include PuppetTest - - def mkfakeclient - Class.new(Puppet::Network::Client) do - def initialize - end - - def runnow - Puppet.info "fake client has run" - end - end - end - - def mktestclass - Class.new do - def initialize(file) - @file = file - end - - def started? - FileTest.exists?(@file) - end - - def start - File.open(@file, "w") do |f| f.puts "" end - end - - def shutdown - File.unlink(@file) - end - end - end - - def test_path - oldpath = ENV["PATH"] - cleanup do - ENV["PATH"] = oldpath - end - newpath = oldpath + ":/something/else" - assert_nothing_raised do - Puppet[:path] = newpath - end - - assert_equal(newpath, ENV["PATH"]) - end - - def test_libdir - oldlibs = $LOAD_PATH.dup - cleanup do - $LOAD_PATH.each do |dir| - $LOAD_PATH.delete(dir) unless oldlibs.include?(dir) - end - end - one = tempfile - two = tempfile - Dir.mkdir(one) - Dir.mkdir(two) - - # Make sure setting the libdir gets the dir added to $LOAD_PATH - assert_nothing_raised do - Puppet[:libdir] = one - end - - assert($LOAD_PATH.include?(one), "libdir was not added") - - # Now change it, make sure it gets added and the old one gets - # removed - assert_nothing_raised do - Puppet[:libdir] = two - end - - assert($LOAD_PATH.include?(two), "libdir was not added") - assert(! $LOAD_PATH.include?(one), "old libdir was not removed") - end -end - diff --git a/test/other/relationships.rb b/test/other/relationships.rb deleted file mode 100755 index e36dcda71..000000000 --- a/test/other/relationships.rb +++ /dev/null @@ -1,91 +0,0 @@ -#!/usr/bin/env ruby - -require File.expand_path(File.dirname(__FILE__) + '/../lib/puppettest') - -require 'puppet' -require 'puppettest' - -class TestRelationships < Test::Unit::TestCase - include PuppetTest - def setup - super - Puppet::Type.type(:exec) - end - - def newfile - assert_nothing_raised { - return Puppet::Type.type(:file).new( - :path => tempfile, - :check => [:mode, :owner, :group] - ) - } - end - - def check_relationship(sources, targets, out, refresher) - if out - deps = sources.builddepends - sources = [sources] - else - deps = targets.builddepends - targets = [targets] - end - assert_instance_of(Array, deps) - assert(! deps.empty?, "Did not receive any relationships") - - deps.each do |edge| - assert_instance_of(Puppet::Relationship, edge) - end - - sources.each do |source| - targets.each do |target| - edge = deps.find { |e| e.source == source and e.target == target } - assert(edge, "Could not find edge for #{source.ref} => #{target.ref}") - - if refresher - assert_equal(:ALL_EVENTS, edge.event) - assert_equal(:refresh, edge.callback) - else - assert_nil(edge.event) - assert_nil(edge.callback, "Got a callback with no events") - end - end - end - end - - def test_autorequire - # We know that execs autorequire their cwd, so we'll use that - path = tempfile - file = Puppet::Type.type(:file).new( - :title => "myfile", :path => path, - :ensure => :directory - ) - exec = Puppet::Type.newexec( - :title => "myexec", :cwd => path, - :command => "/bin/echo" - ) - catalog = mk_catalog(file, exec) - reqs = nil - assert_nothing_raised do - reqs = exec.autorequire - end - assert_instance_of(Puppet::Relationship, reqs[0], "Did not return a relationship edge") - assert_equal(file, reqs[0].source, "Did not set the autorequire source correctly") - assert_equal(exec, reqs[0].target, "Did not set the autorequire target correctly") - - # Now make sure that these relationships are added to the - # relationship graph - catalog.apply do |trans| - assert(catalog.relationship_graph.path_between(file, exec), "autorequire edge was not created") - end - end - - # Testing #411. It was a problem with builddepends. - def test_missing_deps - file = Puppet::Type.type(:file).new :path => tempfile, :require => Puppet::Resource.new("file", "/no/such/file") - - assert_raise(Puppet::Error) do - file.builddepends - end - end -end - diff --git a/test/other/report.rb b/test/other/report.rb deleted file mode 100755 index fb206470a..000000000 --- a/test/other/report.rb +++ /dev/null @@ -1,135 +0,0 @@ -#!/usr/bin/env ruby - -require File.expand_path(File.dirname(__FILE__) + '/../lib/puppettest') - -require 'puppet' -require 'puppet/reports' -require 'puppet/transaction/report' -require 'puppettest' -require 'puppettest/reporttesting' - -class TestReports < Test::Unit::TestCase - include PuppetTest - include PuppetTest::Reporttesting - - def mkreport - # First do some work - objects = [] - 6.times do |i| - file = tempfile - - # Make every third file - File.open(file, "w") { |f| f.puts "" } if i % 3 == 0 - - - objects << Puppet::Type.type(:file).new( - - :path => file, - - :ensure => "file" - ) - end - - config = mk_catalog(*objects) - # So the report works out. - config.retrieval_duration = 0.001 - trans = config.apply - - trans.generate_report - end - - # Make sure we can use reports as log destinations. - def test_reports_as_log_destinations - report = fakereport - - assert_nothing_raised { - Puppet::Util::Log.newdestination(report) - } - - # Now make a file for testing logging - file = Puppet::Type.type(:file).new(:path => tempfile, :ensure => "file") - file.finish - - log = nil - assert_nothing_raised { - log = file.log "This is a message, yo" - } - - assert(report.logs.include?(log), "Report did not get log message") - - assert_nothing_raised { - Puppet::Util::Log.close(report) - } - - log = file.log "This is another message, yo" - - assert(! report.logs.include?(log), "Report got log message after close") - end - - def test_store_report - # Create a bunch of log messages in an array. - report = Puppet::Transaction::Report.new("apply") - - # We have to reuse reporting here because of something going on in the - # server/report.rb file - Puppet.settings.use(:main, :master) - - 3.times { |i| - log = Puppet.warning("Report test message #{i}") - - report << log - } - - assert_nothing_raised do - report.extend(Puppet::Reports.report(:store)) - end - - yaml = YAML.dump(report) - - file = report.process - - assert(FileTest.exists?(file), "report file did not get created") - assert_equal(yaml, File.read(file), "File did not get written") - end - - if Puppet.features.rrd? || Puppet.features.rrd_legacy? - def test_rrdgraph_report - Puppet.settings.use(:main, :metrics) - report = mkreport - - assert(! report.metrics.empty?, "Did not receive any metrics") - - assert_nothing_raised do - report.extend(Puppet::Reports.report(:rrdgraph)) - end - - assert_nothing_raised { - report.process - } - - hostdir = nil - assert_nothing_raised do - hostdir = report.hostdir - end - - assert(hostdir, "Did not get hostdir back") - - assert(FileTest.directory?(hostdir), "Host rrd dir did not get created") - index = File.join(hostdir, "index.html") - assert(FileTest.exists?(index), "index file was not created") - - # Now make sure it creaets each of the rrd files - %w{changes resources time}.each do |type| - file = File.join(hostdir, "#{type}.rrd") - assert(FileTest.exists?(file), "Did not create rrd file for #{type}") - - daily = file.sub ".rrd", "-daily.png" - assert(FileTest.exists?(daily), "Did not make daily graph for #{type}") - end - - end - else - $stderr.puts "Install RRD for metric reporting tests" - end -end - diff --git a/test/other/transactions.rb b/test/other/transactions.rb deleted file mode 100755 index d77fd1538..000000000 --- a/test/other/transactions.rb +++ /dev/null @@ -1,395 +0,0 @@ -#!/usr/bin/env ruby - -require File.expand_path(File.dirname(__FILE__) + '/../lib/puppettest') - -require 'mocha' -require 'puppet' -require 'puppettest' -require 'puppettest/support/resources' -require 'puppettest/support/utils' - -class TestTransactions < Test::Unit::TestCase - include PuppetTest::FileTesting - include PuppetTest::Support::Resources - include PuppetTest::Support::Utils - class Fakeprop true) - def finish - $finished << self.name - end - end - type.class_eval(&block) if block - cleanup do - Puppet::Type.rmtype(:generator) - end - - type - end - - # Create a new type that generates instances with shorter names. - def mkreducer(&block) - type = mkgenerator do - def eval_generate - ret = [] - if title.length > 1 - ret << self.class.new(:title => title[0..-2]) - else - return nil - end - ret - end - end - - type.class_eval(&block) if block - - type - end - - def test_prefetch - # Create a type just for testing prefetch - name = :prefetchtesting - $prefetched = false - type = Puppet::Type.newtype(name) do - newparam(:name) {} - end - - cleanup do - Puppet::Type.rmtype(name) - end - - # Now create a provider - type.provide(:prefetch) do - def self.prefetch(resources) - $prefetched = resources - end - end - - # Now create an instance - inst = type.new :name => "yay" - - # Create a transaction - trans = Puppet::Transaction.new(mk_catalog(inst)) - - # Make sure it gets called from within evaluate - $prefetched = false - assert_nothing_raised do - trans.evaluate - end - - assert_equal({inst.title => inst}, $prefetched, "evaluate did not call prefetch") - end - - def test_ignore_tags? - config = Puppet::Resource::Catalog.new - config.host_config = true - transaction = Puppet::Transaction.new(config) - assert(! transaction.ignore_tags?, "Ignoring tags when applying a host catalog") - - config.host_config = false - transaction = Puppet::Transaction.new(config) - assert(transaction.ignore_tags?, "Not ignoring tags when applying a non-host catalog") - end - - def test_missing_tags? - resource = Puppet::Type.type(:notify).new :title => "foo" - resource.stubs(:tagged?).returns true - config = Puppet::Resource::Catalog.new - - # Mark it as a host config so we don't care which test is first - config.host_config = true - transaction = Puppet::Transaction.new(config) - assert(! transaction.missing_tags?(resource), "Considered a resource to be missing tags when none are set") - - # host catalogs pay attention to tags, no one else does. - Puppet[:tags] = "three,four" - config.host_config = false - transaction = Puppet::Transaction.new(config) - assert(! transaction.missing_tags?(resource), "Considered a resource to be missing tags when not running a host catalog") - - # - config.host_config = true - transaction = Puppet::Transaction.new(config) - assert(! transaction.missing_tags?(resource), "Considered a resource to be missing tags when running a host catalog and all tags are present") - - transaction = Puppet::Transaction.new(config) - resource.stubs :tagged? => false - assert(transaction.missing_tags?(resource), "Considered a resource not to be missing tags when running a host catalog and tags are missing") - end - - # Make sure changes in contained files still generate callback events. - def test_generated_callbacks - dir = tempfile - maker = tempfile - Dir.mkdir(dir) - file = File.join(dir, "file") - File.open(file, "w") { |f| f.puts "" } - File.chmod(0644, file) - File.chmod(0755, dir) # So only the child file causes a change - - dirobj = Puppet::Type.type(:file).new :mode => "755", :recurse => true, :path => dir - exec = Puppet::Type.type(:exec).new :title => "make", - :command => "touch #{maker}", :path => ENV['PATH'], :refreshonly => true, - :subscribe => dirobj - - assert_apply(dirobj, exec) - assert(FileTest.exists?(maker), "Did not make callback file") - end - - # Testing #401 -- transactions are calling refresh on classes that don't support it. - def test_callback_availability - $called = [] - klass = Puppet::Type.newtype(:norefresh) do - newparam(:name, :namevar => true) {} - def method_missing(method, *args) - $called << method - end - end - cleanup do - $called = nil - Puppet::Type.rmtype(:norefresh) - end - - file = Puppet::Type.type(:file).new :path => tempfile, :content => "yay" - one = klass.new :name => "one", :subscribe => file - - assert_apply(file, one) - - assert(! $called.include?(:refresh), "Called refresh when it wasn't set as a method") - end - - # Testing #437 - cyclic graphs should throw failures. - def test_fail_on_cycle - one = Puppet::Type.type(:exec).new(:name => "/bin/echo one") - two = Puppet::Type.type(:exec).new(:name => "/bin/echo two") - one[:require] = two - two[:require] = one - - config = mk_catalog(one, two) - trans = Puppet::Transaction.new(config) - assert_raise(Puppet::Error) do - trans.evaluate - end - end - - def test_errors_during_generation - type = Puppet::Type.newtype(:failer) do - newparam(:name) {} - def eval_generate - raise ArgumentError, "Invalid value" - end - def generate - raise ArgumentError, "Invalid value" - end - end - cleanup { Puppet::Type.rmtype(:failer) } - - obj = type.new(:name => "testing") - - assert_apply(obj) - end - - def test_self_refresh_causes_triggering - type = Puppet::Type.newtype(:refresher, :self_refresh => true) do - attr_accessor :refreshed, :testing - newparam(:name) {} - newproperty(:testing) do - def retrieve - :eh - end - - def sync - # noop - :ran_testing - end - end - def refresh - @refreshed = true - end - end - cleanup { Puppet::Type.rmtype(:refresher)} - - obj = type.new(:name => "yay", :testing => "cool") - - assert(! obj.insync?(obj.retrieve), "fake object is already in sync") - - # Now make sure it gets refreshed when the change happens - assert_apply(obj) - assert(obj.refreshed, "object was not refreshed during transaction") - end - - # Testing #433 - def test_explicit_dependencies_beat_automatic - # Create a couple of different resource sets that have automatic relationships and make sure the manual relationships win - rels = {} - # Now add the explicit relationship - # Now files - d = tempfile - f = File.join(d, "file") - file = Puppet::Type.type(:file).new(:path => f, :content => "yay") - dir = Puppet::Type.type(:file).new(:path => d, :ensure => :directory, :require => file) - - rels[dir] = file - rels.each do |after, before| - config = mk_catalog(before, after) - trans = Puppet::Transaction.new(config) - str = "from #{before} to #{after}" - - assert_nothing_raised("Failed to create graph #{str}") do - trans.add_dynamically_generated_resources - end - - - graph = trans.relationship_graph - assert(graph.edge?(before, after), "did not create manual relationship #{str}") - assert(! graph.edge?(after, before), "created automatic relationship #{str}") - end - end - - # #542 - make sure resources in noop mode still notify their resources, - # so that users know if a service will get restarted. - def test_noop_with_notify - path = tempfile - epath = tempfile - spath = tempfile - - file = Puppet::Type.type(:file).new( - :path => path, :ensure => :file, - - :title => "file") - - exec = Puppet::Type.type(:exec).new( - :command => "touch #{epath}", - :path => ENV["PATH"], :subscribe => file, :refreshonly => true, - - :title => 'exec1') - - exec2 = Puppet::Type.type(:exec).new( - :command => "touch #{spath}", - :path => ENV["PATH"], :subscribe => exec, :refreshonly => true, - - :title => 'exec2') - - Puppet[:noop] = true - - assert(file.noop, "file not in noop") - assert(exec.noop, "exec not in noop") - - @logs.clear - assert_apply(file, exec, exec2) - - assert(! FileTest.exists?(path), "Created file in noop") - assert(! FileTest.exists?(epath), "Executed exec in noop") - assert(! FileTest.exists?(spath), "Executed second exec in noop") - - assert(@logs.detect { |l| - l.message =~ /should be/ and l.source == file.property(:ensure).path}, - "did not log file change") - - assert( - @logs.detect { |l| - l.message =~ /Would have/ and l.source == exec.path }, - - "did not log first exec trigger") - - assert( - @logs.detect { |l| - l.message =~ /Would have/ and l.source == exec2.path }, - - "did not log second exec trigger") - end - - def test_only_stop_purging_with_relations - files = [] - paths = [] - 3.times do |i| - path = tempfile - paths << path - - file = Puppet::Type.type(:file).new( - :path => path, :ensure => :absent, - - :backup => false, :title => "file#{i}") - File.open(path, "w") { |f| f.puts "" } - files << file - end - - files[0][:ensure] = :file - files[0][:require] = files[1..2] - - # Mark the second as purging - files[1].purging - - assert_apply(*files) - - assert(FileTest.exists?(paths[1]), "Deleted required purging file") - assert(! FileTest.exists?(paths[2]), "Did not delete non-purged file") - end - - def test_flush - $state = :absent - $flushed = 0 - type = Puppet::Type.newtype(:flushtest) do - newparam(:name) - newproperty(:ensure) do - newvalues :absent, :present, :other - def retrieve - $state - end - def set(value) - $state = value - :thing_changed - end - end - - def flush - $flushed += 1 - end - end - - cleanup { Puppet::Type.rmtype(:flushtest) } - - obj = type.new(:name => "test", :ensure => :present) - - # first make sure it runs through and flushes - assert_apply(obj) - - assert_equal(:present, $state, "Object did not make a change") - assert_equal(1, $flushed, "object was not flushed") - - # Now run a noop and make sure we don't flush - obj[:ensure] = "other" - obj[:noop] = true - - assert_apply(obj) - assert_equal(:present, $state, "Object made a change in noop") - assert_equal(1, $flushed, "object was flushed in noop") - end -end diff --git a/test/puppet/defaults.rb b/test/puppet/defaults.rb deleted file mode 100755 index 7b7f6dbe3..000000000 --- a/test/puppet/defaults.rb +++ /dev/null @@ -1,69 +0,0 @@ -#!/usr/bin/env ruby - -require File.expand_path(File.dirname(__FILE__) + '/../lib/puppettest') - -require 'puppet' -require 'puppettest' - - -class TestPuppetDefaults < Test::Unit::TestCase - include PuppetTest - @@dirs = %w{rrddir confdir vardir logdir statedir} - @@files = %w{statefile manifest masterlog} - @@normals = %w{puppetport masterport server} - @@booleans = %w{noop} - - def testVersion - assert( Puppet.version =~ /^[0-9]+(\.[0-9]+)*/, "got invalid version number #{Puppet.version}") - end - - def testStringOrParam - [@@dirs,@@files,@@booleans].flatten.each { |param| - assert_nothing_raised { Puppet[param] } - assert_nothing_raised { Puppet[param.intern] } - } - end - - def test_valuesForEach - [@@dirs,@@files,@@booleans].flatten.each { |param| - param = param.intern - assert_nothing_raised { Puppet[param] } - } - end - - def testValuesForEach - [@@dirs,@@files,@@booleans].flatten.each { |param| - assert_nothing_raised { Puppet[param] } - } - end - - # we don't want user defaults in /, or root defaults in ~ - def testDefaultsInCorrectRoots - notval = nil - if Puppet.features.root? - notval = Regexp.new(File.expand_path("~")) - else - notval = /^\/var|^\/etc/ - end - [@@dirs,@@files].flatten.each { |param| - value = Puppet[param] - - assert_nothing_raised { raise "#{param} is incorrectly set to #{value}" } unless value !~ notval - } - end - - def test_settingdefaults - testvals = { - :fakeparam => "$confdir/yaytest", - :anotherparam => "$vardir/goodtest", - :string => "a yay string", - :boolean => true - } - - testvals.each { |param, default| - assert_nothing_raised { - Puppet.define_settings("testing", param => [default, "a value"]) - } - } - end -end diff --git a/test/rails/rails.rb b/test/rails/rails.rb deleted file mode 100755 index a9a750ffd..000000000 --- a/test/rails/rails.rb +++ /dev/null @@ -1,24 +0,0 @@ -#!/usr/bin/env ruby - -require File.expand_path(File.dirname(__FILE__) + '/../lib/puppettest') - -require 'puppet' -require 'puppet/rails' -require 'puppet/parser/parser' -require 'puppettest' -require 'puppettest/parsertesting' -require 'puppettest/resourcetesting' -require 'puppettest/railstesting' - -class TestRails < Test::Unit::TestCase - include PuppetTest::ParserTesting - include PuppetTest::ResourceTesting - include PuppetTest::RailsTesting - - def test_includerails - assert_nothing_raised { - require 'puppet/rails' - } - end -end - diff --git a/test/rails/railsparameter.rb b/test/rails/railsparameter.rb deleted file mode 100755 index fafa2b7e7..000000000 --- a/test/rails/railsparameter.rb +++ /dev/null @@ -1,80 +0,0 @@ -#!/usr/bin/env ruby - -require File.expand_path(File.dirname(__FILE__) + '/../lib/puppettest') - -require 'puppet' -require 'puppet/rails' -require 'puppettest' -require 'puppettest/railstesting' - -# Don't do any tests w/out this class -if defined? ::ActiveRecord::Base -class TestRailsParameter < Test::Unit::TestCase - include PuppetTest::RailsTesting - - def params - {"myname" => "myval", "multiple" => %w{one two three}} - end - - # Create a resource param from a rails parameter - def test_to_resourceparam - railsinit - - # Now create a source - parser = mkparser - source = parser.known_resource_types.add Puppet::Resource::Type.new(:hostclass, "myclass") - - host = Puppet::Rails::Host.new(:name => "myhost") - - host.save - - - resource = host.resources.create( - - :title => "/tmp/to_resource", - :restype => "file", - - :exported => true) - - # Use array and non-array values, to make sure we get things back in - # the same form. - params.each do |name, value| - param = Puppet::Rails::ParamName.find_or_create_by_name(name) - if value.is_a? Array - values = value - else - values = [value] - end - valueobjects = values.collect do |v| - - resource.param_values.create( - :value => v, - - :param_name => param) - end - - assert(param, "Did not create rails parameter") - - # The id doesn't get assigned until we save - end - - resource.save - - # And try to convert our parameter - params.each do |name, value| - param = Puppet::Rails::ParamName.find_by_name(name) - pp = nil - assert_nothing_raised do - pp = param.to_resourceparam(resource, source) - end - - assert_instance_of(Puppet::Parser::Resource::Param, pp) - assert_equal(name.to_sym, pp.name, "parameter name was not equal") - assert_equal(value, pp.value, "value was not equal for #{value.inspect}") - end - end -end -else - $stderr.puts "Install Rails for Rails and Caching tests" -end - diff --git a/test/ral/providers/group.rb b/test/ral/providers/group.rb deleted file mode 100755 index 4259be355..000000000 --- a/test/ral/providers/group.rb +++ /dev/null @@ -1,242 +0,0 @@ -#!/usr/bin/env ruby - -require File.expand_path(File.dirname(__FILE__) + '/../../lib/puppettest') - -require 'puppettest' -require 'etc' - -class TestGroupProvider < Test::Unit::TestCase - include PuppetTest - def setup - super - @@tmpgroups = [] - @provider = nil - assert_nothing_raised { - @provider = Puppet::Type.type(:group).defaultprovider - } - - assert(@provider, "Could not find default group provider") - assert(@provider.name != :fake, "Got a fake provider") - end - - def teardown - super - @@tmpgroups.each { |group| - remove(group) unless missing?(group) - } - end - - def mkgroup(name, hash = {}) - fakeresource = stub 'group', :allowdupe? => false, :name => name - fakeresource.stubs(:[]).returns nil - fakeresource.stubs(:should).returns nil - fakeresource.stubs(:[]).with(:name).returns name - hash.each do |name, val| - fakeresource.stubs(:should).with(name).returns val - fakeresource.stubs(:[]).with(name).returns val - end - group = nil - assert_nothing_raised { - group = @provider.new(fakeresource) - } - assert(group, "Could not create provider group") - - group - end - - case Facter["operatingsystem"].value - when "Darwin" - def missing?(group) - output = %x{nidump -r /groups/#{group} / 2>/dev/null}.chomp - - return output == "" - - assert_equal("", output, "Group #{group} is present:\n#{output}") - end - - def gid(name) - %x{nireport / /groups name gid}.split("\n").each { |line| - group, id = line.chomp.split(/\s+/) - assert(id =~ /^-?\d+$/, "Group id #{id.inspect} for #{group} is not a number") - if group == name - return Integer(id) - end - } - - nil - end - - def remove(group) - system("niutil -destroy / /groups/#{group}") - end - else - def missing?(group) - obj = Etc.getgrnam(group) - return false - rescue ArgumentError - return true - end - - def gid(name) - assert_nothing_raised { - obj = Etc.getgrnam(name) - return obj.gid - } - - nil - end - - def remove(group) - system("groupdel #{group}") - end - end - - def groupnames - %x{groups}.chomp.split(/ /) - end - - def groupids - Process.groups - end - - def attrtest_ensure(group) - old = group.ensure - assert_nothing_raised { - group.delete - } - - assert(!group.exists?, "Group was not deleted") - - assert_nothing_raised { - group.create - } - assert(group.exists?, "Group was not created") - - unless old == :present - assert_nothing_raised { - group.delete - } - end - end - - def attrtest_gid(group) - old = gid(group.name) - - newgid = old - while true - newgid += 1 - - if newgid - old > 1000 - $stderr.puts "Could not find extra test UID" - return - end - begin - Etc.getgrgid(newgid) - rescue ArgumentError => detail - break - end - end - - assert_nothing_raised("Failed to change group id") { - group.gid = newgid - } - - curgid = nil - assert_nothing_raised { - curgid = gid(group.name) - } - - assert_equal(newgid, curgid, "GID was not changed") - # Refresh - group.getinfo(true) - assert_equal(newgid, group.gid, "Object got wrong gid") - - assert_nothing_raised("Failed to change group id") { - group.gid = old - } - end - - # Iterate over each of our groups and try to grab the gid. - def test_ownprovidergroups - groupnames.each { |group| - gobj = nil - comp = nil - fakeresource = fakeresource(:group, group) - assert_nothing_raised { - gobj = @provider.new(fakeresource) - } - - assert(gobj.gid, "Failed to retrieve gid") - } - end - - if Puppet.features.root? - def test_mkgroup - gobj = nil - comp = nil - name = "pptestgr" - assert(missing?(name), "Group #{name} is still present") - group = mkgroup(name) - - @@tmpgroups << name - - assert(group.respond_to?(:addcmd), "no respondo?") - assert_nothing_raised { - group.create - } - assert(!missing?(name), "Group #{name} is missing") - - tests = Puppet::Type.type(:group).validproperties - - tests.each { |test| - if self.respond_to?("attrtest_#{test}") - self.send("attrtest_#{test}", group) - else - $stderr.puts "Not testing attr #{test} of group" - end - } - - assert_nothing_raised { - group.delete - } - end - - # groupadd -o is broken in FreeBSD. - unless Facter["operatingsystem"].value == "FreeBSD" - def test_duplicateIDs - group1 = mkgroup("group1", :gid => 125) - - @@tmpgroups << "group1" - @@tmpgroups << "group2" - # Create the first group - assert_nothing_raised { - group1.create - } - - # Not all OSes fail here, so we can't test that it doesn't work with - # it off, only that it does work with it on. - group2 = mkgroup("group2", :gid => 125) - group2.resource.stubs(:allowdupe?).returns true - - # Now create the second group - assert_nothing_raised { - group2.create - } - assert_equal(:present, group2.ensure, "Group did not get created") - end - end - else - $stderr.puts "Not running as root; skipping group creation tests." - end - - def test_autogen - provider = nil - group = Puppet::Type.type(:group).new(:name => nonrootgroup.name) - provider = group.provider - assert(provider, "did not get provider") - - # Everyone should be able to autogenerate a uid - assert_instance_of(Fixnum, provider.autogen(:gid)) - end -end - diff --git a/test/ral/providers/host/parsed.rb b/test/ral/providers/host/parsed.rb deleted file mode 100755 index 521654d53..000000000 --- a/test/ral/providers/host/parsed.rb +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/env ruby - -require File.expand_path(File.dirname(__FILE__) + '/../../../lib/puppettest') - -require 'puppettest' -require 'puppettest/fileparsing' -require 'test/unit' - -class TestParsedHostProvider < Test::Unit::TestCase - include PuppetTest - include PuppetTest::FileParsing - - def setup - super - @provider = Puppet::Type.type(:host).provider(:parsed) - - @oldfiletype = @provider.filetype - end - - def teardown - Puppet::Util::FileType.filetype(:ram).clear - @provider.filetype = @oldfiletype - @provider.clear - super - end - - # Parse our sample data and make sure we regenerate it correctly. - def test_hostsparse - fakedata("data/types/hosts").each do |file| fakedataparse(file) end - end -end - diff --git a/test/ral/providers/mailalias/aliases.rb b/test/ral/providers/mailalias/aliases.rb deleted file mode 100755 index 9cd2fc354..000000000 --- a/test/ral/providers/mailalias/aliases.rb +++ /dev/null @@ -1,55 +0,0 @@ -#!/usr/bin/env ruby - -require File.expand_path(File.dirname(__FILE__) + '/../../../lib/puppettest') - -require 'puppettest' -require 'puppettest/fileparsing' - -class TestMailaliasAliasesProvider < Test::Unit::TestCase - include PuppetTest - include PuppetTest::FileParsing - - def setup - super - @provider = Puppet::Type.type(:mailalias).provider(:aliases) - - @oldfiletype = @provider.filetype - - @alias = mkalias - end - - def teardown - Puppet::Util::FileType.filetype(:ram).clear - @provider.filetype = @oldfiletype - @provider.clear - super - end - - def mkalias(name = "me") - if defined?(@pcount) - @pcount += 1 - else - @pcount = 1 - end - args = { - :name => name, - :recipient => %w{here there} - } - - fakeresource = fakeresource(:mailalias, args[:name]) - - key = @provider.new(fakeresource) - args.each do |p,v| - key.send(p.to_s + "=", v) - end - - key - end - - def test_data_parsing_and_generating - fakedata("data/types/mailalias").each { |file| - fakedataparse(file) - } - end -end - diff --git a/test/ral/providers/nameservice.rb b/test/ral/providers/nameservice.rb deleted file mode 100755 index a04b45b1f..000000000 --- a/test/ral/providers/nameservice.rb +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/env ruby - -require File.expand_path(File.dirname(__FILE__) + '/../../lib/puppettest') - -require 'puppettest' -require 'puppet/provider/nameservice' -require 'facter' - -class TestNameServiceProvider < Test::Unit::TestCase - include PuppetTest::FileTesting - - def test_option - klass = Class.new(Puppet::Provider::NameService) - klass.resource_type = Puppet::Type.type(:user) - - val = nil - assert_nothing_raised { - val = klass.option(:home, :flag) - } - - assert_nil(val, "Got an option") - - assert_nothing_raised { - klass.options :home, :flag => "-d" - } - assert_nothing_raised { - val = klass.option(:home, :flag) - } - assert_equal("-d", val, "Got incorrect option") - end -end - diff --git a/test/ral/providers/package.rb b/test/ral/providers/package.rb deleted file mode 100755 index 5264443bc..000000000 --- a/test/ral/providers/package.rb +++ /dev/null @@ -1,245 +0,0 @@ -#!/usr/bin/env ruby - -require File.expand_path(File.dirname(__FILE__) + '/../../lib/puppettest') - -require 'puppettest' -require 'etc' - -class TestPackageProvider < Test::Unit::TestCase - include PuppetTest - - def setup - super - Puppet.info @method_name - end - - # Load the testpackages hash. - def self.load_test_packages - require 'yaml' - file = File.join(PuppetTest.datadir, "providers", "package", "testpackages.yaml") - raise "Could not find file #{file}" unless FileTest.exists?(file) - array = YAML::load(File.read(file)).collect { |hash| - # Stupid ruby 1.8.1. YAML is sometimes broken such that - # symbols end up being strings with the : in them. - hash.each do |name, value| - if name.is_a?(String) and name =~ /^:/ - hash.delete(name) - name = name.sub(/^:/, '').intern - hash[name] = value - end - if value.is_a?(String) and value =~ /^:/ - hash[name] = value.sub(/^:/, '').intern - end - end - } - - array - end - - def self.suitable_test_packages - list = load_test_packages - providers = {} - Puppet::Type.type(:package).suitableprovider.each do |provider| - providers[provider.name] = provider - end - facts = {} - Facter.to_hash.each do |fact, value| - facts[fact.to_s.downcase.intern] = value.to_s.downcase.intern - end - list.find_all { |hash| # First find the matching providers - hash.include?(:provider) and providers.include?(hash[:provider]) - }.reject { |hash| # Then find matching fact sets - facts.detect do |fact, value| - # We're detecting unmatched facts, but we also want to - # delete the facts so they don't show up later. - if fval = hash[fact] - hash.delete(fact) - fval = [fval] unless fval.is_a?(Array) - fval = fval.collect { |v| v.downcase.intern } - ! fval.include?(value) - end - end - } - end - - def assert_absent(provider, msg = "package not absent") - result = nil - assert_nothing_raised("Could not query provider") do - result = provider.query - end - if result.nil? - assert_nil(result) - elsif result.is_a?(Hash) - assert (result[:ensure] == :absent or result[:ensure] == :purged), msg - else - raise "dunno how to handle #{result.inspect}" - end - end - - def assert_not_absent(provider, msg = "package not installed") - result = nil - assert_nothing_raised("Could not query provider") do - result = provider.query - end - assert((result == :listed or result.is_a?(Hash)), "query did not return hash or :listed") - if result == :listed - assert(provider.resource.is(:ensure) != :absent, msg) - else - assert(result[:ensure] != :absent, msg) - end - end - - # Run a package through all of its paces. FIXME This should use the - # provider, not the package, duh. - def run_package_installation_test(hash) - # Turn the hash into a package - if files = hash[:files] - hash.delete(:files) - if files.is_a?(Array) - hash[:source] = files.shift - else - hash[:source] = files - files = [] - end - else - files = [] - end - - if versions = hash[:versions] - hash.delete(:versions) - else - versions = [] - end - - # Start out by just making sure it's installed - if versions.empty? - hash[:ensure] = :present - else - hash[:ensure] = versions.shift - end - - if hash[:source] - unless FileTest.exists?(hash[:source]) - $stderr.puts "Create a package at #{hash[:source]} for testing" - return - end - end - - if cleancmd = hash[:cleanup] - hash.delete(:cleanup) - end - - pkg = nil - assert_nothing_raised( - "Could not turn #{hash.inspect} into a package" - ) do - pkg = Puppet::Type.newpackage(hash) - end - - # Make any necessary modifications. - modpkg(pkg) - - provider = pkg.provider - - assert(provider, "Could not retrieve provider") - - return if result = provider.query and ! [:absent, :purged].include?(result[:ensure]) - - assert_absent(provider) - - if Process.uid != 0 - Puppet.info "Run as root for full package tests" - return - end - - cleanup do - if pkg.provider.respond_to?(:uninstall) - pkg.provider.flush - if pkg.provider.properties[:ensure] != :absent - assert_nothing_raised("Could not clean up package") do - pkg.provider.uninstall - end - end - else - system(cleancmd) if cleancmd - end - end - - # Now call 'latest' after the package is installed - if provider.respond_to?(:latest) - assert_nothing_raised("Could not call 'latest'") do - provider.latest - end - end - - assert_nothing_raised("Could not install package") do - provider.install - end - - assert_not_absent(provider, "package did not install") - - # If there are any remaining files, then test upgrading from there - unless files.empty? - pkg[:source] = files.shift - current = provider.properties - assert_nothing_raised("Could not upgrade") do - provider.update - end - provider.flush - new = provider.properties - assert(current != new, "package was not upgraded: #{current.inspect} did not change") - end - - unless versions.empty? - pkg[:ensure] = versions.shift - current = provider.properties - assert_nothing_raised("Could not upgrade") do - provider.update - end - provider.flush - new = provider.properties - assert(current != new, "package was not upgraded: #{current.inspect} did not change") - end - - # Now call 'latest' after the package is installed - if provider.respond_to?(:latest) - assert_nothing_raised("Could not call 'latest'") do - provider.latest - end - end - - # Now remove the package - if provider.respond_to?(:uninstall) - assert_nothing_raised do - provider.uninstall - end - - assert_absent(provider) - end - end - - # Now create a separate test method for each package - suitable_test_packages.each do |hash| - mname = ["test", hash[:name].to_s, hash[:provider].to_s].join("_").intern - - if method_defined?(mname) - warn "Already a test method defined for #{mname}" - else - define_method(mname) do - run_package_installation_test(hash) - end - end - end - - def test_dont_complain_if_theres_nothing_to_test - assert("sometimes the above metaprogramming fails to find anything to test and the runner complains") - end - - def modpkg(pkg) - case pkg[:provider] - when :sun - pkg[:adminfile] = "/usr/local/pkg/admin_file" - end - end -end - diff --git a/test/ral/providers/parsedfile.rb b/test/ral/providers/parsedfile.rb deleted file mode 100755 index b9e33e56c..000000000 --- a/test/ral/providers/parsedfile.rb +++ /dev/null @@ -1,695 +0,0 @@ -#!/usr/bin/env ruby - -require File.expand_path(File.dirname(__FILE__) + '/../../lib/puppettest') - -require 'puppettest' -require 'mocha' -require 'puppettest/fileparsing' -require 'puppet/util/filetype' -require 'puppet/provider/parsedfile' -require 'facter' - -class TestParsedFile < Test::Unit::TestCase - include PuppetTest - include PuppetTest::FileParsing - - Puppet::Type.newtype(:testparsedfiletype) do - ensurable - newproperty(:one) do - newvalue(:a) - newvalue(:b) - end - newproperty(:two) do - newvalue(:c) - newvalue(:d) - end - - newparam(:name) do - end - - # The target should always be a property, not a parameter. - newproperty(:target) do - defaultto { @resource.class.defaultprovider.default_target } - end - end - - # A simple block to skip the complexity of a full transaction. - def apply(resource) - [:one, :two, :ensure, :target].each do |st| - Puppet.info "Setting #{resource[:name]}: #{st} => #{resource.should(st)}" - resource.provider.send(st.to_s + "=", resource.should(st)) - end - end - - def mkresource(name, options = {}) - options[:one] ||= "a" - options[:two] ||= "c" - options[:name] ||= name - - resource = @type.new(options) - end - - def mkprovider(name = :parsed) - @provider = @type.provide(name, :parent => Puppet::Provider::ParsedFile, :filetype => :ram, :default_target => "yayness") do - record_line name, :fields => %w{name one two} - end - end - - def setup - super - @type = Puppet::Type.type(:testparsedfiletype) - end - - def teardown - if defined?(@provider) - @type.unprovide(@provider.name) - @provider = nil - end - super - end - - def test_create_provider - assert_nothing_raised do - mkprovider - end - end - - def test_resource_attributes - prov = nil - assert_nothing_raised do - prov = mkprovider - end - - [:one, :two, :name].each do |attr| - assert(prov.method_defined?(attr), "Did not define #{attr}") - end - - # Now make sure they stay around - fakeresource = fakeresource(:testparsedfiletype, "yay") - - file = prov.new(fakeresource) - assert(file, "Could not make provider") - - assert_nothing_raised("Could not set provider name") do - file.name = :yayness - end - - # The provider converts to strings - assert_equal(:yayness, file.name) - end - - def test_filetype - prov = mkprovider - - flat = Puppet::Util::FileType.filetype(:flat) - ram = Puppet::Util::FileType.filetype(:ram) - assert_nothing_raised do - prov.filetype = :flat - end - - assert_equal(flat, prov.filetype) - - assert_nothing_raised do - prov.filetype = ram - end - assert_equal(ram, prov.filetype) - end - - # Make sure we correctly create a new filetype object, but only when - # necessary. - def test_fileobject - prov = mkprovider - - path = tempfile - obj = nil - assert_nothing_raised do - obj = prov.target_object(path) - end - - # The default filetype is 'ram' - assert_instance_of(Puppet::Util::FileType.filetype(:ram), obj) - - newobj = nil - assert_nothing_raised do - newobj = prov.target_object(path) - end - - assert_equal(obj, newobj, "did not reuse file object") - - # now make sure clear does the right thing - assert_nothing_raised do - prov.clear - end - assert_nothing_raised do - newobj = prov.target_object(path) - end - - assert(obj != newobj, "did not reuse file object") - end - - def test_retrieve - prov = mkprovider - - prov.filetype = :ram - - # Override the parse method with our own - prov.meta_def(:parse) do |text| - return [text] - end - - path = :yayness - file = prov.target_object(path) - text = "a test" - file.write(text) - - ret = nil - assert_nothing_raised do - ret = prov.retrieve(path) - end - - assert_equal([text], ret) - - # Now set the text to nil and make sure we get an empty array - file.write(nil) - assert_nothing_raised do - ret = prov.retrieve(path) - end - - assert_equal([], ret) - - # And the empty string should return an empty array - file.write("") - assert_nothing_raised do - ret = prov.retrieve(path) - end - - assert_equal([], ret) - end - - # Verify that prefetch will parse the file, create any necessary instances, - # and set the 'is' values appropriately. - def test_prefetch - prov = mkprovider - - prov.filetype = :ram - prov.default_target = :default - - # Create a couple of demo files - prov.target_object(:file1).write "bill b c\njill b d" - - prov.target_object(:default).write "will b d\n" - - # Create some resources for some of those demo files - bill = mkresource "bill", :target => :file1, :one => "b", :two => "c" - will = mkresource "will", :target => :default, :one => "b", :two => "d" - - resources = {"bill" => bill, "will" => will} - prov_ids = {"bill" => bill.provider.object_id, "will" => will.provider.object_id} - - assert_nothing_raised do - prov.prefetch(resources) - end - - assert(bill.provider.object_id != prov_ids["bill"], "provider was not replaced in resource") - assert(will.provider.object_id != prov_ids["will"], "provider was not replaced in resource") - - # Make sure we prefetched our resources. - assert_equal("b", bill.provider.one, "did not prefetch resource from file1") - assert_equal("c", bill.provider.two, "did not prefetch resource from file1") - assert_equal("b", will.provider.one, "did not prefetch resource from default") - assert_equal("d", will.provider.two, "did not prefetch resource from default") - - # Now modify our resources and write them out, making sure that prefetching - # hasn't somehow destroyed this ability - bill[:one] = "a" - will[:one] = "a" - - assert_apply(bill) - assert_apply(will) - - prov.prefetch(resources) - assert_equal("a", bill.provider.one, "did not prefetch resource from file1") - assert_equal("a", will.provider.one, "did not prefetch resource from default") - - assert_equal("bill a c\njill b d\n", prov.target_object(:file1).read, - "Did not write changed resource correctly") - assert_equal("will a d\n", prov.target_object(:default).read, - "Did not write changed default resource correctly") - end - - # Make sure we can correctly prefetch on a target. - def test_prefetch_target - prov = mkprovider - - prov.filetype = :ram - target = :yayness - prov.target_object(target).write "yay b d" - - records = nil - assert_nothing_raised do - records = prov.prefetch_target(:yayness) - end - - # Now make sure we correctly got the hash - record = records.find { |r| r[:name] == "yay" } - assert(record, "Did not get record in prefetch_target") - assert_equal("b", record[:one]) - assert_equal("d", record[:two]) - end - - def test_prefetch_match - prov = mkprovider - - prov.meta_def(:match) do |record, resources| - # Look for matches on :one - if res = resources.find { |name, resource| resource.should(:one).to_s == record[:one].to_s } - res[1] - else - nil - end - end - - prov.filetype = :ram - target = :yayness - prov.target_object(target).write "foo b d" - - resource = mkresource "yay", :target => :yayness, :one => "b" - - assert_nothing_raised do - prov.prefetch("yay" => resource) - end - - # Now make sure we correctly got the hash - mprov = resource.provider - assert_equal("yay", resource[:name]) - assert_equal("b", mprov.one) - assert_equal("d", mprov.two) - end - - # We need to test that we're retrieving files from all three locations: - # from any existing target_objects, from the default file location, and - # from any existing resource instances. - def test_targets - prov = mkprovider - - files = {} - - # Set the default target - default = tempfile - files[:default] = default - prov.default_target = default - - # Create a file object - inmem = tempfile - files[:inmemory] = inmem - prov.target_object(inmem).write("inmem yay ness") - - # Lastly, create a resource with separate is and should values - mtarget = tempfile - files[:resources] = mtarget - resource = mkresource "yay", :target => mtarget - - assert(resource.should(:target), "Did not get a value for target") - - list = nil - - # First run it without the resource - assert_nothing_raised do - list = prov.targets - end - - # Make sure it got the first two, but not the resources file - files.each do |name, file| - if name == :resources - assert(! list.include?(file), "Provider somehow found resource target when no resource was passed") - else - assert(list.include?(file), "Provider did not find #{name} file") - end - end - - # Now list with the resource passed - assert_nothing_raised do - list = prov.targets("yay" => resource) - end - - # And make sure we get all three files - files.each do |name, file| - assert(list.include?(file), "Provider did not find #{name} file when resource was passed") - end - end - - # Make sure that flushing behaves correctly. This is what actually writes - # the data out to disk. - def test_flush - prov = mkprovider - - prov.filetype = :ram - prov.default_target = :yayness - - # Create some resources. - one = mkresource "one", :one => "a", :two => "c", :target => :yayness - two = mkresource "two", :one => "b", :two => "d", :target => :yayness - resources = {"one" => one, "two" => two} - - # Write out a file with different data. - prov.target_object(:yayness).write "one b d\ntwo a c" - - prov.prefetch(resources) - - # Apply and flush the first resource. - assert_nothing_raised do - apply(one) - end - assert_nothing_raised { one.flush } - - # Make sure it didn't clear out our property hash - assert_equal(:a, one.provider.one) - assert_equal(:c, one.provider.two) - - # And make sure it's right on disk - assert(prov.target_object(:yayness).read.include?("one a c"), "Did not write out correct data") - - # Make sure the second resource has not been modified - assert_equal("a", two.provider.one, "Two was flushed early") - assert_equal("c", two.provider.two, "Two was flushed early") - - # And on disk - assert(prov.target_object(:yayness).read.include?("two a c"), "Wrote out other resource") - - # Now fetch the data again and make sure we're still right - assert_nothing_raised { prov.prefetch(resources) } - assert_equal("a", one.provider.one) - assert_equal("a", two.provider.one) - - # Now flush the second resource and make sure it goes well - assert_nothing_raised { apply(two) } - assert_nothing_raised { two.flush } - - # And make sure it didn't clear our hash - assert_equal(:b, two.provider.one) - end - - # Make sure it works even if the file does not currently exist - def test_creating_file - prov = mkprovider - prov.clear - - prov.default_target = :basic - - resource = mkresource "yay", :target => :basic, :one => "a", :two => "c" - - assert_equal(:present, resource.should(:ensure)) - - apply(resource) - - assert_nothing_raised do - resource.flush - end - - assert_equal("yay a c\n", prov.target_object(:basic).read, - "Did not create file") - - # Make a change - resource.provider.one = "b" - - # Flush it - assert_nothing_raised do - resource.flush - end - - # And make sure our resource doesn't appear twice in the file. - assert_equal("yay b c\n", prov.target_object(:basic).read, "Wrote record to file twice") - end - - # Make sure a record can switch targets. - def test_switching_targets - prov = mkprovider - - prov.filetype = :ram - prov.default_target = :first - - # Make three resources, one for each target and one to switch - first = mkresource "first", :target => :first - second = mkresource "second", :target => :second - mover = mkresource "mover", :target => :first - - [first, second, mover].each do |m| - assert_nothing_raised("Could not apply #{m[:name]}") do - apply(m) - end - end - - # Flush. - [first, second, mover].each do |m| - assert_nothing_raised do - m.flush - end - end - - check = proc do |target, name| - assert(prov.target_object(target).read.include?("#{name} a c"), "Did not sync #{name}") - end - # Make sure the data is there - check.call(:first, :first) - check.call(:second, :second) - check.call(:first, :mover) - - # Now change the target for the mover - mover[:target] = :second - - # Apply it - assert_nothing_raised do - apply(mover) - end - - # Flush - assert_nothing_raised do - mover.flush - end - - # Make sure the data is there - check.call(:first, :first) - check.call(:second, :second) - check.call(:second, :mover) - - # And make sure the mover is no longer in the first file - assert(prov.target_object(:first) !~ /mover/, "Mover was not removed from first file") - end - - # Make sure that 'ensure' correctly calls 'sync' on all properties. - def test_ensure - prov = mkprovider - - prov.filetype = :ram - prov.default_target = :first - - # Make two resources, one that starts on disk and one that doesn't - ondisk = mkresource "ondisk", :target => :first - notdisk = mkresource "notdisk", :target => :first - - prov.target_object(:first).write "ondisk a c\n" - prov.prefetch("ondisk" => ondisk, "notdisk" => notdisk) - - - assert_equal( - :present, notdisk.should(:ensure), - - "Did not get default ensure value") - - # Try creating the object - assert_nothing_raised { notdisk.provider.create } - - # Now make sure all of the data is copied over correctly. - notdisk.class.validproperties.each do |property| - assert_equal(notdisk.should(property), notdisk.provider.property_hash[property], - "#{property} was not copied over during creation") - end - - # Flush it to disk and make sure it got copied down - assert_nothing_raised do - notdisk.flush - end - - assert(prov.target_object(:first).read =~ /^notdisk/, - "Did not write out object to disk") - assert(prov.target_object(:first).read =~ /^ondisk/, - "Lost object on disk") - - # Make sure our on-disk resource behaves appropriately. - assert_equal(:present, ondisk.provider.ensure) - - # Now destroy the object - assert_nothing_raised { notdisk.provider.destroy } - - assert_nothing_raised { notdisk.flush } - - # And make sure it's no longer present - assert(prov.target_object(:first).read !~ /^notdisk/, "Did not remove thing from disk") - assert(prov.target_object(:first).read =~ /^ondisk/, "Lost object on disk") - assert_equal(:present, ondisk.provider.ensure) - end - - def test_absent_fields - prov = @type.provide(:record, :parent => Puppet::Provider::ParsedFile) do - record_line :record, :fields => %w{name one two}, - :separator => "\s" - end - cleanup { @type.unprovide(:record) } - - line = prov.parse_line("a d") - - assert_equal("a", line[:name], "field name was not set") - assert_equal(:absent, line[:one], "field one was not set to absent") - - # Now use a different provider with a non-blank "absent" - prov = @type.provide(:cronstyle, :parent => Puppet::Provider::ParsedFile) do - record_line :cronstyle, :fields => %w{name one two}, - :separator => "\s", :absent => "*" - end - cleanup { @type.unprovide(:cronstyle) } - line = prov.parse_line("a * d") - - assert_equal("a", line[:name], "field name was not set") - assert_equal(:absent, line[:one], "field one was not set to absent") - end - - # This test is because in x2puppet I was having problems where multiple - # retrievals somehow destroyed the 'is' values. - def test_value_retrieval - prov = mkprovider - prov.default_target = :yayness - - prov.target_object(:yayness).write "bill a c\njill b d" - - list = @type.instances - - bill = list.find { |r| r[:name] == "bill" } - jill = list.find { |r| r[:name] == "jill" } - assert(bill, "Could not find bill") - assert(jill, "Could not find jill") - - prov = bill.provider - - 4.times do |i| - assert(prov.one, "Did not get a value for 'one' on try #{(i + 1)}") - end - - # First make sure we can retrieve values multiple times from the - # provider - bills_values = nil - assert_nothing_raised do - bills_values = bill.retrieve - end - - assert(bills_values[bill.property(:one)], - "Bill does not have a value for 'one'") - assert(bills_values[bill.property(:one)], - "Bill does not have a value for 'one' on second try") - assert_nothing_raised do - bill.retrieve - end - assert(bills_values[bill.property(:one)], - "bill's value for 'one' disappeared") - end - - # Make sure that creating a new resource finds existing records in memory - def test_initialize_finds_records - prov = mkprovider - prov.default_target = :yayness - - prov.target_object(:yayness).write "bill a c\njill b d" - - prov.prefetch - - # Now make a resource - bill = @type.new :name => "bill" - - assert_equal("a", bill.provider.one, "Record was not found in memory") - end - - # Make sure invalid fields always show up as insync - def test_invalid_fields - - prov = @type.provide( - :test, :parent => Puppet::Provider::ParsedFile, - - :filetype => :ram, :default_target => :yayness) do - record_line :test, :fields => %w{name two} - end - cleanup do @type.unprovide(:test) end - - bill = nil - assert_nothing_raised do - bill = @type.new :name => "bill", - :one => "a", :two => "c" - end - - assert_apply(bill) - - prov.prefetch - current_value = nil - assert_nothing_raised do - current_value = bill.retrieve - end - - assert_events([], bill) - end - - # Make sure we call the prefetch hook at the right place. - def test_prefetch_hook - - prov = @type.provide( - :test, :parent => Puppet::Provider::ParsedFile, - - :filetype => :ram, :default_target => :yayness) do - - def self.prefetch_hook(records) - records - end - - record_line :test, :fields => %w{name two} - end - cleanup do @type.unprovide(:test) end - - target = "target" - - records = [{:target => "nope"}] - targeted = {:target => "target"} - prov.send(:instance_variable_set, "@records", records) - prov.expects(:retrieve).with(target).returns([targeted]) - - prov.expects(:prefetch_hook).with([targeted]).returns([targeted]) - - prov.prefetch_target(target) - end - - # #529 - def test_keep_content_with_target - mkprovider - @provider.filetype = :flat - dpath = tempfile - opath = tempfile - @provider.default_target = dpath - - dtarget = @provider.target_object(dpath) - otarget = @provider.target_object(opath) - - dtarget.write("dname a c\n") - otarget.write("oname b d\n") - - # Now make a resource that targets elsewhat. - res = @type.new(:name => "test", :one => "a", :two => "c", :target => opath) - - assert(res.property(:target), "Target is a parameter, not a property") - - assert_apply(res) - - - assert_equal( - "oname b d\ntest a c\n", otarget.read, - - "did not get correct results in specified target") - end -end - - diff --git a/test/ral/providers/port/parsed.rb b/test/ral/providers/port/parsed.rb deleted file mode 100755 index 062044796..000000000 --- a/test/ral/providers/port/parsed.rb +++ /dev/null @@ -1,232 +0,0 @@ -#!/usr/bin/env ruby - -require File.expand_path(File.dirname(__FILE__) + '/../../../lib/puppettest') - -require 'puppettest' -#require 'puppettest/fileparsing' -#require 'puppet/type/port' -#require 'test/unit' -#require 'facter' -# -#class TestParsedPort < Test::Unit::TestCase -# include PuppetTest -# include PuppetTest::FileParsing -# -# def setup -# super -# @provider = Puppet::Type.type(:port).provider(:parsed) -# @oldfiletype = @provider.filetype -# end -# -# def teardown -# Puppet::Util::FileType.filetype(:ram).clear -# @provider.filetype = @oldfiletype -# @provider.clear -# super -# end -# -# # Generate a line from a hash. The line might include '\n'. -# def genline(hash) -# line = [hash[:name], "#{hash[:number]}/%s"].join("\t\t") -# if hash[:alias] -# line += "\t\t" + hash[:alias].join(" ") -# end -# if hash[:description] -# line += "\t# " + hash[:description] -# end -# -# return hash[:protocols].collect { |p| line % p }.join("\n") -# end -# -# # Parse our sample data and make sure we regenerate it correctly. -# def test_portsparse -# files = fakedata("data/types/port") -# files.each do |file| -# oldtarget = @provider.default_target -# cleanup do -# @provider.default_target = oldtarget -# end -# @provider.default_target = file -# -# assert_nothing_raised("failed to fetch #{file}") { -# @provider.prefetch -# } -# -# hashes = @provider.target_records(file).find_all { |i| i.is_a? Hash } -# assert(hashes.length > 0, "Did not create any hashes") -# dns = hashes.find { |i| i[:name] == "domain" } -# -# assert(dns, "Did not retrieve dns record") -# assert_equal("53", dns[:number], "dns number is wrong") -# -# text = nil -# assert_nothing_raised("failed to generate #{file}") do -# text = @provider.to_file(@provider.target_records(file)) -# end -# -# oldlines = File.readlines(file) -# newlines = text.chomp.split "\n" -# regex = /^(\S+)\s+(\d+)\/(\w+)/ -# oldlines.zip(newlines).each do |old, new| -# if omatch = regex.match(old) -# assert(newmatch = regex.match(new), -# "Lines were not equivalent: %s vs %s" % -# [old.inspect, new.inspect] -# ) -# oldfields = omatch.captures and -# newfields = newmatch.captures -# -# assert_equal(oldfields, newfields, -# "Lines were not equivalent: %s vs %s" % -# [old.inspect, new.inspect] -# ) -# end -# # assert_equal(old.chomp.gsub(/\s+/, ''), -# # new.gsub(/\s+/, ''), -# # "Lines are not equal in #{file}") -# end -# end -# end -# -# # Try parsing the different forms of lines -# def test_parsing -# # Each of the different possible values for each field. -# options = { -# :name => "service", -# :number => "1", -# :alias => [nil, ["null"], %w{null sink}, %w{null sink other}], -# :description => [nil, "my description"], -# :protocols => [%w{tcp}, %w{udp}, %w{tcp udp}] -# } -# -# # Now go through all of the different iterations and make sure we -# # parse them correctly. -# keys = options.keys -# -# name = options[:name] -# number = options[:number] -# options[:alias].each do |al| -# options[:description].each do |desc| -# options[:protocols].each do |proto| -# hash = {:name => name, :number => number, :alias => al, -# :description => desc, :protocols => proto} -# line = genline(hash) -# -# # Try parsing it -# record = nil -# assert_nothing_raised do -# record = @provider.parse_line(line) -# end -# assert(record, "Did not get record returned") -# hash.each do |param, value| -# if value -# assert_equal(value, record[param], -# "did not get #{param} out of '#{line}'") -# end -# end -# -# # Now make sure it generates correctly -# assert_equal(line, @provider.to_line(record), -# "Did not generate #{line} correctly") -# end -# end -# end -# end -# -# # Make sure we correctly join lines by name, so that they're considered -# # a single record. -# def test_lines -# result = nil -# assert_nothing_raised do -# result = @provider.lines( -#"smtp 25/tcp mail -#time 37/tcp timserver -#time 37/udp timserver -#rlp 39/udp resource # resource location -#tacacs 49/tcp # Login Host Protocol (TACACS) -#nameserver 42/tcp name # IEN 116 -#whois 43/tcp nicname -#tacacs 49/udp -#re-mail-ck 50/tcp # Remote Mail Checking Protocol -#domain 53/tcp nameserver # name-domain server -#re-mail-ck 50/udp -#domain 53/udp nameserver" -# ) -# end -# -# assert_equal([ -#"smtp 25/tcp mail", -#"time 37/tcp timserver -#time 37/udp timserver", -#"rlp 39/udp resource # resource location", -#"tacacs 49/tcp # Login Host Protocol (TACACS) -#tacacs 49/udp", -#"nameserver 42/tcp name # IEN 116", -#"whois 43/tcp nicname", -#"re-mail-ck 50/tcp # Remote Mail Checking Protocol -#re-mail-ck 50/udp", -#"domain 53/tcp nameserver # name-domain server -#domain 53/udp nameserver" -#], result) -# -# end -# -# # Make sure we correctly handle port merging. -# def test_port_merge -# fields = [:name, :number, :protocols, :alias, :description] -# base = %w{a 1} -# -# z = proc { |ary| h = {}; fields.zip(ary) { |p,v| h[p] = v if v }; h } -# -# # Make sure our zipper is working -# assert_equal({:name => "a", :number => "1", :protocols => %w{tcp udp}}, -# z.call(["a", "1", %w{tcp udp}]) -# ) -# -# # Here we go through the different options, just testing each key -# # separately. -# { -# # The degenerate case - just two protocols -# [%w{tcp udp}] => [[%w{tcp}], [%w{udp}]], -# -# # one alias -# [%w{tcp udp}, %w{A}] => [[%w{tcp}, %w{A}], [%w{udp}]], -# -# # Other side -# [%w{tcp udp}, %w{A}] => [[%w{tcp}], [%w{udp}], %w{A}], -# -# # Both -# [%w{tcp udp}, %w{A}] => [[%w{tcp}, %w{A}], [%w{udp}], %w{A}], -# -# # Adding aliases -# [%w{tcp udp}, %w{A B}] => [[%w{tcp}, %w{A}], [%w{udp}], %w{B}], -# -# # Merging aliases -# [%w{tcp udp}, %w{A B}] => [[%w{tcp}, %w{A B}], [%w{udp}], %w{B}], -# -# # One description -# [%w{tcp udp}, nil, "desc"] => [[%w{tcp}, nil, "desc"], [%w{udp}] ], -# -# # other side -# [%w{tcp udp}, nil, "desc"] => [[%w{tcp}], [%w{udp}, nil, "desc"] ], -# -# # Conflicting -- first hash wins -# [%w{tcp udp}, nil, "first"] => -# [[%w{tcp}, nil, "first"], [%w{udp}, nil, "desc"] ], -# }.each do |result, hashes| -# assert_equal( -# z.call(base + result), -# @provider.port_merge( -# z.call(base + hashes[0]), -# z.call(base + hashes[1]) -# ), -# "Did not get %s out of %s + %s" % [ -# result.inspect, -# hashes[0].inspect, -# hashes[1].inspect -# ] -# ) -# end -# end -#end - diff --git a/test/ral/providers/user.rb b/test/ral/providers/user.rb deleted file mode 100755 index ebf2ab700..000000000 --- a/test/ral/providers/user.rb +++ /dev/null @@ -1,586 +0,0 @@ -#!/usr/bin/env ruby - -require File.expand_path(File.dirname(__FILE__) + '/../../lib/puppettest') - -require 'puppettest' -require 'puppettest/support/utils' - -class TestUserProvider < Test::Unit::TestCase - include PuppetTest::Support::Utils - include PuppetTest::FileTesting - - def setup - super - setme - @@tmpusers = [] - @provider = nil - assert_nothing_raised { - @provider = Puppet::Type.type(:user).defaultprovider - } - - assert(@provider, "Could not find default user provider") - - end - - def teardown - @@tmpusers.each { |user| - remove(user) unless missing?(user) - } - super - end - - case Facter["operatingsystem"].value - when "Darwin" - def missing?(user) - output = %x{nidump -r /users/#{user} / 2>/dev/null}.chomp - - return output == "" - - assert_equal("", output, "User #{user} is present:\n#{output}") - end - - def current?(param, user) - property = Puppet::Type.type(:user).properties.find { |st| - st.name == param - } - - prov = Puppet::Type.type(:user).defaultprovider - output = prov.report(param) - output.each { |hash| - if hash[:name] == user.name - val = hash[param] - if val =~ /^[-0-9]+$/ - return Integer(val) - else - return val - end - end - } - - nil - end - - def remove(user) - system("niutil -destroy / /users/#{user}") - end - else - def missing?(user) - obj = Etc.getpwnam(user) - return false - rescue ArgumentError - return true - end - - def current?(param, user) - property = Puppet::Type.type(:user).properties.find { |st| - st.name == param - } - - assert_nothing_raised { - obj = Etc.getpwnam(user.name) - return obj.send(user.posixmethod(param)) - } - - nil - end - - def remove(user) - system("userdel #{user}") - end - end - - - def eachproperty - Puppet::Type.type(:user).validproperties.each do |property| - yield property - end - end - - def findshell(old = nil) - %w{/bin/sh /bin/bash /sbin/sh /bin/ksh /bin/zsh /bin/csh /bin/tcsh - /usr/bin/sh /usr/bin/bash /usr/bin/ksh /usr/bin/zsh /usr/bin/csh - /usr/bin/tcsh}.find { |shell| - if old - FileTest.exists?(shell) and shell != old - else - FileTest.exists?(shell) - end - } - end - - def fakedata(name, param) - case param - when :name; name - when :ensure; :present - when :comment; "Puppet's Testing User #{name}" # use a single quote a la #375 - when :gid; nonrootgroup.gid - when :shell; findshell - when :home; "/home/#{name}" - else - return nil - end - end - - def fakeresource(*args) - resource = super - - # Set boolean methods as necessary. - class << resource - def allowdupe? - self[:allowdupe] - end - def managehome? - self[:managehome] - end - end - resource - end - - def mkuser(name) - fakeresource = fakeresource(:user, name) - user = nil - assert_nothing_raised { - user = @provider.new(fakeresource) - } - assert(user, "Could not create provider user") - - user - end - - def test_list - names = nil - assert_nothing_raised { - names = @provider.listbyname - } - - assert(names.length > 0, "Listed no users") - - # Now try it by object - assert_nothing_raised { - names = @provider.instances - } - assert(names.length > 0, "Listed no users as objects") - - names.each do |obj| - assert_instance_of(@provider, obj) - end - end - - def test_infocollection - fakeresource = fakeresource(:user, @me) - - user = nil - assert_nothing_raised { - user = @provider.new(fakeresource) - } - assert(user, "Could not create user provider") - - Puppet::Type.type(:user).validproperties.each do |property| - next if property == :ensure - # This is mostly in place for the 'password' stuff. - next unless user.class.supports_parameter?(property) and Puppet.features.root? - val = nil - assert_nothing_raised { - val = user.send(property) - } - - - assert( - val != :absent, - - "Property #{property} is missing") - - assert(val, "Did not get value for #{property}") - end - end - - def test_exists - user = mkuser("nosuchuserok") - - - assert( - ! user.exists?, - - "Fake user exists?") - - user = mkuser(@me) - - assert( - user.exists?, - - "I don't exist?") - end - - def attrtest_ensure(user) - old = user.ensure - assert_nothing_raised { - user.delete - } - - assert(missing?(user.name), "User is still present") - assert_nothing_raised { - user.create - } - assert(!missing?(user.name), "User is absent") - assert_nothing_raised { - user.delete - } - - unless old == :absent - user.create - end - end - - def attrtest_comment(user) - old = user.comment - - newname = "Billy O'Neal" # use a single quote, a la #372 - assert_nothing_raised { - user.comment = newname - } - - - assert_equal( - newname, current?(:comment, user), - - "Comment was not changed") - - assert_nothing_raised { - user.comment = old - } - - - assert_equal( - old, current?(:comment, user), - - "Comment was not reverted") - end - - def attrtest_home(user) - old = current?(:home, user) - - assert_nothing_raised { - user.home = "/tmp" - } - - assert_equal("/tmp", current?(:home, user), "Home was not changed") - assert_nothing_raised { - user.home = old - } - - assert_equal(old, current?(:home, user), "Home was not reverted") - end - - def attrtest_shell(user) - old = current?(:shell, user) - - newshell = findshell(old) - - unless newshell - $stderr.puts "Cannot find alternate shell; skipping shell test" - return - end - - assert_nothing_raised { - user.shell = newshell - } - - - assert_equal( - newshell, current?(:shell, user), - - "Shell was not changed") - - assert_nothing_raised { - user.shell = old - } - - assert_equal(old, current?(:shell, user), "Shell was not reverted") - end - - def attrtest_gid(user) - old = current?(:gid, user) - - newgroup = %w{nogroup nobody staff users daemon}.find { |gid| - begin - group = Etc.getgrnam(gid) - rescue ArgumentError => detail - next - end - old != group.gid - } - group = Etc.getgrnam(newgroup) - - unless newgroup - $stderr.puts "Cannot find alternate group; skipping gid test" - return - end - - # Stupid DirectoryServices - if Facter.value(:operatingsystem) == "Darwin" - assert_raise(ArgumentError, "gid allowed a non-integer value") do - user.gid = group.name - end - end - - assert_nothing_raised("Failed to specify group by id") { - user.gid = group.gid - } - - assert_equal(group.gid, current?(:gid,user), "GID was not changed") - - assert_nothing_raised("Failed to change back to old gid") { - user.gid = old - } - end - - def attrtest_uid(user) - old = current?(:uid, user) - - newuid = old - while true - newuid += 1 - - if newuid - old > 1000 - $stderr.puts "Could not find extra test UID" - return - end - begin - newuser = Etc.getpwuid(newuid) - rescue ArgumentError => detail - break - end - end - - assert_nothing_raised("Failed to change user id") { - user.uid = newuid - } - - assert_equal(newuid, current?(:uid, user), "UID was not changed") - - assert_nothing_raised("Failed to change user id") { - user.uid = old - } - assert_equal(old, current?(:uid, user), "UID was not changed back") - end - - def attrtest_groups(user) - Etc.setgrent - max = 0 - while group = Etc.getgrent - max = group.gid if group.gid > max and group.gid < 5000 - end - - groups = [] - main = [] - extra = [] - 5.times do |i| - i += 1 - name = "pptstgr#{i}" - - tmpgroup = Puppet::Type.type(:group).new( - - :name => name, - - :gid => max + i - ) - - groups << tmpgroup - - cleanup do - tmpgroup.provider.delete if tmpgroup.provider.exists? - end - - if i < 3 - main << name - else - extra << name - end - end - - # Create our test groups - assert_apply(*groups) - - # Now add some of them to our user - assert_nothing_raised { - user.resource[:groups] = extra.join(",") - } - - # Some tests to verify that groups work correctly startig from nothing - # Remove our user - user.delete - - # And add it again - user.create - - # Make sure that the group list is added at creation time. - # This is necessary because we don't have default fakedata for groups. - assert(user.groups, "Did not retrieve group list") - - list = user.groups.split(",") - assert_equal(extra.sort, list.sort, "Group list was not set at creation time") - - # Now set to our main list of groups - assert_nothing_raised { - user.groups = main.join(",") - } - - list = user.groups.split(",") - assert_equal(main.sort, list.sort, "Group list is not equal") - end - - if Puppet.features.root? - def test_simpleuser - name = "pptest" - - assert(missing?(name), "User #{name} is present") - - user = mkuser(name) - - eachproperty do |property| - if val = fakedata(user.name, property) - user.resource[property] = val - end - end - - @@tmpusers << name - - assert_nothing_raised { - user.create - } - - assert_equal("Puppet's Testing User pptest", - user.comment, - "Comment was not set") - - assert_nothing_raised { - user.delete - } - - assert(missing?(user.name), "User was not deleted") - end - - def test_alluserproperties - user = nil - name = "pptest" - - assert(missing?(name), "User #{name} is present") - - user = mkuser(name) - - eachproperty do |property| - if val = fakedata(user.name, property) - user.resource[property] = val - end - end - - @@tmpusers << name - - assert_nothing_raised { - user.create - } - assert_equal("Puppet's Testing User pptest", user.comment, - "Comment was not set") - - tests = Puppet::Type.type(:user).validproperties - - just = nil - tests.each { |test| - if self.respond_to?("attrtest_#{test}") - self.send("attrtest_#{test}", user) - else - Puppet.err "Not testing attr #{test} of user" - end - } - - assert_nothing_raised { - user.delete - } - end - - # This is a weird method that shows how annoying the interface between - # types and providers is. Grr. - def test_duplicateIDs - user1 = mkuser("user1") - user1.create - user1.uid = 125 - user2 = mkuser("user2") - user2.resource[:uid] = 125 - - cleanup do - user1.delete - user2.delete - end - - # Not all OSes fail here, so we can't test that it doesn't work with - # it off, only that it does work with it on. - assert_nothing_raised { - user2.resource[:allowdupe] = :true - } - assert_nothing_raised { user2.create } - - assert_equal( - :present, user2.ensure, - - "User did not get created") - end - else - $stderr.puts "Not root; skipping user creation/modification tests" - end - - # Here is where we test individual providers - def test_useradd_flags - useradd = nil - assert_nothing_raised { - useradd = Puppet::Type.type(:user).provider(:useradd) - } - assert(useradd, "Did not retrieve useradd provider") - - user = nil - assert_nothing_raised { - fakeresource = fakeresource(:user, @me) - user = useradd.new(fakeresource) - } - - - assert_equal( - "-d", user.send(:flag, :home), - - "Incorrect home flag") - - - assert_equal( - "-s", user.send(:flag, :shell), - - "Incorrect shell flag") - end - - def test_autogen - provider = nil - user = Puppet::Type.type(:user).new(:name => nonrootuser.name) - provider = user.provider - assert(provider, "did not get provider") - - # Everyone should be able to autogenerate a uid - assert_instance_of(Fixnum, provider.autogen(:uid)) - - # If we're Darwin, then we should get results, but everyone else should - # get nil - darwin = (Facter.value(:operatingsystem) == "Darwin") - - should = { - :comment => user[:name].capitalize, - :home => "/var/empty", - :shell => "/usr/bin/false" - } - - should.each do |param, value| - if darwin - assert_equal(value, provider.autogen(param), "did not autogen #{param} for darwin correctly") - else - assert_nil(provider.autogen(param), "autogenned #{param} for non-darwin os") - end - end - end -end - diff --git a/test/ral/providers/user/useradd.rb b/test/ral/providers/user/useradd.rb deleted file mode 100755 index 6350ec6dc..000000000 --- a/test/ral/providers/user/useradd.rb +++ /dev/null @@ -1,233 +0,0 @@ -#!/usr/bin/env ruby - -require File.expand_path(File.dirname(__FILE__) + '/../../../lib/puppettest') - -require 'mocha' - -class UserAddProviderTest < PuppetTest::TestCase - confine "useradd user provider missing" => - Puppet::Type.type(:user).provider(:useradd).suitable? - - def setup - super - @type = Puppet::Type.type(:user) - @provider = Puppet::Type.type(:user).provider(:useradd) - @home = tempfile - @vals = {:name => 'faff', - :provider => :useradd, - :ensure => :present, - :uid => 5000, - :gid => 5000, - :home => @home, - :comment => "yayness", - :groups => %w{one two} - } - end - - def setup_user - @user = @type.new(@vals) - - @vals.each do |name, val| - next unless @user.class.validproperty?(name) - end - @user - end - - def test_features - [:manages_homedir].each do |feature| - - assert( - @provider.feature?(feature), - - "useradd provider is missing #{feature}") - end - end - - def test_create - user = setup_user - - @vals.each do |name, val| - next unless user.class.validproperty?(name) - end - - user.expects(:allowdupe?).returns(false) - user.expects(:managehome?).returns(false) - - user.provider.expects(:execute).with do |params| - command = params.shift - assert_equal(@provider.command(:add), command, - "Got incorrect command") - - if %w{Fedora RedHat}.include?(Facter.value(:operatingsystem)) - assert(params.include?("-M"), "Did not disable homedir creation on red hat") - params.delete("-M") - end - - options = {} - options[params.shift] = params.shift while params.length > 0 - - @vals[:groups] = @vals[:groups].join(",") - - flags = {:home => "-d", :groups => "-G", :gid => "-g", - :uid => "-u", :comment => "-c"} - - flags.each do |param, flag| - assert_equal(@vals[param], options[flag], "Got incorrect value for #{param}") - end - - true - end - - user.provider.create - end - - # Make sure we add the right flags when managing home - def test_managehome - @vals[:managehome] = true - setup_user - - - assert( - @user.provider.respond_to?(:manages_homedir?), - - "provider did not get managehome test set") - - assert(@user.managehome?, "provider did not get managehome") - - # First run - @user.expects(:managehome?).returns(true) - - @user.provider.expects(:execute).with do |params| - assert_equal(params[0], @provider.command(:add), "useradd was not called") - assert(params.include?("-m"), "Did not add -m when managehome was in affect") - assert(! params.include?("-M"), "Added -M when managehome was in affect") - - true - end - - @user.provider.create - - # Start again, this time with manages_home off - @vals[:managehome] = false - setup_user - - # First run - @user.expects(:managehome?).returns(false) - - @user.provider.expects(:execute).with do |params| - assert_equal(params[0], @provider.command(:add), "useradd was not called") - assert(params.include?("-M"), "Did not add -M on Red Hat") if %w{Fedora RedHat}.include?(Facter.value(:operatingsystem)) - assert(! params.include?("-m"), "Added -m when managehome was disabled") - - true - end - - @user.provider.create - end - - def test_allowdupe - @vals[:allowdupe] = true - setup_user - - - assert( - @user.provider.respond_to?(:allows_duplicates?), - - "provider did not get allowdupe test set") - - assert(@user.allowdupe?, "provider did not get allowdupe") - - # First run - @user.expects(:allowdupe?).returns(true) - - @user.provider.expects(:execute).with do |params| - assert_equal(params[0], @provider.command(:add), "useradd was not called") - assert(params.include?("-o"), "Did not add -o when allowdupe was in affect") - - true - end - - @user.provider.create - - # Start again, this time with manages_home off - @vals[:allowdupe] = false - setup_user - - # First run - @user.expects(:allowdupe?).returns(false) - - @user.provider.expects(:execute).with do |params| - assert_equal(params[0], @provider.command(:add), "useradd was not called") - assert(! params.include?("-o"), "Added -o when allowdupe was disabled") - - true - end - - @user.provider.create - end - - def test_manages_password - return unless @provider.feature?(:manages_passwords) - @vals[:password] = "somethingorother" - setup_user - - @user.provider.expects(:execute).with do |params| - assert_equal(params[0], @provider.command(:add), "useradd was not called") - params.shift - options = {} - params.each_with_index do |p, i| - if p =~ /^-/ and p != "-M" - options[p] = params[i + 1] - end - end - assert_equal(options["-p"], @vals[:password], "Did not set password in useradd call") - true - end - - @user.provider.create - - # Now mark the user made, and make sure the right command is called - setup_user - @vals[:password] = "somethingelse" - - @user.provider.expects(:execute).with do |params| - assert_equal(params[0], @provider.command(:modify), "usermod was not called") - - options = {} - params.each_with_index do |p, i| - if p =~ /^-/ and p != "-M" - options[p] = params[i + 1] - end - end - - assert_equal( - options["-p"], @vals[:password], - - "Did not set password in useradd call") - true - end - - @user.provider.password = @vals[:password] - end - -end - -class UserRootAddProviderTest < PuppetTest::TestCase - confine "useradd user provider missing" => Puppet::Type.type(:user).provider(:useradd).suitable? - confine "useradd does not manage passwords" => Puppet::Type.type(:user).provider(:useradd).manages_passwords? - confine "not running as root" => (Process.uid == 0) - - def test_password - user = Puppet::Type.type(:user).new(:name => "root", :check => [:password], :provider => :useradd) - - provider = user.provider - - assert_nothing_raised("Could not check password") do - pass = provider.password - assert(pass, "Did not get password for root") - assert(pass!= "x", "Password was retrieved from /etc/passwd instead of /etc/shadow") - end - end -end - - diff --git a/test/ral/type/file.rb b/test/ral/type/file.rb deleted file mode 100755 index 2285e72c8..000000000 --- a/test/ral/type/file.rb +++ /dev/null @@ -1,912 +0,0 @@ -#!/usr/bin/env ruby - -require File.expand_path(File.dirname(__FILE__) + '/../../lib/puppettest') - -require 'puppettest' -require 'puppettest/support/utils' -require 'fileutils' -require 'mocha' - -class TestFile < Test::Unit::TestCase - include PuppetTest::Support::Utils - include PuppetTest::FileTesting - - def mkfile(hash) - file = nil - assert_nothing_raised { - file = Puppet::Type.type(:file).new(hash) - } - file - end - - def mktestfile - tmpfile = tempfile - File.open(tmpfile, "w") { |f| f.puts rand(100) } - @@tmpfiles.push tmpfile - mkfile(:name => tmpfile) - end - - def setup - super - @file = Puppet::Type.type(:file) - $method = @method_name - Puppet[:filetimeout] = -1 - Facter.stubs(:to_hash).returns({}) - end - - def teardown - system("rm -rf #{Puppet[:statefile]}") - super - end - - def initstorage - Puppet::Util::Storage.init - Puppet::Util::Storage.load - end - - def clearstorage - Puppet::Util::Storage.store - Puppet::Util::Storage.clear - end - - def test_owner - file = mktestfile - - users = {} - count = 0 - - # collect five users - Etc.passwd { |passwd| - if count > 5 - break - else - count += 1 - end - users[passwd.uid] = passwd.name - } - - fake = {} - # find a fake user - while true - a = rand(1000) - begin - Etc.getpwuid(a) - rescue - fake[a] = "fakeuser" - break - end - end - - uid, name = users.shift - us = {} - us[uid] = name - users.each { |uid, name| - assert_apply(file) - assert_nothing_raised { - file[:owner] = name - } - assert_nothing_raised { - file.retrieve - } - assert_apply(file) - } - end - - def test_group - file = mktestfile - [%x{groups}.chomp.split(/ /), Process.groups].flatten.each { |group| - assert_nothing_raised { - file[:group] = group - } - assert(file.property(:group)) - assert(file.property(:group).should) - } - end - - def test_groups_fails_when_invalid - assert_raise(Puppet::Error, "did not fail when the group was empty") do - Puppet::Type.type(:file).new :path => "/some/file", :group => "" - end - end - - if Puppet.features.root? - def test_createasuser - dir = tmpdir - - user = nonrootuser - path = File.join(tmpdir, "createusertesting") - @@tmpfiles << path - - file = nil - assert_nothing_raised { - - file = Puppet::Type.type(:file).new( - - :path => path, - :owner => user.name, - :ensure => "file", - - :mode => "755" - ) - } - - comp = mk_catalog("createusertest", file) - - assert_events([:file_created], comp) - end - - def test_nofollowlinks - basedir = tempfile - Dir.mkdir(basedir) - file = File.join(basedir, "file") - link = File.join(basedir, "link") - - File.open(file, "w", 0644) { |f| f.puts "yayness"; f.flush } - File.symlink(file, link) - - # First test 'user' - user = nonrootuser - - inituser = File.lstat(link).uid - File.lchown(inituser, nil, link) - - obj = nil - assert_nothing_raised { - - obj = Puppet::Type.type(:file).new( - - :title => link, - - :owner => user.name - ) - } - obj.retrieve - - # Make sure it defaults to managing the link - assert_events([:file_changed], obj) - assert_equal(user.uid, File.lstat(link).uid) - assert_equal(inituser, File.stat(file).uid) - File.chown(inituser, nil, file) - File.lchown(inituser, nil, link) - - # Try following - obj[:links] = :follow - assert_events([:file_changed], obj) - assert_equal(user.uid, File.stat(file).uid) - assert_equal(inituser, File.lstat(link).uid) - - # And then explicitly managing - File.chown(inituser, nil, file) - File.lchown(inituser, nil, link) - obj[:links] = :manage - assert_events([:file_changed], obj) - assert_equal(user.uid, File.lstat(link).uid) - assert_equal(inituser, File.stat(file).uid) - - obj.delete(:owner) - obj[:links] = :follow - - # And then test 'group' - group = nonrootgroup - - initgroup = File.stat(file).gid - obj[:group] = group.name - - obj[:links] = :follow - assert_events([:file_changed], obj) - assert_equal(group.gid, File.stat(file).gid) - File.chown(nil, initgroup, file) - File.lchown(nil, initgroup, link) - - obj[:links] = :manage - assert_events([:file_changed], obj) - assert_equal(group.gid, File.lstat(link).gid) - assert_equal(initgroup, File.stat(file).gid) - end - - def test_ownerasroot - file = mktestfile - - users = {} - count = 0 - - # collect five users - Etc.passwd { |passwd| - if count > 5 - break - else - count += 1 - end - next if passwd.uid < 0 - users[passwd.uid] = passwd.name - } - - fake = {} - # find a fake user - while true - a = rand(1000) - begin - Etc.getpwuid(a) - rescue - fake[a] = "fakeuser" - break - end - end - - users.each { |uid, name| - assert_nothing_raised { - file[:owner] = name - } - assert_apply(file) - currentvalue = file.retrieve - assert(file.insync?(currentvalue)) - assert_nothing_raised { - file[:owner] = uid - } - assert_apply(file) - currentvalue = file.retrieve - # make sure changing to number doesn't cause a sync - assert(file.insync?(currentvalue)) - } - - # We no longer raise an error here, because we check at run time - #fake.each { |uid, name| - # assert_raise(Puppet::Error) { - # file[:owner] = name - # } - # assert_raise(Puppet::Error) { - # file[:owner] = uid - # } - #} - end - - def test_groupasroot - file = mktestfile - [%x{groups}.chomp.split(/ /), Process.groups].flatten.each { |group| - next unless Puppet::Util.gid(group) # grr. - assert_nothing_raised { - file[:group] = group - } - assert(file.property(:group)) - assert(file.property(:group).should) - assert_apply(file) - currentvalue = file.retrieve - assert(file.insync?(currentvalue)) - assert_nothing_raised { - file.delete(:group) - } - } - end - - if Facter.value(:operatingsystem) == "Darwin" - def test_sillyowner - file = tempfile - File.open(file, "w") { |f| f.puts "" } - File.chown(-2, nil, file) - - assert(File.stat(file).uid > 120000, "eh?") - user = nonrootuser - - obj = Puppet::Type.newfile( - - :path => file, - - :owner => user.name - ) - - assert_apply(obj) - - assert_equal(user.uid, File.stat(file).uid) - end - end - else - $stderr.puts "Run as root for complete owner and group testing" - end - - def test_create - %w{a b c d}.collect { |name| tempfile + name.to_s }.each { |path| - file =nil - assert_nothing_raised { - - file = Puppet::Type.type(:file).new( - - :name => path, - - :ensure => "file" - ) - } - assert_events([:file_created], file) - assert_events([], file) - assert(FileTest.file?(path), "File does not exist") - @@tmpfiles.push path - } - end - - def test_create_dir - basedir = tempfile - Dir.mkdir(basedir) - %w{a b c d}.collect { |name| "#{basedir}/#{name}" }.each { |path| - file = nil - assert_nothing_raised { - - file = Puppet::Type.type(:file).new( - - :name => path, - - :ensure => "directory" - ) - } - assert(! FileTest.directory?(path), "Directory #{path} already exists") - assert_events([:directory_created], file) - assert_events([], file) - assert(FileTest.directory?(path)) - @@tmpfiles.push path - } - end - - def test_modes - file = mktestfile - # Set it to something else initially - File.chmod(0775, file.title) - [0644,0755,0777,0641].each { |mode| - assert_nothing_raised { - file[:mode] = mode - } - assert_events([:mode_changed], file) - assert_events([], file) - - assert_nothing_raised { - file.delete(:mode) - } - } - end - - def cyclefile(path) - # i had problems with using :name instead of :path - [:name,:path].each { |param| - file = nil - changes = nil - comp = nil - trans = nil - - initstorage - assert_nothing_raised { - - file = Puppet::Type.type(:file).new( - - param => path, - :recurse => true, - - :checksum => "md5" - ) - } - comp = Puppet::Type.type(:component).new( - :name => "component" - ) - comp.push file - assert_nothing_raised { - trans = comp.evaluate - } - assert_nothing_raised { - trans.evaluate - } - clearstorage - Puppet::Type.allclear - } - end - - def test_filetype_retrieval - file = nil - - # Verify it retrieves files of type directory - assert_nothing_raised { - - file = Puppet::Type.type(:file).new( - - :name => tmpdir, - - :check => :type - ) - } - - assert_equal("directory", file.property(:type).retrieve) - - # And then check files - assert_nothing_raised { - - file = Puppet::Type.type(:file).new( - - :name => tempfile, - - :ensure => "file" - ) - } - - assert_apply(file) - file[:check] = "type" - assert_apply(file) - - assert_equal("file", file.property(:type).retrieve) - end - - def test_path - dir = tempfile - - path = File.join(dir, "subdir") - - assert_nothing_raised("Could not make file") { - FileUtils.mkdir_p(File.dirname(path)) - File.open(path, "w") { |f| f.puts "yayness" } - } - - file = nil - dirobj = nil - assert_nothing_raised("Could not make file object") { - - dirobj = Puppet::Type.type(:file).new( - - :path => dir, - :recurse => true, - - :check => %w{mode owner group} - ) - } - catalog = mk_catalog dirobj - transaction = Puppet::Transaction.new(catalog) - transaction.eval_generate(dirobj) - - #assert_nothing_raised { - # dirobj.eval_generate - #} - - file = catalog.resource(:file, path) - - assert(file, "Could not retrieve file object") - - assert_equal("/#{file.ref}", file.path) - end - - def test_autorequire - basedir = tempfile - subfile = File.join(basedir, "subfile") - - - baseobj = Puppet::Type.type(:file).new( - - :name => basedir, - - :ensure => "directory" - ) - - - subobj = Puppet::Type.type(:file).new( - - :name => subfile, - - :ensure => "file" - ) - catalog = mk_catalog(baseobj, subobj) - edge = nil - assert_nothing_raised do - edge = subobj.autorequire.shift - end - assert_equal(baseobj, edge.source, "file did not require its parent dir") - assert_equal(subobj, edge.target, "file did not require its parent dir") - end - - # Unfortunately, I know this fails - def disabled_test_recursivemkdir - path = tempfile - subpath = File.join(path, "this", "is", "a", "dir") - file = nil - assert_nothing_raised { - - file = Puppet::Type.type(:file).new( - - :name => subpath, - :ensure => "directory", - - :recurse => true - ) - } - - comp = mk_catalog("yay", file) - comp.finalize - assert_apply(comp) - #assert_events([:directory_created], comp) - - assert(FileTest.directory?(subpath), "Did not create directory") - end - - # Make sure that content updates the checksum on the same run - def test_checksumchange_for_content - dest = tempfile - File.open(dest, "w") { |f| f.puts "yayness" } - - file = nil - assert_nothing_raised { - - file = Puppet::Type.type(:file).new( - - :name => dest, - :checksum => "md5", - :content => "This is some content", - - :backup => false - ) - } - - file.retrieve - - assert_events([:content_changed], file) - file.retrieve - assert_events([], file) - end - - # Make sure that content updates the checksum on the same run - def test_checksumchange_for_ensure - dest = tempfile - - file = nil - assert_nothing_raised { - - file = Puppet::Type.type(:file).new( - - :name => dest, - :checksum => "md5", - - :ensure => "file" - ) - } - - file.retrieve - - assert_events([:file_created], file) - file.retrieve - assert_events([], file) - end - - def test_nameandpath - path = tempfile - - file = nil - assert_nothing_raised { - - file = Puppet::Type.type(:file).new( - - :title => "fileness", - :path => path, - - :content => "this is some content" - ) - } - - assert_apply(file) - - assert(FileTest.exists?(path)) - end - - # Make sure that a missing group isn't fatal at object instantiation time. - def test_missinggroup - file = nil - assert_nothing_raised { - - file = Puppet::Type.type(:file).new( - - :path => tempfile, - - :group => "fakegroup" - ) - } - - assert(file.property(:group), "Group property failed") - end - - def test_modecreation - path = tempfile - - file = Puppet::Type.type(:file).new( - - :path => path, - :ensure => "file", - - :mode => "0777" - ) - assert_equal("777", file.should(:mode), "Mode did not get set correctly") - assert_apply(file) - assert_equal(0777, File.stat(path).mode & 007777, "file mode is incorrect") - File.unlink(path) - file[:ensure] = "directory" - assert_apply(file) - assert_equal(0777, File.stat(path).mode & 007777, "directory mode is incorrect") - end - - # If both 'ensure' and 'content' are used, make sure that all of the other - # properties are handled correctly. - def test_contentwithmode - path = tempfile - - file = nil - assert_nothing_raised { - - file = Puppet::Type.type(:file).new( - - :path => path, - :ensure => "file", - :content => "some text\n", - - :mode => 0755 - ) - } - - assert_apply(file) - assert_equal("%o" % 0755, "%o" % (File.stat(path).mode & 007777)) - end - - def test_replacefilewithlink - path = tempfile - link = tempfile - - File.open(path, "w") { |f| f.puts "yay" } - File.open(link, "w") { |f| f.puts "a file" } - - file = nil - assert_nothing_raised { - - file = Puppet::Type.type(:file).new( - - :ensure => path, - :path => link, - - :backup => false - ) - } - - assert_events([:link_created], file) - - assert(FileTest.symlink?(link), "Link was not created") - - assert_equal(path, File.readlink(link), "Link was created incorrectly") - end - - def test_file_with_spaces - dir = tempfile - Dir.mkdir(dir) - source = File.join(dir, "file spaces") - dest = File.join(dir, "another space") - - File.open(source, "w") { |f| f.puts :yay } - - obj = Puppet::Type.type(:file).new( - - :path => dest, - - :source => source - ) - assert(obj, "Did not create file") - - assert_apply(obj) - - assert(FileTest.exists?(dest), "File did not get created") - end - - # Testing #274. Make sure target can be used without 'ensure'. - def test_target_without_ensure - source = tempfile - dest = tempfile - File.open(source, "w") { |f| f.puts "funtest" } - - obj = nil - assert_nothing_raised { - obj = Puppet::Type.newfile(:path => dest, :target => source) - } - - assert_apply(obj) - end - - def test_autorequire_owner_and_group - file = tempfile - comp = nil - user = nil - group =nil - home = nil - ogroup = nil - assert_nothing_raised { - - user = Puppet::Type.type(:user).new( - - :name => "pptestu", - :home => file, - - :gid => "pptestg" - ) - - home = Puppet::Type.type(:file).new( - - :path => file, - :owner => "pptestu", - :group => "pptestg", - - :ensure => "directory" - ) - group = Puppet::Type.type(:group).new( - :name => "pptestg" - ) - comp = mk_catalog(user, group, home) - } - - # Now make sure we get a relationship for each of these - rels = nil - assert_nothing_raised { rels = home.autorequire } - assert(rels.detect { |e| e.source == user }, "owner was not autorequired") - assert(rels.detect { |e| e.source == group }, "group was not autorequired") - end - - # Testing #309 -- //my/file => /my/file - def test_slash_deduplication - ["/my/////file/for//testing", "/my/file/for/testing///", - "/my/file/for/testing"].each do |path| - file = nil - assert_nothing_raised do - file = Puppet::Type.newfile(:path => path) - end - - assert_equal("/my/file/for/testing", file[:path]) - end - end - - if Process.uid == 0 - # Testing #364. - def test_writing_in_directories_with_no_write_access - # Make a directory that our user does not have access to - dir = tempfile - Dir.mkdir(dir) - - # Get a fake user - user = nonrootuser - # and group - group = nonrootgroup - - # First try putting a file in there - path = File.join(dir, "file") - file = Puppet::Type.newfile :path => path, :owner => user.name, :group => group.name, :content => "testing" - - # Make sure we can create it - assert_apply(file) - assert(FileTest.exists?(path), "File did not get created") - # And that it's owned correctly - assert_equal(user.uid, File.stat(path).uid, "File has the wrong owner") - assert_equal(group.gid, File.stat(path).gid, "File has the wrong group") - - assert_equal("testing", File.read(path), "file has the wrong content") - - # Now make a dir - subpath = File.join(dir, "subdir") - subdir = Puppet::Type.newfile :path => subpath, :owner => user.name, :group => group.name, :ensure => :directory - # Make sure we can create it - assert_apply(subdir) - assert(FileTest.directory?(subpath), "File did not get created") - # And that it's owned correctly - assert_equal(user.uid, File.stat(subpath).uid, "File has the wrong owner") - assert_equal(group.gid, File.stat(subpath).gid, "File has the wrong group") - - assert_equal("testing", File.read(path), "file has the wrong content") - end - end - - # #366 - def test_replace_aliases - file = Puppet::Type.newfile :path => tempfile - file[:replace] = :yes - assert_equal(:true, file[:replace], ":replace did not alias :true to :yes") - file[:replace] = :no - assert_equal(:false, file[:replace], ":replace did not alias :false to :no") - end - - def test_pathbuilder - dir = tempfile - Dir.mkdir(dir) - file = File.join(dir, "file") - File.open(file, "w") { |f| f.puts "" } - obj = Puppet::Type.newfile :path => dir, :recurse => true, :mode => 0755 - catalog = mk_catalog obj - transaction = Puppet::Transaction.new(catalog) - - assert_equal("/#{obj.ref}", obj.path) - - list = transaction.eval_generate(obj) - fileobj = catalog.resource(:file, file) - assert(fileobj, "did not generate file object") - assert_equal("/#{fileobj.ref}", fileobj.path, "did not generate correct subfile path") - end - - # Testing #403 - def test_removal_with_content_set - path = tempfile - File.open(path, "w") { |f| f.puts "yay" } - file = Puppet::Type.newfile(:name => path, :ensure => :absent, :content => "foo", :backup => false) - - assert_apply(file) - assert(! FileTest.exists?(path), "File was not removed") - end - - # Testing #438 - def test_creating_properties_conflict - file = tempfile - first = tempfile - second = tempfile - params = [:content, :source, :target] - params.each do |param| - assert_nothing_raised("#{param} conflicted with ensure") do - Puppet::Type.newfile(:path => file, param => first, :ensure => :file) - end - params.each do |other| - next if other == param - assert_raise(Puppet::Error, "#{param} and #{other} did not conflict") do - Puppet::Type.newfile(:path => file, other => first, param => second) - end - end - end - end - - # Testing #508 - if Process.uid == 0 - def test_files_replace_with_right_attrs - source = tempfile - File.open(source, "w") { |f| - f.puts "some text" - } - File.chmod(0755, source) - user = nonrootuser - group = nonrootgroup - path = tempfile - good = {:uid => user.uid, :gid => group.gid, :mode => 0640} - - run = Proc.new do |obj, msg| - assert_apply(obj) - stat = File.stat(obj[:path]) - good.each do |should, sval| - if should == :mode - current = filemode(obj[:path]) - else - current = stat.send(should) - end - assert_equal(sval, current, "Attr #{should} was not correct #{msg}") - end - end - - - file = Puppet::Type.newfile( - :path => path, :owner => user.name, - - :group => group.name, :mode => 0640, :backup => false) - {:source => source, :content => "some content"}.each do |attr, value| - file[attr] = value - # First create the file - run.call(file, "upon creation with #{attr}") - - # Now change something so that we replace the file - case attr - when :source - File.open(source, "w") { |f| f.puts "some different text" } - when :content; file[:content] = "something completely different" - else - raise "invalid attr #{attr}" - end - - # Run it again - run.call(file, "after modification with #{attr}") - - # Now remove the file and the attr - file.delete(attr) - File.unlink(path) - end - end - end - - def test_root_dir_is_named_correctly - obj = Puppet::Type.newfile(:path => '/', :mode => 0755) - assert_equal("/", obj.title, "/ directory was changed to empty string") - end - -end diff --git a/test/ral/type/file/target.rb b/test/ral/type/file/target.rb deleted file mode 100755 index d778f2891..000000000 --- a/test/ral/type/file/target.rb +++ /dev/null @@ -1,346 +0,0 @@ -#!/usr/bin/env ruby - -require File.expand_path(File.dirname(__FILE__) + '/../../../lib/puppettest') - -require 'puppettest' -require 'puppettest/support/utils' -require 'fileutils' - -class TestFileTarget < Test::Unit::TestCase - include PuppetTest::Support::Utils - include PuppetTest::FileTesting - - def setup - super - @file = Puppet::Type.type(:file) - end - - # Make sure we can create symlinks - def test_symlinks - path = tempfile - link = tempfile - - File.open(path, "w") { |f| f.puts "yay" } - - file = nil - assert_nothing_raised { - file = Puppet::Type.type(:file).new( - :title => "somethingelse", - :ensure => path, - :path => link - ) - } - - assert_events([:link_created], file) - - assert(FileTest.symlink?(link), "Link was not created") - - assert_equal(path, File.readlink(link), "Link was created incorrectly") - - # Make sure running it again works - assert_events([], file) - assert_events([], file) - assert_events([], file) - end - - def test_simplerecursivelinking - source = tempfile - path = tempfile - subdir = File.join(source, "subdir") - file = File.join(subdir, "file") - - system("mkdir -p #{subdir}") - system("touch #{file}") - - - link = Puppet::Type.type(:file).new( - - :ensure => source, - :path => path, - - :recurse => true - ) - - catalog = mk_catalog(link) - catalog.apply - - sublink = File.join(path, "subdir") - linkpath = File.join(sublink, "file") - assert(File.directory?(path), "dest is not a dir") - assert(File.directory?(sublink), "subdest is not a dir") - assert(File.symlink?(linkpath), "path is not a link") - assert_equal(file, File.readlink(linkpath)) - - # Use classes for comparison, because the resource inspection is so large - assert_events([], link, "Link is not in sync") - end - - def test_recursivelinking - source = tempfile - dest = tempfile - - files = [] - dirs = [] - - # Make a bunch of files and dirs - Dir.mkdir(source) - Dir.chdir(source) do - system("mkdir -p #{"some/path/of/dirs"}") - system("mkdir -p #{"other/path/of/dirs"}") - system("touch #{"file"}") - system("touch #{"other/file"}") - system("touch #{"some/path/of/file"}") - system("touch #{"some/path/of/dirs/file"}") - system("touch #{"other/path/of/file"}") - - files = %x{find . -type f}.chomp.split(/\n/) - dirs = %x{find . -type d}.chomp.split(/\n/).reject{|d| d =~ /^\.+$/ } - end - - link = nil - assert_nothing_raised { - link = Puppet::Type.type(:file).new( - :ensure => source, - :path => dest, - :recurse => true - ) - } - - assert_apply(link) - - files.each do |f| - f.sub!(/^\.#{File::SEPARATOR}/, '') - path = File.join(dest, f) - assert(FileTest.exists?(path), "Link #{path} was not created") - assert(FileTest.symlink?(path), "#{f} is not a link") - target = File.readlink(path) - assert_equal(File.join(source, f), target) - end - - dirs.each do |d| - d.sub!(/^\.#{File::SEPARATOR}/, '') - path = File.join(dest, d) - assert(FileTest.exists?(path), "Dir #{path} was not created") - assert(FileTest.directory?(path), "#{d} is not a directory") - end - end - - def test_localrelativelinks - dir = tempfile - Dir.mkdir(dir) - source = File.join(dir, "source") - File.open(source, "w") { |f| f.puts "yay" } - dest = File.join(dir, "link") - - link = nil - assert_nothing_raised { - link = Puppet::Type.type(:file).new( - :path => dest, - :ensure => "source" - ) - } - - assert_events([:link_created], link) - assert(FileTest.symlink?(dest), "Did not create link") - assert_equal("source", File.readlink(dest)) - assert_equal("yay\n", File.read(dest)) - end - - def test_recursivelinkingmissingtarget - source = tempfile - dest = tempfile - - resources = [] - - resources << Puppet::Type.type(:exec).new( - :command => "mkdir #{source}; touch #{source}/file", - :title => "yay", - :path => ENV["PATH"] - ) - - resources << Puppet::Type.type(:file).new( - :ensure => source, - :path => dest, - :recurse => true, - :require => resources[0] - ) - - assert_apply(*resources) - - link = File.join(dest, "file") - assert(FileTest.symlink?(link), "Did not make link") - assert_equal(File.join(source, "file"), File.readlink(link)) - end - - def test_insync? - source = tempfile - dest = tempfile - - obj = @file.create(:path => source, :target => dest) - - prop = obj.send(:property, :target) - prop.send(:instance_variable_set, "@should", [:nochange]) - - assert( - prop.insync?(prop.retrieve), - - "Property not in sync with should == :nochange") - - prop = obj.send(:property, :target) - prop.send(:instance_variable_set, "@should", [:notlink]) - - assert( - prop.insync?(prop.retrieve), - - "Property not in sync with should == :nochange") - - # Lastly, make sure that we don't try to do anything when we're - # recursing, since 'ensure' does the work. - obj[:recurse] = true - prop.should = dest - - assert( - prop.insync?(prop.retrieve), - - "Still out of sync during recursion") - end - - def test_replacedirwithlink - Puppet[:trace] = false - path = tempfile - link = tempfile - - File.open(path, "w") { |f| f.puts "yay" } - Dir.mkdir(link) - File.open(File.join(link, "yay"), "w") do |f| f.puts "boo" end - - file = nil - assert_nothing_raised { - - file = Puppet::Type.type(:file).new( - - :ensure => path, - :path => link, - - :backup => false - ) - } - - # First run through without :force - assert_events([], file) - - assert(FileTest.directory?(link), "Link replaced dir without force") - - assert_nothing_raised { file[:force] = true } - - assert_events([:link_created], file) - - assert(FileTest.symlink?(link), "Link was not created") - - assert_equal(path, File.readlink(link), "Link was created incorrectly") - end - - def test_replace_links_with_files - base = tempfile - - Dir.mkdir(base) - - file = File.join(base, "file") - link = File.join(base, "link") - File.open(file, "w") { |f| f.puts "yayness" } - File.symlink(file, link) - - - obj = Puppet::Type.type(:file).new( - - :path => link, - - :ensure => "file" - ) - - assert_apply(obj) - - - assert_equal( - "yayness\n", File.read(file), - - "Original file got changed") - assert_equal("file", File.lstat(link).ftype, "File is still a link") - end - - def test_no_erase_linkedto_files - base = tempfile - - Dir.mkdir(base) - - dirs = {} - %w{other source target}.each do |d| - dirs[d] = File.join(base, d) - Dir.mkdir(dirs[d]) - end - - file = File.join(dirs["other"], "file") - sourcefile = File.join(dirs["source"], "sourcefile") - link = File.join(dirs["target"], "sourcefile") - - File.open(file, "w") { |f| f.puts "other" } - File.open(sourcefile, "w") { |f| f.puts "source" } - File.symlink(file, link) - - - obj = Puppet::Type.type(:file).new( - - :path => dirs["target"], - :ensure => :file, - :source => dirs["source"], - - :recurse => true - ) - config = mk_catalog obj - config.apply - - newfile = File.join(dirs["target"], "sourcefile") - - assert(File.directory?(dirs["target"]), "Dir did not get created") - assert(File.file?(newfile), "File did not get copied") - - assert_equal(File.read(sourcefile), File.read(newfile), - "File did not get copied correctly.") - - - assert_equal( - "other\n", File.read(file), - - "Original file got changed") - assert_equal("file", File.lstat(link).ftype, "File is still a link") - end - - def test_replace_links - dest = tempfile - otherdest = tempfile - link = tempfile - - File.open(dest, "w") { |f| f.puts "boo" } - File.open(otherdest, "w") { |f| f.puts "yay" } - - - obj = Puppet::Type.type(:file).new( - - :path => link, - - :ensure => otherdest - ) - - - assert_apply(obj) - - assert_equal(otherdest, File.readlink(link), "Link did not get created") - - obj[:ensure] = dest - - assert_apply(obj) - - assert_equal(dest, File.readlink(link), "Link did not get changed") - end -end - diff --git a/test/ral/type/fileignoresource.rb b/test/ral/type/fileignoresource.rb deleted file mode 100755 index 593fcf7a7..000000000 --- a/test/ral/type/fileignoresource.rb +++ /dev/null @@ -1,265 +0,0 @@ -#!/usr/bin/env ruby - -require File.expand_path(File.dirname(__FILE__) + '/../../lib/puppettest') - -require 'puppettest' -require 'puppettest/support/utils' -require 'cgi' -require 'fileutils' - -class TestFileIgnoreSources < Test::Unit::TestCase - include PuppetTest::Support::Utils - include PuppetTest::FileTesting - - def setup - super - begin - initstorage - rescue - system("rm -rf #{Puppet[:statefile]}") - end - - Facter.stubs(:to_hash).returns({}) - end - -#This is not needed unless using md5 (correct me if I'm wrong) - def initstorage - Puppet::Util::Storage.init - Puppet::Util::Storage.load - end - - def clearstorage - Puppet::Util::Storage.store - Puppet::Util::Storage.clear - end - - def test_ignore_simple_source - - #Temp directory to run tests in - path = tempfile - @@tmpfiles.push path - - #source directory - sourcedir = "sourcedir" - sourcefile1 = "sourcefile1" - sourcefile2 = "sourcefile2" - - frompath = File.join(path,sourcedir) - FileUtils.mkdir_p frompath - - topath = File.join(path,"destdir") - FileUtils.mkdir topath - - #initialize variables before block - tofile = nil - trans = nil - - #create source files - - - File.open( - File.join(frompath,sourcefile1), - - File::WRONLY|File::CREAT|File::APPEND) { |of| - of.puts "yayness" - } - - - File.open( - File.join(frompath,sourcefile2), - - File::WRONLY|File::CREAT|File::APPEND) { |of| - of.puts "even yayer" - } - - - #makes Puppet file Object - assert_nothing_raised { - - tofile = Puppet::Type.type(:file).new( - - :name => topath, - :source => frompath, - :recurse => true, - - :ignore => "sourcefile2" - ) - } - - config = mk_catalog(tofile) - config.apply - - - #topath should exist as a directory with sourcedir as a directory - - #This file should exist - assert(FileTest.exists?(File.join(topath,sourcefile1))) - - #This file should not - assert(!(FileTest.exists?(File.join(topath,sourcefile2)))) - end - - def test_ignore_with_wildcard - #Temp directory to run tests in - path = tempfile - @@tmpfiles.push path - - #source directory - sourcedir = "sourcedir" - subdir = "subdir" - subdir2 = "subdir2" - sourcefile1 = "sourcefile1" - sourcefile2 = "sourcefile2" - - frompath = File.join(path,sourcedir) - FileUtils.mkdir_p frompath - - FileUtils.mkdir_p(File.join(frompath, subdir)) - FileUtils.mkdir_p(File.join(frompath, subdir2)) - dir = Dir.glob(File.join(path,"**/*")) - - topath = File.join(path,"destdir") - FileUtils.mkdir topath - - #initialize variables before block - tofile = nil - trans = nil - - #create source files - - dir.each { |dir| - - File.open( - File.join(dir,sourcefile1), - - File::WRONLY|File::CREAT|File::APPEND) { |of| - of.puts "yayness" - } - - - File.open( - File.join(dir,sourcefile2), - - File::WRONLY|File::CREAT|File::APPEND) { |of| - of.puts "even yayer" - } - - } - - #makes Puppet file Object - assert_nothing_raised { - - tofile = Puppet::Type.type(:file).new( - - :name => topath, - :source => frompath, - :recurse => true, - - :ignore => "*2" - ) - } - - config = mk_catalog(tofile) - config.apply - - #topath should exist as a directory with sourcedir as a directory - - #This file should exist - assert(FileTest.exists?(File.join(topath,sourcefile1))) - assert(FileTest.exists?(File.join(topath,subdir))) - assert(FileTest.exists?(File.join(File.join(topath,subdir),sourcefile1))) - - #This file should not - assert(!(FileTest.exists?(File.join(topath,sourcefile2)))) - assert(!(FileTest.exists?(File.join(topath,subdir2)))) - assert(!(FileTest.exists?(File.join(File.join(topath,subdir),sourcefile2)))) - end - - def test_ignore_array - #Temp directory to run tests in - path = tempfile - @@tmpfiles.push path - - #source directory - sourcedir = "sourcedir" - subdir = "subdir" - subdir2 = "subdir2" - subdir3 = "anotherdir" - sourcefile1 = "sourcefile1" - sourcefile2 = "sourcefile2" - - frompath = File.join(path,sourcedir) - FileUtils.mkdir_p frompath - - FileUtils.mkdir_p(File.join(frompath, subdir)) - FileUtils.mkdir_p(File.join(frompath, subdir2)) - FileUtils.mkdir_p(File.join(frompath, subdir3)) - sourcedir = Dir.glob(File.join(path,"**/*")) - - topath = File.join(path,"destdir") - FileUtils.mkdir topath - - #initialize variables before block - tofile = nil - trans = nil - - #create source files - - - - sourcedir.each { |dir| - - File.open( - File.join(dir,sourcefile1), - - File::WRONLY|File::CREAT|File::APPEND) { |of| - of.puts "yayness" - } - - - File.open( - File.join(dir,sourcefile2), - - File::WRONLY|File::CREAT|File::APPEND) { |of| - of.puts "even yayer" - } - - } - - - #makes Puppet file Object - assert_nothing_raised { - - tofile = Puppet::Type.type(:file).new( - - :name => topath, - :source => frompath, - :recurse => true, - - :ignore => ["*2", "an*"] - # :ignore => ["*2", "an*", "nomatch"] - ) - } - - config = mk_catalog(tofile) - config.apply - - #topath should exist as a directory with sourcedir as a directory - - # This file should exist - # proper files in destination - assert(FileTest.exists?(File.join(topath,sourcefile1)), "file1 not in destdir") - assert(FileTest.exists?(File.join(topath,subdir)), "subdir1 not in destdir") - assert(FileTest.exists?(File.join(File.join(topath,subdir),sourcefile1)), "file1 not in subdir") - # proper files in source - assert(FileTest.exists?(File.join(frompath,subdir)), "subdir not in source") - assert(FileTest.exists?(File.join(frompath,subdir2)), "subdir2 not in source") - assert(FileTest.exists?(File.join(frompath,subdir3)), "subdir3 not in source") - - # This file should not - assert(!(FileTest.exists?(File.join(topath,sourcefile2))), "file2 in dest") - assert(!(FileTest.exists?(File.join(topath,subdir2))), "subdir2 in dest") - assert(!(FileTest.exists?(File.join(topath,subdir3))), "anotherdir in dest") - assert(!(FileTest.exists?(File.join(File.join(topath,subdir),sourcefile2))), "file2 in dest/sub") - end -end diff --git a/test/ral/type/filesources.rb b/test/ral/type/filesources.rb deleted file mode 100755 index 9cb7efbf0..000000000 --- a/test/ral/type/filesources.rb +++ /dev/null @@ -1,446 +0,0 @@ -#!/usr/bin/env ruby - -require File.expand_path(File.dirname(__FILE__) + '/../../lib/puppettest') - -require 'puppettest' -require 'puppettest/support/utils' -require 'cgi' -require 'fileutils' -require 'mocha' - -class TestFileSources < Test::Unit::TestCase - include PuppetTest::Support::Utils - include PuppetTest::FileTesting - def setup - super - if defined?(@port) - @port += 1 - else - @port = 12345 - end - @file = Puppet::Type.type(:file) - Puppet[:filetimeout] = -1 - Puppet::Util::SUIDManager.stubs(:asuser).yields - Facter.stubs(:to_hash).returns({}) - end - - def teardown - super - end - - def use_storage - initstorage - rescue - system("rm -rf #{Puppet[:statefile]}") - end - - def initstorage - Puppet::Util::Storage.init - Puppet::Util::Storage.load - end - - # Make a simple recursive tree. - def mk_sourcetree - source = tempfile - sourcefile = File.join(source, "file") - Dir.mkdir source - File.open(sourcefile, "w") { |f| f.puts "yay" } - - dest = tempfile - destfile = File.join(dest, "file") - return source, dest, sourcefile, destfile - end - - def recursive_source_test(fromdir, todir) - initstorage - tofile = nil - trans = nil - - - tofile = Puppet::Type.type(:file).new( - - :path => todir, - :recurse => true, - :backup => false, - - :source => fromdir - ) - catalog = mk_catalog(tofile) - catalog.apply - - assert(FileTest.exists?(todir), "Created dir #{todir} does not exist") - end - - def run_complex_sources(networked = false) - path = tempfile - - # first create the source directory - FileUtils.mkdir_p path - - # okay, let's create a directory structure - fromdir = File.join(path,"fromdir") - Dir.mkdir(fromdir) - FileUtils.cd(fromdir) { - File.open("one", "w") { |f| f.puts "onefile"} - File.open("two", "w") { |f| f.puts "twofile"} - } - - todir = File.join(path, "todir") - source = fromdir - source = "puppet://localhost/#{networked}#{fromdir}" if networked - recursive_source_test(source, todir) - - [fromdir,todir, File.join(todir, "one"), File.join(todir, "two")] - end - - def test_complex_sources_twice - fromdir, todir, one, two = run_complex_sources - assert_trees_equal(fromdir,todir) - recursive_source_test(fromdir, todir) - assert_trees_equal(fromdir,todir) - # Now remove the whole tree and try it again. - [one, two].each do |f| File.unlink(f) end - Dir.rmdir(todir) - recursive_source_test(fromdir, todir) - assert_trees_equal(fromdir,todir) - end - - def test_sources_with_deleted_destfiles - fromdir, todir, one, two = run_complex_sources - assert(FileTest.exists?(todir)) - - # then delete a file - File.unlink(two) - - # and run - recursive_source_test(fromdir, todir) - - assert(FileTest.exists?(two), "Deleted file was not recopied") - - # and make sure they're still equal - assert_trees_equal(fromdir,todir) - end - - def test_sources_with_readonly_destfiles - fromdir, todir, one, two = run_complex_sources - assert(FileTest.exists?(todir)) - File.chmod(0600, one) - recursive_source_test(fromdir, todir) - - # and make sure they're still equal - assert_trees_equal(fromdir,todir) - - # Now try it with the directory being read-only - File.chmod(0111, todir) - recursive_source_test(fromdir, todir) - - # and make sure they're still equal - assert_trees_equal(fromdir,todir) - end - - def test_sources_with_modified_dest_files - fromdir, todir, one, two = run_complex_sources - - assert(FileTest.exists?(todir)) - - # Modify a dest file - File.open(two, "w") { |f| f.puts "something else" } - - recursive_source_test(fromdir, todir) - - # and make sure they're still equal - assert_trees_equal(fromdir,todir) - end - - def test_sources_with_added_destfiles - fromdir, todir = run_complex_sources - assert(FileTest.exists?(todir)) - # and finally, add some new files - add_random_files(todir) - - recursive_source_test(fromdir, todir) - - fromtree = file_list(fromdir) - totree = file_list(todir) - - assert(fromtree != totree, "Trees are incorrectly equal") - - # then remove our new files - FileUtils.cd(todir) { - %x{find . 2>/dev/null}.chomp.split(/\n/).each { |file| - if file =~ /file[0-9]+/ - FileUtils.rm_rf(file) - end - } - } - - # and make sure they're still equal - assert_trees_equal(fromdir,todir) - end - - # Make sure added files get correctly caught during recursion - def test_RecursionWithAddedFiles - basedir = tempfile - Dir.mkdir(basedir) - @@tmpfiles << basedir - file1 = File.join(basedir, "file1") - file2 = File.join(basedir, "file2") - subdir1 = File.join(basedir, "subdir1") - file3 = File.join(subdir1, "file") - File.open(file1, "w") { |f| f.puts "yay" } - rootobj = nil - assert_nothing_raised { - - rootobj = Puppet::Type.type(:file).new( - - :name => basedir, - :recurse => true, - :check => %w{type owner}, - - :mode => 0755 - ) - } - - assert_apply(rootobj) - assert_equal(0755, filemode(file1)) - - File.open(file2, "w") { |f| f.puts "rah" } - assert_apply(rootobj) - assert_equal(0755, filemode(file2)) - - Dir.mkdir(subdir1) - File.open(file3, "w") { |f| f.puts "foo" } - assert_apply(rootobj) - assert_equal(0755, filemode(file3)) - end - - def mkfileserverconf(mounts) - file = tempfile - File.open(file, "w") { |f| - mounts.each { |path, name| - f.puts "[#{name}]\n\tpath #{path}\n\tallow *\n" - } - } - - @@tmpfiles << file - file - end - - def test_sourcepaths - files = [] - 3.times { - files << tempfile - } - - to = tempfile - - File.open(files[-1], "w") { |f| f.puts "yee-haw" } - - file = nil - assert_nothing_raised { - - file = Puppet::Type.type(:file).new( - - :name => to, - - :source => files - ) - } - - comp = mk_catalog(file) - assert_events([:file_created], comp) - - assert(File.exists?(to), "File does not exist") - - txt = nil - File.open(to) { |f| txt = f.read.chomp } - - assert_equal("yee-haw", txt, "Contents do not match") - end - - # Make sure that source-copying updates the checksum on the same run - def test_sourcebeatsensure - source = tempfile - dest = tempfile - File.open(source, "w") { |f| f.puts "yay" } - - file = nil - assert_nothing_raised { - file = Puppet::Type.type(:file).new( - :name => dest, - :ensure => "file", - :source => source - ) - } - - file.retrieve - - assert_events([:file_created], file) - file.retrieve - assert_events([], file) - assert_events([], file) - end - - def test_sourcewithlinks - source = tempfile - link = tempfile - dest = tempfile - - File.open(source, "w") { |f| f.puts "yay" } - File.symlink(source, link) - - file = Puppet::Type.type(:file).new(:name => dest, :source => link) - - catalog = mk_catalog(file) - - # Default to managing links - catalog.apply - assert(FileTest.symlink?(dest), "Did not create link") - - # Now follow the links - file[:links] = :follow - catalog.apply - assert(FileTest.file?(dest), "Destination is not a file") - end - - # Make sure files aren't replaced when replace is false, but otherwise - # are. - def test_replace - dest = tempfile - - file = Puppet::Type.newfile( - - :path => dest, - :content => "foobar", - - :recurse => true - ) - - - assert_apply(file) - - File.open(dest, "w") { |f| f.puts "yayness" } - - file[:replace] = false - - assert_apply(file) - - # Make sure it doesn't change. - assert_equal("yayness\n", File.read(dest), "File got replaced when :replace was false") - - file[:replace] = true - assert_apply(file) - - # Make sure it changes. - assert_equal("foobar", File.read(dest), "File was not replaced when :replace was true") - end - - def test_sourceselect - dest = tempfile - sources = [] - 2.times { |i| - i = i + 1 - source = tempfile - sources << source - file = File.join(source, "file#{i}") - Dir.mkdir(source) - File.open(file, "w") { |f| f.print "yay" } - } - file1 = File.join(dest, "file1") - file2 = File.join(dest, "file2") - file3 = File.join(dest, "file3") - - # Now make different files with the same name in each source dir - sources.each_with_index do |source, i| - File.open(File.join(source, "file3"), "w") { |f| - f.print i.to_s - } - end - - - obj = Puppet::Type.newfile( - :path => dest, :recurse => true, - - :source => sources) - - assert_equal(:first, obj[:sourceselect], "sourceselect has the wrong default") - # First, make sure we default to just copying file1 - assert_apply(obj) - - assert(FileTest.exists?(file1), "File from source 1 was not copied") - assert(! FileTest.exists?(file2), "File from source 2 was copied") - assert(FileTest.exists?(file3), "File from source 1 was not copied") - assert_equal("0", File.read(file3), "file3 got wrong contents") - - # Now reset sourceselect - assert_nothing_raised do - obj[:sourceselect] = :all - end - File.unlink(file1) - File.unlink(file3) - Puppet.err :yay - assert_apply(obj) - - assert(FileTest.exists?(file1), "File from source 1 was not copied") - assert(FileTest.exists?(file2), "File from source 2 was copied") - assert(FileTest.exists?(file3), "File from source 1 was not copied") - assert_equal("0", File.read(file3), "file3 got wrong contents") - end - - def test_recursive_sourceselect - dest = tempfile - source1 = tempfile - source2 = tempfile - files = [] - [source1, source2, File.join(source1, "subdir"), File.join(source2, "subdir")].each_with_index do |dir, i| - Dir.mkdir(dir) - # Make a single file in each directory - file = File.join(dir, "file#{i}") - File.open(file, "w") { |f| f.puts "yay#{i}"} - - # Now make a second one in each directory - file = File.join(dir, "second-file#{i}") - File.open(file, "w") { |f| f.puts "yaysecond-#{i}"} - files << file - end - - obj = Puppet::Type.newfile(:path => dest, :source => [source1, source2], :sourceselect => :all, :recurse => true) - - assert_apply(obj) - - ["file0", "file1", "second-file0", "second-file1", "subdir/file2", "subdir/second-file2", "subdir/file3", "subdir/second-file3"].each do |file| - path = File.join(dest, file) - assert(FileTest.exists?(path), "did not create #{file}") - - assert_equal("yay#{File.basename(file).sub("file", '')}\n", File.read(path), "file was not copied correctly") - end - end - - # #594 - def test_purging_missing_remote_files - source = tempfile - dest = tempfile - s1 = File.join(source, "file1") - s2 = File.join(source, "file2") - d1 = File.join(dest, "file1") - d2 = File.join(dest, "file2") - Dir.mkdir(source) - [s1, s2].each { |name| File.open(name, "w") { |file| file.puts "something" } } - - # We have to add a second parameter, because that's the only way to expose the "bug". - file = Puppet::Type.newfile(:path => dest, :source => source, :recurse => true, :purge => true, :mode => "755") - - assert_apply(file) - - assert(FileTest.exists?(d1), "File1 was not copied") - assert(FileTest.exists?(d2), "File2 was not copied") - - File.unlink(s2) - - assert_apply(file) - - assert(FileTest.exists?(d1), "File1 was not kept") - assert(! FileTest.exists?(d2), "File2 was not purged") - end -end - diff --git a/test/ral/type/host.rb b/test/ral/type/host.rb deleted file mode 100755 index 00e1d9ef6..000000000 --- a/test/ral/type/host.rb +++ /dev/null @@ -1,180 +0,0 @@ -#!/usr/bin/env ruby - -require File.expand_path(File.dirname(__FILE__) + '/../../lib/puppettest') - -require 'puppettest' -require 'test/unit' -require 'facter' - -class TestHost < Test::Unit::TestCase - include PuppetTest - - def setup - super - @hosttype = Puppet::Type.type(:host) - - @provider = @hosttype.defaultprovider - - # Make sure they are using the parsed provider - unless @provider.name == :parsed - @hosttype.defaultprovider = @hosttype.provider(:parsed) - end - - cleanup do @hosttype.defaultprovider = nil end - - if @provider.respond_to?(:default_target=) - @default_file = @provider.default_target - cleanup do - @provider.default_target = @default_file - end - @target = tempfile - @provider.default_target = @target - end - end - - def mkhost - if defined?(@hcount) - @hcount += 1 - else - @hcount = 1 - end - - @catalog ||= mk_catalog - - host = nil - assert_nothing_raised { - - host = Puppet::Type.type(:host).new( - - :name => "fakehost#{@hcount}", - :ip => "192.168.27.#{@hcount}", - :alias => "alias#{@hcount}", - - :catalog => @catalog - ) - } - - host - end - - def test_list - list = nil - assert_nothing_raised do - list = @hosttype.defaultprovider.instances - end - - assert_equal(0, list.length, "Found hosts in empty file somehow") - end - - - def test_simplehost - host = nil - - assert_nothing_raised { - - host = Puppet::Type.type(:host).new( - - :name => "culain", - - :ip => "192.168.0.3" - ) - } - - current_values = nil - assert_nothing_raised { current_values = host.retrieve } - assert_events([:host_created], host) - - assert_nothing_raised { current_values = host.retrieve } - - assert_equal(:present, current_values[host.property(:ensure)]) - - host[:ensure] = :absent - - assert_events([:host_removed], host) - - assert_nothing_raised { current_values = host.retrieve } - - assert_equal(:absent, current_values[host.property(:ensure)]) - end - - def test_moddinghost - host = mkhost - cleanup do - host[:ensure] = :absent - assert_apply(host) - end - - assert_events([:host_created], host) - - current_values = nil - assert_nothing_raised { - current_values = host.retrieve - } - - # This was a hard bug to track down. - assert_instance_of(String, current_values[host.property(:ip)]) - - host[:ensure] = :absent - assert_events([:host_removed], host) - end - - def test_invalid_ipaddress - host = mkhost - - assert_raise(Puppet::Error) { - host[:ip] = "abc.def.ghi.jkl" - } - end - - def test_invalid_hostname - host = mkhost - - assert_raise(Puppet::Error) { - host[:name] = "!invalid.hostname.$PID$" - } - - assert_raise(Puppet::Error) { - host[:name] = "-boo" - } - - assert_raise(Puppet::Error) { - host[:name] = "boo-.ness" - } - - assert_raise(Puppet::Error) { - host[:name] = "boo..ness" - } - end - - def test_valid_hostname - host = mkhost - - assert_nothing_raised { - host[:name] = "yayness" - } - - assert_nothing_raised { - host[:name] = "yay-ness" - } - - assert_nothing_raised { - host[:name] = "yay.ness" - } - - assert_nothing_raised { - host[:name] = "yay.ne-ss" - } - - assert_nothing_raised { - host[:name] = "y.ay-ne-ss.com" - } - - assert_nothing_raised { - host[:name] = "y4y.n3-ss" - } - - assert_nothing_raised { - host[:name] = "y" - } - end -end diff --git a/test/ral/type/port.rb b/test/ral/type/port.rb deleted file mode 100755 index 1daee1474..000000000 --- a/test/ral/type/port.rb +++ /dev/null @@ -1,147 +0,0 @@ -#!/usr/bin/env ruby - -require File.expand_path(File.dirname(__FILE__) + '/../../lib/puppettest') - -require 'puppettest' - -#require 'facter' -# -#class TestPort < Test::Unit::TestCase -# include PuppetTest -# -# def setup -# super -# @porttype = Puppet::Type.type(:port) -# -# @provider = @porttype.defaultprovider -# -# # Make sure they are using the parsed provider -# unless @provider.name == :parsed -# @porttype.defaultprovider = @porttype.provider(:parsed) -# end -# -# cleanup do @porttype.defaultprovider = nil end -# -# if @provider.respond_to?(:default_target) -# oldpath = @provider.default_target -# cleanup do -# @provider.default_target = oldpath -# end -# @provider.default_target = tempfile -# end -# end -# -# def mkport -# port = nil -# -# if defined?(@pcount) -# @pcount += 1 -# else -# @pcount = 1 -# end -# assert_nothing_raised { -# port = Puppet::Type.type(:port).new( -# :name => "puppet#{@pcount}", -# :number => "813#{@pcount}", -# :protocols => "tcp", -# :description => "The port that Puppet runs on", -# :alias => "coolness#{@pcount}" -# ) -# } -# -# return port -# end -# -# def test_list -# assert_nothing_raised { -# Puppet::Type.type(:port).list -# } -# -# count = 0 -# @porttype.each do |h| -# count += 1 -# end -# -# assert_equal(0, count, "Found hosts in empty file somehow") -# -# dns = @porttype["domain"] -# assert(dns, "Did not retrieve dns service") -# end -# -# def test_simpleport -# host = nil -# -# port = mkport -# -# assert_apply(port) -# assert_nothing_raised { -# port.retrieve -# } -# -# assert(port.provider.exists?, "Port did not get created") -# end -# -# def test_moddingport -# port = nil -# port = mkport -# -# assert_events([:port_created], port) -# -# port.retrieve -# -# port[:protocols] = %w{tcp udp} -# -# assert_events([:port_changed], port) -# end -# -# def test_multivalues -# port = mkport -# assert_raise(Puppet::Error) { -# port[:protocols] = "udp tcp" -# } -# assert_raise(Puppet::Error) { -# port[:alias] = "puppetmasterd yayness" -# } -# end -# -# def test_removal -# port = mkport -# assert_nothing_raised { -# port[:ensure] = :present -# } -# assert_events([:port_created], port) -# assert_events([], port) -# -# assert(port.provider.exists?, "port was not created") -# assert_nothing_raised { -# port[:ensure] = :absent -# } -# -# assert_events([:port_removed], port) -# assert(! port.provider.exists?, "port was not removed") -# assert_events([], port) -# end -# -# def test_addingproperties -# port = mkport -# assert_events([:port_created], port) -# -# port.delete(:alias) -# assert(! port.property(:alias)) -# assert_events([:port_changed], port) -# -# assert_nothing_raised { -# port.retrieve -# } -# -# assert_equal(:present, port.is(:ensure)) -# -# assert_equal(:absent, port.is(:alias)) -# -# port[:alias] = "yaytest" -# assert_events([:port_changed], port) -# port.retrieve -# assert(port.property(:alias).is == ["yaytest"]) -# end -#end - diff --git a/test/ral/type/resources.rb b/test/ral/type/resources.rb deleted file mode 100755 index 21604ba8e..000000000 --- a/test/ral/type/resources.rb +++ /dev/null @@ -1,104 +0,0 @@ -#!/usr/bin/env ruby -require File.expand_path(File.dirname(__FILE__) + '/../../lib/puppettest') - -require 'puppettest' - -class TestResources < Test::Unit::TestCase - include PuppetTest - - def add_purge_lister - # Now define the list method - class << @purgetype - def instances - $purgemembers.values - end - end - end - - def mk_purger(managed = false) - @purgenum ||= 0 - @purgenum += 1 - obj = @purgetype.create :name => "purger#{@purgenum}" - $purgemembers[obj[:name]] = obj - obj[:fake] = "testing" if managed - obj - end - - def mkpurgertype - # Create a purgeable type - $purgemembers = {} - @purgetype = Puppet::Type.newtype(:purgetest) do - newparam(:name, :namevar => true) {} - newproperty(:ensure) do - newvalue(:absent) do - $purgemembers[@parent[:name]] = @parent - end - newvalue(:present) do - $purgemembers.delete(@parent[:name]) - end - end - newproperty(:fake) do - def sync - :faked - end - end - end - cleanup do - Puppet::Type.rmtype(:purgetest) - end - end - - def setup - super - @type = Puppet::Type.type(:resources) - end - - # Part of #408. - def test_check - # First check a non-user - res = Puppet::Type.type(:resources).new :name => :package - assert_nil(res[:unless_system_user], "got bad default for package") - - - assert_nothing_raised { - assert(res.check("A String"), "String failed check") - assert(res.check(Puppet::Type.type(:file).new(:path => tempfile)), "File failed check") - assert(res.check(Puppet::Type.type(:user).new(:name => "yayness")), "User failed check in package") - } - - # Now create a user manager - res = Puppet::Type.type(:resources).new :name => :user - - # Make sure the default is 500 - assert_equal(500, res[:unless_system_user], "got bad default") - - # Now make sure root fails the test - @user = Puppet::Type.type(:user) - assert_nothing_raised { - assert(! res.check(@user.create(:name => "root")), "root passed check") - assert(! res.check(@user.create(:name => "nobody")), "nobody passed check") - } - - # Now find a user between 0 and the limit - low = high = nil - Etc.passwd { |entry| - if ! low and (entry.uid > 10 and entry.uid < 500) - low = entry.name - else - # We'll reset the limit, since we can't really guarantee that - # there are any users with uid > 500 - if ! high and entry.uid > 100 and ! res.system_users.include?(entry.name) - high = entry.name - break - end - end - } - - assert(! res.check(@user.create(:name => low)), "low user #{low} passed check") if low - if high - res[:unless_system_user] = 50 - assert(res.check(@user.create(:name => high)), "high user #{high} failed check") - end - end -end - diff --git a/test/ral/type/service.rb b/test/ral/type/service.rb deleted file mode 100755 index b7ae8dfd6..000000000 --- a/test/ral/type/service.rb +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/env ruby - -require File.expand_path(File.dirname(__FILE__) + '/../../lib/puppettest') - -require 'puppettest' -require 'mocha' - -class TestServiceType < Test::Unit::TestCase - include PuppetTest - - # #199 - def test_no_refresh_when_starting - service = Puppet::Type.type(:service).new :name => "hopefully_this_isnt_in_the_process_table", - :ensure => :running, :provider => :base - - assert_equal :running, service.instance_eval('@parameters[:ensure]').should - assert_not_equal :running, service.instance_eval('@parameters[:ensure]').retrieve, "You have something called #{service.name} in your process table" - - # First make sure it does not refresh - service.provider.expects(:restart).never - - assert_nothing_raised do - service.refresh - end - end - - def test_refresh_normally - service = Puppet::Type.type(:service).new :name => "testing", - :ensure => :running, :provider => :base, :status => "cat /dev/null" - - service.provider.expects(:restart) - - assert_nothing_raised do - service.refresh - end - end -end - diff --git a/test/ral/type/sshkey.rb b/test/ral/type/sshkey.rb deleted file mode 100755 index 2bdc00877..000000000 --- a/test/ral/type/sshkey.rb +++ /dev/null @@ -1,148 +0,0 @@ -#!/usr/bin/env ruby - -require File.expand_path(File.dirname(__FILE__) + '/../../lib/puppettest') - -require 'puppettest' -require 'facter' - -class TestSSHKey < Test::Unit::TestCase - include PuppetTest - def setup - super - # god i'm lazy - @sshkeytype = Puppet::Type.type(:sshkey) - - @provider = @sshkeytype.defaultprovider - - # Make sure they are using the parsed provider - unless @provider.name == :parsed - @sshkeytype.defaultprovider = @sshkeytype.provider(:parsed) - end - - cleanup do @sshkeytype.defaultprovider = nil end - - if @provider.respond_to?(:default_target) - oldpath = @provider.default_target - cleanup do - @provider.default_target = oldpath - end - @provider.default_target = tempfile - end - end - - def teardown - super - @provider.clear if @provider.respond_to?(:clear) - end - - def mkkey - key = nil - - if defined?(@kcount) - @kcount += 1 - else - @kcount = 1 - end - - @catalog ||= mk_catalog - - - key = @sshkeytype.new( - - :name => "host#{@kcount}.madstop.com", - :key => "#{@kcount}AAAAB3NzaC1kc3MAAACBAMnhSiku76y3EGkNCDsUlvpO8tRgS9wL4Eh54WZfQ2lkxqfd2uT/RTT9igJYDtm/+UHuBRdNGpJYW1Nw2i2JUQgQEEuitx4QKALJrBotejGOAWxxVk6xsh9xA0OW8Q3ZfuX2DDitfeC8ZTCl4xodUMD8feLtP+zEf8hxaNamLlt/AAAAFQDYJyf3vMCWRLjTWnlxLtOyj/bFpwAAAIEAmRxxXb4jjbbui9GYlZAHK00689DZuX0EabHNTl2yGO5KKxGC6Esm7AtjBd+onfu4Rduxut3jdI8GyQCIW8WypwpJofCIyDbTUY4ql0AQUr3JpyVytpnMijlEyr41FfIb4tnDqnRWEsh2H7N7peW+8DWZHDFnYopYZJ9Yu4/jHRYAAACAERG50e6aRRb43biDr7Ab9NUCgM9bC0SQscI/xdlFjac0B/kSWJYTGVARWBDWug705hTnlitY9cLC5Ey/t/OYOjylTavTEfd/bh/8FkAYO+pWdW3hx6p97TBffK0b6nrc6OORT2uKySbbKOn0681nNQh4a6ueR3JRppNkRPnTk5c=", - :type => "ssh-dss", - :alias => ["192.168.0.#{@kcount}"], - - :catalog => @catalog - ) - - @catalog.add_resource(key) - - key - end - - def test_instances - list = nil - assert_nothing_raised { - list = Puppet::Type.type(:sshkey).instances - } - - count = 0 - list.each do |h| - count += 1 - end - - assert_equal(0, count, "Found sshkeys in empty file somehow") - end - - def test_simplekey - key = mkkey - file = tempfile - key[:target] = file - key[:provider] = :parsed - - assert_apply(key) - - assert_events([], key, "created events on in-sync key") - - assert(key.provider.exists?, "Key did not get created") - - # Now create a new key object - name = key.name - key = nil - - key = @sshkeytype.new :name => name, :target => file, :provider => :parsed - key.retrieve - - assert(key.provider.exists?, "key thinks it does not exist") - - end - - def test_removal - sshkey = mkkey - assert_nothing_raised { - sshkey[:ensure] = :present - } - assert_events([:sshkey_created], sshkey) - - assert(sshkey.provider.exists?, "key was not created") - assert_nothing_raised { - sshkey[:ensure] = :absent - } - - assert_events([:sshkey_removed], sshkey) - assert(! sshkey.provider.exists?, "Key was not deleted") - assert_events([], sshkey) - end - - # Make sure changes actually modify the file. - def test_modifyingfile - keys = [] - names = [] - 3.times { - k = mkkey - #h[:ensure] = :present - #h.retrieve - keys << k - names << k.name - } - assert_apply(*keys) - keys.clear - - @catalog.clear(true) - @catalog = nil - - newkey = mkkey - #newkey[:ensure] = :present - names << newkey.name - assert_apply(newkey) - - # Verify we can retrieve that info - assert_nothing_raised("Could not retrieve after second write") { - newkey.provider.prefetch - } - - assert(newkey.provider.exists?, "Did not see key in file") - end -end diff --git a/test/ral/type/user.rb b/test/ral/type/user.rb deleted file mode 100755 index 404d84f4e..000000000 --- a/test/ral/type/user.rb +++ /dev/null @@ -1,167 +0,0 @@ -#!/usr/bin/env ruby - -require File.expand_path(File.dirname(__FILE__) + '/../../lib/puppettest') - -require 'puppettest' -require 'etc' - -class TestUser < Test::Unit::TestCase - include PuppetTest - - p = Puppet::Type.type(:user).provide :fake, :parent => PuppetTest::FakeProvider do - @name = :fake - apimethods - def create - @ensure = :present - @resource.send(:properties).each do |property| - next if property.name == :ensure - property.sync - end - end - - def delete - @ensure = :absent - @resource.send(:properties).each do |property| - send(property.name.to_s + "=", :absent) - end - end - - def exists? - if @ensure == :present - true - else - false - end - end - end - - FakeUserProvider = p - - @@fakeproviders[:group] = p - - def findshell(old = nil) - %w{/bin/sh /bin/bash /sbin/sh /bin/ksh /bin/zsh /bin/csh /bin/tcsh - /usr/bin/sh /usr/bin/bash /usr/bin/ksh /usr/bin/zsh /usr/bin/csh - /usr/bin/tcsh}.find { |shell| - if old - FileTest.exists?(shell) and shell != old - else - FileTest.exists?(shell) - end - } - end - - def setup - super - Puppet::Type.type(:user).defaultprovider = FakeUserProvider - end - - def teardown - Puppet::Type.type(:user).defaultprovider = nil - super - end - - def mkuser(name) - user = nil - assert_nothing_raised { - - user = Puppet::Type.type(:user).new( - - :name => name, - :comment => "Puppet Testing User", - :gid => Puppet::Util::SUIDManager.gid, - :shell => findshell, - - :home => "/home/#{name}" - ) - } - - assert(user, "Did not create user") - - user - end - - def test_autorequire - file = tempfile - comp = nil - user = nil - group =nil - home = nil - ogroup = nil - assert_nothing_raised { - - user = Puppet::Type.type(:user).new( - - :name => "pptestu", - :home => file, - :gid => "pptestg", - - :groups => "yayness" - ) - - home = Puppet::Type.type(:file).new( - - :path => file, - :owner => "pptestu", - - :ensure => "directory" - ) - group = Puppet::Type.type(:group).new( - :name => "pptestg" - ) - ogroup = Puppet::Type.type(:group).new( - :name => "yayness" - ) - comp = mk_catalog(user, group, home, ogroup) - } - - rels = nil - assert_nothing_raised { rels = user.autorequire } - - assert(rels.detect { |r| r.source == group }, "User did not require group") - assert(rels.detect { |r| r.source == ogroup }, "User did not require other groups") - assert_nothing_raised { rels = home.autorequire } - assert(rels.detect { |r| r.source == user }, "Homedir did not require user") - end - - # Testing #455 - def test_autorequire_with_no_group_should - user = Puppet::Type.type(:user).new(:name => "yaytest", :check => :all) - catalog = mk_catalog(user) - - assert_nothing_raised do - user.autorequire - end - - user[:ensure] = :absent - - assert(user.property(:groups).insync?(nil), - "Groups state considered out of sync with no :should value") - end - - # Make sure the 'managehome' param can only be set when the provider - # has that feature. Uses a patch from #432. - def test_managehome - user = Puppet::Type.type(:user).new(:name => "yaytest", :check => :all) - - prov = user.provider - - home = false - prov.class.meta_def(:manages_homedir?) { home } - - assert_nothing_raised("failed on false managehome") do - user[:managehome] = false - end - - assert_raise(Puppet::Error, "did not fail when managehome? is false") do - user[:managehome] = true - end - - home = true - assert(prov.class.manages_homedir?, "provider did not enable homedir") - assert_nothing_raised("failed when managehome is true") do - user[:managehome] = true - end - end -end - diff --git a/test/ral/type/zone.rb b/test/ral/type/zone.rb deleted file mode 100755 index c93cc68bc..000000000 --- a/test/ral/type/zone.rb +++ /dev/null @@ -1,447 +0,0 @@ -#!/usr/bin/env ruby - -require File.expand_path(File.dirname(__FILE__) + '/../../lib/puppettest') - -require 'puppettest' -require 'puppet/type/zone' - -class TestZone < PuppetTest::TestCase - confine "Zones are only functional on Solaris" => (Facter["operatingsystem"].value == "Solaris") - - def setup - super - @@zones = [] - end - - def mkzone(name) - zone = nil - - base = tempfile - Dir.mkdir(base) - File.chmod(0700, base) - root = File.join(base, "zonebase") - assert_nothing_raised { - - zone = Puppet::Type.type(:zone).new( - - :name => name, - :path => root, - - :ensure => "configured" # don't want to install zones automatically - ) - } - - @@zones << name - - zone - end - - def test_instances - list = nil - assert_nothing_raised { - list = Puppet::Type.type(:zone).instances - } - - assert(! list.empty?, "Got no zones back") - - assert(list.find { |z| z[:name] == "global" }, "Could not find global zone") - end - - def test_state_sequence - zone = mkzone("slicetest") - - property = zone.property(:ensure) - - slice = nil - assert_nothing_raised { - slice = property.class.state_sequence(:absent, :installed).collect do |o| - o[:name] - end - } - - - assert_equal([:configured, :installed], slice) - - assert_nothing_raised { - slice = property.class.state_sequence(:running, :installed).collect do |o| - o[:name] - end - } - - - assert_equal(slice, [:installed]) - - end - - # Make sure the ensure stuff behaves as we expect - def test_zoneensure - zone = mkzone("ensurezone") - - property = zone.property(:ensure) - - assert(property, "Did not get ensure property") - - values = nil - assert_nothing_raised { - values = zone.retrieve - } - - assert(! property.insync?(values[property]), "Property is somehow in sync") - - assert(property.up?, "Property incorrectly thinks it is not moving up") - - zone[:ensure] = :installed - assert(property.up?, "Property incorrectly thinks it is not moving up") - zone[:ensure] = :absent - assert(! property.up?, "Property incorrectly thinks it is moving up") - end - - # Make sure all mentioned methods actually exist. - def test_zonemethods_exist - methods = [] - zone = mkzone("methodtest") - - property = zone.property(:ensure) - assert_nothing_raised { - property.class.state_sequence(:absent, :running).each do |st| - [:up, :down].each do |m| - methods << st[m] if st[m] - end - end - } - - methods.each do |m| - Puppet::Type.type(:zone).suitableprovider.each do |prov| - - assert( - prov.method_defined?(m), - - "Zone provider #{prov.name} does not define method #{m}") - end - end - - end - - # Make sure our property generates the correct text. - def test_inherit_property - zone = mkzone("configtesting") - zone[:ensure] = :configured - - assert_nothing_raised { - zone[:inherit] = "/usr" - } - property = zone.property(:inherit) - assert(zone, "Did not get 'inherit' property") - - - assert_equal( - "add inherit-pkg-dir\nset dir=/usr\nend", property.configtext, - - "Got incorrect config text") - - zone.provider.inherit = "/usr" - - - assert_equal( - "", property.configtext, - - "Got incorrect config text") - - # Now we want multiple directories - property.should = %w{/usr /sbin /lib} - - # The statements are sorted - text = "add inherit-pkg-dir -set dir=/lib -end -add inherit-pkg-dir -set dir=/sbin -end" - - - assert_equal( - text, property.configtext, - - "Got incorrect config text") - - zone.provider.inherit = %w{/usr /sbin /lib} - property.should = %w{/usr /sbin} - - text = "remove inherit-pkg-dir dir=/lib" - - - assert_equal( - text, property.configtext, - - "Got incorrect config text") - end -end - -class TestZoneAsRoot < TestZone - confine "Not running Zone creation tests" => Puppet.features.root? - confine "Zones are only functional on Solaris" => (Facter["operatingsystem"].value == "Solaris") - - def teardown - current = %x{zoneadm list -cp}.split("\n").inject({}) { |h, line| - ary = line.split(":") - h[ary[1]] = ary[2] - h - } - - # Get rid of any lingering zones - @@zones.each do |zone| - next unless current.include? zone - - obj = Puppet::Type.type(:zone).new(:name => zone) - obj[:ensure] = :absent - assert_apply(obj) - end - - # We can't delete the temp files until the zones are stopped and removed. - super - end - # Make sure our ensure process actually works. - def test_ensure_sync - zone = mkzone("ensuretesting") - - zone[:ensure] = :configured - - assert_apply(zone) - - assert(zone.insync?(zone.retrieve), "Zone is not insync") - end - - def test_getconfig - zone = mkzone("configtesting") - - base = tempfile - zone[:path] = base - - ip = "192.168.0.1" - interface = "bge0" - zone[:ip] = "#{interface}:#{ip}" - - IO.popen("zonecfg -z configtesting -f -", "w") do |f| - f.puts %{create -b -set zonepath=#{tempfile} -set autoboot=true -add inherit-pkg-dir -set dir=/lib -end -add inherit-pkg-dir -set dir=/platform -end -add inherit-pkg-dir -set dir=/sbin -end -add inherit-pkg-dir -set dir=/opt/csw -end -add inherit-pkg-dir -set dir=/usr -end -add net -set address=#{ip} -set physical=bge0 -end -} - end - - assert_equal(0, $CHILD_STATUS, "Did not successfully create zone") - - hash = nil - assert_nothing_raised { - hash = zone.provider.send(:getconfig) - } - - zone[:check] = [:inherit, :autoboot] - - values = nil - assert_nothing_raised("Could not retrieve zone values") do - values = zone.retrieve.inject({}) { |result, newvals| result[newvals[0].name] = newvals[1]; result } - end - - # And make sure it gets set correctly. - - assert_equal( - %w{/sbin /usr /opt/csw /lib /platform}.sort, - - values[:inherit].sort, "Inherited dirs did not get collected correctly." - ) - - - assert_equal( - ["#{interface}:#{ip}"], values[:ip], - - "IP addresses did not get collected correctly.") - - - assert_equal( - :true, values[:autoboot], - - "Autoboot did not get collected correctly.") - end - - # Make sure we can do all the various and sundry configuring things. - def test_configuring_zones - zone = mkzone("configtesting") - - assert_nothing_raised { - zone[:inherit] = "/usr" - } - - zone[:ensure] = :configured - - assert_apply(zone) - - assert(zone.insync?(zone.retrieve), "Zone is not insync") - - # Now add a new directory to inherit - assert_nothing_raised { - zone[:inherit] = ["/sbin", "/usr"] - } - assert_apply(zone) - - assert(zone.insync?(zone.retrieve), "Zone is not insync") - - - assert( - %x{/usr/sbin/zonecfg -z #{zone[:name]} info} =~ /dir: \/sbin/, - - "sbin was not added") - - # And then remove it. - assert_nothing_raised { - zone[:inherit] = "/usr" - } - assert_apply(zone) - - assert(zone.insync?(zone.retrieve), "Zone is not insync") - - - assert( - %x{/usr/sbin/zonecfg -z #{zone[:name]} info} !~ /dir: \/sbin/, - - "sbin was not removed") - - # Now add an ip adddress. Fortunately (or not), zonecfg doesn't verify - # that the interface exists. - zone[:ip] = "hme0:192.168.0.1" - - assert(! zone.insync?(zone.retrieve), "Zone is marked as in sync") - - assert_apply(zone) - assert(zone.insync?(zone.retrieve), "Zone is not in sync") - - assert( - %x{/usr/sbin/zonecfg -z #{zone[:name]} info} =~ /192.168.0.1/, - - "ip was not added") - zone[:ip] = ["hme1:192.168.0.2", "hme0:192.168.0.1"] - assert_apply(zone) - assert(zone.insync?(zone.retrieve), "Zone is not in sync") - assert(%x{/usr/sbin/zonecfg -z #{zone[:name]} info} =~ /192.168.0.2/, "ip was not added") - zone[:ip] = ["hme1:192.168.0.2"] - assert_apply(zone) - zone.retrieve - assert(%x{/usr/sbin/zonecfg -z #{zone[:name]} info} !~ /192.168.0.1/, "ip was not removed") - end - - # Test creating and removing a zone, but only up to the configured property, - # so it's faster. - def test_smallcreate - zone = mkzone("smallcreate") - # Include a bunch of stuff so the zone isn't as large - dirs = %w{/usr /sbin /lib /platform} - - %w{/opt/csw}.each do |dir| - dirs << dir if FileTest.exists? dir - end - zone[:inherit] = dirs - - assert(zone, "Did not make zone") - - zone[:ensure] = :configured - - assert(! zone.insync?(zone.retrieve), "Zone is incorrectly in sync") - - assert_apply(zone) - - assert(zone.insync?(zone.retrieve), "Zone is incorrectly out of sync") - - zone[:ensure] = :absent - - assert_apply(zone) - - currentvalues = zone.retrieve - - assert_equal(:absent, currentvalues[zone.property(:ensure)], - "Zone is not absent") - end - - # Just go through each method linearly and make sure it works. - def test_each_method - zone = mkzone("methodtesting") - dirs = %w{/usr /sbin /lib /platform} - - %w{/opt/csw}.each do |dir| - dirs << dir if FileTest.exists? dir - end - zone[:inherit] = dirs - - [[:configure, :configured], - [:install, :installed], - [:start, :running], - [:stop, :installed], - [:uninstall, :configured], - [:unconfigure, :absent] - ].each do |method, property| - Puppet.info "Testing #{method}" - current_values = nil - assert_nothing_raised { - current_values = zone.retrieve - } - assert_nothing_raised { - zone.provider.send(method) - } - current_values = nil - assert_nothing_raised { - current_values = zone.retrieve - } - assert_equal(property, current_values[zone.property(:ensure)], "Method #{method} did not correctly set property #{property}") - end - end - - def test_mkzone - zone = mkzone("testmaking") - # Include a bunch of stuff so the zone isn't as large - dirs = %w{/usr /sbin /lib /platform} - - %w{/opt/csw}.each do |dir| - dirs << dir if FileTest.exists? dir - end - zone[:inherit] = dirs - - assert(zone, "Did not make zone") - - - [:configured, :installed, :running, :installed, :absent].each do |value| - assert_nothing_raised { - zone[:ensure] = value - } - assert(! zone.insync?(zone.retrieve), "Zone is incorrectly in sync") - - assert_apply(zone) - - assert_nothing_raised { - assert(zone.insync?(zone.retrieve), "Zone is incorrectly out of sync") - } - end - - currentvalues = zone.retrieve - - assert_equal(:absent, currentvalues[zone.property(:ensure)], - "Zone is not absent") - end -end - diff --git a/test/test b/test/test deleted file mode 100755 index 8d2659cb7..000000000 --- a/test/test +++ /dev/null @@ -1,241 +0,0 @@ -#!/usr/bin/env ruby - -# -# = Synopsis -# -# Run unit tests, usually with the goal of resolving some conflict -# between tests. -# -# = Usage -# -# test [-d|--debug] [-f|--files] [-h|--help] [-n method] [-v|--verbose] [file] ... -# -# = Description -# -# This script is useful for running a specific subset of unit tests, especially -# when attempting to find a conflict between tests. By default, it will take -# the first argument you pass it and run that test or test directory with each -# test directory in turn, looking for a failure. If any tests fail, then -# the script will drill into that test directory, looking for the specific conflict. -# -# In this way, when you have deduced you have two conflicting unit tests (tests which -# pass in isolation but fail when run together), you can tell this script where -# the failure is and leave it alone to find the conflict. -# -# This script is different from the Rakefile because it will run all tests in -# a single process, whereas if you ask the Rakefile to run multiple tests, it will -# run them in separate processes thus making it impossible to find conflicts. -# -# = Examples -# -# Attempt to resolve a conflict between a single test suite that could be anywhere: -# -# ./test ral/providers/user.rb -# -# Determine whether two individual files conflict: -# -# ./test --files language/functions.rb ral/providers/provider.rb -# -# Run the same test, but only run a specific unit test: -# -# ./test -d -n test_search --files language/functions.rb ral/providers/provider.rb -# -# = Options -# -# debug:: -# Enable full debugging. -# -# files:: -# Specify exactly which files to test. -# -# help:: -# Print this help message -# -# n:: -# Specify a single unit test to run. You can still specify as many files -# as you want. -# -# verbose:: -# Print extra information. -# -# = Example -# -# puppet -l /tmp/script.log script.pp -# -# = Author -# -# Luke Kanies -# -# = Copyright -# -# Copyright (c) 2005-2011 Puppet Labs, LLC -# Licensed under the Apache 2.0 License - -require 'find' -require 'getoptlong' -include Find - -result = GetoptLong.new( - [ "--debug", "-d", GetoptLong::NO_ARGUMENT ], - [ "--verbose", "-v", GetoptLong::NO_ARGUMENT ], - [ "-n", GetoptLong::REQUIRED_ARGUMENT ], - [ "--files", "-f", GetoptLong::NO_ARGUMENT ], - [ "--help", "-h", GetoptLong::NO_ARGUMENT ] -) - -usage = "USAGE: %s [--help] suite" % $0 - -$options = {} -keep = [] - -result.each { |opt,arg| - case opt - when "--verbose" - $options[:verbose] = true - when "--files" - $options[:files] = true - when "--debug" - $options[:debug] = true - $options[:verbose] = true - when "--help" - puts usage - exit - else - keep << opt - keep << arg if arg - end -} - -def dirs - Dir.glob("*").find_all { |d| FileTest.directory?(d) }.reject { |d| - ["lib", "data"].include?(d) - } -end - -def rake(*args) - print "trying %s..." % args.join(" ") - output = %x{rake %s} % args.join(" ") - - if $?.exitstatus == 0 - puts "succeeded" - return true - else - puts "failed" - return false - end -end - -def resolve(dir) - dirs = dirs() - - # If the passed dir is a subdir or file, put the basedir last - if dir.include?(File::SEPARATOR) - basedir = dir.split(File::SEPARATOR)[0] - if dirs.include?(basedir) - dirs.delete(basedir) - dirs << basedir - end - end - - failed = nil - dirs.each do |d| - next if d == dir - unless run([d, dir]) - failed = d - break - end - end - puts "%s failed" % failed - - files = ruby_files(failed) - - files.each do |file| - unless run([file, dir]) - puts file - exit(0) - end - end - - exit(1) -end - -def ruby_files(dir) - files = [] - # First collect the entire file list. - begin - find(dir) { |f| files << f if f =~ /\.rb$/ } - rescue => detail - puts "could not find on %s: %s" % [dir.inspect, detail] - end - files -end - -def run(files, flags = nil) - args = %w{ruby} - args << "-Ilib:../lib" - args << "lib/rake/puppet_test_loader.rb" - if flags - args += flags - end - args += ARGV - - print files.join(" ") + "... " - $stdout.flush - - files.each do |file| - case File.stat(file).ftype - when "file"; args << file - when "directory"; args += ruby_files(file) - else - $stderr.puts "Skipping %s; can't handle %s" % - [file, File.stat(file).ftype] - end - end - args = args.join(" ") - if $options[:verbose] - p args - end - output = %x{#{args} 2>&1} - if $options[:debug] - print output - end - - if $?.exitstatus == 0 - puts "succeeded" - return true - else - puts "failed" - puts output - return false - end -end - -if $options[:files] - run(ARGV, keep) -else - dir = ARGV.shift - - unless dir - $stderr.puts usage - exit(1) - end - resolve(dir) -end -# -# -#files = [] -# -#args.each do |test| -# if FileTest.directory?(test) -# files += ruby_files(test) -# end -#end - -## Now load all of our files. -#files.each do |file| -# load file unless file =~ /^-/ -#end -# -#runner = Test::Unit::AutoRunner.new(false) -#runner.process_args -#runner.run diff --git a/test/util/classgen.rb b/test/util/classgen.rb deleted file mode 100755 index aa9bdbed7..000000000 --- a/test/util/classgen.rb +++ /dev/null @@ -1,241 +0,0 @@ -#!/usr/bin/env ruby - -require File.expand_path(File.dirname(__FILE__) + '/../lib/puppettest') - -require 'puppet' -require 'puppettest' - -class TestPuppetUtilClassGen < Test::Unit::TestCase - include PuppetTest - - class FakeBase - class << self - attr_accessor :name - end - end - - class GenTest - class << self - include Puppet::Util::ClassGen - end - end - - def testclasses(name) - sub = Class.new(GenTest) do @name = "base#{name.to_s}" end - self.class.const_set("Base#{name.to_s}", sub) - - klass = Class.new(FakeBase) do @name = "gen#{name.to_s}"end - - return sub, klass - end - - def test_handleclassconst - sub, klass = testclasses("const") - const = nil - assert_nothing_raised do - const = sub.send(:handleclassconst, klass, klass.name, {}) - end - - # make sure the constant is set - assert(defined?(Baseconst::Genconst), "const was not defined") - assert_equal(Baseconst::Genconst.object_id, klass.object_id) - - # Now make sure don't replace by default - newklass = Class.new(FakeBase) do @name = klass.name end - assert_raise(Puppet::ConstantAlreadyDefined) do - const = sub.send(:handleclassconst, newklass, klass.name, {}) - end - assert_equal(Baseconst::Genconst.object_id, klass.object_id) - - # Now make sure we can replace it - assert_nothing_raised do - const = sub.send(:handleclassconst, newklass, klass.name, :overwrite => true) - end - assert_equal(Baseconst::Genconst.object_id, newklass.object_id) - - # Now make sure we can choose our own constant - assert_nothing_raised do - - const = sub.send( - :handleclassconst, newklass, klass.name, - - :constant => "Fooness") - end - assert(defined?(Baseconst::Fooness), "Specified constant was not defined") - - # And make sure prefixes work - assert_nothing_raised do - - const = sub.send( - :handleclassconst, newklass, klass.name, - - :prefix => "Test") - end - assert(defined?(Baseconst::TestGenconst), "prefix was not used") - end - - def test_initclass_preinit - sub, klass = testclasses("preinit") - - class << klass - attr_accessor :set - def preinit - @set = true - end - end - - assert(!klass.set, "Class was already initialized") - - assert_nothing_raised do sub.send(:initclass, klass, {}) end - - assert(klass.set, "Class was not initialized") - end - - def test_initclass_initvars - sub, klass = testclasses("initvars") - - class << klass - attr_accessor :set - def initvars - @set = true - end - end - - assert(!klass.set, "Class was already initialized") - - assert_nothing_raised do sub.send(:initclass, klass, {}) end - - assert(klass.set, "Class was not initialized") - end - - def test_initclass_attributes - sub, klass = testclasses("attributes") - - class << klass - attr_accessor :one, :two, :three - end - - assert(!klass.one, "'one' was already set") - - - assert_nothing_raised do sub.send( - :initclass, klass, - - :attributes => {:one => :a, :two => :b}) end - - assert_equal(:a, klass.one, "Class was initialized incorrectly") - assert_equal(:b, klass.two, "Class was initialized incorrectly") - assert_nil(klass.three, "Class was initialized incorrectly") - end - - def test_initclass_include_and_extend - sub, klass = testclasses("include_and_extend") - - incl = Module.new do - attr_accessor :included - end - self.class.const_set("Incl", incl) - - ext = Module.new do - attr_accessor :extended - end - self.class.const_set("Ext", ext) - - assert(! klass.respond_to?(:extended), "Class already responds to extended") - assert(! klass.new.respond_to?(:included), "Class already responds to included") - - - assert_nothing_raised do sub.send( - :initclass, klass, - - :include => incl, :extend => ext) - end - - assert(klass.respond_to?(:extended), "Class did not get extended") - assert(klass.new.respond_to?(:included), "Class did not include") - end - - def test_genclass - hash = {} - array = [] - - name = "yayness" - klass = nil - assert_nothing_raised { - klass = GenTest.genclass(name, :array => array, :hash => hash, :parent => FakeBase) do - class << self - attr_accessor :name - end - end - } - - assert(klass.respond_to?(:name=), "Class did not execute block") - - - assert( - hash.include?(klass.name), - - "Class did not get added to hash") - - assert( - array.include?(klass), - - "Class did not get added to array") - assert_equal(klass.superclass, FakeBase, "Parent class was wrong") - end - - # Make sure we call a preinithook, if there is one. - def test_inithooks - newclass = Class.new(FakeBase) do - class << self - attr_accessor :preinited, :postinited - end - def self.preinit - self.preinited = true - end - def self.postinit - self.postinited = true - end - end - - klass = nil - assert_nothing_raised { - klass = GenTest.genclass(:funtest, :parent => newclass) - } - - assert(klass.preinited, "prehook did not get called") - assert(klass.postinited, "posthook did not get called") - end - - def test_modulegen - hash = {} - array = [] - - name = "modness" - mod = nil - assert_nothing_raised { - mod = GenTest.genmodule(name, :array => array, :hash => hash) do - class << self - attr_accessor :yaytest - end - - @yaytest = true - end - } - - assert(mod.respond_to?(:yaytest), "Class did not execute block") - - assert_instance_of(Module, mod) - assert(hash.include?(mod.name), "Class did not get added to hash") - assert(array.include?(mod), "Class did not get added to array") - end - - def test_genconst_string - const = nil - assert_nothing_raised do - const = GenTest.send(:genconst_string, :testing, :prefix => "Yayness") - end - assert_equal("YaynessTesting", const) - end -end - diff --git a/test/util/fileparsing.rb b/test/util/fileparsing.rb deleted file mode 100755 index 831f19bdb..000000000 --- a/test/util/fileparsing.rb +++ /dev/null @@ -1,725 +0,0 @@ -#!/usr/bin/env ruby - -require File.expand_path(File.dirname(__FILE__) + '/../lib/puppettest') - -require 'puppettest' -require 'puppettest/fileparsing' -require 'puppet' -require 'puppet/util/fileparsing' - -class TestUtilFileParsing < Test::Unit::TestCase - include PuppetTest - include PuppetTest::FileParsing - - class FParser - include Puppet::Util::FileParsing - end - - def setup - super - @parser = FParser.new - end - - def test_lines - assert_equal("\n", @parser.line_separator, "Default separator was incorrect") - - {"\n" => ["one two\nthree four", "one two\nthree four\n"], - "\t" => ["one two\tthree four", "one two\tthree four\t"], - }.each do |sep, tests| - assert_nothing_raised do - @parser.line_separator = sep - end - - assert_equal( - sep, @parser.line_separator, - - "Did not set separator") - - tests.each do |test| - assert_equal(["one two", "three four"], @parser.lines(test), "Incorrectly parsed #{test.inspect}") - end - end - end - - # Make sure parse calls the appropriate methods or errors out - def test_parse - @parser.meta_def(:parse_line) do |line| - line.split(/\s+/) - end - - text = "one line\ntwo line" - should = [%w{one line}, %w{two line}] - ret = nil - assert_nothing_raised do - ret = @parser.parse(text) - end - - assert_equal(should, ret) - end - - # Make sure we correctly handle different kinds of text lines. - def test_text_line - comment = "# this is a comment" - - # Make sure it fails if no regex is passed - assert_raise(ArgumentError) do - @parser.text_line :comment - end - - # define a text matching comment record - assert_nothing_raised do - @parser.text_line :comment, :match => /^#/ - end - - # Make sure it matches - assert_nothing_raised do - - assert_equal( - {:record_type => :comment, :line => comment}, - - @parser.parse_line(comment)) - end - - # But not something else - assert_nothing_raised do - assert_nil(@parser.parse_line("some other text")) - end - - # Now define another type and make sure we get the right one back - assert_nothing_raised do - @parser.text_line :blank, :match => /^\s*$/ - end - - # The comment should still match - assert_nothing_raised do - - assert_equal( - {:record_type => :comment, :line => comment}, - - @parser.parse_line(comment)) - end - - # As should our new line type - assert_nothing_raised do - - assert_equal( - {:record_type => :blank, :line => ""}, - - @parser.parse_line("")) - end - - end - - def test_parse_line - Puppet[:trace] = false - - comment = "# this is a comment" - - # Make sure it fails if we don't have any record types defined - assert_raise(Puppet::DevError) do - @parser.parse_line(comment) - end - - # Now define a text matching comment record - assert_nothing_raised do - @parser.text_line :comment, :match => /^#/ - end - - # And make sure we can't define another one with the same name - assert_raise(ArgumentError) do - @parser.text_line :comment, :match => /^"/ - end - - result = nil - assert_nothing_raised("Did not parse text line") do - result = @parser.parse_line comment - end - - assert_equal({:record_type => :comment, :line => comment}, result) - - # Make sure we just return nil on unmatched lines. - assert_nothing_raised("Did not parse text line") do - result = @parser.parse_line "No match for this" - end - - assert_nil(result, "Somehow matched an empty line") - - # Now define another type of comment, and make sure both types get - # correctly returned as comments - assert_nothing_raised do - @parser.text_line :comment2, :match => /^"/ - end - - assert_nothing_raised("Did not parse old comment") do - assert_equal({:record_type => :comment, :line => comment}, @parser.parse_line(comment)) - end - comment = '" another type of comment' - assert_nothing_raised("Did not parse new comment") do - assert_equal({:record_type => :comment2, :line => comment}, @parser.parse_line(comment)) - end - - # Now define two overlapping record types and make sure we keep the - # correct order. We do first match, not longest match. - assert_nothing_raised do - @parser.text_line :one, :match => /^y/ - @parser.text_line :two, :match => /^yay/ - end - - assert_nothing_raised do - assert_equal({:record_type => :one, :line => "yayness"}, @parser.parse_line("yayness")) - end - - end - - def test_record_line - tabrecord = "tab separated content" - spacerecord = "space separated content" - - # Make sure we always require an appropriate set of options - [{:separator => "\t"}, {}, {:fields => %w{record_type}}].each do |opts| - assert_raise(ArgumentError, "Accepted #{opts.inspect}") do - @parser.record_line :record, opts - end - end - - # Verify that our default separator is tabs - tabs = nil - assert_nothing_raised do - tabs = @parser.record_line :tabs, :fields => [:name, :first, :second] - end - - # Make sure out tab line gets matched - tabshould = {:record_type => :tabs, :name => "tab", :first => "separated", :second => "content"} - assert_nothing_raised do - assert_equal(tabshould, @parser.handle_record_line(tabrecord, tabs)) - end - - # Now add our space-separated record type - spaces = nil - assert_nothing_raised do - spaces = @parser.record_line :spaces, :fields => [:name, :first, :second] - end - - # Now make sure both lines parse correctly - spaceshould = {:record_type => :spaces, :name => "space", :first => "separated", :second => "content"} - - assert_nothing_raised do - assert_equal(tabshould, @parser.handle_record_line(tabrecord, tabs)) - assert_equal(spaceshould, @parser.handle_record_line(spacerecord, spaces)) - end - end - - def test_to_line - @parser.text_line :comment, :match => /^#/ - @parser.text_line :blank, :match => /^\s*$/ - @parser.record_line :record, :fields => %w{name one two}, :joiner => "\t" - - johnny = {:record_type => :record, :name => "johnny", :one => "home", - :two => "yay"} - bill = {:record_type => :record, :name => "bill", :one => "work", - :two => "boo"} - - records = { - :comment => {:record_type => :comment, :line => "# This is a file"}, - :blank => {:record_type => :blank, :line => ""}, - :johnny => johnny, - :bill => bill - } - - lines = { - :comment => "# This is a file", - :blank => "", - :johnny => "johnny home yay", - :bill => "bill work boo" - } - - records.each do |name, details| - result = nil - assert_nothing_raised do - result = @parser.to_line(details) - end - - assert_equal(lines[name], result) - end - order = [:comment, :blank, :johnny, :bill] - - file = order.collect { |name| lines[name] }.join("\n") - - ordered_records = order.collect { |name| records[name] } - - # Make sure we default to a trailing separator - assert_equal(true, @parser.trailing_separator, "Did not default to a trailing separtor") - - # Start without a trailing separator - @parser.trailing_separator = false - assert_nothing_raised do - assert_equal(file, @parser.to_file(ordered_records)) - end - - # Now with a trailing separator - file += "\n" - @parser.trailing_separator = true - assert_nothing_raised do - assert_equal(file, @parser.to_file(ordered_records)) - end - - # Now try it with a different separator, so we're not just catching - # defaults - file.gsub!("\n", "\t") - @parser.line_separator = "\t" - assert_nothing_raised do - assert_equal(file, @parser.to_file(ordered_records)) - end - end - - # Make sure fields that are marked absent get replaced with the appropriate - # string. - def test_absent_fields - record = nil - assert_nothing_raised do - record = @parser.record_line :record, :fields => %w{one two three}, - :optional => %w{two three} - end - assert_equal("", record.absent, "Did not set a default absent string") - - result = nil - assert_nothing_raised do - - result = @parser.to_line( - :record_type => :record, - - :one => "a", :two => :absent, :three => "b") - end - - assert_equal("a b", result, "Absent was not correctly replaced") - - # Now try using a different replacement character - record.absent = "*" # Because cron is a pain in my ass - assert_nothing_raised do - result = @parser.to_line(:record_type => :record, :one => "a", :two => :absent, :three => "b") - end - - assert_equal("a * b", result, "Absent was not correctly replaced") - - # Make sure we deal correctly with the string 'absent' - assert_nothing_raised do - - result = @parser.to_line( - :record_type => :record, - - :one => "a", :two => "b", :three => 'absent') - end - - assert_equal("a b absent", result, "Replaced string 'absent'") - - # And, of course, make sure we can swap things around. - assert_nothing_raised do - - result = @parser.to_line( - :record_type => :record, - - :one => "a", :two => "b", :three => :absent) - end - - assert_equal("a b *", result, "Absent was not correctly replaced") - end - - # Make sure we can specify a different join character than split character - def test_split_join_record_line - check = proc do |start, record, final| - # Check parsing first - result = @parser.parse_line(start) - [:one, :two].each do |param| - - assert_equal( - record[param], result[param], - - "Did not correctly parse #{start.inspect}") - end - - # And generating - assert_equal(final, @parser.to_line(result), "Did not correctly generate #{final.inspect} from #{record.inspect}") - end - - # First try it with symmetric characters - @parser.record_line :symmetric, :fields => %w{one two}, - :separator => " " - - check.call "a b", {:one => "a", :two => "b"}, "a b" - @parser.clear_records - - # Now assymetric but both strings - @parser.record_line :asymmetric, :fields => %w{one two}, - :separator => "\t", :joiner => " " - - check.call "a\tb", {:one => "a", :two => "b"}, "a b" - @parser.clear_records - - # And assymmetric with a regex - @parser.record_line :asymmetric2, :fields => %w{one two}, - :separator => /\s+/, :joiner => " " - - check.call "a\tb", {:one => "a", :two => "b"}, "a b" - check.call "a b", {:one => "a", :two => "b"}, "a b" - end - - # Make sure we correctly regenerate files. - def test_to_file - @parser.text_line :comment, :match => /^#/ - @parser.text_line :blank, :match => /^\s*$/ - @parser.record_line :record, :fields => %w{name one two} - - text = "# This is a comment - -johnny one two -billy three four\n" - -# Just parse and generate, to make sure it's isomorphic. -assert_nothing_raised do - assert_equal(text, @parser.to_file(@parser.parse(text)), - "parsing was not isomorphic") - end - end - - def test_valid_attrs - @parser.record_line :record, :fields => %w{one two three} - - - assert( - @parser.valid_attr?(:record, :one), - - "one was considered invalid") - - - assert( - @parser.valid_attr?(:record, :ensure), - - "ensure was considered invalid") - - - assert( - ! @parser.valid_attr?(:record, :four), - - "four was considered valid") - end - - def test_record_blocks - options = nil - assert_nothing_raised do - # Just do a simple test - options = @parser.record_line :record, - :fields => %w{name alias info} do |line| - line = line.dup - ret = {} - if line.sub!(/(\w+)\s*/, '') - ret[:name] = $1 - else - return nil - end - - if line.sub!(/(#.+)/, '') - desc = $1.sub(/^#\s*/, '') - ret[:description] = desc unless desc == "" - end - - ret[:alias] = line.split(/\s+/) if line != "" - - return ret - end - end - - values = { - :name => "tcpmux", - :description => "TCP port service multiplexer", - :alias => ["sink"] - } - - { - - "tcpmux " => [:name], - "tcpmux" => [:name], - "tcpmux sink" => [:name, :port, :protocols, :alias], - "tcpmux # TCP port service multiplexer" => - [:name, :description, :port, :protocols], - "tcpmux sink # TCP port service multiplexer" => - [:name, :description, :port, :alias, :protocols], - "tcpmux sink null # TCP port service multiplexer" => - [:name, :description, :port, :alias, :protocols], - }.each do |line, should| - result = nil - assert_nothing_raised do - result = @parser.handle_record_line(line, options) - end - assert(result, "Did not get a result back for '#{line}'") - should.each do |field| - if field == :alias and line =~ /null/ - assert_equal(%w{sink null}, result[field], "Field #{field} was not right in '#{line}'") - else - assert_equal(values[field], result[field], "Field #{field} was not right in '#{line}'") - end - end - end - - - end - - # Make sure we correctly handle optional fields. We'll skip this - # functionality until we really know we need it. - def test_optional_fields - assert_nothing_raised do - @parser.record_line :record, - :fields => %w{one two three four}, - :optional => %w{three four}, - :absent => "*", - :separator => " " # A single space - end - - { "a b c d" => [], - "a b * d" => [:three], - "a b * *" => [:three, :four], - "a b c *" => [:four] - }.each do |line, absentees| - record = nil - assert_nothing_raised do - record = @parser.parse_line(line) - end - - # Absent field is :absent, not "*" inside the record - absentees.each do |absentee| - assert_equal(:absent, record[absentee]) - end - - # Now regenerate the line - newline = nil - assert_nothing_raised do - newline = @parser.to_line(record) - end - - # And make sure they're equal - assert_equal(line, newline) - end - - # Now make sure it pukes if we don't provide the required fields - assert_raise(ArgumentError) do - @parser.to_line(:record_type => :record, :one => "yay") - end - end - - def test_record_rts - # Start with the default - assert_nothing_raised do - @parser.record_line :record, - :fields => %w{one two three four}, - :optional => %w{three four} - end - - - assert_equal( - "a b ", - - @parser.to_line(:record_type => :record, :one => "a", :two => "b") - ) - - # Now say yes to removing - @parser.clear_records - assert_nothing_raised do - @parser.record_line :record, - :fields => %w{one two three four}, - :optional => %w{three four}, - :rts => true - end - - - assert_equal( - "a b", - - @parser.to_line(:record_type => :record, :one => "a", :two => "b") - ) - - # Lastly, try a regex - @parser.clear_records - assert_nothing_raised do - @parser.record_line :record, - :fields => %w{one two three four}, - :optional => %w{three four}, - :absent => "*", - :rts => /[ *]+$/ - end - - - assert_equal( - "a b", - - @parser.to_line(:record_type => :record, :one => "a", :two => "b") - ) - end - - # Make sure the last field can contain the separator, as crontabs do, and - # that we roll them all up by default. - def test_field_rollups - @parser.record_line :yes, :fields => %w{name one two} - - result = nil - assert_nothing_raised do - result = @parser.send(:parse_line, "Name One Two Three") - end - - assert_equal( - "Two Three", result[:two], - - "Did not roll up last fields by default") - - @parser = FParser.new - assert_nothing_raised("Could not create record that rolls up fields") do - @parser.record_line :no, :fields => %w{name one two}, :rollup => false - end - - result = nil - assert_nothing_raised do - result = @parser.send(:parse_line, "Name One Two Three") - end - - assert_equal( - "Two", result[:two], - - "Rolled up last fields when rollup => false") - end - - def test_text_blocks - record = nil - assert_nothing_raised do - record = @parser.text_line :name, :match => %r{^#} do |line| - {:line => line.upcase} - end - end - - - assert( - record.respond_to?(:process), - - "Block was not used with text line") - - assert_equal("YAYNESS", record.process("yayness")[:line], - "Did not call process method") - end - - def test_hooks - record = nil - # First try it with a normal record - assert_nothing_raised("Could not set hooks") do - record = @parser.record_line :yay, :fields => %w{one two}, - :post_parse => proc { |hash| hash[:posted] = true }, - :pre_gen => proc { |hash| hash[:one] = hash[:one].upcase }, - :to_line => proc { |hash| "# Line\n" + join(hash) } - end - - assert(record.respond_to?(:post_parse), "did not create method for post-hook") - assert(record.respond_to?(:pre_gen), "did not create method for pre-hook") - - result = nil - assert_nothing_raised("Could not process line with hooks") do - result = @parser.parse_line("one two") - end - - assert(result[:posted], "Did not run post-hook") - old_result = result - - # Now make sure our pre-gen hook is called - assert_nothing_raised("Could not generate line with hooks") do - result = @parser.to_line(result) - end - assert_equal("# Line\nONE two", result, "did not call pre-gen hook") - assert_equal("one", old_result[:one], "passed original hash to pre hook") - end -end - -class TestUtilFileRecord < Test::Unit::TestCase - include PuppetTest - include PuppetTest::FileParsing - - Record = Puppet::Util::FileParsing::FileRecord - def test_new_filerecord - [ [:fake, {}], - [nil, ] - ].each do |args| - assert_raise(ArgumentError, "Did not fail on #{args.inspect}") do - Record.new(*args) - end - end - - # Make sure the fields get turned into symbols - record = nil - assert_nothing_raised do - record = Record.new(:record, :fields => %w{one two}) - end - assert_equal([:one, :two], record.fields, "Did not symbolize fields") - - # Make sure we fail on invalid fields - [:record_type, :target, :on_disk].each do |field| - assert_raise(ArgumentError, "Did not fail on invalid field #{field}") { - Record.new(:record, :fields => [field]) - } - end - end - - def test_defaults - record = Record.new(:text, :match => %r{^#}) - [:absent, :separator, :joiner, :optional].each do |field| - assert_nil(record.send(field), "#{field} was not nil") - end - - record = Record.new(:record, :fields => %w{fields}) - {:absent => "", :separator => /\s+/, :joiner => " ", :optional => []}.each do |field, default| - assert_equal(default, record.send(field), "#{field} was not default") - end - end - - def test_block - record = nil - assert_nothing_raised("Could not pass a block when creating record") do - record = Record.new(:record, :fields => %w{one}) do |line| - return line.upcase - end - end - - line = "This is a line" - - - assert( - record.respond_to?(:process), - - "Record did not define :process method") - - - assert_equal( - line.upcase, record.process(line), - - "Record did not process line correctly") - end - - # Make sure we can declare that we want the block to be instance-eval'ed instead of - # defining the 'process' method. - def test_instance_block - record = nil - assert_nothing_raised("Could not pass a block when creating record") do - record = Record.new(:record, :block_eval => :instance, :fields => %w{one}) do - def process(line) - line.upcase - end - - def to_line(details) - details.upcase - end - end - end - - assert(record.respond_to?(:process), "Block was not instance-eval'ed and process was not defined") - assert(record.respond_to?(:to_line), "Block was not instance-eval'ed and to_line was not defined") - - line = "some text" - assert_equal(line.upcase, record.process(line), "Instance-eval'ed record did not call :process correctly") - assert_equal(line.upcase, record.to_line(line), "Instance-eval'ed record did not call :to_line correctly") - end -end - - diff --git a/test/util/inifile.rb b/test/util/inifile.rb deleted file mode 100755 index e3ce20823..000000000 --- a/test/util/inifile.rb +++ /dev/null @@ -1,138 +0,0 @@ -#!/usr/bin/env ruby - -require File.expand_path(File.dirname(__FILE__) + '/../lib/puppettest') - -require 'puppet' -require 'puppet/util/inifile' -require 'puppettest' - -class TestFileType < Test::Unit::TestCase - include PuppetTest - - def setup - super - @file = Puppet::Util::IniConfig::File.new - end - - def teardown - @file = nil - super - end - - def test_simple - fname = mkfile("[main]\nkey1=value1\n# Comment\nkey2=value=2") - assert_nothing_raised { - @file.read(fname) - } - s = get_section('main') - assert_entries(s, { 'key1' => 'value1', 'key2' => 'value=2' }) - @file['main']['key2'] = 'newvalue2' - @file['main']['key3'] = 'newvalue3' - text = s.format - - assert_equal( - "[main]\nkey1=value1\n# Comment\nkey2=newvalue2\nkey3=newvalue3\n", - - s.format) - end - - def test_multi - fmain = mkfile("[main]\nkey1=main.value1\n# Comment\nkey2=main.value2") - fsub = mkfile("[sub1]\nkey1=sub1 value1\n\n[sub2]\nkey1=sub2.value1") - main_mtime = File::stat(fmain).mtime - assert_nothing_raised { - @file.read(fmain) - @file.read(fsub) - } - main = get_section('main') - - assert_entries( - main, - - { 'key1' => 'main.value1', 'key2' => 'main.value2' }) - sub1 = get_section('sub1') - assert_entries(sub1, { 'key1' => 'sub1 value1' }) - sub2 = get_section('sub2') - assert_entries(sub2, { 'key1' => 'sub2.value1' }) - [main, sub1, sub2].each { |s| assert( !s.dirty? ) } - sub1['key1'] = 'sub1 newvalue1' - sub2['key2'] = 'sub2 newvalue2' - assert(! main.dirty?) - [sub1, sub2].each { |s| assert( s.dirty? ) } - @file.store - [main, sub1, sub2].each { |s| assert( !s.dirty? ) } - assert( File.exists?(fmain) ) - assert( File.exists?(fsub) ) - assert_equal(main_mtime, File::stat(fmain).mtime) - subtext = File.read(fsub) - - assert_equal( - "[sub1]\nkey1=sub1 newvalue1\n\n[sub2]\nkey1=sub2.value1\nkey2=sub2 newvalue2\n", - - subtext) - end - - def test_format_nil - fname = mkfile("[main]\nkey1=value1\n# Comment\nkey2=value2\n# Comment2\n") - assert_nothing_raised { - @file.read(fname) - } - s = get_section('main') - s['key2'] = nil - s['key3'] = nil - text = s.format - - assert_equal( - "[main]\nkey1=value1\n# Comment\n# Comment2\n", - - s.format) - end - - def test_whitespace - # FIXME: Should we really accept keys preceded by whitespace ? - fname = mkfile("[main]\n key1=v1\nkey2 =v2\n") - assert_nothing_raised { - @file.read(fname) - } - s = get_section('main') - assert_equal('v1', s['key1']) - assert_equal('v2', s['key2']) - # FIXME: We are losing whitespace around keys - assert_equal("[main]\nkey1=v1\nkey2=v2\n", s.format) - end - - def test_continuation - cont = "[main]\nkey1=v1\nkey2=v2a\n v2b\nkey3=\n\tv3a\n v3b\n" - fname = mkfile(cont) - assert_nothing_raised { - @file.read(fname) - } - s = get_section('main') - assert_equal('v1', s['key1']) - assert_equal("v2a\n v2b", s['key2']) - assert_equal("\n\tv3a\n v3b", s['key3']) - assert_equal(cont, s.format) - end - - def assert_entries(section, hash) - hash.each do |k, v| - - assert_equal( - v, section[k], - - "Expected <#{v}> for #{section.name}[#{k}] but got <#{section[k]}>") - end - end - - def get_section(name) - result = @file[name] - assert_not_nil(result) - result - end - - def mkfile(content) - file = tempfile - File.open(file, "w") { |f| f.print(content) } - file - end -end diff --git a/test/util/instance_loader.rb b/test/util/instance_loader.rb deleted file mode 100755 index 61ca4e3c8..000000000 --- a/test/util/instance_loader.rb +++ /dev/null @@ -1,52 +0,0 @@ -#!/usr/bin/env ruby - -require File.expand_path(File.dirname(__FILE__) + '/../lib/puppettest') - -require 'puppet' -require 'puppet/util/instance_loader' -require 'puppettest' - -class TestInstanceloader < Test::Unit::TestCase - include PuppetTest - - def setup - super - @loader = Class.new do - extend Puppet::Util::InstanceLoader - - def self.newstuff(name, value) - instance_hash(:stuff)[name] = value - end - end - - assert_nothing_raised("Could not create instance loader") do - @loader.instance_load(:stuff, "puppet/stuff") - end - end - - # Make sure we correctly create our autoload instance. This covers the basics. - def test_autoload - # Make sure we can retrieve the loader - assert_instance_of(Puppet::Util::Autoload, @loader.instance_loader(:stuff), "Could not get instance loader") - - # Make sure we can get the instance hash - assert(@loader.instance_hash(:stuff), "Could not get instance hash") - - # Make sure it defines the instance retrieval method - assert(@loader.respond_to?(:stuff), "Did not define instance retrieval method") - end - - def test_loaded_instances - assert_equal([], @loader.loaded_instances(:stuff), "Incorrect loaded instances") - - @loader.newstuff(:testing, "a value") - - assert_equal([:testing], @loader.loaded_instances(:stuff), "Incorrect loaded instances") - - assert_equal("a value", @loader.loaded_instance(:stuff, :testing), "Got incorrect loaded instance") - end - - def test_instance_loading - end -end - diff --git a/test/util/log.rb b/test/util/log.rb deleted file mode 100755 index 908347a50..000000000 --- a/test/util/log.rb +++ /dev/null @@ -1,219 +0,0 @@ -#!/usr/bin/env ruby - -require File.expand_path(File.dirname(__FILE__) + '/../lib/puppettest') - -require 'puppet' -require 'puppet/util/log' -require 'puppettest' - -class TestLog < Test::Unit::TestCase - include PuppetTest - - def setup - super - @oldloglevel = Puppet::Util::Log.level - Puppet::Util::Log.close_all - end - - def teardown - super - Puppet::Util::Log.close_all - Puppet::Util::Log.level = @oldloglevel - end - - def getlevels - levels = nil - assert_nothing_raised { - levels = [] - Puppet::Util::Log.eachlevel { |level| levels << level } - } - # Don't test the top levels; too annoying - levels.reject { |level| level == :emerg or level == :crit } - end - - def mkmsgs(levels) - levels.collect { |level| - next if level == :alert - assert_nothing_raised { - - Puppet::Util::Log.new( - - :level => level, - :source => "Test", - - :message => "Unit test for #{level}" - ) - } - } - end - - def test_logfile - fact = nil - levels = nil - Puppet::Util::Log.level = :debug - levels = getlevels - logfile = tempfile - fact = nil - assert_nothing_raised { - Puppet::Util::Log.newdestination(logfile) - } - msgs = mkmsgs(levels) - assert(msgs.length == levels.length) - Puppet::Util::Log.close_all - count = 0 - - assert(FileTest.exists?(logfile), "Did not create logfile") - - assert_nothing_raised { - File.open(logfile) { |of| - count = of.readlines.length - } - } - assert(count == levels.length - 1) # skip alert - end - - def test_syslog - levels = nil - assert_nothing_raised { - levels = getlevels.reject { |level| - level == :emerg || level == :crit - } - } - assert_nothing_raised { - Puppet::Util::Log.newdestination("syslog") - } - # there's really no way to verify that we got syslog messages... - msgs = mkmsgs(levels) - assert(msgs.length == levels.length) - end - - def test_levelmethods - assert_nothing_raised { - Puppet::Util::Log.newdestination("/dev/null") - } - getlevels.each { |level| - assert_nothing_raised { - Puppet.send(level,"Testing for #{level}") - } - } - end - - def test_output - Puppet::Util::Log.level = :notice - assert(Puppet.err("This is an error").is_a?(Puppet::Util::Log)) - assert(Puppet.debug("This is debugging").nil?) - Puppet::Util::Log.level = :debug - assert(Puppet.err("This is an error").is_a?(Puppet::Util::Log)) - assert(Puppet.debug("This is debugging").is_a?(Puppet::Util::Log)) - end - - def test_creatingdirs - dir = tempfile - file = File.join(dir, "logfile") - Puppet::Util::Log.newdestination file - Puppet.info "testing logs" - assert(FileTest.directory?(dir)) - assert(FileTest.file?(file)) - end - - # Verify that we can pass strings that match printf args - def test_percentlogs - Puppet::Util::Log.newdestination :syslog - - assert_nothing_raised { - - Puppet::Util::Log.new( - - :level => :info, - - :message => "A message with %s in it" - ) - } - end - - # Verify that the error and source are always strings - def test_argsAreStrings - msg = nil - - file = Puppet::Type.type(:file).new( - - :path => tempfile, - - :check => %w{owner group} - ) - assert_nothing_raised { - msg = Puppet::Util::Log.new(:level => :info, :message => "This is a message") - } - assert_nothing_raised { - msg.source = file - } - - assert_instance_of(String, msg.to_s) - assert_instance_of(String, msg.source) - end - - def test_destination_matching - dest = nil - assert_nothing_raised { - dest = Puppet::Util::Log.newdesttype("Destine") do - def handle(msg) - puts msg - end - end - } - - [:destine, "Destine", "destine"].each do |name| - assert(dest.match?(name), "Did not match #{name.inspect}") - end - - assert_nothing_raised { - dest.match(:yayness) - } - assert(dest.match("Yayness"), "Did not match yayness") - Puppet::Util::Log.close(dest) - end - - def test_autoflush - file = tempfile - Puppet::Util::Log.close(:console) - Puppet::Util::Log.newdestination(file) - Puppet.warning "A test" - assert(File.read(file) !~ /A test/, "File defualted to autoflush") - Puppet::Util::Log.flush - assert(File.read(file) =~ /A test/, "File did not flush") - Puppet::Util::Log.close(file) - - # Now try one with autoflush enabled - Puppet[:autoflush] = true - file = tempfile - Puppet::Util::Log.newdestination(file) - Puppet.warning "A test" - assert(File.read(file) =~ /A test/, "File did not autoflush") - Puppet::Util::Log.close(file) - end - - def test_reopen - Puppet[:autoflush] = true - file = tempfile - Puppet::Util::Log.close(:console) - Puppet::Util::Log.newdestination(file) - Puppet.warning "A test" - assert(File.read(file) =~ /A test/, - "File did not flush") - # Rename the file - newfile = file + ".old" - File.rename(file, newfile) - - # Send another log - Puppet.warning "Another test" - assert(File.read(newfile) =~ /Another test/, - "File did not rename") - - # Now reopen the log - Puppet::Util::Log.reopen - Puppet.warning "Reopen test" - assert(File.read(file) =~ /Reopen test/, "File did not reopen") - Puppet::Util::Log.close(file) - end -end - diff --git a/test/util/metrics.rb b/test/util/metrics.rb deleted file mode 100755 index d1a052293..000000000 --- a/test/util/metrics.rb +++ /dev/null @@ -1,72 +0,0 @@ -#!/usr/bin/env ruby - -require File.expand_path(File.dirname(__FILE__) + '/../lib/puppettest') - -require 'puppet' -require 'puppet/util/metric' -require 'puppettest' -require 'puppet/type' - -class TestMetric < PuppetTest::TestCase - confine "Missing RRDtool library" => (Puppet.features.rrd? || Puppet.features.rrd_legacy?) - include PuppetTest - - def gendata - totalmax = 1000 - changemax = 1000 - eventmax = 10 - maxdiff = 10 - - types = [Puppet::Type.type(:file), Puppet::Type.type(:package), Puppet::Type.type(:package)] - data = [:total, :managed, :outofsync, :changed, :totalchanges] - events = [:file_changed, :package_installed, :service_started] - - # if this is the first set of data points... - typedata = Hash.new { |typehash,type| - typehash[type] = Hash.new(0) - } - eventdata = Hash.new(0) - typedata = {} - typedata[:total] = rand(totalmax) - typedata[:managed] = rand(typedata[:total]) - typedata[:outofsync] = rand(typedata[:managed]) - typedata[:changed] = rand(typedata[:outofsync]) - typedata[:totalchanges] = rand(changemax) - - events.each { |event| - eventdata[event] = rand(eventmax) - } - - {:typedata => typedata, :eventdata => eventdata} - end - - def rundata(report, time) - assert_nothing_raised { - gendata.each do |name, data| - report.add_metric(name, data) - end - report.metrics.each { |n, m| m.store(time) } - } - end - - def test_fakedata - report = Puppet::Transaction::Report.new - time = Time.now.to_i - start = time - 10.times { - rundata(report, time) - time += 300 - } - rundata(report, time) - - report.metrics.each do |n, m| m.graph end - - File.open(File.join(Puppet[:rrddir],"index.html"),"w") { |of| - of.puts "" - report.metrics.each { |name, metric| - of.puts "
" - } - } - end -end - diff --git a/test/util/package.rb b/test/util/package.rb deleted file mode 100755 index cd6a9d01d..000000000 --- a/test/util/package.rb +++ /dev/null @@ -1,25 +0,0 @@ -#!/usr/bin/env ruby - -require File.expand_path(File.dirname(__FILE__) + '/../lib/puppettest') - -require 'puppet' -require 'puppet/util/package' -require 'puppettest' - -class TestPuppetUtilPackage < Test::Unit::TestCase - include PuppetTest - include Puppet::Util::Package - - def test_versioncmp - ary = %w{ 1.1.6 2.3 1.1a 3.0 1.5 1 2.4 1.1-4 2.3.1 1.2 2.3.0 1.1-3 2.4b 2.4 2.40.2 2.3a.1 3.1 0002 1.1-5 1.1.a 1.06} - - newary = nil - assert_nothing_raised do - newary = ary.sort { |a, b| - versioncmp(a,b) - } - end - assert_equal(["0002", "1", "1.06", "1.1-3", "1.1-4", "1.1-5", "1.1.6", "1.1.a", "1.1a", "1.2", "1.5", "2.3", "2.3.0", "2.3.1", "2.3a.1", "2.4", "2.4", "2.4b", "2.40.2", "3.0", "3.1"], newary) - end -end - diff --git a/test/util/pidlock.rb b/test/util/pidlock.rb deleted file mode 100755 index 69aeb155f..000000000 --- a/test/util/pidlock.rb +++ /dev/null @@ -1,125 +0,0 @@ -require File.expand_path(File.dirname(__FILE__) + '/../lib/puppettest') - -require 'puppet/util/pidlock' -require 'fileutils' - -# This is *fucked* *up* -Puppet.debug = false - -class TestPuppetUtilPidlock < Test::Unit::TestCase - include PuppetTest - - def setup - super - @workdir = tstdir - end - - def teardown - super - FileUtils.rm_rf(@workdir) - end - - def test_00_basic_create - l = nil - assert_nothing_raised { l = Puppet::Util::Pidlock.new(@workdir + '/nothingmuch') } - - assert_equal Puppet::Util::Pidlock, l.class - - assert_equal @workdir + '/nothingmuch', l.lockfile - end - - def test_10_uncontended_lock - l = Puppet::Util::Pidlock.new(@workdir + '/test_lock') - - assert !l.locked? - assert !l.mine? - assert l.lock - assert l.locked? - assert l.mine? - assert !l.anonymous? - # It's OK to call lock multiple times - assert l.lock - assert l.unlock - assert !l.locked? - assert !l.mine? - end - - def test_20_someone_elses_lock - childpid = nil - l = Puppet::Util::Pidlock.new(@workdir + '/someone_elses_lock') - - # First, we need a PID that's guaranteed to be (a) used, (b) someone - # else's, and (c) around for the life of this test. - childpid = fork { loop do; sleep 10; end } - - File.open(l.lockfile, 'w') { |fd| fd.write(childpid) } - - assert l.locked? - assert !l.mine? - assert !l.lock - assert l.locked? - assert !l.mine? - assert !l.unlock - assert l.locked? - assert !l.mine? - ensure - Process.kill("KILL", childpid) unless childpid.nil? - end - - def test_30_stale_lock - # This is a bit hard to guarantee, but we need a PID that is definitely - # unused, and will stay so for the the life of this test. Our best - # bet is to create a process, get it's PID, let it die, and *then* - # lock on it. - childpid = fork { exit } - - # Now we can't continue until we're sure that the PID is dead - Process.wait(childpid) - - l = Puppet::Util::Pidlock.new(@workdir + '/stale_lock') - - # locked? should clear the lockfile - File.open(l.lockfile, 'w') { |fd| fd.write(childpid) } - assert File.exists?(l.lockfile) - assert !l.locked? - assert !File.exists?(l.lockfile) - - # lock should replace the lockfile with our own - File.open(l.lockfile, 'w') { |fd| fd.write(childpid) } - assert File.exists?(l.lockfile) - assert l.lock - assert l.locked? - assert l.mine? - - # unlock should fail, but should clear the stale lockfile. - File.open(l.lockfile, 'w') { |fd| fd.write(childpid) } - assert File.exists?(l.lockfile) - assert !l.unlock - assert !File.exists?(l.lockfile) - end - - def test_40_not_locked_at_all - l = Puppet::Util::Pidlock.new(@workdir + '/not_locked') - - assert !l.locked? - # We can't unlock if we don't hold the lock - assert !l.unlock - end - - def test_50_anonymous_lock - l = Puppet::Util::Pidlock.new(@workdir + '/anonymous_lock') - - assert !l.locked? - assert l.lock(:anonymous => true) - assert l.locked? - assert l.anonymous? - assert !l.mine? - assert "", File.read(l.lockfile) - assert !l.unlock - assert l.locked? - assert l.anonymous? - assert l.unlock(:anonymous => true) - assert !File.exists?(l.lockfile) - end -end - diff --git a/test/util/settings.rb b/test/util/settings.rb deleted file mode 100755 index 0da0b26a6..000000000 --- a/test/util/settings.rb +++ /dev/null @@ -1,743 +0,0 @@ -#!/usr/bin/env ruby - -require File.expand_path(File.dirname(__FILE__) + '/../lib/puppettest') - -require 'mocha' -require 'puppettest' -require 'puppet/util/settings' -require 'puppettest/parsertesting' - -class TestSettings < Test::Unit::TestCase - include PuppetTest - include PuppetTest::ParserTesting - Setting = Puppet::Util::Settings::StringSetting - BooleanSetting = Puppet::Util::Settings::BooleanSetting - - def setup - super - @config = mkconfig - end - - def set_configs(config = nil) - config ||= @config - - config.define_settings( - "main", - :one => { :type => :string, :default => "a", :desc => "one" }, - :two => { :type => :string, :default => "a", :desc => "two" }, - :yay => { :type => :string, :default => "/default/path", :desc => "boo" }, - :mkusers => { :type => :boolean, :default => true, :desc => "uh, yeah" }, - - :name => { :type => :string, :default => "testing", :desc => "a" } - ) - - - config.define_settings( - "section1", - :attr => { :type => :string, :default => "a", :desc => "one" }, - :attrdir => { :type => :directory, :default => "/another/dir", :desc => "two" }, - - :attr3 => { :type => :string, :default => "$attrdir/maybe", :desc => "boo" } - ) - end - - def check_for_users - count = Puppet::Type.type(:user).inject(0) { |c,o| - c + 1 - } - assert(count > 0, "Found no users") - end - - def test_to_config - set_configs - - newc = mkconfig - set_configs(newc) - - # Reset all of the values, so we know they're changing. - newc.each do |name, obj| - next if name == :name - newc[name] = true - end - - newfile = tempfile - File.open(newfile, "w") { |f| - @config.to_config.split("\n").each do |line| - # Uncomment the settings, so they actually take. - if line =~ / = / - f.puts line.sub(/^\s*#/, '') - else - f.puts line - end - end - } - - newc.define_settings :section, :config => { :type => :file, :default => newfile, :desc => "eh" } - - assert_nothing_raised("Could not parse generated configuration") { - newc.parse - } - - @config.each do |name, object| - assert_equal(@config[name], newc[name], "Parameter #{name} is not the same") - end - end - - def mkconfig - c = Puppet::Util::Settings.new - c.define_settings :main, :noop => { :type => :boolean, :default => false, :desc => "foo" } - c - end - - def test_addbools - assert_nothing_raised { - @config.define_settings(:testing, :booltest => { :type => :boolean, :default => true, :desc => "testing" }) - } - - assert(@config[:booltest]) - @config = mkconfig - - assert_nothing_raised { - @config.define_settings(:testing, :booltest => { :type => :boolean, :default => "true", :desc => "testing" }) - } - - assert(@config[:booltest]) - - assert_nothing_raised { - @config[:booltest] = false - } - - assert(! @config[:booltest], "Booltest is not false") - - assert_nothing_raised { - @config[:booltest] = "false" - } - - assert(! @config[:booltest], "Booltest is not false") - - assert_raise(ArgumentError) { - @config[:booltest] = "yayness" - } - - assert_raise(ArgumentError) { - @config[:booltest] = "/some/file" - } - end - - def test_strings - val = "this is a string" - assert_nothing_raised { - @config.define_settings(:testing, :strtest => { :type => :string, :default => val, :desc => "testing" }) - } - - assert_equal(val, @config[:strtest]) - - # Verify that variables are interpolated - assert_nothing_raised { - @config.define_settings(:testing, :another => { :type => :string, :default => "another $strtest", :desc => "testing" }) - } - - assert_equal("another #{val}", @config[:another]) - end - - def test_files - c = mkconfig - - parent = "/puppet" - assert_nothing_raised { - @config.define_settings(:testing, :parentdir => { :type => :directory, :default => parent, :desc => "booh" }) - } - - assert_nothing_raised { - @config.define_settings(:testing, :child => { :type => :file, :default => "$parent/child", :desc => "rah" }) - } - - assert_equal(parent, @config[:parentdir]) - assert_equal("/puppet/child", File.join(@config[:parentdir], "child")) - end - - def test_getset - initial = "an initial value" - assert_raise(ArgumentError) { - @config[:yayness] = initial - } - - default = "this is a default" - assert_nothing_raised { - @config.define_settings(:testing, :yayness => { :type => :string, :default => default, :desc => "rah" }) - } - - assert_equal(default, @config[:yayness]) - - assert_nothing_raised { - @config[:yayness] = initial - } - - assert_equal(initial, @config[:yayness]) - - assert_nothing_raised { - @config.clear - } - - assert_equal(default, @config[:yayness], "'clear' did not remove old values") - - assert_nothing_raised { - @config[:yayness] = "not default" - } - assert_equal("not default", @config[:yayness]) - end - - def test_parse_file - text = %{ - one = this is a test - two = another test - owner = root - group = root - yay = /a/path - - [main] - four = five - six = seven - -[section1] - attr = value - owner = puppet - group = puppet - attrdir = /some/dir - attr3 = $attrdir/other - } - - file = tempfile - File.open(file, "w") { |f| f.puts text } - - result = nil - assert_nothing_raised { - result = @config.send(:parse_file, file) - } - - main = result[:main] - assert(main, "Did not get section for main") - { - :one => "this is a test", - :two => "another test", - :owner => "root", - :group => "root", - :yay => "/a/path", - :four => "five", - :six => "seven" - }.each do |param, value| - assert_equal(value, main[param], "Param #{param} was not set correctly in main") - end - - section1 = result[:section1] - assert(section1, "Did not get section1") - - { - :attr => "value", - :owner => "puppet", - :group => "puppet", - :attrdir => "/some/dir", - :attr3 => "$attrdir/other" - }.each do |param, value| - assert_equal(value, section1[param], "Param #{param} was not set correctly in section1") - end - end - - def test_arghandling - c = mkconfig - - assert_nothing_raised { - - @config.define_settings( - "testing", - :onboolean => { :type => :boolean, :default => true, :desc => "An on bool" }, - :offboolean => { :type => :boolean, :default => false, :desc => "An off bool" }, - :string => { :type => :string, :default => "a string", :desc => "A string arg" }, - - :file => { :type => :file, :default => "/path/to/file", :desc => "A file arg" } - ) - } - - data = { - :onboolean => [true, false], - :offboolean => [true, false], - :string => ["one string", "another string"], - :file => %w{/a/file /another/file} - } - data.each { |param, values| - values.each { |val| - opt = nil - arg = nil - if @config.boolean?(param) - if val - opt = "--#{param}" - else - opt = "--no-#{param}" - end - else - opt = "--#{param}" - arg = val - end - - assert_nothing_raised("Could not handle arg #{opt} with value #{val}") { - - @config.handlearg(opt, arg) - } - } - } - end - - def test_addargs - - @config.define_settings( - "testing", - :onboolean => { :type => :boolean, :default => true, :desc => "An on bool" }, - :offboolean => { :type => :boolean, :default => false, :desc => "An off bool" }, - :string => { :type => :string, :default => "a string", :desc => "A string arg" }, - - :file => { :type => :file, :default => "/path/to/file", :desc => "A file arg" } - ) - - should = [] - @config.each { |name, element| - element.expects(:getopt_args).returns([name]) - should << name - } - result = [] - assert_nothing_raised("Add args failed") do - @config.addargs(result) - end - assert_equal(should, result, "Did not call addargs correctly.") - - end - - def test_addargs_functional - @config = Puppet::Util::Settings.new - - - @config.define_settings( - "testing", - :onboolean => { :type => :boolean, :default => true, :desc => "An on bool" }, - - :string => { :type => :string, :default => "a string", :desc => "A string arg" } - ) - result = [] - should = [] - assert_nothing_raised("Add args failed") do - @config.addargs(result) - end - @config.each do |name, element| - if name == :onboolean - should << ["--onboolean", GetoptLong::NO_ARGUMENT] - should << ["--no-onboolean", GetoptLong::NO_ARGUMENT] - elsif name == :string - should << ["--string", GetoptLong::REQUIRED_ARGUMENT] - end - end - assert_equal(should, result, "Add args functional test failed") - end - - def test_groupsetting - cfile = tempfile - - group = "yayness" - - File.open(cfile, "w") do |f| - f.puts "[main] - group = #{group} - " - end - - config = mkconfig - config.define_settings(:application, - :group => { :type => :string, :default => "puppet", :desc => "a group" }, - :config => { :type => :file, :default => cfile, :desc => "eh" }) - - assert_nothing_raised { - config.parse - } - - assert_equal(group, config[:group], "Group did not take") - end - - # provide a method to modify and create files w/out specifying the info - # already stored in a config - def test_writingfiles - File.umask(0022) - - path = tempfile - mode = 0644 - - config = mkconfig - - args = { :type => :file, :default => path, :mode => mode, :desc => "yay" } - - user = nonrootuser - group = nonrootgroup - - if Puppet.features.root? - args[:owner] = user.name - args[:group] = group.name - end - - config.define_settings(:testing, :myfile => args) - - assert_nothing_raised { - config.write(:myfile) do |file| - file.puts "yay" - end - } - - assert_equal(mode, filemode(path), "Modes are not equal") - - # OS X is broken in how it chgrps files - if Puppet.features.root? - assert_equal(user.uid, File.stat(path).uid, "UIDS are not equal") - - case Facter["operatingsystem"].value - when /BSD/, "Darwin" # nothing - else - assert_equal(group.gid, File.stat(path).gid, "GIDS are not equal") - end - end - end - - def test_mkdir - File.umask(0022) - - path = tempfile - mode = 0755 - - config = mkconfig - - args = { :type => :directory, :default => path, :mode => mode, :desc => "a file" } - - user = nonrootuser - group = nonrootgroup - - if Puppet.features.root? - args[:owner] = user.name - args[:group] = group.name - end - - config.define_settings(:testing, :mydir => args) - - assert_nothing_raised { - config.mkdir(:mydir) - } - - assert_equal(mode, filemode(path), "Modes are not equal") - - - # OS X and *BSD is broken in how it chgrps files - if Puppet.features.root? - assert_equal(user.uid, File.stat(path).uid, "UIDS are not equal") - - case Facter["operatingsystem"].value - when /BSD/, "Darwin" # nothing - else - assert_equal(group.gid, File.stat(path).gid, "GIDS are not equal") - end - end - end - - # Make sure that tags are ignored when configuring - def test_configs_ignore_tags - config = mkconfig - file = tempfile - - - config.define_settings( - :mysection, - - :mydir => { :type => :directory, :default => file, :desc => "a file" } - ) - - Puppet[:tags] = "yayness" - - assert_nothing_raised { - config.use(:mysection) - } - - assert(FileTest.directory?(file), "Directory did not get created") - - - assert_equal( - "yayness", Puppet[:tags], - - "Tags got changed during config") - end - - def test_configs_replace_in_url - config = mkconfig - - config.define_settings(:mysection, :host => { :type => :string, :default => "yayness", :desc => "yay" }) - config.define_settings(:mysection, :url => { :type => :string, :default => "http://$host/rahness", :desc => "yay" }) - - val = nil - assert_nothing_raised { - val = config[:url] - } - - - assert_equal( - "http://yayness/rahness", val, - - "Settings got messed up") - end - - def test_parse_removes_quotes - config = mkconfig - config.define_settings(:mysection, :singleq => { :type => :string, :default => "single", :desc => "yay" }) - config.define_settings(:mysection, :doubleq => { :type => :string, :default => "double", :desc => "yay" }) - config.define_settings(:mysection, :none => { :type => :string, :default => "noquote", :desc => "yay" }) - config.define_settings(:mysection, :middle => { :type => :string, :default => "midquote", :desc => "yay" }) - - file = tempfile - # Set one parameter in the file - File.open(file, "w") { |f| - f.puts %{[main]\n - singleq = 'one' - doubleq = "one" - none = one - middle = mid"quote -} - } - - config.define_settings(:mysection, :config => { :type => :file, :default => file, :desc => "eh" }) - - assert_nothing_raised { - config.parse - } - - %w{singleq doubleq none}.each do |p| - assert_equal("one", config[p], "#{p} did not match") - end - assert_equal('mid"quote', config["middle"], "middle did not match") - end - - # Test that config parameters correctly call passed-in blocks when the value - # is set. - def test_paramblocks - config = mkconfig - - testing = nil - assert_nothing_raised do - config.define_settings :test, :blocktest => {:default => "yay", :desc => "boo", :hook => proc { |value| testing = value }} - end - elem = config.setting(:blocktest) - - assert_nothing_raised do - assert_equal("yay", elem.value) - end - - assert_nothing_raised do - config[:blocktest] = "yaytest" - end - - assert_nothing_raised do - assert_equal("yaytest", elem.value) - end - assert_equal("yaytest", testing) - - assert_nothing_raised do - config[:blocktest] = "another" - end - - assert_nothing_raised do - assert_equal("another", elem.value) - end - assert_equal("another", testing) - - # Now verify it works from setdefault - assert_nothing_raised do - config.define_settings :test, - :blocktest2 => { - :default => "yay", - :desc => "yay", - :hook => proc { |v| testing = v } - } - end - - assert_equal("yay", config[:blocktest2]) - - assert_nothing_raised do - config[:blocktest2] = "footest" - end - assert_equal("footest", config[:blocktest2]) - assert_equal("footest", testing) - end - - def test_no_modify_root - config = mkconfig - - config.define_settings(:yay, - :mydir => { - :type => :file, - :default => tempfile, - :mode => 0644, - :owner => "root", - :group => "service", - :desc => "yay" - }, - :mkusers => { :type => :boolean, :default => false, :desc => "yay" } - ) - - assert_nothing_raised do - config.use(:yay) - end - - # Now enable it so they'll be added - config[:mkusers] = true - - comp = config.to_catalog - - comp.vertices.find_all { |r| r.class.name == :user }.each do |u| - assert(u.name != "root", "Tried to manage root user") - end - comp.vertices.find_all { |r| r.class.name == :group }.each do |u| - assert(u.name != "root", "Tried to manage root group") - assert(u.name != "wheel", "Tried to manage wheel group") - end - -# assert(yay, "Did not find yay component") -# yay.each do |c| -# puts @config.ref -# end -# assert(! yay.find { |o| o.class.name == :user and o.name == "root" }, -# "Found root user") -# assert(! yay.find { |o| o.class.name == :group and o.name == "root" }, -# "Found root group") - end - - # #415 - def test_remove_trailing_spaces - config = mkconfig - file = tempfile - File.open(file, "w") { |f| f.puts "rah = something " } - - config.define_settings(:yay, :config => { :type => :file, :default => file, :desc => "eh" }, :rah => { :type => :string, :default => "testing", :desc => "a desc" }) - - assert_nothing_raised { config.parse } - assert_equal("something", config[:rah], "did not remove trailing whitespace in parsing") - end - - # #484 - def test_parsing_unknown_variables - logstore - config = mkconfig - file = tempfile - File.open(file, "w") { |f| - f.puts %{[main]\n - one = one - two = yay - } - } - - config.define_settings(:mysection, :config => { :type => :file, :default => file, :desc => "eh" }, :one => { :type => :string, :default => "yay", :desc => "yay" }) - - assert_nothing_raised("Unknown parameter threw an exception") do - config.parse - end - end - - def test_multiple_interpolations - - @config.define_settings( - :section, - :one => { :type => :string, :default => "oneval", :desc => "yay" }, - :two => { :type => :string, :default => "twoval", :desc => "yay" }, - - :three => { :type => :string, :default => "$one/$two", :desc => "yay" } - ) - - - assert_equal( - "oneval/twoval", @config[:three], - - "Did not interpolate multiple variables") - end - - # Make sure we can replace ${style} var names - def test_curly_replacements - - @config.define_settings( - :section, - :one => { :type => :string, :default => "oneval", :desc => "yay" }, - :two => { :type => :string, :default => "twoval", :desc => "yay" }, - - :three => { :type => :string, :default => "$one/${two}/${one}/$two", :desc => "yay" } - ) - - - assert_equal( - "oneval/twoval/oneval/twoval", @config[:three], - - "Did not interpolate curlied variables") - end - - # Test to make sure that we can set and get a short name - def test_setting_short_name - setting= nil - assert_nothing_raised("Could not create setting") do - setting= Setting.new :short => "n", :desc => "anything", :settings => Puppet::Util::Settings.new - end - assert_equal("n", setting.short, "Short value is not retained") - - assert_raise(ArgumentError,"Allowed multicharactered short names.") do - setting= Setting.new :short => "no", :desc => "anything", :settings => Puppet::Util::Settings.new - end - end - - # Test to make sure that no two celements have the same short name - def test_celement_short_name_not_duplicated - config = mkconfig - assert_nothing_raised("Could not create celement with short name.") do - - config.define_settings( - :main, - - :one => { :default => "blah", :desc => "anything", :short => "o" }) - end - assert_nothing_raised("Could not create second celement with short name.") do - - config.define_settings( - :main, - - :two => { :default => "blah", :desc => "anything", :short => "i" }) - end - assert_raise(ArgumentError, "Could create second celement with duplicate short name.") do - - config.define_settings( - :main, - - :three => { :default => "blah", :desc => "anything", :short => "i" }) - end - # make sure that when the above raises an expection that the config is not included - assert(!config.include?(:three), "Invalid configuration item was retained") - end - - # Tell getopt which arguments are valid - def test_get_getopt_args - element = Setting.new :name => "foo", :desc => "anything", :settings => Puppet::Util::Settings.new - assert_equal([["--foo", GetoptLong::REQUIRED_ARGUMENT]], element.getopt_args, "Did not produce appropriate getopt args") - - element.short = "n" - assert_equal([["--foo", "-n", GetoptLong::REQUIRED_ARGUMENT]], element.getopt_args, "Did not produce appropriate getopt args") - - element = BooleanSetting.new :name => "foo", :desc => "anything", :settings => Puppet::Util::Settings.new - - assert_equal( - [["--foo", GetoptLong::NO_ARGUMENT], ["--no-foo", GetoptLong::NO_ARGUMENT]], - - element.getopt_args, "Did not produce appropriate getopt args") - - element.short = "n" - - assert_equal( - [["--foo", "-n", GetoptLong::NO_ARGUMENT],["--no-foo", GetoptLong::NO_ARGUMENT]], - - element.getopt_args, "Did not produce appropriate getopt args") - end -end - diff --git a/test/util/storage.rb b/test/util/storage.rb deleted file mode 100755 index 26bf70952..000000000 --- a/test/util/storage.rb +++ /dev/null @@ -1,81 +0,0 @@ -#!/usr/bin/env ruby - -require File.expand_path(File.dirname(__FILE__) + '/../lib/puppettest') - -require 'puppet' -require 'puppettest' - -class TestStorage < Test::Unit::TestCase - include PuppetTest - - def mkfile - path = tempfile - File.open(path, "w") { |f| f.puts :yayness } - - - f = Puppet::Type.type(:file).new( - - :name => path, - - :check => %w{checksum type} - ) - - f - end - - def test_storeandretrieve - path = tempfile - - f = mkfile - - # Load first, since that's what we do in the code base; this creates - # all of the necessary directories. - assert_nothing_raised { - Puppet::Util::Storage.load - } - - hash = {:a => :b, :c => :d} - - state = nil - assert_nothing_raised { - state = Puppet::Util::Storage.cache(f) - } - - assert(!state.include?("name")) - - assert_nothing_raised { - state["name"] = hash - } - - assert_nothing_raised { - Puppet::Util::Storage.store - } - assert_nothing_raised { - Puppet::Util::Storage.clear - } - assert_nothing_raised { - Puppet::Util::Storage.load - } - - # Reset it - state = nil - assert_nothing_raised { - state = Puppet::Util::Storage.cache(f) - } - - assert_equal(state["name"], hash) - end - - def test_emptyrestore - Puppet::Util::Storage.load - Puppet::Util::Storage.store - Puppet::Util::Storage.clear - Puppet::Util::Storage.load - - f = mkfile - state = Puppet::Util::Storage.cache(f) - assert_same Hash, state.class - assert_equal 0, state.size - end -end - diff --git a/test/util/subclass_loader.rb b/test/util/subclass_loader.rb deleted file mode 100755 index c3453157e..000000000 --- a/test/util/subclass_loader.rb +++ /dev/null @@ -1,89 +0,0 @@ -#!/usr/bin/env ruby - -require File.expand_path(File.dirname(__FILE__) + '/../lib/puppettest') - -require 'puppettest' -require 'puppet/util/subclass_loader' - -class TestPuppetUtilSubclassLoader < Test::Unit::TestCase - include PuppetTest - - class LoadTest - extend Puppet::Util::SubclassLoader - handle_subclasses :faker, "puppet/fakeloaders" - end - - def mk_subclass(name, path, parent) - # Make a fake client - unless defined?(@basedir) - @basedir ||= tempfile - $LOAD_PATH << @basedir - cleanup { $LOAD_PATH.delete(@basedir) if $LOAD_PATH.include?(@basedir) } - end - - libdir = File.join([@basedir, path.split(File::SEPARATOR)].flatten) - FileUtils.mkdir_p(libdir) - - file = File.join(libdir, "#{name}.rb") - File.open(file, "w") do |f| - f.puts %{class #{parent}::#{name.to_s.capitalize} < #{parent}; end} - end - end - - def test_subclass_loading - # Make a fake client - mk_subclass("fake", "puppet/fakeloaders", "TestPuppetUtilSubclassLoader::LoadTest") - - - fake = nil - assert_nothing_raised do - fake = LoadTest.faker(:fake) - end - assert_nothing_raised do - assert_equal(fake, LoadTest.fake, "Did not get subclass back from main method") - end - assert(fake, "did not load subclass") - - # Now make sure the subclass behaves correctly - assert_equal(:Fake, fake.name, "name was not calculated correctly") - end - - def test_multiple_subclasses - sub1 = Class.new(LoadTest) - Object.const_set("Sub1", sub1) - sub2 = Class.new(sub1) - Object.const_set("Sub2", sub2) - assert_equal(sub2, LoadTest.sub2, "did not get subclass of subclass") - end - - # I started out using a class variable to mark the loader, - # but it's shared among all classes that include this module, - # so it didn't work. This is testing whether I get the behaviour - # that I want. - def test_multiple_classes_using_module - other = Class.new do - extend Puppet::Util::SubclassLoader - handle_subclasses :other, "puppet/other" - end - Object.const_set("OtherLoader", other) - - mk_subclass("multipletest", "puppet/other", "OtherLoader") - mk_subclass("multipletest", "puppet/fakeloaders", "TestPuppetUtilSubclassLoader::LoadTest") - #system("find #{@basedir}") - #puts File.read(File.join(@basedir, "puppet/fakeloaders/multipletest.rb")) - #puts File.read(File.join(@basedir, "puppet/other/multipletest.rb")) - - othersub = mainsub = nil - assert_nothing_raised("Could not look up other sub") do - othersub = OtherLoader.other(:multipletest) - end - assert_nothing_raised("Could not look up main sub") do - mainsub = LoadTest.faker(:multipletest) - end - assert(othersub, "did not get other sub") - assert(mainsub, "did not get main sub") - assert(othersub.ancestors.include?(OtherLoader), "othersub is not a subclass of otherloader") - assert(mainsub.ancestors.include?(LoadTest), "mainsub is not a subclass of loadtest") - end -end - diff --git a/test/util/utiltest.rb b/test/util/utiltest.rb deleted file mode 100755 index 8a7ab83c7..000000000 --- a/test/util/utiltest.rb +++ /dev/null @@ -1,192 +0,0 @@ -#!/usr/bin/env ruby - -require File.expand_path(File.dirname(__FILE__) + '/../lib/puppettest') - -require 'puppettest' -require 'mocha' - -class TestPuppetUtil < Test::Unit::TestCase - include PuppetTest - - def test_withumask - oldmask = File.umask - - path = tempfile - - # FIXME this fails on FreeBSD with a mode of 01777 - Puppet::Util.withumask(000) do - Dir.mkdir(path, 0777) - end - - assert(File.stat(path).mode & 007777 == 0777, "File has the incorrect mode") - assert_equal(oldmask, File.umask, "Umask was not reset") - end - - def test_benchmark - path = tempfile - str = "yayness" - File.open(path, "w") do |f| f.print "yayness" end - - # First test it with the normal args - assert_nothing_raised do - val = nil - result = Puppet::Util.benchmark(:notice, "Read file") do - val = File.read(path) - end - - assert_equal(str, val) - - assert_instance_of(Float, result) - - end - - # Now test it with a passed object - assert_nothing_raised do - val = nil - Puppet::Util.benchmark(Puppet, :notice, "Read file") do - val = File.read(path) - end - - assert_equal(str, val) - end - end - - def test_proxy - klass = Class.new do - attr_accessor :hash - class << self - attr_accessor :ohash - end - end - klass.send(:include, Puppet::Util) - - klass.ohash = {} - - inst = klass.new - inst.hash = {} - assert_nothing_raised do - Puppet::Util.proxy klass, :hash, "[]", "[]=", :clear, :delete - end - - assert_nothing_raised do - Puppet::Util.classproxy klass, :ohash, "[]", "[]=", :clear, :delete - end - - assert_nothing_raised do - inst[:yay] = "boo" - inst["cool"] = :yayness - end - - [:yay, "cool"].each do |var| - assert_equal(inst.hash[var], inst[var], "Var #{var} did not take") - end - - assert_nothing_raised do - klass[:Yay] = "boo" - klass["Cool"] = :yayness - end - - [:Yay, "Cool"].each do |var| - assert_equal(inst.hash[var], inst[var], "Var #{var} did not take") - end - end - - def test_symbolize - ret = nil - assert_nothing_raised { - ret = Puppet::Util.symbolize("yayness") - } - - assert_equal(:yayness, ret) - - assert_nothing_raised { - ret = Puppet::Util.symbolize(:yayness) - } - - assert_equal(:yayness, ret) - - assert_nothing_raised { - ret = Puppet::Util.symbolize(43) - } - - assert_equal(43, ret) - - assert_nothing_raised { - ret = Puppet::Util.symbolize(nil) - } - - assert_equal(nil, ret) - end - - def test_execute - command = tempfile - File.open(command, "w") { |f| - f.puts %{#!/bin/sh\n/bin/echo "$1">&1; echo "$2">&2} - } - File.chmod(0755, command) - output = nil - assert_nothing_raised do - output = Puppet::Util::Execution.execute([command, "yaytest", "funtest"]) - end - assert_equal("yaytest\nfuntest\n", output) - - # Now try it with a single quote - assert_nothing_raised do - output = Puppet::Util::Execution.execute([command, "yay'test", "funtest"]) - end - assert_equal("yay'test\nfuntest\n", output) - - # Now make sure we can squelch output (#565) - assert_nothing_raised do - output = Puppet::Util::Execution.execute([command, "yay'test", "funtest"], :squelch => true) - end - assert_equal(nil, output) - - # Now test that we correctly fail if the command returns non-zero - assert_raise(Puppet::ExecutionFailure) do - out = Puppet::Util::Execution.execute(["touch", "/no/such/file/could/exist"]) - end - - # And that we can tell it not to fail - assert_nothing_raised do - out = Puppet::Util::Execution.execute(["touch", "/no/such/file/could/exist"], :failonfail => false) - end - - if Process.uid == 0 - # Make sure we correctly set our uid and gid - user = nonrootuser - group = nonrootgroup - file = tempfile - assert_nothing_raised do - Puppet::Util::Execution.execute(["touch", file], :uid => user.name, :gid => group.name) - end - assert(FileTest.exists?(file), "file was not created") - assert_equal(user.uid, File.stat(file).uid, "uid was not set correctly") - - # We can't really check the gid, because it just behaves too - # inconsistently everywhere. - # assert_equal(group.gid, File.stat(file).gid, - # "gid was not set correctly") - end - - # (#565) Test the case of patricide. - patricidecommand = tempfile - File.open(patricidecommand, "w") { |f| - f.puts %{#!/bin/bash\n/bin/bash -c 'kill -TERM \$PPID' &;\n while [ 1 ]; do echo -n ''; done;\n} - } - File.chmod(0755, patricidecommand) - assert_nothing_raised do - output = Puppet::Util::Execution.execute([patricidecommand], :squelch => true, :failonfail => false) - end - assert_equal(nil, output) - # See what happens if we try and read the pipe to the command... - assert_raise(Puppet::ExecutionFailure) do - output = Puppet::Util::Execution.execute([patricidecommand]) - end - assert_nothing_raised do - output = Puppet::Util::Execution.execute([patricidecommand], :failonfail => false) - end - end - -end -