Hipbrass

When I saw a banner for this, it was totally not what I was expecting.
It's infinitely cooler than I was expecting.

<edit>
Also, What the futch ftpd? What is wrong with you?

-----e@scrollrack:~ $ ftp localhost
Trying 127.0.0.1...
Connected to localhost.
421 Service not available, remote server has closed connection.
ftp> o 172.16.0.100
Connected to 172.16.0.100.
421 Service not available, remote server has closed connection.
ftp> quit
-----e@scrollrack:~ $ sudo syslogc ftp
Password:
Oct  7 01:09:32 scrollrack ftpd[13869]: could not open control socket
Oct  7 01:09:38 scrollrack ftpd[5500]: could not open control socket
-----e@scrollrack:~ $ grep ftpd /etc/inetd.conf | head -1
ftp             stream  tcp     nowait  root    /usr/libexec/ftpd       ftpd -ADUSdl

Seriously... this problem doesn't exist on the internets. How in the bloody hell did this break?
The best lead I've been able to find is in ./src/libexec/ftpd/ftpd.c, which isn't much help.

---snip---
/*
* Open sockets, bind it to the FTP port, and start
* listening.
*/
n = 0;
for (res = res0; res; res = res->ai_next) {
fds[n] = socket(res->ai_family, res->ai_socktype,
    res->ai_protocol);
if (fds[n] < 0)
continue;

if (setsockopt(fds[n], SOL_SOCKET, SO_REUSEADDR,
    &on, sizeof(on)) < 0) {
close(fds[n]);
fds[n] = -1;
continue;
}

if (bind(fds[n], res->ai_addr, res->ai_addrlen) < 0) {
close(fds[n]);
fds[n] = -1;
continue;
}
if (listen(fds[n], 32) < 0) {
close(fds[n]);
fds[n] = -1;
continue;
}

pfds[n].fd = fds[n];
pfds[n].events = POLLIN;
n++;
}
freeaddrinfo(res0);

if (n == 0) {
syslog(LOG_ERR, "could not open control socket");
exit(1);
}
---snip---

Wow. It can't open a socket. Well DUH. But Why?
I mean, 'n' equalling zero is easy enough, but why does if fail to that point?

Also, it occurs to me that my <code> meta-tags aren't processing whitespace... that also needs to be fixed.

*grumble*
</edit>