yselkowitz / rpms / lash

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