ftnapps-svn Mailing List for FTN Applications (Page 5)
Brought to you by:
jame
You can subscribe to this list here.
2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(22) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2009 |
Jan
|
Feb
(13) |
Mar
(21) |
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
(3) |
Oct
(5) |
Nov
(1) |
Dec
|
2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(33) |
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
(9) |
2012 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(4) |
Nov
|
Dec
|
From: <ja...@us...> - 2008-12-28 03:48:12
|
Revision: 16 http://ftnapps.svn.sourceforge.net/ftnapps/?rev=16&view=rev Author: jame Date: 2008-12-28 03:48:08 +0000 (Sun, 28 Dec 2008) Log Message: ----------- Install english translation by Viktor Kafke of vireq.dok in debian v0.10.5-1 as the file README. Modified Paths: -------------- vireq/branches/0.10.5-1/debian/docs vireq/branches/0.10.5-1/debian/vireq-en.doc-base Removed Paths: ------------- vireq/branches/0.10.5-1/debian/vireq-en.dok Modified: vireq/branches/0.10.5-1/debian/docs =================================================================== --- vireq/branches/0.10.5-1/debian/docs 2008-12-28 03:40:27 UTC (rev 15) +++ vireq/branches/0.10.5-1/debian/docs 2008-12-28 03:48:08 UTC (rev 16) @@ -1,3 +1,3 @@ vireq.dok -debian/vireq-en.dok +debian/README whatsnew Modified: vireq/branches/0.10.5-1/debian/vireq-en.doc-base =================================================================== --- vireq/branches/0.10.5-1/debian/vireq-en.doc-base 2008-12-28 03:40:27 UTC (rev 15) +++ vireq/branches/0.10.5-1/debian/vireq-en.doc-base 2008-12-28 03:48:08 UTC (rev 16) @@ -7,5 +7,5 @@ Section: utils Format: text -Files: /usr/share/doc/vireq/vireq-en.dok.gz +Files: /usr/share/doc/vireq/README.gz Deleted: vireq/branches/0.10.5-1/debian/vireq-en.dok =================================================================== --- vireq/branches/0.10.5-1/debian/vireq-en.dok 2008-12-28 03:40:27 UTC (rev 15) +++ vireq/branches/0.10.5-1/debian/vireq-en.dok 2008-12-28 03:48:08 UTC (rev 16) @@ -1,150 +0,0 @@ - - VIREQ/x V0.10 - (c) 1998-2001 by Volker Imre - Fidonet 2:246/2098 - Email Vo...@im... - - - - -Summary: --------- - - - VIREQ / x is a Filerequest processor, which is in accordance with the - FSC-0086 standard defined SRIF-directed. - - VIREQ / x is solely for speed. In times of sekundengenauen - Telefongebuehrenabrechnung every second counts. Who comfortable setup - programs, user databases, mouse or similar support for a request - processor wants to see, should follow another program scout. - - - Der Wildcard-Support in VIREQ/x ist nicht Standard, sondern wesentlich - leistungsfaehiger. Als Wildcards gelten '*' und '?'. - Beide, auch der '*', koennen in Requestnamen mehrfach vorkommen. - - Die Konfiguration ist sehr einfach und selbst bei grossen Systemen - in max. 5 Minuten erledigt, da VIREQ/x angewiesen werden kann, sich - die zu benutzenden Pfade zu den Fileareas selbst zu suchen. - - Es wird kein BBS-Programm benoetigt, ebensowenig FILES.BBS-Dateien. - -Installation: -------------- - - 1. Den kompletten Inhalt des Archivs nach /usr/bin/vireq/ entpacken. - 2. Vireq.cfg und vireq.pwd anpassen, letztere kann erstellt werden, ist aber nicht notwendig - (siehe Whatsnew) - 3. vimkidx starten - 4. den Reqproz wie unten beschrieben in binkd.cfg eintragen - 5. fertig. - - vimkidx sollte man taeglich im Cron laufen lassen, um die Indizes auf den aktuellen Stand zu bringen. - -Die Programme: --------------- - - - VIMKIDX -> Liest die VIREQ.CFG und erstellt die notwendigen Index- - Files (VIFILE<x>.IDX und VIPATH.IDX) - - VIREQ.EXE -> Der Reqproz. Einzubinden in binkd.cfg als - - exec "/usr/bin/vireq/vireq *S" *.req - - -Das Config-File VIREQ.CFG: --------------------------- - - Im Einzelnen: - - Der Name des zu schreibenden Logfiles, %u wird dabei durch den Inhalt - der TASK-Umgebungsvariablen ersetzt. - - logfile vireq%u.log - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Der Name der Datei, die die Namen der requesteten Files incl. Pfad - enthaelt. Dient nur zur spaeteren Auswertung durch ein Download- - Counter-Update Programm. Auch hier wird %u durch den Inhalt der TASK- - Umgebungsvariablen ersetzt. - - dlc-log dlc%u.log - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Der Systemname, der in der Request-Response benutzt werden soll. - - systemname Charleston BBS - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Die eigene Adresse wird hier angegeben. Sie dient als Absender-Adresse - fuer die Request-Response. - - aka 2:246/2098 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Das temporaer-Verzeichnis fuer CD-Wechsler (s.u. unter "-LOCAL"). - - cdtemp /tmp/ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Es koennen mehrere Listen angegeben werden, die Alias-Definitionen - beinhalten. - - aliaslist /mnt/hdc5/system/im/aliases.lst - - Innerhalb einer Liste kann fuer einzelne Aliase der Parameter - "-newest" angegeben werden. Beispiel: - - NODEDIFF Q:\DIFFS\NODEDIFF.A* -NEWEST - - Es wird dann nur das neueste File verschickt. Wird -NEWEST nicht - angegeben, werden _ALLE_ passenden Files gesendet. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Hier koennen direkt Pfade angegeben werden, die in den Index auf- - genommen werden sollen. - - -S bedeutet dabei: Nimm die Unterverzeichnisse mit auf, in denen - Files.BBS vorhanden sind. - -T bedeutet dabei: Nimm alle Unterverzeichnisse in den Index auf. - - include-path /filebase1 -s - include-path /filebase2 -t - - Weitere Parameter fuer "include-file" und "include-path": - - -CD -> Wird nur in den Index aufgenommen, wenn - VIMKIDX mit Parameter -FORCE aufgerufen wird. - Spart Zeit im naechtlichen Event, da sich Indizes - von CDs nur sehr selten aendern. - - -LOCAL -> Fuer die Leute mit CD-Wechslern. Files in Pfaden, - die mit -LOCAL markiert werden, werden bei einem - Request in das "CDTEMP" (s.o.) Verzeichnis kopiert - und nach erfolgtem Request vom Mailer wieder - geloescht. - -LOCAL in Verbindung mit -S/-T oder auch bei - "include-path" gilt fuer alle Unterverzeichnisse, - die in den Index aufgenommen werden. - -Das Passwort-File VIREQ.PWD: ----------------------------- - - siehe "Whatsnew"-Datei - - -Todo-List: ----------- - - Ich bitte um Vorschlaege... - - Support von Limits oder Unterscheidung Protected/Unprotected bzw. - Listed/Unlisted sind bisher nicht geplant. Wer braucht sowas schon. - This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ja...@us...> - 2008-12-28 03:40:34
|
Revision: 15 http://ftnapps.svn.sourceforge.net/ftnapps/?rev=15&view=rev Author: jame Date: 2008-12-28 03:40:27 +0000 (Sun, 28 Dec 2008) Log Message: ----------- Add english translation by Viktor Kafke of vireq.dok to debian packaging v0.10.5-1. Added Paths: ----------- vireq/branches/0.10.5-1/debian/README Added: vireq/branches/0.10.5-1/debian/README =================================================================== --- vireq/branches/0.10.5-1/debian/README (rev 0) +++ vireq/branches/0.10.5-1/debian/README 2008-12-28 03:40:27 UTC (rev 15) @@ -0,0 +1,164 @@ + + VIREQ/x V0.10 + (c) 1998-2001 by Volker Imre + Fidonet 2:246/2098 + Email Vo...@im... + + Poorly translated from vireq.dok and upgraded for (vk) + patches by Viktor Kafke + Fidonet 2:2437/33 + Email vk...@fi... + +! Some important changes in (vk) versions are marked +! with a leading "!". + + +Short description: +----------------- + + VIREQ/x is a fidonet file request processor according to the + FSC-0086 SRIF standard. + + VIREQ/x is designed simply to be fast. Anyone who is looking for + easy setup programs, user data bases or stuff like mouse support + in a file request processor better should look around for another + software. + + VIREQ/x supports the wilcards '*' and '?' in file name entries. + The '*' wildcard may be used multiple times in single request + name entries. + + The configuration of this software is very simple and should be done + within 5 minutes - even on larger sites. VIREQ/x can be instructed to + search the complete paths to file areas recursively itself. + + There is no need for a BBS program or for FILES.BBS files to use + VIREQ/x. + +How to install: +-------------- + + 1. Create a new directory /usr/bin/vireq/ + 2. Extract the whole VIREQ/x archive to this new directory. + 3. Make sure that the user which runs binkd and vireq do have write + access to this directory and the files in it. E.g. via: + chown -R news.news /usr/bin/vireq + 4. Change the sample vireq.cfg and vireq.pwd to fit your system + requirements. The vireq.pwd file is not mandatory (see whatsnew). + 5. Run vimkidx + 6. Change your binkd.cfg as described below. + 7. Done. + + The vimkidx program should run periodically via cron to keep your + indexes up to date. + +The executables: +--------------- + + vimkidx -> Reads vireq.cfg and builds the needed index files + for your system (vifile<x>.idx und vipath.idx) + + vireq -> The request processor program to be called by the binkd + mailer for handling file requests. Change your binkd.cfg + as follows + + exec "/usr/bin/vireq/vireq *S" *.req + +The main configuration file vireq.cfg: +------------------------------------- + + In detail: + + Defines the log file for VIREQ/x. VIREQ/x will replace %u with the + content of the TASK environment variable. + + logfile vireq%u.log + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Name for the logfile for all requested files from your system + including the whole path. This file is for later processing by a + download counter program. As before, %u is replaced by TASK + environment variable. + + dlc-log dlc%u.log + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Your system name to be used in request responses. + + systemname Charleston BBS + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Your fidonet address to be used as "from" address is request responses. + + aka 2:246/2098 + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + The path to use for temporary files when files from an optional + CD charger are requested (see "-local" below). + + cdtemp /tmp/ + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + The path to your alias definitions. Can be used multiple times. + + aliaslist /mnt/hdc5/system/im/aliases.lst + + In this file you can use the "newest" parameter, which will send + the most recent file only. + + NODEDIFF /var/spool/fnet/files/nodediff/NODEDIFF.A* [-newest] + + If -newest is not used, _ALL_ matching files will be sent. + +! Important change since version 0.10.5(vk): +! Alias names are case sensitive now! So "NODEDIFF" and "nodediff" +! are different aliases (magics). + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Here you can list all path names to build the index for VIREQ/x. + This command can be used multiple times. + + include-file /path/to/filelist/to/include + + include-path /filebase1 [-s|-t] + + -s means: Include only subdirectories including a FILES.BBS file. + + -t means: Include all subdirectories. + + Further options for "include-file" and "include-path": + + -cd -> Include this only if vimkidx is run with the + "-force" switch. This saves time, since indices + for CDs areas are rarely changed. + + -local -> For those of you using a CD charger. + File in those directories will be copied in the + "cdtemp" directory during a request process and + will be deleted by the mailer after transfer. + + When "-local" is used in conjuction with "-s"/"-t" + or in a "include-path" entry, it is valid for all + subdirectires. + + +The password file vireq.pwd: +---------------------------- + + See "whatsnew" file. + + +Todo-List: +---------- + + Send me your suggestions, please... + + Support for request limits or different handling of + protected/unprotected sessions and listed/unlisted sessions is not + planned. Who really needs that. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ja...@us...> - 2008-12-28 00:54:01
|
Revision: 14 http://ftnapps.svn.sourceforge.net/ftnapps/?rev=14&view=rev Author: jame Date: 2008-12-28 00:53:57 +0000 (Sun, 28 Dec 2008) Log Message: ----------- Import debian v0.10.5-1 as of 4 Oct 08. Added Paths: ----------- vireq/branches/0.10.5-1/ vireq/branches/0.10.5-1/debian/ vireq/branches/0.10.5-1/debian/README.Debian vireq/branches/0.10.5-1/debian/README.source vireq/branches/0.10.5-1/debian/changelog vireq/branches/0.10.5-1/debian/compat vireq/branches/0.10.5-1/debian/control vireq/branches/0.10.5-1/debian/copyright vireq/branches/0.10.5-1/debian/dirs vireq/branches/0.10.5-1/debian/docs vireq/branches/0.10.5-1/debian/postinst vireq/branches/0.10.5-1/debian/postrm vireq/branches/0.10.5-1/debian/preinst vireq/branches/0.10.5-1/debian/prerm vireq/branches/0.10.5-1/debian/rules vireq/branches/0.10.5-1/debian/vireq-en.doc-base vireq/branches/0.10.5-1/debian/vireq-en.dok vireq/branches/0.10.5-1/debian/vireq.doc-base vireq/branches/0.10.5-1/debian/watch Added: vireq/branches/0.10.5-1/debian/README.Debian =================================================================== --- vireq/branches/0.10.5-1/debian/README.Debian (rev 0) +++ vireq/branches/0.10.5-1/debian/README.Debian 2008-12-28 00:53:57 UTC (rev 14) @@ -0,0 +1,6 @@ +vireq for Debian +---------------- + + Initial release of the VIReq SRIF file request processor. + + -- Robert James Clay <ja...@ro...> Thu, 02 Oct 2008 15:24:11 -0400 Added: vireq/branches/0.10.5-1/debian/README.source =================================================================== --- vireq/branches/0.10.5-1/debian/README.source (rev 0) +++ vireq/branches/0.10.5-1/debian/README.source 2008-12-28 00:53:57 UTC (rev 14) @@ -0,0 +1,3 @@ + Creating a source archive + +Downloaded from ftp://ftp.fido.de/pub/fidonet/vireq/virexs105.zip Added: vireq/branches/0.10.5-1/debian/changelog =================================================================== --- vireq/branches/0.10.5-1/debian/changelog (rev 0) +++ vireq/branches/0.10.5-1/debian/changelog 2008-12-28 00:53:57 UTC (rev 14) @@ -0,0 +1,6 @@ +vireq (0.10.5-1) UNRELEASED; urgency=low + + * Initial release of the VIReq SRIF file request processor debian package. + + -- Robert James Clay <ja...@ro...> Thu, 02 Oct 2008 15:24:11 -0400 + Added: vireq/branches/0.10.5-1/debian/compat =================================================================== --- vireq/branches/0.10.5-1/debian/compat (rev 0) +++ vireq/branches/0.10.5-1/debian/compat 2008-12-28 00:53:57 UTC (rev 14) @@ -0,0 +1 @@ +7 Added: vireq/branches/0.10.5-1/debian/control =================================================================== --- vireq/branches/0.10.5-1/debian/control (rev 0) +++ vireq/branches/0.10.5-1/debian/control 2008-12-28 00:53:57 UTC (rev 14) @@ -0,0 +1,17 @@ +Source: vireq +Section: utils +Priority: extra +Maintainer: Robert James Clay <ja...@ro...> +Build-Depends: debhelper (>= 7) +Standards-Version: 3.8.0 +Vcs-Svn: https://ftnapps.svn.sourceforge.net/svnroot/ftnapps/vireq +Vcs-Browser: http://ftnapps.svn.sourceforge.net/viewvc/ftnapps/vireq +Homepage: http://ftnapps.sourceforge.net/vireq.html + +Package: vireq +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: SRIF file request processor + Works with SRIF according to FSC-0086.001, and so will work with + an FTN mailer like BinkD. Neither a filebase nor files.bbs files + are neccessary. Added: vireq/branches/0.10.5-1/debian/copyright =================================================================== --- vireq/branches/0.10.5-1/debian/copyright (rev 0) +++ vireq/branches/0.10.5-1/debian/copyright 2008-12-28 00:53:57 UTC (rev 14) @@ -0,0 +1,20 @@ +This package was debianized by Robert James Clay <ja...@ro...> on +Thu, 02 Oct 2008 15:24:11 -0400. + +It was downloaded from ftp://ftp.fido.de/pub/fidonet/vireq/virexs105.zip + +Upstream Author(s): + + Volker Imre, Vo...@im... + +Copyright: + + Copyright (C) 1998-2001 Volker Imre + Copyright (C) 2004,2008 Viktor Kafke + +License: + In an email from Volker Imre (see COPYING for details): +You may do with the source code / program whatever you want, as long as the +original author (me) is mentioned. +Feel free to distribute and modify the program / source as you wish. + Added: vireq/branches/0.10.5-1/debian/dirs =================================================================== --- vireq/branches/0.10.5-1/debian/dirs (rev 0) +++ vireq/branches/0.10.5-1/debian/dirs 2008-12-28 00:53:57 UTC (rev 14) @@ -0,0 +1 @@ +usr/bin Added: vireq/branches/0.10.5-1/debian/docs =================================================================== --- vireq/branches/0.10.5-1/debian/docs (rev 0) +++ vireq/branches/0.10.5-1/debian/docs 2008-12-28 00:53:57 UTC (rev 14) @@ -0,0 +1,3 @@ +vireq.dok +debian/vireq-en.dok +whatsnew Added: vireq/branches/0.10.5-1/debian/postinst =================================================================== --- vireq/branches/0.10.5-1/debian/postinst (rev 0) +++ vireq/branches/0.10.5-1/debian/postinst 2008-12-28 00:53:57 UTC (rev 14) @@ -0,0 +1,41 @@ +#!/bin/sh +# postinst script for vireq +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * <postinst> `configure' <most-recently-configured-version> +# * <old-postinst> `abort-upgrade' <new version> +# * <conflictor's-postinst> `abort-remove' `in-favour' <package> +# <new-version> +# * <postinst> `abort-remove' +# * <deconfigured's-postinst> `abort-deconfigure' `in-favour' +# <failed-install-package> <version> `removing' +# <conflicting-package> <version> +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + configure) + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + Added: vireq/branches/0.10.5-1/debian/postrm =================================================================== --- vireq/branches/0.10.5-1/debian/postrm (rev 0) +++ vireq/branches/0.10.5-1/debian/postrm 2008-12-28 00:53:57 UTC (rev 14) @@ -0,0 +1,39 @@ +#!/bin/sh +# postrm script for vireq +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * <postrm> `remove' +# * <postrm> `purge' +# * <old-postrm> `upgrade' <new-version> +# * <new-postrm> `failed-upgrade' <old-version> +# * <new-postrm> `abort-install' +# * <new-postrm> `abort-install' <old-version> +# * <new-postrm> `abort-upgrade' <old-version> +# * <disappearer's-postrm> `disappear' <overwriter> +# <overwriter-version> +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) + ;; + + *) + echo "postrm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + Added: vireq/branches/0.10.5-1/debian/preinst =================================================================== --- vireq/branches/0.10.5-1/debian/preinst (rev 0) +++ vireq/branches/0.10.5-1/debian/preinst 2008-12-28 00:53:57 UTC (rev 14) @@ -0,0 +1,37 @@ +#!/bin/sh +# preinst script for vireq +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * <new-preinst> `install' +# * <new-preinst> `install' <old-version> +# * <new-preinst> `upgrade' <old-version> +# * <old-preinst> `abort-upgrade' <new-version> +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + install|upgrade) + ;; + + abort-upgrade) + ;; + + *) + echo "preinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + Added: vireq/branches/0.10.5-1/debian/prerm =================================================================== --- vireq/branches/0.10.5-1/debian/prerm (rev 0) +++ vireq/branches/0.10.5-1/debian/prerm 2008-12-28 00:53:57 UTC (rev 14) @@ -0,0 +1,40 @@ +#!/bin/sh +# prerm script for vireq +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * <prerm> `remove' +# * <old-prerm> `upgrade' <new-version> +# * <new-prerm> `failed-upgrade' <old-version> +# * <conflictor's-prerm> `remove' `in-favour' <package> <new-version> +# * <deconfigured's-prerm> `deconfigure' `in-favour' +# <package-being-installed> <version> `removing' +# <conflicting-package> <version> +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + remove|upgrade|deconfigure) + ;; + + failed-upgrade) + ;; + + *) + echo "prerm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + Added: vireq/branches/0.10.5-1/debian/rules =================================================================== --- vireq/branches/0.10.5-1/debian/rules (rev 0) +++ vireq/branches/0.10.5-1/debian/rules 2008-12-28 00:53:57 UTC (rev 14) @@ -0,0 +1,78 @@ +#!/usr/bin/make -f +# -*- makefile -*- +# debian/rules for vireq package that uses debhelper. + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + + + + + +configure: configure-stamp +configure-stamp: + dh_testdir + # Add here commands to configure the package. + + touch configure-stamp + + +build: build-stamp + +build-stamp: configure-stamp + dh_testdir + + # Add here commands to compile the package. + gcc $(CFLAGS) vimkidx.c -o vimkidx + gcc $(CFLAGS) vireq.c -o vireq + + touch $@ + +clean: + dh_testdir + dh_testroot + rm -f build-stamp configure-stamp + + # Add here commands to clean up after the build process. + rm -f vimkidx + rm -f vireq + + dh_clean + +install: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + + # Add here commands to install the package into debian/vireq. + dh_install vireq /usr/bin + dh_install vimkidx /usr/bin + + +# Build architecture-independent files here. +binary-indep: build install +# We have nothing to do by default. + +# Build architecture-dependent files here. +binary-arch: build install + dh_testdir + dh_testroot + dh_installchangelogs + dh_installdocs + dh_installexamples + dh_install + dh_installman + dh_link + dh_strip + dh_compress + dh_fixperms +# dh_makeshlibs + dh_installdeb + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install configure Property changes on: vireq/branches/0.10.5-1/debian/rules ___________________________________________________________________ Added: svn:executable + * Added: vireq/branches/0.10.5-1/debian/vireq-en.doc-base =================================================================== --- vireq/branches/0.10.5-1/debian/vireq-en.doc-base (rev 0) +++ vireq/branches/0.10.5-1/debian/vireq-en.doc-base 2008-12-28 00:53:57 UTC (rev 14) @@ -0,0 +1,11 @@ +Document: vireq-en +Title: Debian vireq Manual +Author: Volker Imre +Abstract: This manual describes what vireq is + and how it can be used to process file + requests. (English) +Section: utils + +Format: text +Files: /usr/share/doc/vireq/vireq-en.dok.gz + Added: vireq/branches/0.10.5-1/debian/vireq-en.dok =================================================================== --- vireq/branches/0.10.5-1/debian/vireq-en.dok (rev 0) +++ vireq/branches/0.10.5-1/debian/vireq-en.dok 2008-12-28 00:53:57 UTC (rev 14) @@ -0,0 +1,150 @@ + + VIREQ/x V0.10 + (c) 1998-2001 by Volker Imre + Fidonet 2:246/2098 + Email Vo...@im... + + + + +Summary: +-------- + + + VIREQ / x is a Filerequest processor, which is in accordance with the + FSC-0086 standard defined SRIF-directed. + + VIREQ / x is solely for speed. In times of sekundengenauen + Telefongebuehrenabrechnung every second counts. Who comfortable setup + programs, user databases, mouse or similar support for a request + processor wants to see, should follow another program scout. + + + Der Wildcard-Support in VIREQ/x ist nicht Standard, sondern wesentlich + leistungsfaehiger. Als Wildcards gelten '*' und '?'. + Beide, auch der '*', koennen in Requestnamen mehrfach vorkommen. + + Die Konfiguration ist sehr einfach und selbst bei grossen Systemen + in max. 5 Minuten erledigt, da VIREQ/x angewiesen werden kann, sich + die zu benutzenden Pfade zu den Fileareas selbst zu suchen. + + Es wird kein BBS-Programm benoetigt, ebensowenig FILES.BBS-Dateien. + +Installation: +------------- + + 1. Den kompletten Inhalt des Archivs nach /usr/bin/vireq/ entpacken. + 2. Vireq.cfg und vireq.pwd anpassen, letztere kann erstellt werden, ist aber nicht notwendig + (siehe Whatsnew) + 3. vimkidx starten + 4. den Reqproz wie unten beschrieben in binkd.cfg eintragen + 5. fertig. + + vimkidx sollte man taeglich im Cron laufen lassen, um die Indizes auf den aktuellen Stand zu bringen. + +Die Programme: +-------------- + + + VIMKIDX -> Liest die VIREQ.CFG und erstellt die notwendigen Index- + Files (VIFILE<x>.IDX und VIPATH.IDX) + + VIREQ.EXE -> Der Reqproz. Einzubinden in binkd.cfg als + + exec "/usr/bin/vireq/vireq *S" *.req + + +Das Config-File VIREQ.CFG: +-------------------------- + + Im Einzelnen: + + Der Name des zu schreibenden Logfiles, %u wird dabei durch den Inhalt + der TASK-Umgebungsvariablen ersetzt. + + logfile vireq%u.log + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Der Name der Datei, die die Namen der requesteten Files incl. Pfad + enthaelt. Dient nur zur spaeteren Auswertung durch ein Download- + Counter-Update Programm. Auch hier wird %u durch den Inhalt der TASK- + Umgebungsvariablen ersetzt. + + dlc-log dlc%u.log + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Der Systemname, der in der Request-Response benutzt werden soll. + + systemname Charleston BBS + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Die eigene Adresse wird hier angegeben. Sie dient als Absender-Adresse + fuer die Request-Response. + + aka 2:246/2098 + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Das temporaer-Verzeichnis fuer CD-Wechsler (s.u. unter "-LOCAL"). + + cdtemp /tmp/ + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Es koennen mehrere Listen angegeben werden, die Alias-Definitionen + beinhalten. + + aliaslist /mnt/hdc5/system/im/aliases.lst + + Innerhalb einer Liste kann fuer einzelne Aliase der Parameter + "-newest" angegeben werden. Beispiel: + + NODEDIFF Q:\DIFFS\NODEDIFF.A* -NEWEST + + Es wird dann nur das neueste File verschickt. Wird -NEWEST nicht + angegeben, werden _ALLE_ passenden Files gesendet. + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Hier koennen direkt Pfade angegeben werden, die in den Index auf- + genommen werden sollen. + + -S bedeutet dabei: Nimm die Unterverzeichnisse mit auf, in denen + Files.BBS vorhanden sind. + -T bedeutet dabei: Nimm alle Unterverzeichnisse in den Index auf. + + include-path /filebase1 -s + include-path /filebase2 -t + + Weitere Parameter fuer "include-file" und "include-path": + + -CD -> Wird nur in den Index aufgenommen, wenn + VIMKIDX mit Parameter -FORCE aufgerufen wird. + Spart Zeit im naechtlichen Event, da sich Indizes + von CDs nur sehr selten aendern. + + -LOCAL -> Fuer die Leute mit CD-Wechslern. Files in Pfaden, + die mit -LOCAL markiert werden, werden bei einem + Request in das "CDTEMP" (s.o.) Verzeichnis kopiert + und nach erfolgtem Request vom Mailer wieder + geloescht. + -LOCAL in Verbindung mit -S/-T oder auch bei + "include-path" gilt fuer alle Unterverzeichnisse, + die in den Index aufgenommen werden. + +Das Passwort-File VIREQ.PWD: +---------------------------- + + siehe "Whatsnew"-Datei + + +Todo-List: +---------- + + Ich bitte um Vorschlaege... + + Support von Limits oder Unterscheidung Protected/Unprotected bzw. + Listed/Unlisted sind bisher nicht geplant. Wer braucht sowas schon. + Added: vireq/branches/0.10.5-1/debian/vireq.doc-base =================================================================== --- vireq/branches/0.10.5-1/debian/vireq.doc-base (rev 0) +++ vireq/branches/0.10.5-1/debian/vireq.doc-base 2008-12-28 00:53:57 UTC (rev 14) @@ -0,0 +1,11 @@ +Document: vireq +Title: Debian vireq Manual +Author: Volker Imre +Abstract: This manual describes what vireq is + and how it can be used to process file + requests. (German) +Section: utils + +Format: text +Files: /usr/share/doc/vireq/vireq.dok.gz + Added: vireq/branches/0.10.5-1/debian/watch =================================================================== --- vireq/branches/0.10.5-1/debian/watch (rev 0) +++ vireq/branches/0.10.5-1/debian/watch 2008-12-28 00:53:57 UTC (rev 14) @@ -0,0 +1,10 @@ +# vireq watch control file for uscan +# See uscan(1) for format + +# Compulsory line, this is a version 3 file +version=3 + +# Uncomment to find new files on sourceforge, for devscripts >= 2.9 +# http://sf.net/vireq/vireq-(.*)\.tar\.gz + + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ja...@us...> - 2008-12-27 22:22:24
|
Revision: 12 http://ftnapps.svn.sourceforge.net/ftnapps/?rev=12&view=rev Author: jame Date: 2008-12-27 21:38:17 +0000 (Sat, 27 Dec 2008) Log Message: ----------- Merge vireq v0.10.2 to trunk. Added Paths: ----------- vireq/trunk/COPYING vireq/trunk/file_id.diz vireq/trunk/vimkidx.c vireq/trunk/vireq.c vireq/trunk/vireq.cfg vireq/trunk/vireq.dok vireq/trunk/vireq.h vireq/trunk/vireq.pwd vireq/trunk/whatsnew Removed Paths: ------------- vireq/trunk/COPYING vireq/trunk/aliases.lst vireq/trunk/file_id.diz vireq/trunk/vimkidx.c vireq/trunk/vipath.idx vireq/trunk/vireq.c vireq/trunk/vireq.cfg vireq/trunk/vireq.dok vireq/trunk/vireq.pwd vireq/trunk/whatsnew Deleted: vireq/trunk/COPYING =================================================================== --- vireq/trunk/COPYING 2008-12-27 20:32:27 UTC (rev 11) +++ vireq/trunk/COPYING 2008-12-27 21:38:17 UTC (rev 12) @@ -1,72 +0,0 @@ -From: Vo...@im... -Subject: Re: License for ViReq? -Date: October 3, 2008 4:41:50 AM GMT-04:00 -To: ja...@ro... -Cc: vi...@ka... -Reply-To: Vo...@im... - -Hello Robert, - ->>> What is the License on the source? Can find no mention of ->>> that in any of the files... ->> ->> Volker is still a member of fidonet (2:246/2098), please ask him. ->> He's also reachable via eMail at Vo...@im... ->> ->> To my knowledge he has given ViReq to the public domain, as far as ->> you leave his name in the source code/dokumentation intact. - -> Is that what it is? Public domain? Or GPL? Because it's not -> mentioned in any of the files that I could find... - -You may do with the source code / program whatever you want, as long as the -original author (me) is mentioned. - - ->>> (I was thinking about packaging it for Debian/Ubuntu...) ->> ->> Good idea. I think he would agree to that - but please ask him ->> yourself. - -> I do have an initial package that does build, but of course can't -> distribute it without a license that says I can do so... - -Feel free to distribute and modify the program / source as you wish. - --- -Best regards, -Volker - -===================================================================================== -From: ja...@ro... -Subject: License for ViReq? -Date: October 2, 2008 6:23:56 PM GMT-04:00 -To: Vo...@im... - -On Wed, 01 Oct 2008 17:25:46 -0400, Viktor Kafke wrote in the BinkD echo: - ->> What is the License on the source? Can find no mention of that in ->> any of the files... -> -> Volker is still a member of fidonet (2:246/2098), please ask him. He's -> also reachable via eMail at Vo...@im... -> -> To my knowledge he has given ViReq to the public domain, as far as you -> leave his name in the source code/dokumentation intact. - - Is that what it is? Public domain? Or GPL? Because it's not mentioned -in any of the files that I could find... - - ->> (I was thinking about packaging it for Debian/Ubuntu...) -> -> Good idea. I think he would agree to that - but please ask him yourself. - - I do have an initial package that does build, but of course can't -distribute it without a license that says I can do so... - - - -Robert James Clay -j...@ro... - \ No newline at end of file Copied: vireq/trunk/COPYING (from rev 7, vireq/branches/vendor/vkafke/0.10.2/COPYING) =================================================================== --- vireq/trunk/COPYING (rev 0) +++ vireq/trunk/COPYING 2008-12-27 21:38:17 UTC (rev 12) @@ -0,0 +1,72 @@ +From: Vo...@im... +Subject: Re: License for ViReq? +Date: October 3, 2008 4:41:50 AM GMT-04:00 +To: ja...@ro... +Cc: vi...@ka... +Reply-To: Vo...@im... + +Hello Robert, + +>>> What is the License on the source? Can find no mention of +>>> that in any of the files... +>> +>> Volker is still a member of fidonet (2:246/2098), please ask him. +>> He's also reachable via eMail at Vo...@im... +>> +>> To my knowledge he has given ViReq to the public domain, as far as +>> you leave his name in the source code/dokumentation intact. + +> Is that what it is? Public domain? Or GPL? Because it's not +> mentioned in any of the files that I could find... + +You may do with the source code / program whatever you want, as long as the +original author (me) is mentioned. + + +>>> (I was thinking about packaging it for Debian/Ubuntu...) +>> +>> Good idea. I think he would agree to that - but please ask him +>> yourself. + +> I do have an initial package that does build, but of course can't +> distribute it without a license that says I can do so... + +Feel free to distribute and modify the program / source as you wish. + +-- +Best regards, +Volker + +===================================================================================== +From: ja...@ro... +Subject: License for ViReq? +Date: October 2, 2008 6:23:56 PM GMT-04:00 +To: Vo...@im... + +On Wed, 01 Oct 2008 17:25:46 -0400, Viktor Kafke wrote in the BinkD echo: + +>> What is the License on the source? Can find no mention of that in +>> any of the files... +> +> Volker is still a member of fidonet (2:246/2098), please ask him. He's +> also reachable via eMail at Vo...@im... +> +> To my knowledge he has given ViReq to the public domain, as far as you +> leave his name in the source code/dokumentation intact. + + Is that what it is? Public domain? Or GPL? Because it's not mentioned +in any of the files that I could find... + + +>> (I was thinking about packaging it for Debian/Ubuntu...) +> +> Good idea. I think he would agree to that - but please ask him yourself. + + I do have an initial package that does build, but of course can't +distribute it without a license that says I can do so... + + + +Robert James Clay +j...@ro... + \ No newline at end of file Deleted: vireq/trunk/aliases.lst =================================================================== --- vireq/trunk/aliases.lst 2008-12-27 20:32:27 UTC (rev 11) +++ vireq/trunk/aliases.lst 2008-12-27 21:38:17 UTC (rev 12) @@ -1,2 +0,0 @@ -Nodediff /mnt/hdc5/system/im/node_in/nodediff.a* - Deleted: vireq/trunk/file_id.diz =================================================================== --- vireq/trunk/file_id.diz 2008-12-27 20:32:27 UTC (rev 11) +++ vireq/trunk/file_id.diz 2008-12-27 21:38:17 UTC (rev 12) @@ -1,6 +0,0 @@ -VIREQ/X V0.10 -Filerequestprozessor fuer Linux --Arbeitet mit SRIF gemaess FSC-0086.001 --Benoetigt keine Filebase, auch keine - FILES.BBS - (c) 1998-2001 by Volker Imre Copied: vireq/trunk/file_id.diz (from rev 7, vireq/branches/vendor/vkafke/0.10.2/file_id.diz) =================================================================== --- vireq/trunk/file_id.diz (rev 0) +++ vireq/trunk/file_id.diz 2008-12-27 21:38:17 UTC (rev 12) @@ -0,0 +1,7 @@ +VIREQ/X V0.10.2(vk) +Filerequestprozessor fuer Linux +-Arbeitet mit SRIF gemaess FSC-0086.001 +-Benoetigt keine Filebase, auch keine + FILES.BBS + (c) 1998-2001 by Volker Imre + Kleine Patches by Viktor Kafke Deleted: vireq/trunk/vimkidx.c =================================================================== --- vireq/trunk/vimkidx.c 2008-12-27 20:32:27 UTC (rev 11) +++ vireq/trunk/vimkidx.c 2008-12-27 21:38:17 UTC (rev 12) @@ -1,686 +0,0 @@ -#include <string.h> -#include <math.h> -#include <time.h> -#include <ctype.h> -#include <stdio.h> -#include <stdlib.h> -#include <fcntl.h> -#include <sys/types.h> -#include <sys/stat.h> -#include <dirent.h> -DIR *dirp; -struct dirent *direntp; - -#define _MAX_DRIVE 128 -#define _MAX_DIR 512 -#define _MAX_FNAME 512 -#define _MAX_EXT 512 - - -char dummy_string[512]; -char ausgabe[512]; -char eingabe[4096]; -char dateiname[512]; -FILE *config; -char configname[255]; -char drive[_MAX_DRIVE]; -char path[_MAX_DIR]; -char file[_MAX_FNAME]; -char ext[_MAX_EXT]; - -struct -{ - char drive[3]; - char unc[255]; -} trans[30]; -FILE *tmp; -char *p; -FILE *pfade; -FILE *pfade_c; -FILE *fbbs; -char pfadname[255]; -char pfadcname[255]; -struct -{ - char open; - FILE *f; - char name[255]; -} idx[255]; -struct -{ - char open; - FILE *f; - char name[255]; -} idx_c[255]; -char stattest[512]; -struct stat buf; -char mmcopy=0; -char subdir[6000][255]; -char start_dir[255]; -int status=0; -char filesbbs[255]; -unsigned long ii=0,jj=0,tempzaehl=0; -unsigned long i=0; -char ende=0; -char dirs_name[255]; -unsigned char c; -void strlwr(char *); - -void findfile(char *dir, char *name) -{ - char *p, *q; - char entry[255]; - strlwr(dir); - dirp = opendir( dir ); - if( dirp == NULL ) { - printf(">>%s<< \n",dir); - perror( "Error " ); - } else { - direntp = readdir( dirp ); - } -} -void findnext() -{ - direntp=readdir(dirp); -} -void findclose() -{ - closedir(dirp); -} -void strlwr(char *dummy) -{ - char *p; - p=dummy; - while(*p) - { - *p=tolower(*p); - p++; - } -} -void strupr(char *dummy) -{ - char *p; - p=dummy; - while(*p) - { - *p=toupper(*p); - p++; - } -} - -int find_filesbbs(char *pfad) -{ - findfile(pfad,"*"); - if (!dirp) - { - findclose(); - - return(1); - } - while(direntp) - { - strlwr(direntp->d_name); - if (strstr("files.bbs",direntp->d_name)) - { - findclose(); - return(0); - } - findnext(); - } - findclose(); - return(1); -} -void oeffne_idx(char c) -{ - - sprintf(idx[c].name,"%svifile%c.idx",path,c); - idx[c].f=fopen(idx[c].name,"wt"); - if (idx[c].f) - idx[c].open=1; - else - { - printf("Fehler beim Oeffnen von "); - printf("%s",idx[c].name); - perror("\nFehler "); - } -} -void oeffne_idx_cdrom(char c) -{ - - sprintf(idx_c[c].name,"%s%svifile%c.idc",drive,path,c); - idx_c[c].f=fopen(idx_c[c].name,"wt"); - if (idx_c[c].f) - idx_c[c].open=1; - else - { - printf("Fehler beim Oeffnen von "); - printf("%s",idx_c[c].name); - perror("\nFehler "); - } -} - -void make_dirlist(char *dir) -{ - - FILE *dirs; - char *p; - - p=strchr(dir,0x0d); - if (p) - *p=0x00; - p=strchr(dir,0x0a); - if (p) - *p=0x00; - - - sprintf(dirs_name,"%sdirlist.dat",drive,path); - dirs=fopen(dirs_name,"wt"); - - sprintf(subdir[0],"%s",dir); - sprintf(start_dir,"%s",subdir[0]); - ii=1; - jj=1; - while(!ende) - { - findfile(start_dir,"*"); - if (direntp) - { - while(direntp) - { - if (ii==5990) - break; - sprintf(stattest,"%s/%s",start_dir,direntp->d_name); - stat(stattest,&buf); - if (!S_ISDIR(buf.st_mode)) - { - findnext(); - continue; - } - if (direntp->d_name[0]!='.') - { - tempzaehl=jj; - tempzaehl--; - sprintf(subdir[ii],"%s/%s",subdir[tempzaehl],direntp->d_name); - ii++; - printf("%u : %u --> %s\r",ii,jj,direntp->d_name); - } - findnext(); - } - findclose(); - } - sprintf(start_dir,"%s",subdir[jj++]); - if (jj > ii) - break; - } - for (jj=0;jj<ii ;jj++ ) { - fputs(subdir[jj],dirs); - fputs("\n",dirs); - } - fclose(dirs); -} - -void _outtext(char *text) -{ - printf(text); - printf("\n"); -} -int main(int argc, char *argv[]) -{ - char *q; - char mmcd=0, force=0; - char param=0; - char pfad[512]; - unsigned int nhandles; - long zaehler=0; - - for (param=0;param<argc ; param++) - { - strlwr(argv[param]); - if (!strncmp("-force",argv[param],strlen("-force"))) - force=1; - } - - _outtext("VIMKIDX/2 V0.07"); - _outtext("Creates all needed indexfiles for VIREQ/2"); - _outtext("Use -force to recreate the cdrom-indices"); - - - _outtext("Reading Paths.. "); - _outtext("Path: "); -/* - nhandles=_grow_handles(300); - if (nhandles < 280) - { - _outtext("Ungenugende Anzahl Filehandles, Programmabbruch!"); - exit(200); - } -*/ - - - sprintf(path,"/usr/bin/vireq/"); - - sprintf(pfadname,"%svipath.idx",path); - sprintf(pfadcname,"%svipath.idc",path); - - sprintf(configname,"%svireq.cfg",path); - config=fopen(configname,"r"); - if (!config) - exit(99); - pfade=fopen(pfadname,"wt"); - if (!pfade) { - exit(98); - } - if (force) - { - pfade_c=fopen(pfadcname,"wt"); - if (!pfade_c) { - exit(96); - } - } - while(!feof(config)) - { - fgets(eingabe,(int)255,config); - if (feof(config)) - break; - strlwr(eingabe); - p=strchr(eingabe,0x0d); - if (p) *p=0x00; - p=strchr(eingabe,0x0a); - if (p) *p=0x00; - mmcd=0; - mmcopy=0; - if (!strncmp(eingabe,"include-file",strlen("include-file"))) - { - p=strstr(eingabe," -cd"); - if (p) { - *p++=0x20; - *p++=0x20; - *p++=0x20; - *p++=0x20; - mmcd=1; - } - if (mmcd && !force) - continue; - p=strstr(eingabe," -local"); - if (p) { - *p++=0x20; - *p++=0x20; - *p++=0x20; - *p++=0x20; - *p++=0x20; - *p++=0x20; - *p++=0x20; - mmcopy=1; - } - p=strchr(eingabe,0x20); - if (!p) - break; - while(*p++==0x20); - p--; - q=strchr(p,0x20); - if (q) - *q=0x00; - tmp=fopen(p,"rt"); - if (!tmp) - continue; - while(!feof(tmp)) - { - fgets(eingabe,(int)255,tmp); - if (feof(tmp)) - break; - p=strchr(eingabe,0x0d); - if (p) *p=0x00; - p=strchr(eingabe,0x0a); - if (p) *p=0x00; - p=strchr(eingabe,0x20); - if (p) *p=0x00; - if (!strlen(eingabe)) - continue; - strlwr(eingabe); - if (eingabe[strlen(eingabe)-1]==0x5c) - eingabe[strlen(eingabe)-1]=0x00; - if (mmcopy) - strcat(eingabe," -local"); - if (mmcd) - { - fputs(eingabe,pfade_c); - fputs("\n",pfade_c); - } - else - { - fputs(eingabe,pfade); - fputs("\n",pfade); - } - _outtext(eingabe); - } - fclose(tmp); - continue; - } - if (!strncmp(eingabe,"include-path",strlen("include-path"))) - { - char mmsub=0; - p=strstr(eingabe," -s"); - if (p) { - *p++=0x20; - *p++=0x20; - *p++=0x20; - mmsub=1; - } - p=strstr(eingabe," -t"); - if (p) { - *p++=0x20; - *p++=0x20; - *p++=0x20; - mmsub=2; - } - p=strstr(eingabe," -cd"); - if (p) { - *p++=0x20; - *p++=0x20; - *p++=0x20; - *p++=0x20; - mmcd=1; - } - p=strstr(eingabe," -local"); - if (p) { - *p++=0x20; - *p++=0x20; - *p++=0x20; - *p++=0x20; - *p++=0x20; - *p++=0x20; - *p++=0x20; - mmcopy=1; - } - if (mmcd && !force) - continue; - p=strchr(eingabe,0x20); - if (!p) - break; - while(*p++==0x20); - p--; - q=strchr(p,0x20); - if (q) - *q=0x00; - if (!mmsub) { - char *q; - q=strchr(p,0x20); - if (q) - *q=0x00; - if (mmcopy) - strcat(p," -local"); - if (mmcd) - { - fputs(p,pfade_c); - fputs("\n",pfade_c); - } - else - { - fputs(p,pfade); - fputs("\n",pfade); - } - _outtext(p); - continue; - } - - make_dirlist(p); - tmp=fopen(dirs_name,"rt"); - if (!tmp) - continue; - while(!feof(tmp)) - { - fgets(eingabe,(int)255,tmp); - if (feof(tmp)) - break; - p=strchr(eingabe,0x0d); - if (p) *p=0x00; - p=strchr(eingabe,0x0a); - if (p) *p=0x00; - strlwr(eingabe); - if (eingabe[strlen(eingabe)-1]==0x5c) - eingabe[strlen(eingabe)-1]=0x00; - status=find_filesbbs(eingabe); - if (status==0 || mmsub==2) - { - char *q; - q=strchr(eingabe,0x20); - if (q) - *q=0x00; - if (mmcopy) - strcat(eingabe," -local"); - if (mmcd) - { - fputs(eingabe,pfade_c); - fputs("\n",pfade_c); - } - else - { - fputs(eingabe,pfade); - fputs("\n",pfade); - } - printf("%s\r",eingabe); - } - } - fclose(tmp); - continue; - } - } - fclose(config); - fclose(pfade); - if (force) - fclose(pfade_c); -// Erstellen der VIFILE<x>.IDX - - for (i=0;i<256;i++) { - idx[i].open=0; - } /* endfor */ - _outtext("Reading Files... "); - _outtext("File: "); - - pfade=fopen(pfadname,"rt"); - if (!pfade) { - exit(90); - } - while(!feof(pfade)) - { - zaehler++; - fgets(eingabe,(int)255,pfade); - if (feof(pfade)) - break; - p=strchr(eingabe,0x0d); - if (p) *p=0x00; - p=strchr(eingabe,0x0a); - if (p) *p=0x00; - p=strstr(eingabe," -local"); - if (p) { - *p++=0x20; - *p++=0x20; - *p++=0x20; - *p++=0x20; - *p++=0x20; - *p++=0x20; - *p++=0x20; - } - p=strchr(eingabe,0x20); - if (p) *p=0x00; - sprintf(filesbbs,"%s/files.bbs",eingabe); - fbbs=fopen(filesbbs,"rt"); - if (!fbbs) - { - findfile(eingabe,"*"); - if (direntp) - { - while(direntp) - { - sprintf(stattest,"%s/%s",eingabe,direntp->d_name); - stat(stattest,&buf); - if (S_ISDIR(buf.st_mode)) - { - findnext(); - continue; - } - - p=direntp->d_name; - strlwr(p); - c=*p; - if (!(c=='.')) - { - if (!idx[c].open) - oeffne_idx(c); - if (idx[c].open) - { - fprintf(idx[c].f,"%s %lu\n",p,zaehler-1); - } - printf("%s\r",p); - } - findnext(); - } - findclose(); - } - continue; - } - strcpy(pfad,eingabe); - while (!feof(fbbs)) - { - fgets(eingabe,(int)4000,fbbs); - if (feof(fbbs)) - break; - p=strchr(eingabe,0x0d); - if (p) *p=0x00; - p=strchr(eingabe,0x0a); - if (p) *p=0x00; - c=toupper(eingabe[0]); - if (c==0x20 || c==0x0a || c==0x0d || c=='/' || c=='&' || c=='.') - continue; - if (c=='+' || c=='*' || c=='\\' || c==0x00 || c==':') - continue; - c=tolower(c); - strlwr(eingabe); - if (!idx[c].open) - oeffne_idx(c); - if (!idx[c].open ) - continue; - p=strchr(eingabe,0x20); - if (p) - *p=0x00; - sprintf(dummy_string,"%s/%s",pfad,eingabe); - if (access(dummy_string,F_OK)) - continue; - fprintf(idx[c].f,"%s %lu\n",eingabe,zaehler-1); - printf("%s\r",eingabe); - } - fclose(fbbs); - } - fclose(pfade); - for (i=0;i<256;i++) { - if (idx[i].open==1) { - fclose(idx[i].f); - } - } /* endfor */ - if (!force) - { - for (i=0;i<256;i++) { - if (idx_c[i].open==1) { - fclose(idx_c[i].f); - } - } /* endfor */ - - _outtext("Finished!\n\n"); - return(0); - } - - pfade_c=fopen(pfadcname,"rt"); - if (!pfade) { - exit(90); - } - zaehler=0; - while(!feof(pfade_c)) - { - zaehler++; - fgets(eingabe,(int)255,pfade_c); - if (feof(pfade_c)) - break; - p=strchr(eingabe,0x0d); - if (p) *p=0x00; - p=strchr(eingabe,0x0a); - if (p) *p=0x00; - p=strstr(eingabe," -local"); - if (p) { - *p++=0x20; - *p++=0x20; - *p++=0x20; - *p++=0x20; - *p++=0x20; - *p++=0x20; - *p++=0x20; - } - p=strchr(eingabe,0x20); - if (p) *p=0x00; - sprintf(filesbbs,"%s/files.bbs",eingabe); - fbbs=fopen(filesbbs,"rt"); - if (!fbbs) - { - findfile(eingabe,"*"); - if (direntp) - { - while(direntp) - { - p=direntp->d_name; - strlwr(p); - c=*p; - if (!(c=='.')) - { - if (!idx_c[c].open) - oeffne_idx_cdrom(c); - if (idx_c[c].open) - { - fprintf(idx_c[c].f,"%s %lu\n",p,zaehler-1); - } - _outtext(p); - } - findnext(); - } - findclose(); - } - continue; - } - while (!feof(fbbs)) - { - fgets(eingabe,(int)4000,fbbs); - if (feof(fbbs)) - break; - p=strchr(eingabe,0x0d); - if (p) *p=0x00; - p=strchr(eingabe,0x0a); - if (p) *p=0x00; - c=toupper(eingabe[0]); - if (c==0x20 || c==0x0a || c==0x0d || c=='/' || c=='&' || c=='.') - continue; - if (c=='+' || c=='*' || c=='\\' || c==0x00 || c==':') - continue; - strlwr(eingabe); - c=tolower(c); - if (!idx_c[c].open) - oeffne_idx_cdrom(c); - if (!idx_c[c].open ) - continue; - p=strchr(eingabe,0x20); - if (p) - *p=0x00; - fprintf(idx_c[c].f,"%s %lu\n",eingabe,zaehler-1); - _outtext(eingabe); - } - fclose(fbbs); - } - fclose(pfade_c); - - for (i=0;i<256;i++) { - if (idx_c[i].open==1) { - fclose(idx_c[i].f); - } - } /* endfor */ - - _outtext("Finished!\n\n"); - return(0); -} - Copied: vireq/trunk/vimkidx.c (from rev 7, vireq/branches/vendor/vkafke/0.10.2/vimkidx.c) =================================================================== --- vireq/trunk/vimkidx.c (rev 0) +++ vireq/trunk/vimkidx.c 2008-12-27 21:38:17 UTC (rev 12) @@ -0,0 +1,764 @@ +#include <string.h> +#include <math.h> +#include <time.h> +#include <ctype.h> +#include <stdio.h> +#include <stdlib.h> +#include <fcntl.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <dirent.h> +#include "vireq.h" +DIR *dirp; +struct dirent *direntp; + +#define _MAX_DRIVE 128 +#define _MAX_DIR 512 +#define _MAX_FNAME 512 +#define _MAX_EXT 512 + + +char dummy_string[512]; +char ausgabe[512]; +char eingabe[4096]; +char dateiname[512]; +FILE *config; +char configname[255]; +char drive[_MAX_DRIVE]; +char path[_MAX_DIR]; +char file[_MAX_FNAME]; +char ext[_MAX_EXT]; + +struct +{ + char drive[3]; + char unc[255]; +} trans[30]; +FILE *tmp; +char *p; +FILE *pfade; +FILE *pfade_c; +FILE *fbbs; +char pfadname[255]; +char pfadcname[255]; +struct +{ + char open; + FILE *f; + char name[255]; +} idx[255]; +struct +{ + char open; + FILE *f; + char name[255]; +} idx_c[255]; +char stattest[512]; +struct stat buf; +char mmcopy=0; +char subdir[6000][255]; +char start_dir[255]; +int status=0; +char filesbbs[255]; +unsigned long ii=0,jj=0,tempzaehl=0; +unsigned long i=0; +char ende=0; +char dirs_name[255]; +unsigned char c; +void strlwr(char *); + +void findfile(char *dir, char *name) +{ + char *p, *q; + char entry[255]; + #ifdef UNIX + ; + #else + strlwr(dir); + #endif + dirp = opendir( dir ); + if( dirp == NULL ) { + printf(">>%s<< \n",dir); + perror( "Error " ); + } else { + direntp = readdir( dirp ); + } +} +void findnext() +{ + direntp=readdir(dirp); +} +void findclose() +{ + closedir(dirp); +} +void strlwr(char *dummy) +{ + char *p; + p=dummy; + while(*p) + { + *p=tolower(*p); + p++; + } +} +void strupr(char *dummy) +{ + char *p; + p=dummy; + while(*p) + { + *p=toupper(*p); + p++; + } +} + +int find_filesbbs(char *pfad) +{ + findfile(pfad,"*"); + if (!dirp) + { + findclose(); + + return(1); + } + while(direntp) + { + #ifdef UNIX + ; + #else + strlwr(direntp->d_name); + #endif + if (strstr("files.bbs",direntp->d_name)) + { + findclose(); + return(0); + } + findnext(); + } + findclose(); + return(1); +} +void oeffne_idx(char c) +{ + + sprintf(idx[c].name,"%svifile%c.idx",path,c); + idx[c].f=fopen(idx[c].name,"wt"); + if (idx[c].f) + idx[c].open=1; + else + { + printf("Fehler beim Oeffnen von "); + printf("%s",idx[c].name); + perror("\nFehler "); + } +} +void oeffne_idx_cdrom(char c) +{ + + sprintf(idx_c[c].name,"%s%svifile%c.idc",drive,path,c); + idx_c[c].f=fopen(idx_c[c].name,"wt"); + if (idx_c[c].f) + idx_c[c].open=1; + else + { + printf("Fehler beim Oeffnen von "); + printf("%s",idx_c[c].name); + perror("\nFehler "); + } +} + +void make_dirlist(char *dir) +{ + + FILE *dirs; + char *p; + + p=strchr(dir,0x0d); + if (p) + *p=0x00; + p=strchr(dir,0x0a); + if (p) + *p=0x00; + + + sprintf(dirs_name,"%sdirlist.dat",drive,path); + dirs=fopen(dirs_name,"wt"); + + sprintf(subdir[0],"%s",dir); + sprintf(start_dir,"%s",subdir[0]); + ii=1; + jj=1; + while(!ende) + { + findfile(start_dir,"*"); + if (direntp) + { + while(direntp) + { + if (ii==5990) + break; + sprintf(stattest,"%s/%s",start_dir,direntp->d_name); + stat(stattest,&buf); + if (!S_ISDIR(buf.st_mode)) + { + findnext(); + continue; + } + if (direntp->d_name[0]!='.') + { + tempzaehl=jj; + tempzaehl--; + sprintf(subdir[ii],"%s/%s",subdir[tempzaehl],direntp->d_name); + ii++; + printf("%u : %u --> %s\r",ii,jj,direntp->d_name); + } + findnext(); + } + findclose(); + } + sprintf(start_dir,"%s",subdir[jj++]); + if (jj > ii) + break; + } + for (jj=0;jj<ii ;jj++ ) { + fputs(subdir[jj],dirs); + fputs("\n",dirs); + } + fclose(dirs); +} + +void _outtext(char *text) +{ + printf(text); + printf("\n"); +} +int main(int argc, char *argv[]) +{ + char *q; + char mmcd=0, force=0; + char param=0; + char pfad[512]; + unsigned int nhandles; + long zaehler=0; + + for (param=0;param<argc ; param++) + { + #ifdef UNIX + ; + #else + strlwr(argv[param]); + #endif + if (!strncmp("-force",argv[param],strlen("-force"))) + force=1; + } + + _outtext("VIMKIDX/Linux V0.07.2(vk)"); + _outtext("Creates all needed indexfiles for VIREQ/Linux"); + _outtext("Use -force to recreate the cdrom-indices"); + + + _outtext("Reading Paths.. "); + _outtext("Path: "); +/* + nhandles=_grow_handles(300); + if (nhandles < 280) + { + _outtext("Ungenugende Anzahl Filehandles, Programmabbruch!"); + exit(200); + } +*/ + + + sprintf(path,"/usr/bin/vireq/"); + + sprintf(pfadname,"%svipath.idx",path); + sprintf(pfadcname,"%svipath.idc",path); + + sprintf(configname,"%svireq.cfg",path); + config=fopen(configname,"r"); + if (!config) + exit(99); + pfade=fopen(pfadname,"wt"); + if (!pfade) { + exit(98); + } + if (force) + { + pfade_c=fopen(pfadcname,"wt"); + if (!pfade_c) { + exit(96); + } + } + while(!feof(config)) + { + fgets(eingabe,(int)255,config); + if (feof(config)) + break; + #ifdef UNIX + ; + #else + strlwr(eingabe); + #endif + p=strchr(eingabe,0x0d); + if (p) *p=0x00; + p=strchr(eingabe,0x0a); + if (p) *p=0x00; + mmcd=0; + mmcopy=0; + if (!strncmp(eingabe,"include-file",strlen("include-file"))) + { + p=strstr(eingabe," -cd"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmcd=1; + } + if (mmcd && !force) + continue; + p=strstr(eingabe," -local"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmcopy=1; + } + p=strchr(eingabe,0x20); + if (!p) + break; + while(*p++==0x20); + p--; + q=strchr(p,0x20); + if (q) + *q=0x00; + tmp=fopen(p,"rt"); + if (!tmp) + continue; + while(!feof(tmp)) + { + fgets(eingabe,(int)255,tmp); + if (feof(tmp)) + break; + p=strchr(eingabe,0x0d); + if (p) *p=0x00; + p=strchr(eingabe,0x0a); + if (p) *p=0x00; + p=strchr(eingabe,0x20); + if (p) *p=0x00; + if (!strlen(eingabe)) + continue; + #ifdef UNIX + ; + #else + strlwr(eingabe); + #endif + if (eingabe[strlen(eingabe)-1]==0x5c) + eingabe[strlen(eingabe)-1]=0x00; + if (mmcopy) + strcat(eingabe," -local"); + if (mmcd) + { + fputs(eingabe,pfade_c); + fputs("\n",pfade_c); + } + else + { + fputs(eingabe,pfade); + fputs("\n",pfade); + } + _outtext(eingabe); + _outtext("\n\n"); + } + fclose(tmp); + continue; + } + if (!strncmp(eingabe,"include-path",strlen("include-path"))) + { + char mmsub=0; + p=strstr(eingabe," -s"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmsub=1; + } + p=strstr(eingabe," -S"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmsub=1; + } + p=strstr(eingabe," -t"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmsub=2; + } + p=strstr(eingabe," -T"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmsub=2; + } + p=strstr(eingabe," -cd"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmcd=1; + } + p=strstr(eingabe," -CD"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmcd=1; + } + p=strstr(eingabe," -local"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmcopy=1; + } + p=strstr(eingabe," -LOCAL"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmcopy=1; + } + if (mmcd && !force) + continue; + p=strchr(eingabe,0x20); + if (!p) + break; + while(*p++==0x20); + p--; + q=strchr(p,0x20); + if (q) + *q=0x00; + if (!mmsub) { + char *q; + q=strchr(p,0x20); + if (q) + *q=0x00; + if (mmcopy) + strcat(p," -local"); + if (mmcd) + { + fputs(p,pfade_c); + fputs("\n",pfade_c); + } + else + { + fputs(p,pfade); + fputs("\n",pfade); + } + _outtext(p); + _outtext("\n\n"); + continue; + } + + make_dirlist(p); + tmp=fopen(dirs_name,"rt"); + if (!tmp) + continue; + while(!feof(tmp)) + { + fgets(eingabe,(int)255,tmp); + if (feof(tmp)) + break; + p=strchr(eingabe,0x0d); + if (p) *p=0x00; + p=strchr(eingabe,0x0a); + if (p) *p=0x00; + #ifdef UNIX + ; + #else + strlwr(eingabe); + #endif + if (eingabe[strlen(eingabe)-1]==0x5c) + eingabe[strlen(eingabe)-1]=0x00; + status=find_filesbbs(eingabe); + if (status==0 || mmsub==2) + { + char *q; + q=strchr(eingabe,0x20); + if (q) + *q=0x00; + if (mmcopy) + strcat(eingabe," -local"); + if (mmcd) + { + fputs(eingabe,pfade_c); + fputs("\n",pfade_c); + } + else + { + fputs(eingabe,pfade); + fputs("\n",pfade); + } + printf("%s\r",eingabe); + } + } + fclose(tmp); + continue; + } + } + fclose(config); + fclose(pfade); + if (force) + fclose(pfade_c); +// Erstellen der VIFILE<x>.IDX + + for (i=0;i<256;i++) { + idx[i].open=0; + } /* endfor */ + _outtext("Reading Files... "); + _outtext("File: "); + + pfade=fopen(pfadname,"rt"); + if (!pfade) { + exit(90); + } + while(!feof(pfade)) + { + zaehler++; + fgets(eingabe,(int)255,pfade); + if (feof(pfade)) + break; + p=strchr(eingabe,0x0d); + if (p) *p=0x00; + p=strchr(eingabe,0x0a); + if (p) *p=0x00; + p=strstr(eingabe," -local"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + } + p=strchr(eingabe,0x20); + if (p) *p=0x00; + sprintf(filesbbs,"%s/files.bbs",eingabe); + fbbs=fopen(filesbbs,"rt"); + if (!fbbs) + { + findfile(eingabe,"*"); + if (direntp) + { + while(direntp) + { + sprintf(stattest,"%s/%s",eingabe,direntp->d_name); + stat(stattest,&buf); + if (S_ISDIR(buf.st_mode)) + { + findnext(); + continue; + } + + p=direntp->d_name; + #ifdef UNIX + ; + #else + strlwr(p); + #endif + c=*p; + if (!(c=='.')) + { + if (!idx[c].open) + oeffne_idx(c); + if (idx[c].open) + { + fprintf(idx[c].f,"%s %lu\n",p,zaehler-1); + } + printf("%s\r",p); + } + findnext(); + } + findclose(); + } + continue; + } + strcpy(pfad,eingabe); + while (!feof(fbbs)) + { + fgets(eingabe,(int)4000,fbbs); + if (feof(fbbs)) + break; + p=strchr(eingabe,0x0d); + if (p) *p=0x00; + p=strchr(eingabe,0x0a); + if (p) *p=0x00; + c=toupper(eingabe[0]); + if (c==0x20 || c==0x0a || c==0x0d || c=='/' || c=='&' || c=='.') + continue; + if (c=='+' || c=='*' || c=='\\' || c==0x00 || c==':') + continue; + c=tolower(c); + #ifdef UNIX + ; + #else + strlwr(eingabe); + #endif + if (!idx[c].open) + oeffne_idx(c); + if (!idx[c].open ) + continue; + p=strchr(eingabe,0x20); + if (p) + *p=0x00; + sprintf(dummy_string,"%s/%s",pfad,eingabe); + if (access(dummy_string,F_OK)) + continue; + fprintf(idx[c].f,"%s %lu\n",eingabe,zaehler-1); + printf("%s\r",eingabe); + } + fclose(fbbs); + } + fclose(pfade); + for (i=0;i<256;i++) { + if (idx[i].open==1) { + fclose(idx[i].f); + } + } /* endfor */ + if (!force) + { + for (i=0;i<256;i++) { + if (idx_c[i].open==1) { + fclose(idx_c[i].f); + } + } /* endfor */ + + _outtext("Finished!\n\n"); + return(0); + } + + pfade_c=fopen(pfadcname,"rt"); + if (!pfade) { + exit(90); + } + zaehler=0; + while(!feof(pfade_c)) + { + zaehler++; + fgets(eingabe,(int)255,pfade_c); + if (feof(pfade_c)) + break; + p=strchr(eingabe,0x0d); + if (p) *p=0x00; + p=strchr(eingabe,0x0a); + if (p) *p=0x00; + p=strstr(eingabe," -local"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + } + p=strchr(eingabe,0x20); + if (p) *p=0x00; + sprintf(filesbbs,"%s/files.bbs",eingabe); + fbbs=fopen(filesbbs,"rt"); + if (!fbbs) + { + findfile(eingabe,"*"); + if (direntp) + { + while(direntp) + { + p=direntp->d_name; + #ifdef UNIX + ; + #else + strlwr(p); + #endif + c=*p; + if (!(c=='.')) + { + if (!idx_c[c].open) + oeffne_idx_cdrom(c); + if (idx_c[c].open) + { + fprintf(idx_c[c].f,"%s %lu\n",p,zaehler-1); + } + _outtext(p); + _outtext("\n\n"); + } + findnext(); + } + findclose(); + } + continue; + } + while (!feof(fbbs)) + { + fgets(eingabe,(int)4000,fbbs); + if (feof(fbbs)) + break; + p=strchr(eingabe,0x0d); + if (p) *p=0x00; + p=strchr(eingabe,0x0a); + if (p) *p=0x00; + c=toupper(eingabe[0]); + if (c==0x20 || c==0x0a || c==0x0d || c=='/' || c=='&' || c=='.') + continue; + if (c=='+' || c=='*' || c=='\\' || c==0x00 || c==':') + continue; + #ifdef UNIX + ; + #else + strlwr(eingabe); + #endif + c=tolower(c); + if (!idx_c[c].open) + oeffne_idx_cdrom(c); + if (!idx_c[c].open ) + continue; + p=strchr(eingabe,0x20); + if (p) + *p=0x00; + fprintf(idx_c[c].f,"%s %lu\n",eingabe,zaehler-1); + _outtext(eingabe); + _outtext("\n\n"); + } + fclose(fbbs); + } + fclose(pfade_c); + + for (i=0;i<256;i++) { + if (idx_c[i].open==1) { + fclose(idx_c[i].f); + } + } /* endfor */ + + _outtext("Finished!\n\n"); + return(0); +} + Deleted: vireq/trunk/vipath.idx =================================================================== --- vireq/trunk/vipath.idx 2008-12-27 20:32:27 UTC (rev 11) +++ vireq/trunk/vipath.idx 2008-12-27 21:38:17 UTC (rev 12) @@ -1,706 +0,0 @@ -/mnt/hdc5/filebase -/mnt/hdc5/filebase/3com -/mnt/hdc5/filebase/ad -/mnt/hdc5/filebase/backbone -/mnt/hdc5/filebase/ct -/mnt/hdc5/filebase/abbs -/mnt/hdc5/filebase/echostat -/mnt/hdc5/filebase/fido -/mnt/hdc5/filebase/files -/mnt/hdc5/filebase/ess688 -/mnt/hdc5/filebase/fastecho -/mnt/hdc5/filebase/cook -/mnt/hdc5/filebase/ftsc -/mnt/hdc5/filebase/imail -/mnt/hdc5/filebase/novell -/mnt/hdc5/filebase/nw_info -/mnt/hdc5/filebase/pdn -/mnt/hdc5/filebase/fnews -/mnt/hdc5/filebase/t98_geb -/mnt/hdc5/filebase/t98_prev -/mnt/hdc5/filebase/t98_upd -/mnt/hdc5/filebase/t98_xl -/mnt/hdc5/filebase/tele98 -/mnt/hdc5/filebase/tgm -/mnt/hdc5/filebase/usr -/mnt/hdc5/filebase/wos -/mnt/hdc5/filebase/funnode -/mnt/hdc5/filebase/gernet -/mnt/hdc5/filebase/logs -/mnt/hdc5/filebase/isdn.all -/mnt/hdc5/filebase/pfd -/mnt/hdc5/filebase/isdn.dif -/mnt/hdc5/filebase/z7 -/mnt/hdc5/filebase/isdn.lis -/mnt/hdc5/filebase/isdn_pg_ -/mnt/hdc5/filebase/isdn_pnt -/mnt/hdc5/filebase/isdn_poi -/mnt/hdc5/filebase/net246 -/mnt/hdc5/filebase/network -/mnt/hdc5/filebase/local -/mnt/hdc5/filebase/nina -/mnt/hdc5/filebase/pascal -/mnt/hdc5/filebase/pconline -/mnt/hdc5/filebase/recliste -/mnt/hdc5/filebase/pc -/mnt/hdc5/filebase/rules24 -/mnt/hdc5/filebase/sf_node -/mnt/hdc5/filebase/sfnet -/mnt/hdc5/filebase/treiber -/mnt/hdc5/filebase/virnet -/mnt/hdc5/filebase/swf3 -/mnt/hdc5/filebase/vnet -/mnt/hdc5/filebase/txt-fil -/mnt/hdc5/filebase/voicelst -/mnt/hdc5/filebase/xp -/mnt/hdc5/filebase/zone7 -/mnt/hdc5/filebase/wheel -/mnt/hdc5/filebase/24000_er -/mnt/hdc5/filebase/ads -/mnt/hdc5/filebase/amiga -/mnt/hdc5/filebase/trek -/mnt/hdc5/filebase/bb.are -/mnt/hdc5/filebase/bb_ansi -/mnt/hdc5/filebase/bb_art -/mnt/hdc5/filebase/concord -/mnt/hdc5/filebase/echolist -/mnt/hdc5/filebase/fecvbeta -/mnt/hdc5/filebase/filebone -/mnt/hdc5/filebase/fstebeta -/mnt/hdc5/filebase/funfiles -/mnt/hdc5/filebase/funnet -/mnt/hdc5/filebase/funpoint -/mnt/hdc5/filebase/gamezone -/mnt/hdc5/filebase/gnews -/mnt/hdc5/filebase/textnet -/mnt/hdc5/filebase/isdn_ami -/mnt/hdc5/filebase/isdn.drv -/mnt/hdc5/filebase/isdn_drv -/mnt/hdc5/filebase/isdn_drv.000 -/mnt/hdc5/filebase/isdn_prg -/mnt/hdc5/filebase/isdn.pro -/mnt/hdc5/filebase/isdn.prg -/mnt/hdc5/filebase/isdn_rom -/mnt/hdc5/filebase/isdn_rom.000 -/mnt/hdc5/filebase/isdn_sup.001 -/mnt/hdc5/filebase/isdn -/mnt/hdc5/filebase/isdn_sup.002 -/mnt/hdc5/filebase/isdn_sup.000 -/mnt/hdc5/filebase/isdn_sup -/mnt/hdc5/filebase/isdn_tk_ -/mnt/hdc5/filebase/isdn_tk_.001 -/mnt/hdc5/filebase/isdn_tk_.000 -/mnt/hdc5/filebase/mp_sdemo -/mnt/hdc5/filebase/mp_sdisk -/mnt/hdc5/filebase/mp_smisc -/mnt/hdc5/filebase/mp_smod1 -/mnt/hdc5/filebase/mp_smod2 -/mnt/hdc5/filebase/mp_sutil -/mnt/hdc5/filebase/oa_admin -/mnt/hdc5/filebase/oa_ascii -/mnt/hdc5/filebase/oa_demo -/mnt/hdc5/filebase/oa_dos_s -/mnt/hdc5/filebase/oa_dos_v -/mnt/hdc5/filebase/oa_d_cdr -/mnt/hdc5/filebase/oa_d_mme -/mnt/hdc5/filebase/oa -/mnt/hdc5/filebase/oa_mmedi -/mnt/hdc5/filebase/oa_os2_s -/mnt/hdc5/filebase/oa_os2_v -/mnt/hdc5/filebase/oa_o_cdr -/mnt/hdc5/filebase/oa_o_mme -/mnt/hdc5/filebase/oa_sourc -/mnt/hdc5/filebase/oa_stool -/mnt/hdc5/filebase/oa_vtool -/mnt/hdc5/filebase/oa_w95_s -/mnt/hdc5/filebase/oa_w95_v -/mnt/hdc5/filebase/oa_win_s -/mnt/hdc5/filebase/oa_win_v -/mnt/hdc5/filebase/oa_w_cdr -/mnt/hdc5/filebase/oa_w_mme -/mnt/hdc5/filebase/proboard -/mnt/hdc5/filebase/pbasic -/mnt/hdc5/filebase/pb_beta -/mnt/hdc5/filebase/html -/mnt/hdc5/filebase/prg_c## -/mnt/hdc5/filebase/prg_nl -/mnt/hdc5/filebase/prg_pas -/mnt/hdc5/filebase/prg_txt -/mnt/hdc5/filebase/pktbeta -/mnt/hdc5/filebase/rad_mail -/mnt/hdc5/filebase/rad_util -/mnt/hdc5/filebase/request -/mnt/hdc5/filebase/sdc_awe -/mnt/hdc5/filebase/sdc_dig -/mnt/hdc5/filebase/sdc_midi -/mnt/hdc5/filebase/sdc_mtm -/mnt/hdc5/filebase/source -/mnt/hdc5/filebase/stars -/mnt/hdc5/filebase/tgm_midi -/mnt/hdc5/filebase/tgm_vdem -/mnt/hdc5/filebase/timbeta -/mnt/hdc5/filebase/tnt_bbs -/mnt/hdc5/filebase/tnt_dfue -/mnt/hdc5/filebase/tnt_dos -/mnt/hdc5/filebase/toolnet -/mnt/hdc5/filebase/tnt_win -/mnt/hdc5/filebase/vir_loc -/mnt/hdc5/filebase/celeb -/mnt/hdc5/filebase/linux -/mnt/hdc5/filebase/beta -/mnt/hdc5/filebase/bilder_von_armin -/mnt/hdc5/filebase/ger -/mnt/hdc5/filebase/index -/mnt/hdc5/filebase/lord_dev -/mnt/hdc5/filebase/lord_igm -/mnt/hdc5/filebase/lord_mnu -/mnt/hdc5/filebase/mag -/mnt/hdc5/filebase/man_on_the_line -/mnt/hdc5/filebase/aminet -/mnt/hdc5/filebase/mucban01 -/mnt/hdc5/filebase/mucnov04 -/mnt/hdc5/filebase/mucnov08 -/mnt/hdc5/filebase/mucnov09 -/mnt/hdc5/filebase/mucnov11 -/mnt/hdc5/filebase/mucnov13 -/mnt/hdc5/filebase/mucnov14 -/mnt/hdc5/filebase/puzzle -/mnt/hdc5/filebase/space -/mnt/hdc5/filebase/t-mail -/mnt/hdc5/filebase/sysop -/mnt/hdc5/filebase/upload -/mnt/hdc5/filebase/sdc -/mnt/hdc5/filebase/games -/mnt/hdc5/filebase/isdn_pg_.000 -/mnt/hdc5/filebase/mucnov02 -/mnt/hdc5/filebase/skcwork.000 -/mnt/hdc5/filebase/3com/nic -/mnt/hdc5/filebase/ad/windk -/mnt/hdc5/filebase/ad/winap -/mnt/hdc5/filebase/ad/vert -/mnt/hdc5/filebase/ad/prg_tool -/mnt/hdc5/filebase/ad/os2app -/mnt/hdc5/filebase/ad/graph -/mnt/hdc5/filebase/ad/engmt -/mnt/hdc5/filebase/ad/educ -/mnt/hdc5/filebase/ad/dosut -/mnt/hdc5/filebase/ad/dosap -/mnt/hdc5/filebase/ad/comms -/mnt/hdc5/filebase/ad/busi -/mnt/hdc5/filebase/ad/winut -/mnt/hdc5/filebase/ct/allg -/mnt/hdc5/filebase/ct/in -/mnt/hdc5/filebase/ct/ad -/mnt/hdc5/filebase/fido/revival -/mnt/hdc5/filebase/fido/wissen -/mnt/hdc5/filebase/fido/wwb -/mnt/hdc5/filebase/fido/wwb_fwd -/mnt/hdc5/filebase/fido/maxplanc -/mnt/hdc5/filebase/files/imail -/mnt/hdc5/filebase/cook/prg_son -/mnt/hdc5/filebase/cook/prg_os2 -/mnt/hdc5/filebase/cook/prg_dos -/mnt/hdc5/filebase/cook/mm_rez -/mnt/hdc5/filebase/cook/so_rez -/mnt/hdc5/filebase/ftsc/tmp -/mnt/hdc5/filebase/imail/beta -/mnt/hdc5/filebase/imail/diffs -/mnt/hdc5/filebase/novell/usr_01 -/mnt/hdc5/filebase/novell/mucnovus -/mnt/hdc5/filebase/pdn/vbwin -/mnt/hdc5/filebase/pdn/unix -/mnt/hdc5/filebase/pdn/tech -/mnt/hdc5/filebase/pdn/os2 -/mnt/hdc5/filebase/pdn/news -/mnt/hdc5/filebase/pdn/lang -/mnt/hdc5/filebase/pdn/cee -/mnt/hdc5/filebase/pdn/basic -/mnt/hdc5/filebase/pdn/asm -/mnt/hdc5/filebase/pdn/winnt -/mnt/hdc5/filebase/tgm/xms3 -/mnt/hdc5/filebase/usr/isdn -/mnt/hdc5/filebase/usr/modems -/mnt/hdc5/filebase/wos/m_disk -/mnt/hdc5/filebase/gernet/ix -/mnt/hdc5/filebase/gernet/in_swt -/mnt/hdc5/filebase/gernet/gerpoint -/mnt/hdc5/filebase/gernet/gernet_k -/mnt/hdc5/filebase/gernet/gernet -/mnt/hdc5/filebase/gernet/pci_corn -/mnt/hdc5/filebase/gernet/gerpoint.000 -/mnt/hdc5/filebase/logs/old -/mnt/hdc5/filebase/pfd/sys -/mnt/hdc5/filebase/pfd/pfd -/mnt/hdc5/filebase/pfd/dev -/mnt/hdc5/filebase/pfd/app -/mnt/hdc5/filebase/pfd/tgm -/mnt/hdc5/filebase/pfd/txt -/mnt/hdc5/filebase/pfd/games -/mnt/hdc5/filebase/z7/nodediff -/mnt/hdc5/filebase/z7/info -/mnt/hdc5/filebase/z7/nodelist -/mnt/hdc5/filebase/isdn.lis/tmp -/mnt/hdc5/filebase/local/pics -/mnt/hdc5/filebase/local/region24 -/mnt/hdc5/filebase/nina/nodelist -/mnt/hdc5/filebase/pascal/ppoint -/mnt/hdc5/filebase/pascal/list -/mnt/hdc5/filebase/pascal/files -/mnt/hdc5/filebase/pascal/diff -/mnt/hdc5/filebase/pascal/delphi -/mnt/hdc5/filebase/pascal/allg -/mnt/hdc5/filebase/pascal/tools -/mnt/hdc5/filebase/pconline/node -/mnt/hdc5/filebase/pconline/info -/mnt/hdc5/filebase/pconline/plis -/mnt/hdc5/filebase/recliste/tmp -/mnt/hdc5/filebase/pc/bbsu -/mnt/hdc5/filebase/sfnet/point3d -/mnt/hdc5/filebase/sfnet/nodediff -/mnt/hdc5/filebase/sfnet/kommerz -/mnt/hdc5/filebase/sfnet/point4d -/mnt/hdc5/filebase/treiber/w95_snd -/mnt/hdc5/filebase/treiber/w95_gfx -/mnt/hdc5/filebase/treiber/vir_nl -/mnt/hdc5/filebase/treiber/usr_info -/mnt/hdc5/filebase/treiber/t_win_so -/mnt/hdc5/filebase/treiber/t_win_mo -/mnt/hdc5/filebase/treiber/t_win_is -/mnt/hdc5/filebase/treiber/t_win_gr -/mnt/hdc5/filebase/treiber/t_w95_sc -/mnt/hdc5/filebase/treiber/t_w95_mo -/mnt/hdc5/filebase/treiber/t_w95_dr -/mnt/hdc5/filebase/treiber/t_w95_cd -/mnt/hdc5/filebase/treiber/t_tool_t -/mnt/hdc5/filebase/treiber/t_tool_p -/mnt/hdc5/filebase/treiber/t_nt4_so -/mnt/hdc5/filebase/treiber/t_nt4_mo -/mnt/hdc5/filebase/treiber/t_nt3_gr -/mnt/hdc5/filebase/treiber/t_node -/mnt/hdc5/filebase/treiber/t_dos_cd -/mnt/hdc5/filebase/treiber/t_bios_b -/mnt/hdc5/filebase/treiber/tornado -/mnt/hdc5/filebase/treiber/tng_tmnd -/mnt/hdc5/filebase/treiber/pfd_tgm_.003 -/mnt/hdc5/filebase/treiber/im_beta -/mnt/hdc5/filebase/treiber/g_word_g -/mnt/hdc5/filebase/treiber/g_idsoft.000 -/mnt/hdc5/filebase/treiber/g_idsoft -/mnt/hdc5/filebase/treiber/g_fun_ge -/mnt/hdc5/filebase/treiber/g_fun -/mnt/hdc5/filebase/treiber/g_emul_u -/mnt/hdc5/filebase/treiber/g_emul_s -/mnt/hdc5/filebase/treiber/g_emul_o -/mnt/hdc5/filebase/treiber/g_emul_m -/mnt/hdc5/filebase/treiber/g_emul_l -/mnt/hdc5/filebase/treiber/g_emul_b -/mnt/hdc5/filebase/treiber/g_driver -/mnt/hdc5/filebase/treiber/g_c&c_ad -/mnt/hdc5/filebase/treiber/g_blizza.001 -/mnt/hdc5/filebase/treiber/g_blizza.000 -/mnt/hdc5/filebase/treiber/g_blizza -/mnt/hdc5/filebase/treiber/g_beos -/mnt/hdc5/filebase/treiber/24000zip -/mnt/hdc5/filebase/treiber/win_cd -/mnt/hdc5/filebase/virnet/w16 -/mnt/hdc5/filebase/virnet/os2 -/mnt/hdc5/filebase/virnet/node -/mnt/hdc5/filebase/virnet/misc -/mnt/hdc5/filebase/virnet/ger -/mnt/hdc5/filebase/virnet/dos -/mnt/hdc5/filebase/virnet/w32 -/mnt/hdc5/filebase/virnet/netware -/mnt/hdc5/filebase/swf3/wave -/mnt/hdc5/filebase/swf3/comix -/mnt/hdc5/filebase/vnet/diff -/mnt/hdc5/filebase/vnet/list -/mnt/hdc5/filebase/xp/misc -/mnt/hdc5/filebase/xp/tools -/mnt/hdc5/filebase/zone7/nodelist -/mnt/hdc5/filebase/wheel/german -/mnt/hdc5/filebase/ads/arexx -/mnt/hdc5/filebase/amiga/artg -/mnt/hdc5/filebase/trek/t_d_ufp -/mnt/hdc5/filebase/trek/t_d_stry -/mnt/hdc5/filebase/trek/t_d_snd -/mnt/hdc5/filebase/trek/t_d_misc -/mnt/hdc5/filebase/trek/t_d_gfx -/mnt/hdc5/filebase/trek/t_d_fndm -/mnt/hdc5/filebase/trek/t_d_fcts -/mnt/hdc5/filebase/trek/tng_node -/mnt/hdc5/filebase/trek/tng_info -/mnt/hdc5/filebase/trek/tic -/mnt/hdc5/filebase/trek/snd_voy -/mnt/hdc5/filebase/trek/snd_tos -/mnt/hdc5/filebase/trek/snd_tng -/mnt/hdc5/filebase/trek/snd_dsn -/mnt/hdc5/filebase/trek/gfx_voy -/mnt/hdc5/filebase/trek/movies -/mnt/hdc5/filebase/trek/gfx_trek -/mnt/hdc5/filebase/trek/gfx_shp -/mnt/hdc5/filebase/trek/gfx_old -/mnt/hdc5/filebase/trek/gfx_dsn -/mnt/hdc5/filebase/trek/d_adult -/mnt/hdc5/filebase/trek/db_upd -/mnt/hdc5/filebase/trek/b5_snd -/mnt/hdc5/filebase/trek/b5_gfx -/mnt/hdc5/filebase/trek/amigad -/mnt/hdc5/filebase/trek/bab5 -/mnt/hdc5/filebase/trek/t_d_util -/mnt/hdc5/filebase/concord/dos -/mnt/hdc5/filebase/gamezone/info -/mnt/hdc5/filebase/textnet/ie_books -/mnt/hdc5/filebase/isdn/isdn_sup.eeh -/mnt/hdc5/filebase/oa/info -/mnt/hdc5/filebase/proboard/pb-arj -/mnt/hdc5/filebase/html/node -/mnt/hdc5/filebase/html/icon -/mnt/hdc5/filebase/html/home -/mnt/hdc5/filebase/html/point -/mnt/hdc5/filebase/stars/a -/mnt/hdc5/filebase/toolnet/games -/mnt/hdc5/filebase/celeb/tv-mo-us -/mnt/hdc5/filebase/celeb/texte -/mnt/hdc5/filebase/celeb/sport -/mnt/hdc5/filebase/celeb/soaps -/mnt/hdc5/filebase/celeb/scans_mi -/mnt/hdc5/filebase/celeb/scans_cb -/mnt/hdc5/filebase/celeb/sampler -/mnt/hdc5/filebase/celeb/rar_pics -/mnt/hdc5/filebase/celeb/points -/mnt/hdc5/filebase/celeb/playmate -/mnt/hdc5/filebase/celeb/papara -/mnt/hdc5/filebase/celeb/oldies -/mnt/hdc5/filebase/celeb/not4all -/mnt/hdc5/filebase/celeb/node -/mnt/hdc5/filebase/celeb/musik -/mnt/hdc5/filebase/celeb/models2 -/mnt/hdc5/filebase/celeb/mixed -/mnt/hdc5/filebase/celeb/kino -/mnt/hdc5/filebase/celeb/kabinett -/mnt/hdc5/filebase/celeb/infos -/mnt/hdc5/filebase/celeb/hbsnews -/mnt/hdc5/filebase/celeb/fitness -/mnt/hdc5/filebase/celeb/ever -/mnt/hdc5/filebase/celeb/auto -/mnt/hdc5/filebase/celeb/atzi.0 -/mnt/hdc5/filebase/celeb/atzi -/mnt/hdc5/filebase/celeb/asian -/mnt/hdc5/filebase/celeb/6stars -/mnt/hdc5/filebase/celeb/tv-movie -/mnt/hdc5/filebase/linux/source -/mnt/hdc5/filebase/linux/system -/mnt/hdc5/filebase/beta/im -/mnt/hdc5/filebase/ger/updates -/mnt/hdc5/filebase/aminet/text -/mnt/hdc5/filebase/aminet/mus -/mnt/hdc5/filebase/aminet/misc -/mnt/hdc5/filebase/aminet/hard -/mnt/hdc5/filebase/aminet/gfx -/mnt/hdc5/filebase/aminet/game -/mnt/hdc5/filebase/aminet/docs -/mnt/hdc5/filebase/aminet/disk -/mnt/hdc5/filebase/aminet/dev -/mnt/hdc5/filebase/aminet/comm -/mnt/hdc5/filebase/aminet/biz -/mnt/hdc5/filebase/aminet/util -/mnt/hdc5/filebase/t-mail/beta-nt -/mnt/hdc5/filebase/t-mail/beta -/mnt/hdc5/filebase/t-mail/alpha -/mnt/hdc5/filebase/t-mail/allg -/mnt/hdc5/filebase/t-mail/comm -/mnt/hdc5/filebase/t-mail/beta-os2 -/mnt/hdc5/filebase/sysop/tosser -/mnt/hdc5/filebase/sysop/ticker -/mnt/hdc5/filebase/sysop/nodelist -/mnt/hdc5/filebase/sysop/infos -/mnt/hdc5/filebase/sysop/ezy -/mnt/hdc5/filebase/sysop/bbs_allg -/mnt/hdc5/filebase/sysop/author -/mnt/hdc5/filebase/sysop/versch -/mnt/hdc5/filebase/sdc/xm -/mnt/hdc5/filebase/sdc/util -/mnt/hdc5/filebase/sdc/s3m -/mnt/hdc5/filebase/sdc/othr -/mnt/hdc5/filebase/sdc/mod -/mnt/hdc5/filebase/sdc/gus -/mnt/hdc5/filebase/sdc/dmf -/mnt/hdc5/filebase/sdc/demo -/mnt/hdc5/filebase/games/bigdemo -/mnt/hdc5/filebase/games/sh.add -/mnt/hdc5/filebase/games/sh -/mnt/hdc5/filebase/games/big.alg -/mnt/hdc5/filebase/games/word -/mnt/hdc5/filebase/games/win_nt -/mnt/hdc5/filebase/games/win95 -/mnt/hdc5/filebase/games/win -/mnt/hdc5/filebase/games/werbe -/mnt/hdc5/filebase/games/warcraft -/mnt/hdc5/filebase/games/vpl -/mnt/hdc5/filebase/games/uhs -/mnt/hdc5/filebase/games/train -/mnt/hdc5/filebase/games/trade -/mnt/hdc5/filebase/games/top100 -/mnt/hdc5/filebase/games/tools -/mnt/hdc5/filebase/games/theme -/mnt/hdc5/filebase/games/tetris -/mnt/hdc5/filebase/games/sundry -/mnt/hdc5/filebase/games/strat -/mnt/hdc5/filebase/games/updates.big -/mnt/hdc5/filebase/games/starcraf.add -/mnt/hdc5/filebase/games/spx -/mnt/hdc5/filebase/games/sport.jn -/mnt/hdc5/filebase/games/sport -/mnt/hdc5/filebase/games/update -/mnt/hdc5/filebase/games/solve -/mnt/hdc5/filebase/games/slot -/mnt/hdc5/filebase/games/simul -/mnt/hdc5/filebase/games/shot -/mnt/hdc5/filebase/games/saved -/mnt/hdc5/filebase/games/rott.add -/mnt/hdc5/filebase/games/rogue -/mnt/hdc5/filebase/games/review -/mnt/hdc5/filebase/games/quake -/mnt/hdc5/filebase/games/puzzle -/mnt/hdc5/filebase/games/prog -/mnt/hdc5/filebase/games/prod -/mnt/hdc5/filebase/games/prev -/mnt/hdc5/filebase/games/post -/mnt/hdc5/filebase/games/os2 -/mnt/hdc5/filebase/games/online -/mnt/hdc5/filebase/games/node -/mnt/hdc5/filebase/games/net -/mnt/hdc5/filebase/games/miscad -/mnt/hdc5/filebase/games/misc -/mnt/hdc5/filebase/games/mag -/mnt/hdc5/filebase/games/mac -/mnt/hdc5/filebase/games/lotto -/mnt/hdc5/filebase/games/linux -/mnt/hdc5/filebase/games/level -/mnt/hdc5/filebase/games/lern -/mnt/hdc5/filebase/games/kids -/mnt/hdc5/filebase/games/intern -/mnt/hdc5/filebase/games/inter -/mnt/hdc5/filebase/games/info -/mnt/hdc5/filebase/games/index -/mnt/hdc5/filebase/games/idsoft_a -/mnt/hdc5/filebase/games/idsoft -/mnt/hdc5/filebase/games/hexen.add -/mnt/hdc5/filebase/games/hexen -/mnt/hdc5/filebase/games/heretic.add -/mnt/hdc5/filebase/games/heret -/mnt/hdc5/filebase/games/g_c&c -/mnt/hdc5/filebase/games/g_bre-fe -/mnt/hdc5/filebase/games/groups -/mnt/hdc5/filebase/games/ger -/mnt/hdc5/filebase/games/fun -/mnt/hdc5/filebase/games/fly -/mnt/hdc5/filebase/games/flip -/mnt/hdc5/filebase/games/faq -/mnt/hdc5/filebase/games/eros -/mnt/hdc5/filebase/games/epic_a -/mnt/hdc5/filebase/games/epic -/mnt/hdc5/filebase/games/emul.gam -/mnt/hdc5/filebase/games/emul -/mnt/hdc5/filebase/games/educ -/mnt/hdc5/filebase/games/duke3d.add -/mnt/hdc5/filebase/games/driver -/mnt/hdc5/filebase/games/dosdemo -/mnt/hdc5/filebase/games/doom2.add -/mnt/hdc5/filebase/games/doom2 -/mnt/hdc5/filebase/games/doom.add -/mnt/hdc5/filebase/games/doom -/mnt/hdc5/filebase/games/diff -/mnt/hdc5/filebase/games/dice -/mnt/hdc5/filebase/games/desc -/mnt/hdc5/filebase/games/denk -/mnt/hdc5/filebase/games/demo -/mnt/hdc5/filebase/games/darkforc -/mnt/hdc5/filebase/games/console -/mnt/hdc5/filebase/games/trivia -/mnt/hdc5/filebase/games/civil_a -/mnt/hdc5/filebase/games/civil -/mnt/hdc5/filebase/games/bigdem.win -/mnt/hdc5/filebase/games/action -/mnt/hdc5/filebase/games/cheat -/mnt/hdc5/filebase/games/cdrom -/mnt/hdc5/filebase/games/casino -/mnt/hdc5/filebase/games/card -/mnt/hdc5/filebase/games/3dfx -/mnt/hdc5/filebase/games/bugfix -/mnt/hdc5/filebase/games/board -/mnt/hdc5/filebase/games/blood.add -/mnt/hdc5/filebase/games/blodd -/mnt/hdc5/filebase/games/big -/mnt/hdc5/filebase/games/bench -/mnt/hdc5/filebase/games/atari -/mnt/hdc5/filebase/games/apogee_a -/mnt/hdc5/filebase/games/apogee -/mnt/hdc5/filebase/games/ami_emul -/mnt/hdc5/filebase/games/amiga -/mnt/hdc5/filebase/games/air -/mnt/hdc5/filebase/games/advent -/mnt/hdc5/filebase/games/addon -/mnt/hdc5/filebase/games/w95demo -/mnt/hdc5/filebase/games/quake.add -/mnt/hdc5/filebase/skcwork.000/doc -/mnt/hdc5/filebase/fido/wissen/dateien -/mnt/hdc5/filebase/fido/wwb/tmp -/mnt/hdc5/filebase/imail/beta/tmp -/mnt/hdc5/filebase/pfd/sys/osys -/mnt/hdc5/filebase/pfd/sys/hacks -/mnt/hdc5/filebase/pfd/sys/updates -/mnt/hdc5/filebase/pfd/sys/tools -/mnt/hdc5/filebase/pfd/pfd/info -/mnt/h... [truncated message content] |
From: <ja...@us...> - 2008-12-27 21:57:54
|
Revision: 13 http://ftnapps.svn.sourceforge.net/ftnapps/?rev=13&view=rev Author: jame Date: 2008-12-27 21:53:20 +0000 (Sat, 27 Dec 2008) Log Message: ----------- Merge vireq v0.10.5 to trunk. Added Paths: ----------- vireq/trunk/COPYING vireq/trunk/file_id.diz vireq/trunk/vimkidx.c vireq/trunk/vireq.c vireq/trunk/vireq.cfg vireq/trunk/vireq.dok vireq/trunk/vireq.h vireq/trunk/vireq.pwd vireq/trunk/whatsnew Removed Paths: ------------- vireq/trunk/COPYING vireq/trunk/file_id.diz vireq/trunk/vimkidx.c vireq/trunk/vireq.c vireq/trunk/vireq.cfg vireq/trunk/vireq.dok vireq/trunk/vireq.h vireq/trunk/vireq.pwd vireq/trunk/whatsnew Deleted: vireq/trunk/COPYING =================================================================== --- vireq/trunk/COPYING 2008-12-27 21:38:17 UTC (rev 12) +++ vireq/trunk/COPYING 2008-12-27 21:53:20 UTC (rev 13) @@ -1,72 +0,0 @@ -From: Vo...@im... -Subject: Re: License for ViReq? -Date: October 3, 2008 4:41:50 AM GMT-04:00 -To: ja...@ro... -Cc: vi...@ka... -Reply-To: Vo...@im... - -Hello Robert, - ->>> What is the License on the source? Can find no mention of ->>> that in any of the files... ->> ->> Volker is still a member of fidonet (2:246/2098), please ask him. ->> He's also reachable via eMail at Vo...@im... ->> ->> To my knowledge he has given ViReq to the public domain, as far as ->> you leave his name in the source code/dokumentation intact. - -> Is that what it is? Public domain? Or GPL? Because it's not -> mentioned in any of the files that I could find... - -You may do with the source code / program whatever you want, as long as the -original author (me) is mentioned. - - ->>> (I was thinking about packaging it for Debian/Ubuntu...) ->> ->> Good idea. I think he would agree to that - but please ask him ->> yourself. - -> I do have an initial package that does build, but of course can't -> distribute it without a license that says I can do so... - -Feel free to distribute and modify the program / source as you wish. - --- -Best regards, -Volker - -===================================================================================== -From: ja...@ro... -Subject: License for ViReq? -Date: October 2, 2008 6:23:56 PM GMT-04:00 -To: Vo...@im... - -On Wed, 01 Oct 2008 17:25:46 -0400, Viktor Kafke wrote in the BinkD echo: - ->> What is the License on the source? Can find no mention of that in ->> any of the files... -> -> Volker is still a member of fidonet (2:246/2098), please ask him. He's -> also reachable via eMail at Vo...@im... -> -> To my knowledge he has given ViReq to the public domain, as far as you -> leave his name in the source code/dokumentation intact. - - Is that what it is? Public domain? Or GPL? Because it's not mentioned -in any of the files that I could find... - - ->> (I was thinking about packaging it for Debian/Ubuntu...) -> -> Good idea. I think he would agree to that - but please ask him yourself. - - I do have an initial package that does build, but of course can't -distribute it without a license that says I can do so... - - - -Robert James Clay -j...@ro... - \ No newline at end of file Copied: vireq/trunk/COPYING (from rev 8, vireq/branches/vendor/vkafke/0.10.5/COPYING) =================================================================== --- vireq/trunk/COPYING (rev 0) +++ vireq/trunk/COPYING 2008-12-27 21:53:20 UTC (rev 13) @@ -0,0 +1,72 @@ +From: Vo...@im... +Subject: Re: License for ViReq? +Date: October 3, 2008 4:41:50 AM GMT-04:00 +To: ja...@ro... +Cc: vi...@ka... +Reply-To: Vo...@im... + +Hello Robert, + +>>> What is the License on the source? Can find no mention of +>>> that in any of the files... +>> +>> Volker is still a member of fidonet (2:246/2098), please ask him. +>> He's also reachable via eMail at Vo...@im... +>> +>> To my knowledge he has given ViReq to the public domain, as far as +>> you leave his name in the source code/dokumentation intact. + +> Is that what it is? Public domain? Or GPL? Because it's not +> mentioned in any of the files that I could find... + +You may do with the source code / program whatever you want, as long as the +original author (me) is mentioned. + + +>>> (I was thinking about packaging it for Debian/Ubuntu...) +>> +>> Good idea. I think he would agree to that - but please ask him +>> yourself. + +> I do have an initial package that does build, but of course can't +> distribute it without a license that says I can do so... + +Feel free to distribute and modify the program / source as you wish. + +-- +Best regards, +Volker + +===================================================================================== +From: ja...@ro... +Subject: License for ViReq? +Date: October 2, 2008 6:23:56 PM GMT-04:00 +To: Vo...@im... + +On Wed, 01 Oct 2008 17:25:46 -0400, Viktor Kafke wrote in the BinkD echo: + +>> What is the License on the source? Can find no mention of that in +>> any of the files... +> +> Volker is still a member of fidonet (2:246/2098), please ask him. He's +> also reachable via eMail at Vo...@im... +> +> To my knowledge he has given ViReq to the public domain, as far as you +> leave his name in the source code/dokumentation intact. + + Is that what it is? Public domain? Or GPL? Because it's not mentioned +in any of the files that I could find... + + +>> (I was thinking about packaging it for Debian/Ubuntu...) +> +> Good idea. I think he would agree to that - but please ask him yourself. + + I do have an initial package that does build, but of course can't +distribute it without a license that says I can do so... + + + +Robert James Clay +j...@ro... + \ No newline at end of file Deleted: vireq/trunk/file_id.diz =================================================================== --- vireq/trunk/file_id.diz 2008-12-27 21:38:17 UTC (rev 12) +++ vireq/trunk/file_id.diz 2008-12-27 21:53:20 UTC (rev 13) @@ -1,7 +0,0 @@ -VIREQ/X V0.10.2(vk) -Filerequestprozessor fuer Linux --Arbeitet mit SRIF gemaess FSC-0086.001 --Benoetigt keine Filebase, auch keine - FILES.BBS - (c) 1998-2001 by Volker Imre - Kleine Patches by Viktor Kafke Copied: vireq/trunk/file_id.diz (from rev 8, vireq/branches/vendor/vkafke/0.10.5/file_id.diz) =================================================================== --- vireq/trunk/file_id.diz (rev 0) +++ vireq/trunk/file_id.diz 2008-12-27 21:53:20 UTC (rev 13) @@ -0,0 +1,7 @@ +VIREQ/X V0.10.5(vk) +Filerequestprozessor fuer Linux +-Arbeitet mit SRIF gemaess FSC-0086.001 +-Benoetigt keine Filebase, auch keine + FILES.BBS + (c) 1998-2001 by Volker Imre + Kleine Patches by Viktor Kafke Deleted: vireq/trunk/vimkidx.c =================================================================== --- vireq/trunk/vimkidx.c 2008-12-27 21:38:17 UTC (rev 12) +++ vireq/trunk/vimkidx.c 2008-12-27 21:53:20 UTC (rev 13) @@ -1,764 +0,0 @@ -#include <string.h> -#include <math.h> -#include <time.h> -#include <ctype.h> -#include <stdio.h> -#include <stdlib.h> -#include <fcntl.h> -#include <sys/types.h> -#include <sys/stat.h> -#include <dirent.h> -#include "vireq.h" -DIR *dirp; -struct dirent *direntp; - -#define _MAX_DRIVE 128 -#define _MAX_DIR 512 -#define _MAX_FNAME 512 -#define _MAX_EXT 512 - - -char dummy_string[512]; -char ausgabe[512]; -char eingabe[4096]; -char dateiname[512]; -FILE *config; -char configname[255]; -char drive[_MAX_DRIVE]; -char path[_MAX_DIR]; -char file[_MAX_FNAME]; -char ext[_MAX_EXT]; - -struct -{ - char drive[3]; - char unc[255]; -} trans[30]; -FILE *tmp; -char *p; -FILE *pfade; -FILE *pfade_c; -FILE *fbbs; -char pfadname[255]; -char pfadcname[255]; -struct -{ - char open; - FILE *f; - char name[255]; -} idx[255]; -struct -{ - char open; - FILE *f; - char name[255]; -} idx_c[255]; -char stattest[512]; -struct stat buf; -char mmcopy=0; -char subdir[6000][255]; -char start_dir[255]; -int status=0; -char filesbbs[255]; -unsigned long ii=0,jj=0,tempzaehl=0; -unsigned long i=0; -char ende=0; -char dirs_name[255]; -unsigned char c; -void strlwr(char *); - -void findfile(char *dir, char *name) -{ - char *p, *q; - char entry[255]; - #ifdef UNIX - ; - #else - strlwr(dir); - #endif - dirp = opendir( dir ); - if( dirp == NULL ) { - printf(">>%s<< \n",dir); - perror( "Error " ); - } else { - direntp = readdir( dirp ); - } -} -void findnext() -{ - direntp=readdir(dirp); -} -void findclose() -{ - closedir(dirp); -} -void strlwr(char *dummy) -{ - char *p; - p=dummy; - while(*p) - { - *p=tolower(*p); - p++; - } -} -void strupr(char *dummy) -{ - char *p; - p=dummy; - while(*p) - { - *p=toupper(*p); - p++; - } -} - -int find_filesbbs(char *pfad) -{ - findfile(pfad,"*"); - if (!dirp) - { - findclose(); - - return(1); - } - while(direntp) - { - #ifdef UNIX - ; - #else - strlwr(direntp->d_name); - #endif - if (strstr("files.bbs",direntp->d_name)) - { - findclose(); - return(0); - } - findnext(); - } - findclose(); - return(1); -} -void oeffne_idx(char c) -{ - - sprintf(idx[c].name,"%svifile%c.idx",path,c); - idx[c].f=fopen(idx[c].name,"wt"); - if (idx[c].f) - idx[c].open=1; - else - { - printf("Fehler beim Oeffnen von "); - printf("%s",idx[c].name); - perror("\nFehler "); - } -} -void oeffne_idx_cdrom(char c) -{ - - sprintf(idx_c[c].name,"%s%svifile%c.idc",drive,path,c); - idx_c[c].f=fopen(idx_c[c].name,"wt"); - if (idx_c[c].f) - idx_c[c].open=1; - else - { - printf("Fehler beim Oeffnen von "); - printf("%s",idx_c[c].name); - perror("\nFehler "); - } -} - -void make_dirlist(char *dir) -{ - - FILE *dirs; - char *p; - - p=strchr(dir,0x0d); - if (p) - *p=0x00; - p=strchr(dir,0x0a); - if (p) - *p=0x00; - - - sprintf(dirs_name,"%sdirlist.dat",drive,path); - dirs=fopen(dirs_name,"wt"); - - sprintf(subdir[0],"%s",dir); - sprintf(start_dir,"%s",subdir[0]); - ii=1; - jj=1; - while(!ende) - { - findfile(start_dir,"*"); - if (direntp) - { - while(direntp) - { - if (ii==5990) - break; - sprintf(stattest,"%s/%s",start_dir,direntp->d_name); - stat(stattest,&buf); - if (!S_ISDIR(buf.st_mode)) - { - findnext(); - continue; - } - if (direntp->d_name[0]!='.') - { - tempzaehl=jj; - tempzaehl--; - sprintf(subdir[ii],"%s/%s",subdir[tempzaehl],direntp->d_name); - ii++; - printf("%u : %u --> %s\r",ii,jj,direntp->d_name); - } - findnext(); - } - findclose(); - } - sprintf(start_dir,"%s",subdir[jj++]); - if (jj > ii) - break; - } - for (jj=0;jj<ii ;jj++ ) { - fputs(subdir[jj],dirs); - fputs("\n",dirs); - } - fclose(dirs); -} - -void _outtext(char *text) -{ - printf(text); - printf("\n"); -} -int main(int argc, char *argv[]) -{ - char *q; - char mmcd=0, force=0; - char param=0; - char pfad[512]; - unsigned int nhandles; - long zaehler=0; - - for (param=0;param<argc ; param++) - { - #ifdef UNIX - ; - #else - strlwr(argv[param]); - #endif - if (!strncmp("-force",argv[param],strlen("-force"))) - force=1; - } - - _outtext("VIMKIDX/Linux V0.07.2(vk)"); - _outtext("Creates all needed indexfiles for VIREQ/Linux"); - _outtext("Use -force to recreate the cdrom-indices"); - - - _outtext("Reading Paths.. "); - _outtext("Path: "); -/* - nhandles=_grow_handles(300); - if (nhandles < 280) - { - _outtext("Ungenugende Anzahl Filehandles, Programmabbruch!"); - exit(200); - } -*/ - - - sprintf(path,"/usr/bin/vireq/"); - - sprintf(pfadname,"%svipath.idx",path); - sprintf(pfadcname,"%svipath.idc",path); - - sprintf(configname,"%svireq.cfg",path); - config=fopen(configname,"r"); - if (!config) - exit(99); - pfade=fopen(pfadname,"wt"); - if (!pfade) { - exit(98); - } - if (force) - { - pfade_c=fopen(pfadcname,"wt"); - if (!pfade_c) { - exit(96); - } - } - while(!feof(config)) - { - fgets(eingabe,(int)255,config); - if (feof(config)) - break; - #ifdef UNIX - ; - #else - strlwr(eingabe); - #endif - p=strchr(eingabe,0x0d); - if (p) *p=0x00; - p=strchr(eingabe,0x0a); - if (p) *p=0x00; - mmcd=0; - mmcopy=0; - if (!strncmp(eingabe,"include-file",strlen("include-file"))) - { - p=strstr(eingabe," -cd"); - if (p) { - *p++=0x20; - *p++=0x20; - *p++=0x20; - *p++=0x20; - mmcd=1; - } - if (mmcd && !force) - continue; - p=strstr(eingabe," -local"); - if (p) { - *p++=0x20; - *p++=0x20; - *p++=0x20; - *p++=0x20; - *p++=0x20; - *p++=0x20; - *p++=0x20; - mmcopy=1; - } - p=strchr(eingabe,0x20); - if (!p) - break; - while(*p++==0x20); - p--; - q=strchr(p,0x20); - if (q) - *q=0x00; - tmp=fopen(p,"rt"); - if (!tmp) - continue; - while(!feof(tmp)) - { - fgets(eingabe,(int)255,tmp); - if (feof(tmp)) - break; - p=strchr(eingabe,0x0d); - if (p) *p=0x00; - p=strchr(eingabe,0x0a); - if (p) *p=0x00; - p=strchr(eingabe,0x20); - if (p) *p=0x00; - if (!strlen(eingabe)) - continue; - #ifdef UNIX - ; - #else - strlwr(eingabe); - #endif - if (eingabe[strlen(eingabe)-1]==0x5c) - eingabe[strlen(eingabe)-1]=0x00; - if (mmcopy) - strcat(eingabe," -local"); - if (mmcd) - { - fputs(eingabe,pfade_c); - fputs("\n",pfade_c); - } - else - { - fputs(eingabe,pfade); - fputs("\n",pfade); - } - _outtext(eingabe); - _outtext("\n\n"); - } - fclose(tmp); - continue; - } - if (!strncmp(eingabe,"include-path",strlen("include-path"))) - { - char mmsub=0; - p=strstr(eingabe," -s"); - if (p) { - *p++=0x20; - *p++=0x20; - *p++=0x20; - mmsub=1; - } - p=strstr(eingabe," -S"); - if (p) { - *p++=0x20; - *p++=0x20; - *p++=0x20; - mmsub=1; - } - p=strstr(eingabe," -t"); - if (p) { - *p++=0x20; - *p++=0x20; - *p++=0x20; - mmsub=2; - } - p=strstr(eingabe," -T"); - if (p) { - *p++=0x20; - *p++=0x20; - *p++=0x20; - mmsub=2; - } - p=strstr(eingabe," -cd"); - if (p) { - *p++=0x20; - *p++=0x20; - *p++=0x20; - *p++=0x20; - mmcd=1; - } - p=strstr(eingabe," -CD"); - if (p) { - *p++=0x20; - *p++=0x20; - *p++=0x20; - *p++=0x20; - mmcd=1; - } - p=strstr(eingabe," -local"); - if (p) { - *p++=0x20; - *p++=0x20; - *p++=0x20; - *p++=0x20; - *p++=0x20; - *p++=0x20; - *p++=0x20; - mmcopy=1; - } - p=strstr(eingabe," -LOCAL"); - if (p) { - *p++=0x20; - *p++=0x20; - *p++=0x20; - *p++=0x20; - *p++=0x20; - *p++=0x20; - *p++=0x20; - mmcopy=1; - } - if (mmcd && !force) - continue; - p=strchr(eingabe,0x20); - if (!p) - break; - while(*p++==0x20); - p--; - q=strchr(p,0x20); - if (q) - *q=0x00; - if (!mmsub) { - char *q; - q=strchr(p,0x20); - if (q) - *q=0x00; - if (mmcopy) - strcat(p," -local"); - if (mmcd) - { - fputs(p,pfade_c); - fputs("\n",pfade_c); - } - else - { - fputs(p,pfade); - fputs("\n",pfade); - } - _outtext(p); - _outtext("\n\n"); - continue; - } - - make_dirlist(p); - tmp=fopen(dirs_name,"rt"); - if (!tmp) - continue; - while(!feof(tmp)) - { - fgets(eingabe,(int)255,tmp); - if (feof(tmp)) - break; - p=strchr(eingabe,0x0d); - if (p) *p=0x00; - p=strchr(eingabe,0x0a); - if (p) *p=0x00; - #ifdef UNIX - ; - #else - strlwr(eingabe); - #endif - if (eingabe[strlen(eingabe)-1]==0x5c) - eingabe[strlen(eingabe)-1]=0x00; - status=find_filesbbs(eingabe); - if (status==0 || mmsub==2) - { - char *q; - q=strchr(eingabe,0x20); - if (q) - *q=0x00; - if (mmcopy) - strcat(eingabe," -local"); - if (mmcd) - { - fputs(eingabe,pfade_c); - fputs("\n",pfade_c); - } - else - { - fputs(eingabe,pfade); - fputs("\n",pfade); - } - printf("%s\r",eingabe); - } - } - fclose(tmp); - continue; - } - } - fclose(config); - fclose(pfade); - if (force) - fclose(pfade_c); -// Erstellen der VIFILE<x>.IDX - - for (i=0;i<256;i++) { - idx[i].open=0; - } /* endfor */ - _outtext("Reading Files... "); - _outtext("File: "); - - pfade=fopen(pfadname,"rt"); - if (!pfade) { - exit(90); - } - while(!feof(pfade)) - { - zaehler++; - fgets(eingabe,(int)255,pfade); - if (feof(pfade)) - break; - p=strchr(eingabe,0x0d); - if (p) *p=0x00; - p=strchr(eingabe,0x0a); - if (p) *p=0x00; - p=strstr(eingabe," -local"); - if (p) { - *p++=0x20; - *p++=0x20; - *p++=0x20; - *p++=0x20; - *p++=0x20; - *p++=0x20; - *p++=0x20; - } - p=strchr(eingabe,0x20); - if (p) *p=0x00; - sprintf(filesbbs,"%s/files.bbs",eingabe); - fbbs=fopen(filesbbs,"rt"); - if (!fbbs) - { - findfile(eingabe,"*"); - if (direntp) - { - while(direntp) - { - sprintf(stattest,"%s/%s",eingabe,direntp->d_name); - stat(stattest,&buf); - if (S_ISDIR(buf.st_mode)) - { - findnext(); - continue; - } - - p=direntp->d_name; - #ifdef UNIX - ; - #else - strlwr(p); - #endif - c=*p; - if (!(c=='.')) - { - if (!idx[c].open) - oeffne_idx(c); - if (idx[c].open) - { - fprintf(idx[c].f,"%s %lu\n",p,zaehler-1); - } - printf("%s\r",p); - } - findnext(); - } - findclose(); - } - continue; - } - strcpy(pfad,eingabe); - while (!feof(fbbs)) - { - fgets(eingabe,(int)4000,fbbs); - if (feof(fbbs)) - break; - p=strchr(eingabe,0x0d); - if (p) *p=0x00; - p=strchr(eingabe,0x0a); - if (p) *p=0x00; - c=toupper(eingabe[0]); - if (c==0x20 || c==0x0a || c==0x0d || c=='/' || c=='&' || c=='.') - continue; - if (c=='+' || c=='*' || c=='\\' || c==0x00 || c==':') - continue; - c=tolower(c); - #ifdef UNIX - ; - #else - strlwr(eingabe); - #endif - if (!idx[c].open) - oeffne_idx(c); - if (!idx[c].open ) - continue; - p=strchr(eingabe,0x20); - if (p) - *p=0x00; - sprintf(dummy_string,"%s/%s",pfad,eingabe); - if (access(dummy_string,F_OK)) - continue; - fprintf(idx[c].f,"%s %lu\n",eingabe,zaehler-1); - printf("%s\r",eingabe); - } - fclose(fbbs); - } - fclose(pfade); - for (i=0;i<256;i++) { - if (idx[i].open==1) { - fclose(idx[i].f); - } - } /* endfor */ - if (!force) - { - for (i=0;i<256;i++) { - if (idx_c[i].open==1) { - fclose(idx_c[i].f); - } - } /* endfor */ - - _outtext("Finished!\n\n"); - return(0); - } - - pfade_c=fopen(pfadcname,"rt"); - if (!pfade) { - exit(90); - } - zaehler=0; - while(!feof(pfade_c)) - { - zaehler++; - fgets(eingabe,(int)255,pfade_c); - if (feof(pfade_c)) - break; - p=strchr(eingabe,0x0d); - if (p) *p=0x00; - p=strchr(eingabe,0x0a); - if (p) *p=0x00; - p=strstr(eingabe," -local"); - if (p) { - *p++=0x20; - *p++=0x20; - *p++=0x20; - *p++=0x20; - *p++=0x20; - *p++=0x20; - *p++=0x20; - } - p=strchr(eingabe,0x20); - if (p) *p=0x00; - sprintf(filesbbs,"%s/files.bbs",eingabe); - fbbs=fopen(filesbbs,"rt"); - if (!fbbs) - { - findfile(eingabe,"*"); - if (direntp) - { - while(direntp) - { - p=direntp->d_name; - #ifdef UNIX - ; - #else - strlwr(p); - #endif - c=*p; - if (!(c=='.')) - { - if (!idx_c[c].open) - oeffne_idx_cdrom(c); - if (idx_c[c].open) - { - fprintf(idx_c[c].f,"%s %lu\n",p,zaehler-1); - } - _outtext(p); - _outtext("\n\n"); - } - findnext(); - } - findclose(); - } - continue; - } - while (!feof(fbbs)) - { - fgets(eingabe,(int)4000,fbbs); - if (feof(fbbs)) - break; - p=strchr(eingabe,0x0d); - if (p) *p=0x00; - p=strchr(eingabe,0x0a); - if (p) *p=0x00; - c=toupper(eingabe[0]); - if (c==0x20 || c==0x0a || c==0x0d || c=='/' || c=='&' || c=='.') - continue; - if (c=='+' || c=='*' || c=='\\' || c==0x00 || c==':') - continue; - #ifdef UNIX - ; - #else - strlwr(eingabe); - #endif - c=tolower(c); - if (!idx_c[c].open) - oeffne_idx_cdrom(c); - if (!idx_c[c].open ) - continue; - p=strchr(eingabe,0x20); - if (p) - *p=0x00; - fprintf(idx_c[c].f,"%s %lu\n",eingabe,zaehler-1); - _outtext(eingabe); - _outtext("\n\n"); - } - fclose(fbbs); - } - fclose(pfade_c); - - for (i=0;i<256;i++) { - if (idx_c[i].open==1) { - fclose(idx_c[i].f); - } - } /* endfor */ - - _outtext("Finished!\n\n"); - return(0); -} - Copied: vireq/trunk/vimkidx.c (from rev 8, vireq/branches/vendor/vkafke/0.10.5/vimkidx.c) =================================================================== --- vireq/trunk/vimkidx.c (rev 0) +++ vireq/trunk/vimkidx.c 2008-12-27 21:53:20 UTC (rev 13) @@ -0,0 +1,764 @@ +#include <string.h> +#include <math.h> +#include <time.h> +#include <ctype.h> +#include <stdio.h> +#include <stdlib.h> +#include <fcntl.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <dirent.h> +#include "vireq.h" +DIR *dirp; +struct dirent *direntp; + +#define _MAX_DRIVE 128 +#define _MAX_DIR 512 +#define _MAX_FNAME 512 +#define _MAX_EXT 512 + + +char dummy_string[512]; +char ausgabe[512]; +char eingabe[4096]; +char dateiname[512]; +FILE *config; +char configname[255]; +char drive[_MAX_DRIVE]; +char path[_MAX_DIR]; +char file[_MAX_FNAME]; +char ext[_MAX_EXT]; + +struct +{ + char drive[3]; + char unc[255]; +} trans[30]; +FILE *tmp; +char *p; +FILE *pfade; +FILE *pfade_c; +FILE *fbbs; +char pfadname[255]; +char pfadcname[255]; +struct +{ + char open; + FILE *f; + char name[255]; +} idx[255]; +struct +{ + char open; + FILE *f; + char name[255]; +} idx_c[255]; +char stattest[512]; +struct stat buf; +char mmcopy=0; +char subdir[6000][255]; +char start_dir[255]; +int status=0; +char filesbbs[255]; +unsigned long ii=0,jj=0,tempzaehl=0; +unsigned long i=0; +char ende=0; +char dirs_name[255]; +unsigned char c; +void strlwr(char *); + +void findfile(char *dir, char *name) +{ + char *p, *q; + char entry[255]; + #ifdef UNIX + ; + #else + strlwr(dir); + #endif + dirp = opendir( dir ); + if( dirp == NULL ) { + printf(">>%s<< \n",dir); + perror( "Error " ); + } else { + direntp = readdir( dirp ); + } +} +void findnext() +{ + direntp=readdir(dirp); +} +void findclose() +{ + closedir(dirp); +} +void strlwr(char *dummy) +{ + char *p; + p=dummy; + while(*p) + { + *p=tolower(*p); + p++; + } +} +void strupr(char *dummy) +{ + char *p; + p=dummy; + while(*p) + { + *p=toupper(*p); + p++; + } +} + +int find_filesbbs(char *pfad) +{ + findfile(pfad,"*"); + if (!dirp) + { + findclose(); + + return(1); + } + while(direntp) + { + #ifdef UNIX + ; + #else + strlwr(direntp->d_name); + #endif + if (strstr("files.bbx",direntp->d_name)) + { + findclose(); + return(0); + } + findnext(); + } + findclose(); + return(1); +} +void oeffne_idx(char c) +{ + + sprintf(idx[c].name,"%svifile%c.idx",path,c); + idx[c].f=fopen(idx[c].name,"wt"); + if (idx[c].f) + idx[c].open=1; + else + { + printf("Fehler beim Oeffnen von "); + printf("%s",idx[c].name); + perror("\nFehler "); + } +} +void oeffne_idx_cdrom(char c) +{ + + sprintf(idx_c[c].name,"%s%svifile%c.idc",drive,path,c); + idx_c[c].f=fopen(idx_c[c].name,"wt"); + if (idx_c[c].f) + idx_c[c].open=1; + else + { + printf("Fehler beim Oeffnen von "); + printf("%s",idx_c[c].name); + perror("\nFehler "); + } +} + +void make_dirlist(char *dir) +{ + + FILE *dirs; + char *p; + + p=strchr(dir,0x0d); + if (p) + *p=0x00; + p=strchr(dir,0x0a); + if (p) + *p=0x00; + + + sprintf(dirs_name,"%sdirlist.dat",drive,path); + dirs=fopen(dirs_name,"wt"); + + sprintf(subdir[0],"%s",dir); + sprintf(start_dir,"%s",subdir[0]); + ii=1; + jj=1; + while(!ende) + { + findfile(start_dir,"*"); + if (direntp) + { + while(direntp) + { + if (ii==5990) + break; + sprintf(stattest,"%s/%s",start_dir,direntp->d_name); + stat(stattest,&buf); + if (!S_ISDIR(buf.st_mode)) + { + findnext(); + continue; + } + if (direntp->d_name[0]!='.') + { + tempzaehl=jj; + tempzaehl--; + sprintf(subdir[ii],"%s/%s",subdir[tempzaehl],direntp->d_name); + ii++; + printf("%u : %u --> %s\r",ii,jj,direntp->d_name); + } + findnext(); + } + findclose(); + } + sprintf(start_dir,"%s",subdir[jj++]); + if (jj > ii) + break; + } + for (jj=0;jj<ii ;jj++ ) { + fputs(subdir[jj],dirs); + fputs("\n",dirs); + } + fclose(dirs); +} + +void _outtext(char *text) +{ + printf(text); + printf("\n"); +} +int main(int argc, char *argv[]) +{ + char *q; + char mmcd=0, force=0; + char param=0; + char pfad[512]; + unsigned int nhandles; + long zaehler=0; + + for (param=0;param<argc ; param++) + { + #ifdef UNIX + ; + #else + strlwr(argv[param]); + #endif + if (!strncmp("-force",argv[param],strlen("-force"))) + force=1; + } + + _outtext("VIMKIDX/Linux V0.07.2(vk)"); + _outtext("Creates all needed indexfiles for VIREQ/Linux"); + _outtext("Use -force to recreate the cdrom-indices"); + + + _outtext("Reading Paths.. "); + _outtext("Path: "); +/* + nhandles=_grow_handles(300); + if (nhandles < 280) + { + _outtext("Ungenugende Anzahl Filehandles, Programmabbruch!"); + exit(200); + } +*/ + + + sprintf(path,"/usr/bin/vireq/"); + + sprintf(pfadname,"%svipath.idx",path); + sprintf(pfadcname,"%svipath.idc",path); + + sprintf(configname,"%svireq.cfg",path); + config=fopen(configname,"r"); + if (!config) + exit(99); + pfade=fopen(pfadname,"wt"); + if (!pfade) { + exit(98); + } + if (force) + { + pfade_c=fopen(pfadcname,"wt"); + if (!pfade_c) { + exit(96); + } + } + while(!feof(config)) + { + fgets(eingabe,(int)255,config); + if (feof(config)) + break; + #ifdef UNIX + ; + #else + strlwr(eingabe); + #endif + p=strchr(eingabe,0x0d); + if (p) *p=0x00; + p=strchr(eingabe,0x0a); + if (p) *p=0x00; + mmcd=0; + mmcopy=0; + if (!strncmp(eingabe,"include-file",strlen("include-file"))) + { + p=strstr(eingabe," -cd"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmcd=1; + } + if (mmcd && !force) + continue; + p=strstr(eingabe," -local"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmcopy=1; + } + p=strchr(eingabe,0x20); + if (!p) + break; + while(*p++==0x20); + p--; + q=strchr(p,0x20); + if (q) + *q=0x00; + tmp=fopen(p,"rt"); + if (!tmp) + continue; + while(!feof(tmp)) + { + fgets(eingabe,(int)255,tmp); + if (feof(tmp)) + break; + p=strchr(eingabe,0x0d); + if (p) *p=0x00; + p=strchr(eingabe,0x0a); + if (p) *p=0x00; + p=strchr(eingabe,0x20); + if (p) *p=0x00; + if (!strlen(eingabe)) + continue; + #ifdef UNIX + ; + #else + strlwr(eingabe); + #endif + if (eingabe[strlen(eingabe)-1]==0x5c) + eingabe[strlen(eingabe)-1]=0x00; + if (mmcopy) + strcat(eingabe," -local"); + if (mmcd) + { + fputs(eingabe,pfade_c); + fputs("\n",pfade_c); + } + else + { + fputs(eingabe,pfade); + fputs("\n",pfade); + } + _outtext(eingabe); + _outtext("\n\n"); + } + fclose(tmp); + continue; + } + if (!strncmp(eingabe,"include-path",strlen("include-path"))) + { + char mmsub=0; + p=strstr(eingabe," -s"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmsub=1; + } + p=strstr(eingabe," -S"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmsub=1; + } + p=strstr(eingabe," -t"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmsub=2; + } + p=strstr(eingabe," -T"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmsub=2; + } + p=strstr(eingabe," -cd"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmcd=1; + } + p=strstr(eingabe," -CD"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmcd=1; + } + p=strstr(eingabe," -local"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmcopy=1; + } + p=strstr(eingabe," -LOCAL"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmcopy=1; + } + if (mmcd && !force) + continue; + p=strchr(eingabe,0x20); + if (!p) + break; + while(*p++==0x20); + p--; + q=strchr(p,0x20); + if (q) + *q=0x00; + if (!mmsub) { + char *q; + q=strchr(p,0x20); + if (q) + *q=0x00; + if (mmcopy) + strcat(p," -local"); + if (mmcd) + { + fputs(p,pfade_c); + fputs("\n",pfade_c); + } + else + { + fputs(p,pfade); + fputs("\n",pfade); + } + _outtext(p); + _outtext("\n\n"); + continue; + } + + make_dirlist(p); + tmp=fopen(dirs_name,"rt"); + if (!tmp) + continue; + while(!feof(tmp)) + { + fgets(eingabe,(int)255,tmp); + if (feof(tmp)) + break; + p=strchr(eingabe,0x0d); + if (p) *p=0x00; + p=strchr(eingabe,0x0a); + if (p) *p=0x00; + #ifdef UNIX + ; + #else + strlwr(eingabe); + #endif + if (eingabe[strlen(eingabe)-1]==0x5c) + eingabe[strlen(eingabe)-1]=0x00; + status=find_filesbbs(eingabe); + if (status==0 || mmsub==2) + { + char *q; + q=strchr(eingabe,0x20); + if (q) + *q=0x00; + if (mmcopy) + strcat(eingabe," -local"); + if (mmcd) + { + fputs(eingabe,pfade_c); + fputs("\n",pfade_c); + } + else + { + fputs(eingabe,pfade); + fputs("\n",pfade); + } + printf("%s\r",eingabe); + } + } + fclose(tmp); + continue; + } + } + fclose(config); + fclose(pfade); + if (force) + fclose(pfade_c); +// Erstellen der VIFILE<x>.IDX + + for (i=0;i<256;i++) { + idx[i].open=0; + } /* endfor */ + _outtext("Reading Files... "); + _outtext("File: "); + + pfade=fopen(pfadname,"rt"); + if (!pfade) { + exit(90); + } + while(!feof(pfade)) + { + zaehler++; + fgets(eingabe,(int)255,pfade); + if (feof(pfade)) + break; + p=strchr(eingabe,0x0d); + if (p) *p=0x00; + p=strchr(eingabe,0x0a); + if (p) *p=0x00; + p=strstr(eingabe," -local"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + } + p=strchr(eingabe,0x20); + if (p) *p=0x00; + sprintf(filesbbs,"%s/files.bbx",eingabe); + fbbs=fopen(filesbbs,"rt"); + if (!fbbs) + { + findfile(eingabe,"*"); + if (direntp) + { + while(direntp) + { + sprintf(stattest,"%s/%s",eingabe,direntp->d_name); + stat(stattest,&buf); + if (S_ISDIR(buf.st_mode)) + { + findnext(); + continue; + } + + p=direntp->d_name; + #ifdef UNIX + ; + #else + strlwr(p); + #endif + c=*p; + if (!(c=='.')) + { + if (!idx[c].open) + oeffne_idx(c); + if (idx[c].open) + { + fprintf(idx[c].f,"%s %lu\n",p,zaehler-1); + } + printf("%s\r",p); + } + findnext(); + } + findclose(); + } + continue; + } + strcpy(pfad,eingabe); + while (!feof(fbbs)) + { + fgets(eingabe,(int)4000,fbbs); + if (feof(fbbs)) + break; + p=strchr(eingabe,0x0d); + if (p) *p=0x00; + p=strchr(eingabe,0x0a); + if (p) *p=0x00; + c=toupper(eingabe[0]); + if (c==0x20 || c==0x0a || c==0x0d || c=='/' || c=='&' || c=='.') + continue; + if (c=='+' || c=='*' || c=='\\' || c==0x00 || c==':') + continue; + c=tolower(c); + #ifdef UNIX + ; + #else + strlwr(eingabe); + #endif + if (!idx[c].open) + oeffne_idx(c); + if (!idx[c].open ) + continue; + p=strchr(eingabe,0x20); + if (p) + *p=0x00; + sprintf(dummy_string,"%s/%s",pfad,eingabe); + if (access(dummy_string,F_OK)) + continue; + fprintf(idx[c].f,"%s %lu\n",eingabe,zaehler-1); + printf("%s\r",eingabe); + } + fclose(fbbs); + } + fclose(pfade); + for (i=0;i<256;i++) { + if (idx[i].open==1) { + fclose(idx[i].f); + } + } /* endfor */ + if (!force) + { + for (i=0;i<256;i++) { + if (idx_c[i].open==1) { + fclose(idx_c[i].f); + } + } /* endfor */ + + _outtext("Finished!\n\n"); + return(0); + } + + pfade_c=fopen(pfadcname,"rt"); + if (!pfade) { + exit(90); + } + zaehler=0; + while(!feof(pfade_c)) + { + zaehler++; + fgets(eingabe,(int)255,pfade_c); + if (feof(pfade_c)) + break; + p=strchr(eingabe,0x0d); + if (p) *p=0x00; + p=strchr(eingabe,0x0a); + if (p) *p=0x00; + p=strstr(eingabe," -local"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + } + p=strchr(eingabe,0x20); + if (p) *p=0x00; + sprintf(filesbbs,"%s/files.bbx",eingabe); + fbbs=fopen(filesbbs,"rt"); + if (!fbbs) + { + findfile(eingabe,"*"); + if (direntp) + { + while(direntp) + { + p=direntp->d_name; + #ifdef UNIX + ; + #else + strlwr(p); + #endif + c=*p; + if (!(c=='.')) + { + if (!idx_c[c].open) + oeffne_idx_cdrom(c); + if (idx_c[c].open) + { + fprintf(idx_c[c].f,"%s %lu\n",p,zaehler-1); + } + _outtext(p); + _outtext("\n\n"); + } + findnext(); + } + findclose(); + } + continue; + } + while (!feof(fbbs)) + { + fgets(eingabe,(int)4000,fbbs); + if (feof(fbbs)) + break; + p=strchr(eingabe,0x0d); + if (p) *p=0x00; + p=strchr(eingabe,0x0a); + if (p) *p=0x00; + c=toupper(eingabe[0]); + if (c==0x20 || c==0x0a || c==0x0d || c=='/' || c=='&' || c=='.') + continue; + if (c=='+' || c=='*' || c=='\\' || c==0x00 || c==':') + continue; + #ifdef UNIX + ; + #else + strlwr(eingabe); + #endif + c=tolower(c); + if (!idx_c[c].open) + oeffne_idx_cdrom(c); + if (!idx_c[c].open ) + continue; + p=strchr(eingabe,0x20); + if (p) + *p=0x00; + fprintf(idx_c[c].f,"%s %lu\n",eingabe,zaehler-1); + _outtext(eingabe); + _outtext("\n\n"); + } + fclose(fbbs); + } + fclose(pfade_c); + + for (i=0;i<256;i++) { + if (idx_c[i].open==1) { + fclose(idx_c[i].f); + } + } /* endfor */ + + _outtext("Finished!\n\n"); + return(0); +} + Deleted: vireq/trunk/vireq.c =================================================================== --- vireq/trunk/vireq.c 2008-12-27 21:38:17 UTC (rev 12) +++ vireq/trunk/vireq.c 2008-12-27 21:53:20 UTC (rev 13) @@ -1,1475 +0,0 @@ -#include <string.h> -#include <math.h> -#include <time.h> -#include <ctype.h> -#include <stdio.h> -#include <stdlib.h> -#include <fcntl.h> -#include <sys/types.h> -#include <sys/stat.h> -#define _MAX_DRIVE 3 -#define _MAX_DIR 255 -#define _MAX_FNAME 128 -#define _MAX_EXT 12 -#define MAX_FILENAMELEN _MAX_DRIVE + _MAX_DIR + _MAX_FNAME + _MAX_EXT -#include <dirent.h> -#include "vireq.h" - -DIR *dirp; -struct dirent *direntp; -struct stat datstat; -struct -{ - char name[MAX_FILENAMELEN]; - char passwort[20]; - long area; - char wildcard; - char found; - char mmcd; -} found[512]; - -char aliaslist[100][MAX_FILENAMELEN]; -unsigned int alias_max=0; - - -struct -{ - char open; - FILE *f; - char name[MAX_FILENAMELEN]; -} idx[255]; - -struct -{ - char open; - FILE *f; - char name[MAX_FILENAMELEN]; -} idx_c[255]; - -FILE *pfade; -char pfadfile[MAX_FILENAMELEN]; -#define VERSION "0.10.1(vk)" -FILE *pwfile; -char pwfilename[MAX_FILENAMELEN]; - -unsigned int i; -unsigned int j; -char c,pwok; -time_t aktuelles; -char statname[MAX_FILENAMELEN]; -char mmnewest, mmexecute; -char eingabe[512]; -char cdtemp[512]; -char ausgabe[512]; -char dateiname[255][MAX_FILENAMELEN]; -unsigned long area[255]; -char geoeffnet=0; -unsigned long max; -char systemname[512]; - -char srifname[MAX_FILENAMELEN]; -FILE *srif; -char requestname[MAX_FILENAMELEN]; -FILE *request; -char responsename[MAX_FILENAMELEN]; -FILE *response; -char *p; -char drive[_MAX_DRIVE]; -char path[_MAX_DIR]; -char file[_MAX_FNAME]; -char ext[_MAX_EXT]; -char adrive[_MAX_DRIVE]; -char apath[_MAX_DIR]; -char afname[_MAX_FNAME]; -char aext[_MAX_EXT]; -unsigned short task; -char logname[MAX_FILENAMELEN]; -char dlcname[MAX_FILENAMELEN]; -char *taska; -char tempname[MAX_FILENAMELEN]; - -void write_log (char *); -unsigned int zone_to, net_to, node_to, point_to=0; -unsigned int zone_from=2, net_from=246, node_from=2098, point_from=0; -void strlwr(char *dummy) -{ - char *p; - p=dummy; - while(*p) - { - *p=tolower(*p); - p++; - } -} -void strupr(char *dummy) -{ - char *p; - p=dummy; - while(*p) - { - *p=toupper(*p); - p++; - } -} -void ExpandPath(char *path) -{ - return; -} -char strnicmp(char *string1,char *string2, size_t laenge) -{ - char s1[2048]; - char s2[2048]; - char *p,*q; - strcpy(s1,string1); - strcpy(s2,string2); - s1[laenge]=0x00; - s2[laenge]=0x00; - strlwr(s1); - strlwr(s2); - return(strcmp(s1,s2)); -} - -char pwcheck(char *filename, char *password) -{ - char *p, *q; - char pwpfad[MAX_FILENAMELEN]; - char dummy1[512]; - pwok=0; - strlwr(filename); - strlwr(password); - - pwfile=fopen(pwfilename,"rt"); - if (!pwfile) - return(1); - while(1) - { - fgets(pwpfad,(int) MAX_FILENAMELEN - 2,pwfile); - if (feof(pwfile)) - { - pwok=1; - break; - } - strlwr(pwpfad); - p=strchr(pwpfad,0x0d); - if (p) - *p=0x00; - p=strchr(pwpfad,0x0a); - if (p) - *p=0x00; - q=strchr(pwpfad,0x20); - if (q) - *q=0x00; - p=strstr(filename,pwpfad); - if (q) - *q=0x20; - if (p) - { - p=strchr(pwpfad,0x20); - if (p) - { - while(*p++==0x20); - p--; - if (!strcmp(p,password)) - { - pwok=1; // passwort passt -> OK - break; - } - else - { - pwok=0; // Passwort pass nicht -> NOK - sprintf(dummy1,"Password expected for %s : %s\n",filename,p); - write_log(dummy1); - sprintf(dummy1,"Password received : %s",password); - write_log(dummy1); - break; - } - } - else - { - pwok=1; // kein pw im Pw-File... (?) - } - } - } - fclose(pwfile); - return(pwok); -} - -char copypuffer[65535]; - -char copy64k(char *quellpfad,char *zielpfad,char *dateiname) -{ - FILE *in,*out; - unsigned long gelesen; - char ein[512],aus[512]; - - sprintf(ein,"%s/%s",quellpfad,dateiname); - sprintf(aus,"%s/%s",zielpfad,dateiname); - - in=fopen(ein,"rb"); - if (!in) - return(1); - out=fopen(aus,"wb"); - if (!out) - { - fclose(in); - return(1); - } - while(1) - { - gelesen=fread(©puffer[0],(size_t)1, (size_t)65535,in); - if (!gelesen) - break; - fwrite(©puffer[0],(size_t) 1, (size_t) gelesen,out); - } - fclose(in); - fclose(out); - return(0); -} - - -char ungleich(char *q, char *z) -{ - char sichern=0; - char mmaufsetz=0; - char gesichert[60]; - char *aufsetz; - char *p; - char *r; - char ungleich=0; - r=q; - strcpy(gesichert,q); - while(1) - { - if (!*q) - { - if (mmaufsetz) - { - mmaufsetz=1; - } - else - { - if (*z) - ungleich=1; - break; - } - } - if (!*z) - { - if (!*q) - break; - if (*q!='*') - ungleich=1; - if (*q=='*') - if (*(q+1)) - ungleich=1; - break; - } - if (*q==*z || *q=='?') - { - q++; - z++; - continue; - } - if (*q=='*') - { - q++; - } - if (*(q-1)=='*' || (*q != *z && mmaufsetz)) - { - if (mmaufsetz && ! (*(q-1)=='*')) - q=aufsetz; - if (*(q-1)=='*') - { - if (!*q) - break; - } - p=q; - while(*p) - { - if (*p=='*' || *p=='?') - break; - p++; - } - if (*p=='*' || *p=='?') - { - sichern=*p; - *p=0x00; - } - if (!strstr(z,q)) - { - ungleich=1; - break; - } - else - { - z=strstr(z,q); - aufsetz=q; - if (strstr(z+1,q)) - mmaufsetz=1; - if (sichern) - { - *p=sichern; - sichern=0; - } - continue; - } - } - if (*q != *z) - { - ungleich=1; - break; - } - } - strcpy(r,gesichert); - return(ungleich); -} - -void write_temp(char *log_zeile) -{ - FILE *tmp; - tmp=fopen(tempname,"at"); - if (!tmp) - return; - fputs(log_zeile,tmp); - fputs("\x0d",tmp); - fclose(tmp); -} - -void write_dlc(char *log_zeile) -{ - FILE *tmp; - if (!strlen(dlcname)) - return; - tmp=fopen(dlcname,"at"); - if (!tmp) - return; - fputs(log_zeile,tmp); - fputs("\n",tmp); - fclose(tmp); -} - -int status; - -#define uint unsigned short -#define uchar unsigned char - -struct pkt_1 -{ - uint onode, - dnode; - uint jahr, - monat, - tag, - stunde, - minute, - sekunde; - uint baud; - uint fix; - uint onet, - dnet; - uchar pcode; - uchar rev_major; - uchar pw[8]; - uint ozone, - dzone; - uint auxnet; - uint cw1; - uchar pcode2, - revision; - uint cw2; - uint ozone2, - dzone2; - uint opoint, - dpoint; - uchar pdata[4]; -} packet; - char dirname[255]; - char filename[255]; - -struct d -{ -unsigned short node_from; -unsigned short node_to; -unsigned short net_from; -unsigned short net_to; -unsigned short attribute; -unsigned short cost; -} pp; - - -char datum[20]; - -#define NM_PRIVATE 1 -#define NM_CRASH 2 -#define NM_KILLSENT 128 -#define NM_LOCAL 256 -#define NM_HOLD 512 -#define NM_DIRECT 1024 - -char pfad2[255]; - -char dummy_string2[80]; -int write_pkt(char *pfad, char *sysop_from, char* sysop_to, - uint zone_from, uint net_from, - uint node_from, uint point_from, - uint zone_to, uint net_to, - uint node_to, uint point_to, - char *call_subject, char *filename) -{ - FILE *pkt, - *tmp; - char zeit[10]; - uint fix2=2; - int day; - char dummy_string[100]; - unsigned long anz; - struct - { - char Day[4]; - char Month[4]; - char DayNr[3]; - char filler[11]; - char Year[2]; - } zeit1; - char *p1; - time_t ltime; - struct tm *gmt; - - time (<ime); - gmt = localtime (<ime); -/* - _strtime(zeit); - _strdate(datum); -*/ - strftime(zeit,10,"%H:%M:%S",gmt); - - day=gmt->tm_wday; - - p1=asctime(gmt); - strncpy(zeit1.Day,p1,(int)4); - strncpy(zeit1.Month,p1+4,(int) 4); - strncpy(zeit1.DayNr,p1+8,(int) 3); - strncpy(zeit1.Year,p1+22,(int) 2); - - if (!strnicmp(zeit1.Month,"Dez",3)) - strcpy(zeit1.Month,"Dec"); - - if (!strnicmp(zeit1.Month,"Mae",3)) - strcpy(zeit1.Month,"Mar"); - - if (!strnicmp(zeit1.Month,"Mai",3)) - strcpy(zeit1.Month,"May"); - - if (!strnicmp(zeit1.Month,"Okt",3)) - strcpy(zeit1.Month,"Oct"); - -loop: - time(<ime); - if (pfad[strlen(pfad)-1] != '/') - strcat(pfad,"/"); - strcpy(pfad2,pfad); - sprintf(dummy_string,"%8lx",ltime); - strcat(pfad2,dummy_string); - strcat(pfad2,".pkt"); - if (!access(pfad2,(int)0x00)) - goto loop; - - pkt=fopen(pfad2,"wb"); - - if (!pkt) - return(21); - - packet.onode=node_from; - packet.dnode=node_to; - packet.jahr=gmt->tm_year; - packet.monat=gmt->tm_mon; - packet.tag=gmt->tm_mday; - packet.stunde=gmt->tm_hour; - packet.minute=gmt->tm_min; - packet.sekunde=gmt->tm_sec; - packet.baud=0x02; - packet.fix=0x02; - packet.auxnet=0x0000; - if (!point_from) - packet.onet=net_to; - else - { - packet.onet=0xffff; - packet.auxnet=net_to; - } - packet.dnet=net_to; - packet.pcode=0x00; - memset(packet.pw,0x00,(size_t)8); - packet.ozone=zone_from; - packet.dzone=zone_to; - packet.cw1=0x0100; - packet.pcode=0x00; - packet.rev_major=0x01; - packet.revision=0x30; - packet.cw2=0x0001; - packet.ozone2=zone_from; - packet.dzone2=zone_to; - packet.dpoint=point_to; - packet.opoint=point_from; - fwrite(&packet,(size_t) sizeof(packet), (size_t) 1, pkt); - fwrite(&fix2,(size_t) sizeof(fix2),(size_t) 1, pkt); - - pp.net_to=net_to; - pp.net_from=net_from; - pp.node_from=node_from; - pp.node_to=node_to; - pp.attribute = NM_PRIVATE; - pp.cost=0; - fwrite(&pp,(size_t) sizeof(pp), (size_t) 1, pkt); - - - for (anz = 0; anz < sizeof(datum); anz++) - datum[anz]=0x00; - strncpy(datum,zeit1.DayNr, (size_t) 3); - strncat(datum,zeit1.Month, (size_t) 3); - strcat(datum," "); - strncat(datum,zeit1.Year, (size_t) 2); - strcat(datum," "); - strncat(datum,zeit,(int) 2); - strcat(datum,":"); - strncat(datum,zeit+3,(int) 2); - strcat(datum,":"); - strncat(datum,zeit+6,(int) 2); - fwrite(datum,(size_t) strlen(datum), (size_t) 1, pkt); - fputc(0x00,pkt); - fwrite(sysop_to,(size_t) strlen(sysop_to),1,pkt); - fputc(0x00,pkt); - fwrite(sysop_from,(size_t) strlen(sysop_from),1,pkt); - fputc(0x00,pkt); - fwrite(call_subject,(size_t) strlen(call_subject),1,pkt); - fputc(0x00,pkt); -/* - fputc(0x01,pkt); - fwrite("AREA:",(size_t) strlen("AREA:"),1,pkt); - fwrite(area,(size_t) strlen(area),1,pkt); - fputc(0x0d,pkt); -*/ - sprintf(dummy_string,"\x01INTL %d:%d/%d %d:%d/%d\x0d",zone_to, net_to, - node_to, zone_from, net_from, node_from); - fwrite(dummy_string,(size_t) strlen(dummy_string), (size_t) 1, pkt); - - if (point_from) - { - sprintf(dummy_string,"%cFMPT %d\x0d",0x01, point_from); - fwrite(dummy_string,(size_t) strlen(dummy_string), (size_t) 1, pkt); - } - if (point_to) - { - sprintf(dummy_string,"\x01TOPT %d\x0d", point_to); - fwrite(dummy_string,(size_t) strlen(dummy_string), (size_t) 1, pkt); - } - - - sprintf(dummy_string,"\x01MSGID: %d:%d/%d.%d %8lx\x0d",zone_from,net_from,node_from,point_from,ltime); - fwrite(dummy_string,(size_t) strlen(dummy_string), (size_t) 1, pkt); - - sprintf(dummy_string,"\x01PID: VIREQ/Linux V%s\x0d",VERSION); - fwrite(dummy_string,(size_t) strlen(dummy_string), (size_t) 1, pkt); - - tmp=fopen(filename,"rb"); - - if (!tmp) - return(22); - while(!feof(tmp)) - { - anz=fread(dummy_string,(size_t) 1, (size_t) 80, tmp); - if (anz) - fwrite(dummy_string,(size_t) anz, (size_t) 1, pkt); - } - if (!point_from) - sprintf(dummy_string,"\x0d--- VIREQ/Linux V%s \x0d * Origin: (c) 1998-2001 by Volker Imre, Fidonet 2:246/2098 (%d:%d/%d)\x0d",VERSION, - zone_from, net_from, node_from); - else - sprintf(dummy_string,"\x0d--- VIREQ/Linux V%s\x0d * Origin: (c) 1998-2001 by Volker Imre, Fidonet 2:246/2098 (%d:%d/%d.%d)\x0d",VERSION, - zone_from, net_from, node_from, point_from); - fwrite(dummy_string,(size_t) strlen(dummy_string), (size_t) 1, pkt); - - fputc(0x00,pkt); - fputc(0x00,pkt); - fputc(0x00,pkt); - fclose(pkt); - fclose(tmp); - return(0); -} - -void write_log(char *log_zeile) -{ - char errorlevel=0; - FILE *logfile; - - char zeit[10]; - char logger[256]; - char *x; - static is_open=0; - char level[]={" !?+-~"}; - time_t akttime; - struct tm *d2; - char mon[][4]={"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"}; - - if (!strlen(logname)) - return; - - time(&akttime); - d2=localtime(&akttime); - -/* _strtime(zeit);*/ - strftime(zeit,10,"%H:%M:%S",d2); - x=strstr(log_zeile,"\n"); - if (x) - *x=0x00; - - logfile=fopen(logname,"a"); - if (!is_open) - { - sprintf(logger,"\n %2.2d %s %s VIR begin, VIREQ/Linux V%s\n",d2->tm_mday,mon[d2->tm_mon],zeit,VERSION); - fputs(logger,logfile); - is_open=1; - } - sprintf(logger," %2.2d %s %s VIR %s\n",d2->tm_mday,mon[d2->tm_mon],zeit, log_zeile); - - fputs(logger,logfile); - if (logfile) fclose(logfile); - return; -} -void findnext() -{ - while(1) - { - if (!direntp) - break; - direntp=readdir(dirp); - if (!direntp) - break; - if (!ungleich(filename,direntp->d_name)) - break; - } -} -void findclose() -{ - closedir(dirp); -} - -void findfile(char *name) -{ - char *p,*q; - p=strrchr(name,'/'); - if (!p) - { - direntp=NULL; - return; - } - q=p+1; - *p=0x00; - strcpy(dirname,name); - strcpy(filename,q); - p=strchr(filename,0x20); - if (p) - *p=0x00; - dirp = opendir( dirname ); - if( dirp == NULL ) { - perror( "Error " ); - } else { - direntp = readdir( dirp ); - } - if (ungleich(filename,direntp->d_name)) - findnext(); - if (!direntp) - findclose(); - -} - - -void main(int argc, char *argv[]) -{ - unsigned int nhandles; - FILE *config; - FILE *alias; - char configname[255]; - char aka=0,go_on=0,mmdone=0,mmcopy=0; - char eigen_aka=0; - char sysopname[255]; - char akastring[255]; - char baud[255]; - char dummy_string[512]; - char pkt_pfad[255]; - unsigned int j; - - max=0; - if (argc < 2) { - exit(99); - } - taska=getenv(... [truncated message content] |
From: <ja...@us...> - 2008-12-27 20:32:30
|
Revision: 11 http://ftnapps.svn.sourceforge.net/ftnapps/?rev=11&view=rev Author: jame Date: 2008-12-27 20:32:27 +0000 (Sat, 27 Dec 2008) Log Message: ----------- Create initial version of vireq/trunk from vireq v0.10. Added Paths: ----------- vireq/trunk/COPYING vireq/trunk/aliases.lst vireq/trunk/file_id.diz vireq/trunk/vimkidx.c vireq/trunk/vipath.idx vireq/trunk/vireq.c vireq/trunk/vireq.cfg vireq/trunk/vireq.dok vireq/trunk/vireq.pwd vireq/trunk/whatsnew Copied: vireq/trunk/COPYING (from rev 10, vireq/branches/vendor/vimre/0.10/COPYING) =================================================================== --- vireq/trunk/COPYING (rev 0) +++ vireq/trunk/COPYING 2008-12-27 20:32:27 UTC (rev 11) @@ -0,0 +1,72 @@ +From: Vo...@im... +Subject: Re: License for ViReq? +Date: October 3, 2008 4:41:50 AM GMT-04:00 +To: ja...@ro... +Cc: vi...@ka... +Reply-To: Vo...@im... + +Hello Robert, + +>>> What is the License on the source? Can find no mention of +>>> that in any of the files... +>> +>> Volker is still a member of fidonet (2:246/2098), please ask him. +>> He's also reachable via eMail at Vo...@im... +>> +>> To my knowledge he has given ViReq to the public domain, as far as +>> you leave his name in the source code/dokumentation intact. + +> Is that what it is? Public domain? Or GPL? Because it's not +> mentioned in any of the files that I could find... + +You may do with the source code / program whatever you want, as long as the +original author (me) is mentioned. + + +>>> (I was thinking about packaging it for Debian/Ubuntu...) +>> +>> Good idea. I think he would agree to that - but please ask him +>> yourself. + +> I do have an initial package that does build, but of course can't +> distribute it without a license that says I can do so... + +Feel free to distribute and modify the program / source as you wish. + +-- +Best regards, +Volker + +===================================================================================== +From: ja...@ro... +Subject: License for ViReq? +Date: October 2, 2008 6:23:56 PM GMT-04:00 +To: Vo...@im... + +On Wed, 01 Oct 2008 17:25:46 -0400, Viktor Kafke wrote in the BinkD echo: + +>> What is the License on the source? Can find no mention of that in +>> any of the files... +> +> Volker is still a member of fidonet (2:246/2098), please ask him. He's +> also reachable via eMail at Vo...@im... +> +> To my knowledge he has given ViReq to the public domain, as far as you +> leave his name in the source code/dokumentation intact. + + Is that what it is? Public domain? Or GPL? Because it's not mentioned +in any of the files that I could find... + + +>> (I was thinking about packaging it for Debian/Ubuntu...) +> +> Good idea. I think he would agree to that - but please ask him yourself. + + I do have an initial package that does build, but of course can't +distribute it without a license that says I can do so... + + + +Robert James Clay +j...@ro... + \ No newline at end of file Property changes on: vireq/trunk/COPYING ___________________________________________________________________ Added: svn:mergeinfo + Copied: vireq/trunk/aliases.lst (from rev 10, vireq/branches/vendor/vimre/0.10/aliases.lst) =================================================================== --- vireq/trunk/aliases.lst (rev 0) +++ vireq/trunk/aliases.lst 2008-12-27 20:32:27 UTC (rev 11) @@ -0,0 +1,2 @@ +Nodediff /mnt/hdc5/system/im/node_in/nodediff.a* + Property changes on: vireq/trunk/aliases.lst ___________________________________________________________________ Added: svn:mergeinfo + Copied: vireq/trunk/file_id.diz (from rev 10, vireq/branches/vendor/vimre/0.10/file_id.diz) =================================================================== --- vireq/trunk/file_id.diz (rev 0) +++ vireq/trunk/file_id.diz 2008-12-27 20:32:27 UTC (rev 11) @@ -0,0 +1,6 @@ +VIREQ/X V0.10 +Filerequestprozessor fuer Linux +-Arbeitet mit SRIF gemaess FSC-0086.001 +-Benoetigt keine Filebase, auch keine + FILES.BBS + (c) 1998-2001 by Volker Imre Property changes on: vireq/trunk/file_id.diz ___________________________________________________________________ Added: svn:mergeinfo + Copied: vireq/trunk/vimkidx.c (from rev 10, vireq/branches/vendor/vimre/0.10/vimkidx.c) =================================================================== --- vireq/trunk/vimkidx.c (rev 0) +++ vireq/trunk/vimkidx.c 2008-12-27 20:32:27 UTC (rev 11) @@ -0,0 +1,686 @@ +#include <string.h> +#include <math.h> +#include <time.h> +#include <ctype.h> +#include <stdio.h> +#include <stdlib.h> +#include <fcntl.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <dirent.h> +DIR *dirp; +struct dirent *direntp; + +#define _MAX_DRIVE 128 +#define _MAX_DIR 512 +#define _MAX_FNAME 512 +#define _MAX_EXT 512 + + +char dummy_string[512]; +char ausgabe[512]; +char eingabe[4096]; +char dateiname[512]; +FILE *config; +char configname[255]; +char drive[_MAX_DRIVE]; +char path[_MAX_DIR]; +char file[_MAX_FNAME]; +char ext[_MAX_EXT]; + +struct +{ + char drive[3]; + char unc[255]; +} trans[30]; +FILE *tmp; +char *p; +FILE *pfade; +FILE *pfade_c; +FILE *fbbs; +char pfadname[255]; +char pfadcname[255]; +struct +{ + char open; + FILE *f; + char name[255]; +} idx[255]; +struct +{ + char open; + FILE *f; + char name[255]; +} idx_c[255]; +char stattest[512]; +struct stat buf; +char mmcopy=0; +char subdir[6000][255]; +char start_dir[255]; +int status=0; +char filesbbs[255]; +unsigned long ii=0,jj=0,tempzaehl=0; +unsigned long i=0; +char ende=0; +char dirs_name[255]; +unsigned char c; +void strlwr(char *); + +void findfile(char *dir, char *name) +{ + char *p, *q; + char entry[255]; + strlwr(dir); + dirp = opendir( dir ); + if( dirp == NULL ) { + printf(">>%s<< \n",dir); + perror( "Error " ); + } else { + direntp = readdir( dirp ); + } +} +void findnext() +{ + direntp=readdir(dirp); +} +void findclose() +{ + closedir(dirp); +} +void strlwr(char *dummy) +{ + char *p; + p=dummy; + while(*p) + { + *p=tolower(*p); + p++; + } +} +void strupr(char *dummy) +{ + char *p; + p=dummy; + while(*p) + { + *p=toupper(*p); + p++; + } +} + +int find_filesbbs(char *pfad) +{ + findfile(pfad,"*"); + if (!dirp) + { + findclose(); + + return(1); + } + while(direntp) + { + strlwr(direntp->d_name); + if (strstr("files.bbs",direntp->d_name)) + { + findclose(); + return(0); + } + findnext(); + } + findclose(); + return(1); +} +void oeffne_idx(char c) +{ + + sprintf(idx[c].name,"%svifile%c.idx",path,c); + idx[c].f=fopen(idx[c].name,"wt"); + if (idx[c].f) + idx[c].open=1; + else + { + printf("Fehler beim Oeffnen von "); + printf("%s",idx[c].name); + perror("\nFehler "); + } +} +void oeffne_idx_cdrom(char c) +{ + + sprintf(idx_c[c].name,"%s%svifile%c.idc",drive,path,c); + idx_c[c].f=fopen(idx_c[c].name,"wt"); + if (idx_c[c].f) + idx_c[c].open=1; + else + { + printf("Fehler beim Oeffnen von "); + printf("%s",idx_c[c].name); + perror("\nFehler "); + } +} + +void make_dirlist(char *dir) +{ + + FILE *dirs; + char *p; + + p=strchr(dir,0x0d); + if (p) + *p=0x00; + p=strchr(dir,0x0a); + if (p) + *p=0x00; + + + sprintf(dirs_name,"%sdirlist.dat",drive,path); + dirs=fopen(dirs_name,"wt"); + + sprintf(subdir[0],"%s",dir); + sprintf(start_dir,"%s",subdir[0]); + ii=1; + jj=1; + while(!ende) + { + findfile(start_dir,"*"); + if (direntp) + { + while(direntp) + { + if (ii==5990) + break; + sprintf(stattest,"%s/%s",start_dir,direntp->d_name); + stat(stattest,&buf); + if (!S_ISDIR(buf.st_mode)) + { + findnext(); + continue; + } + if (direntp->d_name[0]!='.') + { + tempzaehl=jj; + tempzaehl--; + sprintf(subdir[ii],"%s/%s",subdir[tempzaehl],direntp->d_name); + ii++; + printf("%u : %u --> %s\r",ii,jj,direntp->d_name); + } + findnext(); + } + findclose(); + } + sprintf(start_dir,"%s",subdir[jj++]); + if (jj > ii) + break; + } + for (jj=0;jj<ii ;jj++ ) { + fputs(subdir[jj],dirs); + fputs("\n",dirs); + } + fclose(dirs); +} + +void _outtext(char *text) +{ + printf(text); + printf("\n"); +} +int main(int argc, char *argv[]) +{ + char *q; + char mmcd=0, force=0; + char param=0; + char pfad[512]; + unsigned int nhandles; + long zaehler=0; + + for (param=0;param<argc ; param++) + { + strlwr(argv[param]); + if (!strncmp("-force",argv[param],strlen("-force"))) + force=1; + } + + _outtext("VIMKIDX/2 V0.07"); + _outtext("Creates all needed indexfiles for VIREQ/2"); + _outtext("Use -force to recreate the cdrom-indices"); + + + _outtext("Reading Paths.. "); + _outtext("Path: "); +/* + nhandles=_grow_handles(300); + if (nhandles < 280) + { + _outtext("Ungenugende Anzahl Filehandles, Programmabbruch!"); + exit(200); + } +*/ + + + sprintf(path,"/usr/bin/vireq/"); + + sprintf(pfadname,"%svipath.idx",path); + sprintf(pfadcname,"%svipath.idc",path); + + sprintf(configname,"%svireq.cfg",path); + config=fopen(configname,"r"); + if (!config) + exit(99); + pfade=fopen(pfadname,"wt"); + if (!pfade) { + exit(98); + } + if (force) + { + pfade_c=fopen(pfadcname,"wt"); + if (!pfade_c) { + exit(96); + } + } + while(!feof(config)) + { + fgets(eingabe,(int)255,config); + if (feof(config)) + break; + strlwr(eingabe); + p=strchr(eingabe,0x0d); + if (p) *p=0x00; + p=strchr(eingabe,0x0a); + if (p) *p=0x00; + mmcd=0; + mmcopy=0; + if (!strncmp(eingabe,"include-file",strlen("include-file"))) + { + p=strstr(eingabe," -cd"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmcd=1; + } + if (mmcd && !force) + continue; + p=strstr(eingabe," -local"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmcopy=1; + } + p=strchr(eingabe,0x20); + if (!p) + break; + while(*p++==0x20); + p--; + q=strchr(p,0x20); + if (q) + *q=0x00; + tmp=fopen(p,"rt"); + if (!tmp) + continue; + while(!feof(tmp)) + { + fgets(eingabe,(int)255,tmp); + if (feof(tmp)) + break; + p=strchr(eingabe,0x0d); + if (p) *p=0x00; + p=strchr(eingabe,0x0a); + if (p) *p=0x00; + p=strchr(eingabe,0x20); + if (p) *p=0x00; + if (!strlen(eingabe)) + continue; + strlwr(eingabe); + if (eingabe[strlen(eingabe)-1]==0x5c) + eingabe[strlen(eingabe)-1]=0x00; + if (mmcopy) + strcat(eingabe," -local"); + if (mmcd) + { + fputs(eingabe,pfade_c); + fputs("\n",pfade_c); + } + else + { + fputs(eingabe,pfade); + fputs("\n",pfade); + } + _outtext(eingabe); + } + fclose(tmp); + continue; + } + if (!strncmp(eingabe,"include-path",strlen("include-path"))) + { + char mmsub=0; + p=strstr(eingabe," -s"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmsub=1; + } + p=strstr(eingabe," -t"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmsub=2; + } + p=strstr(eingabe," -cd"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmcd=1; + } + p=strstr(eingabe," -local"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmcopy=1; + } + if (mmcd && !force) + continue; + p=strchr(eingabe,0x20); + if (!p) + break; + while(*p++==0x20); + p--; + q=strchr(p,0x20); + if (q) + *q=0x00; + if (!mmsub) { + char *q; + q=strchr(p,0x20); + if (q) + *q=0x00; + if (mmcopy) + strcat(p," -local"); + if (mmcd) + { + fputs(p,pfade_c); + fputs("\n",pfade_c); + } + else + { + fputs(p,pfade); + fputs("\n",pfade); + } + _outtext(p); + continue; + } + + make_dirlist(p); + tmp=fopen(dirs_name,"rt"); + if (!tmp) + continue; + while(!feof(tmp)) + { + fgets(eingabe,(int)255,tmp); + if (feof(tmp)) + break; + p=strchr(eingabe,0x0d); + if (p) *p=0x00; + p=strchr(eingabe,0x0a); + if (p) *p=0x00; + strlwr(eingabe); + if (eingabe[strlen(eingabe)-1]==0x5c) + eingabe[strlen(eingabe)-1]=0x00; + status=find_filesbbs(eingabe); + if (status==0 || mmsub==2) + { + char *q; + q=strchr(eingabe,0x20); + if (q) + *q=0x00; + if (mmcopy) + strcat(eingabe," -local"); + if (mmcd) + { + fputs(eingabe,pfade_c); + fputs("\n",pfade_c); + } + else + { + fputs(eingabe,pfade); + fputs("\n",pfade); + } + printf("%s\r",eingabe); + } + } + fclose(tmp); + continue; + } + } + fclose(config); + fclose(pfade); + if (force) + fclose(pfade_c); +// Erstellen der VIFILE<x>.IDX + + for (i=0;i<256;i++) { + idx[i].open=0; + } /* endfor */ + _outtext("Reading Files... "); + _outtext("File: "); + + pfade=fopen(pfadname,"rt"); + if (!pfade) { + exit(90); + } + while(!feof(pfade)) + { + zaehler++; + fgets(eingabe,(int)255,pfade); + if (feof(pfade)) + break; + p=strchr(eingabe,0x0d); + if (p) *p=0x00; + p=strchr(eingabe,0x0a); + if (p) *p=0x00; + p=strstr(eingabe," -local"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + } + p=strchr(eingabe,0x20); + if (p) *p=0x00; + sprintf(filesbbs,"%s/files.bbs",eingabe); + fbbs=fopen(filesbbs,"rt"); + if (!fbbs) + { + findfile(eingabe,"*"); + if (direntp) + { + while(direntp) + { + sprintf(stattest,"%s/%s",eingabe,direntp->d_name); + stat(stattest,&buf); + if (S_ISDIR(buf.st_mode)) + { + findnext(); + continue; + } + + p=direntp->d_name; + strlwr(p); + c=*p; + if (!(c=='.')) + { + if (!idx[c].open) + oeffne_idx(c); + if (idx[c].open) + { + fprintf(idx[c].f,"%s %lu\n",p,zaehler-1); + } + printf("%s\r",p); + } + findnext(); + } + findclose(); + } + continue; + } + strcpy(pfad,eingabe); + while (!feof(fbbs)) + { + fgets(eingabe,(int)4000,fbbs); + if (feof(fbbs)) + break; + p=strchr(eingabe,0x0d); + if (p) *p=0x00; + p=strchr(eingabe,0x0a); + if (p) *p=0x00; + c=toupper(eingabe[0]); + if (c==0x20 || c==0x0a || c==0x0d || c=='/' || c=='&' || c=='.') + continue; + if (c=='+' || c=='*' || c=='\\' || c==0x00 || c==':') + continue; + c=tolower(c); + strlwr(eingabe); + if (!idx[c].open) + oeffne_idx(c); + if (!idx[c].open ) + continue; + p=strchr(eingabe,0x20); + if (p) + *p=0x00; + sprintf(dummy_string,"%s/%s",pfad,eingabe); + if (access(dummy_string,F_OK)) + continue; + fprintf(idx[c].f,"%s %lu\n",eingabe,zaehler-1); + printf("%s\r",eingabe); + } + fclose(fbbs); + } + fclose(pfade); + for (i=0;i<256;i++) { + if (idx[i].open==1) { + fclose(idx[i].f); + } + } /* endfor */ + if (!force) + { + for (i=0;i<256;i++) { + if (idx_c[i].open==1) { + fclose(idx_c[i].f); + } + } /* endfor */ + + _outtext("Finished!\n\n"); + return(0); + } + + pfade_c=fopen(pfadcname,"rt"); + if (!pfade) { + exit(90); + } + zaehler=0; + while(!feof(pfade_c)) + { + zaehler++; + fgets(eingabe,(int)255,pfade_c); + if (feof(pfade_c)) + break; + p=strchr(eingabe,0x0d); + if (p) *p=0x00; + p=strchr(eingabe,0x0a); + if (p) *p=0x00; + p=strstr(eingabe," -local"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + } + p=strchr(eingabe,0x20); + if (p) *p=0x00; + sprintf(filesbbs,"%s/files.bbs",eingabe); + fbbs=fopen(filesbbs,"rt"); + if (!fbbs) + { + findfile(eingabe,"*"); + if (direntp) + { + while(direntp) + { + p=direntp->d_name; + strlwr(p); + c=*p; + if (!(c=='.')) + { + if (!idx_c[c].open) + oeffne_idx_cdrom(c); + if (idx_c[c].open) + { + fprintf(idx_c[c].f,"%s %lu\n",p,zaehler-1); + } + _outtext(p); + } + findnext(); + } + findclose(); + } + continue; + } + while (!feof(fbbs)) + { + fgets(eingabe,(int)4000,fbbs); + if (feof(fbbs)) + break; + p=strchr(eingabe,0x0d); + if (p) *p=0x00; + p=strchr(eingabe,0x0a); + if (p) *p=0x00; + c=toupper(eingabe[0]); + if (c==0x20 || c==0x0a || c==0x0d || c=='/' || c=='&' || c=='.') + continue; + if (c=='+' || c=='*' || c=='\\' || c==0x00 || c==':') + continue; + strlwr(eingabe); + c=tolower(c); + if (!idx_c[c].open) + oeffne_idx_cdrom(c); + if (!idx_c[c].open ) + continue; + p=strchr(eingabe,0x20); + if (p) + *p=0x00; + fprintf(idx_c[c].f,"%s %lu\n",eingabe,zaehler-1); + _outtext(eingabe); + } + fclose(fbbs); + } + fclose(pfade_c); + + for (i=0;i<256;i++) { + if (idx_c[i].open==1) { + fclose(idx_c[i].f); + } + } /* endfor */ + + _outtext("Finished!\n\n"); + return(0); +} + Property changes on: vireq/trunk/vimkidx.c ___________________________________________________________________ Added: svn:mergeinfo + Copied: vireq/trunk/vipath.idx (from rev 10, vireq/branches/vendor/vimre/0.10/vipath.idx) =================================================================== --- vireq/trunk/vipath.idx (rev 0) +++ vireq/trunk/vipath.idx 2008-12-27 20:32:27 UTC (rev 11) @@ -0,0 +1,706 @@ +/mnt/hdc5/filebase +/mnt/hdc5/filebase/3com +/mnt/hdc5/filebase/ad +/mnt/hdc5/filebase/backbone +/mnt/hdc5/filebase/ct +/mnt/hdc5/filebase/abbs +/mnt/hdc5/filebase/echostat +/mnt/hdc5/filebase/fido +/mnt/hdc5/filebase/files +/mnt/hdc5/filebase/ess688 +/mnt/hdc5/filebase/fastecho +/mnt/hdc5/filebase/cook +/mnt/hdc5/filebase/ftsc +/mnt/hdc5/filebase/imail +/mnt/hdc5/filebase/novell +/mnt/hdc5/filebase/nw_info +/mnt/hdc5/filebase/pdn +/mnt/hdc5/filebase/fnews +/mnt/hdc5/filebase/t98_geb +/mnt/hdc5/filebase/t98_prev +/mnt/hdc5/filebase/t98_upd +/mnt/hdc5/filebase/t98_xl +/mnt/hdc5/filebase/tele98 +/mnt/hdc5/filebase/tgm +/mnt/hdc5/filebase/usr +/mnt/hdc5/filebase/wos +/mnt/hdc5/filebase/funnode +/mnt/hdc5/filebase/gernet +/mnt/hdc5/filebase/logs +/mnt/hdc5/filebase/isdn.all +/mnt/hdc5/filebase/pfd +/mnt/hdc5/filebase/isdn.dif +/mnt/hdc5/filebase/z7 +/mnt/hdc5/filebase/isdn.lis +/mnt/hdc5/filebase/isdn_pg_ +/mnt/hdc5/filebase/isdn_pnt +/mnt/hdc5/filebase/isdn_poi +/mnt/hdc5/filebase/net246 +/mnt/hdc5/filebase/network +/mnt/hdc5/filebase/local +/mnt/hdc5/filebase/nina +/mnt/hdc5/filebase/pascal +/mnt/hdc5/filebase/pconline +/mnt/hdc5/filebase/recliste +/mnt/hdc5/filebase/pc +/mnt/hdc5/filebase/rules24 +/mnt/hdc5/filebase/sf_node +/mnt/hdc5/filebase/sfnet +/mnt/hdc5/filebase/treiber +/mnt/hdc5/filebase/virnet +/mnt/hdc5/filebase/swf3 +/mnt/hdc5/filebase/vnet +/mnt/hdc5/filebase/txt-fil +/mnt/hdc5/filebase/voicelst +/mnt/hdc5/filebase/xp +/mnt/hdc5/filebase/zone7 +/mnt/hdc5/filebase/wheel +/mnt/hdc5/filebase/24000_er +/mnt/hdc5/filebase/ads +/mnt/hdc5/filebase/amiga +/mnt/hdc5/filebase/trek +/mnt/hdc5/filebase/bb.are +/mnt/hdc5/filebase/bb_ansi +/mnt/hdc5/filebase/bb_art +/mnt/hdc5/filebase/concord +/mnt/hdc5/filebase/echolist +/mnt/hdc5/filebase/fecvbeta +/mnt/hdc5/filebase/filebone +/mnt/hdc5/filebase/fstebeta +/mnt/hdc5/filebase/funfiles +/mnt/hdc5/filebase/funnet +/mnt/hdc5/filebase/funpoint +/mnt/hdc5/filebase/gamezone +/mnt/hdc5/filebase/gnews +/mnt/hdc5/filebase/textnet +/mnt/hdc5/filebase/isdn_ami +/mnt/hdc5/filebase/isdn.drv +/mnt/hdc5/filebase/isdn_drv +/mnt/hdc5/filebase/isdn_drv.000 +/mnt/hdc5/filebase/isdn_prg +/mnt/hdc5/filebase/isdn.pro +/mnt/hdc5/filebase/isdn.prg +/mnt/hdc5/filebase/isdn_rom +/mnt/hdc5/filebase/isdn_rom.000 +/mnt/hdc5/filebase/isdn_sup.001 +/mnt/hdc5/filebase/isdn +/mnt/hdc5/filebase/isdn_sup.002 +/mnt/hdc5/filebase/isdn_sup.000 +/mnt/hdc5/filebase/isdn_sup +/mnt/hdc5/filebase/isdn_tk_ +/mnt/hdc5/filebase/isdn_tk_.001 +/mnt/hdc5/filebase/isdn_tk_.000 +/mnt/hdc5/filebase/mp_sdemo +/mnt/hdc5/filebase/mp_sdisk +/mnt/hdc5/filebase/mp_smisc +/mnt/hdc5/filebase/mp_smod1 +/mnt/hdc5/filebase/mp_smod2 +/mnt/hdc5/filebase/mp_sutil +/mnt/hdc5/filebase/oa_admin +/mnt/hdc5/filebase/oa_ascii +/mnt/hdc5/filebase/oa_demo +/mnt/hdc5/filebase/oa_dos_s +/mnt/hdc5/filebase/oa_dos_v +/mnt/hdc5/filebase/oa_d_cdr +/mnt/hdc5/filebase/oa_d_mme +/mnt/hdc5/filebase/oa +/mnt/hdc5/filebase/oa_mmedi +/mnt/hdc5/filebase/oa_os2_s +/mnt/hdc5/filebase/oa_os2_v +/mnt/hdc5/filebase/oa_o_cdr +/mnt/hdc5/filebase/oa_o_mme +/mnt/hdc5/filebase/oa_sourc +/mnt/hdc5/filebase/oa_stool +/mnt/hdc5/filebase/oa_vtool +/mnt/hdc5/filebase/oa_w95_s +/mnt/hdc5/filebase/oa_w95_v +/mnt/hdc5/filebase/oa_win_s +/mnt/hdc5/filebase/oa_win_v +/mnt/hdc5/filebase/oa_w_cdr +/mnt/hdc5/filebase/oa_w_mme +/mnt/hdc5/filebase/proboard +/mnt/hdc5/filebase/pbasic +/mnt/hdc5/filebase/pb_beta +/mnt/hdc5/filebase/html +/mnt/hdc5/filebase/prg_c## +/mnt/hdc5/filebase/prg_nl +/mnt/hdc5/filebase/prg_pas +/mnt/hdc5/filebase/prg_txt +/mnt/hdc5/filebase/pktbeta +/mnt/hdc5/filebase/rad_mail +/mnt/hdc5/filebase/rad_util +/mnt/hdc5/filebase/request +/mnt/hdc5/filebase/sdc_awe +/mnt/hdc5/filebase/sdc_dig +/mnt/hdc5/filebase/sdc_midi +/mnt/hdc5/filebase/sdc_mtm +/mnt/hdc5/filebase/source +/mnt/hdc5/filebase/stars +/mnt/hdc5/filebase/tgm_midi +/mnt/hdc5/filebase/tgm_vdem +/mnt/hdc5/filebase/timbeta +/mnt/hdc5/filebase/tnt_bbs +/mnt/hdc5/filebase/tnt_dfue +/mnt/hdc5/filebase/tnt_dos +/mnt/hdc5/filebase/toolnet +/mnt/hdc5/filebase/tnt_win +/mnt/hdc5/filebase/vir_loc +/mnt/hdc5/filebase/celeb +/mnt/hdc5/filebase/linux +/mnt/hdc5/filebase/beta +/mnt/hdc5/filebase/bilder_von_armin +/mnt/hdc5/filebase/ger +/mnt/hdc5/filebase/index +/mnt/hdc5/filebase/lord_dev +/mnt/hdc5/filebase/lord_igm +/mnt/hdc5/filebase/lord_mnu +/mnt/hdc5/filebase/mag +/mnt/hdc5/filebase/man_on_the_line +/mnt/hdc5/filebase/aminet +/mnt/hdc5/filebase/mucban01 +/mnt/hdc5/filebase/mucnov04 +/mnt/hdc5/filebase/mucnov08 +/mnt/hdc5/filebase/mucnov09 +/mnt/hdc5/filebase/mucnov11 +/mnt/hdc5/filebase/mucnov13 +/mnt/hdc5/filebase/mucnov14 +/mnt/hdc5/filebase/puzzle +/mnt/hdc5/filebase/space +/mnt/hdc5/filebase/t-mail +/mnt/hdc5/filebase/sysop +/mnt/hdc5/filebase/upload +/mnt/hdc5/filebase/sdc +/mnt/hdc5/filebase/games +/mnt/hdc5/filebase/isdn_pg_.000 +/mnt/hdc5/filebase/mucnov02 +/mnt/hdc5/filebase/skcwork.000 +/mnt/hdc5/filebase/3com/nic +/mnt/hdc5/filebase/ad/windk +/mnt/hdc5/filebase/ad/winap +/mnt/hdc5/filebase/ad/vert +/mnt/hdc5/filebase/ad/prg_tool +/mnt/hdc5/filebase/ad/os2app +/mnt/hdc5/filebase/ad/graph +/mnt/hdc5/filebase/ad/engmt +/mnt/hdc5/filebase/ad/educ +/mnt/hdc5/filebase/ad/dosut +/mnt/hdc5/filebase/ad/dosap +/mnt/hdc5/filebase/ad/comms +/mnt/hdc5/filebase/ad/busi +/mnt/hdc5/filebase/ad/winut +/mnt/hdc5/filebase/ct/allg +/mnt/hdc5/filebase/ct/in +/mnt/hdc5/filebase/ct/ad +/mnt/hdc5/filebase/fido/revival +/mnt/hdc5/filebase/fido/wissen +/mnt/hdc5/filebase/fido/wwb +/mnt/hdc5/filebase/fido/wwb_fwd +/mnt/hdc5/filebase/fido/maxplanc +/mnt/hdc5/filebase/files/imail +/mnt/hdc5/filebase/cook/prg_son +/mnt/hdc5/filebase/cook/prg_os2 +/mnt/hdc5/filebase/cook/prg_dos +/mnt/hdc5/filebase/cook/mm_rez +/mnt/hdc5/filebase/cook/so_rez +/mnt/hdc5/filebase/ftsc/tmp +/mnt/hdc5/filebase/imail/beta +/mnt/hdc5/filebase/imail/diffs +/mnt/hdc5/filebase/novell/usr_01 +/mnt/hdc5/filebase/novell/mucnovus +/mnt/hdc5/filebase/pdn/vbwin +/mnt/hdc5/filebase/pdn/unix +/mnt/hdc5/filebase/pdn/tech +/mnt/hdc5/filebase/pdn/os2 +/mnt/hdc5/filebase/pdn/news +/mnt/hdc5/filebase/pdn/lang +/mnt/hdc5/filebase/pdn/cee +/mnt/hdc5/filebase/pdn/basic +/mnt/hdc5/filebase/pdn/asm +/mnt/hdc5/filebase/pdn/winnt +/mnt/hdc5/filebase/tgm/xms3 +/mnt/hdc5/filebase/usr/isdn +/mnt/hdc5/filebase/usr/modems +/mnt/hdc5/filebase/wos/m_disk +/mnt/hdc5/filebase/gernet/ix +/mnt/hdc5/filebase/gernet/in_swt +/mnt/hdc5/filebase/gernet/gerpoint +/mnt/hdc5/filebase/gernet/gernet_k +/mnt/hdc5/filebase/gernet/gernet +/mnt/hdc5/filebase/gernet/pci_corn +/mnt/hdc5/filebase/gernet/gerpoint.000 +/mnt/hdc5/filebase/logs/old +/mnt/hdc5/filebase/pfd/sys +/mnt/hdc5/filebase/pfd/pfd +/mnt/hdc5/filebase/pfd/dev +/mnt/hdc5/filebase/pfd/app +/mnt/hdc5/filebase/pfd/tgm +/mnt/hdc5/filebase/pfd/txt +/mnt/hdc5/filebase/pfd/games +/mnt/hdc5/filebase/z7/nodediff +/mnt/hdc5/filebase/z7/info +/mnt/hdc5/filebase/z7/nodelist +/mnt/hdc5/filebase/isdn.lis/tmp +/mnt/hdc5/filebase/local/pics +/mnt/hdc5/filebase/local/region24 +/mnt/hdc5/filebase/nina/nodelist +/mnt/hdc5/filebase/pascal/ppoint +/mnt/hdc5/filebase/pascal/list +/mnt/hdc5/filebase/pascal/files +/mnt/hdc5/filebase/pascal/diff +/mnt/hdc5/filebase/pascal/delphi +/mnt/hdc5/filebase/pascal/allg +/mnt/hdc5/filebase/pascal/tools +/mnt/hdc5/filebase/pconline/node +/mnt/hdc5/filebase/pconline/info +/mnt/hdc5/filebase/pconline/plis +/mnt/hdc5/filebase/recliste/tmp +/mnt/hdc5/filebase/pc/bbsu +/mnt/hdc5/filebase/sfnet/point3d +/mnt/hdc5/filebase/sfnet/nodediff +/mnt/hdc5/filebase/sfnet/kommerz +/mnt/hdc5/filebase/sfnet/point4d +/mnt/hdc5/filebase/treiber/w95_snd +/mnt/hdc5/filebase/treiber/w95_gfx +/mnt/hdc5/filebase/treiber/vir_nl +/mnt/hdc5/filebase/treiber/usr_info +/mnt/hdc5/filebase/treiber/t_win_so +/mnt/hdc5/filebase/treiber/t_win_mo +/mnt/hdc5/filebase/treiber/t_win_is +/mnt/hdc5/filebase/treiber/t_win_gr +/mnt/hdc5/filebase/treiber/t_w95_sc +/mnt/hdc5/filebase/treiber/t_w95_mo +/mnt/hdc5/filebase/treiber/t_w95_dr +/mnt/hdc5/filebase/treiber/t_w95_cd +/mnt/hdc5/filebase/treiber/t_tool_t +/mnt/hdc5/filebase/treiber/t_tool_p +/mnt/hdc5/filebase/treiber/t_nt4_so +/mnt/hdc5/filebase/treiber/t_nt4_mo +/mnt/hdc5/filebase/treiber/t_nt3_gr +/mnt/hdc5/filebase/treiber/t_node +/mnt/hdc5/filebase/treiber/t_dos_cd +/mnt/hdc5/filebase/treiber/t_bios_b +/mnt/hdc5/filebase/treiber/tornado +/mnt/hdc5/filebase/treiber/tng_tmnd +/mnt/hdc5/filebase/treiber/pfd_tgm_.003 +/mnt/hdc5/filebase/treiber/im_beta +/mnt/hdc5/filebase/treiber/g_word_g +/mnt/hdc5/filebase/treiber/g_idsoft.000 +/mnt/hdc5/filebase/treiber/g_idsoft +/mnt/hdc5/filebase/treiber/g_fun_ge +/mnt/hdc5/filebase/treiber/g_fun +/mnt/hdc5/filebase/treiber/g_emul_u +/mnt/hdc5/filebase/treiber/g_emul_s +/mnt/hdc5/filebase/treiber/g_emul_o +/mnt/hdc5/filebase/treiber/g_emul_m +/mnt/hdc5/filebase/treiber/g_emul_l +/mnt/hdc5/filebase/treiber/g_emul_b +/mnt/hdc5/filebase/treiber/g_driver +/mnt/hdc5/filebase/treiber/g_c&c_ad +/mnt/hdc5/filebase/treiber/g_blizza.001 +/mnt/hdc5/filebase/treiber/g_blizza.000 +/mnt/hdc5/filebase/treiber/g_blizza +/mnt/hdc5/filebase/treiber/g_beos +/mnt/hdc5/filebase/treiber/24000zip +/mnt/hdc5/filebase/treiber/win_cd +/mnt/hdc5/filebase/virnet/w16 +/mnt/hdc5/filebase/virnet/os2 +/mnt/hdc5/filebase/virnet/node +/mnt/hdc5/filebase/virnet/misc +/mnt/hdc5/filebase/virnet/ger +/mnt/hdc5/filebase/virnet/dos +/mnt/hdc5/filebase/virnet/w32 +/mnt/hdc5/filebase/virnet/netware +/mnt/hdc5/filebase/swf3/wave +/mnt/hdc5/filebase/swf3/comix +/mnt/hdc5/filebase/vnet/diff +/mnt/hdc5/filebase/vnet/list +/mnt/hdc5/filebase/xp/misc +/mnt/hdc5/filebase/xp/tools +/mnt/hdc5/filebase/zone7/nodelist +/mnt/hdc5/filebase/wheel/german +/mnt/hdc5/filebase/ads/arexx +/mnt/hdc5/filebase/amiga/artg +/mnt/hdc5/filebase/trek/t_d_ufp +/mnt/hdc5/filebase/trek/t_d_stry +/mnt/hdc5/filebase/trek/t_d_snd +/mnt/hdc5/filebase/trek/t_d_misc +/mnt/hdc5/filebase/trek/t_d_gfx +/mnt/hdc5/filebase/trek/t_d_fndm +/mnt/hdc5/filebase/trek/t_d_fcts +/mnt/hdc5/filebase/trek/tng_node +/mnt/hdc5/filebase/trek/tng_info +/mnt/hdc5/filebase/trek/tic +/mnt/hdc5/filebase/trek/snd_voy +/mnt/hdc5/filebase/trek/snd_tos +/mnt/hdc5/filebase/trek/snd_tng +/mnt/hdc5/filebase/trek/snd_dsn +/mnt/hdc5/filebase/trek/gfx_voy +/mnt/hdc5/filebase/trek/movies +/mnt/hdc5/filebase/trek/gfx_trek +/mnt/hdc5/filebase/trek/gfx_shp +/mnt/hdc5/filebase/trek/gfx_old +/mnt/hdc5/filebase/trek/gfx_dsn +/mnt/hdc5/filebase/trek/d_adult +/mnt/hdc5/filebase/trek/db_upd +/mnt/hdc5/filebase/trek/b5_snd +/mnt/hdc5/filebase/trek/b5_gfx +/mnt/hdc5/filebase/trek/amigad +/mnt/hdc5/filebase/trek/bab5 +/mnt/hdc5/filebase/trek/t_d_util +/mnt/hdc5/filebase/concord/dos +/mnt/hdc5/filebase/gamezone/info +/mnt/hdc5/filebase/textnet/ie_books +/mnt/hdc5/filebase/isdn/isdn_sup.eeh +/mnt/hdc5/filebase/oa/info +/mnt/hdc5/filebase/proboard/pb-arj +/mnt/hdc5/filebase/html/node +/mnt/hdc5/filebase/html/icon +/mnt/hdc5/filebase/html/home +/mnt/hdc5/filebase/html/point +/mnt/hdc5/filebase/stars/a +/mnt/hdc5/filebase/toolnet/games +/mnt/hdc5/filebase/celeb/tv-mo-us +/mnt/hdc5/filebase/celeb/texte +/mnt/hdc5/filebase/celeb/sport +/mnt/hdc5/filebase/celeb/soaps +/mnt/hdc5/filebase/celeb/scans_mi +/mnt/hdc5/filebase/celeb/scans_cb +/mnt/hdc5/filebase/celeb/sampler +/mnt/hdc5/filebase/celeb/rar_pics +/mnt/hdc5/filebase/celeb/points +/mnt/hdc5/filebase/celeb/playmate +/mnt/hdc5/filebase/celeb/papara +/mnt/hdc5/filebase/celeb/oldies +/mnt/hdc5/filebase/celeb/not4all +/mnt/hdc5/filebase/celeb/node +/mnt/hdc5/filebase/celeb/musik +/mnt/hdc5/filebase/celeb/models2 +/mnt/hdc5/filebase/celeb/mixed +/mnt/hdc5/filebase/celeb/kino +/mnt/hdc5/filebase/celeb/kabinett +/mnt/hdc5/filebase/celeb/infos +/mnt/hdc5/filebase/celeb/hbsnews +/mnt/hdc5/filebase/celeb/fitness +/mnt/hdc5/filebase/celeb/ever +/mnt/hdc5/filebase/celeb/auto +/mnt/hdc5/filebase/celeb/atzi.0 +/mnt/hdc5/filebase/celeb/atzi +/mnt/hdc5/filebase/celeb/asian +/mnt/hdc5/filebase/celeb/6stars +/mnt/hdc5/filebase/celeb/tv-movie +/mnt/hdc5/filebase/linux/source +/mnt/hdc5/filebase/linux/system +/mnt/hdc5/filebase/beta/im +/mnt/hdc5/filebase/ger/updates +/mnt/hdc5/filebase/aminet/text +/mnt/hdc5/filebase/aminet/mus +/mnt/hdc5/filebase/aminet/misc +/mnt/hdc5/filebase/aminet/hard +/mnt/hdc5/filebase/aminet/gfx +/mnt/hdc5/filebase/aminet/game +/mnt/hdc5/filebase/aminet/docs +/mnt/hdc5/filebase/aminet/disk +/mnt/hdc5/filebase/aminet/dev +/mnt/hdc5/filebase/aminet/comm +/mnt/hdc5/filebase/aminet/biz +/mnt/hdc5/filebase/aminet/util +/mnt/hdc5/filebase/t-mail/beta-nt +/mnt/hdc5/filebase/t-mail/beta +/mnt/hdc5/filebase/t-mail/alpha +/mnt/hdc5/filebase/t-mail/allg +/mnt/hdc5/filebase/t-mail/comm +/mnt/hdc5/filebase/t-mail/beta-os2 +/mnt/hdc5/filebase/sysop/tosser +/mnt/hdc5/filebase/sysop/ticker +/mnt/hdc5/filebase/sysop/nodelist +/mnt/hdc5/filebase/sysop/infos +/mnt/hdc5/filebase/sysop/ezy +/mnt/hdc5/filebase/sysop/bbs_allg +/mnt/hdc5/filebase/sysop/author +/mnt/hdc5/filebase/sysop/versch +/mnt/hdc5/filebase/sdc/xm +/mnt/hdc5/filebase/sdc/util +/mnt/hdc5/filebase/sdc/s3m +/mnt/hdc5/filebase/sdc/othr +/mnt/hdc5/filebase/sdc/mod +/mnt/hdc5/filebase/sdc/gus +/mnt/hdc5/filebase/sdc/dmf +/mnt/hdc5/filebase/sdc/demo +/mnt/hdc5/filebase/games/bigdemo +/mnt/hdc5/filebase/games/sh.add +/mnt/hdc5/filebase/games/sh +/mnt/hdc5/filebase/games/big.alg +/mnt/hdc5/filebase/games/word +/mnt/hdc5/filebase/games/win_nt +/mnt/hdc5/filebase/games/win95 +/mnt/hdc5/filebase/games/win +/mnt/hdc5/filebase/games/werbe +/mnt/hdc5/filebase/games/warcraft +/mnt/hdc5/filebase/games/vpl +/mnt/hdc5/filebase/games/uhs +/mnt/hdc5/filebase/games/train +/mnt/hdc5/filebase/games/trade +/mnt/hdc5/filebase/games/top100 +/mnt/hdc5/filebase/games/tools +/mnt/hdc5/filebase/games/theme +/mnt/hdc5/filebase/games/tetris +/mnt/hdc5/filebase/games/sundry +/mnt/hdc5/filebase/games/strat +/mnt/hdc5/filebase/games/updates.big +/mnt/hdc5/filebase/games/starcraf.add +/mnt/hdc5/filebase/games/spx +/mnt/hdc5/filebase/games/sport.jn +/mnt/hdc5/filebase/games/sport +/mnt/hdc5/filebase/games/update +/mnt/hdc5/filebase/games/solve +/mnt/hdc5/filebase/games/slot +/mnt/hdc5/filebase/games/simul +/mnt/hdc5/filebase/games/shot +/mnt/hdc5/filebase/games/saved +/mnt/hdc5/filebase/games/rott.add +/mnt/hdc5/filebase/games/rogue +/mnt/hdc5/filebase/games/review +/mnt/hdc5/filebase/games/quake +/mnt/hdc5/filebase/games/puzzle +/mnt/hdc5/filebase/games/prog +/mnt/hdc5/filebase/games/prod +/mnt/hdc5/filebase/games/prev +/mnt/hdc5/filebase/games/post +/mnt/hdc5/filebase/games/os2 +/mnt/hdc5/filebase/games/online +/mnt/hdc5/filebase/games/node +/mnt/hdc5/filebase/games/net +/mnt/hdc5/filebase/games/miscad +/mnt/hdc5/filebase/games/misc +/mnt/hdc5/filebase/games/mag +/mnt/hdc5/filebase/games/mac +/mnt/hdc5/filebase/games/lotto +/mnt/hdc5/filebase/games/linux +/mnt/hdc5/filebase/games/level +/mnt/hdc5/filebase/games/lern +/mnt/hdc5/filebase/games/kids +/mnt/hdc5/filebase/games/intern +/mnt/hdc5/filebase/games/inter +/mnt/hdc5/filebase/games/info +/mnt/hdc5/filebase/games/index +/mnt/hdc5/filebase/games/idsoft_a +/mnt/hdc5/filebase/games/idsoft +/mnt/hdc5/filebase/games/hexen.add +/mnt/hdc5/filebase/games/hexen +/mnt/hdc5/filebase/games/heretic.add +/mnt/hdc5/filebase/games/heret +/mnt/hdc5/filebase/games/g_c&c +/mnt/hdc5/filebase/games/g_bre-fe +/mnt/hdc5/filebase/games/groups +/mnt/hdc5/filebase/games/ger +/mnt/hdc5/filebase/games/fun +/mnt/hdc5/filebase/games/fly +/mnt/hdc5/filebase/games/flip +/mnt/hdc5/filebase/games/faq +/mnt/hdc5/filebase/games/eros +/mnt/hdc5/filebase/games/epic_a +/mnt/hdc5/filebase/games/epic +/mnt/hdc5/filebase/games/emul.gam +/mnt/hdc5/filebase/games/emul +/mnt/hdc5/filebase/games/educ +/mnt/hdc5/filebase/games/duke3d.add +/mnt/hdc5/filebase/games/driver +/mnt/hdc5/filebase/games/dosdemo +/mnt/hdc5/filebase/games/doom2.add +/mnt/hdc5/filebase/games/doom2 +/mnt/hdc5/filebase/games/doom.add +/mnt/hdc5/filebase/games/doom +/mnt/hdc5/filebase/games/diff +/mnt/hdc5/filebase/games/dice +/mnt/hdc5/filebase/games/desc +/mnt/hdc5/filebase/games/denk +/mnt/hdc5/filebase/games/demo +/mnt/hdc5/filebase/games/darkforc +/mnt/hdc5/filebase/games/console +/mnt/hdc5/filebase/games/trivia +/mnt/hdc5/filebase/games/civil_a +/mnt/hdc5/filebase/games/civil +/mnt/hdc5/filebase/games/bigdem.win +/mnt/hdc5/filebase/games/action +/mnt/hdc5/filebase/games/cheat +/mnt/hdc5/filebase/games/cdrom +/mnt/hdc5/filebase/games/casino +/mnt/hdc5/filebase/games/card +/mnt/hdc5/filebase/games/3dfx +/mnt/hdc5/filebase/games/bugfix +/mnt/hdc5/filebase/games/board +/mnt/hdc5/filebase/games/blood.add +/mnt/hdc5/filebase/games/blodd +/mnt/hdc5/filebase/games/big +/mnt/hdc5/filebase/games/bench +/mnt/hdc5/filebase/games/atari +/mnt/hdc5/filebase/games/apogee_a +/mnt/hdc5/filebase/games/apogee +/mnt/hdc5/filebase/games/ami_emul +/mnt/hdc5/filebase/games/amiga +/mnt/hdc5/filebase/games/air +/mnt/hdc5/filebase/games/advent +/mnt/hdc5/filebase/games/addon +/mnt/hdc5/filebase/games/w95demo +/mnt/hdc5/filebase/games/quake.add +/mnt/hdc5/filebase/skcwork.000/doc +/mnt/hdc5/filebase/fido/wissen/dateien +/mnt/hdc5/filebase/fido/wwb/tmp +/mnt/hdc5/filebase/imail/beta/tmp +/mnt/hdc5/filebase/pfd/sys/osys +/mnt/hdc5/filebase/pfd/sys/hacks +/mnt/hdc5/filebase/pfd/sys/updates +/mnt/hdc5/filebase/pfd/sys/tools +/mnt/hdc5/filebase/pfd/pfd/info +/mnt/hdc5/filebase/pfd/dev/misc +/mnt/hdc5/filebase/pfd/dev/basic +/mnt/hdc5/filebase/pfd/app/modem +/mnt/hdc5/filebase/pfd/app/misc +/mnt/hdc5/filebase/pfd/app/gfx +/mnt/hdc5/filebase/pfd/app/docr +/mnt/hdc5/filebase/pfd/app/dict +/mnt/hdc5/filebase/pfd/app/data +/mnt/hdc5/filebase/pfd/app/clock +/mnt/hdc5/filebase/pfd/app/calc +/mnt/hdc5/filebase/pfd/app/tcpip +/mnt/hdc5/filebase/pfd/app/crypt +/mnt/hdc5/filebase/pfd/app/tracker +/mnt/hdc5/filebase/pfd/tgm/www +/mnt/hdc5/filebase/pfd/tgm/game +/mnt/hdc5/filebase/pfd/tgm/tool +/mnt/hdc5/filebase/pfd/tgm/text +/mnt/hdc5/filebase/pfd/tgm/sound +/mnt/hdc5/filebase/pfd/tgm/science +/mnt/hdc5/filebase/pfd/tgm/misc +/mnt/hdc5/filebase/pfd/tgm/mail +/mnt/hdc5/filebase/pfd/tgm/mac +/mnt/hdc5/filebase/pfd/tgm/linux +/mnt/hdc5/filebase/pfd/tgm/internet +/mnt/hdc5/filebase/pfd/tgm/graph +/mnt/hdc5/filebase/pfd/tgm/dfue +/mnt/hdc5/filebase/pfd/tgm/chat +/mnt/hdc5/filebase/pfd/tgm/enterpr +/mnt/hdc5/filebase/pfd/tgm/business +/mnt/hdc5/filebase/pfd/tgm/enterpri +/mnt/hdc5/filebase/pfd/tgm/win +/mnt/hdc5/filebase/pfd/tgm/hobby +/mnt/hdc5/filebase/pfd/txt/faq +/mnt/hdc5/filebase/pfd/txt/manuals +/mnt/hdc5/filebase/pfd/games/fun +/mnt/hdc5/filebase/pfd/games/misc +/mnt/hdc5/filebase/local/pics/tmp +/mnt/hdc5/filebase/trek/movies/voy +/mnt/hdc5/filebase/trek/movies/tos +/mnt/hdc5/filebase/trek/movies/tng +/mnt/hdc5/filebase/trek/movies/dsn +/mnt/hdc5/filebase/celeb/models2/ger +/mnt/hdc5/filebase/celeb/models2/div +/mnt/hdc5/filebase/celeb/models2/us-uk +/mnt/hdc5/filebase/celeb/atzi/models +/mnt/hdc5/filebase/celeb/atzi/movie +/mnt/hdc5/filebase/t-mail/beta/tmp +/mnt/hdc5/filebase/t-mail/alpha/upd +/mnt/hdc5/filebase/t-mail/alpha/tmp +/mnt/hdc5/filebase/t-mail/comm/t-comm-2 +/mnt/hdc5/filebase/t-mail/comm/allg +/mnt/hdc5/filebase/t-mail/comm/t-comm-n +/mnt/hdc5/filebase/games/spx/sony +/mnt/hdc5/filebase/games/mac/mac +/mnt/hdc5/filebase/games/mac/upd +/mnt/hdc5/filebase/games/idsoft/quake +/mnt/hdc5/filebase/games/idsoft/hexen.add +/mnt/hdc5/filebase/games/idsoft/hexen +/mnt/hdc5/filebase/games/idsoft/heretic.add +/mnt/hdc5/filebase/games/idsoft/doom2.add +/mnt/hdc5/filebase/games/idsoft/doom.add +/mnt/hdc5/filebase/games/idsoft/addons +/mnt/hdc5/filebase/games/idsoft/soft +/mnt/hdc5/filebase/games/idsoft/quake.2 +/mnt/hdc5/filebase/games/ger/werbe +/mnt/hdc5/filebase/games/ger/w95 +/mnt/hdc5/filebase/games/ger/util +/mnt/hdc5/filebase/games/ger/updates +/mnt/hdc5/filebase/games/ger/strategy +/mnt/hdc5/filebase/games/ger/sport +/mnt/hdc5/filebase/games/ger/solve +/mnt/hdc5/filebase/games/ger/simul +/mnt/hdc5/filebase/games/ger/os2 +/mnt/hdc5/filebase/games/ger/misc +/mnt/hdc5/filebase/games/ger/mag +/mnt/hdc5/filebase/games/ger/lotto +/mnt/hdc5/filebase/games/ger/lern +/mnt/hdc5/filebase/games/ger/kids +/mnt/hdc5/filebase/games/ger/inter +/mnt/hdc5/filebase/games/ger/emul +/mnt/hdc5/filebase/games/ger/educ +/mnt/hdc5/filebase/games/ger/dice +/mnt/hdc5/filebase/games/ger/denk +/mnt/hdc5/filebase/games/ger/cheats +/mnt/hdc5/filebase/games/ger/card +/mnt/hdc5/filebase/games/ger/board +/mnt/hdc5/filebase/games/ger/adventur +/mnt/hdc5/filebase/games/ger/addons +/mnt/hdc5/filebase/games/ger/action +/mnt/hdc5/filebase/games/ger/windows +/mnt/hdc5/filebase/games/epic/unreal +/mnt/hdc5/filebase/games/epic/epic +/mnt/hdc5/filebase/games/epic/unreal.add +/mnt/hdc5/filebase/games/amiga/updates +/mnt/hdc5/filebase/skcwork.000/doc/image +/mnt/hdc5/filebase/pfd/sys/osys/othr +/mnt/hdc5/filebase/celeb/atzi/models/ger +/mnt/hdc5/filebase/celeb/atzi/models/div +/mnt/hdc5/filebase/celeb/atzi/models/us-uk +/mnt/hdc5/filebase/celeb/atzi/movie/ger +/mnt/hdc5/filebase/celeb/atzi/movie/div +/mnt/hdc5/filebase/celeb/atzi/movie/us-uk +/mnt/hdc5/filebase/t-mail/comm/t-comm-2/tmp +/mnt/hdc5/filebase/games/spx/sony/gamefaq +/mnt/hdc5/filebase/games/spx/sony/codes +/mnt/hdc5/filebase/games/spx/sony/solves +/mnt/hdc5/mp3 +/mnt/hdc5/mp3/list +/mnt/hdc5/mp3/other +/mnt/hdc5/mp3/listen +/mnt/hdc5/mp3/pop +/mnt/hdc5/mp3/rock +/mnt/hdc5/mp3/snd_pop +/mnt/hdc5/mp3/sound.fol +/mnt/hdc5/mp3/sound.fun +/mnt/hdc5/mp3/sound.har +/mnt/hdc5/mp3/cdrest +/mnt/hdc5/mp3/sound.hi1 +/mnt/hdc5/mp3/sound.pun +/mnt/hdc5/mp3/sound.hip +/mnt/hdc5/mp3/sound.kl1 +/mnt/hdc5/mp3/sound.la1 +/mnt/hdc5/mp3/sound.lat +/mnt/hdc5/mp3/sound.mys +/mnt/hdc5/mp3/sound.old +/mnt/hdc5/mp3/sound.kla +/mnt/hdc5/mp3/sound.par +/mnt/hdc5/mp3/sound.pla +/mnt/hdc5/mp3/sound.rck +/mnt/hdc5/mp3/sound.sof +/mnt/hdc5/mp3/sound.syn +/mnt/hdc5/mp3/sound.trk +/mnt/hdc5/mp3/utils +/mnt/hdc5/mp3/von_firma +/mnt/hdc5/mp3/wav2mp3 +/mnt/hdc5/mp3/control +/mnt/hdc5/mp3/sound.fo1 +/mnt/hdc5/mp3/mp3 +/mnt/hdc5/mp3/sound.ja1 +/mnt/hdc5/mp3/sound.ol1 +/mnt/hdc5/mp3/sound.po1 +/mnt/hdc5/mp3/von_firma/faithless +/mnt/hdc5/mp3/von_firma/tarantino +/mnt/hdc5/mp3/mp3/sound.old +/mnt/hdc5/mp3/mp3/sound.kla +/mnt/hdc5/mp3/mp3/rock +/mnt/hdc5/mp3/mp3/pop +/mnt/hdc5/mp3/von_firma/tarantino/from +/mnt/hdc5/mp3/von_firma/tarantino/pulp +/mnt/hdc5/mp3/von_firma/tarantino/tarantino +/mnt/hdc5/mp3/von_firma/tarantino/pulp +/mnt/hdc5/mp3/von_firma/tarantino/tarantino Property changes on: vireq/trunk/vipath.idx ___________________________________________________________________ Added: svn:mergeinfo + Copied: vireq/trunk/vireq.c (from rev 10, vireq/branches/vendor/vimre/0.10/vireq.c) =================================================================== --- vireq/trunk/vireq.c (rev 0) +++ vireq/trunk/vireq.c 2008-12-27 20:32:27 UTC (rev 11) @@ -0,0 +1,1460 @@ +#include <string.h> +#include <math.h> +#include <time.h> +#include <ctype.h> +#include <stdio.h> +#include <stdlib.h> +#include <fcntl.h> +#include <sys/types.h> +#include <sys/stat.h> +#define _MAX_DRIVE 3 +#define _MAX_DIR 255 +#define _MAX_FNAME 128 +#define _MAX_EXT 12 +#define MAX_FILENAMELEN _MAX_DRIVE + _MAX_DIR + _MAX_FNAME + _MAX_EXT +#include <dirent.h> + +DIR *dirp; +struct dirent *direntp; +struct stat datstat; +struct +{ + char name[MAX_FILENAMELEN]; + char passwort[20]; + long area; + char wildcard; + char found; + char mmcd; +} found[512]; + +char aliaslist[100][MAX_FILENAMELEN]; +unsigned int alias_max=0; + + +struct +{ + char open; + FILE *f; + char name[MAX_FILENAMELEN]; +} idx[255]; + +struct +{ + char open; + FILE *f; + char name[MAX_FILENAMELEN]; +} idx_c[255]; + +FILE *pfade; +char pfadfile[MAX_FILENAMELEN]; +#define VERSION "0.10" +FILE *pwfile; +char pwfilename[MAX_FILENAMELEN]; + +unsigned int i; +unsigned int j; +char c,pwok; +time_t aktuelles; +char statname[MAX_FILENAMELEN]; +char mmnewest, mmexecute; +char eingabe[512]; +char cdtemp[512]; +char ausgabe[512]; +char dateiname[255][MAX_FILENAMELEN]; +unsigned long area[255]; +char geoeffnet=0; +unsigned long max; +char systemname[512]; + +char srifname[MAX_FILENAMELEN]; +FILE *srif; +char requestname[MAX_FILENAMELEN]; +FILE *request; +char responsename[MAX_FILENAMELEN]; +FILE *response; +char *p; +char drive[_MAX_DRIVE]; +char path[_MAX_DIR]; +char file[_MAX_FNAME]; +char ext[_MAX_EXT]; +char adrive[_MAX_DRIVE]; +char apath[_MAX_DIR]; +char afname[_MAX_FNAME]; +char aext[_MAX_EXT]; +unsigned short task; +char logname[MAX_FILENAMELEN]; +char dlcname[MAX_FILENAMELEN]; +char *taska; +char tempname[MAX_FILENAMELEN]; + +void write_log (char *); +unsigned int zone_to, net_to, node_to, point_to=0; +unsigned int zone_from=2, net_from=246, node_from=2098, point_from=0; +void strlwr(char *dummy) +{ + char *p; + p=dummy; + while(*p) + { + *p=tolower(*p); + p++; + } +} +void strupr(char *dummy) +{ + char *p; + p=dummy; + while(*p) + { + *p=toupper(*p); + p++; + } +} +void ExpandPath(char *path) +{ + return; +} +char strnicmp(char *string1,char *string2, size_t laenge) +{ + char s1[2048]; + char s2[2048]; + char *p,*q; + strcpy(s1,string1); + strcpy(s2,string2); + s1[laenge]=0x00; + s2[laenge]=0x00; + strlwr(s1); + strlwr(s2); + return(strcmp(s1,s2)); +} + +char pwcheck(char *filename, char *password) +{ + char *p, *q; + char pwpfad[MAX_FILENAMELEN]; + char dummy1[512]; + pwok=0; + strlwr(filename); + strlwr(password); + + pwfile=fopen(pwfilename,"rt"); + if (!pwfile) + return(1); + while(1) + { + fgets(pwpfad,(int) MAX_FILENAMELEN - 2,pwfile); + if (feof(pwfile)) + { + pwok=1; + break; + } + strlwr(pwpfad); + p=strchr(pwpfad,0x0d); + if (p) + *p=0x00; + p=strchr(pwpfad,0x0a); + if (p) + *p=0x00; + q=strchr(pwpfad,0x20); + if (q) + *q=0x00; + p=strstr(filename,pwpfad); + if (q) + *q=0x20; + if (p) + { + p=strchr(pwpfad,0x20); + if (p) + { + while(*p++==0x20); + p--; + if (!strcmp(p,password)) + { + pwok=1; // passwort passt -> OK + break; + } + else + { + pwok=0; // Passwort pass nicht -> NOK + sprintf(dummy1,"Password expected for %s : %s\n",filename,p); + write_log(dummy1); + sprintf(dummy1,"Password received : %s",password); + write_log(dummy1); + break; + } + } + else + { + pwok=1; // kein pw im Pw-File... (?) + } + } + } + fclose(pwfile); + return(pwok); +} + +char copypuffer[65535]; + +char copy64k(char *quellpfad,char *zielpfad,char *dateiname) +{ + FILE *in,*out; + unsigned long gelesen; + char ein[512],aus[512]; + + sprintf(ein,"%s/%s",quellpfad,dateiname); + sprintf(aus,"%s/%s",zielpfad,dateiname); + + in=fopen(ein,"rb"); + if (!in) + return(1); + out=fopen(aus,"wb"); + if (!out) + { + fclose(in); + return(1); + } + while(1) + { + gelesen=fread(©puffer[0],(size_t)1, (size_t)65535,in); + if (!gelesen) + break; + fwrite(©puffer[0],(size_t) 1, (size_t) gelesen,out); + } + fclose(in); + fclose(out); + return(0); +} + + +char ungleich(char *q, char *z) +{ + char sichern=0; + char mmaufsetz=0; + char gesichert[60]; + char *aufsetz; + char *p; + char *r; + char ungleich=0; + r=q; + strcpy(gesichert,q); + while(1) + { + if (!*q) + { + if (mmaufsetz) + { + mmaufsetz=1; + } + else + { + if (*z) + ungleich=1; + break; + } + } + if (!*z) + { + if (!*q) + break; + if (*q!='*') + ungleich=1; + if (*q=='*') + if (*(q+1)) + ungleich=1; + break; + } + if (*q==*z || *q=='?') + { + q++; + z++; + continue; + } + if (*q=='*') + { + q++; + } + if (*(q-1)=='*' || (*q != *z && mmaufsetz)) + { + if (mmaufsetz && ! (*(q-1)=='*')) + q=aufsetz; + if (*(q-1)=='*') + { + if (!*q) + break; + } + p=q; + while(*p) + { + if (*p=='*' || *p=='?') + break; + p++; + } + if (*p=='*' || *p=='?') + { + sichern=*p; + *p=0x00; + } + if (!strstr(z,q)) + { + ungleich=1; + break; + } + else + { + z=strstr(z,q); + aufsetz=q; + if (strstr(z+1,q)) + mmaufsetz=1; + if (sichern) + { + *p=sichern; + sichern=0; + } + continue; + } + } + if (*q != *z) + { + ungleich=1; + break; + } + } + strcpy(r,gesichert); + return(ungleich); +} + +void write_temp(char *log_zeile) +{ + FILE *tmp; + tmp=fopen(tempname,"at"); + if (!tmp) + return; + fputs(log_zeile,tmp); + fputs("\x0d",tmp); + fclose(tmp); +} + +void write_dlc(char *log_zeile) +{ + FILE *tmp; + if (!strlen(dlcname)) + return; + tmp=fopen(dlcname,"at"); + if (!tmp) + return; + fputs(log_zeile,tmp); + fputs("\n",tmp); + fclose(tmp); +} + +int status; + +#define uint unsigned short +#define uchar unsigned char + +struct pkt_1 +{ + uint onode, + dnode; + uint jahr, + monat, + tag, + stunde, + minute, + sekunde; + uint baud; + uint fix; + uint onet, + dnet; + uchar pcode; + uchar rev_major; + uchar pw[8]; + uint ozone, + dzone; + uint auxnet; + uint cw1; + uchar pcode2, + revision; + uint cw2; + uint ozone2, + dzone2; + uint opoint, + dpoint; + uchar pdata[4]; +} packet; + char dirname[255]; + char filename[255]; + +struct d +{ +unsigned short node_from; +unsigned short node_to; +unsigned short net_from; +unsigned short net_to; +unsigned short attribute; +unsigned short cost; +} pp; + + +char datum[20]; + +#define NM_PRIVATE 1 +#define NM_CRASH 2 +#define NM_KILLSENT 128 +#define NM_LOCAL 256 +#define NM_HOLD 512 +#define NM_DIRECT 1024 + +char pfad2[255]; + +char dummy_string2[80]; +int write_pkt(char *pfad, char *sysop_from, char* sysop_to, + uint zone_from, uint net_from, + uint node_from, uint point_from, + uint zone_to, uint net_to, + uint node_to, uint point_to, + char *call_subject, char *filename) +{ + FILE *pkt, + *tmp; + char zeit[10]; + uint fix2=2; + int day; + char dummy_string[100]; + unsigned long anz; + struct + { + char Day[4]; + char Month[4]; + char DayNr[3]; + char filler[11]; + char Year[2]; + } zeit1; + char *p1; + time_t ltime; + struct tm *gmt; + + time (<ime); + gmt = localtime (<ime); +/* + _strtime(zeit); + _strdate(datum); +*/ + strftime(zeit,10,"%H:%M:%S",gmt); + + day=gmt->tm_wday; + + p1=asctime(gmt); + strncpy(zeit1.Day,p1,(int)4); + strncpy(zeit1.Month,p1+4,(int) 4); + strncpy(zeit1.DayNr,p1+8,(int) 3); + strncpy(zeit1.Year,p1+22,(int) 2); + + if (!strnicmp(zeit1.Month,"Dez",3)) + strcpy(zeit1.Month,"Dec"); + + if (!strnicmp(zeit1.Month,"Mae",3)) + strcpy(zeit1.Month,"Mar"); + + if (!strnicmp(zeit1.Month,"Mai",3)) + strcpy(zeit1.Month,"May"); + + if (!strnicmp(zeit1.Month,"Okt",3)) + strcpy(zeit1.Month,"Oct"); + +loop: + time(<ime); + if (pfad[strlen(pfad)-1] != '/') + strcat(pfad,"/"); + strcpy(pfad2,pfad); + sprintf(dummy_string,"%8lx",ltime); + strcat(pfad2,dummy_string); + strcat(pfad2,".pkt"); + if (!access(pfad2,(int)0x00)) + goto loop; + + pkt=fopen(pfad2,"wb"); + + if (!pkt) + return(21); + + packet.onode=node_from; + packet.dnode=node_to; + packet.jahr=gmt->tm_year; + packet.monat=gmt->tm_mon; + packet.tag=gmt->tm_mday; + packet.stunde=gmt->tm_hour; + packet.minute=gmt->tm_min; + packet.sekunde=gmt->tm_sec; + packet.baud=0x02; + packet.fix=0x02; + packet.auxnet=0x0000; + if (!point_from) + packet.onet=net_to; + else + { + packet.onet=0xffff; + packet.auxnet=net_to; + } + packet.dnet=net_to; + packet.pcode=0x00; + memset(packet.pw,0x00,(size_t)8); + packet.ozone=zone_from; + packet.dzone=zone_to; + packet.cw1=0x0100; + packet.pcode=0x00; + packet.rev_major=0x01; + packet.revision=0x30; + packet.cw2=0x0001; + packet.ozone2=zone_from; + packet.dzone2=zone_to; + packet.dpoint=point_to; + packet.opoint=point_from; + fwrite(&packet,(size_t) sizeof(packet), (size_t) 1, pkt); + fwrite(&fix2,(size_t) sizeof(fix2),(size_t) 1, pkt); + + pp.net_to=net_to; + pp.net_from=net_from; + pp.node_from=node_from; + pp.node_to=node_to; + pp.attribute = NM_PRIVATE; + pp.cost=0; + fwrite(&pp,(size_t) sizeof(pp), (size_t) 1, pkt); + + + for (anz = 0; anz < sizeof(datum); anz++) + datum[anz]=0x00; + strncpy(datum,zeit1.DayNr, (size_t) 3); + strncat(datum,zeit1.Month, (size_t) 3); + strcat(datum," "); + strncat(datum,zeit1.Year, (size_t) 2); + strcat(datum," "); + strncat(datum,zeit,(int) 2); + strcat(datum,":"); + strncat(datum,zeit+3,(int) 2); + strcat(datum,":"); + strncat(datum,zeit+6,(int) 2); + fwrite(datum,(size_t) strlen(datum), (size_t) 1, pkt); + fputc(0x00,pkt); + fwrite(sysop_to,(size_t) strlen(sysop_to),1,pkt); + fputc(0x00,pkt); + fwrite(sysop_from,(size_t) strlen(sysop_from),1,pkt); + fputc(0x00,pkt); + fwrite(call_subject,(size_t) strlen(call_subject),1,pkt); + fputc(0x00,pkt); +/* + fputc(0x01,pkt); + fwrite("AREA:",(size_t) strlen("AREA:"),1,pkt); + fwrite(area,(size_t) strlen(area),1,pkt); + fputc(0x0d,pkt); +*/ + sprintf(dummy_string,"\x01INTL %d:%d/%d %d:%d/%d\x0d",zone_to, net_to, + node_to, zone_from, net_from, node_from); + fwrite(dummy_string,(size_t) strlen(dummy_string), (size_t) 1, pkt); + + if (point_from) + { + sprintf(dummy_string,"%cFMPT %d\x0d",0x01, point_from); + fwrite(dummy_string,(size_t) strlen(dummy_string), (size_t) 1, pkt); + } + if (point_to) + { + sprintf(dummy_string,"\x01TOPT %d\x0d", point_to); + fwrite(dummy_string,(size_t) strlen(dummy_string), (size_t) 1, pkt); + } + + + sprintf(dummy_string,"\x01MSGID: %d:%d/%d.%d %8lx\x0d",zone_from,net_from,node_from,point_from,ltime); + fwrite(dummy_string,(size_t) strlen(dummy_string), (size_t) 1, pkt); + + sprintf(dummy_string,"\x01PID: VIREQ/Linux V%s\x0d",VERSION); + fwrite(dummy_string,(size_t) strlen(dummy_string), (size_t) 1, pkt); + + tmp=fopen(filename,"rb"); + + if (!tmp) + return(22); + while(!feof(tmp)) + { + anz=fread(dummy_string,(size_t) 1, (size_t) 80, tmp); + if (anz) + fwrite(dummy_string,(size_t) anz, (size_t) 1, pkt); + } + if (!point_from) + sprintf(dummy_string,"\x0d--- VIREQ/Linux V%s \x0d * Origin: (c) 1998-2001 by Volker Imre, Fidonet 2:246/2098 (%d:%d/%d)\x0d",VERSION, + zone_from, net_from, node_from); + else + sprintf(dummy_string,"\x0d--- VIREQ/Linux V%s\x0d * Origin: (c) 1998-2001 by Volker Imre, Fidonet 2:246/2098 (%d:%d/%d.%d)\x0d",VERSION, + zone_from, net_from, node_from, point_from); + fwrite(dummy_string,(size_t) strlen(dummy_string), (size_t) 1, pkt); + + fputc(0x00,pkt); + fputc(0x00,pkt); + fputc(0x00,pkt); + fclose(pkt); + fclose(tmp); + return(0); +} + +void write_log(char *log_zeile) +{ + char errorlevel=0; + FILE *logfile; + + char zeit[10]; + char logger[256]; + char *x; + static is_open=0; + char level[]={" !?+-~"}; + time_t akttime; + struct tm *d2; + char mon[][4]={"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"}; + + if (!strlen(logname)) + return; + + time(&akttime); + d2=localtime(&akttime); + +/* _strtime(zeit);*/ + strftime(zeit,10,"%H:%M:%S",d2); + x=strstr(log_zeile,"\n"); + if (x) + *x=0x00; + + logfile=fopen(logname,"a"); + if (!is_open) + { + sprintf(logger,"\n %2.2d %s %s VIR begin, VIREQ/Linux V%s\n",d2->tm_mday,mon[d2->tm_mon],zeit,VERSION); + fputs(logger,logfile); + is_open=1; + } + sprintf(logger," %2.2d %s %s VIR %s\n",d2->tm_mday,mon[d2->tm_mon],zeit, log_zeile); + + fputs(logger,logfile); + if (logfile) fclose(logfile); + return; +} +void findnext() +{ + while(1) + { + if (!direntp) + break; + direntp=readdir(dirp); + if (!direntp) + break; + if (!ungleich(filename,direntp->d_name)) + break; + } +} +void findclose() +{ + closedir(dirp); +} + +void findfile(char *name) +{ + char *p,*q; + p=strrchr(name,'/'); + if (!p) + { + direntp=NULL; + return; + } + q=p+1; + *p=0x00; + strcpy(dirname,name); + strcpy(filename,q); + p=strchr(filename,0x20); + if (p) + *p=0x00; + dirp = opendir( dirname ); + if( dirp == NULL ) { + perror( "Error " ); + } else { + direntp = readdir( dirp ); + } + if (ungleich(filename,direntp->d_name)) + findnext(); + if (!direntp) + findclose(); + +} + + +void main(int argc, char *argv[]) +{ + unsigned int nhandles; + FILE *config; + FILE *alias; + char configname[255]; + char aka=0,go_on=0,mmdone=0,mmcopy=0; + char eigen_aka=0; + char sysopname[255]; + char akastring[255]; + char baud[255]; + ch... [truncated message content] |
From: <ja...@us...> - 2008-12-27 15:50:43
|
Revision: 10 http://ftnapps.svn.sourceforge.net/ftnapps/?rev=10&view=rev Author: jame Date: 2008-12-27 15:50:41 +0000 (Sat, 27 Dec 2008) Log Message: ----------- Correct http path to vireq part of svn repository in vireq.html. Modified Paths: -------------- htdocs/online/vireq.html Modified: htdocs/online/vireq.html =================================================================== --- htdocs/online/vireq.html 2008-12-27 15:47:08 UTC (rev 9) +++ htdocs/online/vireq.html 2008-12-27 15:50:41 UTC (rev 10) @@ -43,7 +43,7 @@ <h2>vireq links</h2> <ul> - <li>Browse <a href="http:/ftnapps.svn.sourceforge.net/viewvc/ftnapps/vireq/">vireq</a> in the ftnapps SVN repository.</li> + <li>Browse <a href="http://ftnapps.svn.sourceforge.net/viewvc/ftnapps/vireq/">vireq</a> in the ftnapps SVN repository.</li> </ul> </div> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ja...@us...> - 2008-12-27 15:47:10
|
Revision: 9 http://ftnapps.svn.sourceforge.net/ftnapps/?rev=9&view=rev Author: jame Date: 2008-12-27 15:47:08 +0000 (Sat, 27 Dec 2008) Log Message: ----------- Correct http path to svn repository in index.html. Modified Paths: -------------- htdocs/online/index.html Modified: htdocs/online/index.html =================================================================== --- htdocs/online/index.html 2008-12-27 15:37:01 UTC (rev 8) +++ htdocs/online/index.html 2008-12-27 15:47:08 UTC (rev 9) @@ -67,7 +67,7 @@ </ul> <ul>Project SVN Repository - <li><a href="http://ftnapps.cvs.sourceforge.net/ftnapps">Browse the Project SVN repository</a></li> + <li><a href="http://ftnapps.svn.sourceforge.net/ftnapps">Browse the Project SVN repository</a></li> </ul> <ul>Mailing Lists This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ja...@us...> - 2008-12-27 15:37:08
|
Revision: 8 http://ftnapps.svn.sourceforge.net/ftnapps/?rev=8&view=rev Author: jame Date: 2008-12-27 15:37:01 +0000 (Sat, 27 Dec 2008) Log Message: ----------- Import VIREQ/X v0.10.5, by Volker Imre with patches by Viktor Kafke, to repository. Added Paths: ----------- vireq/branches/vendor/vkafke/0.10.5/ vireq/branches/vendor/vkafke/0.10.5/COPYING vireq/branches/vendor/vkafke/0.10.5/file_id.diz vireq/branches/vendor/vkafke/0.10.5/vimkidx.c vireq/branches/vendor/vkafke/0.10.5/vireq.c vireq/branches/vendor/vkafke/0.10.5/vireq.cfg vireq/branches/vendor/vkafke/0.10.5/vireq.dok vireq/branches/vendor/vkafke/0.10.5/vireq.h vireq/branches/vendor/vkafke/0.10.5/vireq.pwd vireq/branches/vendor/vkafke/0.10.5/whatsnew Added: vireq/branches/vendor/vkafke/0.10.5/COPYING =================================================================== --- vireq/branches/vendor/vkafke/0.10.5/COPYING (rev 0) +++ vireq/branches/vendor/vkafke/0.10.5/COPYING 2008-12-27 15:37:01 UTC (rev 8) @@ -0,0 +1,72 @@ +From: Vo...@im... +Subject: Re: License for ViReq? +Date: October 3, 2008 4:41:50 AM GMT-04:00 +To: ja...@ro... +Cc: vi...@ka... +Reply-To: Vo...@im... + +Hello Robert, + +>>> What is the License on the source? Can find no mention of +>>> that in any of the files... +>> +>> Volker is still a member of fidonet (2:246/2098), please ask him. +>> He's also reachable via eMail at Vo...@im... +>> +>> To my knowledge he has given ViReq to the public domain, as far as +>> you leave his name in the source code/dokumentation intact. + +> Is that what it is? Public domain? Or GPL? Because it's not +> mentioned in any of the files that I could find... + +You may do with the source code / program whatever you want, as long as the +original author (me) is mentioned. + + +>>> (I was thinking about packaging it for Debian/Ubuntu...) +>> +>> Good idea. I think he would agree to that - but please ask him +>> yourself. + +> I do have an initial package that does build, but of course can't +> distribute it without a license that says I can do so... + +Feel free to distribute and modify the program / source as you wish. + +-- +Best regards, +Volker + +===================================================================================== +From: ja...@ro... +Subject: License for ViReq? +Date: October 2, 2008 6:23:56 PM GMT-04:00 +To: Vo...@im... + +On Wed, 01 Oct 2008 17:25:46 -0400, Viktor Kafke wrote in the BinkD echo: + +>> What is the License on the source? Can find no mention of that in +>> any of the files... +> +> Volker is still a member of fidonet (2:246/2098), please ask him. He's +> also reachable via eMail at Vo...@im... +> +> To my knowledge he has given ViReq to the public domain, as far as you +> leave his name in the source code/dokumentation intact. + + Is that what it is? Public domain? Or GPL? Because it's not mentioned +in any of the files that I could find... + + +>> (I was thinking about packaging it for Debian/Ubuntu...) +> +> Good idea. I think he would agree to that - but please ask him yourself. + + I do have an initial package that does build, but of course can't +distribute it without a license that says I can do so... + + + +Robert James Clay +j...@ro... + \ No newline at end of file Added: vireq/branches/vendor/vkafke/0.10.5/file_id.diz =================================================================== --- vireq/branches/vendor/vkafke/0.10.5/file_id.diz (rev 0) +++ vireq/branches/vendor/vkafke/0.10.5/file_id.diz 2008-12-27 15:37:01 UTC (rev 8) @@ -0,0 +1,7 @@ +VIREQ/X V0.10.5(vk) +Filerequestprozessor fuer Linux +-Arbeitet mit SRIF gemaess FSC-0086.001 +-Benoetigt keine Filebase, auch keine + FILES.BBS + (c) 1998-2001 by Volker Imre + Kleine Patches by Viktor Kafke Added: vireq/branches/vendor/vkafke/0.10.5/vimkidx.c =================================================================== --- vireq/branches/vendor/vkafke/0.10.5/vimkidx.c (rev 0) +++ vireq/branches/vendor/vkafke/0.10.5/vimkidx.c 2008-12-27 15:37:01 UTC (rev 8) @@ -0,0 +1,764 @@ +#include <string.h> +#include <math.h> +#include <time.h> +#include <ctype.h> +#include <stdio.h> +#include <stdlib.h> +#include <fcntl.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <dirent.h> +#include "vireq.h" +DIR *dirp; +struct dirent *direntp; + +#define _MAX_DRIVE 128 +#define _MAX_DIR 512 +#define _MAX_FNAME 512 +#define _MAX_EXT 512 + + +char dummy_string[512]; +char ausgabe[512]; +char eingabe[4096]; +char dateiname[512]; +FILE *config; +char configname[255]; +char drive[_MAX_DRIVE]; +char path[_MAX_DIR]; +char file[_MAX_FNAME]; +char ext[_MAX_EXT]; + +struct +{ + char drive[3]; + char unc[255]; +} trans[30]; +FILE *tmp; +char *p; +FILE *pfade; +FILE *pfade_c; +FILE *fbbs; +char pfadname[255]; +char pfadcname[255]; +struct +{ + char open; + FILE *f; + char name[255]; +} idx[255]; +struct +{ + char open; + FILE *f; + char name[255]; +} idx_c[255]; +char stattest[512]; +struct stat buf; +char mmcopy=0; +char subdir[6000][255]; +char start_dir[255]; +int status=0; +char filesbbs[255]; +unsigned long ii=0,jj=0,tempzaehl=0; +unsigned long i=0; +char ende=0; +char dirs_name[255]; +unsigned char c; +void strlwr(char *); + +void findfile(char *dir, char *name) +{ + char *p, *q; + char entry[255]; + #ifdef UNIX + ; + #else + strlwr(dir); + #endif + dirp = opendir( dir ); + if( dirp == NULL ) { + printf(">>%s<< \n",dir); + perror( "Error " ); + } else { + direntp = readdir( dirp ); + } +} +void findnext() +{ + direntp=readdir(dirp); +} +void findclose() +{ + closedir(dirp); +} +void strlwr(char *dummy) +{ + char *p; + p=dummy; + while(*p) + { + *p=tolower(*p); + p++; + } +} +void strupr(char *dummy) +{ + char *p; + p=dummy; + while(*p) + { + *p=toupper(*p); + p++; + } +} + +int find_filesbbs(char *pfad) +{ + findfile(pfad,"*"); + if (!dirp) + { + findclose(); + + return(1); + } + while(direntp) + { + #ifdef UNIX + ; + #else + strlwr(direntp->d_name); + #endif + if (strstr("files.bbx",direntp->d_name)) + { + findclose(); + return(0); + } + findnext(); + } + findclose(); + return(1); +} +void oeffne_idx(char c) +{ + + sprintf(idx[c].name,"%svifile%c.idx",path,c); + idx[c].f=fopen(idx[c].name,"wt"); + if (idx[c].f) + idx[c].open=1; + else + { + printf("Fehler beim Oeffnen von "); + printf("%s",idx[c].name); + perror("\nFehler "); + } +} +void oeffne_idx_cdrom(char c) +{ + + sprintf(idx_c[c].name,"%s%svifile%c.idc",drive,path,c); + idx_c[c].f=fopen(idx_c[c].name,"wt"); + if (idx_c[c].f) + idx_c[c].open=1; + else + { + printf("Fehler beim Oeffnen von "); + printf("%s",idx_c[c].name); + perror("\nFehler "); + } +} + +void make_dirlist(char *dir) +{ + + FILE *dirs; + char *p; + + p=strchr(dir,0x0d); + if (p) + *p=0x00; + p=strchr(dir,0x0a); + if (p) + *p=0x00; + + + sprintf(dirs_name,"%sdirlist.dat",drive,path); + dirs=fopen(dirs_name,"wt"); + + sprintf(subdir[0],"%s",dir); + sprintf(start_dir,"%s",subdir[0]); + ii=1; + jj=1; + while(!ende) + { + findfile(start_dir,"*"); + if (direntp) + { + while(direntp) + { + if (ii==5990) + break; + sprintf(stattest,"%s/%s",start_dir,direntp->d_name); + stat(stattest,&buf); + if (!S_ISDIR(buf.st_mode)) + { + findnext(); + continue; + } + if (direntp->d_name[0]!='.') + { + tempzaehl=jj; + tempzaehl--; + sprintf(subdir[ii],"%s/%s",subdir[tempzaehl],direntp->d_name); + ii++; + printf("%u : %u --> %s\r",ii,jj,direntp->d_name); + } + findnext(); + } + findclose(); + } + sprintf(start_dir,"%s",subdir[jj++]); + if (jj > ii) + break; + } + for (jj=0;jj<ii ;jj++ ) { + fputs(subdir[jj],dirs); + fputs("\n",dirs); + } + fclose(dirs); +} + +void _outtext(char *text) +{ + printf(text); + printf("\n"); +} +int main(int argc, char *argv[]) +{ + char *q; + char mmcd=0, force=0; + char param=0; + char pfad[512]; + unsigned int nhandles; + long zaehler=0; + + for (param=0;param<argc ; param++) + { + #ifdef UNIX + ; + #else + strlwr(argv[param]); + #endif + if (!strncmp("-force",argv[param],strlen("-force"))) + force=1; + } + + _outtext("VIMKIDX/Linux V0.07.2(vk)"); + _outtext("Creates all needed indexfiles for VIREQ/Linux"); + _outtext("Use -force to recreate the cdrom-indices"); + + + _outtext("Reading Paths.. "); + _outtext("Path: "); +/* + nhandles=_grow_handles(300); + if (nhandles < 280) + { + _outtext("Ungenugende Anzahl Filehandles, Programmabbruch!"); + exit(200); + } +*/ + + + sprintf(path,"/usr/bin/vireq/"); + + sprintf(pfadname,"%svipath.idx",path); + sprintf(pfadcname,"%svipath.idc",path); + + sprintf(configname,"%svireq.cfg",path); + config=fopen(configname,"r"); + if (!config) + exit(99); + pfade=fopen(pfadname,"wt"); + if (!pfade) { + exit(98); + } + if (force) + { + pfade_c=fopen(pfadcname,"wt"); + if (!pfade_c) { + exit(96); + } + } + while(!feof(config)) + { + fgets(eingabe,(int)255,config); + if (feof(config)) + break; + #ifdef UNIX + ; + #else + strlwr(eingabe); + #endif + p=strchr(eingabe,0x0d); + if (p) *p=0x00; + p=strchr(eingabe,0x0a); + if (p) *p=0x00; + mmcd=0; + mmcopy=0; + if (!strncmp(eingabe,"include-file",strlen("include-file"))) + { + p=strstr(eingabe," -cd"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmcd=1; + } + if (mmcd && !force) + continue; + p=strstr(eingabe," -local"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmcopy=1; + } + p=strchr(eingabe,0x20); + if (!p) + break; + while(*p++==0x20); + p--; + q=strchr(p,0x20); + if (q) + *q=0x00; + tmp=fopen(p,"rt"); + if (!tmp) + continue; + while(!feof(tmp)) + { + fgets(eingabe,(int)255,tmp); + if (feof(tmp)) + break; + p=strchr(eingabe,0x0d); + if (p) *p=0x00; + p=strchr(eingabe,0x0a); + if (p) *p=0x00; + p=strchr(eingabe,0x20); + if (p) *p=0x00; + if (!strlen(eingabe)) + continue; + #ifdef UNIX + ; + #else + strlwr(eingabe); + #endif + if (eingabe[strlen(eingabe)-1]==0x5c) + eingabe[strlen(eingabe)-1]=0x00; + if (mmcopy) + strcat(eingabe," -local"); + if (mmcd) + { + fputs(eingabe,pfade_c); + fputs("\n",pfade_c); + } + else + { + fputs(eingabe,pfade); + fputs("\n",pfade); + } + _outtext(eingabe); + _outtext("\n\n"); + } + fclose(tmp); + continue; + } + if (!strncmp(eingabe,"include-path",strlen("include-path"))) + { + char mmsub=0; + p=strstr(eingabe," -s"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmsub=1; + } + p=strstr(eingabe," -S"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmsub=1; + } + p=strstr(eingabe," -t"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmsub=2; + } + p=strstr(eingabe," -T"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmsub=2; + } + p=strstr(eingabe," -cd"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmcd=1; + } + p=strstr(eingabe," -CD"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmcd=1; + } + p=strstr(eingabe," -local"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmcopy=1; + } + p=strstr(eingabe," -LOCAL"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmcopy=1; + } + if (mmcd && !force) + continue; + p=strchr(eingabe,0x20); + if (!p) + break; + while(*p++==0x20); + p--; + q=strchr(p,0x20); + if (q) + *q=0x00; + if (!mmsub) { + char *q; + q=strchr(p,0x20); + if (q) + *q=0x00; + if (mmcopy) + strcat(p," -local"); + if (mmcd) + { + fputs(p,pfade_c); + fputs("\n",pfade_c); + } + else + { + fputs(p,pfade); + fputs("\n",pfade); + } + _outtext(p); + _outtext("\n\n"); + continue; + } + + make_dirlist(p); + tmp=fopen(dirs_name,"rt"); + if (!tmp) + continue; + while(!feof(tmp)) + { + fgets(eingabe,(int)255,tmp); + if (feof(tmp)) + break; + p=strchr(eingabe,0x0d); + if (p) *p=0x00; + p=strchr(eingabe,0x0a); + if (p) *p=0x00; + #ifdef UNIX + ; + #else + strlwr(eingabe); + #endif + if (eingabe[strlen(eingabe)-1]==0x5c) + eingabe[strlen(eingabe)-1]=0x00; + status=find_filesbbs(eingabe); + if (status==0 || mmsub==2) + { + char *q; + q=strchr(eingabe,0x20); + if (q) + *q=0x00; + if (mmcopy) + strcat(eingabe," -local"); + if (mmcd) + { + fputs(eingabe,pfade_c); + fputs("\n",pfade_c); + } + else + { + fputs(eingabe,pfade); + fputs("\n",pfade); + } + printf("%s\r",eingabe); + } + } + fclose(tmp); + continue; + } + } + fclose(config); + fclose(pfade); + if (force) + fclose(pfade_c); +// Erstellen der VIFILE<x>.IDX + + for (i=0;i<256;i++) { + idx[i].open=0; + } /* endfor */ + _outtext("Reading Files... "); + _outtext("File: "); + + pfade=fopen(pfadname,"rt"); + if (!pfade) { + exit(90); + } + while(!feof(pfade)) + { + zaehler++; + fgets(eingabe,(int)255,pfade); + if (feof(pfade)) + break; + p=strchr(eingabe,0x0d); + if (p) *p=0x00; + p=strchr(eingabe,0x0a); + if (p) *p=0x00; + p=strstr(eingabe," -local"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + } + p=strchr(eingabe,0x20); + if (p) *p=0x00; + sprintf(filesbbs,"%s/files.bbx",eingabe); + fbbs=fopen(filesbbs,"rt"); + if (!fbbs) + { + findfile(eingabe,"*"); + if (direntp) + { + while(direntp) + { + sprintf(stattest,"%s/%s",eingabe,direntp->d_name); + stat(stattest,&buf); + if (S_ISDIR(buf.st_mode)) + { + findnext(); + continue; + } + + p=direntp->d_name; + #ifdef UNIX + ; + #else + strlwr(p); + #endif + c=*p; + if (!(c=='.')) + { + if (!idx[c].open) + oeffne_idx(c); + if (idx[c].open) + { + fprintf(idx[c].f,"%s %lu\n",p,zaehler-1); + } + printf("%s\r",p); + } + findnext(); + } + findclose(); + } + continue; + } + strcpy(pfad,eingabe); + while (!feof(fbbs)) + { + fgets(eingabe,(int)4000,fbbs); + if (feof(fbbs)) + break; + p=strchr(eingabe,0x0d); + if (p) *p=0x00; + p=strchr(eingabe,0x0a); + if (p) *p=0x00; + c=toupper(eingabe[0]); + if (c==0x20 || c==0x0a || c==0x0d || c=='/' || c=='&' || c=='.') + continue; + if (c=='+' || c=='*' || c=='\\' || c==0x00 || c==':') + continue; + c=tolower(c); + #ifdef UNIX + ; + #else + strlwr(eingabe); + #endif + if (!idx[c].open) + oeffne_idx(c); + if (!idx[c].open ) + continue; + p=strchr(eingabe,0x20); + if (p) + *p=0x00; + sprintf(dummy_string,"%s/%s",pfad,eingabe); + if (access(dummy_string,F_OK)) + continue; + fprintf(idx[c].f,"%s %lu\n",eingabe,zaehler-1); + printf("%s\r",eingabe); + } + fclose(fbbs); + } + fclose(pfade); + for (i=0;i<256;i++) { + if (idx[i].open==1) { + fclose(idx[i].f); + } + } /* endfor */ + if (!force) + { + for (i=0;i<256;i++) { + if (idx_c[i].open==1) { + fclose(idx_c[i].f); + } + } /* endfor */ + + _outtext("Finished!\n\n"); + return(0); + } + + pfade_c=fopen(pfadcname,"rt"); + if (!pfade) { + exit(90); + } + zaehler=0; + while(!feof(pfade_c)) + { + zaehler++; + fgets(eingabe,(int)255,pfade_c); + if (feof(pfade_c)) + break; + p=strchr(eingabe,0x0d); + if (p) *p=0x00; + p=strchr(eingabe,0x0a); + if (p) *p=0x00; + p=strstr(eingabe," -local"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + } + p=strchr(eingabe,0x20); + if (p) *p=0x00; + sprintf(filesbbs,"%s/files.bbx",eingabe); + fbbs=fopen(filesbbs,"rt"); + if (!fbbs) + { + findfile(eingabe,"*"); + if (direntp) + { + while(direntp) + { + p=direntp->d_name; + #ifdef UNIX + ; + #else + strlwr(p); + #endif + c=*p; + if (!(c=='.')) + { + if (!idx_c[c].open) + oeffne_idx_cdrom(c); + if (idx_c[c].open) + { + fprintf(idx_c[c].f,"%s %lu\n",p,zaehler-1); + } + _outtext(p); + _outtext("\n\n"); + } + findnext(); + } + findclose(); + } + continue; + } + while (!feof(fbbs)) + { + fgets(eingabe,(int)4000,fbbs); + if (feof(fbbs)) + break; + p=strchr(eingabe,0x0d); + if (p) *p=0x00; + p=strchr(eingabe,0x0a); + if (p) *p=0x00; + c=toupper(eingabe[0]); + if (c==0x20 || c==0x0a || c==0x0d || c=='/' || c=='&' || c=='.') + continue; + if (c=='+' || c=='*' || c=='\\' || c==0x00 || c==':') + continue; + #ifdef UNIX + ; + #else + strlwr(eingabe); + #endif + c=tolower(c); + if (!idx_c[c].open) + oeffne_idx_cdrom(c); + if (!idx_c[c].open ) + continue; + p=strchr(eingabe,0x20); + if (p) + *p=0x00; + fprintf(idx_c[c].f,"%s %lu\n",eingabe,zaehler-1); + _outtext(eingabe); + _outtext("\n\n"); + } + fclose(fbbs); + } + fclose(pfade_c); + + for (i=0;i<256;i++) { + if (idx_c[i].open==1) { + fclose(idx_c[i].f); + } + } /* endfor */ + + _outtext("Finished!\n\n"); + return(0); +} + Added: vireq/branches/vendor/vkafke/0.10.5/vireq.c =================================================================== --- vireq/branches/vendor/vkafke/0.10.5/vireq.c (rev 0) +++ vireq/branches/vendor/vkafke/0.10.5/vireq.c 2008-12-27 15:37:01 UTC (rev 8) @@ -0,0 +1,1475 @@ +#include <string.h> +#include <math.h> +#include <time.h> +#include <ctype.h> +#include <stdio.h> +#include <stdlib.h> +#include <fcntl.h> +#include <sys/types.h> +#include <sys/stat.h> +#define _MAX_DRIVE 3 +#define _MAX_DIR 255 +#define _MAX_FNAME 128 +#define _MAX_EXT 12 +#define MAX_FILENAMELEN _MAX_DRIVE + _MAX_DIR + _MAX_FNAME + _MAX_EXT +#include <dirent.h> +#include "vireq.h" + +DIR *dirp; +struct dirent *direntp; +struct stat datstat; +struct +{ + char name[MAX_FILENAMELEN]; + char passwort[20]; + long area; + char wildcard; + char found; + char mmcd; +} found[512]; + +char aliaslist[100][MAX_FILENAMELEN]; +unsigned int alias_max=0; + + +struct +{ + char open; + FILE *f; + char name[MAX_FILENAMELEN]; +} idx[255]; + +struct +{ + char open; + FILE *f; + char name[MAX_FILENAMELEN]; +} idx_c[255]; + +FILE *pfade; +char pfadfile[MAX_FILENAMELEN]; +#define VERSION "0.10.5(vk)" +FILE *pwfile; +char pwfilename[MAX_FILENAMELEN]; + +unsigned int i; +unsigned int j; +char c,pwok; +time_t aktuelles; +char statname[MAX_FILENAMELEN]; +char mmnewest, mmexecute; +char eingabe[512]; +char cdtemp[512]; +char ausgabe[512]; +char dateiname[255][MAX_FILENAMELEN]; +unsigned long area[255]; +char geoeffnet=0; +unsigned long max; +char systemname[512]; + +char srifname[MAX_FILENAMELEN]; +FILE *srif; +char requestname[MAX_FILENAMELEN]; +FILE *request; +char responsename[MAX_FILENAMELEN]; +FILE *response; +char *p; +char drive[_MAX_DRIVE]; +char path[_MAX_DIR]; +char file[_MAX_FNAME]; +char ext[_MAX_EXT]; +char adrive[_MAX_DRIVE]; +char apath[_MAX_DIR]; +char afname[_MAX_FNAME]; +char aext[_MAX_EXT]; +unsigned short task; +char logname[MAX_FILENAMELEN]; +char dlcname[MAX_FILENAMELEN]; +char *taska; +char tempname[MAX_FILENAMELEN]; + +void write_log (char *); +unsigned int zone_to, net_to, node_to, point_to=0; +unsigned int zone_from=2, net_from=246, node_from=2098, point_from=0; +void strlwr(char *dummy) +{ + char *p; + p=dummy; + while(*p) + { + *p=tolower(*p); + p++; + } +} +void strupr(char *dummy) +{ + char *p; + p=dummy; + while(*p) + { + *p=toupper(*p); + p++; + } +} +void ExpandPath(char *path) +{ + return; +} +char strnicmp(char *string1,char *string2, size_t laenge) +{ + char s1[2048]; + char s2[2048]; + char *p,*q; + strcpy(s1,string1); + strcpy(s2,string2); + s1[laenge]=0x00; + s2[laenge]=0x00; + strlwr(s1); + strlwr(s2); + return(strcmp(s1,s2)); +} + +char pwcheck(char *filename, char *password) +{ + char *p, *q; + char pwpfad[MAX_FILENAMELEN]; + char dummy1[512]; + pwok=0; + strlwr(filename); + strlwr(password); + + pwfile=fopen(pwfilename,"rt"); + if (!pwfile) + return(1); + while(1) + { + fgets(pwpfad,(int) MAX_FILENAMELEN - 2,pwfile); + if (feof(pwfile)) + { + pwok=1; + break; + } + strlwr(pwpfad); + p=strchr(pwpfad,0x0d); + if (p) + *p=0x00; + p=strchr(pwpfad,0x0a); + if (p) + *p=0x00; + q=strchr(pwpfad,0x20); + if (q) + *q=0x00; + p=strstr(filename,pwpfad); + if (q) + *q=0x20; + if (p) + { + p=strchr(pwpfad,0x20); + if (p) + { + while(*p++==0x20); + p--; + if (!strcmp(p,password)) + { + pwok=1; // passwort passt -> OK + break; + } + else + { + pwok=0; // Passwort pass nicht -> NOK + sprintf(dummy1,"Password expected for %s : %s\n",filename,p); + write_log(dummy1); + sprintf(dummy1,"Password received : %s",password); + write_log(dummy1); + break; + } + } + else + { + pwok=1; // kein pw im Pw-File... (?) + } + } + } + fclose(pwfile); + return(pwok); +} + +char copypuffer[65535]; + +char copy64k(char *quellpfad,char *zielpfad,char *dateiname) +{ + FILE *in,*out; + unsigned long gelesen; + char ein[512],aus[512]; + + sprintf(ein,"%s/%s",quellpfad,dateiname); + sprintf(aus,"%s/%s",zielpfad,dateiname); + + in=fopen(ein,"rb"); + if (!in) + return(1); + out=fopen(aus,"wb"); + if (!out) + { + fclose(in); + return(1); + } + while(1) + { + gelesen=fread(©puffer[0],(size_t)1, (size_t)65535,in); + if (!gelesen) + break; + fwrite(©puffer[0],(size_t) 1, (size_t) gelesen,out); + } + fclose(in); + fclose(out); + return(0); +} + + +char ungleich(char *q, char *z) +{ + char sichern=0; + char mmaufsetz=0; + char gesichert[60]; + char *aufsetz; + char *p; + char *r; + char ungleich=0; + r=q; + strcpy(gesichert,q); + while(1) + { + if (!*q) + { + if (mmaufsetz) + { + mmaufsetz=1; + } + else + { + if (*z) + ungleich=1; + break; + } + } + if (!*z) + { + if (!*q) + break; + if (*q!='*') + ungleich=1; + if (*q=='*') + if (*(q+1)) + ungleich=1; + break; + } + if (*q==*z || *q=='?') + { + q++; + z++; + continue; + } + if (*q=='*') + { + q++; + } + if (*(q-1)=='*' || (*q != *z && mmaufsetz)) + { + if (mmaufsetz && ! (*(q-1)=='*')) + q=aufsetz; + if (*(q-1)=='*') + { + if (!*q) + break; + } + p=q; + while(*p) + { + if (*p=='*' || *p=='?') + break; + p++; + } + if (*p=='*' || *p=='?') + { + sichern=*p; + *p=0x00; + } + if (!strstr(z,q)) + { + ungleich=1; + break; + } + else + { + z=strstr(z,q); + aufsetz=q; + if (strstr(z+1,q)) + mmaufsetz=1; + if (sichern) + { + *p=sichern; + sichern=0; + } + continue; + } + } + if (*q != *z) + { + ungleich=1; + break; + } + } + strcpy(r,gesichert); + return(ungleich); +} + +void write_temp(char *log_zeile) +{ + FILE *tmp; + tmp=fopen(tempname,"at"); + if (!tmp) + return; + fputs(log_zeile,tmp); + fputs("\x0d",tmp); + fclose(tmp); +} + +void write_dlc(char *log_zeile) +{ + FILE *tmp; + if (!strlen(dlcname)) + return; + tmp=fopen(dlcname,"at"); + if (!tmp) + return; + fputs(log_zeile,tmp); + fputs("\n",tmp); + fclose(tmp); +} + +int status; + +#define uint unsigned short +#define uchar unsigned char + +struct pkt_1 +{ + uint onode, + dnode; + uint jahr, + monat, + tag, + stunde, + minute, + sekunde; + uint baud; + uint fix; + uint onet, + dnet; + uchar pcode; + uchar rev_major; + uchar pw[8]; + uint ozone, + dzone; + uint auxnet; + uint cw1; + uchar pcode2, + revision; + uint cw2; + uint ozone2, + dzone2; + uint opoint, + dpoint; + uchar pdata[4]; +} packet; + char dirname[255]; + char filename[255]; + +struct d +{ +unsigned short node_from; +unsigned short node_to; +unsigned short net_from; +unsigned short net_to; +unsigned short attribute; +unsigned short cost; +} pp; + + +char datum[20]; + +#define NM_PRIVATE 1 +#define NM_CRASH 2 +#define NM_KILLSENT 128 +#define NM_LOCAL 256 +#define NM_HOLD 512 +#define NM_DIRECT 1024 + +char pfad2[255]; + +char dummy_string2[80]; +int write_pkt(char *pfad, char *sysop_from, char* sysop_to, + uint zone_from, uint net_from, + uint node_from, uint point_from, + uint zone_to, uint net_to, + uint node_to, uint point_to, + char *call_subject, char *filename) +{ + FILE *pkt, + *tmp; + char zeit[10]; + uint fix2=2; + int day; + char dummy_string[100]; + unsigned long anz; + struct + { + char Day[4]; + char Month[4]; + char DayNr[3]; + char filler[11]; + char Year[2]; + } zeit1; + char *p1; + time_t ltime; + struct tm *gmt; + + time (<ime); + gmt = localtime (<ime); +/* + _strtime(zeit); + _strdate(datum); +*/ + strftime(zeit,10,"%H:%M:%S",gmt); + + day=gmt->tm_wday; + + p1=asctime(gmt); + strncpy(zeit1.Day,p1,(int)4); + strncpy(zeit1.Month,p1+4,(int) 4); + strncpy(zeit1.DayNr,p1+8,(int) 3); + strncpy(zeit1.Year,p1+22,(int) 2); + + if (!strnicmp(zeit1.Month,"Dez",3)) + strcpy(zeit1.Month,"Dec"); + + if (!strnicmp(zeit1.Month,"Mae",3)) + strcpy(zeit1.Month,"Mar"); + + if (!strnicmp(zeit1.Month,"Mai",3)) + strcpy(zeit1.Month,"May"); + + if (!strnicmp(zeit1.Month,"Okt",3)) + strcpy(zeit1.Month,"Oct"); + +loop: + time(<ime); + if (pfad[strlen(pfad)-1] != '/') + strcat(pfad,"/"); + strcpy(pfad2,pfad); + sprintf(dummy_string,"%8lx",ltime); + strcat(pfad2,dummy_string); + strcat(pfad2,".pkt"); + if (!access(pfad2,(int)0x00)) + goto loop; + + pkt=fopen(pfad2,"wb"); + + if (!pkt) + return(21); + + packet.onode=node_from; + packet.dnode=node_to; + packet.jahr=gmt->tm_year; + packet.monat=gmt->tm_mon; + packet.tag=gmt->tm_mday; + packet.stunde=gmt->tm_hour; + packet.minute=gmt->tm_min; + packet.sekunde=gmt->tm_sec; + packet.baud=0x02; + packet.fix=0x02; + packet.auxnet=0x0000; + if (!point_from) + packet.onet=net_to; + else + { + packet.onet=0xffff; + packet.auxnet=net_to; + } + packet.dnet=net_to; + packet.pcode=0x00; + memset(packet.pw,0x00,(size_t)8); + packet.ozone=zone_from; + packet.dzone=zone_to; + packet.cw1=0x0100; + packet.pcode=0x00; + packet.rev_major=0x01; + packet.revision=0x30; + packet.cw2=0x0001; + packet.ozone2=zone_from; + packet.dzone2=zone_to; + packet.dpoint=point_to; + packet.opoint=point_from; + fwrite(&packet,(size_t) sizeof(packet), (size_t) 1, pkt); + fwrite(&fix2,(size_t) sizeof(fix2),(size_t) 1, pkt); + + pp.net_to=net_to; + pp.net_from=net_from; + pp.node_from=node_from; + pp.node_to=node_to; + pp.attribute = NM_PRIVATE; + pp.cost=0; + fwrite(&pp,(size_t) sizeof(pp), (size_t) 1, pkt); + + + for (anz = 0; anz < sizeof(datum); anz++) + datum[anz]=0x00; + strncpy(datum,zeit1.DayNr, (size_t) 3); + strncat(datum,zeit1.Month, (size_t) 3); + strcat(datum," "); + strncat(datum,zeit1.Year, (size_t) 2); + strcat(datum," "); + strncat(datum,zeit,(int) 2); + strcat(datum,":"); + strncat(datum,zeit+3,(int) 2); + strcat(datum,":"); + strncat(datum,zeit+6,(int) 2); + fwrite(datum,(size_t) strlen(datum), (size_t) 1, pkt); + fputc(0x00,pkt); + fwrite(sysop_to,(size_t) strlen(sysop_to),1,pkt); + fputc(0x00,pkt); + fwrite(sysop_from,(size_t) strlen(sysop_from),1,pkt); + fputc(0x00,pkt); + fwrite(call_subject,(size_t) strlen(call_subject),1,pkt); + fputc(0x00,pkt); +/* + fputc(0x01,pkt); + fwrite("AREA:",(size_t) strlen("AREA:"),1,pkt); + fwrite(area,(size_t) strlen(area),1,pkt); + fputc(0x0d,pkt); +*/ + sprintf(dummy_string,"\x01INTL %d:%d/%d %d:%d/%d\x0d",zone_to, net_to, + node_to, zone_from, net_from, node_from); + fwrite(dummy_string,(size_t) strlen(dummy_string), (size_t) 1, pkt); + + if (point_from) + { + sprintf(dummy_string,"%cFMPT %d\x0d",0x01, point_from); + fwrite(dummy_string,(size_t) strlen(dummy_string), (size_t) 1, pkt); + } + if (point_to) + { + sprintf(dummy_string,"\x01TOPT %d\x0d", point_to); + fwrite(dummy_string,(size_t) strlen(dummy_string), (size_t) 1, pkt); + } + + + sprintf(dummy_string,"\x01MSGID: %d:%d/%d.%d %8lx\x0d",zone_from,net_from,node_from,point_from,ltime); + fwrite(dummy_string,(size_t) strlen(dummy_string), (size_t) 1, pkt); + + sprintf(dummy_string,"\x01PID: VIREQ/Linux V%s\x0d",VERSION); + fwrite(dummy_string,(size_t) strlen(dummy_string), (size_t) 1, pkt); + + tmp=fopen(filename,"rb"); + + if (!tmp) + return(22); + while(!feof(tmp)) + { + anz=fread(dummy_string,(size_t) 1, (size_t) 80, tmp); + if (anz) + fwrite(dummy_string,(size_t) anz, (size_t) 1, pkt); + } + if (!point_from) + sprintf(dummy_string,"\x0d--- VIREQ/Linux V%s by Volker Imre \x0d * Origin: - (%d:%d/%d)\x0d",VERSION, + zone_from, net_from, node_from); + else + sprintf(dummy_string,"\x0d--- VIREQ/Linux V%s\x0d * Origin: (c) 1998-2001 by Volker Imre, Fidonet 2:246/2098 (%d:%d/%d.%d)\x0d",VERSION, + zone_from, net_from, node_from, point_from); + fwrite(dummy_string,(size_t) strlen(dummy_string), (size_t) 1, pkt); + + fputc(0x00,pkt); + fputc(0x00,pkt); + fputc(0x00,pkt); + fclose(pkt); + fclose(tmp); + return(0); +} + +void write_log(char *log_zeile) +{ + char errorlevel=0; + FILE *logfile; + + char zeit[10]; + char logger[256]; + char *x; + static is_open=0; + char level[]={" !?+-~"}; + time_t akttime; + struct tm *d2; + char mon[][4]={"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"}; + + if (!strlen(logname)) + return; + + time(&akttime); + d2=localtime(&akttime); + +/* _strtime(zeit);*/ + strftime(zeit,10,"%H:%M:%S",d2); + x=strstr(log_zeile,"\n"); + if (x) + *x=0x00; + + logfile=fopen(logname,"a"); + if (!is_open) + { + sprintf(logger,"\n %2.2d %s %s VIR begin, VIREQ/Linux V%s\n",d2->tm_mday,mon[d2->tm_mon],zeit,VERSION); + fputs(logger,logfile); + is_open=1; + } + sprintf(logger," %2.2d %s %s VIR %s\n",d2->tm_mday,mon[d2->tm_mon],zeit, log_zeile); + + fputs(logger,logfile); + if (logfile) fclose(logfile); + return; +} +void findnext() +{ + while(1) + { + if (!direntp) + break; + direntp=readdir(dirp); + if (!direntp) + break; + if (!ungleich(filename,direntp->d_name)) + break; + } +} +void findclose() +{ + closedir(dirp); +} + +void findfile(char *name) +{ + char *p,*q; + p=strrchr(name,'/'); + if (!p) + { + direntp=NULL; + return; + } + q=p+1; + *p=0x00; + strcpy(dirname,name); + strcpy(filename,q); + p=strchr(filename,0x20); + if (p) + *p=0x00; + dirp = opendir( dirname ); + if( dirp == NULL ) { + perror( "Error " ); + } else { + direntp = readdir( dirp ); + } + if (ungleich(filename,direntp->d_name)) + findnext(); + if (!direntp) + findclose(); + +} + + +void main(int argc, char *argv[]) +{ + unsigned int nhandles; + FILE *config; + FILE *alias; + char configname[255]; + char aka=0,go_on=0,mmdone=0,mmcopy=0; + char eigen_aka=0; + char sysopname[255]; + char akastring[255]; + char baud[255]; + char dummy_string[512]; + char pkt_pfad[255]; + unsigned int j; + + max=0; + if (argc < 2) { + exit(99); + } + taska=getenv("TASK"); + if (!taska) { + task=99; + } else { + task=atoi(taska); + } + +/* _splitpath(argv[0],drive,path,file,ext);*/ + sprintf(path,"/usr/bin/vireq/"); + sprintf(tempname,"%svireq%u.tmp",path,task); + unlink(tempname); + for (i=0;i<510 ; i++) + { + found[i].area=-1; + found[i].mmcd=0; + found[i].found=0; + } + memset(cdtemp,(int)0x00,(size_t)sizeof(cdtemp)); + + sprintf(configname,"%svireq.cfg",path); + sprintf(pwfilename,"%svireq.pwd",path); + config=fopen(configname,"rt"); + if (!config) + exit(99); + while(!feof(config)) + { + fgets(eingabe,(int)255,config); + if (feof(config)) + break; +/* strlwr(eingabe);*/ + p=strchr(eingabe,0x0d); + if (p) *p=0x00; + p=strchr(eingabe,0x0a); + if (p) *p=0x00; + if (!strnicmp(eingabe,"LOGFILE",strlen("LOGFILE"))) + { + strlwr(eingabe); + p=strchr(eingabe,0x20); + if (!p) + break; + while(*p++==0x20); + p--; + strcpy(dummy_string,p); + ExpandPath(dummy_string); + sprintf(logname,dummy_string,task); + } + if (!strnicmp(eingabe,"DLC-LOG",strlen("DLC-LOG"))) + { + strlwr(eingabe); + p=strchr(eingabe,0x20); + if (!p) + break; + while(*p++==0x20); + p--; + strcpy(dummy_string,p); + ExpandPath(dummy_string); + sprintf(dlcname,dummy_string,task); + } + if (!strnicmp(eingabe,"CDTEMP",strlen("CDTEMP"))) + { + p=strchr(eingabe,0x20); + if (!p) + break; + while(*p++==0x20); + p--; + strcpy(cdtemp,p); + ExpandPath(cdtemp); + } + if (!strnicmp(eingabe,"AKA",strlen("AKA")) && !eigen_aka) + { + eigen_aka=1; + p=strchr(eingabe,0x20); + if (!p) + break; + while(*p==0x20) + p++; + sprintf(akastring,p); + p=akastring; + zone_from=(unsigned)atoi(p); + p=strchr(akastring,':'); + p++; + net_from=(unsigned)atoi(p); + p=strchr(akastring,'/'); + p++; + node_from=(unsigned)atoi(p); + p=strchr(akastring,'.'); + if (p) { + p++; + point_from=(unsigned)atoi(p); + } + } + if (!strnicmp(eingabe,"ALIASLIST",strlen("ALIASLIST"))) + { + p=strchr(eingabe,0x20); + if (!p) + break; + while(*p++==0x20); + p--; + strcpy(aliaslist[alias_max],p); + ExpandPath(aliaslist[alias_max++]); + } + if (!strnicmp(eingabe,"SYSTEMNAME",strlen("SYSTEMNAME"))) + { + p=strchr(eingabe,0x20); + if (!p) + break; + while(*p++==0x20); + p--; + sprintf(systemname,p); + } + } + fclose(config); + sprintf(srifname,"%s",argv[1]); + srif=fopen(srifname,"rt"); + if (!srif) { + exit(98); + } + while (!feof(srif)) { + fgets(eingabe,(int)255,srif); + p=strchr(eingabe,0x0d); + if (p) + *p=0x00; + p=strchr(eingabe,0x0a); + if (p) + *p=0x00; + if (!strnicmp(eingabe,"Sysop",strlen("Sysop"))) + { + p=strchr(eingabe,0x20); + if (!p) + break; + while(*p==0x20) + p++; + sprintf(sysopname,p); + } + if (!strnicmp(eingabe,"AKA",strlen("AKA")) && !aka) + { + aka=1; + p=strchr(eingabe,0x20); + if (!p) + break; + while(*p==0x20) + p++; + sprintf(akastring,p); + p=akastring; + zone_to=(unsigned)atoi(p); + p=strchr(akastring,':'); + p++; + net_to=(unsigned)atoi(p); + p=strchr(akastring,'/'); + p++; + node_to=(unsigned)atoi(p); + p=strchr(akastring,'.'); + if (p) { + p++; + point_to=(unsigned)atoi(p); + } + } + if (!strnicmp(eingabe,"Baud",strlen("Baud"))) + { + aka=1; + p=strchr(eingabe,0x20); + if (!p) + break; + while(*p==0x20) + p++; + sprintf(baud,p); + } + if (!strnicmp(eingabe,"RequestList",strlen("RequestList"))) + { + p=strchr(eingabe,0x20); + if (!p) + break; + while(*p==0x20) + p++; + sprintf(requestname,p); + } + if (!strnicmp(eingabe,"ResponseList",strlen("ResponseList"))) + { + p=strchr(eingabe,0x20); + if (!p) + break; + while(*p==0x20) + p++; + sprintf(responsename,p); + } + } /* endwhile */ + fclose(srif); + sprintf(dummy_string,"Hi %s,\x0d\x0dhere is the result of your filerequest:\x0d\x0d",sysopname); + write_temp(dummy_string); + sprintf(dummy_string,"Requester is %s, %s at %s bps",sysopname,akastring,baud); + write_log(dummy_string); + write_log("Wanted Files:"); + write_temp("Wanted Files:"); + if (!strlen(requestname) || !strlen(responsename)) { + exit(97); + } + request=fopen(requestname,"rt"); + if (!request) { + exit(96); + } + while(!feof(request)) + { + fgets(eingabe,(int)200,request); + if (feof(request)) { + break; + } + p=strchr(eingabe,0x0d); + if (p) + *p=0x00; + p=strchr(eingabe,0x0a); + if (p) + *p=0x00; + p=strstr(eingabe," !"); // Suche nach Passwort + if (p) + { + p+=2; + strcpy(found[max].passwort,p); + p=strchr(found[max].passwort,0x20); // Leerzeichen am PW-Ende filtern + if (p) + *p=0x00; + } + else + found[max].passwort[0]=0x00; + p=strchr(eingabe,0x20); // Leerzeichen am Ende filtern + if (p) + *p=0x00; + #ifdef UNIX + ; + #else + strlwr(eingabe); + #endif + if (strchr(eingabe,'*') || strchr(eingabe,'?')) + { + found[max].area=-3; // Wildcard, area = -3 + found[max].wildcard=1; + } + else + found[max].wildcard=0; + strcpy(found[max++].name,eingabe); + + sprintf(dummy_string," %s",eingabe); + write_log(dummy_string); + write_temp(dummy_string); + if (max==500) + { + write_log("Maximum number of files for request (500) reached!"); + break; + } + } + fclose(request); + unlink(requestname); + if (alias_max) + { + for (i=0; i<alias_max; i++) + { + alias=fopen(aliaslist[i],"rt"); + if (!alias) + continue; + while(!feof(alias)) + { + fgets(eingabe,(int)255,alias); + if (feof(alias)) + break; + mmnewest=mmexecute=0; + p=strchr(eingabe,0x0d); + if (p) + *p=0x00; + p=strchr(eingabe,0x0a); + if (p) + *p=0x00; + // strlwr(eingabe); + p=strstr(eingabe," -newest"); + if (p) + { + *p=0x00; + mmnewest=1; + } + p=strstr(eingabe," -execute"); + if (p) + { + *p=0x00; + mmexecute=1; + } + p=strchr(eingabe,0x20); + if (!p) + continue; + *p=0x00; + j=0; + while(j < max) + { + printf("%s (%lu) -> %s (%lu)\n",eingabe,strlen(eingabe),found[j].name,strlen(found[j].name)); + if (!strncmp(eingabe,found[j].name,strlen(found[j].name)) && strlen(eingabe)==strlen(found[j].name)) + { + found[j].area=-2; + *p=0x20; + while(*p==0x20) + p++; + strcpy(found[j].name,p); + if (mmexecute) + { + found[j].area=-5; + } + + if (strchr(found[j].name,'*') || strchr(found[j].name,'?')) + { + aktuelles=0; + findfile(found[j].name); + if (direntp && !mmnewest) + found[j].area=-4; + while(direntp) + { + if (mmnewest) + { + sprintf(statname,"%s/%s",dirname,direntp->d_name); + stat(statname,&datstat); + if (datstat.st_mtime > aktuelles) + { + sprintf(found[j].name,"%s/%s",dirname,direntp->d_name); + aktuelles=datstat.st_mtime; + } + } + else + { + found[max].area=-2; + sprintf(found[max++].name,"%s/%s",dirname,direntp->d_name); + } + findnext(); + } + findclose(); + } + + } + j++; + } + } + fclose(alias); + } /* endfor */ + } + i=0; + while (i < max) { + if (found[i].area==-2 || found[i].area==-5) // ALIAS, bereits gefunden! + { + i++; + continue; + } + #ifdef UNIX + ; + #else + c=tolower(found[i++].name[0]); + #endif + c=(found[i++].name[0]); + if (!idx[c].open==1) + { + sprintf(idx[c].name,"%svifile%c.idx",path,c); + idx[c].f=fopen(idx[c].name,"rt"); + if (idx[c].f) + { + idx[c].open=1; + geoeffnet++; + } + } + } /* endwhile */ + i=0; + while (1) { + for (j=0;j<250;j++ ) { + if (idx[j].open==1) { + fscanf(idx[j].f,"%s %lu",dateiname[j],&area[j]); + if (feof(idx[j].f)) { + fclose(idx[j].f); + idx[j].open=0; + geoeffnet--; + } + } + } + if (!geoeffnet) { + break; + } + i=0; + while (i < max && max < 500) + { + if (found[i].area!=-1 && found[i].area!=-3 && found[i].area!=-4) + { + i++; + continue; + } + #ifdef UNIX + ; + #else + c=tolower(found[i].name[0]); + #endif + c=(found[i].name[0]); + if (!idx[c].open) + { + i++; + continue; + } + if (found[i].wildcard) + { + if (!ungleich(found[i].name,dateiname[c])) + { + found[i].found=1; + strcpy(found[max].name,dateiname[c]); + strcpy(found[max].passwort,found[i].passwort); + found[max++].area=area[c]; + if (max==500) + { + write_log("Maximum number of files for request (500) reached!"); + write_temp("Maximum number of files for request (500) reached!"); + break; + } + } + } + else + { + if (!strncmp(dateiname[c],found[i].name,strlen(found[i].name)) && strlen(dateiname[c])==strlen(found[i].name)) + { + found[i].area=area[c]; + } + } + i++; + } + } + for (i=0;i<250;i++) { + if (idx[i].open==1) { + fclose(idx[i].f); + } + } /* endfor */ + + + // Nur auf CD suchen, wenn ein/mehrere Files nicht gefunden wurden! + + for (i=0;i<500 ; i++) + { + if ((found[i].area==-1 || found[i].area == -3) && strlen(found[i].name)) + { + go_on=1; + break; + } + } + if (go_on) + { + geoeffnet=0; + i=0; + while (i < max) { + if (found[i].area==-2) // ALIAS, bereits gefunden! + { + i++; + continue; + } + c=found[i++].name[0]; + if (!idx_c[c].open==1) + { + sprintf(idx_c[c].name,"%svifile%c.idc",path,c); + idx_c[c].f=fopen(idx_c[c].name,"rt"); + if (idx_c[c].f) + { + idx_c[c].open=1; + geoeffnet++; + } + } + } /* endwhile */ + + i=0; + while (1) { + for (j=0;j<256;j++ ) { + if (idx_c[j].open==1) { + fscanf(idx_c[j].f,"%s %lu",dateiname[j],&area[j]); + if (feof(idx_c[j].f)) { + fclose(idx_c[j].f); + idx_c[j].open=0; + geoeffnet--; + } + } + } + if (!geoeffnet) { + break; + } + i=0; + while (i < max && max < 500) + { + if (found[i].area!=-1 && found[i].area!=-3 && found[i].area!=-4) + { + i++; + continue; + } + c=found[i].name[0]; + if (!idx_c[c].open) + { + i++; + continue; + } + if (found[i].wildcard) + { + if (!ungleich(found[i].name,dateiname[c])) + { + strcpy(found[max].name,dateiname[c]); + strcpy(found[max].passwort,found[i].passwort); + found[i].found=1; + found[max].mmcd=1; + found[max++].area=area[c]; + if (max==500) + { + write_log("Maximum number of files for request (500) reached!"); + write_temp("Maximum number of files for request (500) reached!"); + break; + } + } + } + else + { + if (!strncmp(dateiname[c],found[i].name,strlen(found[i].name)) && strlen(dateiname[c])==strlen(found[i].name)) + { + found[i].area=area[c]; + found[i].mmcd=1; + } + } + i++; + } + } + for (i=0;i<256;i++) { + if (idx_c[i].open==1) { + fclose(idx_c[i].f); + } + } /* endfor */ + } + + response=fopen(responsename,"wt"); + + sprintf(pfadfile,"%svipath.idx",path); + pfade=fopen(pfadfile,"rt"); + if (pfade) + { + unsigned long zaehler=0; + while(!feof(pfade)) + { + fgets(eingabe,(int)200,pfade); + if (feof(pfade)) { + break; + } + p=strchr(eingabe,0x0d); + if (p) + *p=0x00; + p=strchr(eingabe,0x0a); + if (p) + *p=0x00; + for (i=0;i<max ;i++ ) + { + if (found[i].area==zaehler && !found[i].mmcd) + { + sprintf(dummy_string,"%s/%s",eingabe,found[i].name); + pwok=pwcheck(dummy_string,found[i].passwort); + if (pwok) + { + if (!mmdone) + { + write_log("Files found:"); + write_temp("Files found:"); + mmdone=1; + } + ExpandPath(eingabe); + sprintf(ausgabe,"+%s/%s\n",eingabe,found[i].name); + fputs(ausgabe,response); + sprintf(dummy_string," %s/%s\n",eingabe,found[i].name); + write_log(dummy_string); + sprintf(dummy_string,"%s/%s",eingabe,found[i].name); + write_dlc(dummy_string); + sprintf(dummy_string," %s",found[i].name); + write_temp(dummy_string); + } + else + { + found[i].area=-6; + } + } + } + zaehler++; + } + fclose(pfade); + } + + sprintf(pfadfile,"%svipath.idc",path); + pfade=fopen(pfadfile,"rt"); + if (pfade) + { + unsigned long zaehler=0; + while(!feof(pfade)) + { + mmcopy=0; + fgets(eingabe,(int)200,pfade); + if (feof(pfade)) { + break; + } + p=strchr(eingabe,0x0d); + if (p) + *p=0x00; + p=strchr(eingabe,0x0a); + if (p) + *p=0x00; + for (i=0;i<max ;i++ ) + { + if (found[i].area==zaehler && found[i].mmcd) + { + strupr(eingabe); + p=strstr(eingabe," -LOCAL"); + if (p) + { + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + if (strlen(cdtemp)) + mmcopy=1; + } + p=strchr(eingabe,0x20); // Leerzeichen am Ende filtern + if (p) + *p=0x00; + ExpandPath(eingabe); + sprintf(dummy_string,"%s/%s",eingabe,found[i].name); + pwok=pwcheck(dummy_string,found[i].passwort); + if (pwok) + { + if (!mmdone) + { + write_log("Files found:"); + write_temp("Files found:"); + mmdone=1; + } + if (!mmcopy) + { + sprintf(ausgabe,"+%s/%s\n",eingabe,found[i].name); + fputs(ausgabe,response); + } + else + { + if (!copy64k(eingabe,cdtemp,found[i].name)) + { + sprintf(ausgabe,"-%s/%s\n",cdtemp,found[i].name); + fputs(ausgabe,response); + } + else + { + sprintf(ausgabe,"+%s/%s\n",eingabe,found[i].name); + fputs(ausgabe,response); + } + } + sprintf(dummy_string," %s/%s\n",eingabe,found[i].name); + write_log(dummy_string); + sprintf(dummy_string,"%s/%s",eingabe,found[i].name); + write_dlc(dummy_string); + sprintf(dummy_string," %s",found[i].name); + write_temp(dummy_string); + } + else + { + found[i].area=-6; + } + } + } + zaehler++; + } + fclose(pfade); + } + + // Auswertung der Aliase (areacode = -2) + for (i=0;i<max ;i++ ) + { + if (found[i].area==-2) + { + ExpandPath(found[i].name); + pwok=pwcheck(found[i].name,found[i].passwort); + if (pwok) + { + if (!mmdone) + { + write_log("Files found:"); + write_temp("Files found:"); + mmdone=1; + } + sprintf(ausgabe,"+%s\n",found[i].name); + fputs(ausgabe,response); +/* _splitpath(found[i].name,adrive,apath,afname,aext);*/ + sprintf(dummy_string," %s (Alias)",found[i].name); + ... [truncated message content] |
From: <ja...@us...> - 2008-12-27 15:28:06
|
Revision: 7 http://ftnapps.svn.sourceforge.net/ftnapps/?rev=7&view=rev Author: jame Date: 2008-12-27 15:28:03 +0000 (Sat, 27 Dec 2008) Log Message: ----------- Import VIREQ/X v0.10.2, by Volker Imre with patches by Viktor Kafke, to repository. Added Paths: ----------- vireq/branches/vendor/vkafke/0.10.2/ vireq/branches/vendor/vkafke/0.10.2/COPYING vireq/branches/vendor/vkafke/0.10.2/file_id.diz vireq/branches/vendor/vkafke/0.10.2/vimkidx.c vireq/branches/vendor/vkafke/0.10.2/vireq.c vireq/branches/vendor/vkafke/0.10.2/vireq.cfg vireq/branches/vendor/vkafke/0.10.2/vireq.dok vireq/branches/vendor/vkafke/0.10.2/vireq.h vireq/branches/vendor/vkafke/0.10.2/vireq.pwd vireq/branches/vendor/vkafke/0.10.2/whatsnew Added: vireq/branches/vendor/vkafke/0.10.2/COPYING =================================================================== --- vireq/branches/vendor/vkafke/0.10.2/COPYING (rev 0) +++ vireq/branches/vendor/vkafke/0.10.2/COPYING 2008-12-27 15:28:03 UTC (rev 7) @@ -0,0 +1,72 @@ +From: Vo...@im... +Subject: Re: License for ViReq? +Date: October 3, 2008 4:41:50 AM GMT-04:00 +To: ja...@ro... +Cc: vi...@ka... +Reply-To: Vo...@im... + +Hello Robert, + +>>> What is the License on the source? Can find no mention of +>>> that in any of the files... +>> +>> Volker is still a member of fidonet (2:246/2098), please ask him. +>> He's also reachable via eMail at Vo...@im... +>> +>> To my knowledge he has given ViReq to the public domain, as far as +>> you leave his name in the source code/dokumentation intact. + +> Is that what it is? Public domain? Or GPL? Because it's not +> mentioned in any of the files that I could find... + +You may do with the source code / program whatever you want, as long as the +original author (me) is mentioned. + + +>>> (I was thinking about packaging it for Debian/Ubuntu...) +>> +>> Good idea. I think he would agree to that - but please ask him +>> yourself. + +> I do have an initial package that does build, but of course can't +> distribute it without a license that says I can do so... + +Feel free to distribute and modify the program / source as you wish. + +-- +Best regards, +Volker + +===================================================================================== +From: ja...@ro... +Subject: License for ViReq? +Date: October 2, 2008 6:23:56 PM GMT-04:00 +To: Vo...@im... + +On Wed, 01 Oct 2008 17:25:46 -0400, Viktor Kafke wrote in the BinkD echo: + +>> What is the License on the source? Can find no mention of that in +>> any of the files... +> +> Volker is still a member of fidonet (2:246/2098), please ask him. He's +> also reachable via eMail at Vo...@im... +> +> To my knowledge he has given ViReq to the public domain, as far as you +> leave his name in the source code/dokumentation intact. + + Is that what it is? Public domain? Or GPL? Because it's not mentioned +in any of the files that I could find... + + +>> (I was thinking about packaging it for Debian/Ubuntu...) +> +> Good idea. I think he would agree to that - but please ask him yourself. + + I do have an initial package that does build, but of course can't +distribute it without a license that says I can do so... + + + +Robert James Clay +j...@ro... + \ No newline at end of file Added: vireq/branches/vendor/vkafke/0.10.2/file_id.diz =================================================================== --- vireq/branches/vendor/vkafke/0.10.2/file_id.diz (rev 0) +++ vireq/branches/vendor/vkafke/0.10.2/file_id.diz 2008-12-27 15:28:03 UTC (rev 7) @@ -0,0 +1,7 @@ +VIREQ/X V0.10.2(vk) +Filerequestprozessor fuer Linux +-Arbeitet mit SRIF gemaess FSC-0086.001 +-Benoetigt keine Filebase, auch keine + FILES.BBS + (c) 1998-2001 by Volker Imre + Kleine Patches by Viktor Kafke Added: vireq/branches/vendor/vkafke/0.10.2/vimkidx.c =================================================================== --- vireq/branches/vendor/vkafke/0.10.2/vimkidx.c (rev 0) +++ vireq/branches/vendor/vkafke/0.10.2/vimkidx.c 2008-12-27 15:28:03 UTC (rev 7) @@ -0,0 +1,764 @@ +#include <string.h> +#include <math.h> +#include <time.h> +#include <ctype.h> +#include <stdio.h> +#include <stdlib.h> +#include <fcntl.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <dirent.h> +#include "vireq.h" +DIR *dirp; +struct dirent *direntp; + +#define _MAX_DRIVE 128 +#define _MAX_DIR 512 +#define _MAX_FNAME 512 +#define _MAX_EXT 512 + + +char dummy_string[512]; +char ausgabe[512]; +char eingabe[4096]; +char dateiname[512]; +FILE *config; +char configname[255]; +char drive[_MAX_DRIVE]; +char path[_MAX_DIR]; +char file[_MAX_FNAME]; +char ext[_MAX_EXT]; + +struct +{ + char drive[3]; + char unc[255]; +} trans[30]; +FILE *tmp; +char *p; +FILE *pfade; +FILE *pfade_c; +FILE *fbbs; +char pfadname[255]; +char pfadcname[255]; +struct +{ + char open; + FILE *f; + char name[255]; +} idx[255]; +struct +{ + char open; + FILE *f; + char name[255]; +} idx_c[255]; +char stattest[512]; +struct stat buf; +char mmcopy=0; +char subdir[6000][255]; +char start_dir[255]; +int status=0; +char filesbbs[255]; +unsigned long ii=0,jj=0,tempzaehl=0; +unsigned long i=0; +char ende=0; +char dirs_name[255]; +unsigned char c; +void strlwr(char *); + +void findfile(char *dir, char *name) +{ + char *p, *q; + char entry[255]; + #ifdef UNIX + ; + #else + strlwr(dir); + #endif + dirp = opendir( dir ); + if( dirp == NULL ) { + printf(">>%s<< \n",dir); + perror( "Error " ); + } else { + direntp = readdir( dirp ); + } +} +void findnext() +{ + direntp=readdir(dirp); +} +void findclose() +{ + closedir(dirp); +} +void strlwr(char *dummy) +{ + char *p; + p=dummy; + while(*p) + { + *p=tolower(*p); + p++; + } +} +void strupr(char *dummy) +{ + char *p; + p=dummy; + while(*p) + { + *p=toupper(*p); + p++; + } +} + +int find_filesbbs(char *pfad) +{ + findfile(pfad,"*"); + if (!dirp) + { + findclose(); + + return(1); + } + while(direntp) + { + #ifdef UNIX + ; + #else + strlwr(direntp->d_name); + #endif + if (strstr("files.bbs",direntp->d_name)) + { + findclose(); + return(0); + } + findnext(); + } + findclose(); + return(1); +} +void oeffne_idx(char c) +{ + + sprintf(idx[c].name,"%svifile%c.idx",path,c); + idx[c].f=fopen(idx[c].name,"wt"); + if (idx[c].f) + idx[c].open=1; + else + { + printf("Fehler beim Oeffnen von "); + printf("%s",idx[c].name); + perror("\nFehler "); + } +} +void oeffne_idx_cdrom(char c) +{ + + sprintf(idx_c[c].name,"%s%svifile%c.idc",drive,path,c); + idx_c[c].f=fopen(idx_c[c].name,"wt"); + if (idx_c[c].f) + idx_c[c].open=1; + else + { + printf("Fehler beim Oeffnen von "); + printf("%s",idx_c[c].name); + perror("\nFehler "); + } +} + +void make_dirlist(char *dir) +{ + + FILE *dirs; + char *p; + + p=strchr(dir,0x0d); + if (p) + *p=0x00; + p=strchr(dir,0x0a); + if (p) + *p=0x00; + + + sprintf(dirs_name,"%sdirlist.dat",drive,path); + dirs=fopen(dirs_name,"wt"); + + sprintf(subdir[0],"%s",dir); + sprintf(start_dir,"%s",subdir[0]); + ii=1; + jj=1; + while(!ende) + { + findfile(start_dir,"*"); + if (direntp) + { + while(direntp) + { + if (ii==5990) + break; + sprintf(stattest,"%s/%s",start_dir,direntp->d_name); + stat(stattest,&buf); + if (!S_ISDIR(buf.st_mode)) + { + findnext(); + continue; + } + if (direntp->d_name[0]!='.') + { + tempzaehl=jj; + tempzaehl--; + sprintf(subdir[ii],"%s/%s",subdir[tempzaehl],direntp->d_name); + ii++; + printf("%u : %u --> %s\r",ii,jj,direntp->d_name); + } + findnext(); + } + findclose(); + } + sprintf(start_dir,"%s",subdir[jj++]); + if (jj > ii) + break; + } + for (jj=0;jj<ii ;jj++ ) { + fputs(subdir[jj],dirs); + fputs("\n",dirs); + } + fclose(dirs); +} + +void _outtext(char *text) +{ + printf(text); + printf("\n"); +} +int main(int argc, char *argv[]) +{ + char *q; + char mmcd=0, force=0; + char param=0; + char pfad[512]; + unsigned int nhandles; + long zaehler=0; + + for (param=0;param<argc ; param++) + { + #ifdef UNIX + ; + #else + strlwr(argv[param]); + #endif + if (!strncmp("-force",argv[param],strlen("-force"))) + force=1; + } + + _outtext("VIMKIDX/Linux V0.07.2(vk)"); + _outtext("Creates all needed indexfiles for VIREQ/Linux"); + _outtext("Use -force to recreate the cdrom-indices"); + + + _outtext("Reading Paths.. "); + _outtext("Path: "); +/* + nhandles=_grow_handles(300); + if (nhandles < 280) + { + _outtext("Ungenugende Anzahl Filehandles, Programmabbruch!"); + exit(200); + } +*/ + + + sprintf(path,"/usr/bin/vireq/"); + + sprintf(pfadname,"%svipath.idx",path); + sprintf(pfadcname,"%svipath.idc",path); + + sprintf(configname,"%svireq.cfg",path); + config=fopen(configname,"r"); + if (!config) + exit(99); + pfade=fopen(pfadname,"wt"); + if (!pfade) { + exit(98); + } + if (force) + { + pfade_c=fopen(pfadcname,"wt"); + if (!pfade_c) { + exit(96); + } + } + while(!feof(config)) + { + fgets(eingabe,(int)255,config); + if (feof(config)) + break; + #ifdef UNIX + ; + #else + strlwr(eingabe); + #endif + p=strchr(eingabe,0x0d); + if (p) *p=0x00; + p=strchr(eingabe,0x0a); + if (p) *p=0x00; + mmcd=0; + mmcopy=0; + if (!strncmp(eingabe,"include-file",strlen("include-file"))) + { + p=strstr(eingabe," -cd"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmcd=1; + } + if (mmcd && !force) + continue; + p=strstr(eingabe," -local"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmcopy=1; + } + p=strchr(eingabe,0x20); + if (!p) + break; + while(*p++==0x20); + p--; + q=strchr(p,0x20); + if (q) + *q=0x00; + tmp=fopen(p,"rt"); + if (!tmp) + continue; + while(!feof(tmp)) + { + fgets(eingabe,(int)255,tmp); + if (feof(tmp)) + break; + p=strchr(eingabe,0x0d); + if (p) *p=0x00; + p=strchr(eingabe,0x0a); + if (p) *p=0x00; + p=strchr(eingabe,0x20); + if (p) *p=0x00; + if (!strlen(eingabe)) + continue; + #ifdef UNIX + ; + #else + strlwr(eingabe); + #endif + if (eingabe[strlen(eingabe)-1]==0x5c) + eingabe[strlen(eingabe)-1]=0x00; + if (mmcopy) + strcat(eingabe," -local"); + if (mmcd) + { + fputs(eingabe,pfade_c); + fputs("\n",pfade_c); + } + else + { + fputs(eingabe,pfade); + fputs("\n",pfade); + } + _outtext(eingabe); + _outtext("\n\n"); + } + fclose(tmp); + continue; + } + if (!strncmp(eingabe,"include-path",strlen("include-path"))) + { + char mmsub=0; + p=strstr(eingabe," -s"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmsub=1; + } + p=strstr(eingabe," -S"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmsub=1; + } + p=strstr(eingabe," -t"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmsub=2; + } + p=strstr(eingabe," -T"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmsub=2; + } + p=strstr(eingabe," -cd"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmcd=1; + } + p=strstr(eingabe," -CD"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmcd=1; + } + p=strstr(eingabe," -local"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmcopy=1; + } + p=strstr(eingabe," -LOCAL"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmcopy=1; + } + if (mmcd && !force) + continue; + p=strchr(eingabe,0x20); + if (!p) + break; + while(*p++==0x20); + p--; + q=strchr(p,0x20); + if (q) + *q=0x00; + if (!mmsub) { + char *q; + q=strchr(p,0x20); + if (q) + *q=0x00; + if (mmcopy) + strcat(p," -local"); + if (mmcd) + { + fputs(p,pfade_c); + fputs("\n",pfade_c); + } + else + { + fputs(p,pfade); + fputs("\n",pfade); + } + _outtext(p); + _outtext("\n\n"); + continue; + } + + make_dirlist(p); + tmp=fopen(dirs_name,"rt"); + if (!tmp) + continue; + while(!feof(tmp)) + { + fgets(eingabe,(int)255,tmp); + if (feof(tmp)) + break; + p=strchr(eingabe,0x0d); + if (p) *p=0x00; + p=strchr(eingabe,0x0a); + if (p) *p=0x00; + #ifdef UNIX + ; + #else + strlwr(eingabe); + #endif + if (eingabe[strlen(eingabe)-1]==0x5c) + eingabe[strlen(eingabe)-1]=0x00; + status=find_filesbbs(eingabe); + if (status==0 || mmsub==2) + { + char *q; + q=strchr(eingabe,0x20); + if (q) + *q=0x00; + if (mmcopy) + strcat(eingabe," -local"); + if (mmcd) + { + fputs(eingabe,pfade_c); + fputs("\n",pfade_c); + } + else + { + fputs(eingabe,pfade); + fputs("\n",pfade); + } + printf("%s\r",eingabe); + } + } + fclose(tmp); + continue; + } + } + fclose(config); + fclose(pfade); + if (force) + fclose(pfade_c); +// Erstellen der VIFILE<x>.IDX + + for (i=0;i<256;i++) { + idx[i].open=0; + } /* endfor */ + _outtext("Reading Files... "); + _outtext("File: "); + + pfade=fopen(pfadname,"rt"); + if (!pfade) { + exit(90); + } + while(!feof(pfade)) + { + zaehler++; + fgets(eingabe,(int)255,pfade); + if (feof(pfade)) + break; + p=strchr(eingabe,0x0d); + if (p) *p=0x00; + p=strchr(eingabe,0x0a); + if (p) *p=0x00; + p=strstr(eingabe," -local"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + } + p=strchr(eingabe,0x20); + if (p) *p=0x00; + sprintf(filesbbs,"%s/files.bbs",eingabe); + fbbs=fopen(filesbbs,"rt"); + if (!fbbs) + { + findfile(eingabe,"*"); + if (direntp) + { + while(direntp) + { + sprintf(stattest,"%s/%s",eingabe,direntp->d_name); + stat(stattest,&buf); + if (S_ISDIR(buf.st_mode)) + { + findnext(); + continue; + } + + p=direntp->d_name; + #ifdef UNIX + ; + #else + strlwr(p); + #endif + c=*p; + if (!(c=='.')) + { + if (!idx[c].open) + oeffne_idx(c); + if (idx[c].open) + { + fprintf(idx[c].f,"%s %lu\n",p,zaehler-1); + } + printf("%s\r",p); + } + findnext(); + } + findclose(); + } + continue; + } + strcpy(pfad,eingabe); + while (!feof(fbbs)) + { + fgets(eingabe,(int)4000,fbbs); + if (feof(fbbs)) + break; + p=strchr(eingabe,0x0d); + if (p) *p=0x00; + p=strchr(eingabe,0x0a); + if (p) *p=0x00; + c=toupper(eingabe[0]); + if (c==0x20 || c==0x0a || c==0x0d || c=='/' || c=='&' || c=='.') + continue; + if (c=='+' || c=='*' || c=='\\' || c==0x00 || c==':') + continue; + c=tolower(c); + #ifdef UNIX + ; + #else + strlwr(eingabe); + #endif + if (!idx[c].open) + oeffne_idx(c); + if (!idx[c].open ) + continue; + p=strchr(eingabe,0x20); + if (p) + *p=0x00; + sprintf(dummy_string,"%s/%s",pfad,eingabe); + if (access(dummy_string,F_OK)) + continue; + fprintf(idx[c].f,"%s %lu\n",eingabe,zaehler-1); + printf("%s\r",eingabe); + } + fclose(fbbs); + } + fclose(pfade); + for (i=0;i<256;i++) { + if (idx[i].open==1) { + fclose(idx[i].f); + } + } /* endfor */ + if (!force) + { + for (i=0;i<256;i++) { + if (idx_c[i].open==1) { + fclose(idx_c[i].f); + } + } /* endfor */ + + _outtext("Finished!\n\n"); + return(0); + } + + pfade_c=fopen(pfadcname,"rt"); + if (!pfade) { + exit(90); + } + zaehler=0; + while(!feof(pfade_c)) + { + zaehler++; + fgets(eingabe,(int)255,pfade_c); + if (feof(pfade_c)) + break; + p=strchr(eingabe,0x0d); + if (p) *p=0x00; + p=strchr(eingabe,0x0a); + if (p) *p=0x00; + p=strstr(eingabe," -local"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + } + p=strchr(eingabe,0x20); + if (p) *p=0x00; + sprintf(filesbbs,"%s/files.bbs",eingabe); + fbbs=fopen(filesbbs,"rt"); + if (!fbbs) + { + findfile(eingabe,"*"); + if (direntp) + { + while(direntp) + { + p=direntp->d_name; + #ifdef UNIX + ; + #else + strlwr(p); + #endif + c=*p; + if (!(c=='.')) + { + if (!idx_c[c].open) + oeffne_idx_cdrom(c); + if (idx_c[c].open) + { + fprintf(idx_c[c].f,"%s %lu\n",p,zaehler-1); + } + _outtext(p); + _outtext("\n\n"); + } + findnext(); + } + findclose(); + } + continue; + } + while (!feof(fbbs)) + { + fgets(eingabe,(int)4000,fbbs); + if (feof(fbbs)) + break; + p=strchr(eingabe,0x0d); + if (p) *p=0x00; + p=strchr(eingabe,0x0a); + if (p) *p=0x00; + c=toupper(eingabe[0]); + if (c==0x20 || c==0x0a || c==0x0d || c=='/' || c=='&' || c=='.') + continue; + if (c=='+' || c=='*' || c=='\\' || c==0x00 || c==':') + continue; + #ifdef UNIX + ; + #else + strlwr(eingabe); + #endif + c=tolower(c); + if (!idx_c[c].open) + oeffne_idx_cdrom(c); + if (!idx_c[c].open ) + continue; + p=strchr(eingabe,0x20); + if (p) + *p=0x00; + fprintf(idx_c[c].f,"%s %lu\n",eingabe,zaehler-1); + _outtext(eingabe); + _outtext("\n\n"); + } + fclose(fbbs); + } + fclose(pfade_c); + + for (i=0;i<256;i++) { + if (idx_c[i].open==1) { + fclose(idx_c[i].f); + } + } /* endfor */ + + _outtext("Finished!\n\n"); + return(0); +} + Added: vireq/branches/vendor/vkafke/0.10.2/vireq.c =================================================================== --- vireq/branches/vendor/vkafke/0.10.2/vireq.c (rev 0) +++ vireq/branches/vendor/vkafke/0.10.2/vireq.c 2008-12-27 15:28:03 UTC (rev 7) @@ -0,0 +1,1475 @@ +#include <string.h> +#include <math.h> +#include <time.h> +#include <ctype.h> +#include <stdio.h> +#include <stdlib.h> +#include <fcntl.h> +#include <sys/types.h> +#include <sys/stat.h> +#define _MAX_DRIVE 3 +#define _MAX_DIR 255 +#define _MAX_FNAME 128 +#define _MAX_EXT 12 +#define MAX_FILENAMELEN _MAX_DRIVE + _MAX_DIR + _MAX_FNAME + _MAX_EXT +#include <dirent.h> +#include "vireq.h" + +DIR *dirp; +struct dirent *direntp; +struct stat datstat; +struct +{ + char name[MAX_FILENAMELEN]; + char passwort[20]; + long area; + char wildcard; + char found; + char mmcd; +} found[512]; + +char aliaslist[100][MAX_FILENAMELEN]; +unsigned int alias_max=0; + + +struct +{ + char open; + FILE *f; + char name[MAX_FILENAMELEN]; +} idx[255]; + +struct +{ + char open; + FILE *f; + char name[MAX_FILENAMELEN]; +} idx_c[255]; + +FILE *pfade; +char pfadfile[MAX_FILENAMELEN]; +#define VERSION "0.10.1(vk)" +FILE *pwfile; +char pwfilename[MAX_FILENAMELEN]; + +unsigned int i; +unsigned int j; +char c,pwok; +time_t aktuelles; +char statname[MAX_FILENAMELEN]; +char mmnewest, mmexecute; +char eingabe[512]; +char cdtemp[512]; +char ausgabe[512]; +char dateiname[255][MAX_FILENAMELEN]; +unsigned long area[255]; +char geoeffnet=0; +unsigned long max; +char systemname[512]; + +char srifname[MAX_FILENAMELEN]; +FILE *srif; +char requestname[MAX_FILENAMELEN]; +FILE *request; +char responsename[MAX_FILENAMELEN]; +FILE *response; +char *p; +char drive[_MAX_DRIVE]; +char path[_MAX_DIR]; +char file[_MAX_FNAME]; +char ext[_MAX_EXT]; +char adrive[_MAX_DRIVE]; +char apath[_MAX_DIR]; +char afname[_MAX_FNAME]; +char aext[_MAX_EXT]; +unsigned short task; +char logname[MAX_FILENAMELEN]; +char dlcname[MAX_FILENAMELEN]; +char *taska; +char tempname[MAX_FILENAMELEN]; + +void write_log (char *); +unsigned int zone_to, net_to, node_to, point_to=0; +unsigned int zone_from=2, net_from=246, node_from=2098, point_from=0; +void strlwr(char *dummy) +{ + char *p; + p=dummy; + while(*p) + { + *p=tolower(*p); + p++; + } +} +void strupr(char *dummy) +{ + char *p; + p=dummy; + while(*p) + { + *p=toupper(*p); + p++; + } +} +void ExpandPath(char *path) +{ + return; +} +char strnicmp(char *string1,char *string2, size_t laenge) +{ + char s1[2048]; + char s2[2048]; + char *p,*q; + strcpy(s1,string1); + strcpy(s2,string2); + s1[laenge]=0x00; + s2[laenge]=0x00; + strlwr(s1); + strlwr(s2); + return(strcmp(s1,s2)); +} + +char pwcheck(char *filename, char *password) +{ + char *p, *q; + char pwpfad[MAX_FILENAMELEN]; + char dummy1[512]; + pwok=0; + strlwr(filename); + strlwr(password); + + pwfile=fopen(pwfilename,"rt"); + if (!pwfile) + return(1); + while(1) + { + fgets(pwpfad,(int) MAX_FILENAMELEN - 2,pwfile); + if (feof(pwfile)) + { + pwok=1; + break; + } + strlwr(pwpfad); + p=strchr(pwpfad,0x0d); + if (p) + *p=0x00; + p=strchr(pwpfad,0x0a); + if (p) + *p=0x00; + q=strchr(pwpfad,0x20); + if (q) + *q=0x00; + p=strstr(filename,pwpfad); + if (q) + *q=0x20; + if (p) + { + p=strchr(pwpfad,0x20); + if (p) + { + while(*p++==0x20); + p--; + if (!strcmp(p,password)) + { + pwok=1; // passwort passt -> OK + break; + } + else + { + pwok=0; // Passwort pass nicht -> NOK + sprintf(dummy1,"Password expected for %s : %s\n",filename,p); + write_log(dummy1); + sprintf(dummy1,"Password received : %s",password); + write_log(dummy1); + break; + } + } + else + { + pwok=1; // kein pw im Pw-File... (?) + } + } + } + fclose(pwfile); + return(pwok); +} + +char copypuffer[65535]; + +char copy64k(char *quellpfad,char *zielpfad,char *dateiname) +{ + FILE *in,*out; + unsigned long gelesen; + char ein[512],aus[512]; + + sprintf(ein,"%s/%s",quellpfad,dateiname); + sprintf(aus,"%s/%s",zielpfad,dateiname); + + in=fopen(ein,"rb"); + if (!in) + return(1); + out=fopen(aus,"wb"); + if (!out) + { + fclose(in); + return(1); + } + while(1) + { + gelesen=fread(©puffer[0],(size_t)1, (size_t)65535,in); + if (!gelesen) + break; + fwrite(©puffer[0],(size_t) 1, (size_t) gelesen,out); + } + fclose(in); + fclose(out); + return(0); +} + + +char ungleich(char *q, char *z) +{ + char sichern=0; + char mmaufsetz=0; + char gesichert[60]; + char *aufsetz; + char *p; + char *r; + char ungleich=0; + r=q; + strcpy(gesichert,q); + while(1) + { + if (!*q) + { + if (mmaufsetz) + { + mmaufsetz=1; + } + else + { + if (*z) + ungleich=1; + break; + } + } + if (!*z) + { + if (!*q) + break; + if (*q!='*') + ungleich=1; + if (*q=='*') + if (*(q+1)) + ungleich=1; + break; + } + if (*q==*z || *q=='?') + { + q++; + z++; + continue; + } + if (*q=='*') + { + q++; + } + if (*(q-1)=='*' || (*q != *z && mmaufsetz)) + { + if (mmaufsetz && ! (*(q-1)=='*')) + q=aufsetz; + if (*(q-1)=='*') + { + if (!*q) + break; + } + p=q; + while(*p) + { + if (*p=='*' || *p=='?') + break; + p++; + } + if (*p=='*' || *p=='?') + { + sichern=*p; + *p=0x00; + } + if (!strstr(z,q)) + { + ungleich=1; + break; + } + else + { + z=strstr(z,q); + aufsetz=q; + if (strstr(z+1,q)) + mmaufsetz=1; + if (sichern) + { + *p=sichern; + sichern=0; + } + continue; + } + } + if (*q != *z) + { + ungleich=1; + break; + } + } + strcpy(r,gesichert); + return(ungleich); +} + +void write_temp(char *log_zeile) +{ + FILE *tmp; + tmp=fopen(tempname,"at"); + if (!tmp) + return; + fputs(log_zeile,tmp); + fputs("\x0d",tmp); + fclose(tmp); +} + +void write_dlc(char *log_zeile) +{ + FILE *tmp; + if (!strlen(dlcname)) + return; + tmp=fopen(dlcname,"at"); + if (!tmp) + return; + fputs(log_zeile,tmp); + fputs("\n",tmp); + fclose(tmp); +} + +int status; + +#define uint unsigned short +#define uchar unsigned char + +struct pkt_1 +{ + uint onode, + dnode; + uint jahr, + monat, + tag, + stunde, + minute, + sekunde; + uint baud; + uint fix; + uint onet, + dnet; + uchar pcode; + uchar rev_major; + uchar pw[8]; + uint ozone, + dzone; + uint auxnet; + uint cw1; + uchar pcode2, + revision; + uint cw2; + uint ozone2, + dzone2; + uint opoint, + dpoint; + uchar pdata[4]; +} packet; + char dirname[255]; + char filename[255]; + +struct d +{ +unsigned short node_from; +unsigned short node_to; +unsigned short net_from; +unsigned short net_to; +unsigned short attribute; +unsigned short cost; +} pp; + + +char datum[20]; + +#define NM_PRIVATE 1 +#define NM_CRASH 2 +#define NM_KILLSENT 128 +#define NM_LOCAL 256 +#define NM_HOLD 512 +#define NM_DIRECT 1024 + +char pfad2[255]; + +char dummy_string2[80]; +int write_pkt(char *pfad, char *sysop_from, char* sysop_to, + uint zone_from, uint net_from, + uint node_from, uint point_from, + uint zone_to, uint net_to, + uint node_to, uint point_to, + char *call_subject, char *filename) +{ + FILE *pkt, + *tmp; + char zeit[10]; + uint fix2=2; + int day; + char dummy_string[100]; + unsigned long anz; + struct + { + char Day[4]; + char Month[4]; + char DayNr[3]; + char filler[11]; + char Year[2]; + } zeit1; + char *p1; + time_t ltime; + struct tm *gmt; + + time (<ime); + gmt = localtime (<ime); +/* + _strtime(zeit); + _strdate(datum); +*/ + strftime(zeit,10,"%H:%M:%S",gmt); + + day=gmt->tm_wday; + + p1=asctime(gmt); + strncpy(zeit1.Day,p1,(int)4); + strncpy(zeit1.Month,p1+4,(int) 4); + strncpy(zeit1.DayNr,p1+8,(int) 3); + strncpy(zeit1.Year,p1+22,(int) 2); + + if (!strnicmp(zeit1.Month,"Dez",3)) + strcpy(zeit1.Month,"Dec"); + + if (!strnicmp(zeit1.Month,"Mae",3)) + strcpy(zeit1.Month,"Mar"); + + if (!strnicmp(zeit1.Month,"Mai",3)) + strcpy(zeit1.Month,"May"); + + if (!strnicmp(zeit1.Month,"Okt",3)) + strcpy(zeit1.Month,"Oct"); + +loop: + time(<ime); + if (pfad[strlen(pfad)-1] != '/') + strcat(pfad,"/"); + strcpy(pfad2,pfad); + sprintf(dummy_string,"%8lx",ltime); + strcat(pfad2,dummy_string); + strcat(pfad2,".pkt"); + if (!access(pfad2,(int)0x00)) + goto loop; + + pkt=fopen(pfad2,"wb"); + + if (!pkt) + return(21); + + packet.onode=node_from; + packet.dnode=node_to; + packet.jahr=gmt->tm_year; + packet.monat=gmt->tm_mon; + packet.tag=gmt->tm_mday; + packet.stunde=gmt->tm_hour; + packet.minute=gmt->tm_min; + packet.sekunde=gmt->tm_sec; + packet.baud=0x02; + packet.fix=0x02; + packet.auxnet=0x0000; + if (!point_from) + packet.onet=net_to; + else + { + packet.onet=0xffff; + packet.auxnet=net_to; + } + packet.dnet=net_to; + packet.pcode=0x00; + memset(packet.pw,0x00,(size_t)8); + packet.ozone=zone_from; + packet.dzone=zone_to; + packet.cw1=0x0100; + packet.pcode=0x00; + packet.rev_major=0x01; + packet.revision=0x30; + packet.cw2=0x0001; + packet.ozone2=zone_from; + packet.dzone2=zone_to; + packet.dpoint=point_to; + packet.opoint=point_from; + fwrite(&packet,(size_t) sizeof(packet), (size_t) 1, pkt); + fwrite(&fix2,(size_t) sizeof(fix2),(size_t) 1, pkt); + + pp.net_to=net_to; + pp.net_from=net_from; + pp.node_from=node_from; + pp.node_to=node_to; + pp.attribute = NM_PRIVATE; + pp.cost=0; + fwrite(&pp,(size_t) sizeof(pp), (size_t) 1, pkt); + + + for (anz = 0; anz < sizeof(datum); anz++) + datum[anz]=0x00; + strncpy(datum,zeit1.DayNr, (size_t) 3); + strncat(datum,zeit1.Month, (size_t) 3); + strcat(datum," "); + strncat(datum,zeit1.Year, (size_t) 2); + strcat(datum," "); + strncat(datum,zeit,(int) 2); + strcat(datum,":"); + strncat(datum,zeit+3,(int) 2); + strcat(datum,":"); + strncat(datum,zeit+6,(int) 2); + fwrite(datum,(size_t) strlen(datum), (size_t) 1, pkt); + fputc(0x00,pkt); + fwrite(sysop_to,(size_t) strlen(sysop_to),1,pkt); + fputc(0x00,pkt); + fwrite(sysop_from,(size_t) strlen(sysop_from),1,pkt); + fputc(0x00,pkt); + fwrite(call_subject,(size_t) strlen(call_subject),1,pkt); + fputc(0x00,pkt); +/* + fputc(0x01,pkt); + fwrite("AREA:",(size_t) strlen("AREA:"),1,pkt); + fwrite(area,(size_t) strlen(area),1,pkt); + fputc(0x0d,pkt); +*/ + sprintf(dummy_string,"\x01INTL %d:%d/%d %d:%d/%d\x0d",zone_to, net_to, + node_to, zone_from, net_from, node_from); + fwrite(dummy_string,(size_t) strlen(dummy_string), (size_t) 1, pkt); + + if (point_from) + { + sprintf(dummy_string,"%cFMPT %d\x0d",0x01, point_from); + fwrite(dummy_string,(size_t) strlen(dummy_string), (size_t) 1, pkt); + } + if (point_to) + { + sprintf(dummy_string,"\x01TOPT %d\x0d", point_to); + fwrite(dummy_string,(size_t) strlen(dummy_string), (size_t) 1, pkt); + } + + + sprintf(dummy_string,"\x01MSGID: %d:%d/%d.%d %8lx\x0d",zone_from,net_from,node_from,point_from,ltime); + fwrite(dummy_string,(size_t) strlen(dummy_string), (size_t) 1, pkt); + + sprintf(dummy_string,"\x01PID: VIREQ/Linux V%s\x0d",VERSION); + fwrite(dummy_string,(size_t) strlen(dummy_string), (size_t) 1, pkt); + + tmp=fopen(filename,"rb"); + + if (!tmp) + return(22); + while(!feof(tmp)) + { + anz=fread(dummy_string,(size_t) 1, (size_t) 80, tmp); + if (anz) + fwrite(dummy_string,(size_t) anz, (size_t) 1, pkt); + } + if (!point_from) + sprintf(dummy_string,"\x0d--- VIREQ/Linux V%s \x0d * Origin: (c) 1998-2001 by Volker Imre, Fidonet 2:246/2098 (%d:%d/%d)\x0d",VERSION, + zone_from, net_from, node_from); + else + sprintf(dummy_string,"\x0d--- VIREQ/Linux V%s\x0d * Origin: (c) 1998-2001 by Volker Imre, Fidonet 2:246/2098 (%d:%d/%d.%d)\x0d",VERSION, + zone_from, net_from, node_from, point_from); + fwrite(dummy_string,(size_t) strlen(dummy_string), (size_t) 1, pkt); + + fputc(0x00,pkt); + fputc(0x00,pkt); + fputc(0x00,pkt); + fclose(pkt); + fclose(tmp); + return(0); +} + +void write_log(char *log_zeile) +{ + char errorlevel=0; + FILE *logfile; + + char zeit[10]; + char logger[256]; + char *x; + static is_open=0; + char level[]={" !?+-~"}; + time_t akttime; + struct tm *d2; + char mon[][4]={"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"}; + + if (!strlen(logname)) + return; + + time(&akttime); + d2=localtime(&akttime); + +/* _strtime(zeit);*/ + strftime(zeit,10,"%H:%M:%S",d2); + x=strstr(log_zeile,"\n"); + if (x) + *x=0x00; + + logfile=fopen(logname,"a"); + if (!is_open) + { + sprintf(logger,"\n %2.2d %s %s VIR begin, VIREQ/Linux V%s\n",d2->tm_mday,mon[d2->tm_mon],zeit,VERSION); + fputs(logger,logfile); + is_open=1; + } + sprintf(logger," %2.2d %s %s VIR %s\n",d2->tm_mday,mon[d2->tm_mon],zeit, log_zeile); + + fputs(logger,logfile); + if (logfile) fclose(logfile); + return; +} +void findnext() +{ + while(1) + { + if (!direntp) + break; + direntp=readdir(dirp); + if (!direntp) + break; + if (!ungleich(filename,direntp->d_name)) + break; + } +} +void findclose() +{ + closedir(dirp); +} + +void findfile(char *name) +{ + char *p,*q; + p=strrchr(name,'/'); + if (!p) + { + direntp=NULL; + return; + } + q=p+1; + *p=0x00; + strcpy(dirname,name); + strcpy(filename,q); + p=strchr(filename,0x20); + if (p) + *p=0x00; + dirp = opendir( dirname ); + if( dirp == NULL ) { + perror( "Error " ); + } else { + direntp = readdir( dirp ); + } + if (ungleich(filename,direntp->d_name)) + findnext(); + if (!direntp) + findclose(); + +} + + +void main(int argc, char *argv[]) +{ + unsigned int nhandles; + FILE *config; + FILE *alias; + char configname[255]; + char aka=0,go_on=0,mmdone=0,mmcopy=0; + char eigen_aka=0; + char sysopname[255]; + char akastring[255]; + char baud[255]; + char dummy_string[512]; + char pkt_pfad[255]; + unsigned int j; + + max=0; + if (argc < 2) { + exit(99); + } + taska=getenv("TASK"); + if (!taska) { + task=99; + } else { + task=atoi(taska); + } + +/* _splitpath(argv[0],drive,path,file,ext);*/ + sprintf(path,"/usr/bin/vireq/"); + sprintf(tempname,"%svireq%u.tmp",path,task); + unlink(tempname); + for (i=0;i<510 ; i++) + { + found[i].area=-1; + found[i].mmcd=0; + found[i].found=0; + } + memset(cdtemp,(int)0x00,(size_t)sizeof(cdtemp)); + + sprintf(configname,"%svireq.cfg",path); + sprintf(pwfilename,"%svireq.pwd",path); + config=fopen(configname,"rt"); + if (!config) + exit(99); + while(!feof(config)) + { + fgets(eingabe,(int)255,config); + if (feof(config)) + break; +/* strlwr(eingabe);*/ + p=strchr(eingabe,0x0d); + if (p) *p=0x00; + p=strchr(eingabe,0x0a); + if (p) *p=0x00; + if (!strnicmp(eingabe,"LOGFILE",strlen("LOGFILE"))) + { + strlwr(eingabe); + p=strchr(eingabe,0x20); + if (!p) + break; + while(*p++==0x20); + p--; + strcpy(dummy_string,p); + ExpandPath(dummy_string); + sprintf(logname,dummy_string,task); + } + if (!strnicmp(eingabe,"DLC-LOG",strlen("DLC-LOG"))) + { + strlwr(eingabe); + p=strchr(eingabe,0x20); + if (!p) + break; + while(*p++==0x20); + p--; + strcpy(dummy_string,p); + ExpandPath(dummy_string); + sprintf(dlcname,dummy_string,task); + } + if (!strnicmp(eingabe,"CDTEMP",strlen("CDTEMP"))) + { + p=strchr(eingabe,0x20); + if (!p) + break; + while(*p++==0x20); + p--; + strcpy(cdtemp,p); + ExpandPath(cdtemp); + } + if (!strnicmp(eingabe,"AKA",strlen("AKA")) && !eigen_aka) + { + eigen_aka=1; + p=strchr(eingabe,0x20); + if (!p) + break; + while(*p==0x20) + p++; + sprintf(akastring,p); + p=akastring; + zone_from=(unsigned)atoi(p); + p=strchr(akastring,':'); + p++; + net_from=(unsigned)atoi(p); + p=strchr(akastring,'/'); + p++; + node_from=(unsigned)atoi(p); + p=strchr(akastring,'.'); + if (p) { + p++; + point_from=(unsigned)atoi(p); + } + } + if (!strnicmp(eingabe,"ALIASLIST",strlen("ALIASLIST"))) + { + p=strchr(eingabe,0x20); + if (!p) + break; + while(*p++==0x20); + p--; + strcpy(aliaslist[alias_max],p); + ExpandPath(aliaslist[alias_max++]); + } + if (!strnicmp(eingabe,"SYSTEMNAME",strlen("SYSTEMNAME"))) + { + p=strchr(eingabe,0x20); + if (!p) + break; + while(*p++==0x20); + p--; + sprintf(systemname,p); + } + } + fclose(config); + sprintf(srifname,"%s",argv[1]); + srif=fopen(srifname,"rt"); + if (!srif) { + exit(98); + } + while (!feof(srif)) { + fgets(eingabe,(int)255,srif); + p=strchr(eingabe,0x0d); + if (p) + *p=0x00; + p=strchr(eingabe,0x0a); + if (p) + *p=0x00; + if (!strnicmp(eingabe,"Sysop",strlen("Sysop"))) + { + p=strchr(eingabe,0x20); + if (!p) + break; + while(*p==0x20) + p++; + sprintf(sysopname,p); + } + if (!strnicmp(eingabe,"AKA",strlen("AKA")) && !aka) + { + aka=1; + p=strchr(eingabe,0x20); + if (!p) + break; + while(*p==0x20) + p++; + sprintf(akastring,p); + p=akastring; + zone_to=(unsigned)atoi(p); + p=strchr(akastring,':'); + p++; + net_to=(unsigned)atoi(p); + p=strchr(akastring,'/'); + p++; + node_to=(unsigned)atoi(p); + p=strchr(akastring,'.'); + if (p) { + p++; + point_to=(unsigned)atoi(p); + } + } + if (!strnicmp(eingabe,"Baud",strlen("Baud"))) + { + aka=1; + p=strchr(eingabe,0x20); + if (!p) + break; + while(*p==0x20) + p++; + sprintf(baud,p); + } + if (!strnicmp(eingabe,"RequestList",strlen("RequestList"))) + { + p=strchr(eingabe,0x20); + if (!p) + break; + while(*p==0x20) + p++; + sprintf(requestname,p); + } + if (!strnicmp(eingabe,"ResponseList",strlen("ResponseList"))) + { + p=strchr(eingabe,0x20); + if (!p) + break; + while(*p==0x20) + p++; + sprintf(responsename,p); + } + } /* endwhile */ + fclose(srif); + sprintf(dummy_string,"Hi %s,\x0d\x0dhere is the result of your filerequest:\x0d\x0d",sysopname); + write_temp(dummy_string); + sprintf(dummy_string,"Requester is %s, %s at %s bps",sysopname,akastring,baud); + write_log(dummy_string); + write_log("Wanted Files:"); + write_temp("Wanted Files:"); + if (!strlen(requestname) || !strlen(responsename)) { + exit(97); + } + request=fopen(requestname,"rt"); + if (!request) { + exit(96); + } + while(!feof(request)) + { + fgets(eingabe,(int)200,request); + if (feof(request)) { + break; + } + p=strchr(eingabe,0x0d); + if (p) + *p=0x00; + p=strchr(eingabe,0x0a); + if (p) + *p=0x00; + p=strstr(eingabe," !"); // Suche nach Passwort + if (p) + { + p+=2; + strcpy(found[max].passwort,p); + p=strchr(found[max].passwort,0x20); // Leerzeichen am PW-Ende filtern + if (p) + *p=0x00; + } + else + found[max].passwort[0]=0x00; + p=strchr(eingabe,0x20); // Leerzeichen am Ende filtern + if (p) + *p=0x00; + #ifdef UNIX + ; + #else + strlwr(eingabe); + #endif + if (strchr(eingabe,'*') || strchr(eingabe,'?')) + { + found[max].area=-3; // Wildcard, area = -3 + found[max].wildcard=1; + } + else + found[max].wildcard=0; + strcpy(found[max++].name,eingabe); + + sprintf(dummy_string," %s",eingabe); + write_log(dummy_string); + write_temp(dummy_string); + if (max==500) + { + write_log("Maximum number of files for request (500) reached!"); + break; + } + } + fclose(request); + unlink(requestname); + if (alias_max) + { + for (i=0; i<alias_max; i++) + { + alias=fopen(aliaslist[i],"rt"); + if (!alias) + continue; + while(!feof(alias)) + { + fgets(eingabe,(int)255,alias); + if (feof(alias)) + break; + mmnewest=mmexecute=0; + p=strchr(eingabe,0x0d); + if (p) + *p=0x00; + p=strchr(eingabe,0x0a); + if (p) + *p=0x00; + strlwr(eingabe); + p=strstr(eingabe," -newest"); + if (p) + { + *p=0x00; + mmnewest=1; + } + p=strstr(eingabe," -execute"); + if (p) + { + *p=0x00; + mmexecute=1; + } + p=strchr(eingabe,0x20); + if (!p) + continue; + *p=0x00; + j=0; + while(j < max) + { + printf("%s (%lu) -> %s (%lu)\n",eingabe,strlen(eingabe),found[j].name,strlen(found[j].name)); + if (!strncmp(eingabe,found[j].name,strlen(found[j].name)) && strlen(eingabe)==strlen(found[j].name)) + { + found[j].area=-2; + *p=0x20; + while(*p==0x20) + p++; + strcpy(found[j].name,p); + if (mmexecute) + { + found[j].area=-5; + } + + if (strchr(found[j].name,'*') || strchr(found[j].name,'?')) + { + aktuelles=0; + findfile(found[j].name); + if (direntp && !mmnewest) + found[j].area=-4; + while(direntp) + { + if (mmnewest) + { + sprintf(statname,"%s/%s",dirname,direntp->d_name); + stat(statname,&datstat); + if (datstat.st_mtime > aktuelles) + { + sprintf(found[j].name,"%s/%s",dirname,direntp->d_name); + aktuelles=datstat.st_mtime; + } + } + else + { + found[max].area=-2; + sprintf(found[max++].name,"%s/%s",dirname,direntp->d_name); + } + findnext(); + } + findclose(); + } + + } + j++; + } + } + fclose(alias); + } /* endfor */ + } + i=0; + while (i < max) { + if (found[i].area==-2 || found[i].area==-5) // ALIAS, bereits gefunden! + { + i++; + continue; + } + #ifdef UNIX + ; + #else + c=tolower(found[i++].name[0]); + #endif + c=(found[i++].name[0]); + if (!idx[c].open==1) + { + sprintf(idx[c].name,"%svifile%c.idx",path,c); + idx[c].f=fopen(idx[c].name,"rt"); + if (idx[c].f) + { + idx[c].open=1; + geoeffnet++; + } + } + } /* endwhile */ + i=0; + while (1) { + for (j=0;j<250;j++ ) { + if (idx[j].open==1) { + fscanf(idx[j].f,"%s %lu",dateiname[j],&area[j]); + if (feof(idx[j].f)) { + fclose(idx[j].f); + idx[j].open=0; + geoeffnet--; + } + } + } + if (!geoeffnet) { + break; + } + i=0; + while (i < max && max < 500) + { + if (found[i].area!=-1 && found[i].area!=-3 && found[i].area!=-4) + { + i++; + continue; + } + #ifdef UNIX + ; + #else + c=tolower(found[i].name[0]); + #endif + c=(found[i].name[0]); + if (!idx[c].open) + { + i++; + continue; + } + if (found[i].wildcard) + { + if (!ungleich(found[i].name,dateiname[c])) + { + found[i].found=1; + strcpy(found[max].name,dateiname[c]); + strcpy(found[max].passwort,found[i].passwort); + found[max++].area=area[c]; + if (max==500) + { + write_log("Maximum number of files for request (500) reached!"); + write_temp("Maximum number of files for request (500) reached!"); + break; + } + } + } + else + { + if (!strncmp(dateiname[c],found[i].name,strlen(found[i].name)) && strlen(dateiname[c])==strlen(found[i].name)) + { + found[i].area=area[c]; + } + } + i++; + } + } + for (i=0;i<250;i++) { + if (idx[i].open==1) { + fclose(idx[i].f); + } + } /* endfor */ + + + // Nur auf CD suchen, wenn ein/mehrere Files nicht gefunden wurden! + + for (i=0;i<500 ; i++) + { + if ((found[i].area==-1 || found[i].area == -3) && strlen(found[i].name)) + { + go_on=1; + break; + } + } + if (go_on) + { + geoeffnet=0; + i=0; + while (i < max) { + if (found[i].area==-2) // ALIAS, bereits gefunden! + { + i++; + continue; + } + c=found[i++].name[0]; + if (!idx_c[c].open==1) + { + sprintf(idx_c[c].name,"%svifile%c.idc",path,c); + idx_c[c].f=fopen(idx_c[c].name,"rt"); + if (idx_c[c].f) + { + idx_c[c].open=1; + geoeffnet++; + } + } + } /* endwhile */ + + i=0; + while (1) { + for (j=0;j<256;j++ ) { + if (idx_c[j].open==1) { + fscanf(idx_c[j].f,"%s %lu",dateiname[j],&area[j]); + if (feof(idx_c[j].f)) { + fclose(idx_c[j].f); + idx_c[j].open=0; + geoeffnet--; + } + } + } + if (!geoeffnet) { + break; + } + i=0; + while (i < max && max < 500) + { + if (found[i].area!=-1 && found[i].area!=-3 && found[i].area!=-4) + { + i++; + continue; + } + c=found[i].name[0]; + if (!idx_c[c].open) + { + i++; + continue; + } + if (found[i].wildcard) + { + if (!ungleich(found[i].name,dateiname[c])) + { + strcpy(found[max].name,dateiname[c]); + strcpy(found[max].passwort,found[i].passwort); + found[i].found=1; + found[max].mmcd=1; + found[max++].area=area[c]; + if (max==500) + { + write_log("Maximum number of files for request (500) reached!"); + write_temp("Maximum number of files for request (500) reached!"); + break; + } + } + } + else + { + if (!strncmp(dateiname[c],found[i].name,strlen(found[i].name)) && strlen(dateiname[c])==strlen(found[i].name)) + { + found[i].area=area[c]; + found[i].mmcd=1; + } + } + i++; + } + } + for (i=0;i<256;i++) { + if (idx_c[i].open==1) { + fclose(idx_c[i].f); + } + } /* endfor */ + } + + response=fopen(responsename,"wt"); + + sprintf(pfadfile,"%svipath.idx",path); + pfade=fopen(pfadfile,"rt"); + if (pfade) + { + unsigned long zaehler=0; + while(!feof(pfade)) + { + fgets(eingabe,(int)200,pfade); + if (feof(pfade)) { + break; + } + p=strchr(eingabe,0x0d); + if (p) + *p=0x00; + p=strchr(eingabe,0x0a); + if (p) + *p=0x00; + for (i=0;i<max ;i++ ) + { + if (found[i].area==zaehler && !found[i].mmcd) + { + sprintf(dummy_string,"%s/%s",eingabe,found[i].name); + pwok=pwcheck(dummy_string,found[i].passwort); + if (pwok) + { + if (!mmdone) + { + write_log("Files found:"); + write_temp("Files found:"); + mmdone=1; + } + ExpandPath(eingabe); + sprintf(ausgabe,"+%s/%s\n",eingabe,found[i].name); + fputs(ausgabe,response); + sprintf(dummy_string," %s/%s\n",eingabe,found[i].name); + write_log(dummy_string); + sprintf(dummy_string,"%s/%s",eingabe,found[i].name); + write_dlc(dummy_string); + sprintf(dummy_string," %s",found[i].name); + write_temp(dummy_string); + } + else + { + found[i].area=-6; + } + } + } + zaehler++; + } + fclose(pfade); + } + + sprintf(pfadfile,"%svipath.idc",path); + pfade=fopen(pfadfile,"rt"); + if (pfade) + { + unsigned long zaehler=0; + while(!feof(pfade)) + { + mmcopy=0; + fgets(eingabe,(int)200,pfade); + if (feof(pfade)) { + break; + } + p=strchr(eingabe,0x0d); + if (p) + *p=0x00; + p=strchr(eingabe,0x0a); + if (p) + *p=0x00; + for (i=0;i<max ;i++ ) + { + if (found[i].area==zaehler && found[i].mmcd) + { + strupr(eingabe); + p=strstr(eingabe," -LOCAL"); + if (p) + { + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + if (strlen(cdtemp)) + mmcopy=1; + } + p=strchr(eingabe,0x20); // Leerzeichen am Ende filtern + if (p) + *p=0x00; + ExpandPath(eingabe); + sprintf(dummy_string,"%s/%s",eingabe,found[i].name); + pwok=pwcheck(dummy_string,found[i].passwort); + if (pwok) + { + if (!mmdone) + { + write_log("Files found:"); + write_temp("Files found:"); + mmdone=1; + } + if (!mmcopy) + { + sprintf(ausgabe,"+%s/%s\n",eingabe,found[i].name); + fputs(ausgabe,response); + } + else + { + if (!copy64k(eingabe,cdtemp,found[i].name)) + { + sprintf(ausgabe,"-%s/%s\n",cdtemp,found[i].name); + fputs(ausgabe,response); + } + else + { + sprintf(ausgabe,"+%s/%s\n",eingabe,found[i].name); + fputs(ausgabe,response); + } + } + sprintf(dummy_string," %s/%s\n",eingabe,found[i].name); + write_log(dummy_string); + sprintf(dummy_string,"%s/%s",eingabe,found[i].name); + write_dlc(dummy_string); + sprintf(dummy_string," %s",found[i].name); + write_temp(dummy_string); + } + else + { + found[i].area=-6; + } + } + } + zaehler++; + } + fclose(pfade); + } + + // Auswertung der Aliase (areacode = -2) + for (i=0;i<max ;i++ ) + { + if (found[i].area==-2) + { + ExpandPath(found[i].name); + pwok=pwcheck(found[i].name,found[i].passwort); + if (pwok) + { + if (!mmdone) + { + write_log("Files found:"); + write_temp("Files found:"); + mmdone=1; + } + sprintf(ausgabe,"+%s\n",found[i].name); + fputs(ausgabe,response); +/* _splitpath(found[i].name,adrive,apath,afname,aext);*/ + sprintf(dummy_string," %s (... [truncated message content] |
From: <ja...@us...> - 2008-12-27 15:18:02
|
Revision: 6 http://ftnapps.svn.sourceforge.net/ftnapps/?rev=6&view=rev Author: jame Date: 2008-12-27 15:17:58 +0000 (Sat, 27 Dec 2008) Log Message: ----------- Import VIREQ/X v0.10 by Volker Imre to repository. Added Paths: ----------- vireq/branches/vendor/vimre/0.10/ vireq/branches/vendor/vimre/0.10/COPYING vireq/branches/vendor/vimre/0.10/aliases.lst vireq/branches/vendor/vimre/0.10/file_id.diz vireq/branches/vendor/vimre/0.10/vimkidx.c vireq/branches/vendor/vimre/0.10/vipath.idx vireq/branches/vendor/vimre/0.10/vireq.c vireq/branches/vendor/vimre/0.10/vireq.cfg vireq/branches/vendor/vimre/0.10/vireq.dok vireq/branches/vendor/vimre/0.10/vireq.pwd vireq/branches/vendor/vimre/0.10/whatsnew Added: vireq/branches/vendor/vimre/0.10/COPYING =================================================================== --- vireq/branches/vendor/vimre/0.10/COPYING (rev 0) +++ vireq/branches/vendor/vimre/0.10/COPYING 2008-12-27 15:17:58 UTC (rev 6) @@ -0,0 +1,72 @@ +From: Vo...@im... +Subject: Re: License for ViReq? +Date: October 3, 2008 4:41:50 AM GMT-04:00 +To: ja...@ro... +Cc: vi...@ka... +Reply-To: Vo...@im... + +Hello Robert, + +>>> What is the License on the source? Can find no mention of +>>> that in any of the files... +>> +>> Volker is still a member of fidonet (2:246/2098), please ask him. +>> He's also reachable via eMail at Vo...@im... +>> +>> To my knowledge he has given ViReq to the public domain, as far as +>> you leave his name in the source code/dokumentation intact. + +> Is that what it is? Public domain? Or GPL? Because it's not +> mentioned in any of the files that I could find... + +You may do with the source code / program whatever you want, as long as the +original author (me) is mentioned. + + +>>> (I was thinking about packaging it for Debian/Ubuntu...) +>> +>> Good idea. I think he would agree to that - but please ask him +>> yourself. + +> I do have an initial package that does build, but of course can't +> distribute it without a license that says I can do so... + +Feel free to distribute and modify the program / source as you wish. + +-- +Best regards, +Volker + +===================================================================================== +From: ja...@ro... +Subject: License for ViReq? +Date: October 2, 2008 6:23:56 PM GMT-04:00 +To: Vo...@im... + +On Wed, 01 Oct 2008 17:25:46 -0400, Viktor Kafke wrote in the BinkD echo: + +>> What is the License on the source? Can find no mention of that in +>> any of the files... +> +> Volker is still a member of fidonet (2:246/2098), please ask him. He's +> also reachable via eMail at Vo...@im... +> +> To my knowledge he has given ViReq to the public domain, as far as you +> leave his name in the source code/dokumentation intact. + + Is that what it is? Public domain? Or GPL? Because it's not mentioned +in any of the files that I could find... + + +>> (I was thinking about packaging it for Debian/Ubuntu...) +> +> Good idea. I think he would agree to that - but please ask him yourself. + + I do have an initial package that does build, but of course can't +distribute it without a license that says I can do so... + + + +Robert James Clay +j...@ro... + \ No newline at end of file Added: vireq/branches/vendor/vimre/0.10/aliases.lst =================================================================== --- vireq/branches/vendor/vimre/0.10/aliases.lst (rev 0) +++ vireq/branches/vendor/vimre/0.10/aliases.lst 2008-12-27 15:17:58 UTC (rev 6) @@ -0,0 +1,2 @@ +Nodediff /mnt/hdc5/system/im/node_in/nodediff.a* + Added: vireq/branches/vendor/vimre/0.10/file_id.diz =================================================================== --- vireq/branches/vendor/vimre/0.10/file_id.diz (rev 0) +++ vireq/branches/vendor/vimre/0.10/file_id.diz 2008-12-27 15:17:58 UTC (rev 6) @@ -0,0 +1,6 @@ +VIREQ/X V0.10 +Filerequestprozessor fuer Linux +-Arbeitet mit SRIF gemaess FSC-0086.001 +-Benoetigt keine Filebase, auch keine + FILES.BBS + (c) 1998-2001 by Volker Imre Added: vireq/branches/vendor/vimre/0.10/vimkidx.c =================================================================== --- vireq/branches/vendor/vimre/0.10/vimkidx.c (rev 0) +++ vireq/branches/vendor/vimre/0.10/vimkidx.c 2008-12-27 15:17:58 UTC (rev 6) @@ -0,0 +1,686 @@ +#include <string.h> +#include <math.h> +#include <time.h> +#include <ctype.h> +#include <stdio.h> +#include <stdlib.h> +#include <fcntl.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <dirent.h> +DIR *dirp; +struct dirent *direntp; + +#define _MAX_DRIVE 128 +#define _MAX_DIR 512 +#define _MAX_FNAME 512 +#define _MAX_EXT 512 + + +char dummy_string[512]; +char ausgabe[512]; +char eingabe[4096]; +char dateiname[512]; +FILE *config; +char configname[255]; +char drive[_MAX_DRIVE]; +char path[_MAX_DIR]; +char file[_MAX_FNAME]; +char ext[_MAX_EXT]; + +struct +{ + char drive[3]; + char unc[255]; +} trans[30]; +FILE *tmp; +char *p; +FILE *pfade; +FILE *pfade_c; +FILE *fbbs; +char pfadname[255]; +char pfadcname[255]; +struct +{ + char open; + FILE *f; + char name[255]; +} idx[255]; +struct +{ + char open; + FILE *f; + char name[255]; +} idx_c[255]; +char stattest[512]; +struct stat buf; +char mmcopy=0; +char subdir[6000][255]; +char start_dir[255]; +int status=0; +char filesbbs[255]; +unsigned long ii=0,jj=0,tempzaehl=0; +unsigned long i=0; +char ende=0; +char dirs_name[255]; +unsigned char c; +void strlwr(char *); + +void findfile(char *dir, char *name) +{ + char *p, *q; + char entry[255]; + strlwr(dir); + dirp = opendir( dir ); + if( dirp == NULL ) { + printf(">>%s<< \n",dir); + perror( "Error " ); + } else { + direntp = readdir( dirp ); + } +} +void findnext() +{ + direntp=readdir(dirp); +} +void findclose() +{ + closedir(dirp); +} +void strlwr(char *dummy) +{ + char *p; + p=dummy; + while(*p) + { + *p=tolower(*p); + p++; + } +} +void strupr(char *dummy) +{ + char *p; + p=dummy; + while(*p) + { + *p=toupper(*p); + p++; + } +} + +int find_filesbbs(char *pfad) +{ + findfile(pfad,"*"); + if (!dirp) + { + findclose(); + + return(1); + } + while(direntp) + { + strlwr(direntp->d_name); + if (strstr("files.bbs",direntp->d_name)) + { + findclose(); + return(0); + } + findnext(); + } + findclose(); + return(1); +} +void oeffne_idx(char c) +{ + + sprintf(idx[c].name,"%svifile%c.idx",path,c); + idx[c].f=fopen(idx[c].name,"wt"); + if (idx[c].f) + idx[c].open=1; + else + { + printf("Fehler beim Oeffnen von "); + printf("%s",idx[c].name); + perror("\nFehler "); + } +} +void oeffne_idx_cdrom(char c) +{ + + sprintf(idx_c[c].name,"%s%svifile%c.idc",drive,path,c); + idx_c[c].f=fopen(idx_c[c].name,"wt"); + if (idx_c[c].f) + idx_c[c].open=1; + else + { + printf("Fehler beim Oeffnen von "); + printf("%s",idx_c[c].name); + perror("\nFehler "); + } +} + +void make_dirlist(char *dir) +{ + + FILE *dirs; + char *p; + + p=strchr(dir,0x0d); + if (p) + *p=0x00; + p=strchr(dir,0x0a); + if (p) + *p=0x00; + + + sprintf(dirs_name,"%sdirlist.dat",drive,path); + dirs=fopen(dirs_name,"wt"); + + sprintf(subdir[0],"%s",dir); + sprintf(start_dir,"%s",subdir[0]); + ii=1; + jj=1; + while(!ende) + { + findfile(start_dir,"*"); + if (direntp) + { + while(direntp) + { + if (ii==5990) + break; + sprintf(stattest,"%s/%s",start_dir,direntp->d_name); + stat(stattest,&buf); + if (!S_ISDIR(buf.st_mode)) + { + findnext(); + continue; + } + if (direntp->d_name[0]!='.') + { + tempzaehl=jj; + tempzaehl--; + sprintf(subdir[ii],"%s/%s",subdir[tempzaehl],direntp->d_name); + ii++; + printf("%u : %u --> %s\r",ii,jj,direntp->d_name); + } + findnext(); + } + findclose(); + } + sprintf(start_dir,"%s",subdir[jj++]); + if (jj > ii) + break; + } + for (jj=0;jj<ii ;jj++ ) { + fputs(subdir[jj],dirs); + fputs("\n",dirs); + } + fclose(dirs); +} + +void _outtext(char *text) +{ + printf(text); + printf("\n"); +} +int main(int argc, char *argv[]) +{ + char *q; + char mmcd=0, force=0; + char param=0; + char pfad[512]; + unsigned int nhandles; + long zaehler=0; + + for (param=0;param<argc ; param++) + { + strlwr(argv[param]); + if (!strncmp("-force",argv[param],strlen("-force"))) + force=1; + } + + _outtext("VIMKIDX/2 V0.07"); + _outtext("Creates all needed indexfiles for VIREQ/2"); + _outtext("Use -force to recreate the cdrom-indices"); + + + _outtext("Reading Paths.. "); + _outtext("Path: "); +/* + nhandles=_grow_handles(300); + if (nhandles < 280) + { + _outtext("Ungenugende Anzahl Filehandles, Programmabbruch!"); + exit(200); + } +*/ + + + sprintf(path,"/usr/bin/vireq/"); + + sprintf(pfadname,"%svipath.idx",path); + sprintf(pfadcname,"%svipath.idc",path); + + sprintf(configname,"%svireq.cfg",path); + config=fopen(configname,"r"); + if (!config) + exit(99); + pfade=fopen(pfadname,"wt"); + if (!pfade) { + exit(98); + } + if (force) + { + pfade_c=fopen(pfadcname,"wt"); + if (!pfade_c) { + exit(96); + } + } + while(!feof(config)) + { + fgets(eingabe,(int)255,config); + if (feof(config)) + break; + strlwr(eingabe); + p=strchr(eingabe,0x0d); + if (p) *p=0x00; + p=strchr(eingabe,0x0a); + if (p) *p=0x00; + mmcd=0; + mmcopy=0; + if (!strncmp(eingabe,"include-file",strlen("include-file"))) + { + p=strstr(eingabe," -cd"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmcd=1; + } + if (mmcd && !force) + continue; + p=strstr(eingabe," -local"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmcopy=1; + } + p=strchr(eingabe,0x20); + if (!p) + break; + while(*p++==0x20); + p--; + q=strchr(p,0x20); + if (q) + *q=0x00; + tmp=fopen(p,"rt"); + if (!tmp) + continue; + while(!feof(tmp)) + { + fgets(eingabe,(int)255,tmp); + if (feof(tmp)) + break; + p=strchr(eingabe,0x0d); + if (p) *p=0x00; + p=strchr(eingabe,0x0a); + if (p) *p=0x00; + p=strchr(eingabe,0x20); + if (p) *p=0x00; + if (!strlen(eingabe)) + continue; + strlwr(eingabe); + if (eingabe[strlen(eingabe)-1]==0x5c) + eingabe[strlen(eingabe)-1]=0x00; + if (mmcopy) + strcat(eingabe," -local"); + if (mmcd) + { + fputs(eingabe,pfade_c); + fputs("\n",pfade_c); + } + else + { + fputs(eingabe,pfade); + fputs("\n",pfade); + } + _outtext(eingabe); + } + fclose(tmp); + continue; + } + if (!strncmp(eingabe,"include-path",strlen("include-path"))) + { + char mmsub=0; + p=strstr(eingabe," -s"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmsub=1; + } + p=strstr(eingabe," -t"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmsub=2; + } + p=strstr(eingabe," -cd"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmcd=1; + } + p=strstr(eingabe," -local"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + mmcopy=1; + } + if (mmcd && !force) + continue; + p=strchr(eingabe,0x20); + if (!p) + break; + while(*p++==0x20); + p--; + q=strchr(p,0x20); + if (q) + *q=0x00; + if (!mmsub) { + char *q; + q=strchr(p,0x20); + if (q) + *q=0x00; + if (mmcopy) + strcat(p," -local"); + if (mmcd) + { + fputs(p,pfade_c); + fputs("\n",pfade_c); + } + else + { + fputs(p,pfade); + fputs("\n",pfade); + } + _outtext(p); + continue; + } + + make_dirlist(p); + tmp=fopen(dirs_name,"rt"); + if (!tmp) + continue; + while(!feof(tmp)) + { + fgets(eingabe,(int)255,tmp); + if (feof(tmp)) + break; + p=strchr(eingabe,0x0d); + if (p) *p=0x00; + p=strchr(eingabe,0x0a); + if (p) *p=0x00; + strlwr(eingabe); + if (eingabe[strlen(eingabe)-1]==0x5c) + eingabe[strlen(eingabe)-1]=0x00; + status=find_filesbbs(eingabe); + if (status==0 || mmsub==2) + { + char *q; + q=strchr(eingabe,0x20); + if (q) + *q=0x00; + if (mmcopy) + strcat(eingabe," -local"); + if (mmcd) + { + fputs(eingabe,pfade_c); + fputs("\n",pfade_c); + } + else + { + fputs(eingabe,pfade); + fputs("\n",pfade); + } + printf("%s\r",eingabe); + } + } + fclose(tmp); + continue; + } + } + fclose(config); + fclose(pfade); + if (force) + fclose(pfade_c); +// Erstellen der VIFILE<x>.IDX + + for (i=0;i<256;i++) { + idx[i].open=0; + } /* endfor */ + _outtext("Reading Files... "); + _outtext("File: "); + + pfade=fopen(pfadname,"rt"); + if (!pfade) { + exit(90); + } + while(!feof(pfade)) + { + zaehler++; + fgets(eingabe,(int)255,pfade); + if (feof(pfade)) + break; + p=strchr(eingabe,0x0d); + if (p) *p=0x00; + p=strchr(eingabe,0x0a); + if (p) *p=0x00; + p=strstr(eingabe," -local"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + } + p=strchr(eingabe,0x20); + if (p) *p=0x00; + sprintf(filesbbs,"%s/files.bbs",eingabe); + fbbs=fopen(filesbbs,"rt"); + if (!fbbs) + { + findfile(eingabe,"*"); + if (direntp) + { + while(direntp) + { + sprintf(stattest,"%s/%s",eingabe,direntp->d_name); + stat(stattest,&buf); + if (S_ISDIR(buf.st_mode)) + { + findnext(); + continue; + } + + p=direntp->d_name; + strlwr(p); + c=*p; + if (!(c=='.')) + { + if (!idx[c].open) + oeffne_idx(c); + if (idx[c].open) + { + fprintf(idx[c].f,"%s %lu\n",p,zaehler-1); + } + printf("%s\r",p); + } + findnext(); + } + findclose(); + } + continue; + } + strcpy(pfad,eingabe); + while (!feof(fbbs)) + { + fgets(eingabe,(int)4000,fbbs); + if (feof(fbbs)) + break; + p=strchr(eingabe,0x0d); + if (p) *p=0x00; + p=strchr(eingabe,0x0a); + if (p) *p=0x00; + c=toupper(eingabe[0]); + if (c==0x20 || c==0x0a || c==0x0d || c=='/' || c=='&' || c=='.') + continue; + if (c=='+' || c=='*' || c=='\\' || c==0x00 || c==':') + continue; + c=tolower(c); + strlwr(eingabe); + if (!idx[c].open) + oeffne_idx(c); + if (!idx[c].open ) + continue; + p=strchr(eingabe,0x20); + if (p) + *p=0x00; + sprintf(dummy_string,"%s/%s",pfad,eingabe); + if (access(dummy_string,F_OK)) + continue; + fprintf(idx[c].f,"%s %lu\n",eingabe,zaehler-1); + printf("%s\r",eingabe); + } + fclose(fbbs); + } + fclose(pfade); + for (i=0;i<256;i++) { + if (idx[i].open==1) { + fclose(idx[i].f); + } + } /* endfor */ + if (!force) + { + for (i=0;i<256;i++) { + if (idx_c[i].open==1) { + fclose(idx_c[i].f); + } + } /* endfor */ + + _outtext("Finished!\n\n"); + return(0); + } + + pfade_c=fopen(pfadcname,"rt"); + if (!pfade) { + exit(90); + } + zaehler=0; + while(!feof(pfade_c)) + { + zaehler++; + fgets(eingabe,(int)255,pfade_c); + if (feof(pfade_c)) + break; + p=strchr(eingabe,0x0d); + if (p) *p=0x00; + p=strchr(eingabe,0x0a); + if (p) *p=0x00; + p=strstr(eingabe," -local"); + if (p) { + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + *p++=0x20; + } + p=strchr(eingabe,0x20); + if (p) *p=0x00; + sprintf(filesbbs,"%s/files.bbs",eingabe); + fbbs=fopen(filesbbs,"rt"); + if (!fbbs) + { + findfile(eingabe,"*"); + if (direntp) + { + while(direntp) + { + p=direntp->d_name; + strlwr(p); + c=*p; + if (!(c=='.')) + { + if (!idx_c[c].open) + oeffne_idx_cdrom(c); + if (idx_c[c].open) + { + fprintf(idx_c[c].f,"%s %lu\n",p,zaehler-1); + } + _outtext(p); + } + findnext(); + } + findclose(); + } + continue; + } + while (!feof(fbbs)) + { + fgets(eingabe,(int)4000,fbbs); + if (feof(fbbs)) + break; + p=strchr(eingabe,0x0d); + if (p) *p=0x00; + p=strchr(eingabe,0x0a); + if (p) *p=0x00; + c=toupper(eingabe[0]); + if (c==0x20 || c==0x0a || c==0x0d || c=='/' || c=='&' || c=='.') + continue; + if (c=='+' || c=='*' || c=='\\' || c==0x00 || c==':') + continue; + strlwr(eingabe); + c=tolower(c); + if (!idx_c[c].open) + oeffne_idx_cdrom(c); + if (!idx_c[c].open ) + continue; + p=strchr(eingabe,0x20); + if (p) + *p=0x00; + fprintf(idx_c[c].f,"%s %lu\n",eingabe,zaehler-1); + _outtext(eingabe); + } + fclose(fbbs); + } + fclose(pfade_c); + + for (i=0;i<256;i++) { + if (idx_c[i].open==1) { + fclose(idx_c[i].f); + } + } /* endfor */ + + _outtext("Finished!\n\n"); + return(0); +} + Added: vireq/branches/vendor/vimre/0.10/vipath.idx =================================================================== --- vireq/branches/vendor/vimre/0.10/vipath.idx (rev 0) +++ vireq/branches/vendor/vimre/0.10/vipath.idx 2008-12-27 15:17:58 UTC (rev 6) @@ -0,0 +1,706 @@ +/mnt/hdc5/filebase +/mnt/hdc5/filebase/3com +/mnt/hdc5/filebase/ad +/mnt/hdc5/filebase/backbone +/mnt/hdc5/filebase/ct +/mnt/hdc5/filebase/abbs +/mnt/hdc5/filebase/echostat +/mnt/hdc5/filebase/fido +/mnt/hdc5/filebase/files +/mnt/hdc5/filebase/ess688 +/mnt/hdc5/filebase/fastecho +/mnt/hdc5/filebase/cook +/mnt/hdc5/filebase/ftsc +/mnt/hdc5/filebase/imail +/mnt/hdc5/filebase/novell +/mnt/hdc5/filebase/nw_info +/mnt/hdc5/filebase/pdn +/mnt/hdc5/filebase/fnews +/mnt/hdc5/filebase/t98_geb +/mnt/hdc5/filebase/t98_prev +/mnt/hdc5/filebase/t98_upd +/mnt/hdc5/filebase/t98_xl +/mnt/hdc5/filebase/tele98 +/mnt/hdc5/filebase/tgm +/mnt/hdc5/filebase/usr +/mnt/hdc5/filebase/wos +/mnt/hdc5/filebase/funnode +/mnt/hdc5/filebase/gernet +/mnt/hdc5/filebase/logs +/mnt/hdc5/filebase/isdn.all +/mnt/hdc5/filebase/pfd +/mnt/hdc5/filebase/isdn.dif +/mnt/hdc5/filebase/z7 +/mnt/hdc5/filebase/isdn.lis +/mnt/hdc5/filebase/isdn_pg_ +/mnt/hdc5/filebase/isdn_pnt +/mnt/hdc5/filebase/isdn_poi +/mnt/hdc5/filebase/net246 +/mnt/hdc5/filebase/network +/mnt/hdc5/filebase/local +/mnt/hdc5/filebase/nina +/mnt/hdc5/filebase/pascal +/mnt/hdc5/filebase/pconline +/mnt/hdc5/filebase/recliste +/mnt/hdc5/filebase/pc +/mnt/hdc5/filebase/rules24 +/mnt/hdc5/filebase/sf_node +/mnt/hdc5/filebase/sfnet +/mnt/hdc5/filebase/treiber +/mnt/hdc5/filebase/virnet +/mnt/hdc5/filebase/swf3 +/mnt/hdc5/filebase/vnet +/mnt/hdc5/filebase/txt-fil +/mnt/hdc5/filebase/voicelst +/mnt/hdc5/filebase/xp +/mnt/hdc5/filebase/zone7 +/mnt/hdc5/filebase/wheel +/mnt/hdc5/filebase/24000_er +/mnt/hdc5/filebase/ads +/mnt/hdc5/filebase/amiga +/mnt/hdc5/filebase/trek +/mnt/hdc5/filebase/bb.are +/mnt/hdc5/filebase/bb_ansi +/mnt/hdc5/filebase/bb_art +/mnt/hdc5/filebase/concord +/mnt/hdc5/filebase/echolist +/mnt/hdc5/filebase/fecvbeta +/mnt/hdc5/filebase/filebone +/mnt/hdc5/filebase/fstebeta +/mnt/hdc5/filebase/funfiles +/mnt/hdc5/filebase/funnet +/mnt/hdc5/filebase/funpoint +/mnt/hdc5/filebase/gamezone +/mnt/hdc5/filebase/gnews +/mnt/hdc5/filebase/textnet +/mnt/hdc5/filebase/isdn_ami +/mnt/hdc5/filebase/isdn.drv +/mnt/hdc5/filebase/isdn_drv +/mnt/hdc5/filebase/isdn_drv.000 +/mnt/hdc5/filebase/isdn_prg +/mnt/hdc5/filebase/isdn.pro +/mnt/hdc5/filebase/isdn.prg +/mnt/hdc5/filebase/isdn_rom +/mnt/hdc5/filebase/isdn_rom.000 +/mnt/hdc5/filebase/isdn_sup.001 +/mnt/hdc5/filebase/isdn +/mnt/hdc5/filebase/isdn_sup.002 +/mnt/hdc5/filebase/isdn_sup.000 +/mnt/hdc5/filebase/isdn_sup +/mnt/hdc5/filebase/isdn_tk_ +/mnt/hdc5/filebase/isdn_tk_.001 +/mnt/hdc5/filebase/isdn_tk_.000 +/mnt/hdc5/filebase/mp_sdemo +/mnt/hdc5/filebase/mp_sdisk +/mnt/hdc5/filebase/mp_smisc +/mnt/hdc5/filebase/mp_smod1 +/mnt/hdc5/filebase/mp_smod2 +/mnt/hdc5/filebase/mp_sutil +/mnt/hdc5/filebase/oa_admin +/mnt/hdc5/filebase/oa_ascii +/mnt/hdc5/filebase/oa_demo +/mnt/hdc5/filebase/oa_dos_s +/mnt/hdc5/filebase/oa_dos_v +/mnt/hdc5/filebase/oa_d_cdr +/mnt/hdc5/filebase/oa_d_mme +/mnt/hdc5/filebase/oa +/mnt/hdc5/filebase/oa_mmedi +/mnt/hdc5/filebase/oa_os2_s +/mnt/hdc5/filebase/oa_os2_v +/mnt/hdc5/filebase/oa_o_cdr +/mnt/hdc5/filebase/oa_o_mme +/mnt/hdc5/filebase/oa_sourc +/mnt/hdc5/filebase/oa_stool +/mnt/hdc5/filebase/oa_vtool +/mnt/hdc5/filebase/oa_w95_s +/mnt/hdc5/filebase/oa_w95_v +/mnt/hdc5/filebase/oa_win_s +/mnt/hdc5/filebase/oa_win_v +/mnt/hdc5/filebase/oa_w_cdr +/mnt/hdc5/filebase/oa_w_mme +/mnt/hdc5/filebase/proboard +/mnt/hdc5/filebase/pbasic +/mnt/hdc5/filebase/pb_beta +/mnt/hdc5/filebase/html +/mnt/hdc5/filebase/prg_c## +/mnt/hdc5/filebase/prg_nl +/mnt/hdc5/filebase/prg_pas +/mnt/hdc5/filebase/prg_txt +/mnt/hdc5/filebase/pktbeta +/mnt/hdc5/filebase/rad_mail +/mnt/hdc5/filebase/rad_util +/mnt/hdc5/filebase/request +/mnt/hdc5/filebase/sdc_awe +/mnt/hdc5/filebase/sdc_dig +/mnt/hdc5/filebase/sdc_midi +/mnt/hdc5/filebase/sdc_mtm +/mnt/hdc5/filebase/source +/mnt/hdc5/filebase/stars +/mnt/hdc5/filebase/tgm_midi +/mnt/hdc5/filebase/tgm_vdem +/mnt/hdc5/filebase/timbeta +/mnt/hdc5/filebase/tnt_bbs +/mnt/hdc5/filebase/tnt_dfue +/mnt/hdc5/filebase/tnt_dos +/mnt/hdc5/filebase/toolnet +/mnt/hdc5/filebase/tnt_win +/mnt/hdc5/filebase/vir_loc +/mnt/hdc5/filebase/celeb +/mnt/hdc5/filebase/linux +/mnt/hdc5/filebase/beta +/mnt/hdc5/filebase/bilder_von_armin +/mnt/hdc5/filebase/ger +/mnt/hdc5/filebase/index +/mnt/hdc5/filebase/lord_dev +/mnt/hdc5/filebase/lord_igm +/mnt/hdc5/filebase/lord_mnu +/mnt/hdc5/filebase/mag +/mnt/hdc5/filebase/man_on_the_line +/mnt/hdc5/filebase/aminet +/mnt/hdc5/filebase/mucban01 +/mnt/hdc5/filebase/mucnov04 +/mnt/hdc5/filebase/mucnov08 +/mnt/hdc5/filebase/mucnov09 +/mnt/hdc5/filebase/mucnov11 +/mnt/hdc5/filebase/mucnov13 +/mnt/hdc5/filebase/mucnov14 +/mnt/hdc5/filebase/puzzle +/mnt/hdc5/filebase/space +/mnt/hdc5/filebase/t-mail +/mnt/hdc5/filebase/sysop +/mnt/hdc5/filebase/upload +/mnt/hdc5/filebase/sdc +/mnt/hdc5/filebase/games +/mnt/hdc5/filebase/isdn_pg_.000 +/mnt/hdc5/filebase/mucnov02 +/mnt/hdc5/filebase/skcwork.000 +/mnt/hdc5/filebase/3com/nic +/mnt/hdc5/filebase/ad/windk +/mnt/hdc5/filebase/ad/winap +/mnt/hdc5/filebase/ad/vert +/mnt/hdc5/filebase/ad/prg_tool +/mnt/hdc5/filebase/ad/os2app +/mnt/hdc5/filebase/ad/graph +/mnt/hdc5/filebase/ad/engmt +/mnt/hdc5/filebase/ad/educ +/mnt/hdc5/filebase/ad/dosut +/mnt/hdc5/filebase/ad/dosap +/mnt/hdc5/filebase/ad/comms +/mnt/hdc5/filebase/ad/busi +/mnt/hdc5/filebase/ad/winut +/mnt/hdc5/filebase/ct/allg +/mnt/hdc5/filebase/ct/in +/mnt/hdc5/filebase/ct/ad +/mnt/hdc5/filebase/fido/revival +/mnt/hdc5/filebase/fido/wissen +/mnt/hdc5/filebase/fido/wwb +/mnt/hdc5/filebase/fido/wwb_fwd +/mnt/hdc5/filebase/fido/maxplanc +/mnt/hdc5/filebase/files/imail +/mnt/hdc5/filebase/cook/prg_son +/mnt/hdc5/filebase/cook/prg_os2 +/mnt/hdc5/filebase/cook/prg_dos +/mnt/hdc5/filebase/cook/mm_rez +/mnt/hdc5/filebase/cook/so_rez +/mnt/hdc5/filebase/ftsc/tmp +/mnt/hdc5/filebase/imail/beta +/mnt/hdc5/filebase/imail/diffs +/mnt/hdc5/filebase/novell/usr_01 +/mnt/hdc5/filebase/novell/mucnovus +/mnt/hdc5/filebase/pdn/vbwin +/mnt/hdc5/filebase/pdn/unix +/mnt/hdc5/filebase/pdn/tech +/mnt/hdc5/filebase/pdn/os2 +/mnt/hdc5/filebase/pdn/news +/mnt/hdc5/filebase/pdn/lang +/mnt/hdc5/filebase/pdn/cee +/mnt/hdc5/filebase/pdn/basic +/mnt/hdc5/filebase/pdn/asm +/mnt/hdc5/filebase/pdn/winnt +/mnt/hdc5/filebase/tgm/xms3 +/mnt/hdc5/filebase/usr/isdn +/mnt/hdc5/filebase/usr/modems +/mnt/hdc5/filebase/wos/m_disk +/mnt/hdc5/filebase/gernet/ix +/mnt/hdc5/filebase/gernet/in_swt +/mnt/hdc5/filebase/gernet/gerpoint +/mnt/hdc5/filebase/gernet/gernet_k +/mnt/hdc5/filebase/gernet/gernet +/mnt/hdc5/filebase/gernet/pci_corn +/mnt/hdc5/filebase/gernet/gerpoint.000 +/mnt/hdc5/filebase/logs/old +/mnt/hdc5/filebase/pfd/sys +/mnt/hdc5/filebase/pfd/pfd +/mnt/hdc5/filebase/pfd/dev +/mnt/hdc5/filebase/pfd/app +/mnt/hdc5/filebase/pfd/tgm +/mnt/hdc5/filebase/pfd/txt +/mnt/hdc5/filebase/pfd/games +/mnt/hdc5/filebase/z7/nodediff +/mnt/hdc5/filebase/z7/info +/mnt/hdc5/filebase/z7/nodelist +/mnt/hdc5/filebase/isdn.lis/tmp +/mnt/hdc5/filebase/local/pics +/mnt/hdc5/filebase/local/region24 +/mnt/hdc5/filebase/nina/nodelist +/mnt/hdc5/filebase/pascal/ppoint +/mnt/hdc5/filebase/pascal/list +/mnt/hdc5/filebase/pascal/files +/mnt/hdc5/filebase/pascal/diff +/mnt/hdc5/filebase/pascal/delphi +/mnt/hdc5/filebase/pascal/allg +/mnt/hdc5/filebase/pascal/tools +/mnt/hdc5/filebase/pconline/node +/mnt/hdc5/filebase/pconline/info +/mnt/hdc5/filebase/pconline/plis +/mnt/hdc5/filebase/recliste/tmp +/mnt/hdc5/filebase/pc/bbsu +/mnt/hdc5/filebase/sfnet/point3d +/mnt/hdc5/filebase/sfnet/nodediff +/mnt/hdc5/filebase/sfnet/kommerz +/mnt/hdc5/filebase/sfnet/point4d +/mnt/hdc5/filebase/treiber/w95_snd +/mnt/hdc5/filebase/treiber/w95_gfx +/mnt/hdc5/filebase/treiber/vir_nl +/mnt/hdc5/filebase/treiber/usr_info +/mnt/hdc5/filebase/treiber/t_win_so +/mnt/hdc5/filebase/treiber/t_win_mo +/mnt/hdc5/filebase/treiber/t_win_is +/mnt/hdc5/filebase/treiber/t_win_gr +/mnt/hdc5/filebase/treiber/t_w95_sc +/mnt/hdc5/filebase/treiber/t_w95_mo +/mnt/hdc5/filebase/treiber/t_w95_dr +/mnt/hdc5/filebase/treiber/t_w95_cd +/mnt/hdc5/filebase/treiber/t_tool_t +/mnt/hdc5/filebase/treiber/t_tool_p +/mnt/hdc5/filebase/treiber/t_nt4_so +/mnt/hdc5/filebase/treiber/t_nt4_mo +/mnt/hdc5/filebase/treiber/t_nt3_gr +/mnt/hdc5/filebase/treiber/t_node +/mnt/hdc5/filebase/treiber/t_dos_cd +/mnt/hdc5/filebase/treiber/t_bios_b +/mnt/hdc5/filebase/treiber/tornado +/mnt/hdc5/filebase/treiber/tng_tmnd +/mnt/hdc5/filebase/treiber/pfd_tgm_.003 +/mnt/hdc5/filebase/treiber/im_beta +/mnt/hdc5/filebase/treiber/g_word_g +/mnt/hdc5/filebase/treiber/g_idsoft.000 +/mnt/hdc5/filebase/treiber/g_idsoft +/mnt/hdc5/filebase/treiber/g_fun_ge +/mnt/hdc5/filebase/treiber/g_fun +/mnt/hdc5/filebase/treiber/g_emul_u +/mnt/hdc5/filebase/treiber/g_emul_s +/mnt/hdc5/filebase/treiber/g_emul_o +/mnt/hdc5/filebase/treiber/g_emul_m +/mnt/hdc5/filebase/treiber/g_emul_l +/mnt/hdc5/filebase/treiber/g_emul_b +/mnt/hdc5/filebase/treiber/g_driver +/mnt/hdc5/filebase/treiber/g_c&c_ad +/mnt/hdc5/filebase/treiber/g_blizza.001 +/mnt/hdc5/filebase/treiber/g_blizza.000 +/mnt/hdc5/filebase/treiber/g_blizza +/mnt/hdc5/filebase/treiber/g_beos +/mnt/hdc5/filebase/treiber/24000zip +/mnt/hdc5/filebase/treiber/win_cd +/mnt/hdc5/filebase/virnet/w16 +/mnt/hdc5/filebase/virnet/os2 +/mnt/hdc5/filebase/virnet/node +/mnt/hdc5/filebase/virnet/misc +/mnt/hdc5/filebase/virnet/ger +/mnt/hdc5/filebase/virnet/dos +/mnt/hdc5/filebase/virnet/w32 +/mnt/hdc5/filebase/virnet/netware +/mnt/hdc5/filebase/swf3/wave +/mnt/hdc5/filebase/swf3/comix +/mnt/hdc5/filebase/vnet/diff +/mnt/hdc5/filebase/vnet/list +/mnt/hdc5/filebase/xp/misc +/mnt/hdc5/filebase/xp/tools +/mnt/hdc5/filebase/zone7/nodelist +/mnt/hdc5/filebase/wheel/german +/mnt/hdc5/filebase/ads/arexx +/mnt/hdc5/filebase/amiga/artg +/mnt/hdc5/filebase/trek/t_d_ufp +/mnt/hdc5/filebase/trek/t_d_stry +/mnt/hdc5/filebase/trek/t_d_snd +/mnt/hdc5/filebase/trek/t_d_misc +/mnt/hdc5/filebase/trek/t_d_gfx +/mnt/hdc5/filebase/trek/t_d_fndm +/mnt/hdc5/filebase/trek/t_d_fcts +/mnt/hdc5/filebase/trek/tng_node +/mnt/hdc5/filebase/trek/tng_info +/mnt/hdc5/filebase/trek/tic +/mnt/hdc5/filebase/trek/snd_voy +/mnt/hdc5/filebase/trek/snd_tos +/mnt/hdc5/filebase/trek/snd_tng +/mnt/hdc5/filebase/trek/snd_dsn +/mnt/hdc5/filebase/trek/gfx_voy +/mnt/hdc5/filebase/trek/movies +/mnt/hdc5/filebase/trek/gfx_trek +/mnt/hdc5/filebase/trek/gfx_shp +/mnt/hdc5/filebase/trek/gfx_old +/mnt/hdc5/filebase/trek/gfx_dsn +/mnt/hdc5/filebase/trek/d_adult +/mnt/hdc5/filebase/trek/db_upd +/mnt/hdc5/filebase/trek/b5_snd +/mnt/hdc5/filebase/trek/b5_gfx +/mnt/hdc5/filebase/trek/amigad +/mnt/hdc5/filebase/trek/bab5 +/mnt/hdc5/filebase/trek/t_d_util +/mnt/hdc5/filebase/concord/dos +/mnt/hdc5/filebase/gamezone/info +/mnt/hdc5/filebase/textnet/ie_books +/mnt/hdc5/filebase/isdn/isdn_sup.eeh +/mnt/hdc5/filebase/oa/info +/mnt/hdc5/filebase/proboard/pb-arj +/mnt/hdc5/filebase/html/node +/mnt/hdc5/filebase/html/icon +/mnt/hdc5/filebase/html/home +/mnt/hdc5/filebase/html/point +/mnt/hdc5/filebase/stars/a +/mnt/hdc5/filebase/toolnet/games +/mnt/hdc5/filebase/celeb/tv-mo-us +/mnt/hdc5/filebase/celeb/texte +/mnt/hdc5/filebase/celeb/sport +/mnt/hdc5/filebase/celeb/soaps +/mnt/hdc5/filebase/celeb/scans_mi +/mnt/hdc5/filebase/celeb/scans_cb +/mnt/hdc5/filebase/celeb/sampler +/mnt/hdc5/filebase/celeb/rar_pics +/mnt/hdc5/filebase/celeb/points +/mnt/hdc5/filebase/celeb/playmate +/mnt/hdc5/filebase/celeb/papara +/mnt/hdc5/filebase/celeb/oldies +/mnt/hdc5/filebase/celeb/not4all +/mnt/hdc5/filebase/celeb/node +/mnt/hdc5/filebase/celeb/musik +/mnt/hdc5/filebase/celeb/models2 +/mnt/hdc5/filebase/celeb/mixed +/mnt/hdc5/filebase/celeb/kino +/mnt/hdc5/filebase/celeb/kabinett +/mnt/hdc5/filebase/celeb/infos +/mnt/hdc5/filebase/celeb/hbsnews +/mnt/hdc5/filebase/celeb/fitness +/mnt/hdc5/filebase/celeb/ever +/mnt/hdc5/filebase/celeb/auto +/mnt/hdc5/filebase/celeb/atzi.0 +/mnt/hdc5/filebase/celeb/atzi +/mnt/hdc5/filebase/celeb/asian +/mnt/hdc5/filebase/celeb/6stars +/mnt/hdc5/filebase/celeb/tv-movie +/mnt/hdc5/filebase/linux/source +/mnt/hdc5/filebase/linux/system +/mnt/hdc5/filebase/beta/im +/mnt/hdc5/filebase/ger/updates +/mnt/hdc5/filebase/aminet/text +/mnt/hdc5/filebase/aminet/mus +/mnt/hdc5/filebase/aminet/misc +/mnt/hdc5/filebase/aminet/hard +/mnt/hdc5/filebase/aminet/gfx +/mnt/hdc5/filebase/aminet/game +/mnt/hdc5/filebase/aminet/docs +/mnt/hdc5/filebase/aminet/disk +/mnt/hdc5/filebase/aminet/dev +/mnt/hdc5/filebase/aminet/comm +/mnt/hdc5/filebase/aminet/biz +/mnt/hdc5/filebase/aminet/util +/mnt/hdc5/filebase/t-mail/beta-nt +/mnt/hdc5/filebase/t-mail/beta +/mnt/hdc5/filebase/t-mail/alpha +/mnt/hdc5/filebase/t-mail/allg +/mnt/hdc5/filebase/t-mail/comm +/mnt/hdc5/filebase/t-mail/beta-os2 +/mnt/hdc5/filebase/sysop/tosser +/mnt/hdc5/filebase/sysop/ticker +/mnt/hdc5/filebase/sysop/nodelist +/mnt/hdc5/filebase/sysop/infos +/mnt/hdc5/filebase/sysop/ezy +/mnt/hdc5/filebase/sysop/bbs_allg +/mnt/hdc5/filebase/sysop/author +/mnt/hdc5/filebase/sysop/versch +/mnt/hdc5/filebase/sdc/xm +/mnt/hdc5/filebase/sdc/util +/mnt/hdc5/filebase/sdc/s3m +/mnt/hdc5/filebase/sdc/othr +/mnt/hdc5/filebase/sdc/mod +/mnt/hdc5/filebase/sdc/gus +/mnt/hdc5/filebase/sdc/dmf +/mnt/hdc5/filebase/sdc/demo +/mnt/hdc5/filebase/games/bigdemo +/mnt/hdc5/filebase/games/sh.add +/mnt/hdc5/filebase/games/sh +/mnt/hdc5/filebase/games/big.alg +/mnt/hdc5/filebase/games/word +/mnt/hdc5/filebase/games/win_nt +/mnt/hdc5/filebase/games/win95 +/mnt/hdc5/filebase/games/win +/mnt/hdc5/filebase/games/werbe +/mnt/hdc5/filebase/games/warcraft +/mnt/hdc5/filebase/games/vpl +/mnt/hdc5/filebase/games/uhs +/mnt/hdc5/filebase/games/train +/mnt/hdc5/filebase/games/trade +/mnt/hdc5/filebase/games/top100 +/mnt/hdc5/filebase/games/tools +/mnt/hdc5/filebase/games/theme +/mnt/hdc5/filebase/games/tetris +/mnt/hdc5/filebase/games/sundry +/mnt/hdc5/filebase/games/strat +/mnt/hdc5/filebase/games/updates.big +/mnt/hdc5/filebase/games/starcraf.add +/mnt/hdc5/filebase/games/spx +/mnt/hdc5/filebase/games/sport.jn +/mnt/hdc5/filebase/games/sport +/mnt/hdc5/filebase/games/update +/mnt/hdc5/filebase/games/solve +/mnt/hdc5/filebase/games/slot +/mnt/hdc5/filebase/games/simul +/mnt/hdc5/filebase/games/shot +/mnt/hdc5/filebase/games/saved +/mnt/hdc5/filebase/games/rott.add +/mnt/hdc5/filebase/games/rogue +/mnt/hdc5/filebase/games/review +/mnt/hdc5/filebase/games/quake +/mnt/hdc5/filebase/games/puzzle +/mnt/hdc5/filebase/games/prog +/mnt/hdc5/filebase/games/prod +/mnt/hdc5/filebase/games/prev +/mnt/hdc5/filebase/games/post +/mnt/hdc5/filebase/games/os2 +/mnt/hdc5/filebase/games/online +/mnt/hdc5/filebase/games/node +/mnt/hdc5/filebase/games/net +/mnt/hdc5/filebase/games/miscad +/mnt/hdc5/filebase/games/misc +/mnt/hdc5/filebase/games/mag +/mnt/hdc5/filebase/games/mac +/mnt/hdc5/filebase/games/lotto +/mnt/hdc5/filebase/games/linux +/mnt/hdc5/filebase/games/level +/mnt/hdc5/filebase/games/lern +/mnt/hdc5/filebase/games/kids +/mnt/hdc5/filebase/games/intern +/mnt/hdc5/filebase/games/inter +/mnt/hdc5/filebase/games/info +/mnt/hdc5/filebase/games/index +/mnt/hdc5/filebase/games/idsoft_a +/mnt/hdc5/filebase/games/idsoft +/mnt/hdc5/filebase/games/hexen.add +/mnt/hdc5/filebase/games/hexen +/mnt/hdc5/filebase/games/heretic.add +/mnt/hdc5/filebase/games/heret +/mnt/hdc5/filebase/games/g_c&c +/mnt/hdc5/filebase/games/g_bre-fe +/mnt/hdc5/filebase/games/groups +/mnt/hdc5/filebase/games/ger +/mnt/hdc5/filebase/games/fun +/mnt/hdc5/filebase/games/fly +/mnt/hdc5/filebase/games/flip +/mnt/hdc5/filebase/games/faq +/mnt/hdc5/filebase/games/eros +/mnt/hdc5/filebase/games/epic_a +/mnt/hdc5/filebase/games/epic +/mnt/hdc5/filebase/games/emul.gam +/mnt/hdc5/filebase/games/emul +/mnt/hdc5/filebase/games/educ +/mnt/hdc5/filebase/games/duke3d.add +/mnt/hdc5/filebase/games/driver +/mnt/hdc5/filebase/games/dosdemo +/mnt/hdc5/filebase/games/doom2.add +/mnt/hdc5/filebase/games/doom2 +/mnt/hdc5/filebase/games/doom.add +/mnt/hdc5/filebase/games/doom +/mnt/hdc5/filebase/games/diff +/mnt/hdc5/filebase/games/dice +/mnt/hdc5/filebase/games/desc +/mnt/hdc5/filebase/games/denk +/mnt/hdc5/filebase/games/demo +/mnt/hdc5/filebase/games/darkforc +/mnt/hdc5/filebase/games/console +/mnt/hdc5/filebase/games/trivia +/mnt/hdc5/filebase/games/civil_a +/mnt/hdc5/filebase/games/civil +/mnt/hdc5/filebase/games/bigdem.win +/mnt/hdc5/filebase/games/action +/mnt/hdc5/filebase/games/cheat +/mnt/hdc5/filebase/games/cdrom +/mnt/hdc5/filebase/games/casino +/mnt/hdc5/filebase/games/card +/mnt/hdc5/filebase/games/3dfx +/mnt/hdc5/filebase/games/bugfix +/mnt/hdc5/filebase/games/board +/mnt/hdc5/filebase/games/blood.add +/mnt/hdc5/filebase/games/blodd +/mnt/hdc5/filebase/games/big +/mnt/hdc5/filebase/games/bench +/mnt/hdc5/filebase/games/atari +/mnt/hdc5/filebase/games/apogee_a +/mnt/hdc5/filebase/games/apogee +/mnt/hdc5/filebase/games/ami_emul +/mnt/hdc5/filebase/games/amiga +/mnt/hdc5/filebase/games/air +/mnt/hdc5/filebase/games/advent +/mnt/hdc5/filebase/games/addon +/mnt/hdc5/filebase/games/w95demo +/mnt/hdc5/filebase/games/quake.add +/mnt/hdc5/filebase/skcwork.000/doc +/mnt/hdc5/filebase/fido/wissen/dateien +/mnt/hdc5/filebase/fido/wwb/tmp +/mnt/hdc5/filebase/imail/beta/tmp +/mnt/hdc5/filebase/pfd/sys/osys +/mnt/hdc5/filebase/pfd/sys/hacks +/mnt/hdc5/filebase/pfd/sys/updates +/mnt/hdc5/filebase/pfd/sys/tools +/mnt/hdc5/filebase/pfd/pfd/info +/mnt/hdc5/filebase/pfd/dev/misc +/mnt/hdc5/filebase/pfd/dev/basic +/mnt/hdc5/filebase/pfd/app/modem +/mnt/hdc5/filebase/pfd/app/misc +/mnt/hdc5/filebase/pfd/app/gfx +/mnt/hdc5/filebase/pfd/app/docr +/mnt/hdc5/filebase/pfd/app/dict +/mnt/hdc5/filebase/pfd/app/data +/mnt/hdc5/filebase/pfd/app/clock +/mnt/hdc5/filebase/pfd/app/calc +/mnt/hdc5/filebase/pfd/app/tcpip +/mnt/hdc5/filebase/pfd/app/crypt +/mnt/hdc5/filebase/pfd/app/tracker +/mnt/hdc5/filebase/pfd/tgm/www +/mnt/hdc5/filebase/pfd/tgm/game +/mnt/hdc5/filebase/pfd/tgm/tool +/mnt/hdc5/filebase/pfd/tgm/text +/mnt/hdc5/filebase/pfd/tgm/sound +/mnt/hdc5/filebase/pfd/tgm/science +/mnt/hdc5/filebase/pfd/tgm/misc +/mnt/hdc5/filebase/pfd/tgm/mail +/mnt/hdc5/filebase/pfd/tgm/mac +/mnt/hdc5/filebase/pfd/tgm/linux +/mnt/hdc5/filebase/pfd/tgm/internet +/mnt/hdc5/filebase/pfd/tgm/graph +/mnt/hdc5/filebase/pfd/tgm/dfue +/mnt/hdc5/filebase/pfd/tgm/chat +/mnt/hdc5/filebase/pfd/tgm/enterpr +/mnt/hdc5/filebase/pfd/tgm/business +/mnt/hdc5/filebase/pfd/tgm/enterpri +/mnt/hdc5/filebase/pfd/tgm/win +/mnt/hdc5/filebase/pfd/tgm/hobby +/mnt/hdc5/filebase/pfd/txt/faq +/mnt/hdc5/filebase/pfd/txt/manuals +/mnt/hdc5/filebase/pfd/games/fun +/mnt/hdc5/filebase/pfd/games/misc +/mnt/hdc5/filebase/local/pics/tmp +/mnt/hdc5/filebase/trek/movies/voy +/mnt/hdc5/filebase/trek/movies/tos +/mnt/hdc5/filebase/trek/movies/tng +/mnt/hdc5/filebase/trek/movies/dsn +/mnt/hdc5/filebase/celeb/models2/ger +/mnt/hdc5/filebase/celeb/models2/div +/mnt/hdc5/filebase/celeb/models2/us-uk +/mnt/hdc5/filebase/celeb/atzi/models +/mnt/hdc5/filebase/celeb/atzi/movie +/mnt/hdc5/filebase/t-mail/beta/tmp +/mnt/hdc5/filebase/t-mail/alpha/upd +/mnt/hdc5/filebase/t-mail/alpha/tmp +/mnt/hdc5/filebase/t-mail/comm/t-comm-2 +/mnt/hdc5/filebase/t-mail/comm/allg +/mnt/hdc5/filebase/t-mail/comm/t-comm-n +/mnt/hdc5/filebase/games/spx/sony +/mnt/hdc5/filebase/games/mac/mac +/mnt/hdc5/filebase/games/mac/upd +/mnt/hdc5/filebase/games/idsoft/quake +/mnt/hdc5/filebase/games/idsoft/hexen.add +/mnt/hdc5/filebase/games/idsoft/hexen +/mnt/hdc5/filebase/games/idsoft/heretic.add +/mnt/hdc5/filebase/games/idsoft/doom2.add +/mnt/hdc5/filebase/games/idsoft/doom.add +/mnt/hdc5/filebase/games/idsoft/addons +/mnt/hdc5/filebase/games/idsoft/soft +/mnt/hdc5/filebase/games/idsoft/quake.2 +/mnt/hdc5/filebase/games/ger/werbe +/mnt/hdc5/filebase/games/ger/w95 +/mnt/hdc5/filebase/games/ger/util +/mnt/hdc5/filebase/games/ger/updates +/mnt/hdc5/filebase/games/ger/strategy +/mnt/hdc5/filebase/games/ger/sport +/mnt/hdc5/filebase/games/ger/solve +/mnt/hdc5/filebase/games/ger/simul +/mnt/hdc5/filebase/games/ger/os2 +/mnt/hdc5/filebase/games/ger/misc +/mnt/hdc5/filebase/games/ger/mag +/mnt/hdc5/filebase/games/ger/lotto +/mnt/hdc5/filebase/games/ger/lern +/mnt/hdc5/filebase/games/ger/kids +/mnt/hdc5/filebase/games/ger/inter +/mnt/hdc5/filebase/games/ger/emul +/mnt/hdc5/filebase/games/ger/educ +/mnt/hdc5/filebase/games/ger/dice +/mnt/hdc5/filebase/games/ger/denk +/mnt/hdc5/filebase/games/ger/cheats +/mnt/hdc5/filebase/games/ger/card +/mnt/hdc5/filebase/games/ger/board +/mnt/hdc5/filebase/games/ger/adventur +/mnt/hdc5/filebase/games/ger/addons +/mnt/hdc5/filebase/games/ger/action +/mnt/hdc5/filebase/games/ger/windows +/mnt/hdc5/filebase/games/epic/unreal +/mnt/hdc5/filebase/games/epic/epic +/mnt/hdc5/filebase/games/epic/unreal.add +/mnt/hdc5/filebase/games/amiga/updates +/mnt/hdc5/filebase/skcwork.000/doc/image +/mnt/hdc5/filebase/pfd/sys/osys/othr +/mnt/hdc5/filebase/celeb/atzi/models/ger +/mnt/hdc5/filebase/celeb/atzi/models/div +/mnt/hdc5/filebase/celeb/atzi/models/us-uk +/mnt/hdc5/filebase/celeb/atzi/movie/ger +/mnt/hdc5/filebase/celeb/atzi/movie/div +/mnt/hdc5/filebase/celeb/atzi/movie/us-uk +/mnt/hdc5/filebase/t-mail/comm/t-comm-2/tmp +/mnt/hdc5/filebase/games/spx/sony/gamefaq +/mnt/hdc5/filebase/games/spx/sony/codes +/mnt/hdc5/filebase/games/spx/sony/solves +/mnt/hdc5/mp3 +/mnt/hdc5/mp3/list +/mnt/hdc5/mp3/other +/mnt/hdc5/mp3/listen +/mnt/hdc5/mp3/pop +/mnt/hdc5/mp3/rock +/mnt/hdc5/mp3/snd_pop +/mnt/hdc5/mp3/sound.fol +/mnt/hdc5/mp3/sound.fun +/mnt/hdc5/mp3/sound.har +/mnt/hdc5/mp3/cdrest +/mnt/hdc5/mp3/sound.hi1 +/mnt/hdc5/mp3/sound.pun +/mnt/hdc5/mp3/sound.hip +/mnt/hdc5/mp3/sound.kl1 +/mnt/hdc5/mp3/sound.la1 +/mnt/hdc5/mp3/sound.lat +/mnt/hdc5/mp3/sound.mys +/mnt/hdc5/mp3/sound.old +/mnt/hdc5/mp3/sound.kla +/mnt/hdc5/mp3/sound.par +/mnt/hdc5/mp3/sound.pla +/mnt/hdc5/mp3/sound.rck +/mnt/hdc5/mp3/sound.sof +/mnt/hdc5/mp3/sound.syn +/mnt/hdc5/mp3/sound.trk +/mnt/hdc5/mp3/utils +/mnt/hdc5/mp3/von_firma +/mnt/hdc5/mp3/wav2mp3 +/mnt/hdc5/mp3/control +/mnt/hdc5/mp3/sound.fo1 +/mnt/hdc5/mp3/mp3 +/mnt/hdc5/mp3/sound.ja1 +/mnt/hdc5/mp3/sound.ol1 +/mnt/hdc5/mp3/sound.po1 +/mnt/hdc5/mp3/von_firma/faithless +/mnt/hdc5/mp3/von_firma/tarantino +/mnt/hdc5/mp3/mp3/sound.old +/mnt/hdc5/mp3/mp3/sound.kla +/mnt/hdc5/mp3/mp3/rock +/mnt/hdc5/mp3/mp3/pop +/mnt/hdc5/mp3/von_firma/tarantino/from +/mnt/hdc5/mp3/von_firma/tarantino/pulp +/mnt/hdc5/mp3/von_firma/tarantino/tarantino +/mnt/hdc5/mp3/von_firma/tarantino/pulp +/mnt/hdc5/mp3/von_firma/tarantino/tarantino Added: vireq/branches/vendor/vimre/0.10/vireq.c =================================================================== --- vireq/branches/vendor/vimre/0.10/vireq.c (rev 0) +++ vireq/branches/vendor/vimre/0.10/vireq.c 2008-12-27 15:17:58 UTC (rev 6) @@ -0,0 +1,1460 @@ +#include <string.h> +#include <math.h> +#include <time.h> +#include <ctype.h> +#include <stdio.h> +#include <stdlib.h> +#include <fcntl.h> +#include <sys/types.h> +#include <sys/stat.h> +#define _MAX_DRIVE 3 +#define _MAX_DIR 255 +#define _MAX_FNAME 128 +#define _MAX_EXT 12 +#define MAX_FILENAMELEN _MAX_DRIVE + _MAX_DIR + _MAX_FNAME + _MAX_EXT +#include <dirent.h> + +DIR *dirp; +struct dirent *direntp; +struct stat datstat; +struct +{ + char name[MAX_FILENAMELEN]; + char passwort[20]; + long area; + char wildcard; + char found; + char mmcd; +} found[512]; + +char aliaslist[100][MAX_FILENAMELEN]; +unsigned int alias_max=0; + + +struct +{ + char open; + FILE *f; + char name[MAX_FILENAMELEN]; +} idx[255]; + +struct +{ + char open; + FILE *f; + char name[MAX_FILENAMELEN]; +} idx_c[255]; + +FILE *pfade; +char pfadfile[MAX_FILENAMELEN]; +#define VERSION "0.10" +FILE *pwfile; +char pwfilename[MAX_FILENAMELEN]; + +unsigned int i; +unsigned int j; +char c,pwok; +time_t aktuelles; +char statname[MAX_FILENAMELEN]; +char mmnewest, mmexecute; +char eingabe[512]; +char cdtemp[512]; +char ausgabe[512]; +char dateiname[255][MAX_FILENAMELEN]; +unsigned long area[255]; +char geoeffnet=0; +unsigned long max; +char systemname[512]; + +char srifname[MAX_FILENAMELEN]; +FILE *srif; +char requestname[MAX_FILENAMELEN]; +FILE *request; +char responsename[MAX_FILENAMELEN]; +FILE *response; +char *p; +char drive[_MAX_DRIVE]; +char path[_MAX_DIR]; +char file[_MAX_FNAME]; +char ext[_MAX_EXT]; +char adrive[_MAX_DRIVE]; +char apath[_MAX_DIR]; +char afname[_MAX_FNAME]; +char aext[_MAX_EXT]; +unsigned short task; +char logname[MAX_FILENAMELEN]; +char dlcname[MAX_FILENAMELEN]; +char *taska; +char tempname[MAX_FILENAMELEN]; + +void write_log (char *); +unsigned int zone_to, net_to, node_to, point_to=0; +unsigned int zone_from=2, net_from=246, node_from=2098, point_from=0; +void strlwr(char *dummy) +{ + char *p; + p=dummy; + while(*p) + { + *p=tolower(*p); + p++; + } +} +void strupr(char *dummy) +{ + char *p; + p=dummy; + while(*p) + { + *p=toupper(*p); + p++; + } +} +void ExpandPath(char *path) +{ + return; +} +char strnicmp(char *string1,char *string2, size_t laenge) +{ + char s1[2048]; + char s2[2048]; + char *p,*q; + strcpy(s1,string1); + strcpy(s2,string2); + s1[laenge]=0x00; + s2[laenge]=0x00; + strlwr(s1); + strlwr(s2); + return(strcmp(s1,s2)); +} + +char pwcheck(char *filename, char *password) +{ + char *p, *q; + char pwpfad[MAX_FILENAMELEN]; + char dummy1[512]; + pwok=0; + strlwr(filename); + strlwr(password); + + pwfile=fopen(pwfilename,"rt"); + if (!pwfile) + return(1); + while(1) + { + fgets(pwpfad,(int) MAX_FILENAMELEN - 2,pwfile); + if (feof(pwfile)) + { + pwok=1; + break; + } + strlwr(pwpfad); + p=strchr(pwpfad,0x0d); + if (p) + *p=0x00; + p=strchr(pwpfad,0x0a); + if (p) + *p=0x00; + q=strchr(pwpfad,0x20); + if (q) + *q=0x00; + p=strstr(filename,pwpfad); + if (q) + *q=0x20; + if (p) + { + p=strchr(pwpfad,0x20); + if (p) + { + while(*p++==0x20); + p--; + if (!strcmp(p,password)) + { + pwok=1; // passwort passt -> OK + break; + } + else + { + pwok=0; // Passwort pass nicht -> NOK + sprintf(dummy1,"Password expected for %s : %s\n",filename,p); + write_log(dummy1); + sprintf(dummy1,"Password received : %s",password); + write_log(dummy1); + break; + } + } + else + { + pwok=1; // kein pw im Pw-File... (?) + } + } + } + fclose(pwfile); + return(pwok); +} + +char copypuffer[65535]; + +char copy64k(char *quellpfad,char *zielpfad,char *dateiname) +{ + FILE *in,*out; + unsigned long gelesen; + char ein[512],aus[512]; + + sprintf(ein,"%s/%s",quellpfad,dateiname); + sprintf(aus,"%s/%s",zielpfad,dateiname); + + in=fopen(ein,"rb"); + if (!in) + return(1); + out=fopen(aus,"wb"); + if (!out) + { + fclose(in); + return(1); + } + while(1) + { + gelesen=fread(©puffer[0],(size_t)1, (size_t)65535,in); + if (!gelesen) + break; + fwrite(©puffer[0],(size_t) 1, (size_t) gelesen,out); + } + fclose(in); + fclose(out); + return(0); +} + + +char ungleich(char *q, char *z) +{ + char sichern=0; + char mmaufsetz=0; + char gesichert[60]; + char *aufsetz; + char *p; + char *r; + char ungleich=0; + r=q; + strcpy(gesichert,q); + while(1) + { + if (!*q) + { + if (mmaufsetz) + { + mmaufsetz=1; + } + else + { + if (*z) + ungleich=1; + break; + } + } + if (!*z) + { + if (!*q) + break; + if (*q!='*') + ungleich=1; + if (*q=='*') + if (*(q+1)) + ungleich=1; + break; + } + if (*q==*z || *q=='?') + { + q++; + z++; + continue; + } + if (*q=='*') + { + q++; + } + if (*(q-1)=='*' || (*q != *z && mmaufsetz)) + { + if (mmaufsetz && ! (*(q-1)=='*')) + q=aufsetz; + if (*(q-1)=='*') + { + if (!*q) + break; + } + p=q; + while(*p) + { + if (*p=='*' || *p=='?') + break; + p++; + } + if (*p=='*' || *p=='?') + { + sichern=*p; + *p=0x00; + } + if (!strstr(z,q)) + { + ungleich=1; + break; + } + else + { + z=strstr(z,q); + aufsetz=q; + if (strstr(z+1,q)) + mmaufsetz=1; + if (sichern) + { + *p=sichern; + sichern=0; + } + continue; + } + } + if (*q != *z) + { + ungleich=1; + break; + } + } + strcpy(r,gesichert); + return(ungleich); +} + +void write_temp(char *log_zeile) +{ + FILE *tmp; + tmp=fopen(tempname,"at"); + if (!tmp) + return; + fputs(log_zeile,tmp); + fputs("\x0d",tmp); + fclose(tmp); +} + +void write_dlc(char *log_zeile) +{ + FILE *tmp; + if (!strlen(dlcname)) + return; + tmp=fopen(dlcname,"at"); + if (!tmp) + return; + fputs(log_zeile,tmp); + fputs("\n",tmp); + fclose(tmp); +} + +int status; + +#define uint unsigned short +#define uchar unsigned char + +struct pkt_1 +{ + uint onode, + dnode; + uint jahr, + monat, + tag, + stunde, + minute, + sekunde; + uint baud; + uint fix; + uint onet, + dnet; + uchar pcode; + uchar rev_major; + uchar pw[8]; + uint ozone, + dzone; + uint auxnet; + uint cw1; + uchar pcode2, + revision; + uint cw2; + uint ozone2, + dzone2; + uint opoint, + dpoint; + uchar pdata[4]; +} packet; + char dirname[255]; + char filename[255]; + +struct d +{ +unsigned short node_from; +unsigned short node_to; +unsigned short net_from; +unsigned short net_to; +unsigned short attribute; +unsigned short cost; +} pp; + + +char datum[20]; + +#define NM_PRIVATE 1 +#define NM_CRASH 2 +#define NM_KILLSENT 128 +#define NM_LOCAL 256 +#define NM_HOLD 512 +#define NM_DIRECT 1024 + +char pfad2[255]; + +char dummy_string2[80]; +int write_pkt(char *pfad, char *sysop_from, char* sysop_to, + uint zone_from, uint net_from, + uint node_from, uint point_from, + uint zone_to, uint net_to, + uint node_to, uint point_to, + char *call_subject, char *filename) +{ + FILE *pkt, + *tmp; + char zeit[10]; + uint fix2=2; + int day; + char dummy_string[100]; + unsigned long anz; + struct + { + char Day[4]; + char Month[4]; + char DayNr[3]; + char filler[11]; + char Year[2]; + } zeit1; + char *p1; + time_t ltime; + struct tm *gmt; + + time (<ime); + gmt = localtime (<ime); +/* + _strtime(zeit); + _strdate(datum); +*/ + strftime(zeit,10,"%H:%M:%S",gmt); + + day=gmt->tm_wday; + + p1=asctime(gmt); + strncpy(zeit1.Day,p1,(int)4); + strncpy(zeit1.Month,p1+4,(int) 4); + strncpy(zeit1.DayNr,p1+8,(int) 3); + strncpy(zeit1.Year,p1+22,(int) 2); + + if (!strnicmp(zeit1.Month,"Dez",3)) + strcpy(zeit1.Month,"Dec"); + + if (!strnicmp(zeit1.Month,"Mae",3)) + strcpy(zeit1.Month,"Mar"); + + if (!strnicmp(zeit1.Month,"Mai",3)) + strcpy(zeit1.Month,"May"); + + if (!strnicmp(zeit1.Month,"Okt",3)) + strcpy(zeit1.Month,"Oct"); + +loop: + time(<ime); + if (pfad[strlen(pfad)-1] != '/') + strcat(pfad,"/"); + strcpy(pfad2,pfad); + sprintf(dummy_string,"%8lx",ltime); + strcat(pfad2,dummy_string); + strcat(pfad2,".pkt"); + if (!access(pfad2,(int)0x00)) + goto loop; + + pkt=fopen(pfad2,"wb"); + + if (!pkt) + return(21); + + packet.onode=node_from; + packet.dnode=node_to; + packet.jahr=gmt->tm_year; + packet.monat=gmt->tm_mon; + packet.tag=gmt->tm_mday; + packet.stunde=gmt->tm_hour; + packet.minute=gmt->tm_min; + packet.sekunde=gmt->tm_sec; + packet.baud=0x02; + packet.fix=0x02; + packet.auxnet=0x0000; + if (!point_from) + packet.onet=net_to; + else + { + packet.onet=0xffff; + packet.auxnet=net_to; + } + packet.dnet=net_to; + packet.pcode=0x00; + memset(packet.pw,0x00,(size_t)8); + packet.ozone=zone_from; + packet.dzone=zone_to; + packet.cw1=0x0100; + packet.pcode=0x00; + packet.rev_major=0x01; + packet.revision=0x30; + packet.cw2=0x0001; + packet.ozone2=zone_from; + packet.dzone2=zone_to; + packet.dpoint=point_to; + packet.opoint=point_from; + fwrite(&packet,(size_t) sizeof(packet), (size_t) 1, pkt); + fwrite(&fix2,(size_t) sizeof(fix2),(size_t) 1, pkt); + + pp.net_to=net_to; + pp.net_from=net_from; + pp.node_from=node_from; + pp.node_to=node_to; + pp.attribute = NM_PRIVATE; + pp.cost=0; + fwrite(&pp,(size_t) sizeof(pp), (size_t) 1, pkt); + + + for (anz = 0; anz < sizeof(datum); anz++) + datum[anz]=0x00; + strncpy(datum,zeit1.DayNr, (size_t) 3); + strncat(datum,zeit1.Month, (size_t) 3); + strcat(datum," "); + strncat(datum,zeit1.Year, (size_t) 2); + strcat(datum," "); + strncat(datum,zeit,(int) 2); + strcat(datum,":"); + strncat(datum,zeit+3,(int) 2); + strcat(datum,":"); + strncat(datum,zeit+6,(int) 2); + fwrite(datum,(size_t) strlen(datum), (size_t) 1, pkt); + fputc(0x00,pkt); + fwrite(sysop_to,(size_t) strlen(sysop_to),1,pkt); + fputc(0x00,pkt); + fwrite(sysop_from,(size_t) strlen(sysop_from),1,pkt); + fputc(0x00,pkt); + fwrite(call_subject,(size_t) strlen(call_subject),1,pkt); + fputc(0x00,pkt); +/* + fputc(0x01,pkt); + fwrite("AREA:",(size_t) strlen("AREA:"),1,pkt); + fwrite(area,(size_t) strlen(area),1,pkt); + fputc(0x0d,pkt); +*/ + sprintf(dummy_string,"\x01INTL %d:%d/%d %d:%d/%d\x0d",zone_to, net_to, + node_to, zone_from, net_from, node_from); + fwrite(dummy_string,(size_t) strlen(dummy_string), (size_t) 1, pkt); + + if (point_from) + { + sprintf(dummy_string,"%cFMPT %d\x0d",0x01, point_from); + fwrite(dummy_string,(size_t) strlen(dummy_string), (size_t) 1, pkt); + } + if (point_to) + { + sprintf(dummy_string,"\x01TOPT %d\x0d", point_to); + fwrite(dummy_string,(size_t) strlen(dummy_string), (size_t) 1, pkt); + } + + + sprintf(dummy_string,"\x01MSGID: %d:%d/%d.%d %8lx\x0d",zone_from,net_from,node_from,point_from,ltime); + fwrite(dummy_string,(size_t) strlen(dummy_string), (size_t) 1, pkt); + + sprintf(dummy_string,"\x01PID: VIREQ/Linux V%s\x0d",VERSION); + fwrite(dummy_string,(size_t) strlen(dummy_string), (size_t) 1, pkt); + + tmp=fopen(filename,"rb"); + + if (!tmp) + return(22); + while(!feof(tmp)) + { + anz=fread(dummy_string,(size_t) 1, (size_t) 80, tmp); + if (anz) + fwrite(dummy_string,(size_t) anz, (size_t) 1, pkt); + } + if (!point_from) + sprintf(dummy_string,"\x0d--- VIREQ/Linux V%s \x0d * Origin: (c) 1998-2001 by Volker Imre, Fidonet 2:246/2098 (%d:%d/%d)\x0d",VERSION, + zone_from, net_from, node_from); + else + sprintf(dummy_string,"\x0d--- VIREQ/Linux V%s\x0d * Origin: (c) 1998-2001 by Volker Imre, Fidonet 2:246/2098 (%d:%d/%d.%d)\x0d",VERSION, + zone_from, net_from, node_from, point_from); + fwrite(dummy_string,(size_t) strlen(dummy_string), (size_t) 1, pkt); + + fputc(0x00,pkt); + fputc(0x00,pkt); + fputc(0x00,pkt); + fclose(pkt); + fclose(tmp); + return(0); +} + +void write_log(char *log_zeile) +{ + char errorlevel=0; + FILE *logfile; + + char zeit[10]; + char logger[256]; + char *x; + static is_open=0; + char level[]={" !?+-~"}; + time_t akttime; + struct tm *d2; + char mon[][4]={"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"}; + + if (!strlen(logname)) + return; + + time(&akttime); + d2=localtime(&akttime); + +/* _strtime(zeit);*/ + strftime(zeit,10,"%H:%M:%S",d2); + x=strstr(log_zeile,"\n"); + if (x) + *x=0x00; + + logfile=fopen(logname,"a"); + if (!is_open) + { + sprintf(logger,"\n %2.2d %s %s VIR begin, VIREQ/Linux V%s\n",d2->tm_mday,mon[d2->tm_mon],zeit,VERSION); + fputs(logger,logfile); + is_open=1; + } + sprintf(logger," %2.2d %s %s VIR %s\n",d2->tm_mday,mon[d2->tm_mon],zeit, log_zeile); + + fputs(logger,logfile); + if (logfile) fclose(logfile); + return; +} +void findnext() +{ + while(1) + { + if (!direntp) + break; + direntp=readdir(dirp); + if (!direntp) + break; + if (!ungleich(filename,direntp->d_name)) + break; + } +} +void findclose() +{ + closedir(dirp); +} + +void findfile(char *name) +{ + char *p,*q; + p=strrchr(name,'/'); + if (!p) + { + direntp=NULL; + return; + } + q=p+1; + *p=0x00; + strcpy(dirname,name); + strcpy(filename,q); + p=strchr(filename,0x20); + if (p) + *p=0x00; + dirp = opendir( dirname ); + if( dirp == NULL ) { + perror( "Error " ); + } else { + direntp = readdir( dirp ); + } + if (ungleich(filename,direntp->d_name)) + findnext(); + if (!direntp) + findclose(); + +} + + +void main(int argc, char *argv[]) +{ + unsigned int nhandles; + FILE *config; + FILE *alias; + char configname[255]; + char aka=0,go_on=0,mmdone=0,mmcopy=0; + char eigen_aka=0; + char sysopname[255]; + char akastring[255]; + char baud[255]; + char dummy_string[512]; + char pkt_pfad[255]; + unsigned int j; + + max=0; + if (argc < 2) { + exit(99); + } + taska=getenv("TASK"); + if (!taska) { + task=99; + } else { + task=atoi(taska); + } + +/* _splitpath(argv[0],drive,path,file,ext);*/ + sprintf(path,"/usr/bin/vireq/"); + sprintf(tempname,"%svireq%u.tmp",path,task); + unlink(tempname); + for (i=0;i<510 ; i++) + { + found[i... [truncated message content] |
From: <ja...@us...> - 2008-12-08 10:49:30
|
Revision: 5 http://ftnapps.svn.sourceforge.net/ftnapps/?rev=5&view=rev Author: jame Date: 2008-12-08 10:49:26 +0000 (Mon, 08 Dec 2008) Log Message: ----------- ftnapps htdocs ToDo as of 8 Dec 08. Added Paths: ----------- htdocs/ToDo Removed Paths: ------------- htdocs/online/ToDo Copied: htdocs/ToDo (from rev 2, htdocs/online/ToDo) =================================================================== --- htdocs/ToDo (rev 0) +++ htdocs/ToDo 2008-12-08 10:49:26 UTC (rev 5) @@ -0,0 +1,28 @@ +ToDo for ftnapps www +------------------- + +general +- Add individual pages for apps/programs that are added here. + +index.html + - None + +vireq.html + - Add info about where originally obtained the source archives + and about the COPYING file now in the source. + - Add html link for BinkD reference. + + +information.html + - add 'dog /w diskette' gif to page? + +screen.css + - add h2,h3 define - like h1 + - find better color for "<a hover", "<h1 hover", etc. ? + +print.css + - None + +robots.txt + - None + Property changes on: htdocs/ToDo ___________________________________________________________________ Added: svn:mergeinfo + Deleted: htdocs/online/ToDo =================================================================== --- htdocs/online/ToDo 2008-12-08 10:41:07 UTC (rev 4) +++ htdocs/online/ToDo 2008-12-08 10:49:26 UTC (rev 5) @@ -1,22 +0,0 @@ -ToDo for ftnapps www -------------------- - -general -- Add individual pages for apps/programs that are added here. - -index.html - - add filler pp to extend left side line down? - -information.html - - add 'dog /w diskette' gif to page? - -screen.css - - add h2,h3 define - like h1 - - find better color for "<a hover", "<h1 hover", etc. ? - -print.css - - None - -robots.txt - - None - This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ja...@us...> - 2008-12-08 10:41:11
|
Revision: 4 http://ftnapps.svn.sourceforge.net/ftnapps/?rev=4&view=rev Author: jame Date: 2008-12-08 10:41:07 +0000 (Mon, 08 Dec 2008) Log Message: ----------- Add VIREQ page to web site. Modified Paths: -------------- htdocs/online/index.html htdocs/online/information.html Added Paths: ----------- htdocs/online/vireq.html Modified: htdocs/online/index.html =================================================================== --- htdocs/online/index.html 2008-12-08 09:17:26 UTC (rev 3) +++ htdocs/online/index.html 2008-12-08 10:41:07 UTC (rev 4) @@ -5,8 +5,8 @@ <meta name="keywords" CONTENT="Fidonet FTN BBS"> <meta http-equiv="KEYWORDS" CONTENT="Fidonet, FTN, BBS"> <meta name="description" CONTENT="Information and links about applications for Fidonet systems. "> - <link rel="stylesheet" type="text/css" href="./screen.css" media="screen, tv, projection" title="Default" /> - <link rel="stylesheet" type="text/css" href="./print.css" media="print" /> + <link rel="stylesheet" type="text/css" href="/screen.css" media="screen, tv, projection" title="Default" /> + <link rel="stylesheet" type="text/css" href="/print.css" media="print" /> </head> <body> @@ -19,10 +19,10 @@ </div> <div class="subHeader"> <span class="doNotDisplay">Navigation:</span> - <a href="./index.html">Home</a> | -<!-- <a href="./applications.html">Apps</a> | --> -<!-- <a href="./links.html">Links</a> | --> - <a href="./information.html">Info</a> + <a href="/index.html">Home</a> | + <a href="/vireq.html">vireq</a> | +<!-- <a href="/links.html">Links</a> | --> + <a href="/information.html">Info</a> </div> </div> @@ -37,11 +37,12 @@ Fidonet Technology Networks (FTN) systems; especially for those that do not otherwise have public project space.</p> + <ul> + <li><a href="vireq.html"><b>vireq</b></a> - SRIF File request processor for Linux</li> + </ul> + <dl> - - <dt>FTN Related Applications</dt> - <dd>Fidonet related Software <!-- <a href="applications.html">Applications</a> --></dd> - + <dt>Information</dt> <dd><a href="information.html#fidonet">Fidonet</a> Information</dd> Modified: htdocs/online/information.html =================================================================== --- htdocs/online/information.html 2008-12-08 09:17:26 UTC (rev 3) +++ htdocs/online/information.html 2008-12-08 10:41:07 UTC (rev 4) @@ -5,8 +5,8 @@ <meta name="keywords" CONTENT="Fidonet FTN BBS"> <meta http-equiv="KEYWORDS" CONTENT="Fidonet, FTN, Information"> <meta name="description" CONTENT="Information and links about Fidonet and Perl. "> - <link rel="stylesheet" type="text/css" href="./screen.css" media="screen, tv, projection" title="Default" /> - <link rel="stylesheet" type="text/css" href="./print.css" media="print" /> + <link rel="stylesheet" type="text/css" href="/screen.css" media="screen, tv, projection" title="Default" /> + <link rel="stylesheet" type="text/css" href="/print.css" media="print" /> </head> <body> @@ -19,10 +19,10 @@ </div> <div class="subHeader"> <span class="doNotDisplay">Navigation:</span> - <a href="./index.html">Home</a> | -<!-- <a href="./applications.html">Apps</a> | --> + <a href="/index.html">Home</a> | + <a href="/vireq.html">vireq</a> | <!-- <a href="./links.html">Links</a> | --> - <a href="./information.html">Info</a> + <a href="/information.html">Info</a> </div> </div> Added: htdocs/online/vireq.html =================================================================== --- htdocs/online/vireq.html (rev 0) +++ htdocs/online/vireq.html 2008-12-08 10:41:07 UTC (rev 4) @@ -0,0 +1,69 @@ +<html> + <head> + <title>ftnapps: vireq</title> + <meta name="author" content="Robert James Clay"> + <meta name="keywords" CONTENT="Fidonet FTN BBS SRIF file request"> + <meta http-equiv="KEYWORDS" CONTENT="Fidonet, FTN, BBS, SRIF, file request"> + <meta name="description" CONTENT="Information and links about the vireq, the SRIF File request processor for Linux. "> + <link rel="stylesheet" type="text/css" href="/screen.css" media="screen, tv, projection" title="Default" /> + <link rel="stylesheet" type="text/css" href="/print.css" media="print" /> + </head> + <body> + + <div id="header"> + <div class="Header"> + <h1 class="headerTitle" lang="en">VIREQ/x</h1> + <div class="headerSubTitle" title="Description of page"> + SRIF File request processor for Linux + </div> + </div> + <div class="subHeader"> + <span class="doNotDisplay">Navigation:</span> + <a href="/index.html">Home</a> | + <a href="/vireq.html">vireq</a> | +<!-- <a href="/links.html">Links</a> | --> + <a href="/information.html">Info</a> + </div> + </div> + + <div id="mainbody"> + <div class="rowOfBoxes"> + <div class="twoThirds noBorderOnLeft"> + + <p>VIREQ/x is a SRIF File request processor for Linux. Works with SRIF according to FSC-0086.001. + Neither filebase nor files.bbs files are neccessary. Usable with FTN mailers such as BinkD to + handle incoming file requests. + </p> + + + </div> + + <div class="oneThird"> + + <h2>vireq links</h2> + + <ul> + <li>Browse <a href="http:/ftnapps.svn.sourceforge.net/viewvc/ftnapps/vireq/">vireq</a> in the ftnapps SVN repository.</li> + </ul> + + </div> + </div> + + </div> + + <div id="footer"> + <table width="100%"> + <tr><td> + + <a href="http://sourceforge.net"> + <img src="http://sflogo.sourceforge.net/sflogo.php?group_id=29063&type=1" + width="88" height="31" border="0" alt="SourceForge Logo"/></a> + + </td><td align="right"> + <font size="-2">Copyright © 2008 Robert James Clay</font> + </td></tr) + </table> + </div> + + </body> +</html> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ja...@us...> - 2008-12-08 09:17:30
|
Revision: 3 http://ftnapps.svn.sourceforge.net/ftnapps/?rev=3&view=rev Author: jame Date: 2008-12-08 09:17:26 +0000 (Mon, 08 Dec 2008) Log Message: ----------- Create repository structure for vireq. Added Paths: ----------- vireq/ vireq/branches/ vireq/branches/vendor/ vireq/branches/vendor/vimre/ vireq/branches/vendor/vkafke/ vireq/tags/ vireq/trunk/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |