First off, I'd like to say how pleased I am that the SSL work has been
integrated into the Lynx distribution.  With the recent ease of US export
regulations and the expiration of the RSA patent, it's now possible for
people worldwide to enjoy the benefits of an SSL-enabled Lynx without the
hassle of applying a separate patch.

As for the integrated code itself, there was one important fix in (as yet
unreleased) version 1.4.2 of the patch related to building Lynx with SSL and
no news support.  These builds would fail because some of the SSL news code
wound up living in HTTP.c.  The included patch file brings 2.8.4dev16 up to
date with SSL 1.4.2, which incorporates a fix for such situations by placing
news-related items in HTTP.c within approprate #ifdef macros.

Another issue from the whiteboard was the reliance on srand48 and lrand48,
which some systems do not include.  I assume that configure could be tweaked
to check for the appropriate functions and HTTP.c could be changed
accordingly to use srandom/random or srand/rand in the event that srand48
and lrand48 aren't available.  I had held off on doing this myself for the
same reason that I hadn't integrated configure support in the first place -
diffs against configure.in aren't appropriate for general distribution, and
diffs against configure are messy.

Enjoy your SSL-enabled Lynx, everyone.  If there were any other intergration
issues, let me know.

Mark
diff -ur lynx2-8-4.dist/WWW/Library/Implementation/HTTP.c 
lynx2-8-4/WWW/Library/Implementation/HTTP.c
--- lynx2-8-4.dist/WWW/Library/Implementation/HTTP.c    Mon Jan  1 20:39:50 2001
+++ lynx2-8-4/WWW/Library/Implementation/HTTP.c Sat Jan  6 14:46:54 2001
@@ -14,14 +14,18 @@
 #include <LYUtils.h>
 
 #ifdef USE_SSL
+#ifndef DISABLE_NEWS
 #include <HTNews.h>
-#endif
+#endif /* not DISABLE_NEWS */
+#endif /* USE_SSL */
 
 #define HTTP_VERSION   "HTTP/1.0"
 
 #define HTTP_PORT   80
 #define HTTPS_PORT  443
+#ifndef DISABLE_NEWS
 #define SNEWS_PORT  563
+#endif /* not DISABLE_NEWS */
 
 #define INIT_LINE_SIZE         1536    /* Start with line buffer this big */
 #define LINE_EXTEND_THRESH     256     /* Minimum read size */
@@ -420,6 +424,7 @@
          }
          CTRACE((tfp, "HTTP: connect_url = '%s'\n", connect_url));
          CTRACE((tfp, "HTTP: connect_host = '%s'\n", connect_host));
+#ifndef DISABLE_NEWS
       } else if ((connect_url = strstr((url+7), "snews://"))) {
          do_connect = TRUE;
          connect_host = HTParse(connect_url, "snews", PARSE_HOST);
@@ -429,6 +434,7 @@
          }
          CTRACE((tfp, "HTTP: connect_url = '%s'\n", connect_url));
          CTRACE((tfp, "HTTP: connect_host = '%s'\n", connect_host));
+#endif /* not DISABLE_NEWS */
       }
   }
 #endif /* USE_SSL */
@@ -1375,6 +1381,7 @@
                    url = connect_url;
                    FREE(line_buffer);
                    FREE(line_kept_clean);
+#ifndef DISABLE_NEWS
                    if (!strncmp(connect_url, "snews", 5)) {
                        CTRACE((tfp,
                        "      Will attempt handshake and snews connection.\n"));
@@ -1382,6 +1389,7 @@
                                                    format_out, sink);
                        goto done;
                    }
+#endif /* not DISABLE_NEWS */
                    did_connect = TRUE;
                    already_retrying = TRUE;
                    eol = 0;
diff -ur lynx2-8-4.dist/src/LYMain.c lynx2-8-4/src/LYMain.c
--- lynx2-8-4.dist/src/LYMain.c Mon Jan  1 20:39:50 2001
+++ lynx2-8-4/src/LYMain.c      Sat Jan  6 14:47:44 2001
@@ -1029,7 +1029,7 @@
        StrAllocCat(LYUserAgent, HTLibraryVersion);
     }
 #ifdef USE_SSL
-    StrAllocCat(LYUserAgent, " SSL-MM/1.4.1");
+    StrAllocCat(LYUserAgent, " SSL-MM/1.4.2");
 #ifdef OPENSSL_VERSION_TEXT
     LYstrncpy(SSLLibraryVersion, OPENSSL_VERSION_TEXT, sizeof(SSLLibraryVersion)-1);
     if ((SSLcp = strchr(SSLLibraryVersion, ' ')) != NULL) {
@@ -2951,7 +2951,7 @@
          LYNX_NAME, LYNX_VERSION,
          LYVersionDate());
 #ifdef USE_SSL
-    printf("libwww-FM %s, SSL-MM 1.4.1", HTLibraryVersion);
+    printf("libwww-FM %s, SSL-MM 1.4.2", HTLibraryVersion);
 #ifdef OPENSSL_VERSION_TEXT
     LYstrncpy(SSLLibraryVersion, OPENSSL_VERSION_TEXT, sizeof(SSLLibraryVersion)-1);
     if ((SSLcp = strchr(SSLLibraryVersion, ' ')) != NULL) {

Reply via email to