Compare commits
No commits in common. "factory" and "devel" have entirely different histories.
30
axel-2.4-configure.patch
Normal file
30
axel-2.4-configure.patch
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
When called with --disable-dependency-tracking, the configure
|
||||||
|
script would exit with the usage output. This patch make the script
|
||||||
|
accept and ignore that option.
|
||||||
|
|
||||||
|
Index: configure
|
||||||
|
===================================================================
|
||||||
|
--- configure.orig 2009-04-27 15:19:03.000000000 +0100
|
||||||
|
+++ configure 2011-12-22 16:46:32.000000000 +0000
|
||||||
|
@@ -20,7 +20,7 @@ strip=1
|
||||||
|
arch=`uname -s`
|
||||||
|
|
||||||
|
while [ -n "$1" ]; do
|
||||||
|
- e="`expr "$1" : '--\(.*=.*\)'`"
|
||||||
|
+ e="`expr "$1" : '--\(.*\)'`"
|
||||||
|
if [ -z "$e" ]; then
|
||||||
|
cat<<EOF
|
||||||
|
Axel configure
|
||||||
|
@@ -44,8 +44,10 @@ EOF
|
||||||
|
|
||||||
|
keyname=$(expr "$e" : '\(.*\)=.*' | sed 's/[^a-z0-9_]/_/g')
|
||||||
|
value=$(expr "$e" : '.*=\(.*\)' | sed "s/'/_/g")
|
||||||
|
-
|
||||||
|
- eval "$keyname='$value'"
|
||||||
|
+
|
||||||
|
+ if [ -n "$value" ]; then
|
||||||
|
+ eval "$keyname='$value'"
|
||||||
|
+ fi
|
||||||
|
shift;
|
||||||
|
done
|
||||||
|
|
3
axel-2.4.tar.bz2
Normal file
3
axel-2.4.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:ebc7d40e989c680d2afa632a17e5208101608924cf446da20814a6f3c3338612
|
||||||
|
size 44995
|
11
axel-fix-url-max-length.patch
Normal file
11
axel-fix-url-max-length.patch
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
--- conn.c 2009-04-27 16:19:03.000000000 +0200
|
||||||
|
+++ conn.c 2017-04-12 15:58:37.838976530 +0200
|
||||||
|
@@ -326,7 +326,7 @@
|
||||||
|
break;
|
||||||
|
if( ( t = http_header( conn->http, "location:" ) ) == NULL )
|
||||||
|
return( 0 );
|
||||||
|
- sscanf( t, "%255s", s );
|
||||||
|
+ sscanf( t, "%1024", s );
|
||||||
|
if( strstr( s, "://" ) == NULL)
|
||||||
|
{
|
||||||
|
sprintf( conn->http->headers, "%s%s",
|
11
axel-fix_buffer_overflow.patch
Normal file
11
axel-fix_buffer_overflow.patch
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
--- http.c.orig 2010-10-12 16:45:27.000000000 +0200
|
||||||
|
+++ http.c 2010-10-12 16:47:19.000000000 +0200
|
||||||
|
@@ -164,7 +164,7 @@
|
||||||
|
{
|
||||||
|
i ++;
|
||||||
|
}
|
||||||
|
- strncat( conn->headers, s, MAX_QUERY );
|
||||||
|
+ strncat( conn->headers, s, sizeof(conn->headers) - strlen(conn->headers) - 1 );
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef DEBUG
|
92
axel-getaddrinfo.patch
Normal file
92
axel-getaddrinfo.patch
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
--- tcp.c.orig 2010-10-12 16:51:18.000000000 +0200
|
||||||
|
+++ tcp.c 2010-10-12 17:23:49.000000000 +0200
|
||||||
|
@@ -25,13 +25,18 @@
|
||||||
|
|
||||||
|
#include "axel.h"
|
||||||
|
|
||||||
|
+#include <stdio.h>
|
||||||
|
+
|
||||||
|
/* Get a TCP connection */
|
||||||
|
int tcp_connect( char *hostname, int port, char *local_if )
|
||||||
|
{
|
||||||
|
- struct hostent *host = NULL;
|
||||||
|
- struct sockaddr_in addr;
|
||||||
|
+ struct addrinfo hints;
|
||||||
|
+ struct addrinfo *ai, *rp;
|
||||||
|
+ char portbuf[8];
|
||||||
|
+ snprintf(portbuf, 8, "%d", port);
|
||||||
|
+
|
||||||
|
struct sockaddr_in local;
|
||||||
|
- int fd;
|
||||||
|
+ int fd = -1;
|
||||||
|
|
||||||
|
#ifdef DEBUG
|
||||||
|
socklen_t i = sizeof( local );
|
||||||
|
@@ -39,20 +44,34 @@
|
||||||
|
fprintf( stderr, "tcp_connect( %s, %i ) = ", hostname, port );
|
||||||
|
#endif
|
||||||
|
|
||||||
|
- /* Why this loop? Because the call might return an empty record.
|
||||||
|
- At least it very rarely does, on my system... */
|
||||||
|
- for( fd = 0; fd < 5; fd ++ )
|
||||||
|
- {
|
||||||
|
- if( ( host = gethostbyname( hostname ) ) == NULL )
|
||||||
|
- return( -1 );
|
||||||
|
- if( *host->h_name ) break;
|
||||||
|
- }
|
||||||
|
- if( !host || !host->h_name || !*host->h_name )
|
||||||
|
- return( -1 );
|
||||||
|
-
|
||||||
|
- if( ( fd = socket( AF_INET, SOCK_STREAM, 0 ) ) == -1 )
|
||||||
|
- return( -1 );
|
||||||
|
-
|
||||||
|
+ {
|
||||||
|
+ memset(&hints, 0, sizeof(struct addrinfo));
|
||||||
|
+ hints.ai_family = AF_UNSPEC;
|
||||||
|
+ hints.ai_socktype = SOCK_STREAM;
|
||||||
|
+ hints.ai_flags = 0;
|
||||||
|
+ hints.ai_protocol = 0;
|
||||||
|
+ if (getaddrinfo(hostname, portbuf, &hints, &ai) != 0)
|
||||||
|
+ {
|
||||||
|
+ fd = -1;
|
||||||
|
+ } else {
|
||||||
|
+ for (rp = ai; rp != NULL; rp->ai_next)
|
||||||
|
+ {
|
||||||
|
+ fd = socket(rp->ai_family, rp->ai_socktype, rp->ai_protocol);
|
||||||
|
+ if (fd < 0) continue;
|
||||||
|
+ if (connect(fd, rp->ai_addr, rp->ai_addrlen) >= 0)
|
||||||
|
+ {
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+ close(fd);
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ freeaddrinfo(ai);
|
||||||
|
+ }
|
||||||
|
+ if (fd < 0)
|
||||||
|
+ {
|
||||||
|
+ return( -1 );
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
if( local_if && *local_if )
|
||||||
|
{
|
||||||
|
local.sin_family = AF_INET;
|
||||||
|
@@ -64,17 +83,7 @@
|
||||||
|
return( -1 );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
-
|
||||||
|
- addr.sin_family = AF_INET;
|
||||||
|
- addr.sin_port = htons( port );
|
||||||
|
- addr.sin_addr = *( (struct in_addr *) host->h_addr );
|
||||||
|
-
|
||||||
|
- if( connect( fd, (struct sockaddr *) &addr, sizeof( struct sockaddr_in ) ) == -1 )
|
||||||
|
- {
|
||||||
|
- close( fd );
|
||||||
|
- return( -1 );
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
+
|
||||||
|
#ifdef DEBUG
|
||||||
|
getsockname( fd, &local, &i );
|
||||||
|
fprintf( stderr, "%i\n", ntohs( local.sin_port ) );
|
Loading…
Reference in New Issue
Block a user