mirror of
https://github.com/stefanocasazza/ULib.git
synced 2025-09-28 19:05:55 +08:00
sync
This commit is contained in:
parent
372f0558e7
commit
42f5cee169
|
@ -28,7 +28,7 @@ extern U_EXPORT void runDynamicPage_wi_auth2();
|
||||||
U_TRACE_NO_PARAM(0, "::runDynamicPage_wi_auth2()")
|
U_TRACE_NO_PARAM(0, "::runDynamicPage_wi_auth2()")
|
||||||
|
|
||||||
static UHTTP::service_info GET_table[] = { // NB: the table must be ordered alphabetically for binary search...
|
static UHTTP::service_info GET_table[] = { // NB: the table must be ordered alphabetically for binary search...
|
||||||
GET_ENTRY(acceptTermsOfConditionsExpirationList),
|
GET_ENTRY(acceptTermsOfConditions),
|
||||||
GET_ENTRY(acceptTermsOfConditionsRenew),
|
GET_ENTRY(acceptTermsOfConditionsRenew),
|
||||||
GET_ENTRY(anagrafica),
|
GET_ENTRY(anagrafica),
|
||||||
GET_ENTRY(checkCaptive),
|
GET_ENTRY(checkCaptive),
|
||||||
|
@ -41,7 +41,6 @@ extern U_EXPORT void runDynamicPage_wi_auth2();
|
||||||
};
|
};
|
||||||
|
|
||||||
static UHTTP::service_info POST_table[] = { // NB: the table must be ordered alphabetically for binary search...
|
static UHTTP::service_info POST_table[] = { // NB: the table must be ordered alphabetically for binary search...
|
||||||
POST_ENTRY(acceptTermsOfConditions),
|
|
||||||
POST_ENTRY(info),
|
POST_ENTRY(info),
|
||||||
POST_ENTRY(login),
|
POST_ENTRY(login),
|
||||||
POST_ENTRY(notify),
|
POST_ENTRY(notify),
|
||||||
|
|
|
@ -8,7 +8,7 @@ static void usp_config_wi_auth2();
|
||||||
-->
|
-->
|
||||||
<!--#code
|
<!--#code
|
||||||
static UHTTP::service_info GET_table[] = { // NB: the table must be ordered alphabetically for binary search...
|
static UHTTP::service_info GET_table[] = { // NB: the table must be ordered alphabetically for binary search...
|
||||||
GET_ENTRY(acceptTermsOfConditionsExpirationList),
|
GET_ENTRY(acceptTermsOfConditions),
|
||||||
GET_ENTRY(acceptTermsOfConditionsRenew),
|
GET_ENTRY(acceptTermsOfConditionsRenew),
|
||||||
GET_ENTRY(anagrafica),
|
GET_ENTRY(anagrafica),
|
||||||
GET_ENTRY(checkCaptive),
|
GET_ENTRY(checkCaptive),
|
||||||
|
@ -21,7 +21,6 @@ static UHTTP::service_info GET_table[] = { // NB: the table must be ordered alph
|
||||||
};
|
};
|
||||||
|
|
||||||
static UHTTP::service_info POST_table[] = { // NB: the table must be ordered alphabetically for binary search...
|
static UHTTP::service_info POST_table[] = { // NB: the table must be ordered alphabetically for binary search...
|
||||||
POST_ENTRY(acceptTermsOfConditions),
|
|
||||||
POST_ENTRY(info),
|
POST_ENTRY(info),
|
||||||
POST_ENTRY(login),
|
POST_ENTRY(login),
|
||||||
POST_ENTRY(notify),
|
POST_ENTRY(notify),
|
||||||
|
|
|
@ -32,9 +32,10 @@ static UPing* sockp;
|
||||||
static bool ap_consume;
|
static bool ap_consume;
|
||||||
static UString* policySessionId;
|
static UString* policySessionId;
|
||||||
static uint8_t vwelcome_index[2][3]; // policy: (DAILY|FLAT), SessionNotify: (0,notify) (1,no_notify) (2,strict_notify)
|
static uint8_t vwelcome_index[2][3]; // policy: (DAILY|FLAT), SessionNotify: (0,notify) (1,no_notify) (2,strict_notify)
|
||||||
|
static int facceptTermsOfConditionsRenew;
|
||||||
static uint64_t counter, device_counter, max_traffic_daily;
|
static uint64_t counter, device_counter, max_traffic_daily;
|
||||||
static uint8_t policySessionNotify, policySessionNotifyDefault;
|
static uint8_t policySessionNotify, policySessionNotifyDefault;
|
||||||
static uint32_t addr, old_addr, ip_peer, created, lastUpdate, lastReset, idx, vec_logout[8192];
|
static uint32_t addr, old_addr, ip_peer, created, lastUpdate, lastReset, idx, duration_privacy_policy, vec_logout[8192];
|
||||||
|
|
||||||
#define U_CLEAN_INTERVAL (60U * 60U) // 1h
|
#define U_CLEAN_INTERVAL (60U * 60U) // 1h
|
||||||
#define U_MAX_TIME_NO_TRAFFIC (15U * 60U) // 15m
|
#define U_MAX_TIME_NO_TRAFFIC (15U * 60U) // 15m
|
||||||
|
@ -177,6 +178,7 @@ static void usp_config_wi_auth2()
|
||||||
// WELCOME_INDEX vector of index for html files - policy: (DAILY|FLAT), SessionNotify: (0,notify) (1,no_notify) (2,strict_notify)
|
// WELCOME_INDEX vector of index for html files - policy: (DAILY|FLAT), SessionNotify: (0,notify) (1,no_notify) (2,strict_notify)
|
||||||
//
|
//
|
||||||
// MAX_TRAFFIC_DAILY
|
// MAX_TRAFFIC_DAILY
|
||||||
|
// DURATION_PRIVACY_POLICY numbers of days for expiration privacy policy
|
||||||
// POLICY_SESSION_NOTIFY_DEFAULT (0,notify) (1,no_notify) (2,strict_notify)
|
// POLICY_SESSION_NOTIFY_DEFAULT (0,notify) (1,no_notify) (2,strict_notify)
|
||||||
// --------------------------------------------------------------------------------------------------------------------------------------
|
// --------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -207,10 +209,11 @@ static void usp_config_wi_auth2()
|
||||||
const char* ptr1 = x.data();
|
const char* ptr1 = x.data();
|
||||||
uint8_t* ptr2 = (uint8_t*)vwelcome_index;
|
uint8_t* ptr2 = (uint8_t*)vwelcome_index;
|
||||||
|
|
||||||
for (uint32_t i = 0, n = x.size(); i < n; ++i) *ptr2 = *ptr1 - '0';
|
for (uint32_t i = 0, n = x.size(); i < n; ++i) ptr2[i] = ptr1[i] - '0';
|
||||||
}
|
}
|
||||||
|
|
||||||
max_traffic_daily = UServer_Base::pcfg->readLong(U_CONSTANT_TO_PARAM("MAX_TRAFFIC_DAILY"), 500ULL * 1024ULL * 1024ULL); // 500M
|
max_traffic_daily = UServer_Base::pcfg->readLong(U_CONSTANT_TO_PARAM("MAX_TRAFFIC_DAILY"), 500ULL * 1024ULL * 1024ULL); // 500M
|
||||||
|
duration_privacy_policy = UServer_Base::pcfg->readLong(U_CONSTANT_TO_PARAM("DURATION_PRIVACY_POLICY"), 365L) * U_ONE_DAY_IN_SECOND; // 1 year
|
||||||
policySessionNotifyDefault = UServer_Base::pcfg->readLong(U_CONSTANT_TO_PARAM("POLICY_SESSION_NOTIFY_DEFAULT"));
|
policySessionNotifyDefault = UServer_Base::pcfg->readLong(U_CONSTANT_TO_PARAM("POLICY_SESSION_NOTIFY_DEFAULT"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -556,8 +559,8 @@ static void setSessionPolicy()
|
||||||
|
|
||||||
policySessionNotify = policySessionNotifyDefault;
|
policySessionNotify = policySessionNotifyDefault;
|
||||||
|
|
||||||
(void) rc->hmset(U_CONSTANT_TO_PARAM("DEVICE:id:%v id %v pId DAILY pNotify 0 pCounter 0 lastAccess %u pLastReset %u created %u"),
|
(void) rc->hmset(U_CONSTANT_TO_PARAM("DEVICE:id:%v id %v pId DAILY pNotify %u pCounter 0 lastAccess %u pLastReset %u created %u"),
|
||||||
mac->rep, mac->rep, u_now->tv_sec, u_now->tv_sec, u_now->tv_sec);
|
mac->rep, mac->rep, policySessionNotifyDefault, u_now->tv_sec, u_now->tv_sec, u_now->tv_sec);
|
||||||
|
|
||||||
(void) rc->zadd(U_CONSTANT_TO_PARAM("DEVICE:bylastAccess %u id:%v"), u_now->tv_sec, mac->rep);
|
(void) rc->zadd(U_CONSTANT_TO_PARAM("DEVICE:bylastAccess %u id:%v"), u_now->tv_sec, mac->rep);
|
||||||
}
|
}
|
||||||
|
@ -684,7 +687,7 @@ static void writeToLOG(const UString& label, const char* op, uint32_t op_len, co
|
||||||
ULog::log(file_LOG->getFd(),
|
ULog::log(file_LOG->getFd(),
|
||||||
U_CONSTANT_TO_PARAM("op: %.*s, mac: %v, ip: %v, ap: %.*s, policy: %v|%.*sconsume|%snotify%v"),
|
U_CONSTANT_TO_PARAM("op: %.*s, mac: %v, ip: %v, ap: %.*s, policy: %v|%.*sconsume|%snotify%v"),
|
||||||
op_len, op, mac->rep, ip->rep, getApInfo(label, buffer), buffer, policySessionId->rep, (ap_consume ? 0 : 3), "no_", (policySessionNotify == 0 ? "" :
|
op_len, op, mac->rep, ip->rep, getApInfo(label, buffer), buffer, policySessionId->rep, (ap_consume ? 0 : 3), "no_", (policySessionNotify == 0 ? "" :
|
||||||
policySessionNotify == 1 ? "no_" : "strict_"), opt.rep);
|
policySessionNotify == 1 ? "no_" : "strict_"), opt.rep);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void writeSessionToLOG(const UString& label, const char* op, uint32_t op_len)
|
static void writeSessionToLOG(const UString& label, const char* op, uint32_t op_len)
|
||||||
|
@ -724,7 +727,7 @@ static void resetDeviceDailyCounter()
|
||||||
{
|
{
|
||||||
device_counter = 0;
|
device_counter = 0;
|
||||||
|
|
||||||
(void) rc->hmset(U_CONSTANT_TO_PARAM("DEVICE:id:%v pCounter 0 pLastReset %u"), mac->rep, u_now->tv_sec);
|
(void) rc->hmset(U_CONSTANT_TO_PARAM("DEVICE:id:%v pLastReset %u"), mac->rep, u_now->tv_sec);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -965,14 +968,99 @@ static void sessionClean(const UString& key)
|
||||||
lostSession(2);
|
lostSession(2);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void GET_acceptTermsOfConditionsExpirationList()
|
static void GET_acceptTermsOfConditions()
|
||||||
{
|
{
|
||||||
U_TRACE_NO_PARAM(5, "::GET_acceptTermsOfConditionsExpirationList()")
|
U_TRACE_NO_PARAM(5, "::GET_acceptTermsOfConditions()")
|
||||||
|
|
||||||
|
// $1 -> ap (with localization => '@')
|
||||||
|
// $2 -> mac
|
||||||
|
|
||||||
|
if (UHTTP::processForm() == 2*2)
|
||||||
|
{
|
||||||
|
ap->clear();
|
||||||
|
mac->clear();
|
||||||
|
|
||||||
|
UHTTP::getFormValue(*ap, U_CONSTANT_TO_PARAM("ap"), 0, 1, 4);
|
||||||
|
|
||||||
|
if (setAccessPoint())
|
||||||
|
{
|
||||||
|
UHTTP::getFormValue(*mac, U_CONSTANT_TO_PARAM("mac"), 0, 3, 4);
|
||||||
|
|
||||||
|
if (mac->isMacAddr())
|
||||||
|
{
|
||||||
|
char buffer[16];
|
||||||
|
|
||||||
|
u_getXMAC(mac->data(), buffer);
|
||||||
|
|
||||||
|
(void) mac->replace(buffer, 12);
|
||||||
|
}
|
||||||
|
|
||||||
|
U_ASSERT(mac->isXMacAddr())
|
||||||
|
|
||||||
|
(void) rc->hmset(U_CONSTANT_TO_PARAM("DEVICE:id:%v ExpirePrivacy %u"), mac->rep, u_now->tv_sec + duration_privacy_policy);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void checkPrivacy(const UString& key)
|
||||||
|
{
|
||||||
|
U_TRACE(5, "::checkPrivacy(%V)", key.rep)
|
||||||
|
|
||||||
|
(void) rc->hmget(U_CONSTANT_TO_PARAM("%v ExpirePrivacy pNotify"), key.rep);
|
||||||
|
|
||||||
|
uint32_t expire = rc->getULong(0);
|
||||||
|
uint8_t policy = rc->getUInt8(1);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* i) SE ["scadenza privacy policy" <= data corrente], ovvero è scaduta ALLORA [SET policy = "strict notify"] AND [SET "scadenza privacy policy" = null]
|
||||||
|
* (ovvero al prossimo accesso verrà ripresentata la richiesta di manifestazione del consenso)
|
||||||
|
*
|
||||||
|
* ii) SE ["scadenza privacy policy" = NULL] AND [policy = "notify"] ALLORA [SET policy = "strict notify"]
|
||||||
|
* (ovvero se si verifica che, per qualunque motivo, non è stato acquisito il consenso,
|
||||||
|
* allora al prossimo accesso di quel device-utente verrà ripresentata la richiesta tramite la pagina associata alla policy "strict notify")
|
||||||
|
*/
|
||||||
|
|
||||||
|
bool bexpired = (expire && expire <= u_now->tv_sec);
|
||||||
|
|
||||||
|
U_INTERNAL_DUMP("bexpired = %b expire = %u policy = %u", bexpired, expire, policy)
|
||||||
|
|
||||||
|
if (bexpired ||
|
||||||
|
(expire == 0 &&
|
||||||
|
policy == 0))
|
||||||
|
{
|
||||||
|
const char* op = "RESET2";
|
||||||
|
const char* ptr = key.c_pointer(U_CONSTANT_SIZE("DEVICE:id:"));
|
||||||
|
|
||||||
|
(void) rc->hmset(U_CONSTANT_TO_PARAM("%v pNotify 2"), key.rep);
|
||||||
|
|
||||||
|
if (bexpired)
|
||||||
|
{
|
||||||
|
op = "RESET1";
|
||||||
|
|
||||||
|
(void) rc->hdel(U_CONSTANT_TO_PARAM("%v ExpirePrivacy"), key.rep);
|
||||||
|
}
|
||||||
|
|
||||||
|
ULog::log(facceptTermsOfConditionsRenew, U_CONSTANT_TO_PARAM("op: %s, mac: %.12s pNotify: %u, ExpirePrivacy: %#3D"), op, ptr, policy, expire);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void GET_acceptTermsOfConditionsRenew()
|
static void GET_acceptTermsOfConditionsRenew()
|
||||||
{
|
{
|
||||||
U_TRACE_NO_PARAM(5, "::GET_acceptTermsOfConditionsRenew()")
|
U_TRACE_NO_PARAM(5, "::GET_acceptTermsOfConditionsRenew()")
|
||||||
|
|
||||||
|
if (UServer_Base::isLocalHost() == false) UHTTP::setBadRequest();
|
||||||
|
else
|
||||||
|
{
|
||||||
|
UString pathname(200U);
|
||||||
|
|
||||||
|
pathname.snprintf(U_CONSTANT_TO_PARAM("../log/acceptTermsOfConditionsRenew.%4D.log"), 0);
|
||||||
|
|
||||||
|
facceptTermsOfConditionsRenew = UFile::creat(pathname.data(), O_TRUNC | O_WRONLY | O_APPEND);
|
||||||
|
|
||||||
|
(void) rc->scan(checkPrivacy, U_CONSTANT_TO_PARAM("DEVICE:id:*"));
|
||||||
|
|
||||||
|
UFile::close(facceptTermsOfConditionsRenew);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void GET_anagrafica()
|
static void GET_anagrafica()
|
||||||
|
@ -1408,7 +1496,11 @@ static void GET_welcome()
|
||||||
{
|
{
|
||||||
// policy: (DAILY|FLAT), SessionNotify: (0,notify) (1,no_notify) (2,strict_notify)
|
// policy: (DAILY|FLAT), SessionNotify: (0,notify) (1,no_notify) (2,strict_notify)
|
||||||
|
|
||||||
UString x = vwelcome_file->at(vwelcome_index[policySessionId->equal(U_CONSTANT_TO_PARAM("FLAT"))][policySessionNotify]);
|
uint8_t index = vwelcome_index[policySessionId->equal(U_CONSTANT_TO_PARAM("FLAT"))][policySessionNotify];
|
||||||
|
|
||||||
|
U_INTERNAL_DUMP("index = %u policySessionId = %V policySessionNotify = %u", index, policySessionId->rep, policySessionNotify)
|
||||||
|
|
||||||
|
UString x = vwelcome_file->at(index);
|
||||||
|
|
||||||
UHTTP::UFileCacheData* welcome_html = UHTTP::getFileCachePointer(U_STRING_TO_PARAM(x));
|
UHTTP::UFileCacheData* welcome_html = UHTTP::getFileCachePointer(U_STRING_TO_PARAM(x));
|
||||||
|
|
||||||
|
@ -1420,11 +1512,6 @@ static void GET_welcome()
|
||||||
U_http_info.nResponseCode = HTTP_NO_CONTENT; // NB: to escape management after usp exit...
|
U_http_info.nResponseCode = HTTP_NO_CONTENT; // NB: to escape management after usp exit...
|
||||||
}
|
}
|
||||||
|
|
||||||
static void POST_acceptTermsOfConditions()
|
|
||||||
{
|
|
||||||
U_TRACE_NO_PARAM(5, "::POST_acceptTermsOfConditions()")
|
|
||||||
}
|
|
||||||
|
|
||||||
static void POST_login()
|
static void POST_login()
|
||||||
{
|
{
|
||||||
U_TRACE_NO_PARAM(5, "::POST_login()")
|
U_TRACE_NO_PARAM(5, "::POST_login()")
|
||||||
|
|
|
@ -201,7 +201,8 @@ public:
|
||||||
|
|
||||||
// write without prefix
|
// write without prefix
|
||||||
|
|
||||||
static void log(int lfd, const char* format, uint32_t fmt_size, ...); // (buffer write == 8196)
|
static void log(int lfd, const char* format, uint32_t fmt_size, ...); // (buffer write == 8196)
|
||||||
|
static void log(UString& buffer, const char* format, uint32_t fmt_size, ...); // (buffer write == 8196)
|
||||||
|
|
||||||
// logger
|
// logger
|
||||||
|
|
||||||
|
|
|
@ -255,6 +255,24 @@ public:
|
||||||
U_RETURN(ok);
|
U_RETURN(ok);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// HDEL key field [field ...]
|
||||||
|
|
||||||
|
bool hdel(const char* format, uint32_t fmt_size, ...)
|
||||||
|
{
|
||||||
|
U_TRACE(0, "UREDISClient_Base::hdel(%.*S,%u)", fmt_size, format, fmt_size)
|
||||||
|
|
||||||
|
bool ok;
|
||||||
|
|
||||||
|
va_list argp;
|
||||||
|
va_start(argp, fmt_size);
|
||||||
|
|
||||||
|
ok = (processMethod(U_RC_INT, U_CONSTANT_TO_PARAM("HDEL"), format, fmt_size, argp) ? getUInt8() : false);
|
||||||
|
|
||||||
|
va_end(argp);
|
||||||
|
|
||||||
|
U_RETURN(ok);
|
||||||
|
}
|
||||||
|
|
||||||
bool set(const char* key, uint32_t keylen, const char* value, uint32_t valuelen) // Set the string value of a key
|
bool set(const char* key, uint32_t keylen, const char* value, uint32_t valuelen) // Set the string value of a key
|
||||||
{
|
{
|
||||||
U_TRACE(0, "UREDISClient_Base::set(%.*S,%u,%.*S,%u)", keylen, key, keylen, valuelen, value, valuelen)
|
U_TRACE(0, "UREDISClient_Base::set(%.*S,%u,%.*S,%u)", keylen, key, keylen, valuelen, value, valuelen)
|
||||||
|
|
|
@ -71,7 +71,7 @@ public:
|
||||||
Old = 0x002
|
Old = 0x002
|
||||||
};
|
};
|
||||||
|
|
||||||
USSLSocket(bool bSocketIsIPv6 = false, SSL_CTX* ctx = U_NULLPTR, bool server = false);
|
USSLSocket(bool bSocketIsIPv6 = false, SSL_CTX* ctx = U_NULLPTR, bool server = false, int fd = -1);
|
||||||
~USSLSocket();
|
~USSLSocket();
|
||||||
|
|
||||||
bool secureConnection();
|
bool secureConnection();
|
||||||
|
|
|
@ -591,6 +591,35 @@ void ULog::log(int lfd, const char* fmt, uint32_t fmt_size, ...)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ULog::log(UString& lbuffer, const char* fmt, uint32_t fmt_size, ...)
|
||||||
|
{
|
||||||
|
U_TRACE(0, "ULog::log(%V,%.*S,%u)", lbuffer.rep, fmt_size, fmt, fmt_size)
|
||||||
|
|
||||||
|
uint32_t len;
|
||||||
|
char buffer[8196];
|
||||||
|
|
||||||
|
va_list argp;
|
||||||
|
va_start(argp, fmt_size);
|
||||||
|
|
||||||
|
len = u__vsnprintf(buffer, U_CONSTANT_SIZE(buffer), fmt, fmt_size, argp);
|
||||||
|
|
||||||
|
va_end(argp);
|
||||||
|
|
||||||
|
U_INTERNAL_ASSERT_EQUALS(iov_vec[0].iov_len, 17)
|
||||||
|
U_INTERNAL_ASSERT_EQUALS(iov_vec[1].iov_len, 1)
|
||||||
|
U_INTERNAL_ASSERT_EQUALS(iov_vec[4].iov_len, 1)
|
||||||
|
|
||||||
|
iov_vec[3].iov_len = len;
|
||||||
|
iov_vec[3].iov_base = (caddr_t)buffer;
|
||||||
|
|
||||||
|
updateDate1();
|
||||||
|
|
||||||
|
for (int i = 0; i < 5; ++i)
|
||||||
|
{
|
||||||
|
if (iov_vec[i].iov_len) (void) lbuffer.append((const char*)iov_vec[i].iov_base, iov_vec[i].iov_len);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void ULog::log(const struct iovec* iov, const char* type, int ncount, const char* msg, uint32_t msg_len, const char* format, uint32_t fmt_size, ...)
|
void ULog::log(const struct iovec* iov, const char* type, int ncount, const char* msg, uint32_t msg_len, const char* format, uint32_t fmt_size, ...)
|
||||||
{
|
{
|
||||||
U_TRACE(0, "ULog::log(%p,%S,%d,%.*S,%u,%.*S,%u)", iov, type, ncount, msg_len, msg, msg_len, fmt_size, format, fmt_size)
|
U_TRACE(0, "ULog::log(%p,%S,%d,%.*S,%u,%.*S,%u)", iov, type, ncount, msg_len, msg, msg_len, fmt_size, format, fmt_size)
|
||||||
|
|
|
@ -64,9 +64,9 @@ USSLSocket::stapling USSLSocket::staple;
|
||||||
* requiring a bi-directional message exchange; both SSL_read() and SSL_write() will try to continue any pending handshake
|
* requiring a bi-directional message exchange; both SSL_read() and SSL_write() will try to continue any pending handshake
|
||||||
*/
|
*/
|
||||||
|
|
||||||
USSLSocket::USSLSocket(bool bSocketIsIPv6, SSL_CTX* _ctx, bool bserver) : USocket(bSocketIsIPv6)
|
USSLSocket::USSLSocket(bool bSocketIsIPv6, SSL_CTX* _ctx, bool bserver, int fd) : USocket(bSocketIsIPv6, fd)
|
||||||
{
|
{
|
||||||
U_TRACE_CTOR(0, USSLSocket, "%b,%p,%b", bSocketIsIPv6, _ctx, bserver)
|
U_TRACE_CTOR(0, USSLSocket, "%b,%p,%b,%d", bSocketIsIPv6, _ctx, bserver, fd)
|
||||||
|
|
||||||
ciphersuite_model = Intermediate;
|
ciphersuite_model = Intermediate;
|
||||||
|
|
||||||
|
|
|
@ -4511,6 +4511,7 @@ file_in_cache:
|
||||||
setDynamicResponse();
|
setDynamicResponse();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (U_http_info.nResponseCode == HTTP_NO_CONTENT) U_http_info.nResponseCode = HTTP_OK; // NB: to escape management after usp exit...
|
||||||
|
|
||||||
U_RESET_MODULE_NAME;
|
U_RESET_MODULE_NAME;
|
||||||
|
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
0441
|
0454
|
||||||
|
|
|
@ -7,8 +7,8 @@ Debian 7.11 was released Saturday, 4th June 2016.
|
||||||
Debian 8.11, or jessie. Access this release through dists/oldstable
|
Debian 8.11, or jessie. Access this release through dists/oldstable
|
||||||
Debian 8.11 was released Saturday, 23rd June 2018.
|
Debian 8.11 was released Saturday, 23rd June 2018.
|
||||||
|
|
||||||
Debian 9.5, or stretch. Access this release through dists/stable
|
Debian 9.6, or stretch. Access this release through dists/stable
|
||||||
Debian 9.5 was released Saturday, 14th July 2018.
|
Debian 9.6 was released Saturday, 10th November 2018.
|
||||||
|
|
||||||
Testing, or buster. Access this release through dists/testing. The
|
Testing, or buster. Access this release through dists/testing. The
|
||||||
current tested development snapshot is named buster. Packages which
|
current tested development snapshot is named buster. Packages which
|
||||||
|
|
|
@ -10,10 +10,10 @@ plugin/product1.lo: plugin/product1.cpp /usr/include/stdc-predef.h \
|
||||||
/usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \
|
/usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \
|
||||||
/usr/include/bits/types.h /usr/include/bits/typesizes.h \
|
/usr/include/bits/types.h /usr/include/bits/typesizes.h \
|
||||||
/usr/include/bits/mman.h /usr/include/bits/mman-linux.h \
|
/usr/include/bits/mman.h /usr/include/bits/mman-linux.h \
|
||||||
/usr/include/stdio.h /usr/include/bits/libc-header-start.h \
|
/usr/include/bits/mman-shared.h /usr/include/stdio.h \
|
||||||
/usr/include/bits/types/__FILE.h /usr/include/bits/types/FILE.h \
|
/usr/include/bits/libc-header-start.h /usr/include/bits/types/__FILE.h \
|
||||||
/usr/include/libio.h /usr/include/_G_config.h \
|
/usr/include/bits/types/FILE.h /usr/include/bits/libio.h \
|
||||||
/usr/include/bits/types/__mbstate_t.h \
|
/usr/include/bits/_G_config.h /usr/include/bits/types/__mbstate_t.h \
|
||||||
/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/stdarg.h \
|
/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/stdarg.h \
|
||||||
/usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
|
/usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
|
||||||
/usr/include/bits/stdio.h /usr/include/bits/stdio2.h \
|
/usr/include/bits/stdio.h /usr/include/bits/stdio2.h \
|
||||||
|
@ -46,14 +46,15 @@ plugin/product1.lo: plugin/product1.cpp /usr/include/stdc-predef.h \
|
||||||
/usr/include/bits/setjmp.h /usr/include/signal.h \
|
/usr/include/bits/setjmp.h /usr/include/signal.h \
|
||||||
/usr/include/bits/signum.h /usr/include/bits/signum-generic.h \
|
/usr/include/bits/signum.h /usr/include/bits/signum-generic.h \
|
||||||
/usr/include/bits/types/sig_atomic_t.h \
|
/usr/include/bits/types/sig_atomic_t.h \
|
||||||
/usr/include/bits/types/siginfo_t.h /usr/include/bits/types/sigval_t.h \
|
/usr/include/bits/types/siginfo_t.h /usr/include/bits/types/__sigval_t.h \
|
||||||
/usr/include/bits/siginfo-arch.h /usr/include/bits/siginfo-consts.h \
|
/usr/include/bits/siginfo-arch.h /usr/include/bits/siginfo-consts.h \
|
||||||
/usr/include/bits/siginfo-consts-arch.h \
|
/usr/include/bits/siginfo-consts-arch.h \
|
||||||
/usr/include/bits/types/sigevent_t.h /usr/include/bits/sigevent-consts.h \
|
/usr/include/bits/types/sigval_t.h /usr/include/bits/types/sigevent_t.h \
|
||||||
/usr/include/bits/sigaction.h /usr/include/bits/sigcontext.h \
|
/usr/include/bits/sigevent-consts.h /usr/include/bits/sigaction.h \
|
||||||
/usr/include/bits/types/stack_t.h /usr/include/sys/ucontext.h \
|
/usr/include/bits/sigcontext.h /usr/include/bits/types/stack_t.h \
|
||||||
/usr/include/bits/sigstack.h /usr/include/bits/ss_flags.h \
|
/usr/include/sys/ucontext.h /usr/include/bits/sigstack.h \
|
||||||
/usr/include/bits/types/struct_sigstack.h /usr/include/bits/sigthread.h \
|
/usr/include/bits/ss_flags.h /usr/include/bits/types/struct_sigstack.h \
|
||||||
|
/usr/include/bits/sigthread.h \
|
||||||
/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/g++-v8/stdlib.h \
|
/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/g++-v8/stdlib.h \
|
||||||
/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/g++-v8/cstdlib \
|
/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/g++-v8/cstdlib \
|
||||||
/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/g++-v8/x86_64-pc-linux-gnu/bits/c++config.h \
|
/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/g++-v8/x86_64-pc-linux-gnu/bits/c++config.h \
|
||||||
|
@ -61,8 +62,9 @@ plugin/product1.lo: plugin/product1.cpp /usr/include/stdc-predef.h \
|
||||||
/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/g++-v8/x86_64-pc-linux-gnu/bits/cpu_defines.h \
|
/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/g++-v8/x86_64-pc-linux-gnu/bits/cpu_defines.h \
|
||||||
/usr/include/stdlib.h /usr/include/bits/waitflags.h \
|
/usr/include/stdlib.h /usr/include/bits/waitflags.h \
|
||||||
/usr/include/bits/waitstatus.h /usr/include/bits/floatn.h \
|
/usr/include/bits/waitstatus.h /usr/include/bits/floatn.h \
|
||||||
/usr/include/alloca.h /usr/include/bits/stdlib-bsearch.h \
|
/usr/include/bits/floatn-common.h /usr/include/alloca.h \
|
||||||
/usr/include/bits/stdlib-float.h /usr/include/bits/stdlib.h \
|
/usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \
|
||||||
|
/usr/include/bits/stdlib.h \
|
||||||
/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/g++-v8/bits/std_abs.h \
|
/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/g++-v8/bits/std_abs.h \
|
||||||
/usr/include/ctype.h ../../include/ulib/base/replace/replace.h \
|
/usr/include/ctype.h ../../include/ulib/base/replace/replace.h \
|
||||||
/usr/src/linux/include/generated/uapi/linux/version.h \
|
/usr/src/linux/include/generated/uapi/linux/version.h \
|
||||||
|
@ -257,6 +259,8 @@ plugin/product.h:
|
||||||
|
|
||||||
/usr/include/bits/mman-linux.h:
|
/usr/include/bits/mman-linux.h:
|
||||||
|
|
||||||
|
/usr/include/bits/mman-shared.h:
|
||||||
|
|
||||||
/usr/include/stdio.h:
|
/usr/include/stdio.h:
|
||||||
|
|
||||||
/usr/include/bits/libc-header-start.h:
|
/usr/include/bits/libc-header-start.h:
|
||||||
|
@ -265,9 +269,9 @@ plugin/product.h:
|
||||||
|
|
||||||
/usr/include/bits/types/FILE.h:
|
/usr/include/bits/types/FILE.h:
|
||||||
|
|
||||||
/usr/include/libio.h:
|
/usr/include/bits/libio.h:
|
||||||
|
|
||||||
/usr/include/_G_config.h:
|
/usr/include/bits/_G_config.h:
|
||||||
|
|
||||||
/usr/include/bits/types/__mbstate_t.h:
|
/usr/include/bits/types/__mbstate_t.h:
|
||||||
|
|
||||||
|
@ -391,7 +395,7 @@ plugin/product.h:
|
||||||
|
|
||||||
/usr/include/bits/types/siginfo_t.h:
|
/usr/include/bits/types/siginfo_t.h:
|
||||||
|
|
||||||
/usr/include/bits/types/sigval_t.h:
|
/usr/include/bits/types/__sigval_t.h:
|
||||||
|
|
||||||
/usr/include/bits/siginfo-arch.h:
|
/usr/include/bits/siginfo-arch.h:
|
||||||
|
|
||||||
|
@ -399,6 +403,8 @@ plugin/product.h:
|
||||||
|
|
||||||
/usr/include/bits/siginfo-consts-arch.h:
|
/usr/include/bits/siginfo-consts-arch.h:
|
||||||
|
|
||||||
|
/usr/include/bits/types/sigval_t.h:
|
||||||
|
|
||||||
/usr/include/bits/types/sigevent_t.h:
|
/usr/include/bits/types/sigevent_t.h:
|
||||||
|
|
||||||
/usr/include/bits/sigevent-consts.h:
|
/usr/include/bits/sigevent-consts.h:
|
||||||
|
@ -437,6 +443,8 @@ plugin/product.h:
|
||||||
|
|
||||||
/usr/include/bits/floatn.h:
|
/usr/include/bits/floatn.h:
|
||||||
|
|
||||||
|
/usr/include/bits/floatn-common.h:
|
||||||
|
|
||||||
/usr/include/alloca.h:
|
/usr/include/alloca.h:
|
||||||
|
|
||||||
/usr/include/bits/stdlib-bsearch.h:
|
/usr/include/bits/stdlib-bsearch.h:
|
||||||
|
|
|
@ -10,10 +10,10 @@ plugin/product2.lo: plugin/product2.cpp /usr/include/stdc-predef.h \
|
||||||
/usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \
|
/usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \
|
||||||
/usr/include/bits/types.h /usr/include/bits/typesizes.h \
|
/usr/include/bits/types.h /usr/include/bits/typesizes.h \
|
||||||
/usr/include/bits/mman.h /usr/include/bits/mman-linux.h \
|
/usr/include/bits/mman.h /usr/include/bits/mman-linux.h \
|
||||||
/usr/include/stdio.h /usr/include/bits/libc-header-start.h \
|
/usr/include/bits/mman-shared.h /usr/include/stdio.h \
|
||||||
/usr/include/bits/types/__FILE.h /usr/include/bits/types/FILE.h \
|
/usr/include/bits/libc-header-start.h /usr/include/bits/types/__FILE.h \
|
||||||
/usr/include/libio.h /usr/include/_G_config.h \
|
/usr/include/bits/types/FILE.h /usr/include/bits/libio.h \
|
||||||
/usr/include/bits/types/__mbstate_t.h \
|
/usr/include/bits/_G_config.h /usr/include/bits/types/__mbstate_t.h \
|
||||||
/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/stdarg.h \
|
/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/stdarg.h \
|
||||||
/usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
|
/usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
|
||||||
/usr/include/bits/stdio.h /usr/include/bits/stdio2.h \
|
/usr/include/bits/stdio.h /usr/include/bits/stdio2.h \
|
||||||
|
@ -46,14 +46,15 @@ plugin/product2.lo: plugin/product2.cpp /usr/include/stdc-predef.h \
|
||||||
/usr/include/bits/setjmp.h /usr/include/signal.h \
|
/usr/include/bits/setjmp.h /usr/include/signal.h \
|
||||||
/usr/include/bits/signum.h /usr/include/bits/signum-generic.h \
|
/usr/include/bits/signum.h /usr/include/bits/signum-generic.h \
|
||||||
/usr/include/bits/types/sig_atomic_t.h \
|
/usr/include/bits/types/sig_atomic_t.h \
|
||||||
/usr/include/bits/types/siginfo_t.h /usr/include/bits/types/sigval_t.h \
|
/usr/include/bits/types/siginfo_t.h /usr/include/bits/types/__sigval_t.h \
|
||||||
/usr/include/bits/siginfo-arch.h /usr/include/bits/siginfo-consts.h \
|
/usr/include/bits/siginfo-arch.h /usr/include/bits/siginfo-consts.h \
|
||||||
/usr/include/bits/siginfo-consts-arch.h \
|
/usr/include/bits/siginfo-consts-arch.h \
|
||||||
/usr/include/bits/types/sigevent_t.h /usr/include/bits/sigevent-consts.h \
|
/usr/include/bits/types/sigval_t.h /usr/include/bits/types/sigevent_t.h \
|
||||||
/usr/include/bits/sigaction.h /usr/include/bits/sigcontext.h \
|
/usr/include/bits/sigevent-consts.h /usr/include/bits/sigaction.h \
|
||||||
/usr/include/bits/types/stack_t.h /usr/include/sys/ucontext.h \
|
/usr/include/bits/sigcontext.h /usr/include/bits/types/stack_t.h \
|
||||||
/usr/include/bits/sigstack.h /usr/include/bits/ss_flags.h \
|
/usr/include/sys/ucontext.h /usr/include/bits/sigstack.h \
|
||||||
/usr/include/bits/types/struct_sigstack.h /usr/include/bits/sigthread.h \
|
/usr/include/bits/ss_flags.h /usr/include/bits/types/struct_sigstack.h \
|
||||||
|
/usr/include/bits/sigthread.h \
|
||||||
/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/g++-v8/stdlib.h \
|
/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/g++-v8/stdlib.h \
|
||||||
/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/g++-v8/cstdlib \
|
/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/g++-v8/cstdlib \
|
||||||
/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/g++-v8/x86_64-pc-linux-gnu/bits/c++config.h \
|
/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/g++-v8/x86_64-pc-linux-gnu/bits/c++config.h \
|
||||||
|
@ -61,8 +62,9 @@ plugin/product2.lo: plugin/product2.cpp /usr/include/stdc-predef.h \
|
||||||
/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/g++-v8/x86_64-pc-linux-gnu/bits/cpu_defines.h \
|
/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/g++-v8/x86_64-pc-linux-gnu/bits/cpu_defines.h \
|
||||||
/usr/include/stdlib.h /usr/include/bits/waitflags.h \
|
/usr/include/stdlib.h /usr/include/bits/waitflags.h \
|
||||||
/usr/include/bits/waitstatus.h /usr/include/bits/floatn.h \
|
/usr/include/bits/waitstatus.h /usr/include/bits/floatn.h \
|
||||||
/usr/include/alloca.h /usr/include/bits/stdlib-bsearch.h \
|
/usr/include/bits/floatn-common.h /usr/include/alloca.h \
|
||||||
/usr/include/bits/stdlib-float.h /usr/include/bits/stdlib.h \
|
/usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \
|
||||||
|
/usr/include/bits/stdlib.h \
|
||||||
/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/g++-v8/bits/std_abs.h \
|
/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/g++-v8/bits/std_abs.h \
|
||||||
/usr/include/ctype.h ../../include/ulib/base/replace/replace.h \
|
/usr/include/ctype.h ../../include/ulib/base/replace/replace.h \
|
||||||
/usr/src/linux/include/generated/uapi/linux/version.h \
|
/usr/src/linux/include/generated/uapi/linux/version.h \
|
||||||
|
@ -257,6 +259,8 @@ plugin/product.h:
|
||||||
|
|
||||||
/usr/include/bits/mman-linux.h:
|
/usr/include/bits/mman-linux.h:
|
||||||
|
|
||||||
|
/usr/include/bits/mman-shared.h:
|
||||||
|
|
||||||
/usr/include/stdio.h:
|
/usr/include/stdio.h:
|
||||||
|
|
||||||
/usr/include/bits/libc-header-start.h:
|
/usr/include/bits/libc-header-start.h:
|
||||||
|
@ -265,9 +269,9 @@ plugin/product.h:
|
||||||
|
|
||||||
/usr/include/bits/types/FILE.h:
|
/usr/include/bits/types/FILE.h:
|
||||||
|
|
||||||
/usr/include/libio.h:
|
/usr/include/bits/libio.h:
|
||||||
|
|
||||||
/usr/include/_G_config.h:
|
/usr/include/bits/_G_config.h:
|
||||||
|
|
||||||
/usr/include/bits/types/__mbstate_t.h:
|
/usr/include/bits/types/__mbstate_t.h:
|
||||||
|
|
||||||
|
@ -391,7 +395,7 @@ plugin/product.h:
|
||||||
|
|
||||||
/usr/include/bits/types/siginfo_t.h:
|
/usr/include/bits/types/siginfo_t.h:
|
||||||
|
|
||||||
/usr/include/bits/types/sigval_t.h:
|
/usr/include/bits/types/__sigval_t.h:
|
||||||
|
|
||||||
/usr/include/bits/siginfo-arch.h:
|
/usr/include/bits/siginfo-arch.h:
|
||||||
|
|
||||||
|
@ -399,6 +403,8 @@ plugin/product.h:
|
||||||
|
|
||||||
/usr/include/bits/siginfo-consts-arch.h:
|
/usr/include/bits/siginfo-consts-arch.h:
|
||||||
|
|
||||||
|
/usr/include/bits/types/sigval_t.h:
|
||||||
|
|
||||||
/usr/include/bits/types/sigevent_t.h:
|
/usr/include/bits/types/sigevent_t.h:
|
||||||
|
|
||||||
/usr/include/bits/sigevent-consts.h:
|
/usr/include/bits/sigevent-consts.h:
|
||||||
|
@ -437,6 +443,8 @@ plugin/product.h:
|
||||||
|
|
||||||
/usr/include/bits/floatn.h:
|
/usr/include/bits/floatn.h:
|
||||||
|
|
||||||
|
/usr/include/bits/floatn-common.h:
|
||||||
|
|
||||||
/usr/include/alloca.h:
|
/usr/include/alloca.h:
|
||||||
|
|
||||||
/usr/include/bits/stdlib-bsearch.h:
|
/usr/include/bits/stdlib-bsearch.h:
|
||||||
|
|
Loading…
Reference in New Issue
Block a user