Blame SOURCES/babeltrace-getaddrinfo.patch

121daa
*** babeltrace-1.5.8.orig/configure.ac	2021-04-22 09:56:01.645909350 -0700
121daa
--- babeltrace-1.5.8/configure.ac	2021-04-22 10:41:30.537328243 -0700
121daa
*************** AC_CHECK_FUNCS([ \
121daa
*** 102,108 ****
121daa
  	dirfd \
121daa
  	dup2 \
121daa
  	ftruncate \
121daa
! 	gethostbyname \
121daa
  	gethostname \
121daa
  	gettimeofday \
121daa
  	localtime_r \
121daa
--- 102,108 ----
121daa
  	dirfd \
121daa
  	dup2 \
121daa
  	ftruncate \
121daa
! 	getaddrinfo \
121daa
  	gethostname \
121daa
  	gettimeofday \
121daa
  	localtime_r \
121daa
*** babeltrace-1.5.8.orig/formats/lttng-live/lttng-live-comm.c	2021-04-22 09:56:01.662909278 -0700
121daa
--- babeltrace-1.5.8/formats/lttng-live/lttng-live-comm.c	2021-04-22 11:01:13.166302197 -0700
121daa
*************** ssize_t lttng_live_send(int fd, const vo
121daa
*** 111,149 ****
121daa
  
121daa
  int lttng_live_connect_viewer(struct lttng_live_ctx *ctx)
121daa
  {
121daa
- 	struct hostent *host;
121daa
- 	struct sockaddr_in server_addr;
121daa
  	int ret;
121daa
  
121daa
  	if (lttng_live_should_quit()) {
121daa
  		ret = -1;
121daa
  		goto end;
121daa
  	}
121daa
  
121daa
! 	host = gethostbyname(ctx->relay_hostname);
121daa
! 	if (!host) {
121daa
! 		fprintf(stderr, "[error] Cannot lookup hostname %s\n",
121daa
! 			ctx->relay_hostname);
121daa
  		goto error;
121daa
  	}
121daa
  
121daa
! 	if ((ctx->control_sock = socket(AF_INET, SOCK_STREAM, 0)) == -1) {
121daa
  		perror("Socket");
121daa
  		goto error;
121daa
  	}
121daa
  
121daa
! 	server_addr.sin_family = AF_INET;
121daa
! 	server_addr.sin_port = htons(ctx->port);
121daa
! 	server_addr.sin_addr = *((struct in_addr *) host->h_addr);
121daa
! 	memset(&(server_addr.sin_zero), 0, 8);
121daa
! 
121daa
! 	if (connect(ctx->control_sock, (struct sockaddr *) &server_addr,
121daa
! 				sizeof(struct sockaddr)) == -1) {
121daa
  		perror("Connect");
121daa
  		goto error;
121daa
  	}
121daa
  
121daa
  	ret = 0;
121daa
  
121daa
  end:
121daa
  	return ret;
121daa
--- 111,153 ----
121daa
  
121daa
  int lttng_live_connect_viewer(struct lttng_live_ctx *ctx)
121daa
  {
121daa
  	int ret;
121daa
+ 	struct addrinfo hints, *res;
121daa
+ 	char port[16];
121daa
  
121daa
  	if (lttng_live_should_quit()) {
121daa
  		ret = -1;
121daa
  		goto end;
121daa
  	}
121daa
  
121daa
! 	memset(&hints, 0, sizeof(hints));
121daa
! 	hints.ai_family = AF_INET;
121daa
! 	hints.ai_socktype = SOCK_STREAM;
121daa
! 	sprintf(port, "%d", ctx->port);
121daa
! 
121daa
! 	ret = getaddrinfo(ctx->relay_hostname, port, &hints, &res;;
121daa
! 	if (ret != 0) {
121daa
! 		fprintf(stderr, "[error] getaddrinfo: %s\n",
121daa
! 			gai_strerror(ret));
121daa
  		goto error;
121daa
  	}
121daa
  
121daa
! 	ctx->control_sock = socket(res->ai_family, res->ai_socktype,
121daa
! 				   res->ai_protocol);
121daa
! 	if (ctx->control_sock == -1) {
121daa
  		perror("Socket");
121daa
+ 		freeaddrinfo(res);
121daa
  		goto error;
121daa
  	}
121daa
  
121daa
! 	if (connect(ctx->control_sock, res->ai_addr, res->ai_addrlen) == -1) {
121daa
  		perror("Connect");
121daa
+ 		freeaddrinfo(res);
121daa
  		goto error;
121daa
  	}
121daa
  
121daa
  	ret = 0;
121daa
+ 	freeaddrinfo(res);
121daa
  
121daa
  end:
121daa
  	return ret;