Milliseconds are now fully supported

This commit is contained in:
Pinga 2023-11-09 00:33:02 +02:00
parent ea754362f8
commit 63aa36ff0a
13 changed files with 425 additions and 321 deletions

View file

@ -59,7 +59,8 @@ if ($auto_renew) {
$dbh->exec("INSERT INTO `domain_status` (`domain_id`, `status`) VALUES('$domain_id', 'pendingDelete')"); $dbh->exec("INSERT INTO `domain_status` (`domain_id`, `status`) VALUES('$domain_id', 'pendingDelete')");
} }
} }
echo date("Y-m-d H:i:s") . " - $domain_id\t|\t$name\t|\trgpStatus:autoRenewPeriod exdate:$exdate\n"; $currentDateTime = new DateTime();
echo $currentDateTime->format("Y-m-d H:i:s.v") . " - $domain_id\t|\t$name\t|\trgpStatus:autoRenewPeriod exdate:$exdate\n";
} }
} else { } else {
$grace_period = 30; $grace_period = 30;
@ -87,8 +88,8 @@ if ($auto_renew) {
$dbh->exec("UPDATE `domain` SET `rgpstatus` = 'redemptionPeriod', `delTime` = DATE_ADD(`exdate`, INTERVAL $grace_period DAY) WHERE `id` = '$domain_id'"); $dbh->exec("UPDATE `domain` SET `rgpstatus` = 'redemptionPeriod', `delTime` = DATE_ADD(`exdate`, INTERVAL $grace_period DAY) WHERE `id` = '$domain_id'");
$dbh->exec("INSERT INTO `domain_status` (`domain_id`, `status`) VALUES('$domain_id', 'pendingDelete')"); $dbh->exec("INSERT INTO `domain_status` (`domain_id`, `status`) VALUES('$domain_id', 'pendingDelete')");
} }
$currentDateTime = new DateTime();
echo date("Y-m-d H:i:s") . " - $domain_id\t|\t$name\t|\trgpStatus:redemptionPeriod exdate:$exdate\n"; echo $currentDateTime->format("Y-m-d H:i:s.v") . " - $domain_id\t|\t$name\t|\trgpStatus:redemptionPeriod exdate:$exdate\n";
} }
} }
@ -138,8 +139,8 @@ while ($row = $sth_pendingdelete->fetch(PDO::FETCH_ASSOC)) {
if ($set_pendingDelete) { if ($set_pendingDelete) {
$dbh->exec("UPDATE `domain` SET `rgpstatus` = 'pendingDelete' WHERE `id` = '$domain_id'"); $dbh->exec("UPDATE `domain` SET `rgpstatus` = 'pendingDelete' WHERE `id` = '$domain_id'");
} }
$currentDateTime = new DateTime();
echo date("Y-m-d H:i:s") . " - $domain_id\t|\t$name\t|\trgpStatus:pendingDelete exdate:$exdate\n"; echo $currentDateTime->format("Y-m-d H:i:s.v") . " - $domain_id\t|\t$name\t|\trgpStatus:pendingDelete exdate:$exdate\n";
} }
// Pending Restore // Pending Restore
@ -153,7 +154,8 @@ while ($row = $sth_pendingRestore->fetch(PDO::FETCH_ASSOC)) {
$dbh->exec("UPDATE `domain` SET `rgpstatus` = 'redemptionPeriod' WHERE `id` = '$domain_id'"); $dbh->exec("UPDATE `domain` SET `rgpstatus` = 'redemptionPeriod' WHERE `id` = '$domain_id'");
echo date("Y-m-d H:i:s") . " - $domain_id\t|\t$name\t|\tback to redemptionPeriod from pendingRestore exdate:$exdate\n"; $currentDateTime = new DateTime();
echo $currentDateTime->format("Y-m-d H:i:s.v") . " - $domain_id\t|\t$name\t|\tback to redemptionPeriod from pendingRestore exdate:$exdate\n";
} }
// Domain Deletion // Domain Deletion
@ -209,6 +211,6 @@ while ($row = $sth_delete->fetch(PDO::FETCH_ASSOC)) {
$dbh->exec("UPDATE `statistics` SET `deleted_domains` = `deleted_domains` + 1 WHERE `date` = CURDATE()"); $dbh->exec("UPDATE `statistics` SET `deleted_domains` = `deleted_domains` + 1 WHERE `date` = CURDATE()");
} }
} }
$currentDateTime = new DateTime();
echo date("Y-m-d H:i:s") . " - $domain_id\t|\t$name\t|\tdomain:Deleted exdate:$exdate\n"; echo $currentDateTime->format("Y-m-d H:i:s.v") . " - $domain_id\t|\t$name\t|\tdomain:Deleted exdate:$exdate\n";
} }

View file

@ -107,8 +107,10 @@ foreach ($tlds as $tld) {
$xml->writeElement('rdeDom:clID', $domain['clid']); $xml->writeElement('rdeDom:clID', $domain['clid']);
$xml->writeElement('rdeDom:crRr', $domain['crid']); $xml->writeElement('rdeDom:crRr', $domain['crid']);
$xml->writeElement('rdeDom:crDate', date("Y-m-d\\TH:i:s.0\\Z", strtotime($domain['crdate']))); $crDate = DateTime::createFromFormat('Y-m-d H:i:s.v', $domain['crdate']);
$xml->writeElement('rdeDom:exDate', date("Y-m-d\\TH:i:s.0\\Z", strtotime($domain['exdate']))); $xml->writeElement('rdeDom:crDate', $crDate->format("Y-m-d\\TH:i:s.v\\Z"));
$exDate = DateTime::createFromFormat('Y-m-d H:i:s.v', $domain['exdate']);
$xml->writeElement('rdeDom:exDate', $exDate->format("Y-m-d\\TH:i:s.v\\Z"));
$xml->endElement(); // Closing rdeDom:domain $xml->endElement(); // Closing rdeDom:domain
} }
@ -153,7 +155,8 @@ foreach ($tlds as $tld) {
$xml->writeElement('rdeRegistrar:url', $registrar['whois_server']); $xml->writeElement('rdeRegistrar:url', $registrar['whois_server']);
$xml->endElement(); // Closing rdeRegistrar:whoisInfo $xml->endElement(); // Closing rdeRegistrar:whoisInfo
$xml->writeElement('rdeRegistrar:crDate', date("Y-m-d\\TH:i:s.0\\Z", strtotime($registrar['crdate']))); $crDate = DateTime::createFromFormat('Y-m-d H:i:s.v', $registrar['crdate']);
$xml->writeElement('rdeRegistrar:crDate', $crDate->format("Y-m-d\\TH:i:s.v\\Z"));
} }
$xml->endElement(); // Closing rdeRegistrar:registrar $xml->endElement(); // Closing rdeRegistrar:registrar
@ -174,7 +177,8 @@ foreach ($tlds as $tld) {
$xml->writeElement('rdeHost:clID', $host['clid']); $xml->writeElement('rdeHost:clID', $host['clid']);
$xml->writeElement('rdeHost:crRr', $host['crid']); $xml->writeElement('rdeHost:crRr', $host['crid']);
$xml->writeElement('rdeHost:crDate', date("Y-m-d\\TH:i:s.0\\Z", strtotime($host['crdate']))); $crDate = DateTime::createFromFormat('Y-m-d H:i:s.v', $host['crdate']);
$xml->writeElement('rdeHost:crDate', $crDate->format("Y-m-d\\TH:i:s.v\\Z"));
$xml->endElement(); // Closing rdeHost:host $xml->endElement(); // Closing rdeHost:host
} }
@ -217,10 +221,12 @@ foreach ($tlds as $tld) {
$xml->writeElement('rdeContact:email', $contact['email']); $xml->writeElement('rdeContact:email', $contact['email']);
$xml->writeElement('rdeContact:clID', $contact['clid']); $xml->writeElement('rdeContact:clID', $contact['clid']);
$xml->writeElement('rdeContact:crRr', $contact['crid']); $xml->writeElement('rdeContact:crRr', $contact['crid']);
$xml->writeElement('rdeContact:crDate', date("Y-m-d\\TH:i:s.0\\Z", strtotime($contact['crdate']))); $crDate = DateTime::createFromFormat('Y-m-d H:i:s.v', $contact['crdate']);
$xml->writeElement('rdeContact:crDate', $crDate->format("Y-m-d\\TH:i:s.v\\Z"));
if (!empty($contact['upid'])) { if (!empty($contact['upid'])) {
$xml->writeElement('rdeContact:upRr', $contact['upid']); $xml->writeElement('rdeContact:upRr', $contact['upid']);
$xml->writeElement('rdeContact:upDate', date("Y-m-d\\TH:i:s.0\\Z", strtotime($contact['update']))); $upDate = DateTime::createFromFormat('Y-m-d H:i:s.v', $contact['update']);
$xml->writeElement('rdeContact:upDate', $upDate->format("Y-m-d\\TH:i:s.v\\Z"));
} }
$xml->endElement(); // Closing rdeContact:contact $xml->endElement(); // Closing rdeContact:contact
} }
@ -372,9 +378,11 @@ foreach ($tlds as $tld) {
$reportXML->writeElement('rdeReport:rydeSpecEscrow', 'RFC8909'); $reportXML->writeElement('rdeReport:rydeSpecEscrow', 'RFC8909');
$reportXML->writeElement('rdeReport:rydeSpecMapping', 'RFC9022'); $reportXML->writeElement('rdeReport:rydeSpecMapping', 'RFC9022');
$reportXML->writeElement('rdeReport:resend', '0'); $reportXML->writeElement('rdeReport:resend', '0');
$reportXML->writeElement('rdeReport:crDate', date("Y-m-d\\TH:i:s.0\\Z")); $currentDateTime = new DateTime();
$crDateWithMilliseconds = $currentDateTime->format("Y-m-d\TH:i:s.v\Z");
$reportXML->writeElement('rdeReport:crDate', $crDateWithMilliseconds);
$reportXML->writeElement('rdeReport:kind', 'FULL'); $reportXML->writeElement('rdeReport:kind', 'FULL');
$reportXML->writeElement('rdeReport:watermark', date('Y-m-d\\T00:00:00\\Z')); $reportXML->writeElement('rdeReport:watermark', date('Y-m-d\\T00:00:00.000\\Z'));
$reportXML->startElement('rdeHeader:header'); $reportXML->startElement('rdeHeader:header');
$reportXML->writeElement('rdeHeader:tld', $tld['tld']); $reportXML->writeElement('rdeHeader:tld', $tld['tld']);

View file

@ -31,7 +31,7 @@ foreach ($allEmails as $emailId) {
$header = imap_headerinfo($inbox, $emailId); $header = imap_headerinfo($inbox, $emailId);
$from = $header->from[0]->mailbox . "@" . $header->from[0]->host; $from = $header->from[0]->mailbox . "@" . $header->from[0]->host;
$subject = $header->subject; $subject = $header->subject;
$date = date('Y-m-d H:i:s', strtotime($header->date)); $date = date('Y-m-d H:i:s', strtotime($header->date)) . '.000';
// Determine the URS provider based on the email sender // Determine the URS provider based on the email sender
$ursProvider = ($from == 'providerA@example.com') ? 'URSPA' : 'URSPB'; $ursProvider = ($from == 'providerA@example.com') ? 'URSPA' : 'URSPB';

View file

@ -365,6 +365,8 @@ class ContactsController extends Controller
$db->beginTransaction(); $db->beginTransaction();
try { try {
$currentDateTime = new DateTime();
$crdate = $currentDateTime->format('Y-m-d H:i:s.v');
$db->insert( $db->insert(
'contact', 'contact',
[ [
@ -378,7 +380,7 @@ class ContactsController extends Controller
'nin_type' => $nin_type ?? null, 'nin_type' => $nin_type ?? null,
'clid' => $clid, 'clid' => $clid,
'crid' => $clid, 'crid' => $clid,
'crdate' => date('Y-m-d H:i:s'), 'crdate' => $crdate,
'disclose_voice' => $disclose_voice, 'disclose_voice' => $disclose_voice,
'disclose_fax' => $disclose_fax, 'disclose_fax' => $disclose_fax,
'disclose_email' => $disclose_email 'disclose_email' => $disclose_email

View file

@ -335,8 +335,12 @@ class DomainsController extends Controller
try { try {
$db->beginTransaction(); $db->beginTransaction();
$crdate = date('Y-m-d H:i:s'); // Current timestamp $currentDateTime = new DateTime();
$exdate = date('Y-m-d H:i:s', strtotime("+$date_add months")); // Expiry timestamp after $date_add months $crdate = $currentDateTime->format('Y-m-d H:i:s.v'); // Current timestamp
$currentDateTime = new DateTime();
$currentDateTime->modify("+$date_add months");
$exdate = $currentDateTime->format('Y-m-d H:i:s.v'); // Expiry timestamp after $date_add months
$db->insert('domain', [ $db->insert('domain', [
'name' => $domainName, 'name' => $domainName,
@ -499,11 +503,13 @@ class DomainsController extends Controller
$from = $row['crdate']; $from = $row['crdate'];
$to = $row['exdate']; $to = $row['exdate'];
$currentDateTime = new DateTime();
$stdate = $currentDateTime->format('Y-m-d H:i:s.v');
$db->insert( $db->insert(
'statement', 'statement',
[ [
'registrar_id' => $clid, 'registrar_id' => $clid,
'date' => date('Y-m-d H:i:s'), 'date' => $stdate,
'command' => 'create', 'command' => 'create',
'domain_name' => $domainName, 'domain_name' => $domainName,
'length_in_months' => $date_add, 'length_in_months' => $date_add,
@ -534,16 +540,20 @@ class DomainsController extends Controller
] ]
); );
} else { } else {
$currentDateTime = new DateTime();
$logdate = $currentDateTime->format('Y-m-d H:i:s.v');
$db->insert( $db->insert(
'error_log', 'error_log',
[ [
'registrar_id' => $clid, 'registrar_id' => $clid,
'log' => "Domain : $domainName ; hostName : $nameserver - is duplicated", 'log' => "Domain : $domainName ; hostName : $nameserver - is duplicated",
'date' => date('Y-m-d H:i:s') 'date' => $logdate
] ]
); );
} }
} else { } else {
$currentDateTime = new DateTime();
$host_date = $currentDateTime->format('Y-m-d H:i:s.v');
$host_id = $db->insert( $host_id = $db->insert(
'host', 'host',
[ [
@ -551,7 +561,7 @@ class DomainsController extends Controller
'domain_id' => $domain_id, 'domain_id' => $domain_id,
'clid' => $clid, 'clid' => $clid,
'crid' => $clid, 'crid' => $clid,
'crdate' => date('Y-m-d H:i:s') 'crdate' => $host_date
] ]
); );

View file

@ -127,6 +127,8 @@ class HostsController extends Controller
$db->beginTransaction(); $db->beginTransaction();
try { try {
$currentDateTime = new DateTime();
$crdate = $currentDateTime->format('Y-m-d H:i:s.v');
$db->insert( $db->insert(
'host', 'host',
[ [
@ -134,7 +136,7 @@ class HostsController extends Controller
'domain_id' => $superordinate_dom, 'domain_id' => $superordinate_dom,
'clid' => $clid, 'clid' => $clid,
'crid' => $clid, 'crid' => $clid,
'crdate' => date('Y-m-d H:i:s') 'crdate' => $crdate
] ]
); );
$host_id = $db->getLastInsertId(); $host_id = $db->getLastInsertId();
@ -201,13 +203,15 @@ class HostsController extends Controller
'registrars' => $registrars, 'registrars' => $registrars,
]); ]);
} else { } else {
$currentDateTime = new DateTime();
$crdate = $currentDateTime->format('Y-m-d H:i:s.v');
$db->insert( $db->insert(
'host', 'host',
[ [
'name' => $hostName, 'name' => $hostName,
'clid' => $clid, 'clid' => $clid,
'crid' => $clid, 'crid' => $clid,
'crdate' => date('Y-m-d H:i:s') 'crdate' => $crdate
] ]
); );
$host_id = $db->getLastInsertId(); $host_id = $db->getLastInsertId();

View file

@ -107,7 +107,10 @@ $server->on('receive', function ($server, $fd, $reactorId, $data) use ($c, $pdo)
if ($fp = @fopen("/var/log/das/das_request.log",'a')) { if ($fp = @fopen("/var/log/das/das_request.log",'a')) {
$clientInfo = $server->getClientInfo($fd); $clientInfo = $server->getClientInfo($fd);
$remoteAddr = $clientInfo['remote_ip']; $remoteAddr = $clientInfo['remote_ip'];
fwrite($fp,date('Y-m-d H:i:s')."\t-\t".$remoteAddr."\t-\t".$domain."\n"); $currentDateTime = new DateTime();
$milliseconds = $currentDateTime->format("v");
$timestampWithMilliseconds = $currentDateTime->format("Y-m-d H:i:s") . '.' . $milliseconds;
fwrite($fp, $timestampWithMilliseconds . "\t-\t" . $remoteAddr . "\t-\t" . $domain . "\n");
fclose($fp); fclose($fp);
} }
$server->close($fd); $server->close($fd);
@ -117,7 +120,10 @@ $server->on('receive', function ($server, $fd, $reactorId, $data) use ($c, $pdo)
if ($fp = @fopen("/var/log/das/das_not_found.log",'a')) { if ($fp = @fopen("/var/log/das/das_not_found.log",'a')) {
$clientInfo = $server->getClientInfo($fd); $clientInfo = $server->getClientInfo($fd);
$remoteAddr = $clientInfo['remote_ip']; $remoteAddr = $clientInfo['remote_ip'];
fwrite($fp,date('Y-m-d H:i:s')."\t-\t".$remoteAddr."\t-\t".$domain."\n"); $currentDateTime = new DateTime();
$milliseconds = $currentDateTime->format("v");
$timestampWithMilliseconds = $currentDateTime->format("Y-m-d H:i:s") . '.' . $milliseconds;
fwrite($fp, $timestampWithMilliseconds . "\t-\t" . $remoteAddr . "\t-\t" . $domain . "\n");
fclose($fp); fclose($fp);
} }
$server->close($fd); $server->close($fd);

View file

@ -44,7 +44,7 @@ CREATE TABLE IF NOT EXISTS `registry`.`error_log` (
`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`registrar_id` INT(11) NOT NULL, `registrar_id` INT(11) NOT NULL,
`log` TEXT NOT NULL, `log` TEXT NOT NULL,
`date` TIMESTAMP DEFAULT CURRENT_TIMESTAMP `date` TIMESTAMP(3) DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='registry error log'; ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='registry error log';
CREATE TABLE IF NOT EXISTS `registry`.`reserved_domain_names` ( CREATE TABLE IF NOT EXISTS `registry`.`reserved_domain_names` (
@ -73,8 +73,8 @@ CREATE TABLE IF NOT EXISTS `registry`.`registrar` (
`creditThreshold` decimal(8,2) NOT NULL default '0.00', `creditThreshold` decimal(8,2) NOT NULL default '0.00',
`thresholdType` enum('fixed','percent') NOT NULL default 'fixed', `thresholdType` enum('fixed','percent') NOT NULL default 'fixed',
`currency` varchar(5) NOT NULL, `currency` varchar(5) NOT NULL,
`crdate` datetime NOT NULL, `crdate` datetime(3) NOT NULL,
`update` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `update` TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`), PRIMARY KEY (`id`),
UNIQUE KEY `clid` (`clid`), UNIQUE KEY `clid` (`clid`),
UNIQUE KEY `prefix` (`prefix`), UNIQUE KEY `prefix` (`prefix`),
@ -117,16 +117,16 @@ CREATE TABLE IF NOT EXISTS `registry`.`registrar_contact` (
CREATE TABLE IF NOT EXISTS `registry`.`poll` ( CREATE TABLE IF NOT EXISTS `registry`.`poll` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT, `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`registrar_id` int(10) unsigned NOT NULL, `registrar_id` int(10) unsigned NOT NULL,
`qdate` datetime NOT NULL, `qdate` datetime(3) NOT NULL,
`msg` text default NULL, `msg` text default NULL,
`msg_type` enum('lowBalance','domainTransfer','contactTransfer') default NULL, `msg_type` enum('lowBalance','domainTransfer','contactTransfer') default NULL,
`obj_name_or_id` varchar(68), `obj_name_or_id` varchar(68),
`obj_trStatus` enum('clientApproved','clientCancelled','clientRejected','pending','serverApproved','serverCancelled') default NULL, `obj_trStatus` enum('clientApproved','clientCancelled','clientRejected','pending','serverApproved','serverCancelled') default NULL,
`obj_reID` varchar(255), `obj_reID` varchar(255),
`obj_reDate` datetime, `obj_reDate` datetime(3),
`obj_acID` varchar(255), `obj_acID` varchar(255),
`obj_acDate` datetime, `obj_acDate` datetime(3),
`obj_exDate` datetime default NULL, `obj_exDate` datetime(3) default NULL,
`registrarName` varchar(255), `registrarName` varchar(255),
`creditLimit` decimal(8,2) default '0.00', `creditLimit` decimal(8,2) default '0.00',
`creditThreshold` decimal(8,2) default '0.00', `creditThreshold` decimal(8,2) default '0.00',
@ -139,7 +139,7 @@ CREATE TABLE IF NOT EXISTS `registry`.`poll` (
CREATE TABLE IF NOT EXISTS `registry`.`payment_history` ( CREATE TABLE IF NOT EXISTS `registry`.`payment_history` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT, `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`registrar_id` int(10) unsigned NOT NULL, `registrar_id` int(10) unsigned NOT NULL,
`date` datetime NOT NULL, `date` datetime(3) NOT NULL,
`description` text NOT NULL, `description` text NOT NULL,
`amount` decimal(8,2) NOT NULL, `amount` decimal(8,2) NOT NULL,
PRIMARY KEY (`id`), PRIMARY KEY (`id`),
@ -149,12 +149,12 @@ CREATE TABLE IF NOT EXISTS `registry`.`payment_history` (
CREATE TABLE IF NOT EXISTS `registry`.`statement` ( CREATE TABLE IF NOT EXISTS `registry`.`statement` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT, `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`registrar_id` int(10) unsigned NOT NULL, `registrar_id` int(10) unsigned NOT NULL,
`date` datetime NOT NULL, `date` datetime(3) NOT NULL,
`command` enum('create','renew','transfer','restore','autoRenew') NOT NULL default 'create', `command` enum('create','renew','transfer','restore','autoRenew') NOT NULL default 'create',
`domain_name` varchar(68) NOT NULL, `domain_name` varchar(68) NOT NULL,
`length_in_months` tinyint(3) unsigned NOT NULL, `length_in_months` tinyint(3) unsigned NOT NULL,
`from` datetime NOT NULL, `from` datetime(3) NOT NULL,
`to` datetime NOT NULL, `to` datetime(3) NOT NULL,
`amount` decimal(8,2) NOT NULL, `amount` decimal(8,2) NOT NULL,
PRIMARY KEY (`id`), PRIMARY KEY (`id`),
CONSTRAINT `statement_ibfk_1` FOREIGN KEY (`registrar_id`) REFERENCES `registrar` (`id`) ON DELETE RESTRICT CONSTRAINT `statement_ibfk_1` FOREIGN KEY (`registrar_id`) REFERENCES `registrar` (`id`) ON DELETE RESTRICT
@ -172,15 +172,15 @@ CREATE TABLE IF NOT EXISTS `registry`.`contact` (
`nin_type` enum('personal','business') default NULL, `nin_type` enum('personal','business') default NULL,
`clid` int(10) unsigned NOT NULL, `clid` int(10) unsigned NOT NULL,
`crid` int(10) unsigned NOT NULL, `crid` int(10) unsigned NOT NULL,
`crdate` datetime NOT NULL, `crdate` datetime(3) NOT NULL,
`upid` int(10) unsigned default NULL, `upid` int(10) unsigned default NULL,
`update` datetime default NULL, `update` datetime(3) default NULL,
`trdate` datetime default NULL, `trdate` datetime(3) default NULL,
`trstatus` enum('clientApproved','clientCancelled','clientRejected','pending','serverApproved','serverCancelled') default NULL, `trstatus` enum('clientApproved','clientCancelled','clientRejected','pending','serverApproved','serverCancelled') default NULL,
`reid` int(10) unsigned default NULL, `reid` int(10) unsigned default NULL,
`redate` datetime default NULL, `redate` datetime(3) default NULL,
`acid` int(10) unsigned default NULL, `acid` int(10) unsigned default NULL,
`acdate` datetime default NULL, `acdate` datetime(3) default NULL,
`disclose_voice` enum('0','1') NOT NULL default '1', `disclose_voice` enum('0','1') NOT NULL default '1',
`disclose_fax` enum('0','1') NOT NULL default '1', `disclose_fax` enum('0','1') NOT NULL default '1',
`disclose_email` enum('0','1') NOT NULL default '1', `disclose_email` enum('0','1') NOT NULL default '1',
@ -239,26 +239,26 @@ CREATE TABLE IF NOT EXISTS `registry`.`domain` (
`name` varchar(68) NOT NULL, `name` varchar(68) NOT NULL,
`tldid` int(10) unsigned NOT NULL, `tldid` int(10) unsigned NOT NULL,
`registrant` int(10) unsigned default NULL, `registrant` int(10) unsigned default NULL,
`crdate` datetime NOT NULL, `crdate` datetime(3) NOT NULL,
`exdate` datetime NOT NULL, `exdate` datetime(3) NOT NULL,
`update` datetime default NULL, `update` datetime(3) default NULL,
`clid` int(10) unsigned NOT NULL, `clid` int(10) unsigned NOT NULL,
`crid` int(10) unsigned NOT NULL, `crid` int(10) unsigned NOT NULL,
`upid` int(10) unsigned default NULL, `upid` int(10) unsigned default NULL,
`trdate` datetime default NULL, `trdate` datetime(3) default NULL,
`trstatus` enum('clientApproved','clientCancelled','clientRejected','pending','serverApproved','serverCancelled') default NULL, `trstatus` enum('clientApproved','clientCancelled','clientRejected','pending','serverApproved','serverCancelled') default NULL,
`reid` int(10) unsigned default NULL, `reid` int(10) unsigned default NULL,
`redate` datetime default NULL, `redate` datetime(3) default NULL,
`acid` int(10) unsigned default NULL, `acid` int(10) unsigned default NULL,
`acdate` datetime default NULL, `acdate` datetime(3) default NULL,
`transfer_exdate` datetime default NULL, `transfer_exdate` datetime(3) default NULL,
`idnlang` varchar(16) default NULL, `idnlang` varchar(16) default NULL,
`delTime` datetime default NULL, `delTime` datetime(3) default NULL,
`resTime` datetime default NULL, `resTime` datetime(3) default NULL,
`rgpstatus` enum('addPeriod','autoRenewPeriod','renewPeriod','transferPeriod','pendingDelete','pendingRestore','redemptionPeriod') default NULL, `rgpstatus` enum('addPeriod','autoRenewPeriod','renewPeriod','transferPeriod','pendingDelete','pendingRestore','redemptionPeriod') default NULL,
`rgppostData` text default NULL, `rgppostData` text default NULL,
`rgpdelTime` datetime default NULL, `rgpdelTime` datetime(3) default NULL,
`rgpresTime` datetime default NULL, `rgpresTime` datetime(3) default NULL,
`rgpresReason` text default NULL, `rgpresReason` text default NULL,
`rgpstatement1` text default NULL, `rgpstatement1` text default NULL,
`rgpstatement2` text default NULL, `rgpstatement2` text default NULL,
@ -267,7 +267,7 @@ CREATE TABLE IF NOT EXISTS `registry`.`domain` (
`autoRenewPeriod` tinyint(3) unsigned default NULL, `autoRenewPeriod` tinyint(3) unsigned default NULL,
`renewPeriod` tinyint(3) unsigned default NULL, `renewPeriod` tinyint(3) unsigned default NULL,
`transferPeriod` tinyint(3) unsigned default NULL, `transferPeriod` tinyint(3) unsigned default NULL,
`renewedDate` datetime default NULL, `renewedDate` datetime(3) default NULL,
PRIMARY KEY (`id`), PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`), UNIQUE KEY `name` (`name`),
CONSTRAINT `domain_ibfk_1` FOREIGN KEY (`clid`) REFERENCES `registrar` (`id`) ON DELETE RESTRICT, CONSTRAINT `domain_ibfk_1` FOREIGN KEY (`clid`) REFERENCES `registrar` (`id`) ON DELETE RESTRICT,
@ -333,10 +333,10 @@ CREATE TABLE IF NOT EXISTS `registry`.`host` (
`domain_id` int(10) unsigned default NULL, `domain_id` int(10) unsigned default NULL,
`clid` int(10) unsigned NOT NULL, `clid` int(10) unsigned NOT NULL,
`crid` int(10) unsigned NOT NULL, `crid` int(10) unsigned NOT NULL,
`crdate` datetime NOT NULL, `crdate` datetime(3) NOT NULL,
`upid` int(10) unsigned default NULL, `upid` int(10) unsigned default NULL,
`update` datetime default NULL, `update` datetime(3) default NULL,
`trdate` datetime default NULL, `trdate` datetime(3) default NULL,
PRIMARY KEY (`id`), PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`), UNIQUE KEY `name` (`name`),
CONSTRAINT `host_ibfk_1` FOREIGN KEY (`clid`) REFERENCES `registrar` (`id`) ON DELETE RESTRICT, CONSTRAINT `host_ibfk_1` FOREIGN KEY (`clid`) REFERENCES `registrar` (`id`) ON DELETE RESTRICT,
@ -378,19 +378,19 @@ CREATE TABLE IF NOT EXISTS `registry`.`domain_auto_approve_transfer` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT, `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(68) NOT NULL, `name` varchar(68) NOT NULL,
`registrant` int(10) unsigned default NULL, `registrant` int(10) unsigned default NULL,
`crdate` datetime NOT NULL, `crdate` datetime(3) NOT NULL,
`exdate` datetime NOT NULL, `exdate` datetime(3) NOT NULL,
`update` datetime default NULL, `update` datetime(3) default NULL,
`clid` int(10) unsigned NOT NULL, `clid` int(10) unsigned NOT NULL,
`crid` int(10) unsigned NOT NULL, `crid` int(10) unsigned NOT NULL,
`upid` int(10) unsigned default NULL, `upid` int(10) unsigned default NULL,
`trdate` datetime default NULL, `trdate` datetime(3) default NULL,
`trstatus` enum('clientApproved','clientCancelled','clientRejected','pending','serverApproved','serverCancelled') default NULL, `trstatus` enum('clientApproved','clientCancelled','clientRejected','pending','serverApproved','serverCancelled') default NULL,
`reid` int(10) unsigned default NULL, `reid` int(10) unsigned default NULL,
`redate` datetime default NULL, `redate` datetime(3) default NULL,
`acid` int(10) unsigned default NULL, `acid` int(10) unsigned default NULL,
`acdate` datetime default NULL, `acdate` datetime(3) default NULL,
`transfer_exdate` datetime default NULL, `transfer_exdate` datetime(3) default NULL,
PRIMARY KEY (`id`) PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='domain_auto_approve_transfer'; ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='domain_auto_approve_transfer';
@ -406,15 +406,15 @@ CREATE TABLE IF NOT EXISTS `registry`.`contact_auto_approve_transfer` (
`nin_type` enum('personal','business') default NULL, `nin_type` enum('personal','business') default NULL,
`clid` int(10) unsigned NOT NULL, `clid` int(10) unsigned NOT NULL,
`crid` int(10) unsigned NOT NULL, `crid` int(10) unsigned NOT NULL,
`crdate` datetime NOT NULL, `crdate` datetime(3) NOT NULL,
`upid` int(10) unsigned default NULL, `upid` int(10) unsigned default NULL,
`update` datetime default NULL, `update` datetime(3) default NULL,
`trdate` datetime default NULL, `trdate` datetime(3) default NULL,
`trstatus` enum('clientApproved','clientCancelled','clientRejected','pending','serverApproved','serverCancelled') default NULL, `trstatus` enum('clientApproved','clientCancelled','clientRejected','pending','serverApproved','serverCancelled') default NULL,
`reid` int(10) unsigned default NULL, `reid` int(10) unsigned default NULL,
`redate` datetime default NULL, `redate` datetime(3) default NULL,
`acid` int(10) unsigned default NULL, `acid` int(10) unsigned default NULL,
`acdate` datetime default NULL, `acdate` datetime(3) default NULL,
`disclose_voice` enum('0','1') NOT NULL default '1', `disclose_voice` enum('0','1') NOT NULL default '1',
`disclose_fax` enum('0','1') NOT NULL default '1', `disclose_fax` enum('0','1') NOT NULL default '1',
`disclose_email` enum('0','1') NOT NULL default '1', `disclose_email` enum('0','1') NOT NULL default '1',
@ -581,8 +581,8 @@ CREATE TABLE IF NOT EXISTS `registry`.`support_tickets` (
evidence TEXT DEFAULT NULL, evidence TEXT DEFAULT NULL,
relevant_urls TEXT DEFAULT NULL, relevant_urls TEXT DEFAULT NULL,
date_of_incident DATE DEFAULT NULL, date_of_incident DATE DEFAULT NULL,
date_created DATETIME DEFAULT CURRENT_TIMESTAMP, date_created datetime(3) DEFAULT CURRENT_TIMESTAMP,
last_updated DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, last_updated datetime(3) DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES users(id), FOREIGN KEY (user_id) REFERENCES users(id),
FOREIGN KEY (category_id) REFERENCES ticket_categories(id) FOREIGN KEY (category_id) REFERENCES ticket_categories(id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Support Tickets'; ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Support Tickets';
@ -592,7 +592,7 @@ CREATE TABLE IF NOT EXISTS `registry`.`ticket_responses` (
ticket_id INT(11) UNSIGNED NOT NULL, ticket_id INT(11) UNSIGNED NOT NULL,
responder_id INT(11) UNSIGNED NOT NULL, responder_id INT(11) UNSIGNED NOT NULL,
response TEXT NOT NULL, response TEXT NOT NULL,
date_created DATETIME DEFAULT CURRENT_TIMESTAMP, date_created datetime(3) DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (ticket_id) REFERENCES support_tickets(id) FOREIGN KEY (ticket_id) REFERENCES support_tickets(id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Ticket Responses'; ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Ticket Responses';
@ -660,7 +660,7 @@ CREATE TABLE IF NOT EXISTS `registryTransaction`.`transaction_identifier` (
`registrar_id` int(10) unsigned NOT NULL, `registrar_id` int(10) unsigned NOT NULL,
`clTRID` varchar(64), `clTRID` varchar(64),
`clTRIDframe` text, `clTRIDframe` text,
`cldate` datetime, `cldate` datetime(3),
`clmicrosecond` int(6), `clmicrosecond` int(6),
`cmd` enum('login','logout','check','info','poll','transfer','create','delete','renew','update') default NULL, `cmd` enum('login','logout','check','info','poll','transfer','create','delete','renew','update') default NULL,
`obj_type` enum('domain','host','contact') default NULL, `obj_type` enum('domain','host','contact') default NULL,
@ -669,7 +669,7 @@ CREATE TABLE IF NOT EXISTS `registryTransaction`.`transaction_identifier` (
`msg` varchar(255) default NULL, `msg` varchar(255) default NULL,
`svTRID` varchar(64), `svTRID` varchar(64),
`svTRIDframe` text, `svTRIDframe` text,
`svdate` datetime, `svdate` datetime(3),
`svmicrosecond` int(6), `svmicrosecond` int(6),
PRIMARY KEY (`id`), PRIMARY KEY (`id`),
UNIQUE KEY `clTRID` (`clTRID`), UNIQUE KEY `clTRID` (`clTRID`),

View file

@ -43,7 +43,7 @@ CREATE TABLE registry.error_log (
"id" INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, "id" INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
"registrar_id" INT(11) NOT NULL, "registrar_id" INT(11) NOT NULL,
"log" TEXT NOT NULL, "log" TEXT NOT NULL,
"date" TIMESTAMP DEFAULT CURRENT_TIMESTAMP "date" TIMESTAMP(3) DEFAULT CURRENT_TIMESTAMP
); );
CREATE TABLE registry.reserved_domain_names ( CREATE TABLE registry.reserved_domain_names (
@ -72,8 +72,8 @@ CREATE TABLE registry.registrar (
"creditthreshold" decimal(8,2) NOT NULL default '0.00', "creditthreshold" decimal(8,2) NOT NULL default '0.00',
"thresholdtype" varchar CHECK ("thresholdtype" IN ( 'fixed','percent' )) NOT NULL default 'fixed', "thresholdtype" varchar CHECK ("thresholdtype" IN ( 'fixed','percent' )) NOT NULL default 'fixed',
"currency" varchar(5) NOT NULL, "currency" varchar(5) NOT NULL,
"crdate" timestamp without time zone NOT NULL, "crdate" timestamp(3) without time zone NOT NULL,
"update" TIMESTAMP , "update" timestamp(3),
primary key ("id"), primary key ("id"),
unique ("clid") , unique ("clid") ,
unique ("prefix") , unique ("prefix") ,
@ -125,16 +125,16 @@ CREATE TABLE registry.registrar_contact (
CREATE TABLE registry.poll ( CREATE TABLE registry.poll (
"id" serial8, "id" serial8,
"registrar_id" int CHECK ("registrar_id" >= 0) NOT NULL, "registrar_id" int CHECK ("registrar_id" >= 0) NOT NULL,
"qdate" timestamp without time zone NOT NULL, "qdate" timestamp(3) without time zone NOT NULL,
"msg" text default NULL, "msg" text default NULL,
"msg_type" varchar CHECK ("msg_type" IN ( 'lowBalance','domainTransfer','contactTransfer' )) default NULL, "msg_type" varchar CHECK ("msg_type" IN ( 'lowBalance','domainTransfer','contactTransfer' )) default NULL,
"obj_name_or_id" varchar(68), "obj_name_or_id" varchar(68),
"obj_trstatus" varchar CHECK ("obj_trstatus" IN ( 'clientApproved','clientCancelled','clientRejected','pending','serverApproved','serverCancelled' )) default NULL, "obj_trstatus" varchar CHECK ("obj_trstatus" IN ( 'clientApproved','clientCancelled','clientRejected','pending','serverApproved','serverCancelled' )) default NULL,
"obj_reid" varchar(255), "obj_reid" varchar(255),
"obj_redate" timestamp without time zone, "obj_redate" timestamp(3) without time zone,
"obj_acid" varchar(255), "obj_acid" varchar(255),
"obj_acdate" timestamp without time zone, "obj_acdate" timestamp(3) without time zone,
"obj_exdate" timestamp without time zone default NULL, "obj_exdate" timestamp(3) without time zone default NULL,
"registrarname" varchar(255), "registrarname" varchar(255),
"creditlimit" decimal(8,2) default '0.00', "creditlimit" decimal(8,2) default '0.00',
"creditthreshold" decimal(8,2) default '0.00', "creditthreshold" decimal(8,2) default '0.00',
@ -146,7 +146,7 @@ CREATE TABLE registry.poll (
CREATE TABLE registry.payment_history ( CREATE TABLE registry.payment_history (
"id" serial8, "id" serial8,
"registrar_id" int CHECK ("registrar_id" >= 0) NOT NULL, "registrar_id" int CHECK ("registrar_id" >= 0) NOT NULL,
"date" timestamp without time zone NOT NULL, "date" timestamp(3) without time zone NOT NULL,
"description" text NOT NULL, "description" text NOT NULL,
"amount" decimal(8,2) NOT NULL, "amount" decimal(8,2) NOT NULL,
primary key ("id") primary key ("id")
@ -155,12 +155,12 @@ CREATE TABLE registry.payment_history (
CREATE TABLE registry.statement ( CREATE TABLE registry.statement (
"id" serial8, "id" serial8,
"registrar_id" int CHECK ("registrar_id" >= 0) NOT NULL, "registrar_id" int CHECK ("registrar_id" >= 0) NOT NULL,
"date" timestamp without time zone NOT NULL, "date" timestamp(3) without time zone NOT NULL,
"command" varchar CHECK ("command" IN ( 'create','renew','transfer','restore','autoRenew' )) NOT NULL default 'create', "command" varchar CHECK ("command" IN ( 'create','renew','transfer','restore','autoRenew' )) NOT NULL default 'create',
"domain_name" varchar(68) NOT NULL, "domain_name" varchar(68) NOT NULL,
"length_in_months" smallint CHECK ("length_in_months" >= 0) NOT NULL, "length_in_months" smallint CHECK ("length_in_months" >= 0) NOT NULL,
"from" timestamp without time zone NOT NULL, "from" timestamp(3) without time zone NOT NULL,
"to" timestamp without time zone NOT NULL, "to" timestamp(3) without time zone NOT NULL,
"amount" decimal(8,2) NOT NULL, "amount" decimal(8,2) NOT NULL,
primary key ("id") primary key ("id")
); );
@ -177,15 +177,15 @@ CREATE TABLE registry.contact (
"nin_type" varchar CHECK ("nin_type" IN ( 'personal','business' )) default NULL, "nin_type" varchar CHECK ("nin_type" IN ( 'personal','business' )) default NULL,
"clid" int CHECK ("clid" >= 0) NOT NULL, "clid" int CHECK ("clid" >= 0) NOT NULL,
"crid" int CHECK ("crid" >= 0) NOT NULL, "crid" int CHECK ("crid" >= 0) NOT NULL,
"crdate" timestamp without time zone NOT NULL, "crdate" timestamp(3) without time zone NOT NULL,
"upid" int CHECK ("upid" >= 0) default NULL, "upid" int CHECK ("upid" >= 0) default NULL,
"update" timestamp without time zone default NULL, "update" timestamp(3) without time zone default NULL,
"trdate" timestamp without time zone default NULL, "trdate" timestamp(3) without time zone default NULL,
"trstatus" varchar CHECK ("trstatus" IN ( 'clientApproved','clientCancelled','clientRejected','pending','serverApproved','serverCancelled' )) default NULL, "trstatus" varchar CHECK ("trstatus" IN ( 'clientApproved','clientCancelled','clientRejected','pending','serverApproved','serverCancelled' )) default NULL,
"reid" int CHECK ("reid" >= 0) default NULL, "reid" int CHECK ("reid" >= 0) default NULL,
"redate" timestamp without time zone default NULL, "redate" timestamp(3) without time zone default NULL,
"acid" int CHECK ("acid" >= 0) default NULL, "acid" int CHECK ("acid" >= 0) default NULL,
"acdate" timestamp without time zone default NULL, "acdate" timestamp(3) without time zone default NULL,
"disclose_voice" varchar CHECK ("disclose_voice" IN ( '0','1' )) NOT NULL default '1', "disclose_voice" varchar CHECK ("disclose_voice" IN ( '0','1' )) NOT NULL default '1',
"disclose_fax" varchar CHECK ("disclose_fax" IN ( '0','1' )) NOT NULL default '1', "disclose_fax" varchar CHECK ("disclose_fax" IN ( '0','1' )) NOT NULL default '1',
"disclose_email" varchar CHECK ("disclose_email" IN ( '0','1' )) NOT NULL default '1', "disclose_email" varchar CHECK ("disclose_email" IN ( '0','1' )) NOT NULL default '1',
@ -238,26 +238,26 @@ CREATE TABLE registry.domain (
"name" varchar(68) NOT NULL, "name" varchar(68) NOT NULL,
"tldid" int CHECK ("tldid" >= 0) NOT NULL, "tldid" int CHECK ("tldid" >= 0) NOT NULL,
"registrant" int CHECK ("registrant" >= 0) default NULL, "registrant" int CHECK ("registrant" >= 0) default NULL,
"crdate" timestamp without time zone NOT NULL, "crdate" timestamp(3) without time zone NOT NULL,
"exdate" timestamp without time zone NOT NULL, "exdate" timestamp(3) without time zone NOT NULL,
"update" timestamp without time zone default NULL, "update" timestamp(3) without time zone default NULL,
"clid" int CHECK ("clid" >= 0) NOT NULL, "clid" int CHECK ("clid" >= 0) NOT NULL,
"crid" int CHECK ("crid" >= 0) NOT NULL, "crid" int CHECK ("crid" >= 0) NOT NULL,
"upid" int CHECK ("upid" >= 0) default NULL, "upid" int CHECK ("upid" >= 0) default NULL,
"trdate" timestamp without time zone default NULL, "trdate" timestamp(3) without time zone default NULL,
"trstatus" varchar CHECK ("trstatus" IN ( 'clientApproved','clientCancelled','clientRejected','pending','serverApproved','serverCancelled' )) default NULL, "trstatus" varchar CHECK ("trstatus" IN ( 'clientApproved','clientCancelled','clientRejected','pending','serverApproved','serverCancelled' )) default NULL,
"reid" int CHECK ("reid" >= 0) default NULL, "reid" int CHECK ("reid" >= 0) default NULL,
"redate" timestamp without time zone default NULL, "redate" timestamp(3) without time zone default NULL,
"acid" int CHECK ("acid" >= 0) default NULL, "acid" int CHECK ("acid" >= 0) default NULL,
"acdate" timestamp without time zone default NULL, "acdate" timestamp(3) without time zone default NULL,
"transfer_exdate" timestamp without time zone default NULL, "transfer_exdate" timestamp(3) without time zone default NULL,
"idnlang" varchar(16) default NULL, "idnlang" varchar(16) default NULL,
"deltime" timestamp without time zone default NULL, "deltime" timestamp(3) without time zone default NULL,
"restime" timestamp without time zone default NULL, "restime" timestamp(3) without time zone default NULL,
"rgpstatus" varchar CHECK ("rgpstatus" IN ( 'addPeriod','autoRenewPeriod','renewPeriod','transferPeriod','pendingDelete','pendingRestore','redemptionPeriod' )) default NULL, "rgpstatus" varchar CHECK ("rgpstatus" IN ( 'addPeriod','autoRenewPeriod','renewPeriod','transferPeriod','pendingDelete','pendingRestore','redemptionPeriod' )) default NULL,
"rgppostdata" text default NULL, "rgppostdata" text default NULL,
"rgpdeltime" timestamp without time zone default NULL, "rgpdeltime" timestamp(3) without time zone default NULL,
"rgprestime" timestamp without time zone default NULL, "rgprestime" timestamp(3) without time zone default NULL,
"rgpresreason" text default NULL, "rgpresreason" text default NULL,
"rgpstatement1" text default NULL, "rgpstatement1" text default NULL,
"rgpstatement2" text default NULL, "rgpstatement2" text default NULL,
@ -266,7 +266,7 @@ CREATE TABLE registry.domain (
"autorenewperiod" smallint CHECK ("autorenewperiod" >= 0) default NULL, "autorenewperiod" smallint CHECK ("autorenewperiod" >= 0) default NULL,
"renewperiod" smallint CHECK ("renewperiod" >= 0) default NULL, "renewperiod" smallint CHECK ("renewperiod" >= 0) default NULL,
"transferperiod" smallint CHECK ("transferperiod" >= 0) default NULL, "transferperiod" smallint CHECK ("transferperiod" >= 0) default NULL,
"reneweddate" timestamp without time zone default NULL, "reneweddate" timestamp(3) without time zone default NULL,
primary key ("id"), primary key ("id"),
unique ("name") unique ("name")
); );
@ -320,10 +320,10 @@ CREATE TABLE registry.host (
"domain_id" int CHECK ("domain_id" >= 0) default NULL, "domain_id" int CHECK ("domain_id" >= 0) default NULL,
"clid" int CHECK ("clid" >= 0) NOT NULL, "clid" int CHECK ("clid" >= 0) NOT NULL,
"crid" int CHECK ("crid" >= 0) NOT NULL, "crid" int CHECK ("crid" >= 0) NOT NULL,
"crdate" timestamp without time zone NOT NULL, "crdate" timestamp(3) without time zone NOT NULL,
"upid" int CHECK ("upid" >= 0) default NULL, "upid" int CHECK ("upid" >= 0) default NULL,
"update" timestamp without time zone default NULL, "update" timestamp(3) without time zone default NULL,
"trdate" timestamp without time zone default NULL, "trdate" timestamp(3) without time zone default NULL,
primary key ("id"), primary key ("id"),
unique ("name") unique ("name")
); );
@ -357,19 +357,19 @@ CREATE TABLE registry.domain_auto_approve_transfer (
"id" serial8, "id" serial8,
"name" varchar(68) NOT NULL, "name" varchar(68) NOT NULL,
"registrant" int CHECK ("registrant" >= 0) default NULL, "registrant" int CHECK ("registrant" >= 0) default NULL,
"crdate" timestamp without time zone NOT NULL, "crdate" timestamp(3) without time zone NOT NULL,
"exdate" timestamp without time zone NOT NULL, "exdate" timestamp(3) without time zone NOT NULL,
"update" timestamp without time zone default NULL, "update" timestamp(3) without time zone default NULL,
"clid" int CHECK ("clid" >= 0) NOT NULL, "clid" int CHECK ("clid" >= 0) NOT NULL,
"crid" int CHECK ("crid" >= 0) NOT NULL, "crid" int CHECK ("crid" >= 0) NOT NULL,
"upid" int CHECK ("upid" >= 0) default NULL, "upid" int CHECK ("upid" >= 0) default NULL,
"trdate" timestamp without time zone default NULL, "trdate" timestamp(3) without time zone default NULL,
"trstatus" varchar CHECK ("trstatus" IN ( 'clientApproved','clientCancelled','clientRejected','pending','serverApproved','serverCancelled' )) default NULL, "trstatus" varchar CHECK ("trstatus" IN ( 'clientApproved','clientCancelled','clientRejected','pending','serverApproved','serverCancelled' )) default NULL,
"reid" int CHECK ("reid" >= 0) default NULL, "reid" int CHECK ("reid" >= 0) default NULL,
"redate" timestamp without time zone default NULL, "redate" timestamp(3) without time zone default NULL,
"acid" int CHECK ("acid" >= 0) default NULL, "acid" int CHECK ("acid" >= 0) default NULL,
"acdate" timestamp without time zone default NULL, "acdate" timestamp(3) without time zone default NULL,
"transfer_exdate" timestamp without time zone default NULL, "transfer_exdate" timestamp(3) without time zone default NULL,
primary key ("id") primary key ("id")
); );
@ -385,15 +385,15 @@ CREATE TABLE registry.contact_auto_approve_transfer (
"nin_type" varchar CHECK ("nin_type" IN ( 'personal','business' )) default NULL, "nin_type" varchar CHECK ("nin_type" IN ( 'personal','business' )) default NULL,
"clid" int CHECK ("clid" >= 0) NOT NULL, "clid" int CHECK ("clid" >= 0) NOT NULL,
"crid" int CHECK ("crid" >= 0) NOT NULL, "crid" int CHECK ("crid" >= 0) NOT NULL,
"crdate" timestamp without time zone NOT NULL, "crdate" timestamp(3) without time zone NOT NULL,
"upid" int CHECK ("upid" >= 0) default NULL, "upid" int CHECK ("upid" >= 0) default NULL,
"update" timestamp without time zone default NULL, "update" timestamp(3) without time zone default NULL,
"trdate" timestamp without time zone default NULL, "trdate" timestamp(3) without time zone default NULL,
"trstatus" varchar CHECK ("trstatus" IN ( 'clientApproved','clientCancelled','clientRejected','pending','serverApproved','serverCancelled' )) default NULL, "trstatus" varchar CHECK ("trstatus" IN ( 'clientApproved','clientCancelled','clientRejected','pending','serverApproved','serverCancelled' )) default NULL,
"reid" int CHECK ("reid" >= 0) default NULL, "reid" int CHECK ("reid" >= 0) default NULL,
"redate" timestamp without time zone default NULL, "redate" timestamp(3) without time zone default NULL,
"acid" int CHECK ("acid" >= 0) default NULL, "acid" int CHECK ("acid" >= 0) default NULL,
"acdate" timestamp without time zone default NULL, "acdate" timestamp(3) without time zone default NULL,
"disclose_voice" varchar CHECK ("disclose_voice" IN ( '0','1' )) NOT NULL default '1', "disclose_voice" varchar CHECK ("disclose_voice" IN ( '0','1' )) NOT NULL default '1',
"disclose_fax" varchar CHECK ("disclose_fax" IN ( '0','1' )) NOT NULL default '1', "disclose_fax" varchar CHECK ("disclose_fax" IN ( '0','1' )) NOT NULL default '1',
"disclose_email" varchar CHECK ("disclose_email" IN ( '0','1' )) NOT NULL default '1', "disclose_email" varchar CHECK ("disclose_email" IN ( '0','1' )) NOT NULL default '1',
@ -563,8 +563,8 @@ CREATE TABLE registry.support_tickets (
evidence TEXT DEFAULT NULL, evidence TEXT DEFAULT NULL,
relevant_urls TEXT DEFAULT NULL, relevant_urls TEXT DEFAULT NULL,
date_of_incident DATE DEFAULT NULL, date_of_incident DATE DEFAULT NULL,
date_created TIMESTAMP WITHOUT TIME ZONE DEFAULT CURRENT_TIMESTAMP, date_created TIMESTAMP(3) WITHOUT TIME ZONE DEFAULT CURRENT_TIMESTAMP,
last_updated TIMESTAMP WITHOUT TIME ZONE DEFAULT CURRENT_TIMESTAMP, last_updated TIMESTAMP(3) WITHOUT TIME ZONE DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES registry.users(id), FOREIGN KEY (user_id) REFERENCES registry.users(id),
FOREIGN KEY (category_id) REFERENCES registry.ticket_categories(id) FOREIGN KEY (category_id) REFERENCES registry.ticket_categories(id)
); );
@ -574,7 +574,7 @@ CREATE TABLE ticket_responses (
ticket_id INTEGER NOT NULL, ticket_id INTEGER NOT NULL,
responder_id INTEGER NOT NULL, responder_id INTEGER NOT NULL,
response TEXT NOT NULL, response TEXT NOT NULL,
date_created TIMESTAMP WITHOUT TIME ZONE DEFAULT CURRENT_TIMESTAMP, date_created TIMESTAMP(3) WITHOUT TIME ZONE DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (ticket_id) REFERENCES support_tickets(id) FOREIGN KEY (ticket_id) REFERENCES support_tickets(id)
); );
@ -664,7 +664,7 @@ CREATE TABLE registryTransaction.transaction_identifier (
registrar_id INT NOT NULL, registrar_id INT NOT NULL,
clTRID VARCHAR(64), clTRID VARCHAR(64),
clTRIDframe TEXT, clTRIDframe TEXT,
cldate TIMESTAMP WITHOUT TIME ZONE, cldate TIMESTAMP(3) WITHOUT TIME ZONE,
clmicrosecond INT, clmicrosecond INT,
cmd VARCHAR(10) CHECK (cmd IN ('login','logout','check','info','poll','transfer','create','delete','renew','update')), cmd VARCHAR(10) CHECK (cmd IN ('login','logout','check','info','poll','transfer','create','delete','renew','update')),
obj_type VARCHAR(10) CHECK (obj_type IN ('domain','host','contact')), obj_type VARCHAR(10) CHECK (obj_type IN ('domain','host','contact')),
@ -673,7 +673,7 @@ CREATE TABLE registryTransaction.transaction_identifier (
msg VARCHAR(255), msg VARCHAR(255),
svTRID VARCHAR(64), svTRID VARCHAR(64),
svTRIDframe TEXT, svTRIDframe TEXT,
svdate TIMESTAMP WITHOUT TIME ZONE, svdate TIMESTAMP(3) WITHOUT TIME ZONE,
svmicrosecond INT, svmicrosecond INT,
CONSTRAINT unique_clTRID UNIQUE (clTRID), CONSTRAINT unique_clTRID UNIQUE (clTRID),
CONSTRAINT unique_svTRID UNIQUE (svTRID), CONSTRAINT unique_svTRID UNIQUE (svTRID),

View file

@ -545,15 +545,21 @@ class EppWriter {
$writer->writeElement('contact:email', $resp['email']); $writer->writeElement('contact:email', $resp['email']);
$writer->writeElement('contact:clID', $resp['clID']); $writer->writeElement('contact:clID', $resp['clID']);
$writer->writeElement('contact:crID', $resp['crID']); $writer->writeElement('contact:crID', $resp['crID']);
$writer->writeElement('contact:crDate', gmdate('Y-m-d\TH:i:s\.0\Z', strtotime($resp['crDate']))); $crDate = new DateTime($resp['crDate']);
$crDateFormatted = $crDate->format('Y-m-d\TH:i:s.v\Z');
$writer->writeElement('contact:crDate', $crDateFormatted);
if (isset($resp['upID'])) { if (isset($resp['upID'])) {
$writer->writeElement('contact:upID', $resp['upID']); $writer->writeElement('contact:upID', $resp['upID']);
} }
if (isset($resp['upDate'])) { if (isset($resp['upDate'])) {
$writer->writeElement('contact:upDate', gmdate('Y-m-d\TH:i:s\.0\Z', strtotime($resp['upDate']))); $upDate = new DateTime($resp['upDate']);
$upDateFormatted = $upDate->format('Y-m-d\TH:i:s.v\Z');
$writer->writeElement('contact:upDate', $upDateFormatted);
} }
if (isset($resp['trDate'])) { if (isset($resp['trDate'])) {
$writer->writeElement('contact:trDate', gmdate('Y-m-d\TH:i:s\.0\Z', strtotime($resp['trDate']))); $trDate = new DateTime($resp['trDate']);
$trDateFormatted = $trDate->format('Y-m-d\TH:i:s.v\Z');
$writer->writeElement('contact:trDate', $trDateFormatted);
} }
// Handling 'contact:authInfo' // Handling 'contact:authInfo'
@ -601,9 +607,13 @@ class EppWriter {
$writer->writeElement('contact:id', $resp['id']); $writer->writeElement('contact:id', $resp['id']);
$writer->writeElement('contact:trStatus', $resp['trStatus']); $writer->writeElement('contact:trStatus', $resp['trStatus']);
$writer->writeElement('contact:reID', $resp['reID']); $writer->writeElement('contact:reID', $resp['reID']);
$writer->writeElement('contact:reDate', gmdate('Y-m-d\TH:i:s\.0\Z', strtotime($resp['reDate']))); $reDate = new DateTime($resp['reDate']);
$reDateFormatted = $reDate->format('Y-m-d\TH:i:s.v\Z');
$writer->writeElement('contact:reDate', $reDateFormatted);
$writer->writeElement('contact:acID', $resp['acID']); $writer->writeElement('contact:acID', $resp['acID']);
$writer->writeElement('contact:acDate', gmdate('Y-m-d\TH:i:s\.0\Z', strtotime($resp['acDate']))); $acDate = new DateTime($resp['acDate']);
$acDateFormatted = $acDate->format('Y-m-d\TH:i:s.v\Z');
$writer->writeElement('contact:acDate', $acDateFormatted);
$writer->endElement(); // End of 'contact:trnData' $writer->endElement(); // End of 'contact:trnData'
$writer->endElement(); // End of 'resData' $writer->endElement(); // End of 'resData'
} }
@ -620,7 +630,9 @@ class EppWriter {
$writer->writeAttribute('xmlns:contact', 'urn:ietf:params:xml:ns:contact-1.0'); $writer->writeAttribute('xmlns:contact', 'urn:ietf:params:xml:ns:contact-1.0');
$writer->writeAttribute('xsi:schemaLocation', 'urn:ietf:params:xml:ns:contact-1.0 contact-1.0.xsd'); $writer->writeAttribute('xsi:schemaLocation', 'urn:ietf:params:xml:ns:contact-1.0 contact-1.0.xsd');
$writer->writeElement('contact:id', $resp['id']); $writer->writeElement('contact:id', $resp['id']);
$writer->writeElement('contact:crDate', gmdate('Y-m-d\TH:i:s\.0\Z', strtotime($resp['crDate']))); $crDate = new DateTime($resp['crDate']);
$crDateFormatted = $crDate->format('Y-m-d\TH:i:s.v\Z');
$writer->writeElement('contact:crDate', $crDateFormatted);
$writer->endElement(); // End of 'contact:creData' $writer->endElement(); // End of 'contact:creData'
$writer->endElement(); // End of 'resData' $writer->endElement(); // End of 'resData'
} }
@ -663,8 +675,12 @@ class EppWriter {
$writer->writeAttribute('xmlns:domain', 'urn:ietf:params:xml:ns:domain-1.0'); $writer->writeAttribute('xmlns:domain', 'urn:ietf:params:xml:ns:domain-1.0');
$writer->writeAttribute('xsi:schemaLocation', 'urn:ietf:params:xml:ns:domain-1.0 domain-1.0.xsd'); $writer->writeAttribute('xsi:schemaLocation', 'urn:ietf:params:xml:ns:domain-1.0 domain-1.0.xsd');
$writer->writeElement('domain:name', $resp['name']); $writer->writeElement('domain:name', $resp['name']);
$writer->writeElement('domain:crDate', gmdate('Y-m-d\TH:i:s\.0\Z', strtotime($resp['crDate']))); $crDate = new DateTime($resp['crDate']);
$writer->writeElement('domain:exDate', gmdate('Y-m-d\TH:i:s\.0\Z', strtotime($resp['exDate']))); $crDateFormatted = $crDate->format('Y-m-d\TH:i:s.v\Z');
$writer->writeElement('domain:crDate', $crDateFormatted);
$exDate = new DateTime($resp['exDate']);
$exDateFormatted = $exDate->format('Y-m-d\TH:i:s.v\Z');
$writer->writeElement('domain:exDate', $exDateFormatted);
$writer->endElement(); // End of 'domain:creData' $writer->endElement(); // End of 'domain:creData'
$writer->endElement(); // End of 'resData' $writer->endElement(); // End of 'resData'
} }
@ -720,19 +736,27 @@ class EppWriter {
$writer->writeElement('domain:crID', $resp['crID']); $writer->writeElement('domain:crID', $resp['crID']);
} }
if (isset($resp['crDate'])) { if (isset($resp['crDate'])) {
$writer->writeElement('domain:crDate', gmdate('Y-m-d\TH:i:s\.0\Z', strtotime($resp['crDate']))); $crDate = new DateTime($resp['crDate']);
$crDateFormatted = $crDate->format('Y-m-d\TH:i:s.v\Z');
$writer->writeElement('domain:crDate', $crDateFormatted);
} }
if (isset($resp['exDate'])) { if (isset($resp['exDate'])) {
$writer->writeElement('domain:exDate', gmdate('Y-m-d\TH:i:s\.0\Z', strtotime($resp['exDate']))); $exDate = new DateTime($resp['exDate']);
$exDateFormatted = $exDate->format('Y-m-d\TH:i:s.v\Z');
$writer->writeElement('domain:exDate', $exDateFormatted);
} }
if (isset($resp['upID'])) { if (isset($resp['upID'])) {
$writer->writeElement('domain:upID', $resp['upID']); $writer->writeElement('domain:upID', $resp['upID']);
} }
if (isset($resp['upDate'])) { if (isset($resp['upDate'])) {
$writer->writeElement('domain:upDate', gmdate('Y-m-d\TH:i:s\.0\Z', strtotime($resp['upDate']))); $upDate = new DateTime($resp['upDate']);
$upDateFormatted = $upDate->format('Y-m-d\TH:i:s.v\Z');
$writer->writeElement('domain:upDate', $upDateFormatted);
} }
if (isset($resp['trDate'])) { if (isset($resp['trDate'])) {
$writer->writeElement('domain:trDate', gmdate('Y-m-d\TH:i:s\.0\Z', strtotime($resp['trDate']))); $trDate = new DateTime($resp['trDate']);
$trDateFormatted = $trDate->format('Y-m-d\TH:i:s.v\Z');
$writer->writeElement('domain:trDate', $trDateFormatted);
} }
if ($resp['authInfo'] == 'valid') { if ($resp['authInfo'] == 'valid') {
$writer->startElement('domain:authInfo'); $writer->startElement('domain:authInfo');
@ -819,7 +843,9 @@ class EppWriter {
$writer->writeAttribute('xmlns:domain', 'urn:ietf:params:xml:ns:domain-1.0'); $writer->writeAttribute('xmlns:domain', 'urn:ietf:params:xml:ns:domain-1.0');
$writer->writeAttribute('xsi:schemaLocation', 'urn:ietf:params:xml:ns:domain-1.0 domain-1.0.xsd'); $writer->writeAttribute('xsi:schemaLocation', 'urn:ietf:params:xml:ns:domain-1.0 domain-1.0.xsd');
$writer->writeElement('domain:name', $resp['name']); $writer->writeElement('domain:name', $resp['name']);
$writer->writeElement('domain:exDate', gmdate('Y-m-d\TH:i:s\.0\Z', strtotime($resp['exDate']))); $exDate = new DateTime($resp['exDate']);
$exDateFormatted = $exDate->format('Y-m-d\TH:i:s.v\Z');
$writer->writeElement('domain:exDate', $exDateFormatted);
$writer->endElement(); // End of 'domain:renData' $writer->endElement(); // End of 'domain:renData'
$writer->endElement(); // End of 'resData' $writer->endElement(); // End of 'resData'
} }
@ -838,11 +864,17 @@ class EppWriter {
$writer->writeElement('domain:name', $resp['name']); $writer->writeElement('domain:name', $resp['name']);
$writer->writeElement('domain:trStatus', $resp['trStatus']); $writer->writeElement('domain:trStatus', $resp['trStatus']);
$writer->writeElement('domain:reID', $resp['reID']); $writer->writeElement('domain:reID', $resp['reID']);
$writer->writeElement('domain:reDate', gmdate('Y-m-d\TH:i:s\.0\Z', strtotime($resp['reDate']))); $reDate = new DateTime($resp['reDate']);
$reDateFormatted = $reDate->format('Y-m-d\TH:i:s.v\Z');
$writer->writeElement('domain:reDate', $reDateFormatted);
$writer->writeElement('domain:acID', $resp['acID']); $writer->writeElement('domain:acID', $resp['acID']);
$writer->writeElement('domain:acDate', gmdate('Y-m-d\TH:i:s\.0\Z', strtotime($resp['acDate']))); $acDate = new DateTime($resp['acDate']);
$acDateFormatted = $acDate->format('Y-m-d\TH:i:s.v\Z');
$writer->writeElement('domain:acDate', $acDateFormatted);
if (isset($resp['exDate'])) { if (isset($resp['exDate'])) {
$writer->writeElement('domain:exDate', gmdate('Y-m-d\TH:i:s\.0\Z', strtotime($resp['exDate']))); $exDate = new DateTime($resp['exDate']);
$exDateFormatted = $exDate->format('Y-m-d\TH:i:s.v\Z');
$writer->writeElement('domain:exDate', $exDateFormatted);
} }
$writer->endElement(); // End of 'domain:trnData' $writer->endElement(); // End of 'domain:trnData'
$writer->endElement(); // End of 'resData' $writer->endElement(); // End of 'resData'
@ -886,7 +918,9 @@ class EppWriter {
$writer->writeAttribute('xmlns:host', 'urn:ietf:params:xml:ns:host-1.0'); $writer->writeAttribute('xmlns:host', 'urn:ietf:params:xml:ns:host-1.0');
$writer->writeAttribute('xsi:schemaLocation', 'urn:ietf:params:xml:ns:host-1.0 host-1.0.xsd'); $writer->writeAttribute('xsi:schemaLocation', 'urn:ietf:params:xml:ns:host-1.0 host-1.0.xsd');
$writer->writeElement('host:name', $resp['name']); $writer->writeElement('host:name', $resp['name']);
$writer->writeElement('host:crDate', gmdate('Y-m-d\TH:i:s\.0\Z', strtotime($resp['crDate']))); $crDate = new DateTime($resp['crDate']);
$crDateFormatted = $crDate->format('Y-m-d\TH:i:s.v\Z');
$writer->writeElement('host:crDate', $crDateFormatted);
$writer->endElement(); // End of 'host:creData' $writer->endElement(); // End of 'host:creData'
$writer->endElement(); // End of 'resData' $writer->endElement(); // End of 'resData'
} }
@ -929,15 +963,21 @@ class EppWriter {
} }
$writer->writeElement('host:clID', $resp['clID']); $writer->writeElement('host:clID', $resp['clID']);
$writer->writeElement('host:crID', $resp['crID']); $writer->writeElement('host:crID', $resp['crID']);
$writer->writeElement('host:crDate', gmdate('Y-m-d\TH:i:s\.0\Z', strtotime($resp['crDate']))); $crDate = new DateTime($resp['crDate']);
$crDateFormatted = $crDate->format('Y-m-d\TH:i:s.v\Z');
$writer->writeElement('host:crDate', $crDateFormatted);
if (isset($resp['upID'])) { if (isset($resp['upID'])) {
$writer->writeElement('host:upID', $resp['upID']); $writer->writeElement('host:upID', $resp['upID']);
} }
if (isset($resp['upDate'])) { if (isset($resp['upDate'])) {
$writer->writeElement('host:upDate', gmdate('Y-m-d\TH:i:s\.0\Z', strtotime($resp['upDate']))); $upDate = new DateTime($resp['upDate']);
$upDateFormatted = $upDate->format('Y-m-d\TH:i:s.v\Z');
$writer->writeElement('host:upDate', $upDateFormatted);
} }
if (isset($resp['trDate'])) { if (isset($resp['trDate'])) {
$writer->writeElement('host:trDate', gmdate('Y-m-d\TH:i:s\.0\Z', strtotime($resp['trDate']))); $trDate = new DateTime($resp['trDate']);
$trDateFormatted = $trDate->format('Y-m-d\TH:i:s.v\Z');
$writer->writeElement('host:trDate', $trDateFormatted);
} }
$writer->endElement(); // End of 'host:infData' $writer->endElement(); // End of 'host:infData'
$writer->endElement(); // End of 'resData' $writer->endElement(); // End of 'resData'

View file

@ -10,7 +10,8 @@ function checkLogin($db, $clID, $pw) {
function sendGreeting($conn) { function sendGreeting($conn) {
global $c; global $c;
$currentDate = gmdate('Y-m-d\TH:i:s\Z'); $currentDateTime = new DateTime("now", new DateTimeZone("UTC"));
$currentDate = $currentDateTime->format("Y-m-d\TH:i:s.v\Z");
$response = [ $response = [
'command' => 'greeting', 'command' => 'greeting',
@ -224,8 +225,9 @@ function createTransaction($db, $clid, $clTRID, $clTRIDframe) {
$stmt = $db->prepare("INSERT INTO `registryTransaction`.`transaction_identifier` (`registrar_id`,`clTRID`,`clTRIDframe`,`cldate`,`clmicrosecond`) VALUES(?,?,?,?,?)"); $stmt = $db->prepare("INSERT INTO `registryTransaction`.`transaction_identifier` (`registrar_id`,`clTRID`,`clTRIDframe`,`cldate`,`clmicrosecond`) VALUES(?,?,?,?,?)");
// Get date and microsecond for cl transaction // Get date and microsecond for cl transaction
$currentDateTime = new DateTime("now", new DateTimeZone("UTC"));
$cldate = $currentDateTime->format("Y-m-d H:i:s.v");
$dateForClTransaction = microtime(true); $dateForClTransaction = microtime(true);
$cldate = date("Y-m-d H:i:s", $dateForClTransaction);
$clmicrosecond = sprintf("%06d", ($dateForClTransaction - floor($dateForClTransaction)) * 1000000); $clmicrosecond = sprintf("%06d", ($dateForClTransaction - floor($dateForClTransaction)) * 1000000);
if (empty($clTRID)) { if (empty($clTRID)) {
@ -253,8 +255,9 @@ function updateTransaction($db, $cmd, $obj_type, $obj_id, $code, $msg, $svTRID,
$stmt = $db->prepare("UPDATE `registryTransaction`.`transaction_identifier` SET `cmd` = ?, `obj_type` = ?, `obj_id` = ?, `code` = ?, `msg` = ?, `svTRID` = ?, `svTRIDframe` = ?, `svdate` = ?, `svmicrosecond` = ? WHERE `id` = ?"); $stmt = $db->prepare("UPDATE `registryTransaction`.`transaction_identifier` SET `cmd` = ?, `obj_type` = ?, `obj_id` = ?, `code` = ?, `msg` = ?, `svTRID` = ?, `svTRIDframe` = ?, `svdate` = ?, `svmicrosecond` = ? WHERE `id` = ?");
// Get date and microsecond for sv transaction // Get date and microsecond for sv transaction
$currentDateTime = new DateTime("now", new DateTimeZone("UTC"));
$svdate = $currentDateTime->format("Y-m-d H:i:s.v");
$dateForSvTransaction = microtime(true); $dateForSvTransaction = microtime(true);
$svdate = date("Y-m-d H:i:s", $dateForSvTransaction);
$svmicrosecond = sprintf("%06d", ($dateForSvTransaction - floor($dateForSvTransaction)) * 1000000); $svmicrosecond = sprintf("%06d", ($dateForSvTransaction - floor($dateForSvTransaction)) * 1000000);
// Execute the statement // Execute the statement

View file

@ -299,17 +299,25 @@ function handleDomainQuery($request, $response, $pdo, $domainName) {
$events = [ $events = [
['eventAction' => 'registration', 'eventDate' => $domainDetails['crdate']], ['eventAction' => 'registration', 'eventDate' => $domainDetails['crdate']],
['eventAction' => 'expiration', 'eventDate' => $domainDetails['exdate']], ['eventAction' => 'expiration', 'eventDate' => $domainDetails['exdate']],
['eventAction' => 'last rdap database update', 'eventDate' => date('Y-m-d\TH:i:s\Z')], ['eventAction' => 'last rdap database update', 'eventDate' => (new DateTime())->format('Y-m-d\TH:i:s.v\Z')],
]; ];
// Check if domain last update is set and not empty // Check if domain last update is set and not empty
if (isset($domainDetails['update']) && !empty($domainDetails['update'])) { if (isset($domainDetails['update']) && !empty($domainDetails['update'])) {
$events[] = ['eventAction' => 'last domain update', 'eventDate' => date('Y-m-d', strtotime($domainDetails['update']))]; $updateDateTime = new DateTime($domainDetails['update']);
$events[] = [
'eventAction' => 'last domain update',
'eventDate' => $updateDateTime->format('Y-m-d\TH:i:s.v\Z')
];
} }
// Check if domain transfer date is set and not empty // Check if domain transfer date is set and not empty
if (isset($domainDetails['trdate']) && !empty($domainDetails['trdate'])) { if (isset($domainDetails['trdate']) && !empty($domainDetails['trdate'])) {
$events[] = ['eventAction' => 'domain transfer', 'eventDate' => date('Y-m-d', strtotime($domainDetails['trdate']))]; $transferDateTime = new DateTime($domainDetails['trdate']);
$events[] = [
'eventAction' => 'domain transfer',
'eventDate' => $transferDateTime->format('Y-m-d\TH:i:s.v\Z')
];
} }
$abuseContactName = ($registrarAbuseDetails) ? $registrarAbuseDetails['first_name'] . ' ' . $registrarAbuseDetails['last_name'] : ''; $abuseContactName = ($registrarAbuseDetails) ? $registrarAbuseDetails['first_name'] . ' ' . $registrarAbuseDetails['last_name'] : '';
@ -539,7 +547,7 @@ function handleEntityQuery($request, $response, $pdo, $entityHandle) {
// Define the basic events // Define the basic events
$events = [ $events = [
['eventAction' => 'last rdap database update', 'eventDate' => date('Y-m-d\TH:i:s\Z')], ['eventAction' => 'last rdap database update', 'eventDate' => (new DateTime())->format('Y-m-d\TH:i:s.v\Z')],
]; ];
$abuseContactName = ($registrarAbuseDetails) ? $registrarAbuseDetails['first_name'] . ' ' . $registrarAbuseDetails['last_name'] : ''; $abuseContactName = ($registrarAbuseDetails) ? $registrarAbuseDetails['first_name'] . ' ' . $registrarAbuseDetails['last_name'] : '';
@ -770,7 +778,7 @@ function handleNameserverQuery($request, $response, $pdo, $nameserverHandle) {
// Define the basic events // Define the basic events
$events = [ $events = [
['eventAction' => 'last rdap database update', 'eventDate' => date('Y-m-d\TH:i:s\Z')], ['eventAction' => 'last rdap database update', 'eventDate' => (new DateTime())->format('Y-m-d\TH:i:s.v\Z')],
]; ];
$abuseContactName = ($registrarAbuseDetails) ? $registrarAbuseDetails['first_name'] . ' ' . $registrarAbuseDetails['last_name'] : ''; $abuseContactName = ($registrarAbuseDetails) ? $registrarAbuseDetails['first_name'] . ' ' . $registrarAbuseDetails['last_name'] : '';

View file

@ -109,7 +109,8 @@ $server->on('receive', function ($server, $fd, $reactorId, $data) use ($c, $pdo)
} }
$res .= "\nURL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/"; $res .= "\nURL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/";
$currentTimestamp = date('Y-m-d\TH:i:s\Z'); $currentDateTime = new DateTime();
$currentTimestamp = $currentDateTime->format("Y-m-d\TH:i:s.v\Z");
$res .= "\n>>> Last update of WHOIS database: {$currentTimestamp} <<<"; $res .= "\n>>> Last update of WHOIS database: {$currentTimestamp} <<<";
$res .= "\n"; $res .= "\n";
$res .= "\nFor more information on Whois status codes, please visit https://icann.org/epp"; $res .= "\nFor more information on Whois status codes, please visit https://icann.org/epp";
@ -136,7 +137,10 @@ $server->on('receive', function ($server, $fd, $reactorId, $data) use ($c, $pdo)
if ($fp = @fopen("/var/log/whois/whois_request.log",'a')) { if ($fp = @fopen("/var/log/whois/whois_request.log",'a')) {
$clientInfo = $server->getClientInfo($fd); $clientInfo = $server->getClientInfo($fd);
$remoteAddr = $clientInfo['remote_ip']; $remoteAddr = $clientInfo['remote_ip'];
fwrite($fp,date('Y-m-d H:i:s')."\t-\t".$remoteAddr."\t-\t".$nameserver."\n"); $currentDateTime = new DateTime();
$milliseconds = $currentDateTime->format("v");
$timestampWithMilliseconds = $currentDateTime->format("Y-m-d H:i:s") . '.' . $milliseconds;
fwrite($fp, $timestampWithMilliseconds . "\t-\t" . $remoteAddr . "\t-\t" . $nameserver . "\n");
fclose($fp); fclose($fp);
} }
$server->close($fd); $server->close($fd);
@ -147,7 +151,10 @@ $server->on('receive', function ($server, $fd, $reactorId, $data) use ($c, $pdo)
if ($fp = @fopen("/var/log/whois/whois_not_found.log",'a')) { if ($fp = @fopen("/var/log/whois/whois_not_found.log",'a')) {
$clientInfo = $server->getClientInfo($fd); $clientInfo = $server->getClientInfo($fd);
$remoteAddr = $clientInfo['remote_ip']; $remoteAddr = $clientInfo['remote_ip'];
fwrite($fp,date('Y-m-d H:i:s')."\t-\t".$remoteAddr."\t-\t".$nameserver."\n"); $currentDateTime = new DateTime();
$milliseconds = $currentDateTime->format("v");
$timestampWithMilliseconds = $currentDateTime->format("Y-m-d H:i:s") . '.' . $milliseconds;
fwrite($fp, $timestampWithMilliseconds . "\t-\t" . $remoteAddr . "\t-\t" . $nameserver . "\n");
fclose($fp); fclose($fp);
} }
$server->close($fd); $server->close($fd);
@ -210,7 +217,8 @@ $server->on('receive', function ($server, $fd, $reactorId, $data) use ($c, $pdo)
} }
$res .= "\nURL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/"; $res .= "\nURL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/";
$currentTimestamp = date('Y-m-d\TH:i:s\Z'); $currentDateTime = new DateTime();
$currentTimestamp = $currentDateTime->format("Y-m-d\TH:i:s.v\Z");
$res .= "\n>>> Last update of WHOIS database: {$currentTimestamp} <<<"; $res .= "\n>>> Last update of WHOIS database: {$currentTimestamp} <<<";
$res .= "\n"; $res .= "\n";
$res .= "\nFor more information on Whois status codes, please visit https://icann.org/epp"; $res .= "\nFor more information on Whois status codes, please visit https://icann.org/epp";
@ -237,7 +245,10 @@ $server->on('receive', function ($server, $fd, $reactorId, $data) use ($c, $pdo)
if ($fp = @fopen("/var/log/whois/whois_request.log",'a')) { if ($fp = @fopen("/var/log/whois/whois_request.log",'a')) {
$clientInfo = $server->getClientInfo($fd); $clientInfo = $server->getClientInfo($fd);
$remoteAddr = $clientInfo['remote_ip']; $remoteAddr = $clientInfo['remote_ip'];
fwrite($fp,date('Y-m-d H:i:s')."\t-\t".$remoteAddr."\t-\t".$registrar."\n"); $currentDateTime = new DateTime();
$milliseconds = $currentDateTime->format("v");
$timestampWithMilliseconds = $currentDateTime->format("Y-m-d H:i:s") . '.' . $milliseconds;
fwrite($fp, $timestampWithMilliseconds . "\t-\t" . $remoteAddr . "\t-\t" . $registrar . "\n");
fclose($fp); fclose($fp);
} }
$server->close($fd); $server->close($fd);
@ -248,7 +259,10 @@ $server->on('receive', function ($server, $fd, $reactorId, $data) use ($c, $pdo)
if ($fp = @fopen("/var/log/whois/whois_not_found.log",'a')) { if ($fp = @fopen("/var/log/whois/whois_not_found.log",'a')) {
$clientInfo = $server->getClientInfo($fd); $clientInfo = $server->getClientInfo($fd);
$remoteAddr = $clientInfo['remote_ip']; $remoteAddr = $clientInfo['remote_ip'];
fwrite($fp,date('Y-m-d H:i:s')."\t-\t".$remoteAddr."\t-\t".$registrar."\n"); $currentDateTime = new DateTime();
$milliseconds = $currentDateTime->format("v");
$timestampWithMilliseconds = $currentDateTime->format("Y-m-d H:i:s") . '.' . $milliseconds;
fwrite($fp, $timestampWithMilliseconds . "\t-\t" . $remoteAddr . "\t-\t" . $registrar . "\n");
fclose($fp); fclose($fp);
} }
$server->close($fd); $server->close($fd);
@ -534,7 +548,8 @@ $server->on('receive', function ($server, $fd, $reactorId, $data) use ($c, $pdo)
$res .= "\nDNSSEC: unsigned"; $res .= "\nDNSSEC: unsigned";
} }
$res .= "\nURL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/"; $res .= "\nURL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/";
$currentTimestamp = date('Y-m-d\TH:i:s\Z'); $currentDateTime = new DateTime();
$currentTimestamp = $currentDateTime->format("Y-m-d\TH:i:s.v\Z");
$res .= "\n>>> Last update of WHOIS database: {$currentTimestamp} <<<"; $res .= "\n>>> Last update of WHOIS database: {$currentTimestamp} <<<";
$res .= "\n"; $res .= "\n";
$res .= "\nFor more information on Whois status codes, please visit https://icann.org/epp"; $res .= "\nFor more information on Whois status codes, please visit https://icann.org/epp";
@ -561,7 +576,10 @@ $server->on('receive', function ($server, $fd, $reactorId, $data) use ($c, $pdo)
if ($fp = @fopen("/var/log/whois/whois_request.log",'a')) { if ($fp = @fopen("/var/log/whois/whois_request.log",'a')) {
$clientInfo = $server->getClientInfo($fd); $clientInfo = $server->getClientInfo($fd);
$remoteAddr = $clientInfo['remote_ip']; $remoteAddr = $clientInfo['remote_ip'];
fwrite($fp,date('Y-m-d H:i:s')."\t-\t".$remoteAddr."\t-\t".$domain."\n"); $currentDateTime = new DateTime();
$milliseconds = $currentDateTime->format("v");
$timestampWithMilliseconds = $currentDateTime->format("Y-m-d H:i:s") . '.' . $milliseconds;
fwrite($fp, $timestampWithMilliseconds . "\t-\t" . $remoteAddr . "\t-\t" . $domain . "\n");
fclose($fp); fclose($fp);
} }
$server->close($fd); $server->close($fd);
@ -572,7 +590,10 @@ $server->on('receive', function ($server, $fd, $reactorId, $data) use ($c, $pdo)
if ($fp = @fopen("/var/log/whois/whois_not_found.log",'a')) { if ($fp = @fopen("/var/log/whois/whois_not_found.log",'a')) {
$clientInfo = $server->getClientInfo($fd); $clientInfo = $server->getClientInfo($fd);
$remoteAddr = $clientInfo['remote_ip']; $remoteAddr = $clientInfo['remote_ip'];
fwrite($fp,date('Y-m-d H:i:s')."\t-\t".$remoteAddr."\t-\t".$domain."\n"); $currentDateTime = new DateTime();
$milliseconds = $currentDateTime->format("v");
$timestampWithMilliseconds = $currentDateTime->format("Y-m-d H:i:s") . '.' . $milliseconds;
fwrite($fp, $timestampWithMilliseconds . "\t-\t" . $remoteAddr . "\t-\t" . $domain . "\n");
fclose($fp); fclose($fp);
} }
$server->close($fd); $server->close($fd);