diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | NEWS | 10 | ||||
-rw-r--r-- | README | 2 | ||||
-rw-r--r-- | configure.ac | 4 | ||||
-rw-r--r-- | doc/afclient.1 | 2 | ||||
-rw-r--r-- | doc/afclient.conf.5 | 2 | ||||
-rw-r--r-- | doc/afserver.1 | 2 | ||||
-rw-r--r-- | doc/afserver.conf.5 | 2 | ||||
-rw-r--r-- | doc/en/README | 2 | ||||
-rw-r--r-- | src/activefor.h | 2 | ||||
-rw-r--r-- | src/afclient.c | 5 | ||||
-rw-r--r-- | src/afserver.c | 8 | ||||
-rw-r--r-- | src/file_client.c | 2 | ||||
-rw-r--r-- | src/server_check.c | 4 | ||||
-rw-r--r-- | src/server_set.c | 4 | ||||
-rw-r--r-- | src/string_functions.c | 4 |
16 files changed, 42 insertions, 20 deletions
@@ -1,3 +1,10 @@ +16.11.2005 (v0.7.5): + - Fixed: manageport option in the afclient config file + - Fixed: severe bug in string_cp + - Fixed: wrong connection type used by afclient when afserver used --nossl + or --nozlib option + - Fixed: broken keep-alive option + 03.11.2005 (v0.7.4): - Fixed: sockets in CLOSE_WAIT state left by afclient - Added: --localname and --localport options @@ -1,3 +1,13 @@ +16.11.2005: + * it's time for new release containing several bugfixes + +14.11.2005: + * small bugs has appeared due to severe code rewrites. They are + fixed as they come. + +07.11.2005: + * apf 0.7.4 is available on the gray-world.net + 03.07.2005: * a lot of code cleanups and modifications have been made in order to make sources more portable. APF compile under Solaris 10. @@ -1,4 +1,4 @@ -AF - Active Port Forwarder 0.7.4 - README +AF - Active Port Forwarder 0.7.5 - README Copyright (C) 2003,2004,2005 jeremian - <jeremian [at] poczta.fm> ================================================================= diff --git a/configure.ac b/configure.ac index 66d53ab..ae50dda 100644 --- a/configure.ac +++ b/configure.ac @@ -2,8 +2,8 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ(2.59) -AC_INIT([Active port forwarder], [0.7.4], [jeremian@poczta.fm], [apf]) -AM_INIT_AUTOMAKE([apf], [0.7.4]) +AC_INIT([Active port forwarder], [0.7.5], [jeremian@poczta.fm], [apf]) +AM_INIT_AUTOMAKE([apf], [0.7.5]) AC_COPYRIGHT([ Copyright (C) 2003,2004,2005 jeremian - <jeremian [[at]] poczta.fm> =================== diff --git a/doc/afclient.1 b/doc/afclient.1 index 32c71ff..184b8ce 100644 --- a/doc/afclient.1 +++ b/doc/afclient.1 @@ -1,4 +1,4 @@ -.TH afclient 1 "apf 0.7.4" Jeremian +.TH afclient 1 "apf 0.7.5" Jeremian .SH NAME afclient \- active port forwarder client .SH SYNOPSIS diff --git a/doc/afclient.conf.5 b/doc/afclient.conf.5 index 6137428..1e3bbbe 100644 --- a/doc/afclient.conf.5 +++ b/doc/afclient.conf.5 @@ -1,4 +1,4 @@ -.TH afclient.conf 5 "apf 0.7.4" Jeremian +.TH afclient.conf 5 "apf 0.7.5" Jeremian .SH NAME afclient.conf \- Configuration File for afclient .SH INTRODUCTION diff --git a/doc/afserver.1 b/doc/afserver.1 index cb3d5f7..c048c10 100644 --- a/doc/afserver.1 +++ b/doc/afserver.1 @@ -1,4 +1,4 @@ -.TH afserver 1 "apf 0.7.4" Jeremian +.TH afserver 1 "apf 0.7.5" Jeremian .SH NAME afserver \- active port forwarder server .SH SYNOPSIS diff --git a/doc/afserver.conf.5 b/doc/afserver.conf.5 index a28625f..2e4f313 100644 --- a/doc/afserver.conf.5 +++ b/doc/afserver.conf.5 @@ -1,4 +1,4 @@ -.TH afserver.conf 5 "apf 0.7.4" Jeremian +.TH afserver.conf 5 "apf 0.7.5" Jeremian .SH NAME afserver.conf \- Configuration File for afserver .SH INTRODUCTION diff --git a/doc/en/README b/doc/en/README index c36ea47..6e1819b 100644 --- a/doc/en/README +++ b/doc/en/README @@ -1,4 +1,4 @@ -AF - Active Port Forwarder 0.7.4 - README +AF - Active Port Forwarder 0.7.5 - README Copyright (C) 2003,2004,2005 jeremian - <jeremian [at] poczta.fm> ================================================================= diff --git a/src/activefor.h b/src/activefor.h index 4fcdbe0..31284b9 100644 --- a/src/activefor.h +++ b/src/activefor.h @@ -51,7 +51,7 @@ #define S_STATE_STOPPED 11 #define S_STATE_OPENING_CLOSED 17 -#define AF_VER(info) info" v0.7.4" +#define AF_VER(info) info" v0.7.5" #define TYPE_TCP 1 #define TYPE_UDP 3 diff --git a/src/afclient.c b/src/afclient.c index b450543..a208bf6 100644 --- a/src/afclient.c +++ b/src/afclient.c @@ -87,7 +87,6 @@ main(int argc, char **argv) struct sockaddr* clientAddress; fd_set rset, allset, wset, tmpset; struct timeval keepAlive; - int timeout = 0; char verbose = 0; HttpProxyOptions* hpo = HttpProxyOptions_new(); char hpoUsed = 0; @@ -792,9 +791,9 @@ main(int argc, char **argv) aflog(LOG_T_INIT, LOG_I_INFO, "Trying to reconnect..."); mysleep(ArOptions_get_arDelay(ClientRealm_get_arOptions(pointer))); + ClientRealm_set_realmType(pointer, realmType); } if (temp == 0) { - ClientRealm_set_realmType(pointer, realmType); break; } } while (i); @@ -847,7 +846,7 @@ main(int argc, char **argv) buff[0] = AF_S_KEEP_ALIVE; SslFd_send_message(ClientRealm_get_realmType(pointer), ClientRealm_get_masterSslFd(pointer), buff, 5); - keepAlive.tv_sec = timeout; + keepAlive.tv_sec = ClientRealm_get_keepAliveTimeout(pointer); keepAlive.tv_usec = 0; ClientRealm_set_keepAlive(pointer, keepAlive); } diff --git a/src/afserver.c b/src/afserver.c index 2d6e1eb..fe532ec 100644 --- a/src/afserver.c +++ b/src/afserver.c @@ -108,7 +108,7 @@ main(int argc, char **argv) char* certif = NULL; char* keys = NULL; char* dateformat = NULL; - char* stemp = NULL; + static char* stemp = NULL; SSL_METHOD* method; SSL_CTX* ctx; @@ -1367,14 +1367,12 @@ main(int argc, char **argv) get_realmname(config, j), get_clientname(pointer, k)); if (ConnectClient_get_state(srClientsTable[k]) == CONNECTCLIENT_STATE_AUTHORIZING) { n = SslFd_get_message(ServerRealm_get_realmType(pointer) | TYPE_SSL | TYPE_ZLIB, - ConnectClient_get_sslFd( - srClientsTable[k]), + ConnectClient_get_sslFd(srClientsTable[k]), buff, (-1) * HeaderBuffer_to_read(ConnectClient_get_header(srClientsTable[k]))); } else { n = SslFd_get_message(ServerRealm_get_realmType(pointer), - ConnectClient_get_sslFd( - srClientsTable[k]), + ConnectClient_get_sslFd(srClientsTable[k]), buff, (-1) * HeaderBuffer_to_read(ConnectClient_get_header(srClientsTable[k]))); } if (n == -1) { diff --git a/src/file_client.c b/src/file_client.c index 68ece7a..58ee489 100644 --- a/src/file_client.c +++ b/src/file_client.c @@ -196,7 +196,7 @@ cparsefile(char* name, int* status) ClientRealm_set_serverName(ClientConfiguration_get_realmsTable(cfg)[0], helpbuf2); } else if ((strcmp(helpbuf1, "m") == 0) || (strcmp(helpbuf1, "manageport") == 0)) { - ClientRealm_set_hostName(ClientConfiguration_get_realmsTable(cfg)[0], helpbuf2); + ClientRealm_set_managePort(ClientConfiguration_get_realmsTable(cfg)[0], helpbuf2); } else if ((strcmp(helpbuf1, "d") == 0) || (strcmp(helpbuf1, "hostname") == 0)) { ClientRealm_set_hostName(ClientConfiguration_get_realmsTable(cfg)[0], helpbuf2); diff --git a/src/server_check.c b/src/server_check.c index eb65d97..858d28e 100644 --- a/src/server_check.c +++ b/src/server_check.c @@ -31,7 +31,8 @@ int check_value(char* what, char* info) { - long tmp = check_value_liberal(what, info); + long tmp; + tmp = check_value_liberal(what, info); if (tmp <= 0) { aflog(LOG_T_INIT, LOG_I_CRIT, @@ -46,6 +47,7 @@ check_value_liberal(char* what, char* info) { char* znak; long tmp; + if ((tmp = strtol(what, &znak, 10)) >= INT_MAX) { aflog(LOG_T_INIT, LOG_I_CRIT, "%s: %s\n", info, what); diff --git a/src/server_set.c b/src/server_set.c index c3a0058..3537cc5 100644 --- a/src/server_set.c +++ b/src/server_set.c @@ -20,12 +20,14 @@ #include <stdlib.h> +#include "string_functions.h" + void set_value(char** dest, char* from, char* def) { if ((*dest) == NULL) { if (from != NULL) { - (*dest) = from; + string_cp(dest, from); } else { (*dest) = def; diff --git a/src/string_functions.c b/src/string_functions.c index 471d3eb..58ee17e 100644 --- a/src/string_functions.c +++ b/src/string_functions.c @@ -45,6 +45,10 @@ string_cp(char** dest, char* src) /* 1. releasing memory allocated by *dest */ if (dest != NULL) { if ((*dest) != NULL) { + /* if *dest points to the same memory as src - we shouldn't do anything */ + if ((*dest) == src) { + return (*dest); + } free((*dest)); (*dest) = NULL; } |