On Fri, 2011-06-10 at 14:54 -1000, Warren Togami Jr. wrote: > On 6/10/2011 2:01 PM, Karsten Bräckelmann wrote: > > > > IFF you use the sought channel with SA 3.3.x, you will need the reorder > > hack to bend the alphabet. > > It is not entirely clear to me, what exactly are you supposed to rename > for the reorder hack? You have to do it every time you sa-update?
No, only once. The problem is, that cf files are parsed in lexical order per directory. That means that 10_default comes before 72_active. However, have a look at your updates conf dir (see 'man spamassassin' or 'man sa-update'). There's one directory per channel. And one identically named cf file per channel. The dirs are not parsed recursively (and it wouldn't matter), but the cf files are. THEIR order matters. Alphabetically. Now since "s" is before "u" in any alphabet I've ever used, the sought channel's cf file is parsed before the stock updates cf file. Both consist of a bunch of include directives, actually loading the rules' cf files. To ensure some channel to be parsed after the general updates channel, because the channel's content is supposed to overwrite stock, it must begin with a char that is after "u". Thus, a single symlink should do. Once. Also see the output of spamassassin -D config --lint 2>&1 | less -- char *t="\10pse\0r\0dtu\0.@ghno\x4e\xc8\x79\xf4\xab\x51\x8a\x10\xf4\xf4\xc4"; main(){ char h,m=h=*t++,*x=t+2*h,c,i,l=*x,s=0; for (i=0;i<l;i++){ i%8? c<<=1: (c=*++x); c&128 && (s+=h); if (!(h>>=1)||!t[s+h]){ putchar(t[s]);h=m;s=0; }}}