“1025/tcp network blackjack”: who deals blackjack on port 1025?Pangram 100% Human badge

Why is “network blackjack” in every port registry? Where’s the original reference implementation of network blackjack?

This wasn’t the hardest‐to‐find thing I’ve seen, but I don’t think anyone has given a correct answer to this on the WWW before, and my main goal in putting this out there is to make it Googleable and to share a little archives digging story.

If you’re a network person, you’ve probably seen port 1025 in a lot of non‐standard uses. It’s the second unprivileged port, and it was the first dynamic port that Windows 2000, XP, and 2003 handed out to RPC services.

Google is full of pages and pages of forum threads going back to the 90s of people seeing blackjack in their netstat outputs and going “have I been hacked??” or “what is this?” The answer every tool, database, and port‐information site gives, in a chain of circular reporting, is:

blackjack    1025/tcp    network blackjack
blackjack    1025/udp    network blackjack

Network blackjack. It’s in the official IANA Service Name and Transport Protocol Port Number Registry, right now. And the assignee, contact, registration date, and reference fields are all blank. What are you, Network Blackjack?

Tracing the sources backwards

Assigned Numbers RFCs

In the series of the old Assigned Numbers RFCs, network blackjack first appears in RFC 1060 (March 1990):

   blackjack       1025/tcp       network blackjack

In RFC 1340 (July 1992), it picked up the UDP line:

   blackjack	   1025/tcp   network blackjack
   blackjack	   1025/udp   network blackjack

It’s propagated forwards into registries ever since.

In RFC 1060, network blackjack appears specifically in the “UNIX PORTS” section. It turns out that, unlike the formal assignments elsewhere in the document, the UNIX PORTS list has no contact or reference column at all. It’s a list of ports people were observed using, compiled from real /etc/services files. From here, the goal became pretty clear: find the earliest /etc/services with network blackjack and work from there.

The search for the services

Obviously, I hoped for the easy path of something like BSD Unix itself shipping the entry. Lots of /etc/services files descended from Berkeley’s, so if 4.3BSD-Tahoe (1988) or 4.3BSD-Reno (1990) had it, that would explain how it ended up in a 1990 RFC.

I pulled a bunch of contemporary Unixes and checked the root filesystem dumps. Unfortunately, I couldn’t find network blackjack in any OS default /etc/services before RFC 1060.

Usenet

If the program was real, someone probably posted it, or at least talked about it, on Usenet. The best record of this era of Usenet is the UTZOO archive: Henry Spencer’s tapes of everything that reached the University of Toronto’s Zoology department from 1981 to 1991.

I downloaded all 161 tapes and scanned all two‐million‐odd articles for “blackjack” and for port 1025, and I found it:

From: jon@msunix.UUCP (Jonathan Hue)
Newsgroups: net.sources.games
Subject: revised network blackjack game
Message-ID: <241@msunix.UUCP>
Date: Thu, 24-Jul-86 02:21:17 EDT
Keywords: blackjack game sockets network multiuser

It’s a shell archive containing a complete client/server blackjack game for 4.2/4.3BSD and Ultrix. Up to six people play together from different machines. And the README says:

If you can edit /etc/services, then define
ROOTPRIV in the Makefile, otherwise don't.  Add a line like:

blackjack	1025/tcp	dealer		# network blackjack

to /etc/services

That’s it!!!! He told people to add “network blackjack” to their /etc/services, someone did, and it propagated forward from there. Anyone that installed the game the way the README said ended up with the line that would later appear in RFC 1060.

However, it’s still unknown which site it came from. I still haven’t found the “original release” of network blackjack (the source code I’m sharing above is labeled “revised” and contains an “OLD README”).

The code was never formally released under an open‐source license, but I’ll take being posted on net.sources.games as enough permission to at least redistribute it unmodified. I’ve mirrored it, and I’ll let you read the source code and the rest of the Usenet posts for yourself.

I reached out to Jonathan Hue (I’m pretty confident I traced him to the right guy — he mentioned his contemporary employer in other Usenet posts and I found a matching Jonathan Hue on LinkedIn) via LinkedIn and a guessed current‐employer email 10 days ago and haven’t heard back. I’ll update this if I hear back from him. If you know him, please try to get me in contact with him. I’d like to ask him a bit more about this, get comment on this, and see if he’ll formally release it under an open‐source license.