Don't suppose anyone else has had any ideas or views upon this ? Still very
stuck and not sure why it is going wrong ? I do think it's something in my
code, but I'm not sure what to do to make it work? Perhaps a sleep, or could
it be a particular lib I have installed on my system which is causing it to
go wrong? Any help would be greatly welcomed...
>From: ". kibble ." <jelly_bean_junky@hotmail.com>
>To: russfink@hotmail.com, dspam-users@lists.nuclearelephant.com
>Subject: RE: [dspam-users] Example.c File
>Date: Fri, 02 Sep 2005 14:25:24 +0100
>
>
>Hey, sorry for the email twice, but I was reading more carefully thru your
>email and realised I didn't answer half the questions you were asking...
>
>>>What platform are you using?
> OpenBSD 3.7
>
>>>Can you post a stack trace of the crash, using gdb or similar?
> This is not possible as I have used the local_scan function in Exim and
>no dumps or traces I seem to implement are telling me what I need [or if at
>all]
>
>>>What storage method are you using: Postgres, sqlite3, or other?
> Other, using MySQL 4.1
>
>>>Also, can you put code in to check that the CTX signature is valid
>>>(non-null, and meaningful)?
> Not sure how to do this...
>
>>>May want to include a snippet of code if you are able.
> See below...
>
>Regards and thanks in advance, kibble.
>
>
>>From: ". kibble ." <jelly_bean_junky@hotmail.com>
>>To: russfink@hotmail.com, dspam-users@lists.nuclearelephant.com
>>Subject: RE: [dspam-users] Example.c File
>>Date: Fri, 02 Sep 2005 14:16:02 +0100
>>
>>
>>As requested a snippet of code:
>>int report_spam(int spamflag) {
>>
>> int sflag = 0;
>> char * message = malloc(1);
>> DSPAM_CTX * CTX = NULL; /** DSPAM Context */
>> struct _ds_spam_signature SIG; /** Example signature */
>>
>> message = read_emailmem(message);
>>
>> switch (spamflag) {
>> case SPAMREPT: /** set up the context for error correction as
>>spam */
>> log_write(0, LOG_MAIN, "LOG: SPAMREPT function reached");
>> CTX = dspam_create((char *)sender_address, NULL, NULL,
>>DSM_PROCESS, DSF_CHAINED);
>> CTX = attach_ctx_dbaccess(CTX);
>> if (CTX == NULL) {
>> log_write(0, LOG_MAIN, "ERROR: dspam_create failed!\n");
>> sflag = 1;
>> }
>> CTX->classification = DSR_ISSPAM;
>> CTX->source = DSS_ERROR;
>> CTX->algorithms = DSA_GRAHAM | DSA_BURTON | DSP_GRAHAM;
>> break;
>> case FALSEPOS: /** set up the context for error correction as
>>innocent */
>> log_write(0, LOG_MAIN, "LOG: FALSEPOS function reached");
>> CTX = dspam_create((char *)sender_address, NULL, NULL,
>>DSM_PROCESS, DSF_CHAINED | DSF_SIGNATURE);
>> CTX = attach_ctx_dbaccess(CTX);
>> if (CTX == NULL) {
>> log_write(0, LOG_MAIN, "ERROR: dspam_create failed!\n");
>> sflag = 1;
>> }
>> CTX->classification = DSR_ISINNOCENT;
>> CTX->source = DSS_ERROR;
>> CTX->algorithms = DSA_GRAHAM | DSA_BURTON | DSP_GRAHAM;
>> CTX->signature = &SIG; /** Attach the signature to the
>>context */
>> break;
>> default: /** no reporting required, scan for spam perhaps ? */
>> log_write(0, LOG_MAIN, "report_spam -> no reporting
>>required");
>> break;
>> }
>>
>> log_write(0, LOG_MAIN, "LOG: Processing spam...");
>> if (dspam_process(CTX, message) != 0) { /** Call DSPAM */
>> log_write(0, LOG_MAIN, "ERROR: dspam_process failed!");
>> sflag = 1;
>> }
>>
>> log_write(0, LOG_MAIN, "ERROR: report_spam: dspam_destroy beginning");
>> dspam_destroy(CTX); /** Destroy the context */
>>
>> memset(message, 0x0, sizeof(message));
>> free(message);
>> memset(&CTX, 0x0, sizeof(CTX));
>> free(CTX);
>>
>> if (sflag == 0) {
>> log_write(0, LOG_MAIN, "<= %s [%s] P=%s A=%s:%s",
>> (char *)sender_address, (char *)sender_host_address, (char
>>*)received_protocol,
>> (char *)sender_host_authenticated, (char *)sender_address);
>> log_write(0, LOG_MAIN, "=> (null) <%s> R=system_localuser
>>T=local_delivery",
>> (char *)recipients_list[0].address);
>> }
>>
>> /** if we are reporting, which is pretty much so if you reach here, we
>>blackhole the email */
>> recipients_count = 0;
>>
>> return(sflag);
>>} /** report_spam */
>>
>>
>>>From: "Russ Fink" <russfink@hotmail.com>
>>>To: jelly_bean_junky@hotmail.com, dspam-users@lists.nuclearelephant.com
>>>Subject: RE: [dspam-users] Example.c File
>>>Date: Mon, 29 Aug 2005 10:47:57 -0400
>>>
>>>The dspam_process is intentionally called with NULL, because a retrain
>>>requires the CTX (context) to contain a valid message signature, not the
>>>message itself. It is in this way that dspam_process finds the
>>>appropriate tokens whose values need adjusting.
>>>
>>>If you want the list to help, we need more information. What platform
>>>are you using? Can you post a stack trace of the crash, using gdb or
>>>similar? What storage method are you using: Postgres, sqlite3, or other?
>>> Also, can you put code in to check that the CTX signature is valid
>>>(non-null, and meaningful)? May want to include a snippet of code if you
>>>are able.
>>>
>>>I have a hunch that there's a problem with the signature in your CTX.
>>>
>>>>From: ". kibble ." <jelly_bean_junky@hotmail.com>
>>>>To: dspam-users@lists.nuclearelephant.com
>>>>Subject: [dspam-users] Example.c File
>>>>Date: Fri, 26 Aug 2005 14:47:11 +0100
>>>>
>>>>
>>>>Hey there,
>>>>
>>>>I was reading thru the example.c file and I noticed in the 'False
>>>>Positive' section the line 253 where dspam_process is called that there
>>>>is a NULL value in the function call...
>>>>
>>>>Is this right, in my older code I'm using a pointer which contains the
>>>>message which I'am reporting as a false positive. The only thing is, it
>>>>crashes each time I do. Reporting, and general scanning works perfectly
>>>>but reporting a false positive causes the system to crash.
>>>>
>>>>I have tried the stable, beta and CVS versions and they all produce the
>>>>same results. Not sure what to do next? Any ideas...
>>>>
>>>>Regards, kibble.
>>>>
>>>
>>>
>>>
>>
>>_________________________________________________________________
>>Want to block unwanted pop-ups? Download the free MSN Toolbar now!
>>http://toolbar.msn.co.uk/
>>
>>
>
>_________________________________________________________________
>Be the first to hear what's new at MSN - sign up to our free newsletters!
>http://www.msn.co.uk/newsletters
>
>
_________________________________________________________________
Be the first to hear what's new at MSN - sign up to our free newsletters!
http://www.msn.co.uk/newsletters
Received on Tue Sep 6 05:05:39 2005
This archive was generated by hypermail 2.1.8 : Thu Sep 29 2005 - 13:51:29 EDT