diff options
author | Wen Heping <wen@FreeBSD.org> | 2022-05-03 06:41:18 +0000 |
---|---|---|
committer | Wen Heping <wen@FreeBSD.org> | 2022-05-03 06:41:18 +0000 |
commit | e460db34a36210b10f36003afd0c47f58fb461e9 (patch) | |
tree | 0cc0100a49bcbdd6edb1c52ec6fb69eee0132a03 | |
parent | www/chromium: update to 101.0.4951.54 (diff) |
astro/xephem: Update to 4.1.0
Update LICENSE
-rw-r--r-- | astro/xephem/Makefile | 33 | ||||
-rw-r--r-- | astro/xephem/distinfo | 6 | ||||
-rw-r--r-- | astro/xephem/files/patch-Makefile | 109 | ||||
-rw-r--r-- | astro/xephem/files/patch-auxil_mpcorb2edb.pl | 20 | ||||
-rw-r--r-- | astro/xephem/files/patch-earthmenu.c | 81 | ||||
-rw-r--r-- | astro/xephem/files/patch-fallbacks.c | 17 | ||||
-rw-r--r-- | astro/xephem/files/patch-net.h | 30 | ||||
-rw-r--r-- | astro/xephem/files/patch-netmenu.c | 273 | ||||
-rw-r--r-- | astro/xephem/files/patch-sunmenu.c | 87 | ||||
-rw-r--r-- | astro/xephem/files/patch-ucac.c | 63 | ||||
-rw-r--r-- | astro/xephem/files/patch-usno.c | 49 | ||||
-rw-r--r-- | astro/xephem/files/patch-webdbmenu.c | 104 | ||||
-rw-r--r-- | astro/xephem/files/patch-xephem.h | 16 | ||||
-rw-r--r-- | astro/xephem/pkg-plist | 6 |
14 files changed, 27 insertions, 867 deletions
diff --git a/astro/xephem/Makefile b/astro/xephem/Makefile index e9a42bdb0a63..9c11ac47b21e 100644 --- a/astro/xephem/Makefile +++ b/astro/xephem/Makefile @@ -1,19 +1,14 @@ # Created by: erich@FreeBSD.org PORTNAME= xephem -PORTVERSION= 3.7.7 -PORTREVISION= 5 +PORTVERSION= 4.1.0 CATEGORIES= astro -MASTER_SITES= http://www.clearskyinstitute.com/xephem/ MAINTAINER= ports@FreeBSD.org COMMENT= Interactive astronomical ephemeris program -# Converted from RESTRICTED -LICENSE= XEPHEM -LICENSE_NAME= Xephem -LICENSE_TEXT= Personal use only -LICENSE_PERMS= auto-accept +LICENSE= MIT +LICENSE_FILE= ${WRKDIR}/XEphem-${PORTVERSION}/LICENSE LIB_DEPENDS= libpng.so:graphics/png \ libfontconfig.so:x11-fonts/fontconfig @@ -21,24 +16,14 @@ LIB_DEPENDS= libpng.so:graphics/png \ USES= gmake groff jpeg motif tar:tgz ssl xorg USE_XORG= xt xext xmu x11 xft -LDFLAGS+= -lfontconfig - -MAKE_JOBS_UNSAFE= yes +USE_GITHUB= yes +GH_PROJECT= XEphem -WRKSRC= ${WRKDIR}/${DISTNAME}/GUI/xephem - -# XXX needs to be the same as DISTFILES -XEPHEMSRC= ${PORTNAME}-${PORTVERSION}.tgz +LDFLAGS+= -lfontconfig -.include <bsd.port.pre.mk> +WRKSRC_SUBDIR= GUI/xephem -.for file in ${XEPHEMSRC} -.if !exists(${DISTDIR}/${file}) -IGNORE= because of licensing restrictions, you must manually fetch ${file}\ - from http://www.clearskyinstitute.com/xephem/,\ - place it in ${DISTDIR} and then run make again -.endif -.endfor +MAKE_JOBS_UNSAFE= yes post-patch: @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' \ @@ -67,4 +52,4 @@ do-install: "auxil catalogs fifos fits gallery help lo" \ ${STAGEDIR}${PREFIX}/lib/X11/xephem -.include <bsd.port.post.mk> +.include <bsd.port.mk> diff --git a/astro/xephem/distinfo b/astro/xephem/distinfo index 3e0f0f3137ba..564ce9ab3969 100644 --- a/astro/xephem/distinfo +++ b/astro/xephem/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1495658161 -SHA256 (xephem-3.7.7.tgz) = fb0b889218322c1cc0b994da7125e624e4f0112d9da1c468936600d1179e55de -SIZE (xephem-3.7.7.tgz) = 18128521 +TIMESTAMP = 1651558430 +SHA256 (xephem-XEphem-4.1.0_GH0.tar.gz) = 8ab3670e303bdf209a673d5e091d1cd6e4577a0574da26a3c3d6629825f98241 +SIZE (xephem-XEphem-4.1.0_GH0.tar.gz) = 17213750 diff --git a/astro/xephem/files/patch-Makefile b/astro/xephem/files/patch-Makefile index c6fdbc9b4e40..494f2fba75e6 100644 --- a/astro/xephem/files/patch-Makefile +++ b/astro/xephem/files/patch-Makefile @@ -1,15 +1,15 @@ ---- Makefile.orig 2015-08-09 21:36:50 UTC +--- Makefile.orig 2022-05-03 02:30:02 UTC +++ Makefile -@@ -23,44 +23,44 @@ MOTIFI = $(MOTIF) +@@ -22,18 +22,18 @@ MOTIFI = $(MOTIF) MOTIFL = $(MOTIF) endif ifndef MOTIFI -MOTIFI = /usr/include -+MOTIFI = /usr/local/include ++MOTIFI = %%LOCALBASE%%/include endif ifndef MOTIFL -MOTIFL = /usr/lib -+MOTIFL = %%/LOCALBASE%%/lib ++MOTIFL = %%LOCALBASE%%/lib endif # for linux and Apple OS X @@ -17,103 +17,16 @@ -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 --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 -lXt -lXext -lXmu -lX11 ++CC? = cc ++CLDFLAGS += -g ++CFLAGS += $(LIBINC) $(CLDFLAGS) -O2 -Wall -I$(MOTIFI) -I%%LOCALBASE%%/include ++LDFLAGS += $(LIBLNK) $(CLDFLAGS) -L$(MOTIFL) -L%%LOCALBASE%%/lib +XLIBS = -lXm -lXt -lXext -lXmu -lX11 -lXft -+LIBS = $(XLIBS) $(LIBLIB) -lm -lssl + LIBS = $(XLIBS) $(LIBLIB) -lm -lssl # static linking on Apple using X11 libs from ports --# 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 = \ +@@ -188,18 +188,18 @@ OBJS = \ all: libs xephem xephem.1 xephem: $(INCS) $(OBJS) diff --git a/astro/xephem/files/patch-auxil_mpcorb2edb.pl b/astro/xephem/files/patch-auxil_mpcorb2edb.pl deleted file mode 100644 index f131d5cb2275..000000000000 --- a/astro/xephem/files/patch-auxil_mpcorb2edb.pl +++ /dev/null @@ -1,20 +0,0 @@ ---- 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"; -@@ -247,7 +247,7 @@ sub fetch - { - # transfer - print "Getting $MPCFTPDIR/$MPCZIPFILE from $MPCSITE...\n"; -- $cmd = "curl -connect-timeout 10 -s -u 'anonymous:xephem\@clearskyinstitute.com' $MPCSITE/$MPCFTPDIR/$MPCZIPFILE > $MPCZIPFILE"; -+ $cmd = "curl --connect-timeout 10 -s -u 'anonymous:xephem\@clearskyinstitute.com' $MPCSITE/$MPCFTPDIR/$MPCZIPFILE > $MPCZIPFILE"; - print "$cmd\n"; - !system "$cmd" or exit(1); - diff --git a/astro/xephem/files/patch-earthmenu.c b/astro/xephem/files/patch-earthmenu.c deleted file mode 100644 index a7ed20bbb5ad..000000000000 --- a/astro/xephem/files/patch-earthmenu.c +++ /dev/null @@ -1,81 +0,0 @@ ---- 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); diff --git a/astro/xephem/files/patch-fallbacks.c b/astro/xephem/files/patch-fallbacks.c deleted file mode 100644 index 8a00641d2090..000000000000 --- a/astro/xephem/files/patch-fallbacks.c +++ /dev/null @@ -1,17 +0,0 @@ ---- 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", diff --git a/astro/xephem/files/patch-net.h b/astro/xephem/files/patch-net.h deleted file mode 100644 index 17a8e6e2c8a8..000000000000 --- a/astro/xephem/files/patch-net.h +++ /dev/null @@ -1,30 +0,0 @@ ---- 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: $ diff --git a/astro/xephem/files/patch-netmenu.c b/astro/xephem/files/patch-netmenu.c deleted file mode 100644 index 6ef0ab17687b..000000000000 --- a/astro/xephem/files/patch-netmenu.c +++ /dev/null @@ -1,273 +0,0 @@ ---- netmenu.c.orig 2010-10-06 21:12:40 UTC -+++ netmenu.c -@@ -9,6 +9,8 @@ - #include <string.h> - #include <unistd.h> - -+#include <openssl/ssl.h> -+ - #include <Xm/Form.h> - #include <Xm/Label.h> - #include <Xm/PushB.h> -@@ -70,12 +72,24 @@ static int rb_unk; /* index of first unknown char */ - - static char netcategory[] = "Network"; /* Save category */ - -+static SSL_METHOD *ssl_method; /* global ssl dispatch structure for creating a ssl context */ -+static SSL_CTX *ssl_ctx; /* global ssl context structure for creating ssl connections */ -+ - /* call to set up without actually bringing up the menus. - */ - void - net_create() - { - if (!netshell_w) { -+ if (SSL_library_init() < 0) { -+ fprintf (stderr, "Could not initialize the OpenSSL library !\n"); -+ } else { -+ ssl_method = SSLv23_client_method(); /* deprecated since openssl 1.1.x */ -+// ssl_method = TLS_client_method(); /* since openssl 1.1.x */ -+ ssl_ctx = SSL_CTX_new (ssl_method); -+ SSL_CTX_set_options (ssl_ctx, SSL_OP_NO_SSLv2); -+ }; -+ - net_create_form(); - (void) net_save(); /* confirming here is just annoying */ - } -@@ -251,8 +265,8 @@ char msg[]) /* return diagnostic message here, if retu - struct { - unsigned char VN; /* version number */ - unsigned char CD; /* command code */ -- unsigned short DSTPORT; /* destination port */ -- unsigned long DSTIP; /* destination IP addres */ -+ uint16_t DSTPORT; /* destination port */ -+ uint32_t DSTIP; /* destination IP address */ - } SocksPacket; - - struct hostent *hs = gethostbyname (socks_host); -@@ -390,7 +404,7 @@ readbytes (int fd, unsigned char buf[], int n) - - /* read up to and including the next '\n' from socket fd into buf[max]. - * we silently ignore all '\r'. we add a trailing '\0'. -- * return line lenth (not counting \0) if all ok, else -1. -+ * return line length (not counting \0) if all ok, else -1. - * N.B. this never reads ahead -- if that's ok, recvlineb() is better - */ - int -@@ -442,6 +456,216 @@ recvlineb (int sock, char *buf, int size) - break; - } - nr = read (sock, rb_linebuf, sizeof(rb_linebuf)); -+ if (nr <= 0) { -+ ok = nr; -+ rb_next = 0; -+ rb_unk = 0; -+ break; -+ } -+ rb_next = 0; -+ rb_unk = nr; -+ } -+ -+ if ((c = rb_linebuf[rb_next++]) != '\r') -+ *buf++ = c; -+ -+ } while (buf-origbuf < size && c != '\n'); -+ -+ /* always give back a real line regardless, else status */ -+ if (ok > 0) { -+ *buf = '\0'; -+ ok = buf - origbuf; -+ } -+ -+ return (ok); -+} -+ -+/* open the host, do the given GET cmd, and return a socket fd for the result. -+ * on success it fills the XE_SSL_FD structure for later use by SSL_read() and necessary cleanup. -+ * return -1 and with excuse in msg[], else 0 if ok. -+ * N.B. can be called before we are created if net set in app defaults. -+ */ -+int -+httpsGET (char *host, char *GETcmd, char msg[], XE_SSL_FD *ssl_fd) -+{ -+ char buf[2048]; -+ int fd; -+ int connected; -+ SSL *ssl; -+ int n; -+ int ret; -+ int httpsport = 443; -+ -+ /* open connection */ -+ if (proxy_on) { -+ fd = mkconnection (proxy_host, proxy_port, msg); -+ if (fd < 0) -+ return (-1); -+ -+ /* fill buf with CONNECT */ -+ (void) sprintf (buf, "CONNECT %1$s:%2$d HTTP/1.0\r\nUser-Agent: xephem/%3$s\r\nHost: %1$s:%2$d\r\n\r\n", host, httpsport, PATCHLEVEL); -+ -+ /* add proxy auth if enabled */ -+ if (!auth_w) -+ net_create_form(); -+ if (XmToggleButtonGetState (auth_w)) -+ addAuth(buf); -+ -+ /* log it */ -+ xe_msg (0, "https proxy connect: %s", buf); -+ -+ /* send it */ -+ n = strlen (buf); -+ if (sendbytes(fd, (unsigned char *)buf, n) < 0) { -+ (void) sprintf (msg, "%s: send error: %s", proxy_host, syserrstr()); -+ (void) close (fd); -+ return (-1); -+ } -+ -+ connected = 0; -+ while (recvline (fd, buf, sizeof(buf)) > 1) { -+ xe_msg (0, "Rcv: %s", buf); -+ if (strstr (buf, "200 ")) -+ connected = 1; -+ } -+ if (!connected) { -+ (void) sprintf (msg, "%s: connect error: %s", proxy_host, syserrstr()); -+ (void) close (fd); -+ return (-1); -+ } -+ } else { -+ /* SOCKS or direct are both handled by mkconnection() */ -+ fd = mkconnection (host, httpsport, msg); -+ if (fd < 0) -+ return (-1); -+ } -+ -+ /* fill buf with GETcmd */ -+ (void) sprintf (buf, "%s", GETcmd); -+ -+ /* start ssl connection */ -+ ssl = SSL_new (ssl_ctx); -+ SSL_set_fd (ssl, fd); -+ SSL_connect (ssl); -+ -+ /* log it */ -+ xe_msg (0, "https: %s", buf); -+ -+ /* send it */ -+ n = strlen (buf); -+ ret = SSL_write (ssl, (unsigned char *)buf, n); -+ if (ret <= 0) { -+ (void) sprintf (msg, "%s: ssl send error code: %d", host, SSL_get_error (ssl, ret)); -+ (void) SSL_free (ssl); -+ (void) close (fd); -+ return (-1); -+ } -+ -+ /* caller can read response */ -+ ssl_fd->fd = fd; -+ ssl_fd->ssl = ssl; -+ return (fd); -+} -+ -+/* receive exactly n bytes from ssl connection ssl_fd into buf. -+ * return -1, 0 or n. -+ * N.B. with fallback to ordinary read from socket if ssl_fd->ssl is NULL -+ */ -+int -+ssl_recvbytes (XE_SSL_FD *ssl_fd, unsigned char buf[], int n) -+{ -+ int ns, tot; -+ -+ for (tot = 0; tot < n; tot += ns) { -+ if (tout (TOUT, ssl_fd->fd, 0) < 0) -+ return (-1); -+ if (ssl_fd->ssl) -+ ns = SSL_read (ssl_fd->ssl, (void *)(buf+tot), n-tot); -+ else -+ ns = read (ssl_fd->fd, (void *)(buf+tot), n-tot); -+ if (ns <= 0) -+ return (ns); -+ } -+ return (n); -+} -+ -+/* like read(2) except we time out and allow user to cancel. -+ * receive up to n bytes from ssl connection ssl_fd into buf. -+ * return count, or 0 on eof or -1 on error. -+ * N.B. with fallback to ordinary read from socket if ssl_fd->ssl is NULL -+ */ -+int -+ssl_readbytes (XE_SSL_FD *ssl_fd, unsigned char buf[], int n) -+{ -+ int ns; -+ -+ if (tout (TOUT, ssl_fd->fd, 0) < 0) -+ return (-1); -+ if (ssl_fd->ssl) -+ ns = SSL_read (ssl_fd->ssl, (void *)buf, n); -+ else -+ ns = read (ssl_fd->fd, (void *)buf, n); -+ return (ns); -+} -+ -+/* read up to and including the next '\n' from ssl into buf[max]. -+ * we silently ignore all '\r'. we add a trailing '\0'. -+ * return line length (not counting \0) if all ok, else -1. -+ * N.B. with fallback to ordinary read from socket if ssl_fd->ssl is NULL -+ */ -+int -+ssl_recvline (XE_SSL_FD *ssl_fd, char buf[], int max) -+{ -+ unsigned char c; -+ int n; -+ -+ max--; /* leave room for trailing \0 */ -+ -+ for (n = 0; n < max && ssl_recvbytes (ssl_fd, &c, 1) == 1; ) { -+ if (c != '\r') { -+ buf[n++] = c; -+ if (c == '\n') { -+ buf[n] = '\0'; -+ return (n); -+ } -+ } -+ } -+ -+ return (-1); -+} -+ -+/* rather like ssl_recvline but reads ahead in big chunk for efficiency. -+ * return length if read a line ok, 0 if hit eof, -1 if error. -+ * N.B. we silently swallow all '\r'. -+ * N.B. we read ahead and can hide bytes after each call. -+ * N.B. with fallback to ordinary read from socket if ssl_fd->ssl is NULL -+ */ -+int -+ssl_recvlineb (XE_SSL_FD *ssl_fd, char *buf, int size) -+{ -+ char *origbuf = buf; /* save to prevent overfilling buf */ -+ char c = '\0'; -+ int ok = 1; -+ -+ /* always leave room for trailing \n */ -+ size -= 1; -+ -+ /* read and copy linebuf[next] to buf until buf fills or copied a \n */ -+ do { -+ -+ if (rb_next >= rb_unk) { -+ /* linebuf is empty -- refill */ -+ -+ int nr; -+ -+ if (tout (TOUT, ssl_fd->fd, 0) < 0) { -+ nr = -1; -+ break; -+ } -+ if (ssl_fd->ssl) -+ nr = SSL_read (ssl_fd->ssl, rb_linebuf, sizeof(rb_linebuf)); -+ else -+ nr = read (ssl_fd->fd, rb_linebuf, sizeof(rb_linebuf)); - if (nr <= 0) { - ok = nr; - rb_next = 0; diff --git a/astro/xephem/files/patch-sunmenu.c b/astro/xephem/files/patch-sunmenu.c deleted file mode 100644 index 6f028907bd80..000000000000 --- a/astro/xephem/files/patch-sunmenu.c +++ /dev/null @@ -1,87 +0,0 @@ ---- 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); diff --git a/astro/xephem/files/patch-ucac.c b/astro/xephem/files/patch-ucac.c deleted file mode 100644 index 1b9a7f2e4f02..000000000000 --- a/astro/xephem/files/patch-ucac.c +++ /dev/null @@ -1,63 +0,0 @@ ---- ucac.c.orig 2013-03-02 02:41:37 UTC -+++ ucac.c -@@ -18,15 +18,15 @@ - - #define MAXFOV 15.0 /* max fov, degs */ - --typedef unsigned char UC; /* byte */ --typedef unsigned int UI; /* unsigned integer */ -+typedef unsigned char XE_UC; /* byte */ -+typedef unsigned int XE_UI; /* unsigned integer */ - - /* access an I*2 or I*4 at offset i in UC array a in little-endian byte order. - * a bit slow but ultra portable. - */ --#define I2(a,i) ((int)(short)((((UI)(a)[i]) | (((UI)(a)[i+1])<<8)))) --#define I4(a,i) ((int)((((UI)(a)[i]) | (((UI)(a)[i+1])<<8) | \ -- (((UI)(a)[i+2])<<16) | (((UI)(a)[i+3])<<24)))) -+#define I2(a,i) ((int)(short)((((XE_UI)(a)[i]) | (((XE_UI)(a)[i+1])<<8)))) -+#define I4(a,i) ((int)((((XE_UI)(a)[i]) | (((XE_UI)(a)[i+1])<<8) | \ -+ (((XE_UI)(a)[i+2])<<16) | (((XE_UI)(a)[i+3])<<24)))) - - /* keep track of an array of ObjF */ - typedef struct { -@@ -48,9 +48,9 @@ typedef struct { - - #define DPMAS (1.0/3600000.0) /* degrees per milliarcsecond */ - --typedef UC U2Star[44]; /* UCAC2 record */ --typedef UC U3Star[84]; /* UCAC3 record */ --typedef UC U4Star[78]; /* UCAC4 record */ -+typedef XE_UC U2Star[44]; /* UCAC2 record */ -+typedef XE_UC U3Star[84]; /* UCAC3 record */ -+typedef XE_UC U4Star[78]; /* UCAC4 record */ - static char *basedir; /* full dir with zone files and index */ - static FILE *indexfp; /* index file handle */ - -@@ -293,7 +293,7 @@ static int - read4Index (int rz, int dz, int *nskip, int *nnew) - { - off_t offset; -- UC i4[4]; -+ XE_UC i4[4]; - - offset = (rz*NZH4 + dz)*sizeof(i4); - if (fseek (indexfp, offset, SEEK_SET) < 0) { -@@ -508,7 +508,7 @@ static int - read3Index (int rz, int dz, int *nskip, int *nnew) - { - off_t offset; -- UC i4[4]; -+ XE_UC i4[4]; - - offset = (rz*NZH + dz)*sizeof(i4); - if (fseek (indexfp, offset, SEEK_SET) < 0) { -@@ -663,7 +663,7 @@ static int - get2N (int rz, int dz, int *idp) - { - off_t offset; -- UC nat[4]; -+ XE_UC nat[4]; - - offset = (dz*NZW + rz)*sizeof(nat); - if (fseek (indexfp, offset, SEEK_SET) < 0) diff --git a/astro/xephem/files/patch-usno.c b/astro/xephem/files/patch-usno.c deleted file mode 100644 index af6acd1f2cab..000000000000 --- a/astro/xephem/files/patch-usno.c +++ /dev/null @@ -1,49 +0,0 @@ ---- 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); diff --git a/astro/xephem/files/patch-webdbmenu.c b/astro/xephem/files/patch-webdbmenu.c deleted file mode 100644 index be693998e5c2..000000000000 --- a/astro/xephem/files/patch-webdbmenu.c +++ /dev/null @@ -1,104 +0,0 @@ ---- 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); diff --git a/astro/xephem/files/patch-xephem.h b/astro/xephem/files/patch-xephem.h deleted file mode 100644 index fa90f66dfa6d..000000000000 --- a/astro/xephem/files/patch-xephem.h +++ /dev/null @@ -1,16 +0,0 @@ ---- 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" diff --git a/astro/xephem/pkg-plist b/astro/xephem/pkg-plist index 7812f0895567..5c5997b5473e 100644 --- a/astro/xephem/pkg-plist +++ b/astro/xephem/pkg-plist @@ -10,10 +10,12 @@ lib/X11/xephem/auxil/classicfigs.csf lib/X11/xephem/auxil/dearth.gif lib/X11/xephem/auxil/favorites.fav lib/X11/xephem/auxil/jupiter.1020 +lib/X11/xephem/auxil/jupiter.2040 lib/X11/xephem/auxil/jupiter.9910 lib/X11/xephem/auxil/jupitermap.gif lib/X11/xephem/auxil/logo.gif lib/X11/xephem/auxil/mars.1020 +lib/X11/xephem/auxil/mars.2040 lib/X11/xephem/auxil/mars.9910 lib/X11/xephem/auxil/mars_db lib/X11/xephem/auxil/marsmap.jpg @@ -28,14 +30,15 @@ lib/X11/xephem/auxil/saturn16.gif lib/X11/xephem/auxil/saturn20.gif lib/X11/xephem/auxil/saturn24.gif lib/X11/xephem/auxil/saturne.1020 +lib/X11/xephem/auxil/saturne.2040 lib/X11/xephem/auxil/saturne.9910 lib/X11/xephem/auxil/starcensus.txt lib/X11/xephem/auxil/uranus.1020 +lib/X11/xephem/auxil/uranus.2040 lib/X11/xephem/auxil/uranus.9910 lib/X11/xephem/auxil/wmm.cof lib/X11/xephem/auxil/xephem_sites lib/X11/xephem/auxil/xephem_skyhist -lib/X11/xephem/auxil/._wmm.cof lib/X11/xephem/catalogs/Messier.edb lib/X11/xephem/catalogs/SKY2k65.edb lib/X11/xephem/fifos/Makefile @@ -167,5 +170,4 @@ lib/X11/xephem/help/png/valid-html401.png lib/X11/xephem/help/png/wcssolver.png lib/X11/xephem/help/xephem.html lib/X11/xephem/lo/lodb.xml -lib/X11/xephem/lo/._lodb.xml man/man1/xephem.1.gz |