Blame SOURCES/babeltrace-getaddrinfo.patch

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