No accidental wildcard IP bans??
There's no issue with that version and PMs. If anything is modified, then I'd check using unmodified scripts and track it down from there.
I was curious to see if you had any Hostname bans in your banned table?
sendmessage.php calls the check_ban function in the ubbt.inc.php file.
<br /> function check_ban($Uid="",$Cat="") {<br /><br /> global $ubbt_lang,$dbh,$config;<br /> $Hostname = find_environmental('REMOTE_ADDR');<br /> $Hostname_q = addslashes($Hostname);<br /><br /> if ($Uid) {<br /> $extra = "B_Uid='$Uid' OR ";<br /> }<br /> $query = "<br /> SELECT B_Hostname,B_Uid,B_Reason<br /> FROM {$config['tbprefix']}Banned<br /> WHERE $extra B_Hostname LIKE '$Hostname_q'<br /> ";<br /> $sth = $dbh -> do_query($query);<br /> list ($Checkuser,$Checkhost,$Reason) = $dbh -> fetch_array($sth);<br /> $dbh -> finish_sth($sth);<br /> if ( ($Checkuser) || ($Checkhost) ) {<br /> $html = new html;<br /> $html -> not_right("{$ubbt_lang['YOU_BANNED']}: $Reason", $Cat);<br /> }<br /> }<br /> }<br />
Which basically stops them if theres a username or IP match in the banned table.
To debug it a bit, above the $sth = line above, you could add
echo "$query";
Then try to send a PM (from an account that doesn't work). it'll let you see the query it's using, that may offers some clues as to why it's finding results with that query.