This repository has been archived on 2023-09-20. You can view files and clone it, but cannot push or open issues or pull requests.
vim-dnsserial/plugin/dnsserial.vim
Rodolphe Breard a5e7aa3dd5 Add support for timestamp based serial.
Some people uses the current timestamp for the DNS serial number. The
current implementation detects timestamps between September 9 2001 and
March 17 2030. Implementing it has reduced the date based serial
detection to a range between 1900 and 2999, however it should not be a
problem at all because DNS didn't existed before 1900 and, if it still
exists in 3000, there is literally almost 1000 years to fix the problem.
2015-11-16 12:17:30 +01:00

47 lines
1.5 KiB
VimL

" Copyright 2015 Rodolphe Breard
"
" Licensed under the Apache License, Version 2.0 (the "License");
" you may not use this file except in compliance with the License.
" You may obtain a copy of the License at
"
" http://www.apache.org/licenses/LICENSE-2.0
"
" Unless required by applicable law or agreed to in writing, software
" distributed under the License is distributed on an "AS IS" BASIS,
" WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
" See the License for the specific language governing permissions and
" limitations under the License.
if !exists('g:dnsserial_custom_patterns')
let g:dnsserial_custom_patterns = []
endif
if !exists('g:dnsserial_patterns')
let g:dnsserial_patterns = [
\{
\'regex': '\(19\d\{2}\|20\d\{2}\)\([01]\d\)\([0-3]\d\)\(\d\+\)\s*;\s*\cserial',
\'matching': [
\{'type': 'date', 'fmt': '%Y'},
\{'type': 'date', 'fmt': '%m'},
\{'type': 'date', 'fmt': '%d'},
\{'type': 'integer', 'padding': 2, 'date_reset': 1}
\]
\},
\{
\'regex': '\(1\d\{9}\)\s*;\s*\cserial',
\'matching': [
\{'type': 'date', 'fmt': '%s'},
\]
\},
\{
\'regex': '\(\d\+\)\s*;\s*\cserial',
\'matching': [
\{'type': 'integer'}
\]
\},
\]
endif
command! DNSSerialUpdate call dnsserial#DNSSerialUpdate()