in the latest code, sock.c in sock_get_server_socket line 925 handles the case where the interface to listen on has been specified numerically: if (info.myhostname != NULL && info.myhostname[0]) { if (isdigit((int) info.myhostname[0]) && isdigit((int) info. myhostname[ice_strlen(info.myhostname) - 1])) { if (inet_aton (info.myhostname, (struct in_addr *) &localaddr) == 0) { write_log(LOG_DEFAULT, "ERROR: Invalid ip number %s, will die now", info.myhostname); clean_shutdown(&info); } } else { but the result is never copied into the sockaddr_in structure, as it is in the gethostbyname case that follows. the fix is a one-line addition: if (info.myhostname != NULL && info.myhostname[0]) { if (isdigit((int) info.myhostname[0]) && isdigit((int) info. myhostname[ice_strlen(info.myhostname) - 1])) { if (inet_aton (info.myhostname, (struct in_addr *) &localaddr) == 0) { write_log(LOG_DEFAULT, "ERROR: Invalid ip number %s, will die now", info.myhostname); clean_shutdown(&info); } sin.sin_addr = localaddr; } else { thanks for the wonderful free software. -spot --- >8 ---- List archives: http://www.xiph.org/archives/ icecast project homepage: http://www.icecast.org/ To unsubscribe from this list, send a message to 'icecast-dev-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.