You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@spamassassin.apache.org by bu...@bugzilla.spamassassin.org on 2005/06/10 16:54:29 UTC

[Bug 4401] New: Oops! user_dirs don't match!

http://bugzilla.spamassassin.org/show_bug.cgi?id=4401

           Summary: Oops! user_dirs don't match!
           Product: Spamassassin
           Version: 3.0.3
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P5
         Component: spamc/spamd
        AssignedTo: dev@spamassassin.apache.org
        ReportedBy: gobbers@scan-plus.de


Fix:

--- spamd       2005-06-10 16:46:43.000000000 +0200
+++ spamd.orig  2005-06-10 16:49:05.000000000 +0200
@@ -1419,14 +1419,14 @@
     if ( !$opt{'username'} ) {
       warn "cannot use vpopmail without -u\n";
     }
+    create_default_cf_if_needed( $cf_file, $username, $dir );
+    $spamtest->read_scoreonly_config($cf_file);
     $spamtest->signal_user_changed(
       {
         username => $username,
         user_dir => $dir
       }
     );
-    create_default_cf_if_needed( $cf_file, $username, $dir );
-    $spamtest->read_scoreonly_config($cf_file);
 
   }
   else {



------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

[Bug 4401] Oops! user_dirs don't match!

Posted by bu...@bugzilla.spamassassin.org.
http://bugzilla.spamassassin.org/show_bug.cgi?id=4401





------- Additional Comments From gobbers@scan-plus.de  2005-06-13 01:49 -------
Oh, I thought this was obvious :-)

It always happens the first time spamd tries to create the user_prefs file for a
user. If it's the first connection to the child you'll see a line like
...spamd[1234]: Oops! user_dirs don't match! '/home/newuser' vs ''
in your syslog file. If the next connections is for another new user you will see
...spamd[1234]: Oops! user_dirs don't match! '/home/otheruser' vs '/home/newuser'
in your syslog file.

The reason for this message is, that the comparisation occoures before the
$self/$spamtest object contains the correct values for 'user_dir'.

Btw: I did the "diff -u" using the wrong file order...



------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

[Bug 4401] Oops! user_dirs don't match!

Posted by bu...@bugzilla.spamassassin.org.
http://bugzilla.spamassassin.org/show_bug.cgi?id=4401





------- Additional Comments From jm@jmason.org  2005-06-10 10:03 -------
what's the conditions this bug occurs under?  I'd like to be able to reproduce
it first ;)



------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

[Bug 4401] Oops! user_dirs don't match!

Posted by bu...@bugzilla.spamassassin.org.
http://bugzilla.spamassassin.org/show_bug.cgi?id=4401





------- Additional Comments From jm@jmason.org  2005-06-15 21:21 -------
Created an attachment (id=2941)
 --> (http://bugzilla.spamassassin.org/attachment.cgi?id=2941&action=view)
alternative fix

could you try this patch instead?  moving those lines around actually doesn't
make much sense in terms of the design of spamd, and I think just removing the
warning does the trick better.



------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

[Bug 4401] Oops! user_dirs don't match!

Posted by bu...@bugzilla.spamassassin.org.
http://bugzilla.spamassassin.org/show_bug.cgi?id=4401





------- Additional Comments From jm@jmason.org  2005-06-16 10:14 -------
no, I got what the code was supposed to do, alright, although I missed that call
to get_and_create_userstate_dir.

however signal_user_changed() also takes actions based on stuff possibly done in
read_scoreonly_config(); for example, it'll reconnect to a user's bayes db.  so
that has to occur after read_scoreonly_config().

A more complex fix is needed.

What needs to be done is splitting signal_user_changed() into two parts; one
that happens before config is read (setting user_dir and username), one that
happens afterwards (reconnecting to bayes).



------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

[Bug 4401] Oops! user_dirs don't match!

Posted by bu...@bugzilla.spamassassin.org.
http://bugzilla.spamassassin.org/show_bug.cgi?id=4401





------- Additional Comments From gobbers@scan-plus.de  2005-06-17 06:56 -------
Well, that seems to be the best approach, I'm looking forward to that solution.



------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

[Bug 4401] Oops! user_dirs don't match!

Posted by bu...@bugzilla.spamassassin.org.
http://issues.apache.org/SpamAssassin/show_bug.cgi?id=4401


felicity@apache.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|3.1.1                       |3.2.0




------- Additional Comments From felicity@apache.org  2006-03-08 21:13 -------
I think this may be too much for 3.1, so I'm moving it to the 3.2 queue.



------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

[Bug 4401] Oops! user_dirs don't match!

Posted by bu...@bugzilla.spamassassin.org.
http://bugzilla.spamassassin.org/show_bug.cgi?id=4401


Bob@Menschel.net changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|Undefined                   |3.1.1




------- Additional Comments From Bob@Menschel.net  2005-07-03 18:33 -------
Triage: Apparently too late to get this into 3.1.0; though Justin seems to agree
it's a valid bug, so setting target to 3.1.1



------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

[Bug 4401] Oops! user_dirs don't match!

Posted by bu...@bugzilla.spamassassin.org.
http://bugzilla.spamassassin.org/show_bug.cgi?id=4401





------- Additional Comments From gobbers@scan-plus.de  2005-06-16 00:59 -------
Bad idea. If you follow the method calls in the create_default_prefs method you
will see that the method get_and_create_userstate_dir is called without any
argument. It uses $self->{user_dir} which isn't set correctly without my change
to spamd.

As I wrote in my last reply, I did the diff using the wrong file order. Maybe
that caused some misunderstanding of the problem.

--- spamd       2005-06-10 16:46:43.000000000 +0200
+++ spamd.orig  2005-06-10 16:49:05.000000000 +0200
@@ -1419,14 +1419,14 @@
     if ( !$opt{'username'} ) {
       warn "cannot use vpopmail without -u\n";
     }
-    create_default_cf_if_needed( $cf_file, $username, $dir );
-    $spamtest->read_scoreonly_config($cf_file);
     $spamtest->signal_user_changed(
       {
         username => $username,
         user_dir => $dir
       }
     );
+    create_default_cf_if_needed( $cf_file, $username, $dir );
+    $spamtest->read_scoreonly_config($cf_file);
 
   }
   else {



------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

[Bug 4401] Oops! user_dirs don't match!

Posted by bu...@bugzilla.spamassassin.org.
http://issues.apache.org/SpamAssassin/show_bug.cgi?id=4401


jm@jmason.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|3.2.0                       |3.3.0




------- Additional Comments From jm@jmason.org  2006-12-12 12:40 -------
moving RFEs and low-priority stuff to 3.3.0 target



------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.