Really add znc-trafficstats.patch this time

This commit is contained in:
Nick Bebout 2010-06-16 22:16:37 +00:00
parent 8977043c07
commit cb3217b75e
2 changed files with 39 additions and 5 deletions

31
znc-trafficstats.patch Normal file
View File

@ -0,0 +1,31 @@
--- znc-0.090/znc.cpp 2010-05-10 12:45:15.000000000 -0500
+++ trunk/znc.cpp 2010-06-16 16:43:48.706323545 -0500
@@ -1914,18 +1914,18 @@
}
for (CSockManager::const_iterator it = m_Manager.begin(); it != m_Manager.end(); ++it) {
+ CUser *pUser = NULL;
if ((*it)->GetSockName().Left(5) == "IRC::") {
- CIRCSock *p = (CIRCSock *) *it;
- ret[p->GetUser()->GetUserName()].first += p->GetBytesRead();
- ret[p->GetUser()->GetUserName()].second += p->GetBytesWritten();
- uiUsers_in += p->GetBytesRead();
- uiUsers_out += p->GetBytesWritten();
+ pUser = ((CIRCSock *) *it)->GetUser();
} else if ((*it)->GetSockName().Left(5) == "USR::") {
- CClient *p = (CClient *) *it;
- ret[p->GetUser()->GetUserName()].first += p->GetBytesRead();
- ret[p->GetUser()->GetUserName()].second += p->GetBytesWritten();
- uiUsers_in += p->GetBytesRead();
- uiUsers_out += p->GetBytesWritten();
+ pUser = ((CClient*) *it)->GetUser();
+ }
+
+ if (pUser) {
+ ret[pUser->GetUserName()].first += (*it)->GetBytesRead();
+ ret[pUser->GetUserName()].second += (*it)->GetBytesWritten();
+ uiUsers_in += (*it)->GetBytesRead();
+ uiUsers_out += (*it)->GetBytesWritten();
} else {
uiZNC_in += (*it)->GetBytesRead();
uiZNC_out += (*it)->GetBytesWritten();

View File

@ -2,21 +2,19 @@ Summary: An advanced IRC bouncer
Name: znc
Version: 0.090
#Release: 0.1.rc1%{?dist}
Release: 1%{?dist}
Release: 2%{?dist}
License: GPLv2 with exceptions
Group: System Environment/Daemons
URL: http://znc.sf.net/
Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
Patch0: znc-trafficstats.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
BuildRequires: perl gcc-c++
BuildRequires: openssl-devel >= 0.9.8
BuildRequires: cyrus-sasl-devel
BuildRequires: c-ares-devel
# The following line is necessary because this module
# is needed for Fedora, but not for EPEL.
%{?fedora:BuildRequires: perl-ExtUtils-Embed}
BuildRequires: perl(ExtUtils::Embed)
%description
ZNC is an IRC bouncer with many advanced features like detaching,
@ -43,6 +41,7 @@ Extra modules for ZNC
%prep
%setup -q
%patch0 -p1
%__perl -pi.add_release -e 's|(?<="ZNC \%1\.3f)|-%{release}|' znc.cpp
chmod -x modules/q.cpp
@ -131,6 +130,10 @@ chmod -x modules/q.cpp
%{_libdir}/znc/shell.so
%changelog
* Wed Jun 16 2010 Nick Bebout <nb@fedoraproject.org> - 0.090-2
- Backport r2026 of ZNC subversion repo to fix bug 603915
- NULL pointer dereference flaw leads to segfault under certain conditions
* Sun Jun 06 2010 Nick Bebout <nb@fedoraproject.org> - 0.090-1
- Update to znc 0.090