Web Server forum
Back To The Forum Home!Search!Private Messaging System

This is Interesting: Free IT Magazines Now Free shipping to   
Web Server Talk Web Server Talk > Email Servers > Sendmail support > sendmail suddenly stops using popauth.db in pop-before-smtp??




  Last Thread   Next Thread Next
  Show Printable Version Email this Page Subscribe to this Thread      Post New Thread    Post A Reply      

    sendmail suddenly stops using popauth.db in pop-before-smtp??  
John Murtari


View Ip Address Report This Message To A Moderator Edit/Delete Message


 
11-15-07 08:20 PM

Folks,
Got hit with a rather strange problem this morning.
Our sendmail 8.13.1 normally runs in conjunction with POP before
SMTP using a popauth.db file (RHEL 4 Server).  No changes have
been made in months to the sendmail.cf used by the server, nor
the handling of the popauth.db, nor to sendmail itself.

We had made a minor change to access.db and restarted
sendmail when it started rejecting external email with our standard
"Relaying denied" message.  It didn't make any sense, we backed out
the access.db change, restarted, and that still didn't clear anything.
We then went to another server we had not touched at all and saw the
same problem after a restart.

In etc mail we have:
-rw-r--r--   1 root    root   12288 Nov 15 14:22 popauth.db

> makemap -u hash popauth
134.245.15.1    1195153832
166.84.1.3      1195154073

Tried connecting from the 166.84.1.3 address and got
relaying denied.   Ran an address test (not sure on the warnings,
the FullAddr does appear twice with an identical def, the
Local_check_rcpt appears twice, different defs.  My mc file is
also at the end.  Any help in tracking this down would be
appreciated very much!

John

> (root-hammer)/etc/mail>sendmail -bt -d21.4
WARNING: Ruleset FullAddr has multiple definitions
WARNING: Ruleset Local_check_rcpt has multiple definitions
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> .D{client_addr}166.84.1.3
> check_rcpt <joe@smoe.com>
check_rcpt         input: < joe @ smoe . com >
checkrcpt          input: < joe @ smoe . com >
Local_check_rcpt   input: < joe @ smoe . com >
rewritten as: < b > < joe @ smoe . com >
rewritten as: < joe @ smoe . com >
rewrite: RHS $&{client_addr} => "166.84.1.3"
rewritten as: < joe @ smoe . com > $| < 166 . 84 . 1 . 3 >
RelayTLS           input:
rewrite: RHS $&{verify} => "(NULL)"
rewritten as: < ? >
rewritten as: NO
RelayTLS         returns: NO
rewritten as: < joe @ smoe . com > $| NO
rewritten as: < joe @ smoe . com >
rewrite: RHS $&{auth_type} => "(NULL)"
rewritten as: < joe @ smoe . com > $|
rewritten as: < joe @ smoe . com >
CanonAddr          input: < joe @ smoe . com >
canonify           input: < joe @ smoe . com >
rewritten as: < joe @ smoe . com > < @ >
rewritten as: < joe @ smoe . com >
rewritten as: < < joe @ smoe . com > >
rewritten as: < joe @ smoe . com > >
rewritten as: < joe @ smoe . com >
rewritten as: joe @ smoe . com
rewritten as: joe < @ smoe . com >
Canonify2          input: joe < @ smoe . com >
rewrite: RHS $&{daemon_flags} => "(NULL)"
rewritten as: $| joe < @ smoe . com >
rewritten as: joe < @ smoe . com . >
Canonify2        returns: joe < @ smoe . com . >
rewritten as: joe < @ smoe . com . >
canonify         returns: joe < @ smoe . com . >
Parse0             input: joe < @ smoe . com . >
rewritten as: < > joe < @ smoe . com . >
rewritten as: joe < @ smoe . com . >
Parse0           returns: joe < @ smoe . com . >
rewritten as: joe < @ smoe . com . >
CanonAddr        returns: joe < @ smoe . com . >
FullAddr           input: joe < @ smoe . com . >
rewritten as: joe < @ smoe . com >
rewritten as: joe < @ smoe . com >
FullAddr         returns: joe < @ smoe . com >
rewritten as: < ? > joe < @ smoe . com >
rewritten as: < > joe < @ smoe . com > $| < F : joe @ smoe . com > < D : smo
e . com >
SearchList         input: < ! srcpt > $| < F : joe @ smoe . com > < D : smoe
 . com > < >
F                  input: < joe @ smoe . com > < ? > < ! srcpt > < >
rewritten as: < ? > < joe @ smoe . com > < ? > < ! srcpt > < >
rewritten as: < ? > < >
F                returns: < ? > < >
rewritten as: < ! srcpt > $| < D : smoe . com > < > $| < ? > < >
SearchList         input: < ! srcpt > $| < D : smoe . com > < >
D                  input: < smoe . com > < ? > < ! srcpt > < >
rewritten as: < ? > < smoe . com > < ? > < ! srcpt > < >
D                  input: < com > < ? > < ! srcpt > < >
rewritten as: < ? > < com > < ? > < ! srcpt > < >
rewritten as: < ? > < >
D                returns: < ? > < >
rewritten as: < ? > < >
D                returns: < ? > < >
rewritten as: < ! srcpt > $| < > $| < ? > < >
rewritten as: < ? >
SearchList       returns: < ? >
rewritten as: < ? >
SearchList       returns: < ? >
rewritten as: joe < @ smoe . com > $| < ? >
SearchList         input: < ! srcpt > $| < E : * > < >
E                  input: < * > < ? > < ! srcpt > < >
rewritten as: < @ FRIEND > < * > < ? > < ! srcpt > < >
rewritten as: < @ FRIEND > < >
E                returns: < @ FRIEND > < >
rewritten as: < ! srcpt > $| < > $| < @ FRIEND > < >
rewritten as: < @ FRIEND >
SearchList       returns: < @ FRIEND >
rewritten as: joe < @ smoe . com > $| < @ FRIEND >
rewritten as: joe < @ smoe . com > $| < @ FRIEND >
rewritten as: joe < @ smoe . com >
rewrite: RHS $&{hc_switch} => "@FRIEND"
rewritten as: < @ FRIEND >
rewritten as: < @ FRIEND >
mult_rcpt_policy   input: < SPAMFRIEND >
rewrite: RHS $&{mult_policy} => "(NULL)"
rewritten as: < >
rewrite: RHS $&{last_policy} => "(NULL)"
rewritten as: < >
rewrite: RHS $&{hc_switch} => "@FRIEND"
rewritten as:
mult_rcpt_policy returns:
rewritten as:
Local_check_rcpt returns:
rewritten as: < joe @ smoe . com > $|
Basic_check_rcpt   input: < joe @ smoe . com >
rewrite: RHS $&{deliveryMode} => "i"
rewritten as: < i > < joe @ smoe . com >
rewritten as: < joe @ smoe . com >
Rcpt_ok            input: < joe @ smoe . com >
ParseRecipient     input: < joe @ smoe . com >
CanonAddr          input: < joe @ smoe . com >
canonify           input: < joe @ smoe . com >
rewritten as: < joe @ smoe . com > < @ >
rewritten as: < joe @ smoe . com >
rewritten as: < < joe @ smoe . com > >
rewritten as: < joe @ smoe . com > >
rewritten as: < joe @ smoe . com >
rewritten as: joe @ smoe . com
rewritten as: joe < @ smoe . com >
Canonify2          input: joe < @ smoe . com >
rewrite: RHS $&{daemon_flags} => "(NULL)"
rewritten as: $| joe < @ smoe . com >
rewritten as: joe < @ smoe . com . >
Canonify2        returns: joe < @ smoe . com . >
rewritten as: joe < @ smoe . com . >
canonify         returns: joe < @ smoe . com . >
Parse0             input: joe < @ smoe . com . >
rewritten as: < > joe < @ smoe . com . >
rewritten as: joe < @ smoe . com . >
Parse0           returns: joe < @ smoe . com . >
rewritten as: joe < @ smoe . com . >
CanonAddr        returns: joe < @ smoe . com . >
rewritten as: < ? > joe < @ smoe . com . >
rewritten as: < ? > joe < @ smoe . com >
rewritten as: < ? > joe < @ smoe . com >
rewritten as: joe < @ smoe . com >
ParseRecipient   returns: joe < @ smoe . com >
rewritten as: joe < @ smoe . com >
RelayTLS           input:
rewrite: RHS $&{verify} => "(NULL)"
rewritten as: < ? >
rewritten as: NO
RelayTLS         returns: NO
rewritten as: joe < @ smoe . com > $| NO
rewritten as: joe < @ smoe . com >
rewrite: RHS $&{auth_type} => "(NULL)"
-----skip subr Local_Relay_Auth (168)
rewritten as: joe < @ smoe . com > $|
rewrite: RHS $&{auth_type} => "(NULL)"
rewritten as: joe < @ smoe . com > $|
rewritten as: joe < @ smoe . com >
D                  input: < smoe . com > < ? > < + To > < joe < @ smoe . com
 > >
rewritten as: < ? > < smoe . com > < ? > < + To > < joe < @ smoe . com > >
rewritten as: < ? > < smoe . com > < ? > < + To > < joe < @ smoe . com > >
D                  input: < com > < ? > < + To > < joe < @ smoe . com > >
rewritten as: < ? > < com > < ? > < + To > < joe < @ smoe . com > >
rewritten as: < ? > < com > < ? > < + To > < joe < @ smoe . com > >
rewritten as: < ? > < joe < @ smoe . com > >
D                returns: < ? > < joe < @ smoe . com > >
rewritten as: < ? > < joe < @ smoe . com > >
D                returns: < ? > < joe < @ smoe . com > >
rewritten as: < ? > < joe < @ smoe . com > >
rewritten as: joe < @ smoe . com >
rewritten as: < ? > joe < @ smoe . com >
rewritten as: < REMOTE > joe < @ smoe . com >
rewritten as: joe < @ smoe . com >
Rcpt_ok          returns: joe < @ smoe . com >
rewritten as: < joe @ smoe . com > $| @ joe < @ smoe . com >
Relay_ok           input: < joe @ smoe . com >
rewrite: RHS $&{client_addr} => "166.84.1.3"
rewritten as: 166 . 84 . 1 . 3
A                  input: < 166 . 84 . 1 . 3 > < ? > < + Connect > < 166 . 8
4 . 1 . 3 >
rewritten as: < ? > < 166 . 84 . 1 . 3 > < ? > < + Connect > < 166 . 84 . 1 
. 3 >
rewritten as: < ? > < 166 . 84 . 1 . 3 > < ? > < + Connect > < 166 . 84 . 1 
. 3 >
A                  input: < 166 . 84 . 1 > < ? > < + Connect > < 166 . 84 . 
1 . 3 >
rewritten as: < ? > < 166 . 84 . 1 > < ? > < + Connect > < 166 . 84 . 1 . 3 
>
rewritten as: < ? > < 166 . 84 . 1 > < ? > < + Connect > < 166 . 84 . 1 . 3 
>
A                  input: < 166 . 84 > < ? > < + Connect > < 166 . 84 . 1 . 
3 >
rewritten as: < ? > < 166 . 84 > < ? > < + Connect > < 166 . 84 . 1 . 3 >
rewritten as: < ? > < 166 . 84 > < ? > < + Connect > < 166 . 84 . 1 . 3 >
A                  input: < 166 > < ? > < + Connect > < 166 . 84 . 1 . 3 >
rewritten as: < ? > < 166 > < ? > < + Connect > < 166 . 84 . 1 . 3 >
rewritten as: < ? > < 166 > < ? > < + Connect > < 166 . 84 . 1 . 3 >
rewritten as: < ? > < 166 . 84 . 1 . 3 >
A                returns: < ? > < 166 . 84 . 1 . 3 >
rewritten as: < ? > < 166 . 84 . 1 . 3 >
A                returns: < ? > < 166 . 84 . 1 . 3 >
rewritten as: < ? > < 166 . 84 . 1 . 3 >
A                returns: < ? > < 166 . 84 . 1 . 3 >
rewritten as: < ? > < 166 . 84 . 1 . 3 >
A                returns: < ? > < 166 . 84 . 1 . 3 >
rewritten as: < ? > < 166 . 84 . 1 . 3 >
rewritten as: 166 . 84 . 1 . 3
rewritten as: [ 166 . 84 . 1 . 3 ]
rewrite: RHS $&{client_resolve} => "(NULL)"
rewritten as: < >
rewrite: RHS $&{client_name} => "(NULL)"
rewritten as: < @ >
Relay_ok         returns: < @ >
rewritten as: O $| < @ >
rewrite: RHS $&{f} => "(NULL)"
rewritten as: $# error $@ 5 . 7 . 1 $: "550 Relaying denied without login - see ht
tp://www.bongo.com/domain-email. sender:"
Basic_check_rcpt returns: $# error $@ 5 . 7 . 1 $: "550 Relaying denied without login -
 see http://www.bongo.com/domain-email. sender:"
rewritten as: $# error $@ 5 . 7 . 1 $: "550 Relaying denied without login - see ht
tp://www.bongo.com/domain-email. sender:"
checkrcpt        returns: $# error $@ 5 . 7 . 1 $: "550 Relaying denied without login -
 see http://www.bongo.com/domain-email. sender:"
rewritten as: < joe @ smoe . com > $| $# error $@ 5 . 7 . 1 $: "550 Relaying denied wit
hout login - see http://www.bongo.com/domain-email. sender:"
rewritten as: $# error $@ 5 . 7 . 1 $: "550 Relaying denied without login - see ht
tp://www.bongo.com/domain-email. sender:"
check_rcpt       returns: $# error $@ 5 . 7 . 1 $: "550 Relaying denied without login - see http:/
/www.bongo.com/domain-email. sender:"
>

--------------------- MC file
divert(-1)
include(`../m4/cf.m4')
VERSIONID(`hammer.bongo.com')dnl
OSTYPE(`linux')
FEATURE(`smrsh',`/usr/sbin/smrsh')dnl
FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable')dnl
FEATURE(`mailertable',`hash -o /etc/mail/mailertable')dnl
FEATURE(use_cw_file)dnl
FEATURE(use_ct_file)dnl
FEATURE(nocanonify)dnl
FEATURE(`access_db',`hash -T<TMPF> /etc/mail/access')dnl
define(`PROCMAIL_MAILER_PATH',`/usr/bin/procmail')dnl
FEATURE(local_procmail)dnl
FEATURE(nouucp, `reject')dnl
FEATURE(delay_checks)dnl
define(`ALIAS_FILE', `/etc/mail/aliases,/etc/mail/majordomo.aliases,/etc/mai
l/user.aliases,/etc/mail/mailman.aliases')dnl
define(`confRELAY_MSG',`"550 Relaying denied without login - see http://www.bongo.
com/domain-email. sender:" $&f')dnl
define(`confREJECT_MSG',`"552 spam not accepted. In case of error contact th
e postmaster@bongo.com."')dnl
define(`confDONT_BLAME_SENDMAIL', `forwardfileinunsafedirpath, forwardfilein
 unsafedirpathsafe,groupwritabledirpathsa
fe')dnl
FEATURE(`greet_pause', `5000')dnl 5 seconds
FEATURE(`ratecontrol', `nodelay', `terminate')dnl
FEATURE(`conncontrol', `nodelay', `terminate')dnl
 define(`confCONNECTION_RATE_WINDOW_SIZE'
,`60')dnl
define(`confPRIVACY_FLAGS',  `authwarnings,novrfy,noexpn,restrictqrun
')dnl
define(`confMAX_DAEMON_CHILDREN', `150')dnl
define(`QUEUE_DIR',`/var/spool/mqueue/q*')dnl
QUEUE_GROUP(`queue0', `Path=/var/spool/mqueue/q0')
QUEUE_GROUP(`queue1', `Path=/var/spool/mqueue/q1')
QUEUE_GROUP(`queue2', `Path=/var/spool/mqueue/q2')
define(`confQUEUE_SORT_ORDER', `host')dnl
define(`confMIN_QUEUE_AGE', `30m')dnl
define(`confMAX_RUNNERS_PER_QUEUE', `50')dnl
define(`confNICE_QUEUE_RUN', `19')dnl
define(`confMAX_QUEUE_RUN_SIZE', `10000')dnl
define(`confMAX_QUEUE_CHILDREN', `150')dnl
define(`confCHECKPOINT_INTERVAL', `1')dnl
define(`confBIND_OPTS', `+AAONLY -DNSRCH')dnl
define(`confFAST_SPLIT',`1')dnl
define(`confTO_INITIAL', `6m')dnl
define(`confTO_CONNECT', `6m')dnl
define(`confTO_ICONNECT', `6m')dnl
define(`confTO_HELO', `6m')dnl
define(`confTO_MAIL', `11m')dnl
define(`confTO_RCPT', `10m')dnl
define(`confTO_DATAINIT', `6m')dnl
define(`confTO_DATABLOCK', `15m')dnl
define(`confTO_DATAFINAL', `2m')dnl
define(`confTO_RSET', `6m')dnl
define(`confTO_QUIT', `3m')dnl
define(`confTO_MISC', `3m')dnl
define(`confTO_COMMAND', `10m')dnl
define(`confTO_IDENT', `0s')dnl
define(`confTO_HOSTSTATUS', `25m')dnl
define(`confTO_QUEUERETURN', `2d')dnl
define(`confMAX_RCPTS_PER_MESSAGE', `100')dnl
define(`confPID_FILE', `/var/run/sendmail.pid')dnl
define(`confME_TOO', `True')dnl
define(`confCW_FILE', `/etc/mail/sendmail.cw')dnl
define(`confMAX_MESSAGE_SIZE', `20000000')dnl
define(`confQUEUE_LA', `100')dnl
define(`confREFUSE_LA', `100')dnl
define(`confDELAY_LA', `100')dnl
define(`STATUS_FILE', `/var/log/sendmail.st')dnl
define(`_MD2NAME_')dnl
define(`_QUIET_FREEWARE_')dnl
dnl START check_local definition of headerchecks
HACK(`check_dnsbl', `bl.spamcop.net' , `"Rejected see: http://spamcop.net/w3m?acti
on=checkblock&ip="$>1',`general', `SPAMCOP')dnl
HACK(check_dnsbl_end)dnl
HACK(check_header, `Received', `HRC', `', `parse_received', `+header', `!gen
eral',`',`',`')dnl
HACK(check_header, `From', `HFR', `', `parse_address', `+header', `+all', `'
, `', `', `"552 Mail from spammer rejected."')dnl
HACK(check_header, `To', `HFR', `', `parse_address', `+header', `+all', `', 
`', `', `"552 Mail from spammer rejected."')dnl
HACK(check_header, `Reply-To', `HFR', `', `parse_address', `+header', `+all'
, `', `', `', `"552 Mail from spammer rejected."')dnl
HACK(check_header, `Sender', `HFR', `', `parse_address', `+header', `+all', 
`', `', `', `"552 Mail from spammer rejected."')dnl
HACK(check_header, `Cc', `HFR', `', `parse_address', `+header', `+all', `', 
`', `', `"552 Mail from spammer rejected."')dnl
HACK(check_header_end, `')dnl
HACK(check_local_patterns)dnl
HACK(check_local,  `CREL,CMD2N,CMFOK,CBASM,CDNSBL,CDREG,CRE
S', `XSPAM')dnl
dnl END check_local main macro
HACK(`popauth')dnl
define(`POP_B4_SMTP_TAG', `')dnl
MAILER(smtp)dnl
INPUT_MAIL_FILTER(`mimedefang',`S=unix:/var/spool/MIMEDefang/mimedefang.sock
,F=T,T=S:15m;R:15m;E:15m')
LOCAL_CONFIG
Kspamsubjdb hash /etc/mail/spamsubjects
HSubject: $>check_subject

LOCAL_RULESETS
Scheck_subject
R $*	$: $(spamsubjdb $&{currHeader} $: OK $) $1
R REJECT $*	$#error $: "553 The subject line of your message indicates a pos
sible virus and is being rejected by our mail filters. Please change the sub
ject line and resend."
--
John
 ________________________________________
___________________________
John Murtari                              Software Workshop Inc.
jmurtari@following domain 315.635-1968(x-211)  "TheBook.Com" (TM)
http://thebook.com/





[ Post a follow-up to this message ]



    Re: sendmail suddenly stops using popauth.db in pop-before-smtp??  
Andrzej Adam Filip


View Ip Address Report This Message To A Moderator Edit/Delete Message


 
11-15-07 08:20 PM

John Murtari <jmurtari@thebook.com> writes:

> Folks,
>         Got hit with a rather strange problem this morning.
> Our sendmail 8.13.1 normally runs in conjunction with POP before
> SMTP using a popauth.db file (RHEL 4 Server).  No changes have
> been made in months to the sendmail.cf used by the server, nor
> the handling of the popauth.db, nor to sendmail itself.

As I understand you use recipe from
http://www.sendmail.org/~ca/email/chk-89n.html

>         We had made a minor change to access.db and restarted
> sendmail when it started rejecting external email with our standard
> "Relaying denied" message.  It didn't make any sense, we backed out
> the access.db change, restarted, and that still didn't clear anything.
> We then went to another server we had not touched at all and saw the
> same problem after a restart.
>
>         In etc mail we have:
> -rw-r--r--   1 root    root   12288 Nov 15 14:22 popauth.db
> 
> 134.245.15.1    1195153832
> 166.84.1.3      1195154073
>
>         Tried connecting from the 166.84.1.3 address and got
> relaying denied.   Ran an address test (not sure on the warnings,
> the FullAddr does appear twice with an identical def, the
> Local_check_rcpt appears twice, different defs.  My mc file is
> also at the end.  Any help in tracking this down would be
> appreciated very much!
>
> John
> 
> WARNING: Ruleset FullAddr has multiple definitions
> WARNING: Ruleset Local_check_rcpt has multiple definitions
> ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
> Enter <ruleset> <address> 
> [...]

Could you repeat the above test for IP listed in popauth with more
detailed debug flags?

( echo ".D{client_addr}166.84.1.3" ; echo "joe@smoe.com") | sendmail -b
t -d21.12 -d60.5

> --------------------- MC file
> [...]
> HACK(`popauth')dnl
> define(`POP_B4_SMTP_TAG', `')dnl
> [...]

--
[pl>en: Andrew] Andrzej Adam Filip : anfi@priv.onet.pl : anfi@xl.wp.pl
Open-Sendmail: http://open-sendmail.sourceforge.net/





[ Post a follow-up to this message ]



    Re: sendmail suddenly stops using popauth.db in pop-before-smtp??  
Andrzej Adam Filip


View Ip Address Report This Message To A Moderator Edit/Delete Message


 
11-15-07 08:20 PM

Andrzej Adam Filip <anfi@onet.eu> writes:
> [..]
> Could you repeat the above test for IP listed in popauth with more
> detailed debug flags?
>
> ( echo ".D{client_addr}166.84.1.3" ; echo "joe@smoe.com") | sendmail -bt -d21
.12 -d60.5

I have missed rule set name

<test-script>
#!/bin/sh
sendmail -bt -d21.12 -d60.5 <<END
.D{client_addr}166.84.1.3
Local_check_rcpt joe@smoe.com
END
</test-script>

--
[pl>en: Andrew] Andrzej Adam Filip : anfi@priv.onet.pl : anfi@xl.wp.pl
Open-Sendmail: http://open-sendmail.sourceforge.net/





[ Post a follow-up to this message ]



    Re: sendmail suddenly stops using popauth.db in pop-before-smtp??  
John Murtari


View Ip Address Report This Message To A Moderator Edit/Delete Message


 
11-16-07 06:45 PM

Andrzej Adam Filip <anfi@onet.eu> writes:

[vbcol=seagreen] 
>
> As I understand you use recipe from
> http://www.sendmail.org/~ca/email/chk-89n.html
> 
>
> Could you repeat the above test for IP listed in popauth with more
> detailed debug flags?
>
> ( echo ".D{client_addr}166.84.1.3" ; echo "joe@smoe.com") | sendmail 
-bt -d21.12 -d60.5
> 

Thanks for the advice and we may follow through with further
testing in the future.  What we finally did (which was overdue),
was remove all the check_local HACKs for the header and dns from our
.mc files -- worked like a champ after that.
--
John
 ________________________________________
___________________________
John Murtari                              Software Workshop Inc.
jmurtari@following domain 315.635-1968(x-211)  "TheBook.Com" (TM)
http://thebook.com/





[ Post a follow-up to this message ]



    Sponsored Links  




 





   All times are GMT. The time now is 07:46 AM.      Post New Thread    Post A Reply      
  Last Thread   Next Thread Next


Most Popular forums 

Forum Jump:
Rate This Thread:

Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is OFF
vB code is ON
Smilies are ON
[IMG] code is OFF
 

Back To The Top
Home | Usercp | Faq | Register