Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 23 Mar 2019 23:22:07 +0000 (UTC)
From:      Josh Paetzel <jpaetzel@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r496694 - in head/astro/xephem: . files
Message-ID:  <201903232322.x2NNM7Rb099302@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jpaetzel
Date: Sat Mar 23 23:22:06 2019
New Revision: 496694
URL: https://svnweb.freebsd.org/changeset/ports/496694

Log:
  Several improvements
  
  - Fix the perl shebang and set the execute bit on two perl scripts
    that are installed by the port.
  - Incorporate patches that allow HTTPS updates in the app to work.
  
  Suggested by:	Scott C. Allendorf <scott-allendorf@uiowa.edu>

Added:
  head/astro/xephem/files/patch-auxil_mpcorb2edb.pl   (contents, props changed)
  head/astro/xephem/files/patch-earthmenu.c   (contents, props changed)
  head/astro/xephem/files/patch-fallbacks.c   (contents, props changed)
  head/astro/xephem/files/patch-net.h   (contents, props changed)
  head/astro/xephem/files/patch-sunmenu.c   (contents, props changed)
  head/astro/xephem/files/patch-usno.c   (contents, props changed)
  head/astro/xephem/files/patch-webdbmenu.c   (contents, props changed)
  head/astro/xephem/files/patch-xephem.h   (contents, props changed)
Modified:
  head/astro/xephem/Makefile
  head/astro/xephem/files/patch-Makefile
  head/astro/xephem/pkg-plist

Modified: head/astro/xephem/Makefile
==============================================================================
--- head/astro/xephem/Makefile	Sat Mar 23 23:12:14 2019	(r496693)
+++ head/astro/xephem/Makefile	Sat Mar 23 23:22:06 2019	(r496694)
@@ -3,7 +3,7 @@
 
 PORTNAME=	xephem
 PORTVERSION=	3.7.7
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	astro
 MASTER_SITES=	http://www.clearskyinstitute.com/xephem/
 
@@ -13,9 +13,11 @@ COMMENT=	Interactive astronomical ephemeris program
 LIB_DEPENDS=	libpng.so:graphics/png \
 		libfontconfig.so:x11-fonts/fontconfig
 
-USES=		gmake groff jpeg motif tar:tgz
-LDFLAGS+=	-lfontconfig
+USES=		gmake groff jpeg motif tar:tgz ssl
 USE_XORG=	xp xt xext xmu x11 xft
+
+LDFLAGS+=	-lfontconfig
+
 MAKE_JOBS_UNSAFE=	yes
 
 WRKSRC=		${WRKDIR}/${DISTNAME}/GUI/xephem
@@ -52,6 +54,7 @@ pre-build:
 pre-install:
 	@${FIND} ${WRKSRC}/../.. -name Makefile.bak -type f -delete
 	@${CP} ${WRKSRC}/xephem.man ${STAGEDIR}${PREFIX}/man/man1/xephem.1
+	@${FIND} ${WRKSRC} -name "*.pl" -exec ${SED} -i "" -e 's|/usr/bin/perl|/usr/local/bin/perl|' {} \;
 
 do-install:
 	${INSTALL_PROGRAM} ${WRKSRC}/xephem ${STAGEDIR}${PREFIX}/bin

Modified: head/astro/xephem/files/patch-Makefile
==============================================================================
--- head/astro/xephem/files/patch-Makefile	Sat Mar 23 23:12:14 2019	(r496693)
+++ head/astro/xephem/files/patch-Makefile	Sat Mar 23 23:22:06 2019	(r496694)
@@ -1,11 +1,11 @@
---- Makefile.orig	2015-09-14 09:37:09.737810488 -0500
-+++ Makefile	2015-09-14 09:45:54.470774555 -0500
-@@ -23,18 +23,18 @@
+--- Makefile.orig	2015-08-09 21:36:50 UTC
++++ Makefile
+@@ -23,44 +23,44 @@ MOTIFI = $(MOTIF)
  MOTIFL = $(MOTIF)
  endif
  ifndef MOTIFI
 -MOTIFI = /usr/include
-+MOTIFI = %%LOCALBASE%%/include
++MOTIFI = /usr/local/include
  endif
  ifndef MOTIFL
 -MOTIFL = /usr/lib
@@ -13,18 +13,107 @@
  endif
  
  # for linux and Apple OS X
- CC = gcc
- CLDFLAGS = -g
+-CC = gcc
+-CLDFLAGS = -g
 -CFLAGS = $(LIBINC) $(CLDFLAGS) -O2 -Wall -I$(MOTIFI) -I/opt/X11/include
 -LDFLAGS = $(LIBLNK) $(CLDFLAGS) -L$(MOTIFL) -L/opt/X11/lib
 -XLIBS = -lXm -lXp -lXt -lXext -lXmu -lX11
-+CFLAGS = $(LIBINC) $(CLDFLAGS) -Wall -I$(MOTIFI) -I%%LOCALBASE%%/include
-+LDFLAGS = $(LIBLNK) $(CLDFLAGS) -L$(MOTIFL) -L%%LOCALBASE%%/lib
+-LIBS = $(XLIBS) $(LIBLIB) -lm
++CC?= cc
++CLDFLAGS+= -g
++CFLAGS+= $(LIBINC) $(CLDFLAGS) -Wall -I$(MOTIFI) -I/usr/local/include
++LDFLAGS+= $(LIBLNK) $(CLDFLAGS) -L$(MOTIFL) -L/usr/local/lib
 +XLIBS = -lXm -lXp -lXt -lXext -lXmu -lX11 -lXft
- LIBS = $(XLIBS) $(LIBLIB) -lm
++LIBS = $(XLIBS) $(LIBLIB) -lm -lssl
  
  # static linking on Apple using X11 libs from ports
-@@ -189,18 +189,18 @@
+-# CC = gcc
++# CC?= cc
+ # OLI = /opt/local/include
+ # OLL = /opt/local/lib
+-# CLDFLAGS = -g
+-# CFLAGS = $(LIBINC) $(CLDFLAGS) -O2 -Wall -I$(MOTIFI) -I$(OLI)
+-# LDFLAGS = $(LIBLNK) $(CLDFLAGS) -L$(MOTIFL) -L$(OLL)
++# CLDFLAGS+= -g
++# CFLAGS+= $(LIBINC) $(CLDFLAGS) -Wall -I$(MOTIFI) -I$(OLI)
++# LDFLAGS+= $(LIBLNK) $(CLDFLAGS) -L$(MOTIFL) -L$(OLL)
+ # XLIBS = -lXm $(OLL)/libXp.a $(OLL)/libXt.a $(OLL)/libSM.a $(OLL)/libICE.a $(OLL)/libXext.a $(OLL)/libXmu.a $(OLL)/libX11.a $(OLL)/libxcb.a $(OLL)/libXau.a $(OLL)/libXdmcp.a
+ # LIBS = $(XLIBS) $(LIBLIB) -lm
+ 
+ # for ppc Apple OS X to make universal (i386 and ppc binary), requires
+ # Xcode 2.2, /Developers/SDK/MacOSX10.4u.sdk and all libs, including libXm,
+ # built similarly
+-# CLDFLAGS = -arch i386 -arch ppc
+-# CFLAGS = $(LIBINC) $(CLDFLAGS) -O2 -Wall -isysroot /Developer/SDKs/MacOSX10.4u.sdk -I$(MOTIFI) -I/usr/X11R6/include
+-# LDFLAGS = $(LIBLNK) $(CLDFLAGS) -Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk -L$(MOTIFL) -L/usr/X11R6/lib
++# CLDFLAGS+= -arch i386 -arch ppc
++# CFLAGS+= $(LIBINC) $(CLDFLAGS) -Wall -isysroot /Developer/SDKs/MacOSX10.4u.sdk -I$(MOTIFI) -I/usr/local/include
++# LDFLAGS+= $(LIBLNK) $(CLDFLAGS) -Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk -L$(MOTIFL) -L/usr/local/lib
+ 
+ # MKS Enterprise toolkit
+ # MOTIFI = -I/usr/include
+ # MOTIFL = -L/usr/lib
+ # CC = cc
+-# CLDFLAGS =
+-# CFLAGS = $(LIBINC) $(CLDFLAGS) -O -I$(MOTIFI)
+-# LDFLAGS = $(LIBLNK) $(CLDFLAGS) -L$(MOTIFL) -W/subsystem:windows -s
++# CLDFLAGS+=
++# CFLAGS+= $(LIBINC) $(CLDFLAGS) -O -I$(MOTIFI)
++# LDFLAGS+= $(LIBLNK) $(CLDFLAGS) -L$(MOTIFL) -W/subsystem:windows -s
+ # XLIBS = -lXm -lXt -lX11
+ # LIBS = $(XLIBS) $(LIBLIB) -lm
+ 
+@@ -68,9 +68,9 @@ LIBS = $(XLIBS) $(LIBLIB) -lm
+ # MOTIFI = -I/usr/include
+ # MOTIFL = -L/usr/lib
+ # CC = cc
+-# CLDFLAGS = 
+-# CFLAGS = $(LIBINC) $(CLDFLAGS) -O -I$(MOTIFI)
+-# LDFLAGS = $(LIBLNK) $(CLDFLAGS) -L$(MOTIFL) 
++# CLDFLAGS+= 
++# CFLAGS+= $(LIBINC) $(CLDFLAGS) -O -I$(MOTIFI)
++# LDFLAGS+= $(LIBLNK) $(CLDFLAGS) -L$(MOTIFL) 
+ # XLIBS = -lXm -lXt -lX11
+ # LIBS = $(XLIBS) $(LIBLIB) -lsocket -lnsl -lc -lm /usr/ucblib/libucb.a
+ # Note: if you get regex undefined, add -lgen to the end of LIBS.
+@@ -81,9 +81,9 @@ LIBS = $(XLIBS) $(LIBLIB) -lm
+ # MOTIFI = -I/usr/dt/include
+ # MOTIFL = -L/usr/dt/lib -R/usr/dt/lib
+ # CC = cc
+-# CLDFLAGS =
+-# CFLAGS = $(LIBINC) $(CLDFLAGS) -O -I$(MOTIFI) -I/usr/openwin/include
+-# LDFLAGS = $(LIBLNK) $(CLDFLAGS) -L$(MOTIFL) -L/usr/openwin/lib
++# CLDFLAGS+=
++# CFLAGS+= $(LIBINC) $(CLDFLAGS) -O -I$(MOTIFI) -I/usr/openwin/include
++# LDFLAGS+= $(LIBLNK) $(CLDFLAGS) -L$(MOTIFL) -L/usr/openwin/lib
+ # XLIBS = -lXm -lXt -lX11
+ # LIBS = $(XLIBS) $(LIBLIB) -lm -lsocket -lnsl
+ 
+@@ -91,17 +91,17 @@ LIBS = $(XLIBS) $(LIBLIB) -lm
+ # MOTIFI = -I/usr/include
+ # MOTIFL = -L/usr/lib
+ # CC = cc
+-# CLDFLAGS =
+-# CFLAGS = $(LIBINC) $(CLDFLAGS) -Aa -fast -I$(MOTIFI)
+-# LDFLAGS = $(LIBLNK) $(CLDFLAGS) -L$(MOTIFL)
++# CLDFLAGS+=
++# CFLAGS+= $(LIBINC) $(CLDFLAGS) -Aa -fast -I$(MOTIFI)
++# LDFLAGS+= $(LIBLNK) $(CLDFLAGS) -L$(MOTIFL)
+ 
+ # AIX
+ # MOTIFI = -I/usr/include
+ # MOTIFL = -L/usr/lib
+ # CC = xlc
+-# CLDFLAGS =
+-# CFLAGS = $(LIBINC) $(CLDFLAGS) -O2 -qlanglvl=ansi -qarch=com -qmaxmem=16384 -I$(MOTIFI)
+-# LDFLAGS = $(LIBLNK) $(CLDFLAGS) -L$(MOTIFL)
++# CLDFLAGS+=
++# CFLAGS+= $(LIBINC) $(CLDFLAGS) -qlanglvl=ansi -qarch=com -qmaxmem=16384 -I$(MOTIFI)
++# LDFLAGS+= $(LIBLNK) $(CLDFLAGS) -L$(MOTIFL)
+ 
+ .PRECIOUS:	xephem
+ 
+@@ -189,18 +189,18 @@ OBJS =			\
  all: libs xephem xephem.1
  
  xephem: $(INCS) $(OBJS)

Added: head/astro/xephem/files/patch-auxil_mpcorb2edb.pl
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/astro/xephem/files/patch-auxil_mpcorb2edb.pl	Sat Mar 23 23:22:06 2019	(r496694)
@@ -0,0 +1,11 @@
+--- auxil/mpcorb2edb.pl.orig	2014-07-11 02:46:35 UTC
++++ auxil/mpcorb2edb.pl
+@@ -78,7 +78,7 @@ EOF
+ # setup cutoff mag
+ my $dimmag = 13;			# dimmest mag to be saved in "bright" file
+ # set site and file in case of -f
+-my $MPCSITE = "http://www.minorplanetcenter.net";
++my $MPCSITE = "https://www.minorplanetcenter.net";
+ my $MPCFTPDIR = "/iau/MPCORB";
+ my $MPCFILE = "MPCORB.DAT";
+ my $MPCZIPFILE = "MPCORB.DAT.gz";

Added: head/astro/xephem/files/patch-earthmenu.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/astro/xephem/files/patch-earthmenu.c	Sat Mar 23 23:22:06 2019	(r496694)
@@ -0,0 +1,81 @@
+--- earthmenu.c.orig	2012-11-23 04:15:39 UTC
++++ earthmenu.c
+@@ -4886,8 +4886,11 @@ e_getwxgif()
+ 	int nrawgif;
+ 	char buf[1024];
+ 	int w, h;
++	XE_SSL_FD ssl_fd;
+ 	int fd;
+ 
++	memset(&ssl_fd, 0, sizeof(ssl_fd));
++
+ 	/* open test case, else real network */
+ 	fd = openh ("/tmp/latest_cmoll.gif", O_RDONLY);
+ 	if (fd >= 0) {
+@@ -4902,12 +4905,12 @@ e_getwxgif()
+ 	    stopd_up();
+ 
+ 	    /* make connection to server for the file */
+-	    xe_msg (0, "Getting\nhttp://%s%s", wxhost, wxfile);
+-	    (void) sprintf (buf, "GET http://%s%s HTTP/1.0\r\nUser-Agent: xephem/%s\r\n\r\n",
+-						wxhost, wxfile, PATCHLEVEL);
+-	    fd = httpGET (wxhost, buf, buf);
++	    xe_msg (0, "Getting\nhttps://%s%s", wxhost, wxfile);
++	    (void) sprintf (buf, "GET %s HTTP/1.1\r\nHost: %s\r\nConnection: close\r\nUser-Agent: xephem/%s\r\n\r\n",
++						wxfile, wxhost, PATCHLEVEL);
++	    fd = httpsGET (wxhost, buf, buf, &ssl_fd);
+ 	    if (fd < 0) {
+-		xe_msg (1, "http get:\n%s", buf);
++		xe_msg (1, "https get:\n%s", buf);
+ 		stopd_down();
+ 		return (-1);
+ 	    }
+@@ -4915,7 +4918,7 @@ e_getwxgif()
+ 	    /* read header, looking for some header info */
+ 	    isgif = 0;
+ 	    length = 0;
+-	    while (recvline (fd, buf, sizeof(buf)) > 1) {
++	    while (ssl_recvline (&ssl_fd, buf, sizeof(buf)) > 1) {
+ 		xe_msg (0, "Rcv: %s", buf);
+ 		if (strstr (buf, "image/gif"))
+ 		    isgif = 1;
+@@ -4923,9 +4926,10 @@ e_getwxgif()
+ 		    length = atoi (buf+15);
+ 	    }
+ 	    if (!isgif) {
+-		while (recvline (fd, buf, sizeof(buf)) > 1)
++		while (ssl_recvline (&ssl_fd, buf, sizeof(buf)) > 1)
+ 		    xe_msg (0, "Rcv: %s", buf);
+-		close (fd);
++		SSL_free (ssl_fd.ssl);
++		close (ssl_fd.fd);
+ 		stopd_down();
+ 		return (-1);
+ 	    }
+@@ -4936,12 +4940,13 @@ e_getwxgif()
+ 	    pm_up();
+ 	    for (nrawgif = 0; nrawgif < sizeof(rawgif); nrawgif += nr) {
+ 		pm_set (100*nrawgif/length);
+-		nr = readbytes (fd, rawgif+nrawgif, 4096);
++		nr = SSL_read (ssl_fd.ssl, rawgif+nrawgif, 4096);
+ 		if (nr < 0) {
+-		    xe_msg (1, "%s:\n%s", wxhost, syserrstr());
++		    xe_msg (1, "%s: ssl read error code: %d", wxhost, SSL_get_error(ssl_fd.ssl, nr));
+ 		    stopd_down();
+ 		    pm_down();
+-		    close (fd);
++		    SSL_free (ssl_fd.ssl);
++		    close (ssl_fd.fd);
+ 		    return (-1);
+ 		}
+ 		if (nr == 0)
+@@ -4949,7 +4954,8 @@ e_getwxgif()
+ 	    }
+ 	    stopd_down();
+ 	    pm_down();
+-	    close (fd);
++	    SSL_free (ssl_fd.ssl);
++	    close (ssl_fd.fd);
+ 	    if (nr > 0) {
+ 		xe_msg (1, "File too large");
+ 		return (-1);

Added: head/astro/xephem/files/patch-fallbacks.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/astro/xephem/files/patch-fallbacks.c	Sat Mar 23 23:22:06 2019	(r496694)
@@ -0,0 +1,17 @@
+--- fallbacks.c.orig	2015-04-09 00:20:19 UTC
++++ fallbacks.c
+@@ -747,10 +747,10 @@ String fallbacks[] = {
+     "XEphem*WebDB*URL1.value: http://celestrak.com/NORAD/elements/science.txt",
+     "XEphem*WebDB*URL2.value: http://celestrak.com/NORAD/elements/tle-new.txt",
+     "XEphem*WebDB*URL3.value: http://celestrak.com/NORAD/elements/amateur.txt",
+-    "XEphem*WebDB*URL4.value: http://www.minorplanetcenter.org/iau/Ephemerides/Comets/Soft03Cmt.txt",
+-    "XEphem*WebDB*URL5.value: http://www.minorplanetcenter.org/iau/Ephemerides/CritList/Soft03CritList.txt",
+-    "XEphem*WebDB*URL6.value: http://www.minorplanetcenter.org/iau/Ephemerides/Distant/Soft03Distant.txt",
+-    "XEphem*WebDB*URL7.value: http://www.minorplanetcenter.org/iau/Ephemerides/Unusual/Soft03Unusual.txt",
++    "XEphem*WebDB*URL4.value: https://www.minorplanetcenter.org/iau/Ephemerides/Comets/Soft03Cmt.txt",
++    "XEphem*WebDB*URL5.value: https://www.minorplanetcenter.org/iau/Ephemerides/CritList/Soft03CritList.txt",
++    "XEphem*WebDB*URL6.value: https://www.minorplanetcenter.org/iau/Ephemerides/Distant/Soft03Distant.txt",
++    "XEphem*WebDB*URL7.value: https://www.minorplanetcenter.org/iau/Ephemerides/Unusual/Soft03Unusual.txt",
+     "XEphem*WebDB.x: 200",
+     "XEphem*WebDB.y: 200",
+     "XEphem*WeekStart.Monday.set: False",

Added: head/astro/xephem/files/patch-net.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/astro/xephem/files/patch-net.h	Sat Mar 23 23:22:06 2019	(r496694)
@@ -0,0 +1,30 @@
+--- net.h.orig	2005-03-20 11:04:50 UTC
++++ net.h
+@@ -20,6 +20,13 @@
+ #include <sys/select.h>
+ #endif
+ 
++#include <openssl/ssl.h>
++
++typedef struct {
++	int fd;		//file desciptor for the underlying connection socket
++	SSL *ssl;	//ssl connection for use with SSL_read( )and SSL_write()
++} XE_SSL_FD;
++
+ /* support functions */
+ 
+ extern int httpGET (char *host, char *GETcmd, char msg[]);
+@@ -29,8 +36,11 @@ extern int readbytes (int fd, unsigned char buf[], int
+ extern int recvline (int fd, char buf[], int max);
+ extern int recvlineb (int sock, char *buf, int size);
+ extern int sendbytes (int fd, unsigned char buf[], int n);
+-
+-
++extern int httpsGET (char *host, char *GETcmd, char msg[], XE_SSL_FD *ssl_fd);
++extern int ssl_recvbytes (XE_SSL_FD *ssl_fd, unsigned char buf[], int n);
++extern int ssl_readbytes (XE_SSL_FD *ssl_fd, unsigned char buf[], int n);
++extern int ssl_recvline (XE_SSL_FD *ssl_fd, char buf[], int max);
++extern int ssl_recvlineb (XE_SSL_FD *ssl_fd, char *buf, int size);
+ 
+ /* For RCS Only -- Do Not Edit
+  * @(#) $RCSfile: net.h,v $ $Date: 2003/03/17 07:26:21 $ $Revision: 1.3 $ $Name:  $

Added: head/astro/xephem/files/patch-sunmenu.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/astro/xephem/files/patch-sunmenu.c	Sat Mar 23 23:22:06 2019	(r496694)
@@ -0,0 +1,87 @@
+--- sunmenu.c.orig	2012-04-01 22:38:50 UTC
++++ sunmenu.c
+@@ -884,9 +884,11 @@ readSOHOImage()
+ 	int isjpeg, jpegl;
+ 	int njpeg;
+ 	unsigned char *jpeg;
++	XE_SSL_FD ssl_fd;
+ 	int fd, nr;
+ 	struct tm tm;
+ 
++	memset(&ssl_fd, 0, sizeof(ssl_fd));
+ 	memset(&tm, 0, sizeof(struct tm));
+ 
+ 	/* get desired type and size */
+@@ -899,18 +901,18 @@ readSOHOImage()
+ 
+ 	/* build GET command */
+ 	sprintf (get, "GET http://%s%s HTTP/1.0\r\nUser-Agent: xephem/%s\r\n\r\n", sohohost, fn, PATCHLEVEL);
+-
++	
+ 	/* query server */
+-	fd = httpGET (sohohost, get, buf);
++	fd = httpsGET (sohohost, get, buf, &ssl_fd);
+ 	if (fd < 0) {
+-	    xe_msg (1, "http get: %s", buf);
++	    xe_msg (1, "https get: %s", buf);
+ 	    return (-1);
+ 	}
+ 
+ 	/* read header (everything to first blank line), looking for jpeg */
+ 	isjpeg = 0;
+ 	jpegl = 0;
+-	while (recvline (fd, buf, sizeof(buf)) > 1) {
++	while (ssl_recvline (&ssl_fd, buf, sizeof(buf)) > 1) {
+ 	    xe_msg (0, "Rcv: %s", buf);
+ 	    if (strstr (buf, "Content-Type:") && strstr (buf, "image/jpeg"))
+ 		isjpeg = 1;
+@@ -923,15 +925,17 @@ readSOHOImage()
+ 	    }
+ 	}
+ 	if (!isjpeg) {
+-	    while (recvline (fd, buf, sizeof(buf)) > 0)
++	    while (ssl_recvline (&ssl_fd, buf, sizeof(buf)) > 0)
+ 		xe_msg (0, "Rcv: %s", buf);
+ 	    xe_msg (1, "Error talking to SOHO .. see File->System log\n");
+-	    close (fd);
++	    SSL_free (ssl_fd.ssl);
++	    close (ssl_fd.fd);
+ 	    return (-1);
+ 	}
+ 	if (jpegl == 0) {
+ 	    xe_msg (1, "No Content-Length in header");
+-	    close (fd);
++	    SSL_free (ssl_fd.ssl);
++	    close (ssl_fd.fd);
+ 	    return (-1);
+ 	}
+ 
+@@ -941,20 +945,22 @@ readSOHOImage()
+ 	for (njpeg = 0; njpeg < jpegl; njpeg += nr) {
+ 	    pm_set (100*njpeg/jpegl);
+ 	    jpeg = (unsigned char *) XtRealloc ((char*)jpeg, njpeg+NSREAD);
+-	    nr = readbytes (fd, jpeg+njpeg, NSREAD);
+-	    if (nr < 0) {
+-		xe_msg (1, "%s:\n%s", sohohost, syserrstr());
++	    nr = SSL_read (ssl_fd.ssl, jpeg+njpeg, NSREAD);
++	    if (nr <= 0) {
++		xe_msg (1, "%s: ssl read error code: %d", sohohost, SSL_get_error(ssl_fd.ssl, nr));
+ 		pm_down();
+-		close (fd);
++		SSL_free (ssl_fd.ssl);
++		close (ssl_fd.fd);
+ 		return (-1);
+ 	    }
+ 	    if (nr == 0)
+ 		break;
+ 	}
+ 	pm_down();
+-	close (fd);
++	SSL_free (ssl_fd.ssl);
++	close (ssl_fd.fd);
+ 
+-        sprintf (fn, "/%s_%s.jpg", filetime, filetype);
++	sprintf (fn, "/%s_%s.jpg", filetime, filetype);
+ 	/* display jpeg */
+ 	if (displayPic (fn, jpeg, njpeg) < 0)
+ 	    return (-1);

Added: head/astro/xephem/files/patch-usno.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/astro/xephem/files/patch-usno.c	Sat Mar 23 23:22:06 2019	(r496694)
@@ -0,0 +1,49 @@
+--- usno.c.orig	2005-03-20 11:04:51 UTC
++++ usno.c
+@@ -14,8 +14,8 @@
+ #define	CATBPR	12	/* bytes per star record in .cat file */
+ #define	ACCBPR	30	/* bytes per record in .acc file */
+ 
+-typedef unsigned int UI;
+-typedef unsigned char UC;
++typedef unsigned int XE_UI;
++typedef unsigned char XE_UC;
+ 
+ /* One Field star */
+ typedef struct {
+@@ -36,7 +36,7 @@ static int corner (double r0, double d0, double rov, i
+     double lr[2], int *nd, double fd[2], double ld[2], int zone[2], char msg[]);
+ static int fetchSwath (int zone, double maxmag, double fr, double lr,
+     double fd, double ld, StarArray *sap, char msg[]);
+-static int crackCatBuf (UC buf[CATBPR], FieldStar *fsp);
++static int crackCatBuf (XE_UC buf[CATBPR], FieldStar *fsp);
+ static int addGS (StarArray *sap, FieldStar *fsp);
+ 
+ static char *cdpath;		/* where CD rom is mounted */
+@@ -236,7 +236,7 @@ double ld, StarArray *sap, char msg[])
+ {
+ 	char fn[1024];
+ 	char buf[ACCBPR];
+-	UC catbuf[CATBPR];
++	XE_UC catbuf[CATBPR];
+ 	FieldStar fs;
+ 	long frec;
+ 	long os;
+@@ -314,13 +314,13 @@ double ld, StarArray *sap, char msg[])
+  * return 0 if ok, else -1.
+  */
+ static int
+-crackCatBuf (UC buf[CATBPR], FieldStar *fsp)
++crackCatBuf (XE_UC buf[CATBPR], FieldStar *fsp)
+ {
+-#define	BEUPACK(b) (((UI)((b)[0])<<24) | ((UI)((b)[1])<<16) | ((UI)((b)[2])<<8)\
+-							    | ((UI)((b)[3])))
++#define	BEUPACK(b) (((XE_UI)((b)[0])<<24) | ((XE_UI)((b)[1])<<16) | ((XE_UI)((b)[2])<<8)\
++							    | ((XE_UI)((b)[3])))
+ 	double ra, dec;
+ 	int red, blu;
+-	UI mag;
++	XE_UI mag;
+ 
+ 	/* first 4 bytes are packed RA, big-endian */
+ 	ra = BEUPACK(buf)/(100.0*3600.0*15.0);

Added: head/astro/xephem/files/patch-webdbmenu.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/astro/xephem/files/patch-webdbmenu.c	Sat Mar 23 23:22:06 2019	(r496694)
@@ -0,0 +1,104 @@
+--- webdbmenu.c.orig	2012-11-23 05:22:09 UTC
++++ webdbmenu.c
+@@ -404,6 +404,10 @@ getURL (url)
+ char *url;
+ {
+ 	static char http[] = "http://";
++	static char https[] = "https://";
++	char *transport = http;
++	int ltransport = strlen (transport);
++	int ishttp = 0;
+ 	char buf[512], msg[1024];
+ 	char l0[512], l1[512], l2[512];
+ 	char *l0p = l0, *l1p = l1, *l2p = l2;
+@@ -411,21 +415,31 @@ char *url;
+ 	char *slash, *dot;
+ 	char filename[256];
+ 	FILE *fp;
++	XE_SSL_FD ssl_fd;
+ 	int sockfd;
+ 	int nfound;
+ 
++	memset(&ssl_fd, 0, sizeof(ssl_fd));
++
+ 	/* start */
+ 	watch_cursor(1);
+ 	l0[0] = l1[0] = l2[0] = '\0';
+ 
+ 	/* find transport and host */
+-	if (strncmp (url, http, 7)) {
+-	    xe_msg (1, "URL must begin with %s", http);
++	if (!strncmp (url, transport, ltransport)) {
++	    ishttp = 1;
++	} else {
++	    transport = https;
++	    ltransport = strlen (transport);
++	}
++
++	if ((!ishttp) && (strncmp (url, transport, ltransport))) {
++	    xe_msg (1, "URL must begin with %s or %s", http, https);
+ 	    watch_cursor (0);
+ 	    return;
+ 	}
+ 
+-	slash = strchr (url+7, '/');
++	slash = strchr (url+ltransport, '/');
+ 	dot = strrchr (url, '.');
+ 	if (!slash || !dot) {
+ 	    xe_msg (1, "Badly formed URL");
+@@ -434,11 +448,16 @@ char *url;
+ 	}
+ 
+ 	/* connect to check url */
+-	sprintf (host, "%.*s", (int)(slash-url-7), url+7);
++	sprintf (host, "%.*s", (int)(slash-url-ltransport), url+ltransport);
+ 	sprintf (buf, "GET %s HTTP/1.1\r\nHost: %s\r\nConnection: close\r\nUser-Agent: xephem/%s\r\n\r\n",
+ 						url, host, PATCHLEVEL);
+ 	stopd_up();
+-	sockfd = httpGET (host, buf, msg);
++	if (ishttp) {
++	    sockfd = httpGET (host, buf, msg);
++	    ssl_fd.fd = sockfd;
++	} else {
++	    sockfd = httpsGET (host, buf, msg, &ssl_fd);
++	}
+ 	if (sockfd < 0) {
+ 	    xe_msg (1, "http GET to %s failed: %s%s\n", host, buf, msg);
+ 	    stopd_down();
+@@ -447,20 +466,22 @@ char *url;
+ 	}
+ 
+ 	/* create local file */
+-	slash = strrchr (url+7, '/');
++	slash = strrchr (url+ltransport, '/');
+ 	sprintf (filename, "%s/%.*sedb", getPrivateDir(), (int)(dot-slash), slash+1);
+ 	fp = fopen (filename, "w");
+ 	if (!fp) {
+ 	    xe_msg (1, "%s:\n%s", filename, syserrstr());
+ 	    watch_cursor (0);
+-	    close (sockfd);
++	    if (!ishttp)
++		SSL_free (ssl_fd.ssl);
++	    close (ssl_fd.fd);
+ 	    return;
+ 	}
+ 
+ 	/* copy to file, insuring only .edb lines.
+ 	 */
+ 	nfound = 0;
+-	while (recvlineb (sockfd, l2p, sizeof(l2)) > 0) {
++	while (ssl_recvlineb (&ssl_fd, l2p, sizeof(l2)) > 0) {
+ 	    char *lrot;
+ 	    Obj o;
+ 
+@@ -484,7 +505,9 @@ char *url;
+ 
+ 	/* tidy up and done */
+ 	fclose (fp);
+-	close (sockfd);
++	if (!ishttp)
++	    SSL_free (ssl_fd.ssl);
++	close (ssl_fd.fd);
+ 	if (!nfound) {
+ 	    xe_msg (1, "No objects in file");
+ 	    remove (filename);

Added: head/astro/xephem/files/patch-xephem.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/astro/xephem/files/patch-xephem.h	Sat Mar 23 23:22:06 2019	(r496694)
@@ -0,0 +1,16 @@
+--- xephem.h.orig	2012-12-30 17:01:12 UTC
++++ xephem.h
+@@ -12,12 +12,12 @@
+ 
+ #include <stdarg.h>		/* be kind to those who don't use xe_msg() */
+ 
++#include "net.h"		/* has to be included before astro.h because of openssl */
+ #include "astro.h"
+ #include "ip.h"
+ 
+ /* local glue files */
+ #include "map.h"
+-#include "net.h"
+ #include "patchlevel.h"
+ #include "preferences.h"
+ #include "db.h"

Modified: head/astro/xephem/pkg-plist
==============================================================================
--- head/astro/xephem/pkg-plist	Sat Mar 23 23:12:14 2019	(r496693)
+++ head/astro/xephem/pkg-plist	Sat Mar 23 23:22:06 2019	(r496694)
@@ -5,7 +5,7 @@ lib/X11/xephem/auxil/README
 lib/X11/xephem/auxil/SOHO_512_20090703_1900_eit_171.gif
 lib/X11/xephem/auxil/analemma.plt
 lib/X11/xephem/auxil/annotation.ano
-lib/X11/xephem/auxil/astorb2edb.pl
+@(,,0755) lib/X11/xephem/auxil/astorb2edb.pl
 lib/X11/xephem/auxil/classicfigs.csf
 lib/X11/xephem/auxil/dearth.gif
 lib/X11/xephem/auxil/favorites.fav
@@ -18,7 +18,7 @@ lib/X11/xephem/auxil/mars.9910
 lib/X11/xephem/auxil/mars_db
 lib/X11/xephem/auxil/marsmap.jpg
 lib/X11/xephem/auxil/moon.fts
-lib/X11/xephem/auxil/mpcorb2edb.pl
+@(,,0755) lib/X11/xephem/auxil/mpcorb2edb.pl
 lib/X11/xephem/auxil/nearth.gif
 lib/X11/xephem/auxil/sample.hzn
 lib/X11/xephem/auxil/saturn00.gif



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201903232322.x2NNM7Rb099302>