Server :
Apache
System :
Linux server1.cbinetwhm.bi 4.18.0-553.123.1.el8_10.x86_64 #1 SMP Tue May 5 04:00:43 EDT 2026 x86_64
User :
fenacobu (1017)
PHP Version :
8.1.34
Disable Functions :
NONE
Current Directory :
/scripts/
Directory Status:
Not Writeable | Document Root:
Writeable
Upload File
Viewing: //scripts/comparecdb
#!/usr/local/cpanel/3rdparty/bin/perl
# cpanel - scripts/comparecdb Copyright 2022 cPanel, L.L.C.
# All rights reserved.
# copyright@cpanel.net http://cpanel.net
# This code is subject to the cPanel license. Unauthorized copying is prohibited
use Fcntl ();
use CDB_File ();
if ( $ARGV[0] eq '--bincheck' ) {
print "BinCheck ok\n";
exit();
}
if ( defined $ARGV[0] && -e $ARGV[0] && defined $ARGV[1] && -e $ARGV[1] ) {
my %CDB_FILE_A;
my $ta = tie %CDB_FILE_A, 'CDB_File', $ARGV[0];
die "$ARGV[0] does not appear to be a valid CDB file." if !$ta;
my %CDB_FILE_B;
my $tb = tie %CDB_FILE_B, 'CDB_File', $ARGV[1];
die "$ARGV[1] does not appear to be a valid CDB file." if !$tb;
my %b_copy = (%CDB_FILE_B); # we need a copy since you can't delete() from this tied-readonly hash
# does A exist in B
for my $k ( sort keys %CDB_FILE_A ) {
if ( !exists $CDB_FILE_B{$k} ) {
print "$ARGV[1] is missing “$k”\n";
}
else {
delete $b_copy{$k}; # we've seen it
}
}
# any keys in B that were not in A
for my $y ( sort keys %b_copy ) {
print "$ARGV[1] has additional “$y”\n";
}
}
else {
print "This tool is for comparing the contents of 2 CDB files.\n";
print "Example: $0 /var/cpanel/locale/themes/x3/en.cdb /var/cpanel/locale/themes/x3/fr.cdb\n\n";
print "Usage: $0 [cdb file a] [cdb file b]\n";
}
Cyb3r Drag0nz Team • Google Edition