X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2FRecord.pm;h=9596a30b69681a24af86aeee6aef3ae5fdcbc4ff;hp=e52d09424662e90b838dca7cf54ecfbd2ff7fc7c;hb=c9678906cb89a0c05a67d8118898202b64f84fd6;hpb=a87829a0945ad5199b8676756c3186a7139d086d diff --git a/FS/FS/Record.pm b/FS/FS/Record.pm index e52d09424..9596a30b6 100644 --- a/FS/FS/Record.pm +++ b/FS/FS/Record.pm @@ -2217,6 +2217,42 @@ sub ut_hexn { $self->setfield($field, uc($1)); ''; } + +=item ut_mac_addr COLUMN + +Check/untaint mac addresses. May be null. + +=cut + +sub ut_mac_addr { + my($self, $field) = @_; + + my $mac = $self->get($field); + $mac =~ s/\s+//g; + $mac =~ s/://g; + $self->set($field, $mac); + + my $e = $self->ut_hex($field); + return $e if $e; + + return "Illegal (mac address) $field: ". $self->getfield($field) + unless length($self->getfield($field)) == 12; + + ''; + +} + +=item ut_mac_addrn COLUMN + +Check/untaint mac addresses. May be null. + +=cut + +sub ut_mac_addrn { + my($self, $field) = @_; + ($self->getfield($field) eq '') ? '' : $self->ut_mac_addr($field); +} + =item ut_ip COLUMN Check/untaint ip addresses. IPv4 only for now, though ::1 is auto-translated