[Pkg-dspam-misc] Bug#644794: [PATCH] Fix buffer lengths for IPv6 adresses logging
Thomas Preud'homme
robotux at celest.fr
Sun Oct 9 22:15:15 UTC 2011
Le dimanche 9 octobre 2011 19:16:58, Thomas Preud'homme a écrit :
> Le dimanche 9 octobre 2011 15:11:10, Julien Valroff a écrit :
> > Hi,
> >
> > Here is an attempt to fix Debian bug #644794 [0] stating the logged
> > IPv6 addresses are truncated.
> >
> > Cheers,
> > Julien
>
> I would like to propose a patch myself too. Size of ip array should be 128
> but I'm thinking about replacing this array by a more appropriate
> structure (like union of struct in_addr or struct in6_addr). but I want to
> check it's adequate first.
>
> Congrats for your quick reaction Julien.
Ok, it will take more time than expected because there is also some other
place in the code which I believe assume IPv4.
egrep -In "\[32\]" **/*.c | wc -l gives 11
One exemple is in src/daemon.c around line 250. I transformed local_addr and
remote_addr in an union of sockaddr_in and sockaddr_in6 but then the code
needs to be adapted. I will try to finish the patch tomorrow.
Regards.
>
> > [0] http://bugs.debian.org/644794
> >
> > ---
> >
> > CHANGELOG | 2 ++
> > src/dspam.c | 6 +++---
> > 2 files changed, 5 insertions(+), 3 deletions(-)
> >
> > diff --git a/CHANGELOG b/CHANGELOG
> > index 0ca9952..5098f71 100644
> > --- a/CHANGELOG
> > +++ b/CHANGELOG
> > @@ -1,3 +1,5 @@
> > +[20111009:1500] jvalroff: Fix buffer lengths for IPv6 adresses logging
> > +
> >
> > [20111001:1200] sbajic: Fix typo and formatting issues in dspam.conf
> >
> > [20111001:1030] sbajic: Fix compiler warnings (unused function) in MySQL
> >
> > driver diff --git a/src/dspam.c b/src/dspam.c
> > index 2668aba..48c12aa 100644
> > --- a/src/dspam.c
> > +++ b/src/dspam.c
> > @@ -409,7 +409,7 @@ process_message (
> >
> > strcmp(_ds_pref_val(ATX->PTX, "optOutClamAV"), "on"))
> >
> > {
> >
> > if (has_virus(message)) {
> >
> > - char ip[32];
> > + char ip[46];
> >
> > CTX->result = DSR_ISSPAM;
> > CTX->probability = 1.0;
> > CTX->confidence = 1.0;
> >
> > @@ -3823,7 +3823,7 @@ MEM_ALLOC:
> > */
> >
> > int tracksource(DSPAM_CTX *CTX) {
> >
> > - char ip[32];
> > + char ip[46];
> >
> > if (!dspam_getsource (CTX, ip, sizeof (ip)))
> > {
> >
> > @@ -4010,7 +4010,7 @@ int is_blacklisted(DSPAM_CTX *CTX, AGENT_CTX *ATX)
> > {
> >
> > /* No cygwin support for IP Blacklisting */
> > return 0;
> >
> > #else
> >
> > - char ip[32];
> > + char ip[46];
> >
> > int bad = 0;
> > struct attribute *attrib;
> > struct addrinfo *res = NULL;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.alioth.debian.org/pipermail/pkg-dspam-misc/attachments/20111010/21a7a1bb/attachment.pgp>
More information about the Pkg-dspam-misc
mailing list