summaryrefslogtreecommitdiff
path: root/scripts/system/vyatta_check_domainname.pl
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/system/vyatta_check_domainname.pl')
-rw-r--r--scripts/system/vyatta_check_domainname.pl72
1 files changed, 0 insertions, 72 deletions
diff --git a/scripts/system/vyatta_check_domainname.pl b/scripts/system/vyatta_check_domainname.pl
deleted file mode 100644
index a6e0d227..00000000
--- a/scripts/system/vyatta_check_domainname.pl
+++ /dev/null
@@ -1,72 +0,0 @@
-#!/usr/bin/perl
-
-# **** License ****
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 2 as
-# published by the Free Software Foundation.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# This code was originally developed by Vyatta, Inc.
-# Portions created by Vyatta are Copyright (C) 2010 Vyatta, Inc.
-# All Rights Reserved.
-#
-# **** End License ****
-
-use strict;
-use warnings;
-
-# Source: http://en.wikipedia.org/wiki/Domain_Name_System
-# Rules for forming domain names appear in RFC 1035, RFC 1123, and RFC 2181.
-# A domain name consists of one or more parts, technically called labels,
-# that are conventionally concatenated, and delimited by dots,
-# such as example.com.
-#
-# * The right-most label conveys the top-level domain; for example,
-# the domain name www.example.com belongs to the top-level domain com.
-# * The hierarchy of domains descends from right to left; each label to
-# the left specifies a subdivision, or subdomain of the domain to the
-# right. For example: the label example specifies a subdomain of the
-# com domain, and www is a sub domain of example.com. This tree of
-# subdivisions may have up to 127 levels.
-#
-# * Each label may contain up to 63 characters. The full domain name may
-# not exceed a total length of 253 characters in its external
-# dotted-label specification.[10] In the internal binary
-# representation of the DNS the maximum length requires 255 octets of
-# storage.[3] In practice, some domain registries may have shorter
-# limits.[citation needed]
-#
-# * DNS names may technically consist of any character representable in
-# an octet. However, the allowed formulation of domain names in the
-# DNS root zone, and most other sub domains, uses a preferred format
-# and character set. The characters allowed in a label are a subset
-# of the ASCII character set, and includes the characters a through
-# z, A through Z, digits 0 through 9, and the hyphen. This rule is
-# known as the LDH rule (letters, digits, hyphen). Domain names are
-# interpreted in case-independent manner. Labels may not start or end
-# with a hyphen.[11]
-
-foreach my $fqdn (@ARGV) {
- die "$fqdn: full domain length exceeds 253 characters\n"
- if length($fqdn) > 253;
-
- my @label = split /\./, $fqdn;
- die "$fqdn: domain name greater than 127 levels\n"
- if ($#label > 127);
-
- foreach my $label (@label) {
- die "$label: invalid character in domain name\n"
- unless $label =~ /^[-0-9a-zA-Z]+$/;
-
- die "$label: label must not start or end with hyphen\n"
- if $label =~ /(^-)|(-$)/;
-
- die "$label: domain name element greater than 63 characters\n"
- if (length($label) > 63);
- }
-}
-