"Fossies" - the Fresh Open Source Software Archive 
Member "serendipity/bundled-libs/Net/DNS2/RR/A.php" (20 Nov 2022, 4564 Bytes) of package /linux/www/serendipity-2.4.0.zip:
As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) PHP source code syntax highlighting (style:
standard) with prefixed line numbers and
code folding option.
Alternatively you can here
view or
download the uninterpreted source code file.
For more information about "A.php" see the
Fossies "Dox" file reference documentation.
1 <?php
2 /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
3
4 /**
5 * DNS Library for handling lookups and updates.
6 *
7 * PHP Version 5
8 *
9 * Copyright (c) 2010, Mike Pultz <mike@mikepultz.com>.
10 * All rights reserved.
11 *
12 * Redistribution and use in source and binary forms, with or without
13 * modification, are permitted provided that the following conditions
14 * are met:
15 *
16 * * Redistributions of source code must retain the above copyright
17 * notice, this list of conditions and the following disclaimer.
18 *
19 * * Redistributions in binary form must reproduce the above copyright
20 * notice, this list of conditions and the following disclaimer in
21 * the documentation and/or other materials provided with the
22 * distribution.
23 *
24 * * Neither the name of Mike Pultz nor the names of his contributors
25 * may be used to endorse or promote products derived from this
26 * software without specific prior written permission.
27 *
28 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
29 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
31 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
32 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
33 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
34 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
35 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
36 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRIC
37 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
38 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
39 * POSSIBILITY OF SUCH DAMAGE.
40 *
41 * @category Networking
42 * @package Net_DNS2
43 * @author Mike Pultz <mike@mikepultz.com>
44 * @copyright 2010 Mike Pultz <mike@mikepultz.com>
45 * @license http://www.opensource.org/licenses/bsd-license.php BSD License
46 * @version SVN: $Id$
47 * @link http://pear.php.net/package/Net_DNS2
48 * @since File available since Release 0.6.0
49 *
50 */
51
52 /**
53 * A Resource Record - RFC1035 section 3.4.1
54 *
55 * +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
56 * | ADDRESS |
57 * +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
58 *
59 * @category Networking
60 * @package Net_DNS2
61 * @author Mike Pultz <mike@mikepultz.com>
62 * @license http://www.opensource.org/licenses/bsd-license.php BSD License
63 * @link http://pear.php.net/package/Net_DNS2
64 * @see Net_DNS2_RR
65 *
66 */
67 class Net_DNS2_RR_A extends Net_DNS2_RR
68 {
69 /*
70 * The IPv4 address in quad-dotted notation
71 */
72 public $address;
73
74 /**
75 * method to return the rdata portion of the packet as a string
76 *
77 * @return string
78 * @access protected
79 *
80 */
81 protected function rrToString()
82 {
83 return $this->address;
84 }
85
86 /**
87 * parses the rdata portion from a standard DNS config line
88 *
89 * @param array $rdata a string split line of values for the rdata
90 *
91 * @return boolean
92 * @access protected
93 *
94 */
95 protected function rrFromString(array $rdata)
96 {
97 $value = array_shift($rdata);
98
99 if (Net_DNS2::isIPv4($value) == true) {
100
101 $this->address = $value;
102 return true;
103 }
104
105 return false;
106 }
107
108 /**
109 * parses the rdata of the Net_DNS2_Packet object
110 *
111 * @param Net_DNS2_Packet &$packet a Net_DNS2_Packet packet to parse the RR from
112 *
113 * @return boolean
114 * @access protected
115 *
116 */
117 protected function rrSet(Net_DNS2_Packet &$packet)
118 {
119 if ($this->rdlength > 0) {
120
121 $this->address = inet_ntop($this->rdata);
122 if ($this->address !== false) {
123
124 return true;
125 }
126 }
127
128 return false;
129 }
130
131 /**
132 * returns the rdata portion of the DNS packet
133 *
134 * @param Net_DNS2_Packet &$packet a Net_DNS2_Packet packet use for
135 * compressed names
136 *
137 * @return mixed either returns a binary packed
138 * string or null on failure
139 * @access protected
140 *
141 */
142 protected function rrGet(Net_DNS2_Packet &$packet)
143 {
144 $packet->offset += 4;
145 return inet_pton($this->address);
146 }
147 }
148
149 /*
150 * Local variables:
151 * tab-width: 4
152 * c-basic-offset: 4
153 * c-hanging-comment-ender-p: nil
154 * End:
155 */
156 ?>