|
|
1.1 root 1: object FtpCfgDlg: TFtpCfgDlg
2: Left = 779
3: Top = 375
4: BorderStyle = bsDialog
5: Caption = 'FTP Server Configuration'
1.1.1.2 ! root 6: ClientHeight = 302
! 7: ClientWidth = 352
1.1 root 8: Color = clBtnFace
9: ParentFont = True
10: OldCreateOrder = True
11: Position = poScreenCenter
12: OnShow = FormShow
13: DesignSize = (
1.1.1.2 ! root 14: 352
! 15: 302)
! 16: PixelsPerInch = 120
! 17: TextHeight = 16
1.1 root 18: object PageControl: TPageControl
1.1.1.2 ! root 19: Left = 4
! 20: Top = 4
! 21: Width = 342
! 22: Height = 245
1.1 root 23: ActivePage = PasvTabSheet
24: TabIndex = 1
25: TabOrder = 0
26: object GeneralTabSheet: TTabSheet
27: Caption = 'General'
28: object MaxClientesLabel: TLabel
1.1.1.2 ! root 29: Left = 9
! 30: Top = 106
! 31: Width = 96
! 32: Height = 24
1.1 root 33: AutoSize = False
34: Caption = 'Max Clients'
35: end
36: object MaxInactivityLabel: TLabel
1.1.1.2 ! root 37: Left = 9
! 38: Top = 138
! 39: Width = 96
! 40: Height = 24
1.1 root 41: AutoSize = False
42: Caption = 'Max Inactivity'
43: end
44: object PortLabel: TLabel
1.1.1.2 ! root 45: Left = 9
! 46: Top = 74
! 47: Width = 96
! 48: Height = 24
1.1 root 49: AutoSize = False
50: Caption = 'Control Port'
51: end
52: object InterfaceLabel: TLabel
1.1.1.2 ! root 53: Left = 9
! 54: Top = 42
! 55: Width = 96
! 56: Height = 24
1.1 root 57: AutoSize = False
58: Caption = 'Interface (IP)'
59: end
60: object QwkTimeoutLabel: TLabel
1.1.1.2 ! root 61: Left = 9
! 62: Top = 170
! 63: Width = 96
! 64: Height = 24
1.1 root 65: AutoSize = False
66: Caption = 'QWK Timeout'
67: end
68: object AutoStartCheckBox: TCheckBox
1.1.1.2 ! root 69: Left = 9
! 70: Top = 12
! 71: Width = 144
! 72: Height = 25
1.1 root 73: Hint = 'Automatically start FTP server'
74: Caption = 'Auto Startup'
75: ParentShowHint = False
76: ShowHint = True
77: TabOrder = 0
78: end
79: object MaxClientsEdit: TEdit
1.1.1.2 ! root 80: Left = 105
! 81: Top = 106
! 82: Width = 48
1.1 root 83: Height = 21
84: Hint = 'Maximum number of simultaneous clients (default=10)'
85: ParentShowHint = False
86: ShowHint = True
87: TabOrder = 4
88: end
89: object MaxInactivityEdit: TEdit
1.1.1.2 ! root 90: Left = 105
! 91: Top = 138
! 92: Width = 48
1.1 root 93: Height = 21
94: Hint =
95: 'Maximum number of seconds of inactivity before disconnect (defau' +
96: 'lt=300)'
97: ParentShowHint = False
98: ShowHint = True
99: TabOrder = 5
100: end
101: object PortEdit: TEdit
1.1.1.2 ! root 102: Left = 105
! 103: Top = 74
! 104: Width = 48
1.1 root 105: Height = 21
106: Hint = 'TCP port to use for FTP control connections (default=21)'
107: ParentShowHint = False
108: ShowHint = True
109: TabOrder = 3
110: end
111: object NetworkInterfaceEdit: TEdit
1.1.1.2 ! root 112: Left = 105
! 113: Top = 42
! 114: Width = 192
1.1 root 115: Height = 21
116: Hint = 'Your network adapter'#39's static IP address or blank for <ANY>'
117: ParentShowHint = False
118: ShowHint = True
119: TabOrder = 2
120: end
121: object AllowQWKCheckBox: TCheckBox
1.1.1.2 ! root 122: Left = 182
! 123: Top = 74
! 124: Width = 147
! 125: Height = 24
1.1 root 126: Hint = 'Allow QWK packet transfers'
127: Caption = 'QWK Packets'
128: ParentShowHint = False
129: ShowHint = True
130: TabOrder = 7
131: end
132: object LocalFileSysCheckBox: TCheckBox
1.1.1.2 ! root 133: Left = 182
! 134: Top = 106
! 135: Width = 147
! 136: Height = 24
1.1 root 137: Hint =
138: 'Allow sysop access to local file system (requires sysop password' +
139: ')'
140: Caption = 'Local File System'
141: ParentShowHint = False
142: ShowHint = True
143: TabOrder = 8
144: end
145: object HostnameCheckBox: TCheckBox
1.1.1.2 ! root 146: Left = 182
! 147: Top = 12
! 148: Width = 147
! 149: Height = 25
1.1 root 150: Hint = 'Automatically lookup client'#39's hostnames via DNS'
151: Caption = 'Hostname Lookup'
152: ParentShowHint = False
153: ShowHint = True
154: TabOrder = 1
155: end
156: object DirFilesCheckBox: TCheckBox
1.1.1.2 ! root 157: Left = 182
! 158: Top = 135
! 159: Width = 154
! 160: Height = 25
1.1 root 161: Hint = 'Allow users access to files in directory, but not in database'
162: Caption = 'Directory File Access'
163: ParentShowHint = False
164: ShowHint = True
165: TabOrder = 9
166: end
167: object QwkTimeoutEdit: TEdit
1.1.1.2 ! root 168: Left = 105
! 169: Top = 170
! 170: Width = 48
1.1 root 171: Height = 21
172: Hint = 'Maximum number of seconds before QWK packet creation timeout'
173: ParentShowHint = False
174: ShowHint = True
175: TabOrder = 6
176: end
177: end
178: object PasvTabSheet: TTabSheet
179: Caption = 'Passive'
180: ImageIndex = 4
181: object PasvIpLabel: TLabel
1.1.1.2 ! root 182: Left = 9
! 183: Top = 12
! 184: Width = 96
! 185: Height = 25
1.1 root 186: AutoSize = False
187: Caption = 'IP Address'
188: end
189: object PasvPortLabel: TLabel
1.1.1.2 ! root 190: Left = 9
! 191: Top = 44
! 192: Width = 96
! 193: Height = 25
1.1 root 194: AutoSize = False
195: Caption = 'Port Range'
196: end
197: object PasvPortThroughLabel: TLabel
1.1.1.2 ! root 198: Left = 153
! 199: Top = 44
! 200: Width = 16
! 201: Height = 25
1.1 root 202: Alignment = taCenter
203: AutoSize = False
204: Caption = '-'
205: end
206: object PasvIpAddrEdit: TEdit
1.1.1.2 ! root 207: Left = 105
! 208: Top = 12
! 209: Width = 113
! 210: Height = 24
1.1 root 211: Hint = 'Your static public IP address or blank for <unspecified>'
212: ParentShowHint = False
213: ShowHint = True
214: TabOrder = 0
215: end
216: object PasvPortLowEdit: TEdit
1.1.1.2 ! root 217: Left = 105
! 218: Top = 44
! 219: Width = 48
! 220: Height = 24
1.1 root 221: Hint =
222: 'Lowest TCP port to use for passive FTP data connections (default' +
223: '=1024)'
224: ParentShowHint = False
225: ShowHint = True
1.1.1.2 ! root 226: TabOrder = 2
1.1 root 227: end
228: object PasvPortHighEdit: TEdit
1.1.1.2 ! root 229: Left = 169
! 230: Top = 44
! 231: Width = 48
! 232: Height = 24
1.1 root 233: Hint =
234: 'Highest TCP port to use for passive FTP data connections (defaul' +
235: 't=65535)'
236: ParentShowHint = False
237: ShowHint = True
1.1.1.2 ! root 238: TabOrder = 3
1.1 root 239: end
240: object PasvIpLookupCheckBox: TCheckBox
1.1.1.2 ! root 241: Left = 226
! 242: Top = 10
! 243: Width = 90
! 244: Height = 21
1.1 root 245: Hint = 'Get passive IP address from public hostname (dynamic IP)'
246: Caption = 'Lookup'
247: ParentShowHint = False
248: ShowHint = True
1.1.1.2 ! root 249: TabOrder = 1
1.1 root 250: OnClick = PasvIpLookupCheckBoxClick
251: end
252: end
253: object IndexTabSheet: TTabSheet
254: Caption = 'Index'
255: ImageIndex = 3
256: object HtmlJavaScriptLabel: TLabel
1.1.1.2 ! root 257: Left = 9
! 258: Top = 76
! 259: Width = 80
! 260: Height = 25
1.1 root 261: AutoSize = False
262: Caption = 'JavaScript'
263: end
264: object AutoIndexCheckBox: TCheckBox
1.1.1.2 ! root 265: Left = 9
! 266: Top = 12
! 267: Width = 96
! 268: Height = 24
1.1 root 269: Hint = 'Automatically generate index files for file descriptions'
270: Caption = 'ASCII'
271: ParentShowHint = False
272: ShowHint = True
273: TabOrder = 0
274: OnClick = AutoIndexCheckBoxClick
275: end
276: object IndexFileNameEdit: TEdit
1.1.1.2 ! root 277: Left = 105
! 278: Top = 12
! 279: Width = 192
1.1 root 280: Height = 21
281: Hint = 'Name of ASCII index file (default=00index)'
282: ParentShowHint = False
283: ShowHint = True
284: TabOrder = 1
285: end
286: object HtmlIndexCheckBox: TCheckBox
1.1.1.2 ! root 287: Left = 9
! 288: Top = 44
! 289: Width = 96
! 290: Height = 24
1.1 root 291: Hint = 'Automatically generate HTML index files for file descriptions'
292: Caption = 'HTML'
293: ParentShowHint = False
294: ShowHint = True
295: TabOrder = 2
296: OnClick = HtmlIndexCheckBoxClick
297: end
298: object HtmlFileNameEdit: TEdit
1.1.1.2 ! root 299: Left = 105
! 300: Top = 44
! 301: Width = 192
1.1 root 302: Height = 21
303: Hint = 'Name of HTML index file (default=00index.html)'
304: ParentShowHint = False
305: ShowHint = True
306: TabOrder = 3
307: end
308: object HtmlJavaScriptEdit: TEdit
1.1.1.2 ! root 309: Left = 105
! 310: Top = 76
! 311: Width = 192
1.1 root 312: Height = 21
313: Hint = 'JavaScript filename to execute to generate HTML index file'
314: ParentShowHint = False
315: ShowHint = True
316: TabOrder = 4
317: end
318: end
319: object LogTabSheet: TTabSheet
320: Caption = 'Log'
321: ImageIndex = 1
322: object DebugTxCheckBox: TCheckBox
1.1.1.2 ! root 323: Left = 9
! 324: Top = 42
! 325: Width = 192
! 326: Height = 24
1.1 root 327: Hint = 'Log (debug) transmitted FTP responses'
328: Caption = 'Transmitted Responses'
329: ParentShowHint = False
330: ShowHint = True
331: TabOrder = 1
332: end
333: object CmdLogCheckBox: TCheckBox
1.1.1.2 ! root 334: Left = 9
! 335: Top = 12
! 336: Width = 192
! 337: Height = 24
1.1 root 338: Hint = 'Log (debug) all received FTP commands'
339: Caption = 'Received Commands'
340: ParentShowHint = False
341: ShowHint = True
342: TabOrder = 0
343: end
344: object DebugDataCheckBox: TCheckBox
1.1.1.2 ! root 345: Left = 9
! 346: Top = 73
! 347: Width = 192
! 348: Height = 23
1.1 root 349: Hint = 'Log (debug) data channel operations'
350: Caption = 'Data Channel Activity'
351: ParentShowHint = False
352: ShowHint = True
353: TabOrder = 2
354: end
355: object LogFileCheckBox: TCheckBox
1.1.1.2 ! root 356: Left = 9
! 357: Top = 102
! 358: Width = 144
! 359: Height = 25
1.1 root 360: Hint = 'Save log entries to a file (in your DATA directory)'
361: Caption = 'Log to Disk'
362: ParentShowHint = False
363: ShowHint = True
364: TabOrder = 3
365: end
366: end
367: object SoundTabSheet: TTabSheet
368: Caption = 'Sound'
369: ImageIndex = 2
370: object AnswerSoundLabel: TLabel
1.1.1.2 ! root 371: Left = 9
! 372: Top = 12
! 373: Width = 80
! 374: Height = 25
1.1 root 375: AutoSize = False
376: Caption = 'Connect'
377: end
378: object HangupSoundLabel: TLabel
1.1.1.2 ! root 379: Left = 9
! 380: Top = 44
! 381: Width = 80
! 382: Height = 25
1.1 root 383: AutoSize = False
384: Caption = 'Disconnect'
385: end
386: object HackAttemptSoundLabel: TLabel
1.1.1.2 ! root 387: Left = 9
! 388: Top = 76
! 389: Width = 80
! 390: Height = 25
1.1 root 391: AutoSize = False
392: Caption = 'Hack Attempt'
393: end
394: object AnswerSoundEdit: TEdit
1.1.1.2 ! root 395: Left = 105
! 396: Top = 12
! 397: Width = 192
1.1 root 398: Height = 24
399: Hint = 'Sound file to play when users connect'
400: ParentShowHint = False
401: ShowHint = True
402: TabOrder = 0
403: end
404: object AnswerSoundButton: TButton
1.1.1.2 ! root 405: Left = 304
! 406: Top = 12
! 407: Width = 25
! 408: Height = 26
1.1 root 409: Caption = '...'
410: TabOrder = 1
411: OnClick = AnswerSoundButtonClick
412: end
413: object HangupSoundEdit: TEdit
1.1.1.2 ! root 414: Left = 105
! 415: Top = 44
! 416: Width = 192
1.1 root 417: Height = 24
418: Hint = 'Sound file to play when users disconnect'
419: ParentShowHint = False
420: ShowHint = True
421: TabOrder = 2
422: end
423: object HangupSoundButton: TButton
1.1.1.2 ! root 424: Left = 304
! 425: Top = 44
! 426: Width = 25
! 427: Height = 26
1.1 root 428: Caption = '...'
429: TabOrder = 3
430: OnClick = HangupSoundButtonClick
431: end
432: object HackAttemptSoundEdit: TEdit
1.1.1.2 ! root 433: Left = 105
! 434: Top = 76
! 435: Width = 192
1.1 root 436: Height = 24
437: Hint = 'Sound file to play when users disconnect'
438: ParentShowHint = False
439: ShowHint = True
440: TabOrder = 4
441: end
442: object HackAttemptSoundButton: TButton
1.1.1.2 ! root 443: Left = 304
! 444: Top = 76
! 445: Width = 25
! 446: Height = 26
1.1 root 447: Caption = '...'
448: TabOrder = 5
449: OnClick = HackAttemptSoundButtonClick
450: end
451: end
452: end
453: object OKBtn: TButton
1.1.1.2 ! root 454: Left = 25
! 455: Top = 260
! 456: Width = 93
! 457: Height = 30
1.1 root 458: Anchors = [akLeft, akBottom]
459: Caption = 'OK'
460: Default = True
461: ModalResult = 1
462: TabOrder = 1
463: OnClick = OKBtnClick
464: end
465: object CancelBtn: TButton
1.1.1.2 ! root 466: Left = 128
! 467: Top = 260
! 468: Width = 92
! 469: Height = 30
1.1 root 470: Anchors = [akLeft, akBottom]
471: Cancel = True
472: Caption = 'Cancel'
473: ModalResult = 2
474: TabOrder = 2
475: end
476: object ApplyBtn: TButton
1.1.1.2 ! root 477: Left = 233
! 478: Top = 260
! 479: Width = 93
! 480: Height = 30
1.1 root 481: Anchors = [akLeft, akBottom]
482: Cancel = True
483: Caption = 'Apply'
484: TabOrder = 3
485: OnClick = OKBtnClick
486: end
487: object OpenDialog: TOpenDialog
488: Filter = 'Wave Files|*.wav'
489: Options = [ofHideReadOnly, ofNoChangeDir, ofEnableSizing, ofDontAddToRecent]
490: Top = 240
491: end
492: end
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.