--- lash-0.5.1-orig/lashd/conn_mgr.c 2005-10-01 23:09:29.000000000 -0700
+++ lash-0.5.1/lashd/conn_mgr.c 2006-05-07 15:21:55.000000000 -0700
@@ -187,6 +187,12 @@
err = getaddrinfo(NULL, "lash", &hints, &addrs);
if (err) {
+ char* lashserv[256];
+ sprintf(lashserv, "%d", LASH_DEFAULT_PORT);
+ hints.ai_flags |= AI_NUMERICSERV;
+ err = getaddrinfo (NULL, lashserv, &hints, &addrs);
+ }
+ if (err) {
fprintf(stderr, "%s: could not look up service name: %s\n",
__FUNCTION__, gai_strerror(err));
return -1;
--- lash-0.5.1-orig/liblash/comm.c 2005-09-15 01:15:30.000000000 -0700
+++ lash-0.5.1/liblash/comm.c 2006-05-07 15:22:20.000000000 -0700
@@ -135,7 +135,12 @@
lash_comm_event_t connect_event;
int err;
- err = lash_open_socket(&client->socket, server, "lash");
+ err = lash_open_socket(&client->socket, server, "lash", 0);
+ if (err) {
+ char* lashserv[256];
+ sprintf(lashserv, "%d", LASH_DEFAULT_PORT);
+ err = lash_open_socket(&client->socket, server, lashserv, 1);
+ }
if (err) {
fprintf(stderr, "%s: could not create server connection\n",
__FUNCTION__);
--- lash-0.5.1-orig/liblash/socket.c 2005-10-03 20:26:41.000000000 -0700
+++ lash-0.5.1/liblash/socket.c 2006-05-07 14:55:25.000000000 -0700
@@ -154,7 +154,7 @@
}
int
-lash_open_socket(int *sockptr, const char *host, const char *service)
+lash_open_socket(int *sockptr, const char *host, const char *service, int numericserv)
{
struct addrinfo hints;
struct addrinfo *addrs;
@@ -168,6 +168,7 @@
memset(&hints, 0, sizeof(hints));
hints.ai_socktype = SOCK_STREAM;
+ hints.ai_flags = (numericserv == 0)? 0 : AI_NUMERICSERV;
err = getaddrinfo(host, service, &hints, &addrs);
if (err) {
--- lash-0.5.1-orig/lash/socket.h 2005-09-12 22:02:18.000000000 -0700
+++ lash-0.5.1/lash/socket.h 2006-05-07 14:55:25.000000000 -0700
@@ -26,7 +26,7 @@
int lash_recvall (int socket, void ** bufptr, size_t * buf_size, int flags);
/* returns 0 on success, non-0 on error */
-int lash_open_socket (int * socket, const char * host, const char * service);
+int lash_open_socket (int * socket, const char * host, const char * service, int numericserv);
/* return hostname on success, or NULL on error */
const char * lash_lookup_peer_name (int sock);