1<?php
2/*************************************************************************************
3 * proftpd.php
4 * ----------
5 * Author: Benny Baumann (BenBE@geshi.org)
6 * Copyright: (c) 2010 Benny Baumann (http://qbnz.com/highlighter)
7 * Release Version: 1.0.9.1
8 * Date Started: 2011/01/25
9 *
10 * ProFTPd language file for GeSHi.
11 * Words are scraped from their documentation
12 *
13 * CHANGES
14 * -------
15 * 2004/08/05 (1.0.8.10)
16 *   -  First Release
17 *
18 * TODO (updated 2011/01/25)
19 * -------------------------
20 *
21 *************************************************************************************
22 *
23 *     This file is part of GeSHi.
24 *
25 *   GeSHi is free software; you can redistribute it and/or modify
26 *   it under the terms of the GNU General Public License as published by
27 *   the Free Software Foundation; either version 2 of the License, or
28 *   (at your option) any later version.
29 *
30 *   GeSHi is distributed in the hope that it will be useful,
31 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
32 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
33 *   GNU General Public License for more details.
34 *
35 *   You should have received a copy of the GNU General Public License
36 *   along with GeSHi; if not, write to the Free Software
37 *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
38 *
39 ************************************************************************************/
40
41$language_data = array (
42    'LANG_NAME' => 'ProFTPd configuration',
43    'COMMENT_SINGLE' => array(1 => '#'),
44    'COMMENT_MULTI' => array(),
45    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
46    'QUOTEMARKS' => array("'", '"'),
47    'ESCAPE_CHAR' => '\\',
48    'KEYWORDS' => array(
49        /*keywords*/
50        1 => array(
51            //mod_auth
52            'AccessDenyMsg', 'AccessGrantMsg', 'AnonRejectePasswords',
53            'AnonRequirePassword', 'AuthAliasOnly', 'AuthUsingAlias',
54            'CreateHome', 'DefaultChdir', 'DefaultRoot', 'GroupPassword',
55            'LoginPasswordPrompt', 'MaxClients', 'MaxClientsPerClass',
56            'MaxClientsPerHost', 'MaxClientsPerUser', 'MaxConnectionsPerHost',
57            'MaxHostsPerUser', 'MaxLoginAttempts', 'RequireValidShell',
58            'RootLogin', 'RootRevoke', 'TimeoutLogin', 'TimeoutSession',
59            'UseFtpUsers', 'UserAlias', 'UserDirRoot', 'UserPassword',
60
61            //mod_auth_file
62            'AuthGroupFile', 'AuthUserFile',
63
64            //mod_auth_pam
65            'AuthPAM', 'AuthPAMConfig',
66
67            //mod_auth_unix
68            'PersistentPasswd',
69
70            //mod_ban
71            'BanControlsACLs', 'BanEngine', 'BanLog', 'BanMessage', 'BanOnEvent',
72            'BanTable',
73
74            //mod_cap
75            'CapabilitiesEngine', 'CapabilitiesSet',
76
77            //mod_core
78            'Allow', 'AllowAll', 'AllowClass', 'AllowFilter',
79            'AllowForeignAddress', 'AllowGroup', 'AllowOverride',
80            'AllowRetrieveRestart', 'AllowStoreRestart', 'AllowUser',
81            'AnonymousGroup', 'AuthOrder', 'Bind', 'CDPath', 'Class', 'Classes',
82            'CommandBufferSize', 'DebugLevel', 'DefaultAddress',
83            'DefaultServer', 'DefaultTransferMode', 'DeferWelcome', 'Define',
84            'Deny', 'DenyAll', 'DenyClass', 'DenyFilter', 'DenyGroup',
85            'DenyUser', 'DisplayChdir', 'DisplayConnect', 'DisplayFirstChdir',
86            'DisplayGoAway', 'DisplayLogin', 'DisplayQuit', 'From', 'Group',
87            'GroupOwner', 'HideFiles', 'HideGroup', 'HideNoAccess', 'HideUser',
88            'IdentLookups', 'IgnoreHidden', 'Include', 'MasqueradeAddress',
89            'MaxConnectionRate', 'MaxInstances', 'MultilineRFC2228', 'Order',
90            'PassivePorts', 'PathAllowFilter', 'PathDenyFilter', 'PidFile',
91            'Port', 'RLimitCPU', 'RLimitMemory', 'RLimitOpenFiles', 'Satisfy',
92            'ScoreboardFile', 'ServerAdmin', 'ServerIdent', 'ServerName',
93            'ServerType', 'SetEnv', 'SocketBindTight', 'SocketOptions',
94            'SyslogFacility', 'SyslogLevel', 'tcpBackLog', 'tcpNoDelay',
95            'TimeoutIdle', 'TimeoutLinger', 'TimesGMT', 'TransferLog', 'Umask',
96            'UnsetEnv', 'UseIPv6', 'User', 'UseReverseDNS', 'UserOwner',
97            'UseUTF8', 'WtmpLog',
98
99            //mod_ctrls_admin
100            'AdminControlsACLs', 'AdminControlsEngine',
101
102            //mod_delay
103            'DelayEngine', 'DelayTable',
104
105            //mod_dynmasq
106            'DynMasqRefresh',
107
108            //mod_exec
109            'ExecBeforeCommand', 'ExecEngine', 'ExecEnviron', 'ExecLog',
110            'ExecOnCommand', 'ExecOnConnect', 'ExecOnError', 'ExecOnEvent',
111            'ExecOnExit', 'ExecOnRestart', 'ExecOptions', 'ExecTimeout',
112
113            //mod_ldap
114            'LDAPAliasDereference', 'LDAPAttr', 'LDAPAuthBinds',
115            'LDAPDefaultAuthScheme', 'LDAPDefaultGID', 'LDAPDefaultUID',
116            'LDAPDNInfo', 'LDAPDoAuth', 'LDAPDoGIDLookups',
117            'LDAPDoQuotaLookups', 'LDAPDoUIDLookups',
118            'LDAPForceGeneratedHomedir', 'LDAPForceHomedirOnDemand',
119            'LDAPGenerateHomedir', 'LDAPGenerateHomedirPrefix',
120            'LDAPGenerateHomedirPrefixNoUsername', 'LDAPHomedirOnDemand',
121            'LDAPHomedirOnDemandPrefix', 'LDAPHomedirOnDemandPrefixNoUsername',
122            'LDAPHomedirOnDemandSuffix', 'LDAPNegativeCache',
123            'LDAPProtocolVersion', 'LDAPQueryTimeout', 'LDAPSearchScope',
124            'LDAPServer',
125
126            //mod_load
127            'MaxLoad',
128
129            //mod_log
130            'AllowLogSymlinks', 'ExtendedLog', 'LogFormat', 'ServerLog',
131            'SystemLog',
132
133            //mod_ls'
134            'DirFakeGroup', 'DirFakeMode', 'DirFakeUser', 'ListOptions',
135            'ShowSymlinks', 'UseGlobbing',
136
137            //mod_quotatab
138            'QuotaDirectoryTally', 'QuotaDisplayUnits', 'QuotaEngine',
139            'QuotaExcludeFilter', 'QuotaLimitTable', 'QuotaLock', 'QuotaLog',
140            'QuotaOptions', 'QuotaShowQuotas', 'QuotaTallyTable',
141
142            //mod_quotatab_file
143
144            //mod_quotatab_ldap
145
146            //mod_quotatab_sql
147
148            //mod_radius
149            'RadiusAcctServer', 'RadiusAuthServer', 'RadiusEngine',
150            'RadiusGroupInfo', 'RadiusLog', 'RadiusNASIdentifier',
151            'RadiusQuotaInfo', 'RadiusRealm', 'RadiusUserInfo', 'RadiusVendor',
152
153            //mod_ratio
154            'AnonRatio', 'ByteRatioErrMsg', 'CwdRatioMsg', 'FileRatioErrMsg',
155            'GroupRatio', 'HostRatio', 'LeechRatioMsg', 'RatioFile', 'Ratios',
156            'RatioTempFile', 'SaveRatios', 'UserRatio',
157
158            //mod_readme
159            'DisplayReadme',
160
161            //mod_rewrite
162            'RewriteCondition', 'RewriteEngine', 'RewriteLock', 'RewriteLog',
163            'RewriteMap', 'RewriteRule',
164
165            //mod_sftp
166            'SFTPAcceptEnv', 'SFTPAuthMethods', 'SFTPAuthorizedHostKeys',
167            'SFTPAuthorizedUserKeys', 'SFTPCiphers', 'SFTPClientMatch',
168            'SFTPCompression', 'SFTPCryptoDevice', 'SFTPDHParamFile',
169            'SFTPDigests', 'SFTPDisplayBanner', 'SFTPEngine', 'SFTPExtensions',
170            'SFTPHostKey', 'SFTPKeyBlacklist', 'SFTPKeyExchanges', 'SFTPLog',
171            'SFTPMaxChannels', 'SFTPOptions', 'SFTPPassPhraseProvider',
172            'SFTPRekey', 'SFTPTrafficPolicy',
173
174            //mod_sftp_pam
175            'SFTPPAMEngine', 'SFTPPAMOptions', 'SFTPPAMServiceName',
176
177            //mod_sftp_sql
178
179            //mod_shaper
180            'ShaperAll', 'ShaperControlsACLs', 'ShaperEngine', 'ShaperLog',
181            'ShaperSession', 'ShaperTable',
182
183            //mod_sql
184            'SQLAuthenticate', 'SQLAuthTypes', 'SQLBackend', 'SQLConnectInfo',
185            'SQLDefaultGID', 'SQLDefaultHomedir', 'SQLDefaultUID', 'SQLEngine',
186            'SQLGroupInfo', 'SQLGroupWhereClause', 'SQLHomedirOnDemand',
187            'SQLLog', 'SQLLogFile', 'SQLMinID', 'SQLMinUserGID',
188            'SQLMinUserUID', 'SQLNamedQuery', 'SQLNegativeCache', 'SQLOptions',
189            'SQLRatios', 'SQLRatioStats', 'SQLShowInfo', 'SQLUserInfo',
190            'SQLUserWhereClause',
191
192            //mod_sql_passwd
193            'SQLPasswordEncoding', 'SQLPasswordEngine', 'SQLPasswordSaltFile',
194            'SQLPasswordUserSalt',
195
196            //mod_tls
197            'TLSCACertificateFile', 'TLSCACertificatePath',
198            'TLSCARevocationFile', 'TLSCARevocationPath',
199            'TLSCertificateChainFile', 'TLSCipherSuite', 'TLSControlsACLs',
200            'TLSCryptoDevice', 'TLSDHParamFile', 'TLSDSACertificateFile',
201            'TLSDSACertificateKeyFile', 'TLSEngine', 'TLSLog', 'TLSOptions',
202            'TLSPKCS12File', 'TLSPassPhraseProvider', 'TLSProtocol',
203            'TLSRandomSeed', 'TLSRenegotiate', 'TLSRequired',
204            'TLSRSACertificateFile', 'TLSRSACertificateKeyFile',
205            'TLSSessionCache', 'TLSTimeoutHandshake', 'TLSVerifyClient',
206            'TLSVerifyDepth', 'TLSVerifyOrder',
207
208            //mod_tls_shmcache
209
210            //mod_unique_id
211            'UniqueIDEngine',
212
213            //mod_wrap
214            'TCPAccessFiles', 'TCPAccessSyslogLevels', 'TCPGroupAccessFiles',
215            'TCPServiceName', 'TCPUserAccessFiles',
216
217            //mod_wrap2
218            'WrapAllowMsg', 'WrapDenyMsg', 'WrapEngine', 'WrapGroupTables',
219            'WrapLog', 'WrapServiceName', 'WrapTables', 'WrapUserTables',
220
221            //mod_wrap2_file
222
223            //mod_wrap2_sql
224
225            //mod_xfer
226            'AllowOverwrite', 'DeleteAbortedStores', 'DisplayFileTransfer',
227            'HiddenStor', 'HiddenStores', 'MaxRetrieveFileSize',
228            'MaxStoreFileSize', 'StoreUniquePrefix', 'TimeoutNoTransfer',
229            'TimeoutStalled', 'TransferRate', 'UseSendfile',
230
231            //unknown
232            'ScoreboardPath', 'ScoreboardScrub'
233            ),
234        /*keywords 3*/
235        3 => array(
236            //mod_core
237            'Anonymous',
238            'Class',
239            'Directory',
240            'IfDefine',
241            'IfModule',
242            'Limit',
243            'VirtualHost',
244
245            //mod_ifsession
246            'IfClass', 'IfGroup', 'IfUser',
247
248            //mod_version
249            'IfVersion'
250            ),
251        /*permissions*/
252        4 => array(
253            //mod_core
254            'ALL',
255            'CDUP',
256            'CMD',
257            'CWD',
258            'DELE',
259            'DIRS',
260            'LOGIN',
261            'MKD',
262            'READ',
263            'RETR',
264            'RMD',
265            'RNFR',
266            'RNTO',
267            'STOR',
268            'WRITE',
269            'XCWD',
270            'XMKD',
271            'XRMD',
272
273            //mod_copy
274            'SITE_CPFR', 'SITE_CPTO',
275
276            //mod_quotatab
277            'SITE_QUOTA',
278
279            //mod_site
280            'SITE_HELP', 'SITE_CHMOD', 'SITE_CHGRP',
281
282            //mod_site_misc
283            'SITE_MKDIR', 'SITE_RMDIR', 'SITE_SYMLINK', 'SITE_UTIME',
284            ),
285        /*keywords 2*/
286        2 => array(
287            'all','on','off','yes','no',
288            'standalone', 'inetd',
289            'default', 'auth', 'write',
290            'internet', 'local', 'limit', 'ip',
291            'from'
292            ),
293        ),
294    'SYMBOLS' => array(
295        '+', '-'
296        ),
297    'CASE_SENSITIVE' => array(
298        GESHI_COMMENTS => false,
299        1 => false,
300        2 => false,
301        3 => false,
302        4 => false,
303        ),
304    'STYLES' => array(
305        'KEYWORDS' => array(
306            1 => 'color: #00007f;',
307            2 => 'color: #0000ff;',
308            3 => 'color: #000000; font-weight:bold;',
309            4 => 'color: #000080; font-weight:bold;',
310            ),
311        'COMMENTS' => array(
312            1 => 'color: #adadad; font-style: italic;',
313            ),
314        'ESCAPE_CHAR' => array(
315            0 => 'color: #000099; font-weight: bold;'
316            ),
317        'BRACKETS' => array(
318            0 => 'color: #339933;'
319            ),
320        'STRINGS' => array(
321            0 => 'color: #7f007f;'
322            ),
323        'NUMBERS' => array(
324            0 => 'color: #ff0000;'
325            ),
326        'METHODS' => array(
327            ),
328        'SYMBOLS' => array(
329            0 => 'color: #008000;'
330            ),
331        'REGEXPS' => array(
332            ),
333        'SCRIPT' => array(
334            )
335        ),
336    'URLS' => array(
337        1 => 'http://www.google.com/search?hl=en&amp;q={FNAMEL}+site:www.proftpd.org+inurl:docs&amp;btnI=I%27m%20Feeling%20Lucky',
338        2 => '',
339        3 => 'http://www.google.com/search?hl=en&amp;q={FNAMEL}+site:www.proftpd.org+inurl:docs&amp;btnI=I%27m%20Feeling%20Lucky',
340        4 => ''
341        ),
342    'OOLANG' => false,
343    'OBJECT_SPLITTERS' => array(
344        ),
345    'REGEXPS' => array(
346        ),
347    'STRICT_MODE_APPLIES' => GESHI_NEVER,
348    'SCRIPT_DELIMITERS' => array(
349        ),
350    'HIGHLIGHT_STRICT_BLOCK' => array(
351        ),
352    'PARSER_CONTROL' => array(
353        'ENABLE_FLAGS' => array(
354            'BRACKETS' => GESHI_NEVER,
355            'SYMBOLS' => GESHI_NEVER
356            ),
357        'KEYWORDS' => array(
358            2 => array(
359                'DISALLOWED_BEFORE' => '(?<=\s)(?<!=)',
360                'DISALLOWED_AFTER' => '(?!\+)(?!\w)',
361                ),
362            3 => array(
363                'DISALLOWED_BEFORE' => '(?<=&lt;|&lt;\/)',
364                'DISALLOWED_AFTER' => '(?=\s|\/|&gt;)',
365                ),
366            4 => array(
367                'DISALLOWED_BEFORE' => '(?<=\s)(?<!=)',
368                'DISALLOWED_AFTER' => '(?!\+)(?=\/|(?:\s+\w+)*\s*&gt;)',
369                )
370            )
371        )
372);
373