updated for version 7.0097
diff --git a/runtime/syntax/pamconf.vim b/runtime/syntax/pamconf.vim
new file mode 100644
index 0000000..58eaf4b
--- /dev/null
+++ b/runtime/syntax/pamconf.vim
@@ -0,0 +1,118 @@
+" Vim syntax file
+" Language:         pam(8) configuration file
+" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision:  2005-06-29
+
+
+if exists("b:current_syntax")
+  finish
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+syn match   pamconfService          '^[[:graph:]]\+'
+                                    \ nextgroup=pamconfType,
+                                    \ pamconfServiceLineCont skipwhite
+
+syn keyword pamconfTodo             contained TODO FIXME XXX NOTE
+
+syn region  pamconfComment          display oneline start='#' end='$'
+                                    \ contains=pamconfTodo,@Spell
+
+syn match   pamconfServiceLineCont  contained '\\$'
+                                    \ nextgroup=pamconfType,
+                                    \ pamconfServiceLineCont skipwhite skipnl
+
+syn keyword pamconfType             account auth password session
+                                    \ nextgroup=pamconfControl,
+                                    \ pamconfTypeLineCont skipwhite
+
+syn match   pamconfTypeLineCont     contained '\\$'
+                                    \ nextgroup=pamconfControl,
+                                    \ pamconfTypeLineCont skipwhite skipnl
+
+syn keyword pamconfControl          contained requisite required sufficient
+                                    \ optional
+                                    \ nextgroup=pamconfMPath,
+                                    \ pamconfControlLineContH skipwhite
+
+syn match   pamconfControlBegin     '\[' nextgroup=pamconfControlValues,
+                                    \ pamconfControlLineCont skipwhite
+
+syn match   pamconfControlLineCont  contained '\\$'
+                                    \ nextgroup=pamconfControlValues,
+                                    \ pamconfControlLineCont skipwhite skipnl
+
+syn keyword pamconfControlValues    contained success open_err symbol_err
+                                    \ service_err system_err buf_err
+                                    \ perm_denied auth_err cred_insufficient
+                                    \ authinfo_unavail user_unknown maxtries
+                                    \ new_authtok_reqd acct_expired session_err
+                                    \ cred_unavail cred_expired cred_err
+                                    \ no_module_data conv_err authtok_err
+                                    \ authtok_recover_err authtok_lock_busy
+                                    \ authtok_disable_aging try_again ignore
+                                    \ abort authtok_expired module_unknown
+                                    \ bad_item and default
+                                    \ nextgroup=pamconfControlValueEq
+
+syn match   pamconfControlValueEq   contained '=' nextgroup=pamconfControlAction
+
+syn match   pamconfControlActionN   contained '\d\+\>'
+                                    \ nextgroup=pamconfControlValues,
+                                    \ pamconfControlLineCont,pamconfControlEnd
+                                    \ skipwhite
+syn keyword pamconfControlAction    contained ignore bad die ok done reset
+                                    \ nextgroup=pamconfControlValues,
+                                    \ pamconfControlLineCont,pamconfControlEnd
+                                    \ skipwhite
+
+syn match   pamconfControlEnd       contained '\]'
+                                    \ nextgroup=pamconfMPath,
+                                    \ pamconfControlLineContH skipwhite
+
+syn match   pamconfControlLineContH contained '\\$'
+                                    \ nextgroup=pamconfMPath,
+                                    \ pamconfControlLineContH skipwhite skipnl
+
+syn match   pamconfMPath            contained '\S\+'
+                                    \ nextgroup=pamconfMPathLineCont,
+                                    \ pamconfArgs skipwhite
+
+syn match   pamconfArgs             contained '\S\+'
+                                    \ nextgroup=pamconfArgsLineCont,
+                                    \ pamconfArgs skipwhite
+
+syn match   pamconfMPathLineCont    contained '\\$'
+                                    \ nextgroup=pamconfMPathLineCont,
+                                    \ pamconfArgs skipwhite skipnl
+
+syn match   pamconfArgsLineCont     contained '\\$'
+                                    \ nextgroup=pamconfArgsLineCont,
+                                    \ pamconfArgs skipwhite skipnl
+
+hi def link pamconfTodo             Todo
+hi def link pamconfComment          Comment
+hi def link pamconfService          Statement
+hi def link pamconfServiceLineCont  Special
+hi def link pamconfType             Type
+hi def link pamconfTypeLineCont     pamconfServiceLineCont
+hi def link pamconfControl          Macro
+hi def link pamconfControlBegin     Delimiter
+hi def link pamconfControlLineContH pamconfServiceLineCont
+hi def link pamconfControlLineCont  pamconfServiceLineCont
+hi def link pamconfControlValues    Identifier
+hi def link pamconfControlValueEq   Operator
+hi def link pamconfControlActionN   Number
+hi def link pamconfControlAction    Identifier
+hi def link pamconfControlEnd       Delimiter
+hi def link pamconfMPath            String
+hi def link pamconfMPathLineCont    pamconfServiceLineCont
+hi def link pamconfArgs             Normal
+hi def link pamconfArgsLineCont     pamconfServiceLineCont
+
+let b:current_syntax = "pamconf"
+
+let &cpo = s:cpo_save
+unlet s:cpo_save