Bug 27195

Summary: /etc/services file out of date
Product: Base System Reporter: Sean Chittenden <seanc>
Component: miscAssignee: Doug Barton <dougb>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 4.3-STABLE   
Hardware: Any   
OS: Any   

Description Sean Chittenden freebsd_committer freebsd_triage 2001-05-08 04:20:00 UTC
The /etc/services file is pretty out of sync with the list of regisered port numbers at the ISI:

http://www.isi.edu/in-notes/iana/assignments/port-numbers

Fix: 

Let me know who I can send a patch to so that the file can be updated.  :~)  Seriously, I'll dump a few hours in to fixing the /etc/services file up and'll submit a patch.  QMQP, for example, isn't listed as a valid service.
How-To-Repeat: cat /etc/services
fetch http://www.isi.edu/in-notes/iana/assignments/port-numbers && diff /etc/services && port-numbers
Comment 1 Kris Kennaway 2001-05-08 04:27:07 UTC
On Mon, May 07, 2001 at 08:14:10PM -0700, sean@chittenden.org wrote:

> Let me know who I can send a patch to so that the file can be
> updated.  :~) Seriously, I'll dump a few hours in to fixing the
> /etc/services file up and'll submit a patch.  QMQP, for example,
> isn't listed as a valid service.

You already found the right place to send the patch :-)  Just submit it as a followup to this PR.

Kris
Comment 2 DougB 2001-05-23 23:00:42 UTC
The /etc/services file is sparse by design. Having the entire list of valid
services from IANA in there would slow down various system functions that
look up service names/ports/etc. 

If there is a specific item that you need added for some reason, feel free
to state your case, however there has historically been resistance to
adding the whole enchilada.

Doug
Comment 3 Sean Chittenden freebsd_committer freebsd_triage 2001-05-31 05:19:45 UTC
	Here's my patch to the /etc/services file.  This updates a few
things, but nothing too drastic.  There are some old services that the
INNA has depreciated or removed.  In the event of a conflict, I sided
with the INNA and figured that this file hadn't been cleaned out in a
while.  if you have any Q's, please feel free to ask.  I included a
unified diff at the bottom.  If you need a normal diff, please let me
know.


> The /etc/services file is sparse by design. Having the entire list
> of valid services from IANA in there would slow down various system
> functions that look up service names/ports/etc.


        Any reason why you wouldn't take the services file and turn it
into a binary database for faster lookup, then modify the
getservbyport() and getservbyname() so that they lookup their
respective info in the binary DB?  Just a thought...  Having too much
info around isn't necessarily a bad thing.  Having too much info
around in the wrong format is.  :~)

> If there is a specific item that you need added for some reason,
> feel free to state your case, however there has historically been
> resistance to adding the whole enchilada.


        Made patch/case.  Will submit follow up shortly.  Here are
some of my notes/changes, etc...  -sc

	PS Sorry this took so long to get to, I've been on the road 6
out of the last 8 weeks.  (When'd it get so hot in the bay area!?
98deg at KPAO's weather station!  Seattle's balmy 70 isn't so bad now
that I think about it... ;~)

added udp service for streettalk (566/udp)
added qmqp service (628 tcp & udp)
added ldaps service (636 tcp & udp)
added dhcp-failover service (647 tcp & udp)
added corba-iiop service (683 tcp & udp)
added corba-iiop-ssl service (684 tcp & udp)
added msexch-routing service (691 tcp & udp)
added dhcp-failover2 service (847 tcp & udp)
added rsync service (873 tcp & udp)
added ftps-data service (989 tcp & udp)
added ftps service (990 tcp & udp)
added cma service (1050 tcp & udp)
added ddt service (1052 tcp & udp)
added mysql service (3306 tcp & udp)
added postgres service (5432 tcp & udp)

deleted depreciated service:    mtp     57/tcp
deleted depreciated service:    netrjs  77/tcp
deleted depreciated service:    ttylink 87/tcp
deleted depreciated service:    shilp   2049 tcp/udp
deleted depreciated service:    zephyr-hm-srv   2105/udp
deleted depreciated service place holder for radius (1646 tcp/udp)

deleted conflicting service:    NeWS    144/tcp
deleted conflicting service:    NeWS    144/tcp
deleted conflicting service:    tam     209/tcp
deleted conflicting service:    tam     209/udp
deleted conflicting service:    kerberos_master 751/tcp
deleted conflicting service:    kerberos_master 751/udp
deleted conflicting service:    krb_prop        754/tcp
deleted conflicting service:    krb_prop        754/udp
deleted conflicting service:    krbupdate       760/tcp
deleted conflicting service:    kpasswd         761/tcp

uncommented the kerberos-adm service

updated port assignments:       unitary 126/tcp -> nxedit 126/tcp
updated port assignments:       unitary 126/udp -> nxedit 126/udp

updated some unassigned blocks

fixed order on urm service

Not upgraded, but should be:
updated port assignments:       dayna   244/tcp -> dayna  244/tcp
updated port assignments:       dayna   244/udp -> dayna  244/udp

Alrerts:
umeter 571/(tcp/udp) is called meter by the INNA and resides on both ports r570 and 571




--- services.orig	Thu Apr 19 02:10:15 2001
+++ services	Wed May 30 20:52:55 2001
@@ -16,7 +16,7 @@
 # Kerberos services are for Kerberos v4, and are unofficial.  Sites running
 # v5 should uncomment v5 entries and comment v4 entries.
 #
-# $FreeBSD: /c/ncvs/src/etc/services,v 1.67 2001/04/19 09:10:15 ume Exp $
+# $FreeBSD: /c/ncvs/src/etc/services,v 1.68 2001/05/30 21:08:37 sean Exp $
 #	From: @(#)services	5.8 (Berkeley) 5/9/91
 #
 # WELL KNOWN PORT NUMBERS
@@ -107,10 +107,7 @@
 isi-gl		 55/udp	   #ISI Graphics Language
 xns-auth	 56/tcp	   #XNS Authentication
 xns-auth	 56/udp	   #XNS Authentication
-mtp		 57/tcp	   # deprecated
-#PROBLEMS!==============================================================
 #		 57/tcp	   any private terminal access
-#PROBLEMS!==============================================================
 #		 57/udp	   any private terminal access
 xns-mail	 58/tcp	   #XNS Mail
 xns-mail	 58/udp	   #XNS Mail
@@ -148,10 +145,7 @@
 #		 75/udp	   any private dial out service
 deos		 76/tcp	   #Distributed External Object Store
 deos		 76/udp	   #Distributed External Object Store
-netrjs		 77/tcp
-#PROBLEMS!==============================================================
 #		 77/tcp	   any private RJE service
-#PROBLEMS!==============================================================
 #		 77/udp	   any private RJE service
 vettcp		 78/tcp
 vettcp		 78/udp
@@ -171,10 +165,7 @@
 mit-ml-dev	 85/udp	   #MIT ML Device
 mfcobol		 86/tcp	   #Micro Focus Cobol
 mfcobol		 86/udp	   #Micro Focus Cobol
-ttylink		 87/tcp
-#PROBLEMS!===========================================================
 #		 87/tcp	   any private terminal link
-#PROBLEMS!===========================================================
 #		 87/udp	   any private terminal link
 kerberos-sec	 88/tcp    kerberos	# krb5	# Kerberos (v5)
 kerberos-sec	 88/udp    kerberos	# krb5	# Kerberos (v5)
@@ -251,8 +242,8 @@
 ansatrader	124/udp	   #ANSA REX Trader
 locus-map	125/tcp	   #Locus PC-Interface Net Map Ser
 locus-map	125/udp	   #Locus PC-Interface Net Map Ser
-unitary		126/tcp	   #Unisys Unitary Login
-unitary		126/udp	   #Unisys Unitary Login
+nxedit		126/tcp	   #NXEdit
+nxedit		126/udp	   #NXEdit
 locus-con	127/tcp	   #Locus PC-Interface Conn Server
 locus-con	127/udp	   #Locus PC-Interface Conn Server
 gss-xlicen	128/tcp	   #GSS X License Verification
@@ -287,12 +278,8 @@
 bl-idm		142/udp	   #Britton-Lee IDM	      
 imap		143/tcp	   imap2 imap4 #Interim Mail Access Protocol v2
 imap		143/udp	   imap2 imap4 #Interim Mail Access Protocol v2
-NeWS		144/tcp	   # Window System
-NeWS		144/udp	   # Window System
-#PROBLEMS!==============================================================
-#uma		144/tcp	   #Universal Management Architecture
-#uma		144/udp	   #Universal Management Architecture
-#PROBLEMS!==============================================================
+uma		144/tcp	   #Universal Management Architecture
+uma		144/udp	   #Universal Management Architecture
 uaac		145/tcp	   #UAAC Protocol	      
 uaac		145/udp	   #UAAC Protocol	      
 iso-tp0		146/tcp
@@ -423,10 +410,6 @@
 at-8		208/udp	   #AppleTalk Unused			
 qmtp            209/tcp    #The Quick Mail Transfer Protocol
 qmtp            209/udp    #The Quick Mail Transfer Protocol
-#PROBLEMS!==============================================================
-#tam		209/tcp	   #Trivial Authenticated Mail Protocol
-#tam		209/udp	   #Trivial Authenticated Mail Protocol
-#PROBLEMS!==============================================================
 z39.50		210/tcp	   wais		#ANSI Z39.50
 z39.50		210/udp	   wais		#ANSI Z39.50
 914c/g		211/tcp	   #Texas Instruments 914C/G Terminal
@@ -489,7 +472,7 @@
 hdap		263/udp
 bgmp		264/tcp
 bgmp		264/udp
-#		265-279	   unassigned
+#		269-279	   unassigned
 http-mgmt	280/tcp
 http-mgmt	280/udp
 personal-link	281/tcp
@@ -517,10 +500,9 @@
 decauth		316/udp
 zannet		317/tcp
 zannet		317/udp
-#		318-320	   #unassigned
 pip		321/tcp
 pip		321/udp
-#		322-343	   #unassigned
+#		323-343	   #unassigned
 pdap		344/tcp	   #Prospero Data Access Protocol
 pdap		344/udp	   #Prospero Data Access Protocol
 pawserv		345/tcp	   #Perf Analysis Workbench
@@ -769,13 +751,8 @@
 alpes		463/tcp
 alpes		463/udp
 #
-kpasswd5	464/tcp	   # Kerberos (v5)
-kpasswd5	464/udp	   # Kerberos (v5)
-#PROBLEMS!==============================================================
-# IANA has offically assigned these two ports as ``kpasswd''
-#kpasswd	 464/tcp	 # Kerberos (v5)
-#kpasswd	 464/udp	 # Kerberos (v5)
-#PROBLEMS!==============================================================
+kpasswd		464/tcp    kpasswd5   # Kerberos (v5)
+kpasswd		464/udp	   kpasswd5   # Kerberos (v5)
 smtps		465/tcp	   #smtp protocol over TLS/SSL (was ssmtp)
 smtps		465/udp	   #smtp protocol over TLS/SSL (was ssmtp)
 digital-vrc	466/tcp
@@ -1006,6 +983,7 @@
 whoami		565/tcp
 whoami		565/udp
 streettalk	566/tcp
+streettalk	566/udp
 banyan-rpc	567/tcp
 banyan-rpc	567/udp
 ms-shuttle	568/tcp	   #Microsoft shuttle
@@ -1077,10 +1055,10 @@
 acp		599/udp	   #Aeolon Core Protocol
 ipcserver	600/tcp	   #Sun IPC server
 ipcserver	600/udp	   #Sun IPC server
-nqs		607/tcp
-nqs		607/udp
 urm		606/tcp	   #Cray Unified Resource Manager
 urm		606/udp	   #Cray Unified Resource Manager
+nqs		607/tcp
+nqs		607/udp
 sift-uft	608/tcp	   #Sender-Initiated/Unsolicited File Transfer 
 sift-uft	608/udp	   #Sender-Initiated/Unsolicited File Transfer
 npmp-trap	609/tcp
@@ -1089,8 +1067,14 @@
 npmp-local	610/udp
 npmp-gui	611/tcp
 npmp-gui	611/udp
+qmqp		628/tcp    #QMQP
+qmqp		628/udp    #QMQP
 ginad		634/tcp
 ginad		634/udp
+ldaps		636/tcp    #ldap protocol over TLS/SSL (was sldap)
+ldaps		636/udp    #ldap protocol over TLS/SSL (was sldap)
+dhcp-failover	647/tcp    #DHCP Failover
+dhcp-failover	647/udp    #DHCP Failover
 mdqs		666/tcp 
 mdqs		666/udp 
 #PROBLEMS!===============================================
@@ -1099,6 +1083,12 @@
 #PROBLEMS!===============================================
 acap		674/tcp	   #Application Configuration Access Protocol
 acap		674/udp	   #Application Configuration Access Protocol
+corba-iiop	683/tcp    #CORBA IIOP 
+corba-iiop	683/udp    #CORBA IIOP 
+corba-iiop-ssl	684/tcp    #CORBA IIOP SSL
+corba-iiop-ssl	684/udp    #CORBA IIOP SSL
+msexch-routing	691/tcp    #MS Exchange Routing
+msexch-routing	691/udp    #MS Exchange Routing
 elcsd		704/tcp	   #errlog copy/server daemon
 elcsd		704/udp	   #errlog copy/server daemon
 entrustmanager	709/tcp	   #EntrustManager
@@ -1119,42 +1109,29 @@
 fujitsu-dev	747/udp	   #Fujitsu Device Control
 ris-cm		748/tcp	   #Russell Info Sci Calendar Manager
 ris-cm		748/udp	   #Russell Info Sci Calendar Manager
-#kerberos-adm	 749/tcp    #Kerberos administration (v5)
-#kerberos-adm	 749/udp    #Kerberos administration (v5)
+kerberos-adm	749/tcp    #Kerberos administration (v5)
+kerberos-adm	749/udp    #Kerberos administration (v5)
 kerberos-iv	750/udp		kdc	# Kerberos (v4)
 kerberos-iv	750/tcp		kdc	# Kerberos (v4)
 #PROBLEMS!========================================================
 #rfile		750/tcp
 #loadav		750/udp
 #PROBLEMS!========================================================
-kerberos_master 751/tcp	   # Kerberos `kadmin' (v4)
-kerberos_master 751/udp	   # Kerberos `kadmin' (v4)
-#PROBLEMS!========================================================
 pump		751/tcp
 pump		751/udp
-#PROBLEMS!========================================================
 qrh		752/tcp
 qrh		752/udp
 rrh		753/tcp
 rrh		753/udp
-krb_prop	754/tcp		krb5_prop	# kerberos/v5 server propagation
-#PROBLEMS!========================================================
 tell		754/tcp	    #send
-#PROBLEMS!========================================================
 tell		754/udp	    #send
 nlogin		758/tcp
 nlogin		758/udp
 con		759/tcp
 con		759/udp
-krbupdate	760/tcp		kreg	# Kerberos (v4) registration
-#PROBLEMS!========================================================
 ns		760/tcp
-#PROBLEMS!========================================================
 ns		760/udp
-kpasswd		761/tcp		kpwd	# Kerberos (v4) "passwd"
-#PROBLEMS!========================================================
 rxe		761/tcp
-#PROBLEMS!========================================================
 rxe		761/udp
 quotad		762/tcp
 quotad		762/udp
@@ -1190,12 +1167,20 @@
 mdbs_daemon	800/udp 
 device		801/tcp
 device		801/udp
+dhcp-failover2	847/tcp    #dhcp-failover 2
+dhcp-failover2	847/udp    #dhcp-failover 2
 supfilesrv	871/tcp			# for SUP
+rsync		873/tcp    #rsync
+rsync		873/udp    #rsync
 accessbuilder	888/tcp
 accessbuilder	888/udp
-telnets		992/tcp
-imaps		993/tcp
-pop3s		995/tcp
+ftps-data	989/tcp    #ftp protocol, data, over TLS/SSL
+ftps-data	989/udp    #ftp protocol, data, over TLS/SSL
+ftps		990/tcp    #ftp protocol, control, over TLS/SSL
+ftps		990/udp    #ftp protocol, control, over TLS/SSL
+telnets		992/tcp    #telnet protocol over TLS/SSL
+imaps		993/tcp    #imap4 protocol over TLS/SSL
+pop3s		995/tcp    #pop3 protocol over TLS/SSL (was spop3)
 vsinet		996/tcp
 vsinet		996/udp
 maitrd		997/tcp
@@ -1219,6 +1204,10 @@
 iad2		1031/udp   #BBN IAD
 iad3		1032/tcp   #BBN IAD
 iad3		1032/udp   #BBN IAD
+cma		1050/tcp   #CORBA Management Agent
+cma		1050/udp   #CORBA Management Agent
+ddt		1052/tcp   $Dynamic DNS tools
+ddt		1052/udp   $Dynamic DNS tools
 nim		1058/tcp
 nim		1058/udp
 nimreg		1059/tcp
@@ -1669,12 +1658,6 @@
 pciarray	1552/udp
 issd		1600/tcp
 issd		1600/udp
-# IMPORTANT NOTE: ports r1645/1646 are the traditional radius ports used by
-# many vendors without obtaining official IANA assignment.  The official
-# assignment is now ports r1812/1813 and users are encouraged to migrate
-# when possible to these new ports.
-#radius		1645/udp   #RADIUS authentication protocol (old)
-#radacct	1646/udp   #RADIUS accounting protocol (old)
 nkd		1650/tcp
 nkd		1650/udp
 shiva_confsrvr	1651/tcp
@@ -1706,9 +1689,8 @@
 netview-aix-12	1672/tcp
 netview-aix-12	1672/udp
 pptp		1723/tcp   #Point-to-point tunnelling protocol
-# IMPORTANT NOTE: See comments for ports r1645/1646 when using older equipment
-radius		1812/udp   #RADIUS authentication protocol (IANA sanctioned)
-radacct		1813/udp   #RADIUS accounting protocol (IANA sanctioned)
+radius		1812/udp   #RADIUS authentication protocol
+radacct		1813/udp   #RADIUS accounting protocol
 licensedaemon	1986/tcp   #cisco license management
 licensedaemon	1986/udp   #cisco license management
 tr-rsrb-p1	1987/tcp   #cisco RSRB Priority 1 port
@@ -1834,19 +1816,12 @@
 dls-monitor	2048/udp
 nfsd		2049/tcp	nfs		# NFS server daemon
 nfsd		2049/udp	nfs		# NFS server daemon
-#PROBLEMS!=============================================================
-#shilp		2049/tcp
-#shilp		2049/udp
-#PROBLEMS!=============================================================
 dlsrpn		2065/tcp   #Data Link Switch Read Port Number
 dlsrpn		2065/udp   #Data Link Switch Read Port Number
 dlswpn		2067/tcp   #Data Link Switch Write Port Number
 dlswpn		2067/udp   #Data Link Switch Write Port Number
 zephyr-clt      2103/udp   #Zephyr serv-hm connection
 zephyr-hm       2104/udp   #Zephyr hostmanager
-#PROBLEMS!=============================================================
-#zephyr-hm-srv	2105/udp   #Zephyr hm-serv connection
-#PROBLEMS!=============================================================
 eklogin		2105/tcp   #Kerberos (v4) encrypted rlogin
 eklogin		2105/udp   #Kerberos (v4) encrypted rlogin
 ekshell		2106/tcp   #Kerberos (v4) encrypted rshell
@@ -1893,6 +1868,8 @@
 vmodem		3141/udp
 ccmail		3264/tcp   #cc:mail/lotus
 ccmail		3264/udp   #cc:mail/lotus
+mysql		3306/tcp   #MySQL
+mysql		3306/udp   #MySQL
 dec-notes	3333/tcp   #DEC Notes
 dec-notes	3333/udp   #DEC Notes
 rsvp-encap	3455/udp   #RSVP encapsulated in UDP
@@ -1974,6 +1951,8 @@
 hacl-test	5305/udp			    
 cfengine	5308/tcp
 cfengine	5308/udp
+postgres	5432/tcp   #PostgreSQL
+postgres	5432/udp   #PostgreSQL
 rplay		5555/udp
 canna		5680/tcp   #Canna (Japanese Input)
 proshareaudio	5713/tcp   #proshare conf audio
Comment 4 Doug Barton freebsd_committer freebsd_triage 2001-05-31 08:46:12 UTC
State Changed
From-To: open->feedback


Here is the problem, that apparently I didn't explain clearly enough. 
Unfortunately, some applications and systems frequently depend on the 
broken behavior we already have. Unless there is a good reason to make 
a change, it's generally a bad idea to do so. 

Good reasons include: 
1. Something is broken due to non standards-compliant behavior. 
2. Some new functionality requires a change or addition. 

Your suggestion of making a binary database for services is well taken, 
however your patches didn't make it into the post, please resend them.  

For more information on this topic please look through the PR database and 
find several more PR's on this topic, several of them opened by me. :) There 
is even more discussion about it in the mail archives. 


Comment 5 Doug Barton freebsd_committer freebsd_triage 2001-05-31 08:46:12 UTC
Responsible Changed
From-To: freebsd-bugs->dougb


I have familiarity with the problem.
Comment 6 DougB 2001-05-31 08:58:06 UTC
dougb@FreeBSD.org wrote:

> Good reasons include:
> 1. Something is broken due to non standards-compliant behavior.
> 2. Some new functionality requires a change or addition.

	I failed to state the reason for putting this in feedback state. Do any of
your changes fall into either of these two categories?

Doug
Comment 7 DougB 2001-05-31 10:00:32 UTC
	Let me try again. I was obviously being way to subtle last time. Changing
services into a database is a good idea. Changing /etc/services for
anything other than a really good reason that will impact something
directly is bad because it's likely to produce problems that are very
difficult to track down.

Sorry for the confusion.
Comment 8 Doug Barton freebsd_committer freebsd_triage 2001-06-05 03:20:35 UTC
State Changed
From-To: feedback->closed


No response from originator as to whether he needs some items added or 
deleted to the text /etc/services file to enhance or fix some specific 
functionality. This can be reopened if such is the case.