File builders/lynx-1/1.LYCookie.c.patch deleted (index e0c31a0..0000000) |
1 |
|
--- ./src/LYCookie.c |
|
2 |
|
+++ ./src/LYCookie.c |
|
3 |
|
@@ -371,7 +371,6 @@ |
|
4 |
|
BOOL Replacement = FALSE; |
|
5 |
|
int invprompt_reasons = 0; /* what is wrong with this cookie - kw */ |
|
6 |
|
|
|
7 |
|
-#define FAILS_COND1 0x01 |
|
8 |
|
#define FAILS_COND4 0x02 |
|
9 |
|
|
|
10 |
|
if (co == NULL) |
|
11 |
|
@@ -397,38 +396,6 @@ |
|
12 |
|
cookie_list = de->cookie_list; |
|
13 |
|
|
|
14 |
|
/* |
|
15 |
|
- * Apply sanity checks. |
|
16 |
|
- * |
|
17 |
|
- * Section 4.3.2, condition 1: The value for the Path attribute is |
|
18 |
|
- * not a prefix of the request-URI. |
|
19 |
|
- * |
|
20 |
|
- * If cookie checking for this domain is set to INVCHECK_LOOSE, |
|
21 |
|
- * then we want to bypass this check. The user should be queried |
|
22 |
|
- * if set to INVCHECK_QUERY. |
|
23 |
|
- */ |
|
24 |
|
- if (!is_prefix(co->path, path)) { |
|
25 |
|
- invcheck_behaviour_t invcheck_bv = (de ? de->invcheck_bv |
|
26 |
|
- : DEFAULT_INVCHECK_BV); |
|
27 |
|
- |
|
28 |
|
- switch (invcheck_bv) { |
|
29 |
|
- case INVCHECK_LOOSE: |
|
30 |
|
- break; /* continue as if nothing were wrong */ |
|
31 |
|
- |
|
32 |
|
- case INVCHECK_QUERY: |
|
33 |
|
- /* will prompt later if we get that far */ |
|
34 |
|
- invprompt_reasons |= FAILS_COND1; |
|
35 |
|
- break; |
|
36 |
|
- |
|
37 |
|
- case INVCHECK_STRICT: |
|
38 |
|
- CTrace((tfp, |
|
39 |
|
- "store_cookie: Rejecting because '%s' is not a prefix of '%s'.\n", |
|
40 |
|
- co->path, path)); |
|
41 |
|
- freeCookie(co); |
|
42 |
|
- return; |
|
43 |
|
- } |
|
44 |
|
- } |
|
45 |
|
- |
|
46 |
|
- /* |
|
47 |
|
* The next 4 conditions do NOT apply if the domain is still |
|
48 |
|
* the default of request-host. (domains - case insensitive). |
|
49 |
|
*/ |
|
50 |
|
@@ -543,19 +510,6 @@ |
|
51 |
|
freeCookie(co); |
|
52 |
|
FREE(msg); |
|
53 |
|
return; |
|
54 |
|
- } |
|
55 |
|
- } |
|
56 |
|
- if (invprompt_reasons & FAILS_COND1) { |
|
57 |
|
- HTSprintf0(&msg, |
|
58 |
|
- INVALID_COOKIE_PATH_CONFIRMATION, |
|
59 |
|
- co->path, path); |
|
60 |
|
- if (!HTForcedPrompt(cookie_noprompt, msg, NO)) { |
|
61 |
|
- CTrace((tfp, |
|
62 |
|
- "store_cookie: Rejecting because '%s' is not a prefix of '%s'.\n", |
|
63 |
|
- co->path, path)); |
|
64 |
|
- freeCookie(co); |
|
65 |
|
- FREE(msg); |
|
66 |
|
- return; |
|
67 |
|
} |
|
68 |
|
} |
|
69 |
|
FREE(msg); |
|
File builders/lynx-1/2.LYCookie.c.patch deleted (index 60dca50..0000000) |
1 |
|
--- src/LYCookie.c |
|
2 |
|
+++ src/LYCookie.c |
|
3 |
|
@@ -369,9 +369,6 @@ |
|
4 |
|
const char *ptr; |
|
5 |
|
domain_entry *de = NULL; |
|
6 |
|
BOOL Replacement = FALSE; |
|
7 |
|
- int invprompt_reasons = 0; /* what is wrong with this cookie - kw */ |
|
8 |
|
- |
|
9 |
|
-#define FAILS_COND4 0x02 |
|
10 |
|
|
|
11 |
|
if (co == NULL) |
|
12 |
|
return; |
|
13 |
|
@@ -453,66 +450,6 @@ |
|
14 |
|
freeCookie(co); |
|
15 |
|
return; |
|
16 |
|
} |
|
17 |
|
- |
|
18 |
|
- /* |
|
19 |
|
- * RFC 2109 - |
|
20 |
|
- * Section 4.3.2, condition 4: The request-host is an HDN (not IP |
|
21 |
|
- * address) and has the form HD, where D is the value of the Domain |
|
22 |
|
- * attribute, and H is a string that contains one or more dots. |
|
23 |
|
- * |
|
24 |
|
- * If cookie checking for this domain is set to INVCHECK_LOOSE, then we |
|
25 |
|
- * want to bypass this check. The user should be queried if set to |
|
26 |
|
- * INVCHECK_QUERY. |
|
27 |
|
- */ |
|
28 |
|
- ptr = ((hostname + strlen(hostname)) - strlen(co->domain)); |
|
29 |
|
- if (StrChr(hostname, '.') < ptr) { |
|
30 |
|
- invcheck_behaviour_t invcheck_bv = (de ? de->invcheck_bv |
|
31 |
|
- : DEFAULT_INVCHECK_BV); |
|
32 |
|
- |
|
33 |
|
- switch (invcheck_bv) { |
|
34 |
|
- case INVCHECK_LOOSE: |
|
35 |
|
- break; /* continue as if nothing were wrong */ |
|
36 |
|
- |
|
37 |
|
- case INVCHECK_QUERY: |
|
38 |
|
- invprompt_reasons |= FAILS_COND4; |
|
39 |
|
- break; /* will prompt later if we get that far */ |
|
40 |
|
- |
|
41 |
|
- case INVCHECK_STRICT: |
|
42 |
|
- CTrace((tfp, |
|
43 |
|
- "store_cookie: Rejecting because '%s' is not a prefix of '%s'.\n", |
|
44 |
|
- co->path, path)); |
|
45 |
|
- freeCookie(co); |
|
46 |
|
- return; |
|
47 |
|
- } |
|
48 |
|
- } |
|
49 |
|
- } |
|
50 |
|
- |
|
51 |
|
- /* |
|
52 |
|
- * If we found reasons for issuing an invalid cookie confirmation prompt, |
|
53 |
|
- * do that now. Rejection by the user here is the last chance to |
|
54 |
|
- * completely ignore this cookie; after it passes this hurdle, it may at |
|
55 |
|
- * least supersede a previous cookie (even if it finally gets rejected). - |
|
56 |
|
- * kw |
|
57 |
|
- */ |
|
58 |
|
- if (invprompt_reasons) { |
|
59 |
|
- char *msg = 0; |
|
60 |
|
- |
|
61 |
|
- if (invprompt_reasons & FAILS_COND4) { |
|
62 |
|
- HTSprintf0(&msg, |
|
63 |
|
- INVALID_COOKIE_DOMAIN_CONFIRMATION, |
|
64 |
|
- co->ddomain, |
|
65 |
|
- hostname); |
|
66 |
|
- if (!HTForcedPrompt(cookie_noprompt, msg, NO)) { |
|
67 |
|
- CTrace((tfp, |
|
68 |
|
- "store_cookie: Rejecting domain '%s' for host '%s'.\n", |
|
69 |
|
- co->ddomain, |
|
70 |
|
- hostname)); |
|
71 |
|
- freeCookie(co); |
|
72 |
|
- FREE(msg); |
|
73 |
|
- return; |
|
74 |
|
- } |
|
75 |
|
- } |
|
76 |
|
- FREE(msg); |
|
77 |
|
} |
|
78 |
|
|
|
79 |
|
if (de == NULL) { |
|
File builders/lynx-1/3.gnutls_compression.patch deleted (index 7a782e8..0000000) |
1 |
|
--- WWW/Library/Implementation/tidy_tls.h |
|
2 |
|
+++ WWW/Library/Implementation/tidy_tls.h |
|
3 |
|
@@ -45,7 +45,6 @@ |
|
4 |
|
struct { |
|
5 |
|
int protocol[GNUTLS_MAX_ALGORITHM_NUM]; |
|
6 |
|
int encrypts[GNUTLS_MAX_ALGORITHM_NUM]; |
|
7 |
|
- int compress[GNUTLS_MAX_ALGORITHM_NUM]; |
|
8 |
|
int key_xchg[GNUTLS_MAX_ALGORITHM_NUM]; |
|
9 |
|
int msg_code[GNUTLS_MAX_ALGORITHM_NUM]; |
|
10 |
|
} priority; |
|
11 |
|
@@ -61,7 +60,6 @@ |
|
12 |
|
typedef struct { |
|
13 |
|
gnutls_certificate_type_t cert; |
|
14 |
|
gnutls_cipher_algorithm_t encrypts; |
|
15 |
|
- gnutls_compression_method_t compress; |
|
16 |
|
gnutls_kx_algorithm_t key_xchg; |
|
17 |
|
gnutls_mac_algorithm_t msg_code; |
|
18 |
|
gnutls_protocol_t protocol; |
|
19 |
|
--- src/tidy_tls.c |
|
20 |
|
+++ src/tidy_tls.c |
|
21 |
|
@@ -368,7 +368,6 @@ |
|
22 |
|
result->encrypts = gnutls_cipher_get(ssl->gnutls_state); |
|
23 |
|
result->key_xchg = gnutls_kx_get(ssl->gnutls_state); |
|
24 |
|
result->msg_code = gnutls_mac_get(ssl->gnutls_state); |
|
25 |
|
- result->compress = gnutls_compression_get(ssl->gnutls_state); |
|
26 |
|
result->cert = gnutls_certificate_type_get(ssl->gnutls_state); |
|
27 |
|
} |
|
28 |
|
|
|
29 |
|
@@ -556,13 +555,6 @@ |
|
30 |
|
m->priority.encrypts[n] = 0; |
|
31 |
|
|
|
32 |
|
/* |
|
33 |
|
- * List the compression algorithms in decreasing order of priority. |
|
34 |
|
- */ |
|
35 |
|
- n = 0; |
|
36 |
|
- m->priority.compress[n++] = GNUTLS_COMP_NULL; |
|
37 |
|
- m->priority.compress[n] = 0; |
|
38 |
|
- |
|
39 |
|
- /* |
|
40 |
|
* List the key exchange algorithms in decreasing order of priority. |
|
41 |
|
*/ |
|
42 |
|
n = 0; |
|
File builders/lynx-1/4.gnutls_retry.patch deleted (index 10f0466..0000000) |
1 |
|
--- src/tidy_tls.c |
|
2 |
|
+++ src/tidy_tls.c |
|
3 |
|
@@ -461,14 +461,22 @@ |
|
4 |
|
{ |
|
5 |
|
int rc; |
|
6 |
|
|
|
7 |
|
- rc = (int) gnutls_record_recv(ssl->gnutls_state, buffer, (size_t) length); |
|
8 |
|
+ for(;;) { |
|
9 |
|
+ rc = (int) gnutls_record_recv(ssl->gnutls_state, buffer, (size_t) length); |
|
10 |
|
|
|
11 |
|
- if (rc < 0 && gnutls_error_is_fatal(rc) == 0) { |
|
12 |
|
- if (rc == GNUTLS_E_REHANDSHAKE) { |
|
13 |
|
- (void) gnutls_handshake(ssl->gnutls_state); |
|
14 |
|
- gnutls_record_send(ssl->gnutls_state, ssl->sendbuffer, (size_t) ssl->bytes_sent); |
|
15 |
|
- rc = (int) gnutls_record_recv(ssl->gnutls_state, buffer, (size_t) length); |
|
16 |
|
- } |
|
17 |
|
+ if (rc < 0 && gnutls_error_is_fatal(rc) == 0) { |
|
18 |
|
+ if (rc == GNUTLS_E_REHANDSHAKE) { |
|
19 |
|
+ (void) gnutls_handshake(ssl->gnutls_state); |
|
20 |
|
+ gnutls_record_send(ssl->gnutls_state, ssl->sendbuffer, (size_t) ssl->bytes_sent); |
|
21 |
|
+ continue; |
|
22 |
|
+ } else if (rc == GNUTLS_E_AGAIN || rc == GNUTLS_E_INTERRUPTED) { |
|
23 |
|
+ continue; |
|
24 |
|
+ } |
|
25 |
|
+ /* not handled gnutls non-fatal error */ |
|
26 |
|
+ break; |
|
27 |
|
+ } else |
|
28 |
|
+ /* rc >= 0 or gnutls fatal error */ |
|
29 |
|
+ break; |
|
30 |
|
} |
|
31 |
|
|
|
32 |
|
ssl->last_error = rc; |
|
File builders/lynx-1/builder.sh deleted (index 01473f0..0000000) |
1 |
|
src_name=lynx |
|
2 |
|
major=2 |
|
3 |
|
minor=8 |
|
4 |
|
micro=9 |
|
5 |
|
v_rel=1 |
|
6 |
|
version=$major.$minor.${micro}rel.$v_rel |
|
7 |
|
archive_name=$src_name-cur.tar.bz2 |
|
8 |
|
src_d=$src_name$version |
|
9 |
|
url0=http://invisible-island.net/datafiles/release/$pkg_name-cur.tar.bz2 |
|
10 |
|
|
|
11 |
|
src_dir=$src_dir_root/$src_d |
|
12 |
|
cd $src_dir_root |
|
13 |
|
rm -Rf $src_name$version |
|
14 |
|
tar xf $archive_name |
|
15 |
|
|
|
16 |
|
cd $src_dir |
|
17 |
|
|
|
18 |
|
# Increase redirection limit to 20 (thx microsoft!) |
|
19 |
|
sed -i -e 's/redirection_attempts > 10/redirection_attempts > 20/' ./WWW/Library/Implementation/HTAccess.c |
|
20 |
|
# fix cookie path acceptance |
|
21 |
|
patch -N -p0 -i $nyan_root/builders/$pkg_name/1.LYCookie.c.patch |
|
22 |
|
# fix cookie domain acceptance |
|
23 |
|
patch -N -p0 -i $nyan_root/builders/$pkg_name/2.LYCookie.c.patch |
|
24 |
|
# remove obsolete gnutls compression |
|
25 |
|
patch -N -p0 -i $nyan_root/builders/$pkg_name/3.gnutls_compression.patch |
|
26 |
|
# fix gnutls receive handling |
|
27 |
|
patch -N -p0 -i $nyan_root/builders/$pkg_name/4.gnutls_retry.patch |
|
28 |
|
|
|
29 |
|
build_dir=$builds_dir_root/$pkg_name-$version |
|
30 |
|
rm -Rf $build_dir |
|
31 |
|
mkdir -p $build_dir |
|
32 |
|
cd $build_dir |
|
33 |
|
|
|
34 |
|
OLD_PATH=$PATH |
|
35 |
|
export PATH=/nyan/ncurses/current/bin:$PATH |
|
36 |
|
|
|
37 |
|
# gnutls pkg-config generation broken in cross-compilation (because of GNU libunistring) |
|
38 |
|
|
|
39 |
|
export "CPPFLAGS=\ |
|
40 |
|
-I/nyan/zlib/current/include \ |
|
41 |
|
-I/nyan/bzip2/current/include \ |
|
42 |
|
-I/nyan/libtasn1/current/include \ |
|
43 |
|
-I/nyan/nettle/current/include \ |
|
44 |
|
-I/nyan/gnutls/current/include" |
|
45 |
|
export 'CC=gcc -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib -static-libgcc' |
|
46 |
|
export "CFLAGS=-O2 -pipe -fPIC" |
|
47 |
|
export "LDFLAGS=\ |
|
48 |
|
-L/nyan/zlib/current/lib \ |
|
49 |
|
-L/nyan/bzip2/current/lib \ |
|
50 |
|
\ |
|
51 |
|
-L/nyan/toolchains/current/lib \ |
|
52 |
|
-L/nyan/libunistring/current/lib \ |
|
53 |
|
-L/nyan/nettle/current/lib \ |
|
54 |
|
-L/nyan/libtasn1/current/lib \ |
|
55 |
|
-L/nyan/libidn2/current/lib \ |
|
56 |
|
-L/nyan/gnutls/current/lib" |
|
57 |
|
export "LIBS=-lgnutls -lidn2 -lhogweed -lnettle -lgmp -ltasn1 -lunistring" |
|
58 |
|
$src_dir/configure \ |
|
59 |
|
--prefix=/nyan/lynx/1 \ |
|
60 |
|
--disable-debug \ |
|
61 |
|
--disable-trace \ |
|
62 |
|
--disable-nls \ |
|
63 |
|
--disable-full-paths \ |
|
64 |
|
--without-ssl \ |
|
65 |
|
--with-gnutls \ |
|
66 |
|
--disable-gnutls-compat \ |
|
67 |
|
--without-pkg-config \ |
|
68 |
|
--enable-ipv6 \ |
|
69 |
|
--with-screen=ncursesw \ |
|
70 |
|
--enable-widec \ |
|
71 |
|
--enable-htmlized-cfg \ |
|
72 |
|
--disable-local-docs \ |
|
73 |
|
--disable-bibp-urls \ |
|
74 |
|
--disable-menu-options \ |
|
75 |
|
--disable-sessions \ |
|
76 |
|
--disable-session-cache \ |
|
77 |
|
--enable-japanese-utf8 \ |
|
78 |
|
--enable-nested-tables \ |
|
79 |
|
--disable-partial \ |
|
80 |
|
--disable-scrollbar \ |
|
81 |
|
--enable-charset-choice \ |
|
82 |
|
--enable-externs \ |
|
83 |
|
--with-bzlib \ |
|
84 |
|
--with-zlib \ |
|
85 |
|
--disable-finger \ |
|
86 |
|
--disable-gopher \ |
|
87 |
|
--disable-news \ |
|
88 |
|
--disable-dired \ |
|
89 |
|
--enable-nested-tables \ |
|
90 |
|
--without-x \ |
|
91 |
|
--disable-rpath-hack |
|
92 |
|
unset LIBS |
|
93 |
|
unset LDFLAGS |
|
94 |
|
unset CFLAGS |
|
95 |
|
unset CC |
|
96 |
|
unset CPPFLAGS |
|
97 |
|
|
|
98 |
|
export PATH=$OLD_PATH |
|
99 |
|
|
|
100 |
|
make -j $threads_n |
|
101 |
|
make install |
|
102 |
|
|
|
103 |
|
# cleanup and tidying |
|
104 |
|
rm -Rf /nyan/$src_name/1/share |
|
105 |
|
strip -s /nyan/$src_name/1/bin/$src_name |
|
106 |
|
|
|
107 |
|
rm -Rf $build_dir $src_dir |
|
File builders/lynx-2.9.0dev.6/builder.sh added (mode: 100644) (index 0000000..8478bcb) |
|
1 |
|
src_name=lynx |
|
2 |
|
major=2 |
|
3 |
|
minor=9 |
|
4 |
|
micro=0 |
|
5 |
|
v_dev=6 |
|
6 |
|
version=$major.$minor.${micro}dev.$v_dev |
|
7 |
|
archive_name=$src_name-cur.tar.bz2 |
|
8 |
|
src_d=$src_name$version |
|
9 |
|
url0=http://invisible-island.net/datafiles/release/$src_name-cur.tar.bz2 |
|
10 |
|
|
|
11 |
|
slot=$version |
|
12 |
|
|
|
13 |
|
pkg_dir=$pkgs_dir_root/$src_d |
|
14 |
|
mkdir -p $pkgs_dir_root |
|
15 |
|
rm -Rf $pkg_dir |
|
16 |
|
cp $src_dir_root/$archive_name $pkgs_dir_root |
|
17 |
|
cd $pkgs_dir_root |
|
18 |
|
tar xf $archive_name |
|
19 |
|
|
|
20 |
|
build_dir=$builds_dir_root/$src_name-$version |
|
21 |
|
rm -Rf $build_dir |
|
22 |
|
mkdir -p $build_dir |
|
23 |
|
cd $build_dir |
|
24 |
|
|
|
25 |
|
PATH_SAVED=$PATH |
|
26 |
|
export PATH=/nyan/ncurses/current/bin:$PATH |
|
27 |
|
|
|
28 |
|
export CPPFLAGS="\ |
|
29 |
|
-I/nyan/libressl/current/include \ |
|
30 |
|
-I/nyan/zlib/current/include \ |
|
31 |
|
-I/nyan/bzip2/current/include" |
|
32 |
|
export CC="gcc" |
|
33 |
|
export CFLAGS='-O2 -pipe -fPIC -static-libgcc' |
|
34 |
|
export LDFLAGS="\ |
|
35 |
|
-B/nyan/glibc/current/lib \ |
|
36 |
|
-L/nyan/glibc/current/lib \ |
|
37 |
|
-Wl,-rpath-link,/nyan/glibc/current/lib \ |
|
38 |
|
-L/nyan/libressl/current/lib \ |
|
39 |
|
-L/nyan/zlib/current/lib \ |
|
40 |
|
-L/nyan/bzip2/current/lib" |
|
41 |
|
export LIBS="-lpthread" |
|
42 |
|
|
|
43 |
|
# --disable-trace is broken |
|
44 |
|
$pkg_dir/configure \ |
|
45 |
|
--prefix=/nyan/lynx/$slot \ |
|
46 |
|
--disable-debug \ |
|
47 |
|
--enable-trace \ |
|
48 |
|
--disable-nls \ |
|
49 |
|
--disable-full-paths \ |
|
50 |
|
--with-ssl \ |
|
51 |
|
--without-pkg-config \ |
|
52 |
|
--enable-ipv6 \ |
|
53 |
|
--with-screen=ncursesw \ |
|
54 |
|
--enable-widec \ |
|
55 |
|
--enable-htmlized-cfg \ |
|
56 |
|
--disable-local-docs \ |
|
57 |
|
--disable-bibp-urls \ |
|
58 |
|
--disable-menu-options \ |
|
59 |
|
--disable-sessions \ |
|
60 |
|
--disable-session-cache \ |
|
61 |
|
--enable-japanese-utf8 \ |
|
62 |
|
--enable-wcwidth-support \ |
|
63 |
|
--enable-default-colors \ |
|
64 |
|
--enable-nested-tables \ |
|
65 |
|
--disable-idna \ |
|
66 |
|
--disable-partial \ |
|
67 |
|
--disable-scrollbar \ |
|
68 |
|
--enable-charset-choice \ |
|
69 |
|
--enable-externs \ |
|
70 |
|
--disable-nsl-fork \ |
|
71 |
|
--with-bzlib \ |
|
72 |
|
--with-zlib \ |
|
73 |
|
--disable-finger \ |
|
74 |
|
--disable-gopher \ |
|
75 |
|
--disable-news \ |
|
76 |
|
--disable-dired \ |
|
77 |
|
--without-x \ |
|
78 |
|
--disable-rpath-hack |
|
79 |
|
unset CPPFLAGS |
|
80 |
|
unset CC |
|
81 |
|
unset CFLAGS |
|
82 |
|
unset LDFLAGS |
|
83 |
|
unset LIBS |
|
84 |
|
|
|
85 |
|
export PATH=$PATH_SAVED |
|
86 |
|
|
|
87 |
|
make -j $threads_n |
|
88 |
|
make install |
|
89 |
|
|
|
90 |
|
# cleanup and tidying |
|
91 |
|
rm -Rf /nyan/$src_name/$slot/share |
|
92 |
|
strip -s /nyan/$src_name/$slot/bin/$src_name |
|
93 |
|
|
|
94 |
|
rm -Rf $build_dir $pkg_dir |