yselkowitz / rpms / lash

Forked from rpms/lash 6 years ago
Clone
Blob Blame History Raw
--- 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);