From: <ps...@us...> - 2008-09-21 08:02:18
|
Revision: 1212 http://znc.svn.sourceforge.net/znc/?rev=1212&view=rev Author: psychon Date: 2008-09-21 08:02:15 +0000 (Sun, 21 Sep 2008) Log Message: ----------- Fix compilation with gcc 4.3.1 is ssl is disabled The gcc devs cleaned up their includes again. Some openssl header pulled in the needed includes, too, but this obviously doesn't help if ssl is disabled. Thanks to sebastinas for reporting and to fred and the-me for testing. Modified Paths: -------------- trunk/Utils.cpp Modified: trunk/Utils.cpp =================================================================== --- trunk/Utils.cpp 2008-09-20 16:00:26 UTC (rev 1211) +++ trunk/Utils.cpp 2008-09-21 08:02:15 UTC (rev 1212) @@ -17,6 +17,10 @@ #include <sys/types.h> #include <unistd.h> +// Required with GCC 4.3+ if openssl is disabled +#include <cstring> +#include <cstdlib> + using std::stringstream; bool CUtils::stdoutIsTTY; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ps...@us...> - 2008-09-28 16:55:31
|
Revision: 1223 http://znc.svn.sourceforge.net/znc/?rev=1223&view=rev Author: psychon Date: 2008-09-28 16:55:27 +0000 (Sun, 28 Sep 2008) Log Message: ----------- Print warnings in CTable if you feed it with unknown columns Modified Paths: -------------- trunk/Utils.cpp Modified: trunk/Utils.cpp =================================================================== --- trunk/Utils.cpp 2008-09-28 12:05:49 UTC (rev 1222) +++ trunk/Utils.cpp 2008-09-28 16:55:27 UTC (rev 1223) @@ -8,6 +8,7 @@ #include "Utils.h" #include "MD5.h" +#include "main.h" #include <errno.h> #ifdef HAVE_LIBSSL #include <openssl/ssl.h> @@ -522,6 +523,8 @@ return i; } + DEBUG_ONLY(cout << "CTable::GetColumnIndex(" + sName + ") failed" << endl); + return 0; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <kr...@us...> - 2008-10-10 15:45:24
|
Revision: 1244 http://znc.svn.sourceforge.net/znc/?rev=1244&view=rev Author: kroimon Date: 2008-10-10 15:45:20 +0000 (Fri, 10 Oct 2008) Log Message: ----------- Add recognition for 'y' and 'n' to CUtils::GetBoolInput. Only 'yes'/'no' was possible before. This commit also fixes a possible stack overflow because of recursion. Modified Paths: -------------- trunk/Utils.cpp Modified: trunk/Utils.cpp =================================================================== --- trunk/Utils.cpp 2008-10-09 17:11:06 UTC (rev 1243) +++ trunk/Utils.cpp 2008-10-10 15:45:20 UTC (rev 1244) @@ -258,15 +258,15 @@ sDefault = (*pbDefault) ? "yes" : "no"; } - GetInput(sPrompt, sRet, sDefault, "yes/no"); + while (true) { + GetInput(sPrompt, sRet, sDefault, "yes/no"); - if (sRet.Equals("yes")) { - return true; - } else if (sRet.Equals("no")) { - return false; + if (sRet.Equals("y") || sRet.Equals("yes")) { + return true; + } else if (sRet.Equals("n") || sRet.Equals("no")) { + return false; + } } - - return GetBoolInput(sPrompt, pbDefault); } bool CUtils::GetNumInput(const CString& sPrompt, unsigned int& uRet, unsigned int uMin, unsigned int uMax, unsigned int uDefault) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ps...@us...> - 2009-01-22 17:52:41
|
Revision: 1340 http://znc.svn.sourceforge.net/znc/?rev=1340&view=rev Author: psychon Date: 2009-01-22 17:52:35 +0000 (Thu, 22 Jan 2009) Log Message: ----------- Fix a bug where ZNC would fail to send out its own ip for DCC bouncing CUtils::GetLongIP() had a bug where it would overflow an integer for IPs which started which a number higher than 127. This is now fixed by using unsigned integers and doing that shift on a long. Modified Paths: -------------- trunk/Utils.cpp Modified: trunk/Utils.cpp =================================================================== --- trunk/Utils.cpp 2009-01-22 11:19:42 UTC (rev 1339) +++ trunk/Utils.cpp 2009-01-22 17:52:35 UTC (rev 1340) @@ -149,17 +149,18 @@ unsigned long CUtils::GetLongIP(const CString& sIP) { unsigned long ret; char ip[4][4]; - int i; + unsigned int i; i = sscanf(sIP.c_str(), "%3[0-9].%3[0-9].%3[0-9].%3[0-9]", ip[0], ip[1], ip[2], ip[3]); if (i != 4) return 0; - ret = atoi(ip[0]) << 24; - ret += atoi(ip[1]) << 16; - ret += atoi(ip[2]) << 8; - ret += atoi(ip[3]) << 0; + // Beware that atoi("200") << 24 would overflow and turn negative! + ret = atol(ip[0]) << 24; + ret += atol(ip[1]) << 16; + ret += atol(ip[2]) << 8; + ret += atol(ip[3]) << 0; return ret; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ps...@us...> - 2009-02-03 18:16:13
|
Revision: 1365 http://znc.svn.sourceforge.net/znc/?rev=1365&view=rev Author: psychon Date: 2009-02-03 18:15:56 +0000 (Tue, 03 Feb 2009) Log Message: ----------- Remove this unused definition of strcasestr() No idea why we provide this definition for __sun (solaris?), but it doesn't look like anything uses this and we don't compile on those weird boxes anyway. Modified Paths: -------------- trunk/Utils.cpp Modified: trunk/Utils.cpp =================================================================== --- trunk/Utils.cpp 2009-02-02 15:24:48 UTC (rev 1364) +++ trunk/Utils.cpp 2009-02-03 18:15:56 UTC (rev 1365) @@ -29,29 +29,6 @@ CUtils::CUtils() {} CUtils::~CUtils() {} -#ifdef __sun -char *strcasestr(const char *big, const char *little) { - int len; - - if (!little || !big || !little[0]) { - return (char *) big; - } - - len = strlen(little); - while (*big) { - if (tolower(*big) == tolower(*little)) { - if (strncasecmp(big, little, len) == 0) { - return (char *) big; - } - } - - big++; - } - - return NULL; -} -#endif /* __sun */ - #ifdef HAVE_LIBSSL void CUtils::GenerateCert(FILE *pOut, bool bEncPrivKey, const CString& sHost) { EVP_PKEY *pKey = NULL; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sil...@us...> - 2009-03-22 14:41:09
|
Revision: 1437 http://znc.svn.sourceforge.net/znc/?rev=1437&view=rev Author: silverleo Date: 2009-03-22 14:41:04 +0000 (Sun, 22 Mar 2009) Log Message: ----------- Remove some useless tags from a non-tty output. Modified Paths: -------------- trunk/Utils.cpp Modified: trunk/Utils.cpp =================================================================== --- trunk/Utils.cpp 2009-03-21 09:32:50 UTC (rev 1436) +++ trunk/Utils.cpp 2009-03-22 14:41:04 UTC (rev 1437) @@ -275,7 +275,7 @@ if (stdoutIsTTY) fprintf(stdout, "\033[1m\033[34m[\033[31m ** \033[34m]\033[39m\033[22m %s\n", sMessage.c_str()); else - fprintf(stdout, "[ ** ] %s\n", sMessage.c_str()); + fprintf(stdout, "%s\n", sMessage.c_str()); fflush(stdout); } @@ -335,7 +335,7 @@ fprintf(stdout, "[ %s ]", sMessage.c_str()); } - fprintf(stdout, "\n[ !! ]\n"); + fprintf(stdout, "\n"); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ps...@us...> - 2010-02-03 17:37:17
|
Revision: 1732 http://znc.svn.sourceforge.net/znc/?rev=1732&view=rev Author: psychon Date: 2010-02-03 17:37:10 +0000 (Wed, 03 Feb 2010) Log Message: ----------- CUtils::GenerateCert(): Set the issuer name This hopefully fixes sf.net#2855717. Modified Paths: -------------- trunk/Utils.cpp Modified: trunk/Utils.cpp =================================================================== --- trunk/Utils.cpp 2010-02-03 16:47:48 UTC (rev 1731) +++ trunk/Utils.cpp 2010-02-03 17:37:10 UTC (rev 1732) @@ -99,6 +99,7 @@ X509_NAME_add_entry_by_txt(pName, "emailAddress", MBSTRING_ASC, (unsigned char *)sEmailAddr.c_str(), -1, -1, 0); X509_set_subject_name(pCert, pName); + X509_set_issuer_name(pCert, pName); if (!X509_sign(pCert, pKey, EVP_md5())) { X509_free(pCert); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ps...@us...> - 2010-02-18 20:42:02
|
Revision: 1774 http://znc.svn.sourceforge.net/znc/?rev=1774&view=rev Author: psychon Date: 2010-02-18 20:41:56 +0000 (Thu, 18 Feb 2010) Log Message: ----------- Generate stronger certificates in --makepem Idea and patch by Reed Loden on the bug tracker, thanks a lot. Modified Paths: -------------- trunk/Utils.cpp Modified: trunk/Utils.cpp =================================================================== --- trunk/Utils.cpp 2010-02-18 17:07:50 UTC (rev 1773) +++ trunk/Utils.cpp 2010-02-18 20:41:56 UTC (rev 1774) @@ -45,7 +45,7 @@ u_int iSeed = time(NULL); int serial = (rand_r(&iSeed) % 9999); - RSA *pRSA = RSA_generate_key(1024, 0x10001, NULL, NULL); + RSA *pRSA = RSA_generate_key(2048, 0x10001, NULL, NULL); if ((pKey = EVP_PKEY_new())) { if (!EVP_PKEY_assign_RSA(pKey, pRSA)) { EVP_PKEY_free(pKey); @@ -101,7 +101,7 @@ X509_set_subject_name(pCert, pName); X509_set_issuer_name(pCert, pName); - if (!X509_sign(pCert, pKey, EVP_md5())) { + if (!X509_sign(pCert, pKey, EVP_sha1())) { X509_free(pCert); EVP_PKEY_free(pKey); return; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cf...@us...> - 2010-06-19 19:31:48
|
Revision: 2031 http://znc.svn.sourceforge.net/znc/?rev=2031&view=rev Author: cflakes Date: 2010-06-19 19:31:42 +0000 (Sat, 19 Jun 2010) Log Message: ----------- Made CTable not crash if someone failed at coding at tries to assign a value to a non-existant column. Found and first patch by BrianC, thanks. Modified Paths: -------------- trunk/Utils.cpp Modified: trunk/Utils.cpp =================================================================== --- trunk/Utils.cpp 2010-06-19 19:07:24 UTC (rev 2030) +++ trunk/Utils.cpp 2010-06-19 19:31:42 UTC (rev 2031) @@ -355,9 +355,14 @@ } unsigned int CTable::AddRow() { + // Don't add a row if no headers are defined + if (sHeaders.empty()) { + return (unsigned int) -1; + } + // Add a vector with enough space for each column push_back(vector<CString>(m_vsHeaders.size())); - return size() -1; + return size() - 1; } bool CTable::SetCell(const CString& sColumn, const CString& sValue, unsigned int uRowIdx) { @@ -369,8 +374,13 @@ uRowIdx = size() -1; } - (*this)[uRowIdx][GetColumnIndex(sColumn)] = sValue; + unsigned int uColIdx = GetColumnIndex(sColumn); + if (uColIdx == (unsigned int) -1) + return false; + + (*this)[uRowIdx][uColIdx] = sValue; + if (m_msuWidths[sColumn] < sValue.size()) m_msuWidths[sColumn] = sValue.size(); @@ -465,7 +475,7 @@ DEBUG("CTable::GetColumnIndex(" + sName + ") failed"); - return 0; + return (unsigned int) -1; } unsigned int CTable::GetColumnWidth(unsigned int uIdx) const { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cf...@us...> - 2010-06-19 19:37:11
|
Revision: 2032 http://znc.svn.sourceforge.net/znc/?rev=2032&view=rev Author: cflakes Date: 2010-06-19 19:37:05 +0000 (Sat, 19 Jun 2010) Log Message: ----------- Removed a huge comment of unused code from Utils.cpp Modified Paths: -------------- trunk/Utils.cpp Modified: trunk/Utils.cpp =================================================================== --- trunk/Utils.cpp 2010-06-19 19:31:42 UTC (rev 2031) +++ trunk/Utils.cpp 2010-06-19 19:37:05 UTC (rev 2032) @@ -440,33 +440,6 @@ return false; } -/* -bool CTable::Output(std::ostream oOut) { - stringstream ssSep; - - ssSep << "-+-"; - - oOut << endl << ssSep.str() << endl; - - for (unsigned int b = 0; b < size(); b++) { - map<CString, CString>* pRow = (*this)[b]; - - oOut << " | "; - - for (unsigned int c = 0; c < m_vsHeaders.size(); c++) { - oOut.width(GetColumnWidth(c)); - oOut << (*pRow)[m_vsHeaders[c]]; - oOut << " | "; - } - - oOut << endl; - } - - oOut << ssSep.str() << endl; - return true; -} -*/ - unsigned int CTable::GetColumnIndex(const CString& sName) const { for (unsigned int i = 0; i < m_vsHeaders.size(); i++) { if (m_vsHeaders[i] == sName) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cf...@us...> - 2010-06-19 20:03:19
|
Revision: 2033 http://znc.svn.sourceforge.net/znc/?rev=2033&view=rev Author: cflakes Date: 2010-06-19 20:03:13 +0000 (Sat, 19 Jun 2010) Log Message: ----------- Yay for pink invisible unicorns! yay! Modified Paths: -------------- trunk/Utils.cpp Modified: trunk/Utils.cpp =================================================================== --- trunk/Utils.cpp 2010-06-19 19:37:05 UTC (rev 2032) +++ trunk/Utils.cpp 2010-06-19 20:03:13 UTC (rev 2033) @@ -356,7 +356,7 @@ unsigned int CTable::AddRow() { // Don't add a row if no headers are defined - if (sHeaders.empty()) { + if (m_vsHeaders.empty()) { return (unsigned int) -1; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |