feedServ Framework... now lets code
This commit is contained in:
parent
a9da9caeaa
commit
97c7b64fdb
19 changed files with 31003 additions and 0 deletions
18
.gitattributes
vendored
18
.gitattributes
vendored
|
@ -1 +1,19 @@
|
||||||
* text=auto !eol
|
* text=auto !eol
|
||||||
|
/ChangeLog -text
|
||||||
|
/LICENSE -text
|
||||||
|
/Makefile.am -text
|
||||||
|
/Makefile.in -text
|
||||||
|
/README.feedserv -text
|
||||||
|
/README.feedserv.html -text
|
||||||
|
/README.feedserv.xml -text
|
||||||
|
/RELNOTES -text
|
||||||
|
/aclocal.m4 -text
|
||||||
|
/configure -text
|
||||||
|
/configure.in -text
|
||||||
|
/feed.c -text
|
||||||
|
/feed.h -text
|
||||||
|
/feed_help.c -text
|
||||||
|
/html.css -text
|
||||||
|
/install-sh -text
|
||||||
|
/modconfig.h.in -text
|
||||||
|
/modconfigwin32.h -text
|
||||||
|
|
4
ChangeLog
Normal file
4
ChangeLog
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
FeedServ Module for NeoStats Changelog.
|
||||||
|
==============================================================================
|
||||||
|
1.0 - Fish (F)
|
||||||
|
- Initial Release
|
341
LICENSE
Normal file
341
LICENSE
Normal file
|
@ -0,0 +1,341 @@
|
||||||
|
# $Id: LICENSE,v 1.1 2002/09/04 08:52:34 fishwaldo Exp $
|
||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
Version 2, June 1991
|
||||||
|
|
||||||
|
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||||
|
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies
|
||||||
|
of this license document, but changing it is not allowed.
|
||||||
|
|
||||||
|
Preamble
|
||||||
|
|
||||||
|
The licenses for most software are designed to take away your
|
||||||
|
freedom to share and change it. By contrast, the GNU General Public
|
||||||
|
License is intended to guarantee your freedom to share and change free
|
||||||
|
software--to make sure the software is free for all its users. This
|
||||||
|
General Public License applies to most of the Free Software
|
||||||
|
Foundation's software and to any other program whose authors commit to
|
||||||
|
using it. (Some other Free Software Foundation software is covered by
|
||||||
|
the GNU Library General Public License instead.) You can apply it to
|
||||||
|
your programs, too.
|
||||||
|
|
||||||
|
When we speak of free software, we are referring to freedom, not
|
||||||
|
price. Our General Public Licenses are designed to make sure that you
|
||||||
|
have the freedom to distribute copies of free software (and charge for
|
||||||
|
this service if you wish), that you receive source code or can get it
|
||||||
|
if you want it, that you can change the software or use pieces of it
|
||||||
|
in new free programs; and that you know you can do these things.
|
||||||
|
|
||||||
|
To protect your rights, we need to make restrictions that forbid
|
||||||
|
anyone to deny you these rights or to ask you to surrender the rights.
|
||||||
|
These restrictions translate to certain responsibilities for you if you
|
||||||
|
distribute copies of the software, or if you modify it.
|
||||||
|
|
||||||
|
For example, if you distribute copies of such a program, whether
|
||||||
|
gratis or for a fee, you must give the recipients all the rights that
|
||||||
|
you have. You must make sure that they, too, receive or can get the
|
||||||
|
source code. And you must show them these terms so they know their
|
||||||
|
rights.
|
||||||
|
|
||||||
|
We protect your rights with two steps: (1) copyright the software, and
|
||||||
|
(2) offer you this license which gives you legal permission to copy,
|
||||||
|
distribute and/or modify the software.
|
||||||
|
|
||||||
|
Also, for each author's protection and ours, we want to make certain
|
||||||
|
that everyone understands that there is no warranty for this free
|
||||||
|
software. If the software is modified by someone else and passed on, we
|
||||||
|
want its recipients to know that what they have is not the original, so
|
||||||
|
that any problems introduced by others will not reflect on the original
|
||||||
|
authors' reputations.
|
||||||
|
|
||||||
|
Finally, any free program is threatened constantly by software
|
||||||
|
patents. We wish to avoid the danger that redistributors of a free
|
||||||
|
program will individually obtain patent licenses, in effect making the
|
||||||
|
program proprietary. To prevent this, we have made it clear that any
|
||||||
|
patent must be licensed for everyone's free use or not licensed at all.
|
||||||
|
|
||||||
|
The precise terms and conditions for copying, distribution and
|
||||||
|
modification follow.
|
||||||
|
|
||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||||
|
|
||||||
|
0. This License applies to any program or other work which contains
|
||||||
|
a notice placed by the copyright holder saying it may be distributed
|
||||||
|
under the terms of this General Public License. The "Program", below,
|
||||||
|
refers to any such program or work, and a "work based on the Program"
|
||||||
|
means either the Program or any derivative work under copyright law:
|
||||||
|
that is to say, a work containing the Program or a portion of it,
|
||||||
|
either verbatim or with modifications and/or translated into another
|
||||||
|
language. (Hereinafter, translation is included without limitation in
|
||||||
|
the term "modification".) Each licensee is addressed as "you".
|
||||||
|
|
||||||
|
Activities other than copying, distribution and modification are not
|
||||||
|
covered by this License; they are outside its scope. The act of
|
||||||
|
running the Program is not restricted, and the output from the Program
|
||||||
|
is covered only if its contents constitute a work based on the
|
||||||
|
Program (independent of having been made by running the Program).
|
||||||
|
Whether that is true depends on what the Program does.
|
||||||
|
|
||||||
|
1. You may copy and distribute verbatim copies of the Program's
|
||||||
|
source code as you receive it, in any medium, provided that you
|
||||||
|
conspicuously and appropriately publish on each copy an appropriate
|
||||||
|
copyright notice and disclaimer of warranty; keep intact all the
|
||||||
|
notices that refer to this License and to the absence of any warranty;
|
||||||
|
and give any other recipients of the Program a copy of this License
|
||||||
|
along with the Program.
|
||||||
|
|
||||||
|
You may charge a fee for the physical act of transferring a copy, and
|
||||||
|
you may at your option offer warranty protection in exchange for a fee.
|
||||||
|
|
||||||
|
2. You may modify your copy or copies of the Program or any portion
|
||||||
|
of it, thus forming a work based on the Program, and copy and
|
||||||
|
distribute such modifications or work under the terms of Section 1
|
||||||
|
above, provided that you also meet all of these conditions:
|
||||||
|
|
||||||
|
a) You must cause the modified files to carry prominent notices
|
||||||
|
stating that you changed the files and the date of any change.
|
||||||
|
|
||||||
|
b) You must cause any work that you distribute or publish, that in
|
||||||
|
whole or in part contains or is derived from the Program or any
|
||||||
|
part thereof, to be licensed as a whole at no charge to all third
|
||||||
|
parties under the terms of this License.
|
||||||
|
|
||||||
|
c) If the modified program normally reads commands interactively
|
||||||
|
when run, you must cause it, when started running for such
|
||||||
|
interactive use in the most ordinary way, to print or display an
|
||||||
|
announcement including an appropriate copyright notice and a
|
||||||
|
notice that there is no warranty (or else, saying that you provide
|
||||||
|
a warranty) and that users may redistribute the program under
|
||||||
|
these conditions, and telling the user how to view a copy of this
|
||||||
|
License. (Exception: if the Program itself is interactive but
|
||||||
|
does not normally print such an announcement, your work based on
|
||||||
|
the Program is not required to print an announcement.)
|
||||||
|
|
||||||
|
These requirements apply to the modified work as a whole. If
|
||||||
|
identifiable sections of that work are not derived from the Program,
|
||||||
|
and can be reasonably considered independent and separate works in
|
||||||
|
themselves, then this License, and its terms, do not apply to those
|
||||||
|
sections when you distribute them as separate works. But when you
|
||||||
|
distribute the same sections as part of a whole which is a work based
|
||||||
|
on the Program, the distribution of the whole must be on the terms of
|
||||||
|
this License, whose permissions for other licensees extend to the
|
||||||
|
entire whole, and thus to each and every part regardless of who wrote it.
|
||||||
|
|
||||||
|
Thus, it is not the intent of this section to claim rights or contest
|
||||||
|
your rights to work written entirely by you; rather, the intent is to
|
||||||
|
exercise the right to control the distribution of derivative or
|
||||||
|
collective works based on the Program.
|
||||||
|
|
||||||
|
In addition, mere aggregation of another work not based on the Program
|
||||||
|
with the Program (or with a work based on the Program) on a volume of
|
||||||
|
a storage or distribution medium does not bring the other work under
|
||||||
|
the scope of this License.
|
||||||
|
|
||||||
|
3. You may copy and distribute the Program (or a work based on it,
|
||||||
|
under Section 2) in object code or executable form under the terms of
|
||||||
|
Sections 1 and 2 above provided that you also do one of the following:
|
||||||
|
|
||||||
|
a) Accompany it with the complete corresponding machine-readable
|
||||||
|
source code, which must be distributed under the terms of Sections
|
||||||
|
1 and 2 above on a medium customarily used for software interchange; or,
|
||||||
|
|
||||||
|
b) Accompany it with a written offer, valid for at least three
|
||||||
|
years, to give any third party, for a charge no more than your
|
||||||
|
cost of physically performing source distribution, a complete
|
||||||
|
machine-readable copy of the corresponding source code, to be
|
||||||
|
distributed under the terms of Sections 1 and 2 above on a medium
|
||||||
|
customarily used for software interchange; or,
|
||||||
|
|
||||||
|
c) Accompany it with the information you received as to the offer
|
||||||
|
to distribute corresponding source code. (This alternative is
|
||||||
|
allowed only for noncommercial distribution and only if you
|
||||||
|
received the program in object code or executable form with such
|
||||||
|
an offer, in accord with Subsection b above.)
|
||||||
|
|
||||||
|
The source code for a work means the preferred form of the work for
|
||||||
|
making modifications to it. For an executable work, complete source
|
||||||
|
code means all the source code for all modules it contains, plus any
|
||||||
|
associated interface definition files, plus the scripts used to
|
||||||
|
control compilation and installation of the executable. However, as a
|
||||||
|
special exception, the source code distributed need not include
|
||||||
|
anything that is normally distributed (in either source or binary
|
||||||
|
form) with the major components (compiler, kernel, and so on) of the
|
||||||
|
operating system on which the executable runs, unless that component
|
||||||
|
itself accompanies the executable.
|
||||||
|
|
||||||
|
If distribution of executable or object code is made by offering
|
||||||
|
access to copy from a designated place, then offering equivalent
|
||||||
|
access to copy the source code from the same place counts as
|
||||||
|
distribution of the source code, even though third parties are not
|
||||||
|
compelled to copy the source along with the object code.
|
||||||
|
|
||||||
|
4. You may not copy, modify, sublicense, or distribute the Program
|
||||||
|
except as expressly provided under this License. Any attempt
|
||||||
|
otherwise to copy, modify, sublicense or distribute the Program is
|
||||||
|
void, and will automatically terminate your rights under this License.
|
||||||
|
However, parties who have received copies, or rights, from you under
|
||||||
|
this License will not have their licenses terminated so long as such
|
||||||
|
parties remain in full compliance.
|
||||||
|
|
||||||
|
5. You are not required to accept this License, since you have not
|
||||||
|
signed it. However, nothing else grants you permission to modify or
|
||||||
|
distribute the Program or its derivative works. These actions are
|
||||||
|
prohibited by law if you do not accept this License. Therefore, by
|
||||||
|
modifying or distributing the Program (or any work based on the
|
||||||
|
Program), you indicate your acceptance of this License to do so, and
|
||||||
|
all its terms and conditions for copying, distributing or modifying
|
||||||
|
the Program or works based on it.
|
||||||
|
|
||||||
|
6. Each time you redistribute the Program (or any work based on the
|
||||||
|
Program), the recipient automatically receives a license from the
|
||||||
|
original licensor to copy, distribute or modify the Program subject to
|
||||||
|
these terms and conditions. You may not impose any further
|
||||||
|
restrictions on the recipients' exercise of the rights granted herein.
|
||||||
|
You are not responsible for enforcing compliance by third parties to
|
||||||
|
this License.
|
||||||
|
|
||||||
|
7. If, as a consequence of a court judgment or allegation of patent
|
||||||
|
infringement or for any other reason (not limited to patent issues),
|
||||||
|
conditions are imposed on you (whether by court order, agreement or
|
||||||
|
otherwise) that contradict the conditions of this License, they do not
|
||||||
|
excuse you from the conditions of this License. If you cannot
|
||||||
|
distribute so as to satisfy simultaneously your obligations under this
|
||||||
|
License and any other pertinent obligations, then as a consequence you
|
||||||
|
may not distribute the Program at all. For example, if a patent
|
||||||
|
license would not permit royalty-free redistribution of the Program by
|
||||||
|
all those who receive copies directly or indirectly through you, then
|
||||||
|
the only way you could satisfy both it and this License would be to
|
||||||
|
refrain entirely from distribution of the Program.
|
||||||
|
|
||||||
|
If any portion of this section is held invalid or unenforceable under
|
||||||
|
any particular circumstance, the balance of the section is intended to
|
||||||
|
apply and the section as a whole is intended to apply in other
|
||||||
|
circumstances.
|
||||||
|
|
||||||
|
It is not the purpose of this section to induce you to infringe any
|
||||||
|
patents or other property right claims or to contest validity of any
|
||||||
|
such claims; this section has the sole purpose of protecting the
|
||||||
|
integrity of the free software distribution system, which is
|
||||||
|
implemented by public license practices. Many people have made
|
||||||
|
generous contributions to the wide range of software distributed
|
||||||
|
through that system in reliance on consistent application of that
|
||||||
|
system; it is up to the author/donor to decide if he or she is willing
|
||||||
|
to distribute software through any other system and a licensee cannot
|
||||||
|
impose that choice.
|
||||||
|
|
||||||
|
This section is intended to make thoroughly clear what is believed to
|
||||||
|
be a consequence of the rest of this License.
|
||||||
|
|
||||||
|
8. If the distribution and/or use of the Program is restricted in
|
||||||
|
certain countries either by patents or by copyrighted interfaces, the
|
||||||
|
original copyright holder who places the Program under this License
|
||||||
|
may add an explicit geographical distribution limitation excluding
|
||||||
|
those countries, so that distribution is permitted only in or among
|
||||||
|
countries not thus excluded. In such case, this License incorporates
|
||||||
|
the limitation as if written in the body of this License.
|
||||||
|
|
||||||
|
9. The Free Software Foundation may publish revised and/or new versions
|
||||||
|
of the General Public License from time to time. Such new versions will
|
||||||
|
be similar in spirit to the present version, but may differ in detail to
|
||||||
|
address new problems or concerns.
|
||||||
|
|
||||||
|
Each version is given a distinguishing version number. If the Program
|
||||||
|
specifies a version number of this License which applies to it and "any
|
||||||
|
later version", you have the option of following the terms and conditions
|
||||||
|
either of that version or of any later version published by the Free
|
||||||
|
Software Foundation. If the Program does not specify a version number of
|
||||||
|
this License, you may choose any version ever published by the Free Software
|
||||||
|
Foundation.
|
||||||
|
|
||||||
|
10. If you wish to incorporate parts of the Program into other free
|
||||||
|
programs whose distribution conditions are different, write to the author
|
||||||
|
to ask for permission. For software which is copyrighted by the Free
|
||||||
|
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||||
|
make exceptions for this. Our decision will be guided by the two goals
|
||||||
|
of preserving the free status of all derivatives of our free software and
|
||||||
|
of promoting the sharing and reuse of software generally.
|
||||||
|
|
||||||
|
NO WARRANTY
|
||||||
|
|
||||||
|
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||||
|
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||||
|
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||||
|
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||||
|
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||||
|
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||||
|
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||||
|
REPAIR OR CORRECTION.
|
||||||
|
|
||||||
|
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||||
|
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||||
|
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||||
|
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||||
|
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||||
|
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||||
|
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||||
|
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGES.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
How to Apply These Terms to Your New Programs
|
||||||
|
|
||||||
|
If you develop a new program, and you want it to be of the greatest
|
||||||
|
possible use to the public, the best way to achieve this is to make it
|
||||||
|
free software which everyone can redistribute and change under these terms.
|
||||||
|
|
||||||
|
To do so, attach the following notices to the program. It is safest
|
||||||
|
to attach them to the start of each source file to most effectively
|
||||||
|
convey the exclusion of warranty; and each file should have at least
|
||||||
|
the "copyright" line and a pointer to where the full notice is found.
|
||||||
|
|
||||||
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
|
Copyright (C) 19yy <name of author>
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, write to the Free Software
|
||||||
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
|
||||||
|
|
||||||
|
Also add information on how to contact you by electronic and paper mail.
|
||||||
|
|
||||||
|
If the program is interactive, make it output a short notice like this
|
||||||
|
when it starts in an interactive mode:
|
||||||
|
|
||||||
|
Gnomovision version 69, Copyright (C) 19yy name of author
|
||||||
|
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||||
|
This is free software, and you are welcome to redistribute it
|
||||||
|
under certain conditions; type `show c' for details.
|
||||||
|
|
||||||
|
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||||
|
parts of the General Public License. Of course, the commands you use may
|
||||||
|
be called something other than `show w' and `show c'; they could even be
|
||||||
|
mouse-clicks or menu items--whatever suits your program.
|
||||||
|
|
||||||
|
You should also get your employer (if you work as a programmer) or your
|
||||||
|
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||||
|
necessary. Here is a sample; alter the names:
|
||||||
|
|
||||||
|
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||||
|
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||||
|
|
||||||
|
<signature of Ty Coon>, 1 April 1989
|
||||||
|
Ty Coon, President of Vice
|
||||||
|
|
||||||
|
This General Public License does not permit incorporating your program into
|
||||||
|
proprietary programs. If your program is a subroutine library, you may
|
||||||
|
consider it more useful to permit linking proprietary applications with the
|
||||||
|
library. If this is what you want to do, use the GNU Library General
|
||||||
|
Public License instead of this License.
|
15
Makefile.am
Normal file
15
Makefile.am
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
AUTOMAKE_OPTIONS = foreign
|
||||||
|
ACLOCAL_AMFLAGS = -I autotools
|
||||||
|
AM_MAKEFLAGS = -s
|
||||||
|
|
||||||
|
pkglib_LTLIBRARIES = libfeedserv.la
|
||||||
|
libfeedserv_la_SOURCES = feed.c feed_help.c
|
||||||
|
noinst_HEADERS = feed.h
|
||||||
|
|
||||||
|
libfeedserv_la_LDFLAGS = -module -avoid-version
|
||||||
|
|
||||||
|
|
||||||
|
EXTRA_DIST = autotools/ccdv.c autotools/shtool RELNOTES
|
||||||
|
dist_doc_DATA = README.feed README.feed.html
|
||||||
|
|
||||||
|
include $(top_srcdir)/autotools/rules.mk
|
722
Makefile.in
Normal file
722
Makefile.in
Normal file
|
@ -0,0 +1,722 @@
|
||||||
|
# Makefile.in generated by automake 1.9.6 from Makefile.am.
|
||||||
|
# @configure_input@
|
||||||
|
|
||||||
|
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||||
|
# 2003, 2004, 2005 Free Software Foundation, Inc.
|
||||||
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||||
|
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
# PARTICULAR PURPOSE.
|
||||||
|
|
||||||
|
@SET_MAKE@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
srcdir = @srcdir@
|
||||||
|
top_srcdir = @top_srcdir@
|
||||||
|
VPATH = @srcdir@
|
||||||
|
pkgdatadir = $(datadir)/@PACKAGE@
|
||||||
|
pkgincludedir = $(includedir)/@PACKAGE@
|
||||||
|
top_builddir = .
|
||||||
|
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||||
|
INSTALL = @INSTALL@
|
||||||
|
install_sh_DATA = $(install_sh) -c -m 644
|
||||||
|
install_sh_PROGRAM = $(install_sh) -c
|
||||||
|
install_sh_SCRIPT = $(install_sh) -c
|
||||||
|
INSTALL_HEADER = $(INSTALL_DATA)
|
||||||
|
transform = $(program_transform_name)
|
||||||
|
NORMAL_INSTALL = :
|
||||||
|
PRE_INSTALL = :
|
||||||
|
POST_INSTALL = :
|
||||||
|
NORMAL_UNINSTALL = :
|
||||||
|
PRE_UNINSTALL = :
|
||||||
|
POST_UNINSTALL = :
|
||||||
|
build_triplet = @build@
|
||||||
|
host_triplet = @host@
|
||||||
|
DIST_COMMON = $(am__configure_deps) $(dist_doc_DATA) $(noinst_HEADERS) \
|
||||||
|
$(srcdir)/Makefile.am $(srcdir)/Makefile.in \
|
||||||
|
$(srcdir)/modconfig.h.in $(top_srcdir)/autotools/rules.mk \
|
||||||
|
$(top_srcdir)/configure ChangeLog autotools/compile \
|
||||||
|
autotools/config.guess autotools/config.sub autotools/depcomp \
|
||||||
|
autotools/install-sh autotools/ltmain.sh autotools/missing \
|
||||||
|
autotools/mkinstalldirs install-sh
|
||||||
|
subdir = .
|
||||||
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||||
|
am__aclocal_m4_deps = \
|
||||||
|
$(top_srcdir)/autotools/ax_maintainer_mode_auto_silent.m4 \
|
||||||
|
$(top_srcdir)/autotools/ccdv.m4 $(top_srcdir)/configure.in
|
||||||
|
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||||
|
$(ACLOCAL_M4)
|
||||||
|
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
||||||
|
configure.lineno configure.status.lineno
|
||||||
|
mkinstalldirs = $(SHELL) $(top_srcdir)/autotools/mkinstalldirs
|
||||||
|
CONFIG_HEADER = modconfig.h
|
||||||
|
CONFIG_CLEAN_FILES =
|
||||||
|
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
|
||||||
|
am__vpath_adj = case $$p in \
|
||||||
|
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
|
||||||
|
*) f=$$p;; \
|
||||||
|
esac;
|
||||||
|
am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
|
||||||
|
am__installdirs = "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(docdir)"
|
||||||
|
pkglibLTLIBRARIES_INSTALL = $(INSTALL)
|
||||||
|
LTLIBRARIES = $(pkglib_LTLIBRARIES)
|
||||||
|
libfeedserv_la_LIBADD =
|
||||||
|
am_libfeedserv_la_OBJECTS = feed.lo feed_help.lo
|
||||||
|
libfeedserv_la_OBJECTS = $(am_libfeedserv_la_OBJECTS)
|
||||||
|
DEFAULT_INCLUDES = -I. -I$(srcdir) -I.
|
||||||
|
depcomp = $(SHELL) $(top_srcdir)/autotools/depcomp
|
||||||
|
am__depfiles_maybe = depfiles
|
||||||
|
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||||
|
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||||
|
LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
|
||||||
|
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
|
||||||
|
$(AM_CFLAGS) $(CFLAGS)
|
||||||
|
CCLD = $(CC)
|
||||||
|
SOURCES = $(libfeedserv_la_SOURCES)
|
||||||
|
DIST_SOURCES = $(libfeedserv_la_SOURCES)
|
||||||
|
dist_docDATA_INSTALL = $(INSTALL_DATA)
|
||||||
|
DATA = $(dist_doc_DATA)
|
||||||
|
HEADERS = $(noinst_HEADERS)
|
||||||
|
ETAGS = etags
|
||||||
|
CTAGS = ctags
|
||||||
|
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
distdir = $(PACKAGE)-$(VERSION)
|
||||||
|
top_distdir = $(distdir)
|
||||||
|
am__remove_distdir = \
|
||||||
|
{ test ! -d $(distdir) \
|
||||||
|
|| { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
|
||||||
|
&& rm -fr $(distdir); }; }
|
||||||
|
DIST_ARCHIVES = $(distdir).tar.gz
|
||||||
|
GZIP_ENV = --best
|
||||||
|
distuninstallcheck_listfiles = find . -type f -print
|
||||||
|
distcleancheck_listfiles = find . -type f -print
|
||||||
|
pkglibdir = $(prefix)/modules
|
||||||
|
ACLOCAL = @ACLOCAL@
|
||||||
|
AMDEP_FALSE = @AMDEP_FALSE@
|
||||||
|
AMDEP_TRUE = @AMDEP_TRUE@
|
||||||
|
AMTAR = @AMTAR@
|
||||||
|
AR = @AR@
|
||||||
|
AUTOCONF = @AUTOCONF@
|
||||||
|
AUTOHEADER = @AUTOHEADER@
|
||||||
|
AUTOMAKE = @AUTOMAKE@
|
||||||
|
AWK = @AWK@
|
||||||
|
CC = @CC@
|
||||||
|
CCDEPMODE = @CCDEPMODE@
|
||||||
|
CCDV = @CCDV@
|
||||||
|
CFLAGS = @CFLAGS@
|
||||||
|
CPP = @CPP@
|
||||||
|
CPPFLAGS = @CPPFLAGS@
|
||||||
|
CXX = @CXX@
|
||||||
|
CXXCPP = @CXXCPP@
|
||||||
|
CXXDEPMODE = @CXXDEPMODE@
|
||||||
|
CXXFLAGS = @CXXFLAGS@
|
||||||
|
CYGPATH_W = @CYGPATH_W@
|
||||||
|
DEFS = @DEFS@
|
||||||
|
DEPDIR = @DEPDIR@
|
||||||
|
DIRINST = @DIRINST@
|
||||||
|
ECHO = @ECHO@
|
||||||
|
ECHO_C = @ECHO_C@
|
||||||
|
ECHO_N = @ECHO_N@
|
||||||
|
ECHO_T = @ECHO_T@
|
||||||
|
EGREP = @EGREP@
|
||||||
|
EXEEXT = @EXEEXT@
|
||||||
|
F77 = @F77@
|
||||||
|
FFLAGS = @FFLAGS@
|
||||||
|
INSTALL_DATA = @INSTALL_DATA@
|
||||||
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||||
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||||
|
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||||
|
LDFLAGS = @LDFLAGS@
|
||||||
|
LIBOBJS = @LIBOBJS@
|
||||||
|
LIBS = @LIBS@
|
||||||
|
LIBTOOL = @LIBTOOL@
|
||||||
|
LN_S = @LN_S@
|
||||||
|
LTLIBOBJS = @LTLIBOBJS@
|
||||||
|
MAINT = @MAINT@
|
||||||
|
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
|
||||||
|
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
|
||||||
|
MAKEINFO = @MAKEINFO@
|
||||||
|
OBJEXT = @OBJEXT@
|
||||||
|
PACKAGE = @PACKAGE@
|
||||||
|
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||||
|
PACKAGE_NAME = @PACKAGE_NAME@
|
||||||
|
PACKAGE_STRING = @PACKAGE_STRING@
|
||||||
|
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||||
|
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||||
|
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||||
|
RANLIB = @RANLIB@
|
||||||
|
SET_MAKE = @SET_MAKE@
|
||||||
|
SHELL = @SHELL@
|
||||||
|
STRIP = @STRIP@
|
||||||
|
USECCDV = @USECCDV@
|
||||||
|
VERSION = @VERSION@
|
||||||
|
ac_ct_AR = @ac_ct_AR@
|
||||||
|
ac_ct_CC = @ac_ct_CC@
|
||||||
|
ac_ct_CXX = @ac_ct_CXX@
|
||||||
|
ac_ct_F77 = @ac_ct_F77@
|
||||||
|
ac_ct_RANLIB = @ac_ct_RANLIB@
|
||||||
|
ac_ct_STRIP = @ac_ct_STRIP@
|
||||||
|
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||||
|
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
||||||
|
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
|
||||||
|
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
|
||||||
|
am__include = @am__include@
|
||||||
|
am__leading_dot = @am__leading_dot@
|
||||||
|
am__quote = @am__quote@
|
||||||
|
am__tar = @am__tar@
|
||||||
|
am__untar = @am__untar@
|
||||||
|
bindir = @bindir@
|
||||||
|
build = @build@
|
||||||
|
build_alias = @build_alias@
|
||||||
|
build_cpu = @build_cpu@
|
||||||
|
build_os = @build_os@
|
||||||
|
build_vendor = @build_vendor@
|
||||||
|
datadir = $(prefix)/data
|
||||||
|
exec_prefix = @exec_prefix@
|
||||||
|
host = @host@
|
||||||
|
host_alias = @host_alias@
|
||||||
|
host_cpu = @host_cpu@
|
||||||
|
host_os = @host_os@
|
||||||
|
host_vendor = @host_vendor@
|
||||||
|
includedir = @includedir@
|
||||||
|
infodir = @infodir@
|
||||||
|
install_sh = @install_sh@
|
||||||
|
libdir = @libdir@
|
||||||
|
libexecdir = @libexecdir@
|
||||||
|
localstatedir = @localstatedir@
|
||||||
|
mandir = @mandir@
|
||||||
|
mkdir_p = @mkdir_p@
|
||||||
|
oldincludedir = @oldincludedir@
|
||||||
|
prefix = @prefix@
|
||||||
|
program_transform_name = @program_transform_name@
|
||||||
|
sbindir = @sbindir@
|
||||||
|
sharedstatedir = @sharedstatedir@
|
||||||
|
sysconfdir = @sysconfdir@
|
||||||
|
target_alias = @target_alias@
|
||||||
|
wi_PWD = @wi_PWD@
|
||||||
|
AUTOMAKE_OPTIONS = foreign
|
||||||
|
ACLOCAL_AMFLAGS = -I autotools
|
||||||
|
AM_MAKEFLAGS = -s
|
||||||
|
pkglib_LTLIBRARIES = libfeedserv.la
|
||||||
|
libfeedserv_la_SOURCES = feed.c feed_help.c
|
||||||
|
noinst_HEADERS = feed.h
|
||||||
|
libfeedserv_la_LDFLAGS = -module -avoid-version
|
||||||
|
EXTRA_DIST = autotools/ccdv.c autotools/shtool RELNOTES
|
||||||
|
dist_doc_DATA = README.feed README.feed.html
|
||||||
|
LINK = $(LIBTOOL) --tag=CXX --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
|
||||||
|
$(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||||
|
|
||||||
|
docdir = $(prefix)/doc
|
||||||
|
all: modconfig.h
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) all-am
|
||||||
|
|
||||||
|
.SUFFIXES:
|
||||||
|
.SUFFIXES: .c .lo .o .obj
|
||||||
|
am--refresh:
|
||||||
|
@:
|
||||||
|
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/autotools/rules.mk $(am__configure_deps)
|
||||||
|
@for dep in $?; do \
|
||||||
|
case '$(am__configure_deps)' in \
|
||||||
|
*$$dep*) \
|
||||||
|
echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \
|
||||||
|
cd $(srcdir) && $(AUTOMAKE) --foreign \
|
||||||
|
&& exit 0; \
|
||||||
|
exit 1;; \
|
||||||
|
esac; \
|
||||||
|
done; \
|
||||||
|
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
|
||||||
|
cd $(top_srcdir) && \
|
||||||
|
$(AUTOMAKE) --foreign Makefile
|
||||||
|
.PRECIOUS: Makefile
|
||||||
|
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||||
|
@case '$?' in \
|
||||||
|
*config.status*) \
|
||||||
|
echo ' $(SHELL) ./config.status'; \
|
||||||
|
$(SHELL) ./config.status;; \
|
||||||
|
*) \
|
||||||
|
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
|
||||||
|
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
|
||||||
|
esac;
|
||||||
|
|
||||||
|
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||||
|
$(SHELL) ./config.status --recheck
|
||||||
|
|
||||||
|
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
|
||||||
|
cd $(srcdir) && $(AUTOCONF)
|
||||||
|
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
|
||||||
|
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
|
||||||
|
|
||||||
|
modconfig.h: stamp-h1
|
||||||
|
@if test ! -f $@; then \
|
||||||
|
rm -f stamp-h1; \
|
||||||
|
$(MAKE) stamp-h1; \
|
||||||
|
else :; fi
|
||||||
|
|
||||||
|
stamp-h1: $(srcdir)/modconfig.h.in $(top_builddir)/config.status
|
||||||
|
@rm -f stamp-h1
|
||||||
|
cd $(top_builddir) && $(SHELL) ./config.status modconfig.h
|
||||||
|
$(srcdir)/modconfig.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
|
||||||
|
cd $(top_srcdir) && $(AUTOHEADER)
|
||||||
|
rm -f stamp-h1
|
||||||
|
touch $@
|
||||||
|
|
||||||
|
distclean-hdr:
|
||||||
|
-rm -f modconfig.h stamp-h1
|
||||||
|
|
||||||
|
uninstall-pkglibLTLIBRARIES:
|
||||||
|
@$(NORMAL_UNINSTALL)
|
||||||
|
@set -x; list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
|
||||||
|
p=$(am__strip_dir) \
|
||||||
|
echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$p'"; \
|
||||||
|
$(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$p"; \
|
||||||
|
done
|
||||||
|
|
||||||
|
clean-pkglibLTLIBRARIES:
|
||||||
|
-test -z "$(pkglib_LTLIBRARIES)" || rm -f $(pkglib_LTLIBRARIES)
|
||||||
|
@list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
|
||||||
|
dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
|
||||||
|
test "$$dir" != "$$p" || dir=.; \
|
||||||
|
echo "rm -f \"$${dir}/so_locations\""; \
|
||||||
|
rm -f "$${dir}/so_locations"; \
|
||||||
|
done
|
||||||
|
libfeedserv.la: $(libfeedserv_la_OBJECTS) $(libfeedserv_la_DEPENDENCIES)
|
||||||
|
$(LINK) -rpath $(pkglibdir) $(libfeedserv_la_LDFLAGS) $(libfeedserv_la_OBJECTS) $(libfeedserv_la_LIBADD) $(LIBS)
|
||||||
|
|
||||||
|
mostlyclean-compile:
|
||||||
|
-rm -f *.$(OBJEXT)
|
||||||
|
|
||||||
|
distclean-compile:
|
||||||
|
-rm -f *.tab.c
|
||||||
|
|
||||||
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/feed.Plo@am__quote@
|
||||||
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/feed_help.Plo@am__quote@
|
||||||
|
|
||||||
|
mostlyclean-libtool:
|
||||||
|
-rm -f *.lo
|
||||||
|
|
||||||
|
clean-libtool:
|
||||||
|
-rm -rf .libs _libs
|
||||||
|
|
||||||
|
distclean-libtool:
|
||||||
|
-rm -f libtool
|
||||||
|
uninstall-info-am:
|
||||||
|
|
||||||
|
uninstall-dist_docDATA:
|
||||||
|
@$(NORMAL_UNINSTALL)
|
||||||
|
@list='$(dist_doc_DATA)'; for p in $$list; do \
|
||||||
|
f=$(am__strip_dir) \
|
||||||
|
echo " rm -f '$(DESTDIR)$(docdir)/$$f'"; \
|
||||||
|
rm -f "$(DESTDIR)$(docdir)/$$f"; \
|
||||||
|
done
|
||||||
|
|
||||||
|
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
||||||
|
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||||
|
unique=`for i in $$list; do \
|
||||||
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
|
done | \
|
||||||
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
|
END { for (i in files) print i; }'`; \
|
||||||
|
mkid -fID $$unique
|
||||||
|
tags: TAGS
|
||||||
|
|
||||||
|
TAGS: $(HEADERS) $(SOURCES) modconfig.h.in $(TAGS_DEPENDENCIES) \
|
||||||
|
$(TAGS_FILES) $(LISP)
|
||||||
|
tags=; \
|
||||||
|
here=`pwd`; \
|
||||||
|
list='$(SOURCES) $(HEADERS) modconfig.h.in $(LISP) $(TAGS_FILES)'; \
|
||||||
|
unique=`for i in $$list; do \
|
||||||
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
|
done | \
|
||||||
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
|
END { for (i in files) print i; }'`; \
|
||||||
|
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|
||||||
|
test -n "$$unique" || unique=$$empty_fix; \
|
||||||
|
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||||
|
$$tags $$unique; \
|
||||||
|
fi
|
||||||
|
ctags: CTAGS
|
||||||
|
CTAGS: $(HEADERS) $(SOURCES) modconfig.h.in $(TAGS_DEPENDENCIES) \
|
||||||
|
$(TAGS_FILES) $(LISP)
|
||||||
|
tags=; \
|
||||||
|
here=`pwd`; \
|
||||||
|
list='$(SOURCES) $(HEADERS) modconfig.h.in $(LISP) $(TAGS_FILES)'; \
|
||||||
|
unique=`for i in $$list; do \
|
||||||
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
|
done | \
|
||||||
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
|
END { for (i in files) print i; }'`; \
|
||||||
|
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
||||||
|
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||||
|
$$tags $$unique
|
||||||
|
|
||||||
|
GTAGS:
|
||||||
|
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||||
|
&& cd $(top_srcdir) \
|
||||||
|
&& gtags -i $(GTAGS_ARGS) $$here
|
||||||
|
|
||||||
|
distclean-tags:
|
||||||
|
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||||
|
|
||||||
|
distdir: $(DISTFILES)
|
||||||
|
$(am__remove_distdir)
|
||||||
|
mkdir $(distdir)
|
||||||
|
$(mkdir_p) $(distdir)/autotools
|
||||||
|
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
|
||||||
|
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
|
||||||
|
list='$(DISTFILES)'; for file in $$list; do \
|
||||||
|
case $$file in \
|
||||||
|
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
|
||||||
|
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
|
||||||
|
esac; \
|
||||||
|
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||||
|
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||||
|
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||||
|
dir="/$$dir"; \
|
||||||
|
$(mkdir_p) "$(distdir)$$dir"; \
|
||||||
|
else \
|
||||||
|
dir=''; \
|
||||||
|
fi; \
|
||||||
|
if test -d $$d/$$file; then \
|
||||||
|
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||||
|
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
|
||||||
|
fi; \
|
||||||
|
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
|
||||||
|
else \
|
||||||
|
test -f $(distdir)/$$file \
|
||||||
|
|| cp -p $$d/$$file $(distdir)/$$file \
|
||||||
|
|| exit 1; \
|
||||||
|
fi; \
|
||||||
|
done
|
||||||
|
-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
|
||||||
|
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
|
||||||
|
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
|
||||||
|
! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
|
||||||
|
|| chmod -R a+r $(distdir)
|
||||||
|
dist-gzip: distdir
|
||||||
|
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
||||||
|
$(am__remove_distdir)
|
||||||
|
|
||||||
|
dist-bzip2: distdir
|
||||||
|
tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
|
||||||
|
$(am__remove_distdir)
|
||||||
|
|
||||||
|
dist-tarZ: distdir
|
||||||
|
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
|
||||||
|
$(am__remove_distdir)
|
||||||
|
|
||||||
|
dist-shar: distdir
|
||||||
|
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
|
||||||
|
$(am__remove_distdir)
|
||||||
|
|
||||||
|
dist-zip: distdir
|
||||||
|
-rm -f $(distdir).zip
|
||||||
|
zip -rq $(distdir).zip $(distdir)
|
||||||
|
$(am__remove_distdir)
|
||||||
|
|
||||||
|
dist dist-all: distdir
|
||||||
|
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
||||||
|
$(am__remove_distdir)
|
||||||
|
|
||||||
|
# This target untars the dist file and tries a VPATH configuration. Then
|
||||||
|
# it guarantees that the distribution is self-contained by making another
|
||||||
|
# tarfile.
|
||||||
|
distcheck: dist
|
||||||
|
case '$(DIST_ARCHIVES)' in \
|
||||||
|
*.tar.gz*) \
|
||||||
|
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
|
||||||
|
*.tar.bz2*) \
|
||||||
|
bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
|
||||||
|
*.tar.Z*) \
|
||||||
|
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
|
||||||
|
*.shar.gz*) \
|
||||||
|
GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
|
||||||
|
*.zip*) \
|
||||||
|
unzip $(distdir).zip ;;\
|
||||||
|
esac
|
||||||
|
chmod -R a-w $(distdir); chmod a+w $(distdir)
|
||||||
|
mkdir $(distdir)/_build
|
||||||
|
mkdir $(distdir)/_inst
|
||||||
|
chmod a-w $(distdir)
|
||||||
|
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
|
||||||
|
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
|
||||||
|
&& cd $(distdir)/_build \
|
||||||
|
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \
|
||||||
|
$(DISTCHECK_CONFIGURE_FLAGS) \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) check \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) install \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
|
||||||
|
distuninstallcheck \
|
||||||
|
&& chmod -R a-w "$$dc_install_base" \
|
||||||
|
&& ({ \
|
||||||
|
(cd ../.. && umask 077 && mkdir "$$dc_destdir") \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
|
||||||
|
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
|
||||||
|
} || { rm -rf "$$dc_destdir"; exit 1; }) \
|
||||||
|
&& rm -rf "$$dc_destdir" \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) dist \
|
||||||
|
&& rm -rf $(DIST_ARCHIVES) \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck
|
||||||
|
$(am__remove_distdir)
|
||||||
|
@(echo "$(distdir) archives ready for distribution: "; \
|
||||||
|
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
|
||||||
|
sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
|
||||||
|
distuninstallcheck:
|
||||||
|
@cd $(distuninstallcheck_dir) \
|
||||||
|
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
|
||||||
|
|| { echo "ERROR: files left after uninstall:" ; \
|
||||||
|
if test -n "$(DESTDIR)"; then \
|
||||||
|
echo " (check DESTDIR support)"; \
|
||||||
|
fi ; \
|
||||||
|
$(distuninstallcheck_listfiles) ; \
|
||||||
|
exit 1; } >&2
|
||||||
|
distcleancheck: distclean
|
||||||
|
@if test '$(srcdir)' = . ; then \
|
||||||
|
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
|
||||||
|
exit 1 ; \
|
||||||
|
fi
|
||||||
|
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|
||||||
|
|| { echo "ERROR: files left in build directory after distclean:" ; \
|
||||||
|
$(distcleancheck_listfiles) ; \
|
||||||
|
exit 1; } >&2
|
||||||
|
check-am: all-am
|
||||||
|
check: check-am
|
||||||
|
all-am: Makefile $(LTLIBRARIES) $(DATA) $(HEADERS) modconfig.h
|
||||||
|
installdirs:
|
||||||
|
for dir in "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(docdir)"; do \
|
||||||
|
test -z "$$dir" || $(mkdir_p) "$$dir"; \
|
||||||
|
done
|
||||||
|
install: install-am
|
||||||
|
install-exec: install-exec-am
|
||||||
|
install-data: install-data-am
|
||||||
|
uninstall: uninstall-am
|
||||||
|
|
||||||
|
install-am: all-am
|
||||||
|
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||||
|
|
||||||
|
installcheck: installcheck-am
|
||||||
|
install-strip:
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||||
|
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||||
|
`test -z '$(STRIP)' || \
|
||||||
|
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||||
|
mostlyclean-generic:
|
||||||
|
|
||||||
|
clean-generic:
|
||||||
|
|
||||||
|
distclean-generic:
|
||||||
|
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||||
|
|
||||||
|
maintainer-clean-generic:
|
||||||
|
@echo "This command is intended for maintainers to use"
|
||||||
|
@echo "it deletes files that may require special tools to rebuild."
|
||||||
|
clean: clean-am
|
||||||
|
|
||||||
|
clean-am: clean-generic clean-libtool clean-pkglibLTLIBRARIES \
|
||||||
|
mostlyclean-am
|
||||||
|
|
||||||
|
distclean: distclean-am
|
||||||
|
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||||
|
-rm -rf ./$(DEPDIR)
|
||||||
|
-rm -f Makefile
|
||||||
|
distclean-am: clean-am distclean-compile distclean-generic \
|
||||||
|
distclean-hdr distclean-libtool distclean-tags
|
||||||
|
|
||||||
|
dvi: dvi-am
|
||||||
|
|
||||||
|
dvi-am:
|
||||||
|
|
||||||
|
html: html-am
|
||||||
|
|
||||||
|
info: info-am
|
||||||
|
|
||||||
|
info-am:
|
||||||
|
|
||||||
|
install-data-am: install-dist_docDATA
|
||||||
|
|
||||||
|
install-exec-am: install-pkglibLTLIBRARIES
|
||||||
|
|
||||||
|
install-info: install-info-am
|
||||||
|
|
||||||
|
install-man:
|
||||||
|
|
||||||
|
installcheck-am:
|
||||||
|
|
||||||
|
maintainer-clean: maintainer-clean-am
|
||||||
|
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||||
|
-rm -rf $(top_srcdir)/autom4te.cache
|
||||||
|
-rm -rf ./$(DEPDIR)
|
||||||
|
-rm -f Makefile
|
||||||
|
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||||
|
|
||||||
|
mostlyclean: mostlyclean-am
|
||||||
|
|
||||||
|
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
|
||||||
|
mostlyclean-libtool
|
||||||
|
|
||||||
|
pdf: pdf-am
|
||||||
|
|
||||||
|
pdf-am:
|
||||||
|
|
||||||
|
ps: ps-am
|
||||||
|
|
||||||
|
ps-am:
|
||||||
|
|
||||||
|
uninstall-am: uninstall-dist_docDATA uninstall-info-am \
|
||||||
|
uninstall-pkglibLTLIBRARIES
|
||||||
|
|
||||||
|
.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \
|
||||||
|
clean-generic clean-libtool clean-pkglibLTLIBRARIES ctags dist \
|
||||||
|
dist-all dist-bzip2 dist-gzip dist-shar dist-tarZ dist-zip \
|
||||||
|
distcheck distclean distclean-compile distclean-generic \
|
||||||
|
distclean-hdr distclean-libtool distclean-tags distcleancheck \
|
||||||
|
distdir distuninstallcheck dvi dvi-am html html-am info \
|
||||||
|
info-am install install-am install-data install-data-am \
|
||||||
|
install-dist_docDATA install-exec install-exec-am install-info \
|
||||||
|
install-info-am install-man install-pkglibLTLIBRARIES \
|
||||||
|
install-strip installcheck installcheck-am installdirs \
|
||||||
|
maintainer-clean maintainer-clean-generic mostlyclean \
|
||||||
|
mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
|
||||||
|
pdf pdf-am ps ps-am tags uninstall uninstall-am \
|
||||||
|
uninstall-dist_docDATA uninstall-info-am \
|
||||||
|
uninstall-pkglibLTLIBRARIES
|
||||||
|
|
||||||
|
|
||||||
|
.c.o:
|
||||||
|
@USECCDV@ @echo "Building $@"
|
||||||
|
@am__fastdepCC_TRUE@ @if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
|
||||||
|
@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
|
||||||
|
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
|
||||||
|
@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
|
||||||
|
@am__fastdepCC_TRUE@ fi
|
||||||
|
@AMDEP_TRUE@@am__fastdepCC_FALSE@ @source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||||
|
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
|
||||||
|
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||||
|
@am__fastdepCC_FALSE@ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
|
||||||
|
|
||||||
|
.c.obj:
|
||||||
|
@USECCDV@ @echo "Building $@"
|
||||||
|
@am__fastdepCC_TRUE@ @if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
|
||||||
|
@am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
|
||||||
|
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
|
||||||
|
@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
|
||||||
|
@am__fastdepCC_TRUE@ fi
|
||||||
|
@AMDEP_TRUE@@am__fastdepCC_FALSE@ @source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||||
|
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
|
||||||
|
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||||
|
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
|
||||||
|
|
||||||
|
.c.lo:
|
||||||
|
@USECCDV@ @echo "Building $@"
|
||||||
|
@am__fastdepCC_TRUE@ @if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
|
||||||
|
@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
|
||||||
|
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \
|
||||||
|
@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
|
||||||
|
@am__fastdepCC_TRUE@ fi
|
||||||
|
@AMDEP_TRUE@@am__fastdepCC_FALSE@ @source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
|
||||||
|
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
|
||||||
|
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||||
|
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
|
||||||
|
|
||||||
|
install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES)
|
||||||
|
@$(NORMAL_INSTALL)
|
||||||
|
$(mkinstalldirs) $(DESTDIR)$(pkglibdir)
|
||||||
|
@list='ls .libs/*.so'; for p in $$list; do \
|
||||||
|
if test -f $$p; then \
|
||||||
|
f="`echo $$p | sed -e 's|^.*/||'`"; \
|
||||||
|
$(CCDV) $(LIBTOOL) --mode=install $(pkglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(pkglibdir)/$$f; \
|
||||||
|
if test "x#" != "x@USECCDV@"; then echo "Installing $$f"; fi; \
|
||||||
|
else :; fi; \
|
||||||
|
done
|
||||||
|
|
||||||
|
install-binSCRIPTS: $(bin_SCRIPTS)
|
||||||
|
@$(NORMAL_INSTALL)
|
||||||
|
test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
|
||||||
|
@list='$(bin_SCRIPTS)'; for p in $$list; do \
|
||||||
|
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||||
|
if test -f $$d$$p; then \
|
||||||
|
f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
|
||||||
|
$(CCDV) $(binSCRIPT_INSTALL) "$$d$$p" "$(DESTDIR)$(bindir)/$$f"; \
|
||||||
|
if test "x#" != "x@USECCDV@"; then echo "Installing $$f"; fi; \
|
||||||
|
else :; fi; \
|
||||||
|
done
|
||||||
|
|
||||||
|
install-dist_binSCRIPTS: $(dist_bin_SCRIPTS)
|
||||||
|
@$(NORMAL_INSTALL)
|
||||||
|
test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
|
||||||
|
@list='$(dist_bin_SCRIPTS)'; for p in $$list; do \
|
||||||
|
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||||
|
if test -f $$d$$p; then \
|
||||||
|
f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
|
||||||
|
$(CCDV) $(dist_binSCRIPT_INSTALL) "$$d$$p" "$(DESTDIR)$(bindir)/$$f"; \
|
||||||
|
if test "x#" != "x@USECCDV@"; then echo "Installing $$f"; fi; \
|
||||||
|
else :; fi; \
|
||||||
|
done
|
||||||
|
|
||||||
|
install-dist_dataDATA: $(dist_data_DATA)
|
||||||
|
@$(NORMAL_INSTALL)
|
||||||
|
test -z "$(datadir)" || $(mkdir_p) "$(DESTDIR)$(datadir)"
|
||||||
|
@list='$(dist_data_DATA)'; for p in $$list; do \
|
||||||
|
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||||
|
f=$(am__strip_dir) \
|
||||||
|
$(CCDV) $(dist_dataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(datadir)/$$f"; \
|
||||||
|
if test "x#" != "x@USECCDV@"; then echo "Installing $$f"; fi; \
|
||||||
|
done
|
||||||
|
|
||||||
|
install-dist_docDATA: $(dist_doc_DATA)
|
||||||
|
@$(NORMAL_INSTALL)
|
||||||
|
test -z "$(docdir)" || $(mkdir_p) "$(DESTDIR)$(docdir)"
|
||||||
|
@list='$(dist_doc_DATA)'; for p in $$list; do \
|
||||||
|
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||||
|
f=$(am__strip_dir) \
|
||||||
|
$(CCDV) $(dist_docDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(docdir)/$$f"; \
|
||||||
|
if test "x#" != "x@USECCDV@"; then echo "Installing $$f"; fi; \
|
||||||
|
done
|
||||||
|
|
||||||
|
install-includeHEADERS: $(include_HEADERS)
|
||||||
|
@$(NORMAL_INSTALL)
|
||||||
|
test -z "$(includedir)" || $(mkdir_p) "$(DESTDIR)$(includedir)"
|
||||||
|
@list='$(include_HEADERS)'; for p in $$list; do \
|
||||||
|
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||||
|
f=$(am__strip_dir) \
|
||||||
|
$(CCDV) $(includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(includedir)/$$f"; \
|
||||||
|
if test "x#" != "x@USECCDV@"; then echo "Installing $$f"; fi; \
|
||||||
|
done
|
||||||
|
|
||||||
|
install-binPROGRAMS: $(bin_PROGRAMS)
|
||||||
|
@$(NORMAL_INSTALL)
|
||||||
|
test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
|
||||||
|
@list='$(bin_PROGRAMS)'; for p in $$list; do \
|
||||||
|
p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
|
||||||
|
if test -f $$p \
|
||||||
|
|| test -f $$p1 \
|
||||||
|
; then \
|
||||||
|
f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
|
||||||
|
$(CCDV) $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
|
||||||
|
if test "x#" != "x@USECCDV@"; then echo "Installing $$f"; fi; \
|
||||||
|
else :; fi; \
|
||||||
|
done
|
||||||
|
|
||||||
|
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
|
||||||
|
@$(NORMAL_INSTALL)
|
||||||
|
test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)"
|
||||||
|
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
|
||||||
|
if test -f $$p; then \
|
||||||
|
f=$(am__strip_dir) \
|
||||||
|
$(CCDV) $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
|
||||||
|
if test "x#" != "x@USECCDV@"; then echo "Installing $$f"; fi; \
|
||||||
|
else :; fi; \
|
||||||
|
done
|
||||||
|
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||||
|
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||||
|
.NOEXPORT:
|
680
README.feedserv
Normal file
680
README.feedserv
Normal file
|
@ -0,0 +1,680 @@
|
||||||
|
|
||||||
|
OPSB Manual
|
||||||
|
_________________________________________________________________
|
||||||
|
|
||||||
|
1. Prerequisites and Installation.
|
||||||
|
|
||||||
|
1.1. Compiling and Installation
|
||||||
|
|
||||||
|
2. Basic Configuration
|
||||||
|
|
||||||
|
2.1. Exclusion Lists
|
||||||
|
2.2. TARGET IP and TARGET PORT
|
||||||
|
2.3. BanTime
|
||||||
|
|
||||||
|
3. Detailed Configuration
|
||||||
|
|
||||||
|
3.1. CACHETIME Setting
|
||||||
|
3.2. SCAN Setting
|
||||||
|
3.3. AKILL Setting
|
||||||
|
3.4. OPMDOMAIN Setting
|
||||||
|
3.5. MAXBYTES Setting
|
||||||
|
3.6. TIMEOUT
|
||||||
|
3.7. OPENSTRING
|
||||||
|
3.8. SPLITTIME
|
||||||
|
3.9. SCANMSG Setting
|
||||||
|
3.10. PORTS Setting
|
||||||
|
|
||||||
|
3.10.1. Listing Ports/Protocols
|
||||||
|
3.10.2. Adding Ports
|
||||||
|
3.10.3. Deleting Ports
|
||||||
|
|
||||||
|
4. Operational Commands
|
||||||
|
|
||||||
|
4.1. LOOKUP Command
|
||||||
|
4.2. INFO Command
|
||||||
|
4.3. CHECK Command
|
||||||
|
4.4. STATUS Command
|
||||||
|
|
||||||
|
Welcome to the Open Proxy Scanning Bot (OPSB) Manual. This document
|
||||||
|
will aid you in setting up and running OPSB on your IRC network.
|
||||||
|
|
||||||
|
OPSB is a Proxy Scanning Service that scans connecting clients for
|
||||||
|
Open Proxies. These Open Proxies are often used by malicious users and
|
||||||
|
trojans to connect to your network and attack the network, users, or
|
||||||
|
channels that you host. It bases its scanning engine on the BOPM proxy
|
||||||
|
scanning library available at http://www.blitzed.org, but unlike the
|
||||||
|
BOPM software, it has native support to scan all clients network wide,
|
||||||
|
rather than via individual servers. This means that you only need one
|
||||||
|
OPSB service running on your network to protect your entire IRC
|
||||||
|
network.
|
||||||
|
|
||||||
|
Additionally, OPSB makes use of Open Proxy lists. These lists often
|
||||||
|
contain IP addresses of verified Open Proxies, and OPSB can ban these
|
||||||
|
users without even scanning. By default, OPSB uses the blitzed open
|
||||||
|
proxy list (More details available at http://opm.blitzed.org)
|
||||||
|
|
||||||
|
OPSB is flexible in that it has many advanced configuration options
|
||||||
|
available to IRC administrators, including the ability to easily
|
||||||
|
modify the protocols and ports to scan of connecting users, as well as
|
||||||
|
exclude certian users or servers from scanning. This allows you maxium
|
||||||
|
flexibility without the overhead of running multiple copies of proxy
|
||||||
|
scanning software. In addition, it has the ability to Queue up scans,
|
||||||
|
so during periods of peak usage, OPSB will not consume all bandwidth
|
||||||
|
or file descriptors, but still scan users in a timely manor.
|
||||||
|
|
||||||
|
Proxy Scanning is only one defence against Trojans and Malicious
|
||||||
|
users, and can not detect all types of open Proxies. We therefore
|
||||||
|
recomend that the IRC administrators run other software such as
|
||||||
|
SecureServ, and familiarize themselves with the OperServ functionality
|
||||||
|
found in most traditional IRC services packages.
|
||||||
|
|
||||||
|
By Default, OPSB scans the following protocols and ports (But this can
|
||||||
|
be easily customized)
|
||||||
|
* HTTP Proxies on Port 80, 3128, 8000, 8080
|
||||||
|
* HTTP Post Proxies on Port 80, 3128, 8000, 8080
|
||||||
|
* Wingate Servers on Port 23
|
||||||
|
* Insecure Cisco Routers on port 23
|
||||||
|
* SOCKS4 Servers on 1080
|
||||||
|
* SOCKS5 Servers on 1080
|
||||||
|
|
||||||
|
These ports are some of the more common ports, but administrators
|
||||||
|
might find other ports that are often associated with open proxies. In
|
||||||
|
these cases, the administrator can simple add the new port to be
|
||||||
|
scanning without restarting OPSB.
|
||||||
|
|
||||||
|
Warning
|
||||||
|
|
||||||
|
When picking a host to run OPSB from, make sure you check with your
|
||||||
|
Shell or ISP provider to ensure that there are no Transparent HTTP
|
||||||
|
proxies enabled on that network. Transparent proxies are often used to
|
||||||
|
speed up HTTP downloads for users without requiring the user to update
|
||||||
|
their browser configuration. If you often get false positive scans on
|
||||||
|
users on port 80, then most likely your hosting provider has
|
||||||
|
implemented a Transparent Proxy. See if they can disable this
|
||||||
|
transparent proxy for you, or alternativly, find a new hosting
|
||||||
|
provider that does not run a transparent proxy. THERE IS NO WAY FOR
|
||||||
|
OPSB TO DETECT IT IS BEHIND A TRANSPARENT PROXY.
|
||||||
|
|
||||||
|
OPSB is written and maintained by Justin Hammond. It requires the
|
||||||
|
NeoStats software. More information about OPSB, or NeoStats, can be
|
||||||
|
found at http://www.neostats.net/
|
||||||
|
|
||||||
|
OPSB is Copyright, 2004 by Justin Hammond.
|
||||||
|
|
||||||
|
1. Prerequisites and Installation.
|
||||||
|
|
||||||
|
OPSB is designed to run on Top of NeoStats. The Following requirements
|
||||||
|
at the time of writting are required for NeoStats:
|
||||||
|
* A Linux or BSD based Server or Shell.
|
||||||
|
* A supported IRCd. Currently, Hybrid7, Unreal, Ultimate2.x,
|
||||||
|
Ultimate3.x, NeoIRCd, Bahumat
|
||||||
|
* Some basic Unix administration Skill
|
||||||
|
* Of Course, a IRC network to connect it all together.
|
||||||
|
|
||||||
|
Please refer to the NeoStats website for more information on the
|
||||||
|
requirements
|
||||||
|
|
||||||
|
OPSB itself requires the following:
|
||||||
|
* NeoStats 2.5.8 or Higher correctly installed and Running
|
||||||
|
* The time to read this entire document.
|
||||||
|
|
||||||
|
Warning
|
||||||
|
OPSB has the potential to Akill/Gline your entire network. Its
|
||||||
|
strongly suggested that you read this entire document before even
|
||||||
|
attempting to compile OPSB, as I'm just going to laugh, if you
|
||||||
|
didn't read, and it AKILL's your entire network. This is Beta
|
||||||
|
Software, there are BUGS. beware.
|
||||||
|
|
||||||
|
1.1. Compiling and Installation
|
||||||
|
|
||||||
|
As long as you have successfully setup NeoStats, and installed it
|
||||||
|
correctly, Compiling OPSB is very simple and straight forward. First
|
||||||
|
you must extract the files from the download package. This is as
|
||||||
|
simple as:
|
||||||
|
bash$ tar -xzf OPSB-<ver>.tar.gz
|
||||||
|
|
||||||
|
This should then create a directory called OPSB-<version> where
|
||||||
|
<version> is the Version of OPSB. Then Proceed to Change into the OPSB
|
||||||
|
directory, and run Configure as follows:
|
||||||
|
bash$./configure [--enable-debug | --with-neostats=<dir>]
|
||||||
|
|
||||||
|
--enable-debug is only usefull for diagnostics purposes when used in
|
||||||
|
conjuction with debugging tools. There should be no need to use this
|
||||||
|
option on a day to day basis
|
||||||
|
|
||||||
|
--with-neostats=<dir> should be used if your neostats directory is not
|
||||||
|
in a standard location (~/NeoStats/). Replace <dir> with the full path
|
||||||
|
to your NeoStats installation directory (NOT SOURCE DIRECTORY)
|
||||||
|
|
||||||
|
Configuring OPSB will look something like the following screen:
|
||||||
|
[Fish@fish-dt]$ ./configure
|
||||||
|
checking for gcc... gcc
|
||||||
|
checking for C compiler default output... a.out
|
||||||
|
checking whether the C compiler works... yes
|
||||||
|
checking whether we are cross compiling... no
|
||||||
|
checking for suffix of executables...
|
||||||
|
checking for suffix of object files... o
|
||||||
|
checking whether we are using the GNU C compiler... yes
|
||||||
|
checking whether gcc accepts -g... yes
|
||||||
|
checking for gcc option to accept ANSI C... none needed
|
||||||
|
checking for a BSD-compatible install... /usr/bin/install -c
|
||||||
|
checking for pcre_compile in -lpcre... yes
|
||||||
|
checking Location of NeoStats...... /home/fish/NeoStats/
|
||||||
|
checking for /home/fish/NeoStats//include/dl.h... yes
|
||||||
|
checking Version of NeoStats...... Compatible Version
|
||||||
|
checking Whether to Enable Debuging...... no
|
||||||
|
configure: creating ./config.status
|
||||||
|
config.status: creating Makefile
|
||||||
|
|
||||||
|
(*----------------------------------------------------------*)
|
||||||
|
(| To compile your module, please type 'make' |)
|
||||||
|
(| If make completes without errors, then you |)
|
||||||
|
(| Must 'make install', but please be sure that NeoStats |)
|
||||||
|
(| Is not currently running with a module of the same name |)
|
||||||
|
(| Running, otherwise Make install will not work |)
|
||||||
|
(| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |)
|
||||||
|
(| If you are running a BSD, make install may produce a |)
|
||||||
|
(| Error, if that is the case, then please manually copy |)
|
||||||
|
(| opsb.so to the NeoStats/dl directory |)
|
||||||
|
(| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |)
|
||||||
|
(*----------------------------------------------------------*)
|
||||||
|
(| For Support please visit: |)
|
||||||
|
(| IRC: /server irc.irc-chat.org |)
|
||||||
|
(| #neostats channel |)
|
||||||
|
(| WWW: http://www.neostats.net/boards/ |)
|
||||||
|
(*----------------------------------------------------------*)
|
||||||
|
(|This Module was written by: |)
|
||||||
|
(| fish (fish@dynam.ac) |)
|
||||||
|
(*----------------------------------------------------------*)
|
||||||
|
|
||||||
|
If the configuration did not produce a error, you may then move onto
|
||||||
|
Compiling OPSB. Compiling is simply just issuing the "make" command
|
||||||
|
(or "gmake" if you are running BSD):
|
||||||
|
[Fish@fish-dt]$ make
|
||||||
|
(cd libopm; make libopm.a)
|
||||||
|
make[1]: Entering directory `/home/fish/opsb/libopm'
|
||||||
|
gcc -c -O2 -Wall -I. -I.. compat.c
|
||||||
|
gcc -c -O2 -Wall -I. -I.. config.c
|
||||||
|
gcc -c -O2 -Wall -I. -I.. inet.c
|
||||||
|
gcc -c -O2 -Wall -I. -I.. libopm.c
|
||||||
|
gcc -c -O2 -Wall -I. -I.. list.c
|
||||||
|
gcc -c -O2 -Wall -I. -I.. malloc.c
|
||||||
|
gcc -c -O2 -Wall -I. -I.. proxy.c
|
||||||
|
ar cru libopm.a compat.o config.o inet.o libopm.o list.o malloc.o proxy.o
|
||||||
|
ranlib libopm.a
|
||||||
|
make[1]: Leaving directory `/home/fish/opsb/libopm'
|
||||||
|
gcc -c -O2 -Wall -I/home/fish/NeoStats//include/ -I. -Ilibopm opsb.c
|
||||||
|
gcc -c -O2 -Wall -I/home/fish/NeoStats//include/ -I. -Ilibopm proxy.c
|
||||||
|
gcc -c -O2 -Wall -I/home/fish/NeoStats//include/ -I. -Ilibopm opsb_help.c
|
||||||
|
ld -shared -o opsb.so opsb.o proxy.o opsb_help.o libopm/libop
|
||||||
|
m.a
|
||||||
|
[1005|/home/fish/opsb]
|
||||||
|
[Fish@fish-dt]$
|
||||||
|
|
||||||
|
Again, check for Error messages. As long as there are not error
|
||||||
|
messages, "make install" will install OPSB, this README file, and any
|
||||||
|
auxiluary files needed into your NeoStats directory:
|
||||||
|
[Fish@fish-dt]$ make install
|
||||||
|
(cd libopm; make libopm.a)
|
||||||
|
make[1]: Entering directory `/home/fish/opsb/libopm'
|
||||||
|
make[1]: `libopm.a' is up to date.
|
||||||
|
make[1]: Leaving directory `/home/fish/opsb/libopm'
|
||||||
|
ld -shared -o opsb.so opsb.o proxy.o opsb_help.o libopm/libop
|
||||||
|
m.a
|
||||||
|
/usr/bin/install -c
|
||||||
|
-m 644 opsb.so
|
||||||
|
/home/fish/NeoStats//dl/
|
||||||
|
/usr/bin/install -c
|
||||||
|
-m 644 README.opsb opsb.S
|
||||||
|
ettings /home/fish/NeoStats//dl/../doc/
|
||||||
|
[1006|/home/fish/opsb]
|
||||||
|
|
||||||
|
If you recieve *ANY* errors at all during the this process, please
|
||||||
|
post them on our Support boards, at http//www.neostats.net/boards/
|
||||||
|
|
||||||
|
Once Installation is complete, you can either configure NeoStats to
|
||||||
|
load OPSB when it starts, or load OPSB via IRC.
|
||||||
|
|
||||||
|
To Configure NeoStats to automatically load OPSB when it boots, add
|
||||||
|
the following line to your "neostats.cfg" file in the NeoStats
|
||||||
|
directory:
|
||||||
|
|
||||||
|
LOAD_MODULE OPSB
|
||||||
|
|
||||||
|
To load OPSB via IRC, you must make sure you have the appropriate
|
||||||
|
permissions and issue the following command:
|
||||||
|
|
||||||
|
/msg neostats load OPSB
|
||||||
|
|
||||||
|
Thats it. OPSB is now loaded and ready for use (in fact, it will
|
||||||
|
already be running now, but read on for futher information.
|
||||||
|
|
||||||
|
2. Basic Configuration
|
||||||
|
|
||||||
|
OPSB is completly configured online via IRC. When you first start up
|
||||||
|
OPSB, it attempts some "Sane" defaults for you to get started with,
|
||||||
|
but you should always review these settings as soon as you install.
|
||||||
|
Additionally, while its in this "Default" state, it will warn you
|
||||||
|
every so often via a global message as well as messages to the
|
||||||
|
services channel that it is still "unconfigured". Some of the settings
|
||||||
|
that you may want to review right away are:
|
||||||
|
* Exclusion Lists - You should setup a Exclude list for your IRC
|
||||||
|
Services server (NickServ etc)
|
||||||
|
* Target IP address and Ports that OPSB tries to get the proxies to
|
||||||
|
connect to.
|
||||||
|
* Default Ban Time when OPSB finds a open Proxy.
|
||||||
|
|
||||||
|
These are outlined below:
|
||||||
|
|
||||||
|
2.1. Exclusion Lists
|
||||||
|
|
||||||
|
Exclusion lists allow you to specify certian Hostmasks or Servers that
|
||||||
|
should be excluded from monitoring by OPSB. This exclusion list would
|
||||||
|
allow a administrator to say, allow users on that are matched against
|
||||||
|
a open proxy, when the administrator has verified that the trojan does
|
||||||
|
not in fact exist on the users host.
|
||||||
|
|
||||||
|
Caution
|
||||||
|
|
||||||
|
Exclusions should be setup for your Services Server, so that OPSB does
|
||||||
|
not try to scan ChanServ, or NickServ, or any of the bots relating to
|
||||||
|
Nickname protection.
|
||||||
|
|
||||||
|
Adding a Entry
|
||||||
|
|
||||||
|
To add a entry to the Exclusion list, use the following format:
|
||||||
|
/msg OPSB exclude add <1/0> <type> <reason>
|
||||||
|
|
||||||
|
Where:
|
||||||
|
|
||||||
|
<host> = The HostName/Server or Channel name. WildCards ? and * are
|
||||||
|
permitted.
|
||||||
|
|
||||||
|
<type> = The type of exclusion. 0 is for HostNames, 1 is for Servers
|
||||||
|
|
||||||
|
<reason> = a short description of the exclusion, for operator
|
||||||
|
reference only.
|
||||||
|
|
||||||
|
The output is as follows:
|
||||||
|
>OPSB< exclude add services.irc-chat.net 1 Blah is my reason
|
||||||
|
-OPSB- Added services.irc-chat.net (Server) exception to list
|
||||||
|
|
||||||
|
Listing an Entry
|
||||||
|
|
||||||
|
To list the Exclusions simple type:
|
||||||
|
/msg OPSB exclude list
|
||||||
|
|
||||||
|
And all the current exclusions are listed. Additionaly, a Position
|
||||||
|
number is provided for use with the delete command. The output is as
|
||||||
|
follows:
|
||||||
|
>OPSB< exclude list
|
||||||
|
-OPSB- Exception List:
|
||||||
|
-OPSB- 1) *.blah.com (Server) Added by Fish for Blah is my reason
|
||||||
|
-OPSB- 2) is.blah.com (HostName) Added by Fish for can by high
|
||||||
|
-OPSB- End of List.
|
||||||
|
|
||||||
|
Deleting an Entry
|
||||||
|
|
||||||
|
To delete a entry, you should first lookup the Position of the entry
|
||||||
|
that you wish to delete. The format of the command is as follows:
|
||||||
|
/msg OPSB exclude del <num>
|
||||||
|
|
||||||
|
Where:
|
||||||
|
|
||||||
|
<num> is the position of the entry you wish to delete in the list
|
||||||
|
|
||||||
|
The output of the command is as follows:
|
||||||
|
>OPSB< exclude del 1
|
||||||
|
-OPSB- Deleted services.irc-chat.net server out of exception list
|
||||||
|
|
||||||
|
2.2. TARGET IP and TARGET PORT
|
||||||
|
|
||||||
|
By default, OPSB sets up each proxy scan to attempt to connect back to
|
||||||
|
the IP address and port of the server that NeoStats connects to. This
|
||||||
|
may not always be what you wish, as it can help a attacker map our how
|
||||||
|
your network is structured. Ideally, you should pick the IP address of
|
||||||
|
a IRC server you host that is stable and on a fast connection, and
|
||||||
|
enter its IP address and port numbers into OPSB.
|
||||||
|
|
||||||
|
Changing the TargetIP
|
||||||
|
|
||||||
|
To add a entry to the Helper list, use the following format:
|
||||||
|
/msg OPSB set targetip <newipaddress>
|
||||||
|
|
||||||
|
Where:
|
||||||
|
|
||||||
|
<newipaddress> = The ip address to attempt to get proxies to connect
|
||||||
|
to
|
||||||
|
|
||||||
|
The output is as follows:
|
||||||
|
-> *opsb* set targetip 203.208.228.144
|
||||||
|
=opsb= Target IP set to 203.208.228.144
|
||||||
|
|
||||||
|
Changing the Target Port
|
||||||
|
|
||||||
|
To list the helpers simple type:
|
||||||
|
/msg OPSB set targetport <newport>
|
||||||
|
|
||||||
|
Where:
|
||||||
|
|
||||||
|
<newport> = the new port to attempt to get proxies to connect to
|
||||||
|
|
||||||
|
The output is as follows:
|
||||||
|
-> *opsb* set targetport 6667
|
||||||
|
=opsb= Target PORT set to 6667
|
||||||
|
|
||||||
|
2.3. BanTime
|
||||||
|
|
||||||
|
OPSB by default bans the IP/Hostname of a Open Proxy for 1 day (86400
|
||||||
|
seconds). Some networks may wish to increase or decrease this time
|
||||||
|
value.
|
||||||
|
|
||||||
|
Changing the Ban Time
|
||||||
|
|
||||||
|
To change the akilltime, type:
|
||||||
|
-> *opsb* set akilltime 86400
|
||||||
|
=opsb= Ban time changed to 86400
|
||||||
|
|
||||||
|
3. Detailed Configuration
|
||||||
|
|
||||||
|
OPSB attempts to be as configurable as possible in order to cater for
|
||||||
|
each individual networks requirements. This in turn though makes the
|
||||||
|
configuration very complex. There are many many settings with OPSB
|
||||||
|
that affect how it operates, how it responds and even, how affects the
|
||||||
|
performance of NeoStats Overall. Out of the box, OPSB provides
|
||||||
|
sensible defaults for these settings, but you may wish to read this
|
||||||
|
section for details on exactly what each option does, and its affect
|
||||||
|
on how OPSB operates.
|
||||||
|
|
||||||
|
The following list summaries the available Options you can set in OPSB
|
||||||
|
* CACHETIME
|
||||||
|
* SCAN
|
||||||
|
* AKILL
|
||||||
|
* OPMDOMAIN
|
||||||
|
* MAXBYTES
|
||||||
|
* TIMEOUT
|
||||||
|
* OPENSTRING
|
||||||
|
* SPLITTIME
|
||||||
|
* SCANMSG
|
||||||
|
* PORTS
|
||||||
|
|
||||||
|
To change any of these settings, you use the Set Interface in OPSB.
|
||||||
|
Eg:
|
||||||
|
/msg OPSB set <option> <params>
|
||||||
|
|
||||||
|
To view the current settings, issue the following command:
|
||||||
|
/msg OPSB set list
|
||||||
|
|
||||||
|
The following Sections describes the different options, their params,
|
||||||
|
and the effect on OPSB in detail.
|
||||||
|
|
||||||
|
3.1. CACHETIME Setting
|
||||||
|
|
||||||
|
In order to improve performance, OPSB caches the results of scans it
|
||||||
|
has performed so if a user disconnects and reconnects, they are not
|
||||||
|
scanned again, and thus this saves bandwidth and improves the
|
||||||
|
performance of OPSB. By default, OPSB saves previous scans for 1 hour.
|
||||||
|
Smaller IRC networks may wish to increase this value, while larger IRC
|
||||||
|
networks that are concerned about performance or memory usage of OPSB
|
||||||
|
may with to leave this setting as it is. Setting the cache time to 0
|
||||||
|
disables the use of caching, and forces OPSB to scan every user
|
||||||
|
connecting every time.
|
||||||
|
|
||||||
|
To Change the setting, issue the following Command:
|
||||||
|
/msg OPSB set CACHETIME <seconds>
|
||||||
|
|
||||||
|
3.2. SCAN Setting
|
||||||
|
|
||||||
|
Sometimes a IRC administrator may wish to only make use of the Open
|
||||||
|
Proxy list lookup, and not actually perform a scan on users.
|
||||||
|
SCAN forces OPSB to only perform a lookup of the IP address in
|
||||||
|
the configured OPMDOMAIN.
|
||||||
|
|
||||||
|
If you wish to turn off Proxy checks, issue the following command
|
||||||
|
/msg OPSB set SCAN <ON/OFF>
|
||||||
|
|
||||||
|
3.3. AKILL Setting
|
||||||
|
|
||||||
|
Often, when setting up OPSB for the first time, or making changes to
|
||||||
|
the ports that are to be scanning, you may wish to test OPSB without
|
||||||
|
it actually performing a AKILL. Turning AKILL off disables the
|
||||||
|
placement of a AKILL on open Proxy hosts.
|
||||||
|
|
||||||
|
To Change the setting, issue the following Command:
|
||||||
|
/msg OPSB set AKILL <ON/OFF>
|
||||||
|
|
||||||
|
3.4. OPMDOMAIN Setting
|
||||||
|
|
||||||
|
This setting changes with domain OPSB should consult for a positive
|
||||||
|
match on a particular IP address. By Default, OPSB checks
|
||||||
|
opm.blizted.org. Another list may be substituted instead of the
|
||||||
|
default on. At this time, we have not tested any other open proxy
|
||||||
|
list, although most lists should work with no problems. Please report
|
||||||
|
success/failure to our boards
|
||||||
|
|
||||||
|
To Change this Setting, issue the following Command:
|
||||||
|
/msg OPSB set OPMDOMAIN <newdomain>
|
||||||
|
|
||||||
|
3.5. MAXBYTES Setting
|
||||||
|
|
||||||
|
Maxbytes controls how much data to read from a open connection before
|
||||||
|
determining that the host in question does not contain a Open Proxy.
|
||||||
|
As we check ports that are common with legitimate applications such as
|
||||||
|
webservers, we don't need to download the entire webpage to determine
|
||||||
|
that it is not a open proxy. By default, we only read 500 bytes which
|
||||||
|
should be sufficient for most networks.
|
||||||
|
|
||||||
|
To Change this Setting, issue the following Command:
|
||||||
|
/msg OPSB set MAXBYTES <bytelimit>
|
||||||
|
|
||||||
|
3.6. TIMEOUT
|
||||||
|
|
||||||
|
It is very common for users to now use personal firewall software on
|
||||||
|
their PC. This often leads to probes the the users ip address that
|
||||||
|
never actually get rejected or are successfull, but just hang trying
|
||||||
|
to connect. the Timeout value controls how long to wait before
|
||||||
|
assuming that the host is not operating a proxy. By default, we wait
|
||||||
|
30 seconds
|
||||||
|
|
||||||
|
To Change this setting, issue the following command:
|
||||||
|
/msg OPSB set TIMEOUT <seconds>
|
||||||
|
|
||||||
|
3.7. OPENSTRING
|
||||||
|
|
||||||
|
This setting controls what strings to look for that indicate a Open
|
||||||
|
Proxy. By default, we look for the standard string "*** Looking up
|
||||||
|
your hostname..." which is one of the first messages sent to
|
||||||
|
connecting IRC clients. There should be no need to change this
|
||||||
|
setting. Internally, OPSB also scans for common Trottle or akill
|
||||||
|
messages.
|
||||||
|
|
||||||
|
To Change this setting, issue the following command:
|
||||||
|
/msg OPSB set OPENSTRING <newstring>
|
||||||
|
|
||||||
|
3.8. SPLITTIME
|
||||||
|
|
||||||
|
OPSB is very sensitive to timedrifts on the IRC network. In order to
|
||||||
|
not scan users that might be part of a Netjoin (When two IRC servers
|
||||||
|
reconnect after a Netsplit) we only scan users who's signon time is
|
||||||
|
less than this setting. If your IRC network times are not in sync, you
|
||||||
|
might experience issues where users connecting to one "lagged" out
|
||||||
|
server are not scanning. In this case, you should fix the time on the
|
||||||
|
affected server. A last resort is to increase this time value. By
|
||||||
|
default, we only scan users that connected in the last 300 seconds
|
||||||
|
|
||||||
|
To Change this setting, issue the following command:
|
||||||
|
/msg OPSB set SPLITTIME <seconds>
|
||||||
|
|
||||||
|
3.9. SCANMSG Setting
|
||||||
|
|
||||||
|
This setting changes the default message that is sent to users when
|
||||||
|
they sign on the IRC network. You can customise this message to point
|
||||||
|
to a webpage giving more details, or customize to your local language.
|
||||||
|
|
||||||
|
To Change the setting, issue the following Command:
|
||||||
|
/msg OPSB set SCANMSG <msg>
|
||||||
|
|
||||||
|
3.10. PORTS Setting
|
||||||
|
|
||||||
|
The ports setting allows you to customize what ports and protocols are
|
||||||
|
scanned when users connect to your IRC network. This can be used to
|
||||||
|
detect proxies that are running on additional ports that OPSB does not
|
||||||
|
scan by default.
|
||||||
|
|
||||||
|
3.10.1. Listing Ports/Protocols
|
||||||
|
|
||||||
|
To list the current protocols and the assocated ports, issue the
|
||||||
|
following command:
|
||||||
|
/msg OPSB ports list
|
||||||
|
|
||||||
|
And the following is displayed:
|
||||||
|
>opsb< ports list
|
||||||
|
-opsb- Port List:
|
||||||
|
-opsb- 1) HTTP Port: 80
|
||||||
|
-opsb- 2) HTTP Port: 8080
|
||||||
|
-opsb- 3) HTTP Port: 8000
|
||||||
|
-opsb- 4) HTTP Port: 3128
|
||||||
|
-opsb- 5) SOCKS4 Port: 1080
|
||||||
|
-opsb- 6) SOCKS5 Port: 1080
|
||||||
|
-opsb- 7) WINGATE Port: 23
|
||||||
|
-opsb- 8) ROUTER Port: 23
|
||||||
|
-opsb- 9) HTTPPOST Port: 80
|
||||||
|
-opsb- 10) HTTPPOST Port: 8080
|
||||||
|
-opsb- 11) HTTPPOST Port: 8000
|
||||||
|
-opsb- 12) HTTPPOST Port: 3128
|
||||||
|
-opsb- End of List.
|
||||||
|
|
||||||
|
3.10.2. Adding Ports
|
||||||
|
|
||||||
|
To add a additional port to scan with a particular protocol, use the
|
||||||
|
following command:
|
||||||
|
/msg opsb ports add <type> <port>
|
||||||
|
|
||||||
|
Where:
|
||||||
|
|
||||||
|
<type> is the type of Protocol to use. Either:
|
||||||
|
|
||||||
|
HTTP
|
||||||
|
|
||||||
|
HTTPPOST
|
||||||
|
|
||||||
|
SOCKS4
|
||||||
|
|
||||||
|
SOCKS5
|
||||||
|
|
||||||
|
WINGATE
|
||||||
|
|
||||||
|
ROUTER
|
||||||
|
|
||||||
|
<port> is any valid port number between 1 and 65535
|
||||||
|
|
||||||
|
The change is imediate, and new users will have these ports scanned
|
||||||
|
when they connect.
|
||||||
|
|
||||||
|
3.10.3. Deleting Ports
|
||||||
|
|
||||||
|
If you wish to delete a port to be scanned, issue the following
|
||||||
|
command:
|
||||||
|
/msg opsb ports del <id>
|
||||||
|
|
||||||
|
Where <id> is the ID number of the port/Protocol you wish to delete.
|
||||||
|
ID can be obtained from a port listing command described above.
|
||||||
|
|
||||||
|
OPSB requires a restart when deleting a port, so you should either
|
||||||
|
restart NeoStats, or Reload the OPSB module.
|
||||||
|
|
||||||
|
4. Operational Commands
|
||||||
|
|
||||||
|
OPSB has a number of commands that you can issue it in order to
|
||||||
|
perform checks or operations on your IRC network. These commands aid
|
||||||
|
Administrators in keeping their network secure, and keeping OPSB upto
|
||||||
|
date.
|
||||||
|
|
||||||
|
The following list summerizes these commands:
|
||||||
|
* LOOKUP
|
||||||
|
* INFO
|
||||||
|
* CHECK
|
||||||
|
* STATUS
|
||||||
|
* REMOVE
|
||||||
|
|
||||||
|
The following Sections Describe these commands in detail
|
||||||
|
|
||||||
|
4.1. LOOKUP Command
|
||||||
|
|
||||||
|
The lookup comand can perform DNS lookups for you. You can specify
|
||||||
|
what information you wish to retrive. This command is open to all
|
||||||
|
users by default.
|
||||||
|
|
||||||
|
The format of the command is as follows:
|
||||||
|
/msg OPSB lookup <ip|hostname> <flag>
|
||||||
|
|
||||||
|
Where:
|
||||||
|
|
||||||
|
<ip|hostname> is the item you wish to lookup.
|
||||||
|
|
||||||
|
<flag> is optional, and specified what type of data you wish to
|
||||||
|
lookup. Available options include:
|
||||||
|
|
||||||
|
txt - Lookup Text Records rp - Lookup the Responsible Person for this
|
||||||
|
record ns - Lookup the Name Servers for this record soa - Lookup the
|
||||||
|
SOA for this Record
|
||||||
|
|
||||||
|
If no flag is given, we attempt to lookup the A record.
|
||||||
|
|
||||||
|
The output of the command is as follows:
|
||||||
|
-> *opsb* lookup irc.irc-chat.net
|
||||||
|
=opsb= irc.irc-chat.net resolves to 202.181.4.129
|
||||||
|
=opsb= irc.irc-chat.net resolves to 203.208.228.144
|
||||||
|
=opsb= irc.irc-chat.net resolves to 216.218.235.254
|
||||||
|
=opsb= irc.irc-chat.net resolves to 66.227.101.55
|
||||||
|
|
||||||
|
4.2. INFO Command
|
||||||
|
|
||||||
|
This command provides users with information about what functions OPSB
|
||||||
|
performs. Its intended to just provide directions to users for more
|
||||||
|
information
|
||||||
|
|
||||||
|
The format of the command is as follows:
|
||||||
|
/msg OPSB info
|
||||||
|
|
||||||
|
4.3. CHECK Command
|
||||||
|
|
||||||
|
This command forces OPSB to perform a full scan on the specified
|
||||||
|
nickname, ip adress or hostname.
|
||||||
|
|
||||||
|
The format of the command is as follows:
|
||||||
|
/msg OPSB check <nick|host>
|
||||||
|
|
||||||
|
The output is as follows:
|
||||||
|
=opsb= Checking fish for open Proxies
|
||||||
|
<opsb> Starting proxy scan on Fish (XXXX.singnet.com.sg) by Request of Fish
|
||||||
|
=opsb= Negitiation failed for protocol HTTP(80)
|
||||||
|
=opsb= Negitiation failed for protocol HTTP(8000)
|
||||||
|
=opsb= Negitiation failed for protocol HTTP(3128)
|
||||||
|
=opsb= Negitiation failed for protocol SOCKS4(1080)
|
||||||
|
=opsb= Negitiation failed for protocol SOCKS5(1080)
|
||||||
|
=opsb= Negitiation failed for protocol WINGATE(23)
|
||||||
|
=opsb= Negitiation failed for protocol ROUTER(23)
|
||||||
|
=opsb= Negitiation failed for protocol HTTPPOST(80)
|
||||||
|
=opsb= Negitiation failed for protocol HTTPPOST(8000)
|
||||||
|
=opsb= Negitiation failed for protocol HTTPPOST(3128)
|
||||||
|
=opsb= Closed Proxy on Protocol HTTP (8080)
|
||||||
|
=opsb= Closed Proxy on Protocol HTTPPOST (8080)
|
||||||
|
=opsb= scan finished on Fish
|
||||||
|
=opsb= XXXX.singnet.com.sg does not appear in DNS black list
|
||||||
|
|
||||||
|
4.4. STATUS Command
|
||||||
|
|
||||||
|
This command gives the Administrator statistics on the how OPSB is
|
||||||
|
performing, how many checks it has conducted, and other information
|
||||||
|
relating to the performance of OPSB.
|
||||||
|
|
||||||
|
The format of the command is as follows:
|
||||||
|
-> *opsb* status
|
||||||
|
=opsb= Proxy Results:
|
||||||
|
=opsb= Hosts Scanned: 5831 Hosts found Open: 1 Exceptions 0
|
||||||
|
=opsb= Cache Entries: 128
|
||||||
|
=opsb= Cache Hits: 5523
|
||||||
|
=opsb= Blacklist Hits: 4
|
||||||
|
=opsb= Currently Scanning 0 Proxies (0 in queue):
|
49
README.feedserv.html
Normal file
49
README.feedserv.html
Normal file
File diff suppressed because one or more lines are too long
629
README.feedserv.xml
Normal file
629
README.feedserv.xml
Normal file
|
@ -0,0 +1,629 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
||||||
|
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
||||||
|
<article>
|
||||||
|
<title>ModuleName 3.0 Manual</title>
|
||||||
|
|
||||||
|
<para>Welcome to the ModuleName Manual. This document will aid you in
|
||||||
|
setting up and running ModuleName on your IRC network.</para>
|
||||||
|
|
||||||
|
<para><add module introduction></para>
|
||||||
|
|
||||||
|
<para>ModuleName is Copyright, 2006 by Justin Hammond.</para>
|
||||||
|
|
||||||
|
<sect1>
|
||||||
|
<title>Prerequisites and Installation.</title>
|
||||||
|
|
||||||
|
<para>ModuleName is designed to run on Top of NeoStats. The Following
|
||||||
|
requirements at the time of writing are required for
|
||||||
|
NeoStats:<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>A Linux or BSD based Server or Shell.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>A IRCd supported by NeoStats. See the <link
|
||||||
|
linkend="???">NeoStats</link> website.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>Some basic Unix administration Skill</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>Of Course, a IRC network to connect it all together.</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist></para>
|
||||||
|
|
||||||
|
<para>Please refer to the NeoStats website for more information on the
|
||||||
|
requirements</para>
|
||||||
|
|
||||||
|
<para>ModuleName itself requires the following:<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>NeoStats 3.0 or Higher correctly installed and Running</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>The time to read this entire document. </para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist></para>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Compiling and Installation</title>
|
||||||
|
|
||||||
|
<para>As long as you have successfully setup NeoStats, and installed it
|
||||||
|
correctly, Compiling ModuleName is very simple and straight forward.
|
||||||
|
First you must extract the files from the download package. This is as
|
||||||
|
simple as:</para>
|
||||||
|
|
||||||
|
<screen>bash$<command> tar -xzf ModuleName-<ver>.tar.gz</command></screen>
|
||||||
|
|
||||||
|
<para>This should then create a directory called
|
||||||
|
ModuleName-<version> where <version> is the Version of
|
||||||
|
ModuleName. Then Proceed to Change into the ModuleName directory, and
|
||||||
|
run Configure as follows:<screen>bash$<command>./configure [--enable-debug | --with-neostats=<dir>]</command></screen></para>
|
||||||
|
|
||||||
|
<para>--enable-debug is only useful for diagnostics purposes when used
|
||||||
|
in conjunction with debugging tools. There should be no need to use this
|
||||||
|
option on a day to day basis</para>
|
||||||
|
|
||||||
|
<para>--with-neostats=<dir> should be used if your neostats
|
||||||
|
directory is not in a standard location (~/NeoStats/). Replace
|
||||||
|
<dir> with the full path to your NeoStats installation directory
|
||||||
|
(NOT SOURCE DIRECTORY)</para>
|
||||||
|
|
||||||
|
<para>Configuring ModuleName will look something like the following
|
||||||
|
screen:</para>
|
||||||
|
|
||||||
|
<screen>Fishs-Mac:~/Documents/Dev/ModuleName justin$ ./configure
|
||||||
|
checking whether to enable maintainer-specific portions of Makefiles... no
|
||||||
|
checking for a BSD-compatible install... /usr/bin/install -c
|
||||||
|
checking whether build environment is sane... yes
|
||||||
|
checking for gawk... no
|
||||||
|
checking for mawk... no
|
||||||
|
checking for nawk... no
|
||||||
|
|
||||||
|
<snip>
|
||||||
|
|
||||||
|
checking To Enable AutoTools Debug Mode?... no
|
||||||
|
checking silent building of source files... Enabled
|
||||||
|
configure: creating ./config.status
|
||||||
|
config.status: creating Makefile
|
||||||
|
config.status: creating modconfig.h
|
||||||
|
config.status: modconfig.h is unchanged
|
||||||
|
config.status: executing depfiles commands
|
||||||
|
Configuration complete.
|
||||||
|
Press Enter key to read the release notes</screen>
|
||||||
|
|
||||||
|
<para>The Configure process will then prompt you to read the release
|
||||||
|
notes. You are encouraged to read this document throughly as it might
|
||||||
|
contain important information about the current version of ModuleName
|
||||||
|
that isn't covered in the manual.</para>
|
||||||
|
|
||||||
|
<para>If the configuration did not produce a error, you may then move
|
||||||
|
onto Compiling ModuleName. Compiling is simply just issuing the "make"
|
||||||
|
command (or "gmake" if you are running BSD):</para>
|
||||||
|
|
||||||
|
<screen>Fishs-Mac:~/Documents/Dev/ModuleName justin$ make
|
||||||
|
make -s all-am
|
||||||
|
Compiling Helpers.c: [OK]
|
||||||
|
Compiling ModuleName.c: [OK]
|
||||||
|
Compiling scan.c: [OK]
|
||||||
|
Compiling OnJoinBot.c: [OK]
|
||||||
|
Compiling ModuleName_help.c: [OK]
|
||||||
|
Compiling update.c: [OK] </screen>
|
||||||
|
|
||||||
|
<para>Again, check for Error messages. As long as there are not error
|
||||||
|
messages, "make install" will install ModuleName, this README file, and
|
||||||
|
any auxiliary files needed into your NeoStats directory:</para>
|
||||||
|
|
||||||
|
<screen>Fishs-Mac:~/Documents/Dev/ModuleName justin$ make install
|
||||||
|
Installing ModuleName.so: [OK]
|
||||||
|
Installing viri.dat: [OK]
|
||||||
|
Installing README.ModuleName: [OK]
|
||||||
|
Installing README.ModuleName.html: [OK] </screen>
|
||||||
|
|
||||||
|
<para>If you receive *ANY* errors at all during the this process, please
|
||||||
|
post them on our Support boards, at
|
||||||
|
http//www.neostats.net/boards/</para>
|
||||||
|
|
||||||
|
<para>Once Installation is complete, you can either configure NeoStats
|
||||||
|
to load ModuleName when it starts, or load ModuleName via IRC.</para>
|
||||||
|
|
||||||
|
<para>To Configure NeoStats to automatically load ModuleName when it
|
||||||
|
boots, modify the neostats.conf file and add ModuleName to the list of
|
||||||
|
modules to load:</para>
|
||||||
|
|
||||||
|
<screen>MODULENAME = {
|
||||||
|
"statserv",
|
||||||
|
"hostserv",
|
||||||
|
"ModuleName",
|
||||||
|
} </screen>
|
||||||
|
|
||||||
|
<para>To load ModuleName via IRC, you must make sure you have the
|
||||||
|
appropriate permissions and issue the following command:</para>
|
||||||
|
|
||||||
|
<para><command>/msg neostats load ModuleName</command></para>
|
||||||
|
|
||||||
|
<para>Thats it. ModuleName is now loaded and ready for use (in fact, it
|
||||||
|
will already be running now, but read on for further
|
||||||
|
information.)</para>
|
||||||
|
</sect2>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
|
<sect1>
|
||||||
|
<title>Basic Configuration</title>
|
||||||
|
|
||||||
|
<para>ModuleName is completely configured online via IRC. When you first
|
||||||
|
start up ModuleName, it attempts some "Sane" defaults for you get started
|
||||||
|
with, but you should always review these settings as soon as you install.
|
||||||
|
There are a few important settings you may want to review right away. They
|
||||||
|
are:</para>
|
||||||
|
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>blah blah</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>blah blah</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>blah blah</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
|
||||||
|
<para>These are outlined below:</para>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Blah Blah</title>
|
||||||
|
|
||||||
|
<para>Blah Blah</para>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Blah Blah</title>
|
||||||
|
|
||||||
|
<para>BLAH BLAH</para>
|
||||||
|
</sect2>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
|
<sect1>
|
||||||
|
<title>Detailed Configuration</title>
|
||||||
|
|
||||||
|
<para>ModuleName attempts to be as configurable as possible in order to
|
||||||
|
cater for each individual networks requirements. This in turn though makes
|
||||||
|
the configuration very complex. There are many many settings with
|
||||||
|
ModuleName that affect how it operates, how it responds and even, how
|
||||||
|
affects the performance of NeoStats Overall. Out of the box, ModuleName
|
||||||
|
provides sensible defaults for these settings, but you may wish to read
|
||||||
|
this section for details on exactly what each option does, and its affect
|
||||||
|
on how ModuleName operates.</para>
|
||||||
|
|
||||||
|
<para>The following list summaries the available options you can set in
|
||||||
|
ModuleName</para>
|
||||||
|
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>NICK</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>ALTNICK</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>USER</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>HOST</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>REALNAME</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>EXCLUSIONS</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>BLAHBLAH</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
|
||||||
|
<para>To change any of these settings, you use the Set Interface in
|
||||||
|
ModuleName. Eg:</para>
|
||||||
|
|
||||||
|
<screen>/msg ModuleName set <option> <params></screen>
|
||||||
|
|
||||||
|
<para>To view the current settings, issue the following command:</para>
|
||||||
|
|
||||||
|
<screen>/msg ModuleName set list</screen>
|
||||||
|
|
||||||
|
<para>The following Sections describes the different options, their
|
||||||
|
params, and the effect on ModuleName in detail.</para>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>NICK Setting</title>
|
||||||
|
|
||||||
|
<para>This setting allows you to change the Nickname that ModuleName
|
||||||
|
uses when it connects to your network. If you change this setting make
|
||||||
|
sure you update your NeoNet account, otherwise you might loose access to
|
||||||
|
the Secure IRC-Chat site if we perform a check on your network and can't
|
||||||
|
find "ModuleName" running.</para>
|
||||||
|
|
||||||
|
<warning>
|
||||||
|
<para>This option requires you to reload ModuleName or restart
|
||||||
|
NeoStats to take effect.</para>
|
||||||
|
</warning>
|
||||||
|
|
||||||
|
<screen>/msg ModuleName set NICK <nickname></screen>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>ALTNICK Setting</title>
|
||||||
|
|
||||||
|
<para>This setting allows you to set a "Backup" nickname used for
|
||||||
|
ModuleName. If the primary Nickname in the NICK Setting is not
|
||||||
|
available, ModuleName will use this nickname, and if that is not
|
||||||
|
available, it will use a automatically generated nickname</para>
|
||||||
|
|
||||||
|
<warning>
|
||||||
|
<para>This option requires you to reload ModuleName or restart
|
||||||
|
NeoStats to take effect</para>
|
||||||
|
</warning>
|
||||||
|
|
||||||
|
<screen>/msg ModuleName set ALTNICK <nickname></screen>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>USER Setting</title>
|
||||||
|
|
||||||
|
<para>This option allows you to customize the "user" or ident portion of
|
||||||
|
the ModuleName Bot. </para>
|
||||||
|
|
||||||
|
<warning>
|
||||||
|
<para>This option requires you to reload ModuleName or restart
|
||||||
|
NeoStats to take effect</para>
|
||||||
|
</warning>
|
||||||
|
|
||||||
|
<screen>/msg ModuleName set USER <user></screen>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>HOST Setting</title>
|
||||||
|
|
||||||
|
<para>This option allows you to customize the Hostname that ModuleName
|
||||||
|
uses when it signs onto your Network. It defaults to the Standard
|
||||||
|
Hostname specified in your NeoStats configuration.</para>
|
||||||
|
|
||||||
|
<warning>
|
||||||
|
<para>This option requires you to reload ModuleName or restart
|
||||||
|
NeoStats to take effect</para>
|
||||||
|
</warning>
|
||||||
|
|
||||||
|
<screen>/msg ModuleName set HOST <host></screen>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>REALNAME Setting</title>
|
||||||
|
|
||||||
|
<para>This option allows you to customize the realname (or Gecos) that
|
||||||
|
ModuleName uses when it signs onto your Network. </para>
|
||||||
|
|
||||||
|
<warning>
|
||||||
|
<para>This option requires you to reload ModuleName or restart
|
||||||
|
NeoStats to take effect</para>
|
||||||
|
</warning>
|
||||||
|
|
||||||
|
<screen>/msg ModuleName set REALNAME <realname></screen>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>EXCLUSIONS Setting</title>
|
||||||
|
|
||||||
|
<para>This option enables ModuleName to use the Global Exclusions list
|
||||||
|
that is control by the main NeoStats bot. This allows you to maintain a
|
||||||
|
"global" exclusion list that is applicable to all modules in NeoStats,
|
||||||
|
and then only apply individual exclusions to ModuleName. </para>
|
||||||
|
|
||||||
|
<warning>
|
||||||
|
<para>This option only becomes effective on new users joining your
|
||||||
|
Network. Existing users that are already connected when you enable
|
||||||
|
this option will not be rescanned for exclusions, as the Global
|
||||||
|
Exclusions are only effected when a new user signs onto the Network.
|
||||||
|
In order to make the global exclusions list effective straight away,
|
||||||
|
you should restart NeoStats.</para>
|
||||||
|
</warning>
|
||||||
|
|
||||||
|
<para>If you wish to enable or disable the Global Exclusions lists,
|
||||||
|
issue the following command</para>
|
||||||
|
|
||||||
|
<screen>/msg ModuleName set EXCLUSIONS <ON/OFF></screen>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>BLAH Blah Setting</title>
|
||||||
|
|
||||||
|
<para>blah blah description</para>
|
||||||
|
|
||||||
|
<para>To Change the setting, issue the following Command:</para>
|
||||||
|
|
||||||
|
<screen>/msg ModuleName set blahblah <blah> </screen>
|
||||||
|
</sect2>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
|
<sect1>
|
||||||
|
<title>Operational Commands</title>
|
||||||
|
|
||||||
|
<para>ModuleName has a number of commands that you can issue it in order
|
||||||
|
to perform checks or operations on your IRC network. These commands aid
|
||||||
|
Administrators in keeping their network secure, and keeping ModuleName
|
||||||
|
upto date.</para>
|
||||||
|
|
||||||
|
<para>The following list summarizes these commands:</para>
|
||||||
|
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>HELP</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>VERSION</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>ABOUT</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>CREDITS</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>LEVELS</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>SET</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>EXCLUDE</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>BLAHBLAH</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
|
||||||
|
<para>The following Sections Describe these commands in detail</para>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>HELP Command</title>
|
||||||
|
|
||||||
|
<para>The help command allows the users to access the online help for
|
||||||
|
the different commands available. You can get general help about the
|
||||||
|
available commands, or can access more specific information about a
|
||||||
|
command.</para>
|
||||||
|
|
||||||
|
<para>To see the help pages, use the following format:</para>
|
||||||
|
|
||||||
|
<screen>/msg ModuleName help [command]
|
||||||
|
</screen>
|
||||||
|
|
||||||
|
<para>command is optional and only required if you want more specific
|
||||||
|
information about a particular command</para>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>VERSION Command</title>
|
||||||
|
|
||||||
|
<para>This command displays the Version of ModuleName, and the dat
|
||||||
|
files. </para>
|
||||||
|
|
||||||
|
<para>The format of the command is as follows:</para>
|
||||||
|
|
||||||
|
<screen>/msg ModuleName version
|
||||||
|
</screen>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>ABOUT Command</title>
|
||||||
|
|
||||||
|
<para>The about command shows a brief description of the Bot and its
|
||||||
|
purpose.</para>
|
||||||
|
|
||||||
|
<para>The format of the command is as follows:</para>
|
||||||
|
|
||||||
|
<screen>/msg ModuleName about
|
||||||
|
</screen>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>CREDITS Command</title>
|
||||||
|
|
||||||
|
<para>The credits command shows details about the authors or
|
||||||
|
contributors of to the Module</para>
|
||||||
|
|
||||||
|
<para>The format of the command is as follows:</para>
|
||||||
|
|
||||||
|
<screen>/msg ModuleName credits
|
||||||
|
</screen>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>LEVELS Command</title>
|
||||||
|
|
||||||
|
<para>The levels command allows you to adjust the security of each
|
||||||
|
command available in this module. You can make certian commands only
|
||||||
|
available to higher "level" users in NeoStats. </para>
|
||||||
|
|
||||||
|
<para>For more information about NeoStats Levels and Security, please
|
||||||
|
consult the NeoStats Manual</para>
|
||||||
|
|
||||||
|
<para>To list the currently configured levels, issue the following
|
||||||
|
command:</para>
|
||||||
|
|
||||||
|
<screen>/msg ModuleName levels list
|
||||||
|
</screen>
|
||||||
|
|
||||||
|
<para>To change the minimum level required to execute a command, issue
|
||||||
|
the following command:</para>
|
||||||
|
|
||||||
|
<screen>/msg ModuleName levels <command> <level></screen>
|
||||||
|
|
||||||
|
<para>Where:</para>
|
||||||
|
|
||||||
|
<para>command = is the actual command name you wish to modify</para>
|
||||||
|
|
||||||
|
<para>level = a number between 0 and 200 that specifies the new
|
||||||
|
level.</para>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>SET Command</title>
|
||||||
|
|
||||||
|
<para>The set command allows you to modify settings applicable to this
|
||||||
|
module. For a complete description of the available set options, please
|
||||||
|
consult the Detailed Configuration Section of this manual.</para>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>EXCLUDE Command</title>
|
||||||
|
|
||||||
|
<para>Exclusion lists allow you to specify certain Hostmasks, Servers,
|
||||||
|
or Channels that should be excluded from monitoring by ModuleName. This
|
||||||
|
exclusion list would allow a administrator to say, allow users on that
|
||||||
|
are matched against Trojans, when the administrator has verified that
|
||||||
|
the Trojan does not in fact exist on the users host.</para>
|
||||||
|
|
||||||
|
<caution>
|
||||||
|
<para>Exclusions should be setup for your Services Server, so that
|
||||||
|
ModuleName does not try to scan ChanServ, or NickServ, or any of the
|
||||||
|
bots relating to Nickname protection.</para>
|
||||||
|
</caution>
|
||||||
|
|
||||||
|
<para>With NeoStats 3.0, you should also be aware that there are two
|
||||||
|
types of Exclusion Lists. There are "Global" exclusion lists that all
|
||||||
|
modules may optionally use, and there is module specific exclusion
|
||||||
|
lists. ModuleName defaults to not using the Global Exclusion lists. You
|
||||||
|
can enable it by the following command:<screen>/msg ModuleName set exclusions on</screen></para>
|
||||||
|
|
||||||
|
<para><emphasis role="bold">Adding a Entry</emphasis></para>
|
||||||
|
|
||||||
|
<para>To add a entry to the Exclusion list, use the following
|
||||||
|
format:</para>
|
||||||
|
|
||||||
|
<screen>/msg ModuleName exclude add <host/Server/Channel/UserHost> <pattern> <reason></screen>
|
||||||
|
|
||||||
|
<para>Where:</para>
|
||||||
|
|
||||||
|
<para><Host/Server/Channel/UserHost> = The type of exclusion you
|
||||||
|
are adding. The different types are:<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>Host - The Users real (Internet) Hostname</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>Server - The Users server they are connecting to. You should
|
||||||
|
ensure you add a exclusion for your Services Server</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>Channel - A specific channel on your IRC Network</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>UserHost - The users Virtual Hostname (IRC)</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist></para>
|
||||||
|
|
||||||
|
<para><pattern> = The pattern you wish to match on. May include
|
||||||
|
wildcard charactors such as * and ?</para>
|
||||||
|
|
||||||
|
<para><reason> = a short description of the exclusion, for
|
||||||
|
operator reference only.</para>
|
||||||
|
|
||||||
|
<para>The output is as follows:</para>
|
||||||
|
|
||||||
|
<screen>[13:20] -ModuleName- Added *.blah.com (userhost) to exclusion list
|
||||||
|
[13:20] ModuleName Fish added *.blah.com (userhost) to the exclusion list</screen>
|
||||||
|
|
||||||
|
<para><emphasis role="bold">Listing an Entry</emphasis></para>
|
||||||
|
|
||||||
|
<para>To list the Exclusions simple type:</para>
|
||||||
|
|
||||||
|
<screen>/msg ModuleName exclude list</screen>
|
||||||
|
|
||||||
|
<para>And all the current exclusions are listed. Additionally, a
|
||||||
|
Position number is provided for use with the delete command. The output
|
||||||
|
is as follows:</para>
|
||||||
|
|
||||||
|
<screen>[13:21] -ModuleName- Exclusion list:
|
||||||
|
[13:21] -ModuleName- #bothouse (Channel) Added by Fish on Sat Aug 13 2005 01:20 AM SGT for Requested
|
||||||
|
[13:21] -ModuleName- #ircop (Channel) Added by Fish on Sat Aug 13 2005 07:40 PM SGT for IRCop channel
|
||||||
|
[13:21] -ModuleName- *irc-chat.net (Host) Added by Fish on Tue Aug 09 2005 10:13 PM SGT for Services Exclusion
|
||||||
|
[13:21] -ModuleName- chieftess!*@* (Userhost) Added by Fish on Tue Aug 09 2005 10:14 PM SGT for buggy client
|
||||||
|
[13:21] -ModuleName- *.blah.com (Userhost) Added by Fish on Sun Jan 15 2006 01:20 PM SGT for Cause Blah.com is cool
|
||||||
|
[13:21] -ModuleName- End of list.</screen>
|
||||||
|
|
||||||
|
<para><emphasis role="bold">Deleting an Entry</emphasis></para>
|
||||||
|
|
||||||
|
<para>To delete a entry, you should first lookup the Position of the
|
||||||
|
entry that you wish to delete. The format of the command is as
|
||||||
|
follows:</para>
|
||||||
|
|
||||||
|
<screen>/msg ModuleName exclude del <pattern></screen>
|
||||||
|
|
||||||
|
<para>Where:</para>
|
||||||
|
|
||||||
|
<para><pattern> is the pattern of the entry you wish to delete in
|
||||||
|
the list</para>
|
||||||
|
|
||||||
|
<para>The output of the command is as follows:</para>
|
||||||
|
|
||||||
|
<screen>[13:22] ModuleName Fish used EXCLUDE
|
||||||
|
[13:22] -ModuleName- *.blah.com delete from exclusion list</screen>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>BLAHBLAH Command</title>
|
||||||
|
|
||||||
|
<para>That command forces ModuleName to check the Dat File version at
|
||||||
|
<link linkend="???">http://secure.irc-chat.net/</link> and download the
|
||||||
|
latest version if required.</para>
|
||||||
|
|
||||||
|
<warning>
|
||||||
|
<para>Repeated use of this command in a short period of time will
|
||||||
|
result in your account at secure.irc-chat.net being suspended for
|
||||||
|
abuse. Use with CARE</para>
|
||||||
|
</warning>
|
||||||
|
|
||||||
|
<para>The format of the command is as follows:</para>
|
||||||
|
|
||||||
|
<screen>/msg ModuleName update</screen>
|
||||||
|
</sect2>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
|
<sect1>
|
||||||
|
<title>Optional Chapter</title>
|
||||||
|
|
||||||
|
<para>use this to write any optional information etc etc etc</para>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Optional Sub Heading</title>
|
||||||
|
|
||||||
|
<para>Subheading</para>
|
||||||
|
|
||||||
|
<sect3>
|
||||||
|
<title>Minor heading</title>
|
||||||
|
|
||||||
|
<para>minor heading</para>
|
||||||
|
</sect3>
|
||||||
|
</sect2>
|
||||||
|
</sect1>
|
||||||
|
</article>
|
28
RELNOTES
Executable file
28
RELNOTES
Executable file
|
@ -0,0 +1,28 @@
|
||||||
|
* FeedServ * Version 1.0
|
||||||
|
==============================================================================
|
||||||
|
Important information you should know: (READ THIS!)
|
||||||
|
==============================================================================
|
||||||
|
|
||||||
|
This is an alpha release. Not all features will work and there may be major
|
||||||
|
bugs in the software. This release is purely for us to get feedback on the new
|
||||||
|
version of NeoStats and should not be run on production networks. This release
|
||||||
|
is ideal for users with test networks or those that want an opportunity to
|
||||||
|
help us develop the new version with feedback and suggestions.
|
||||||
|
|
||||||
|
No support is provided for this release so if you have problems and are unable
|
||||||
|
to resolve them using the provided documentation, you should use the supported
|
||||||
|
stable 2.5 series instead until NeoStats 3.0 is further along.
|
||||||
|
|
||||||
|
Bugs, requests and suggestions should be reported using the bug tracking
|
||||||
|
system. You must provide all information required as listed in the README
|
||||||
|
section on support or your entry will be removed.
|
||||||
|
|
||||||
|
Settings and data files from 2.5.x will not work with 3.0.
|
||||||
|
|
||||||
|
Settings and data files for previous 3.0 alpha versions may not be compatible
|
||||||
|
with this version. You should delete all files with "gdbm" in the filename
|
||||||
|
from the directory ~/NeoStats 3.0/data before using this version.
|
||||||
|
|
||||||
|
Known issues that we are aware of and should not be reported:
|
||||||
|
|
||||||
|
* None at present
|
7275
aclocal.m4
vendored
Normal file
7275
aclocal.m4
vendored
Normal file
File diff suppressed because it is too large
Load diff
105
configure.in
Normal file
105
configure.in
Normal file
|
@ -0,0 +1,105 @@
|
||||||
|
dnl Process this file with autoconf to produce a configure script.
|
||||||
|
AC_INIT(feed.c)
|
||||||
|
AC_CONFIG_AUX_DIR(autotools)
|
||||||
|
AC_CONFIG_HEADER(modconfig.h)
|
||||||
|
AM_MAINTAINER_MODE
|
||||||
|
MODPACKAGE=FEEDServ
|
||||||
|
MODULE_MAJOR=1
|
||||||
|
MODULE_MINOR=0
|
||||||
|
MODULE_REV=0
|
||||||
|
VERSION=$MODULE_MAJOR.$MODULE_MINOR.$MODULE_REV
|
||||||
|
AC_DEFINE_UNQUOTED(MODULE_VERSION, "$VERSION")
|
||||||
|
AC_DEFINE_UNQUOTED(MODULE_MAJOR, "$MODULE_MAJOR")
|
||||||
|
AC_DEFINE_UNQUOTED(MODULE_MINOR, "$MODULE_MINOR")
|
||||||
|
AC_DEFINE_UNQUOTED(MODULE_REV, "$MODULE_REV")
|
||||||
|
DIRINST=~/NeoStats3.0/
|
||||||
|
AC_PREFIX_DEFAULT(~/NeoStats3.0/)
|
||||||
|
CFLAGS="$CFLAGS -O2 -Wall -fno-strict-aliasing -g"
|
||||||
|
LIBS="$LIBS -g"
|
||||||
|
AM_INIT_AUTOMAKE($MODPACKAGE, $VERSION)
|
||||||
|
|
||||||
|
AC_PROG_CC
|
||||||
|
AC_PROG_INSTALL
|
||||||
|
AC_DISABLE_STATIC
|
||||||
|
AC_PROG_LIBTOOL
|
||||||
|
wi_ARG_DISABLE_CCDV
|
||||||
|
wi_PROG_CCDV
|
||||||
|
|
||||||
|
AC_MSG_CHECKING(Location of NeoStats...)
|
||||||
|
AC_ARG_WITH(neostats,
|
||||||
|
[ --with-neostats=DIR Location of NeoStats installation],
|
||||||
|
[DIRINST=$withval])
|
||||||
|
AC_MSG_RESULT($DIRINST)
|
||||||
|
|
||||||
|
AC_CHECK_FILE($DIRINST/include/neostats.h,
|
||||||
|
[INCLUDEDIR="$DIRINST/include/"],
|
||||||
|
[AC_MSG_ERROR(Can't find existing NeoStats Installation please supply with --with-neostats option)])
|
||||||
|
|
||||||
|
CPPFLAGS="$CPPFLAGS -I$INCLUDEDIR"
|
||||||
|
|
||||||
|
AC_MSG_CHECKING(Version of NeoStats...)
|
||||||
|
AC_TRY_RUN(
|
||||||
|
[
|
||||||
|
#include <config.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
int main(void) {
|
||||||
|
if (MAJOR >= 3) {
|
||||||
|
if (MINOR >= 0) {
|
||||||
|
exit(0)
|
||||||
|
; }
|
||||||
|
}
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
], ns_version_ok='yes',
|
||||||
|
ns_version_ok='no',
|
||||||
|
ns_version_ok='no')
|
||||||
|
if test "$ns_version_ok" = "yes"; then
|
||||||
|
AC_MSG_RESULT(Compatible version);
|
||||||
|
prefix=$DIRINST
|
||||||
|
else
|
||||||
|
AC_MSG_ERROR(This module requires NeoStats 3.0.a2 or higher)
|
||||||
|
fi
|
||||||
|
|
||||||
|
dnl check if we are running with debug....
|
||||||
|
AC_MSG_CHECKING(Whether to enable debug...)
|
||||||
|
AC_ARG_ENABLE(debug,
|
||||||
|
[ --enable-debug - enable debug],
|
||||||
|
[ case "$enableval" in
|
||||||
|
yes)
|
||||||
|
CFLAGS="$CFLAGS -Wall -ggdb"
|
||||||
|
AC_DEFINE(DEBUG,1)
|
||||||
|
AC_MSG_RESULT(yes)
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
AC_MSG_RESULT(no)
|
||||||
|
;;
|
||||||
|
esac],
|
||||||
|
AC_MSG_RESULT(no)
|
||||||
|
)
|
||||||
|
|
||||||
|
AC_MSG_CHECKING(To Enable AutoTools Debug Mode?)
|
||||||
|
AC_ARG_ENABLE(autodebug, [ --enable-autodebug - Enable AutoTools Debug],
|
||||||
|
[ case "$enableval" in
|
||||||
|
yes)
|
||||||
|
AC_MSG_RESULT(yes)
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
AC_MSG_RESULT(no)
|
||||||
|
AX_MAINTAINER_MODE_AUTO_SILENT
|
||||||
|
;;
|
||||||
|
esac],
|
||||||
|
AC_MSG_RESULT(no)
|
||||||
|
AX_MAINTAINER_MODE_AUTO_SILENT
|
||||||
|
)
|
||||||
|
AC_SUBST(DIRINST)
|
||||||
|
AC_SUBST(CFLAGS)
|
||||||
|
AC_SUBST(PACKAGE)
|
||||||
|
AC_SUBST(VERSION)
|
||||||
|
AC_SUBST(CCDV)
|
||||||
|
AC_OUTPUT(Makefile)
|
||||||
|
echo "Configuration complete."
|
||||||
|
read -p "Press Enter key to read the release notes"
|
||||||
|
clear
|
||||||
|
more RELNOTES
|
||||||
|
echo "Run 'make' (or 'gmake' on some systems) to compile NeoStats."
|
||||||
|
echo "If you require support, see the README file."
|
209
feed.c
Normal file
209
feed.c
Normal file
|
@ -0,0 +1,209 @@
|
||||||
|
/* NeoStats - IRC Statistical Services
|
||||||
|
** Copyright (c) 1999-2006 Adam Rutter, Justin Hammond, Mark Hetherington
|
||||||
|
** http://www.neostats.net/
|
||||||
|
**
|
||||||
|
** This program is free software; you can redistribute it and/or modify
|
||||||
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
** the Free Software Foundation; either version 2 of the License, or
|
||||||
|
** (at your option) any later version.
|
||||||
|
**
|
||||||
|
** This program is distributed in the hope that it will be useful,
|
||||||
|
** but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
** GNU General Public License for more details.
|
||||||
|
**
|
||||||
|
** You should have received a copy of the GNU General Public License
|
||||||
|
** along with this program; if not, write to the Free Software
|
||||||
|
** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||||
|
** USA
|
||||||
|
**
|
||||||
|
** NeoStats CVS Identification
|
||||||
|
** $Id: feed.c 210 2006-01-26 15:35:09Z Fish $
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "neostats.h"
|
||||||
|
#include "feed.h"
|
||||||
|
|
||||||
|
static int feed_cmd_list( const CmdParams *cmdparams );
|
||||||
|
static int feed_cmd_add( const CmdParams *cmdparams );
|
||||||
|
static int feed_cmd_del( const CmdParams *cmdparams );
|
||||||
|
static int feed_set_exclusions_cb( const CmdParams *cmdparams, SET_REASON reason );
|
||||||
|
|
||||||
|
Bot *feed_bot;
|
||||||
|
|
||||||
|
/** Copyright info */
|
||||||
|
static const char *feed_copyright[] = {
|
||||||
|
"Copyright (c) 1999-2006, NeoStats",
|
||||||
|
"http://www.neostats.net/",
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
|
||||||
|
/** Module Info definition
|
||||||
|
* version information about our module
|
||||||
|
* This structure is required for your module to load and run on NeoStats
|
||||||
|
*/
|
||||||
|
ModuleInfo module_info = {
|
||||||
|
"FeedServ",
|
||||||
|
"a RSS Scrapping Bot",
|
||||||
|
feed_copyright,
|
||||||
|
feed_about,
|
||||||
|
NEOSTATS_VERSION,
|
||||||
|
MODULE_VERSION,
|
||||||
|
__DATE__,
|
||||||
|
__TIME__,
|
||||||
|
MODULE_FLAG_LOCAL_EXCLUDES,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
};
|
||||||
|
|
||||||
|
static bot_cmd feed_commands[]=
|
||||||
|
{
|
||||||
|
{"ADD", feed_cmd_add, 2, NS_ULEVEL_ADMIN, feed_help_add, 0, NULL, NULL},
|
||||||
|
{"DEL", feed_cmd_del, 1, NS_ULEVEL_ADMIN, feed_help_del, 0, NULL, NULL},
|
||||||
|
{"LIST", feed_cmd_list, 0, NS_ULEVEL_ADMIN, feed_help_list, 0, NULL, NULL},
|
||||||
|
NS_CMD_END()
|
||||||
|
};
|
||||||
|
|
||||||
|
static bot_setting feed_settings[]=
|
||||||
|
{
|
||||||
|
{"VERBOSE", &feed.verbose, SET_TYPE_BOOLEAN, 0, 0, NS_ULEVEL_ADMIN, NULL, feed_help_set_verbose, feed_set_cb, (void*)1 },
|
||||||
|
{"EXCLUSIONS", &feed.exclusions, SET_TYPE_BOOLEAN, 0, 0, NS_ULEVEL_ADMIN, NULL, feed_help_set_exclusions, feed_set_exclusions_cb, (void *)0 },
|
||||||
|
NS_SETTING_END()
|
||||||
|
};
|
||||||
|
|
||||||
|
/** BotInfo */
|
||||||
|
static BotInfo feed_botinfo =
|
||||||
|
{
|
||||||
|
"FeedServ",
|
||||||
|
"RSSServ",
|
||||||
|
"news",
|
||||||
|
BOT_COMMON_HOST,
|
||||||
|
"RSS Scrapping/news Bot",
|
||||||
|
BOT_FLAG_SERVICEBOT|BOT_FLAG_RESTRICT_OPERS|BOT_FLAG_DEAF,
|
||||||
|
feed_commands,
|
||||||
|
feed_settings,
|
||||||
|
};
|
||||||
|
|
||||||
|
ModuleEvent module_events[] =
|
||||||
|
{
|
||||||
|
NS_EVENT_END()
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/** @brief feed_cmd_list
|
||||||
|
*
|
||||||
|
* LIST command handler
|
||||||
|
*
|
||||||
|
* @param cmdparam struct
|
||||||
|
*
|
||||||
|
* @return NS_SUCCESS if suceeds else result of command
|
||||||
|
*/
|
||||||
|
|
||||||
|
int feed_cmd_list (const CmdParams *cmdparams)
|
||||||
|
{
|
||||||
|
|
||||||
|
SET_SEGV_LOCATION();
|
||||||
|
return NS_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @brief feed_cmd_add
|
||||||
|
*
|
||||||
|
* ADD command handler
|
||||||
|
*
|
||||||
|
* @param cmdparam struct
|
||||||
|
*
|
||||||
|
* @return NS_SUCCESS if suceeds else result of command
|
||||||
|
*/
|
||||||
|
|
||||||
|
int feed_cmd_add (const CmdParams *cmdparams)
|
||||||
|
{
|
||||||
|
|
||||||
|
SET_SEGV_LOCATION();
|
||||||
|
return NS_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @brief feed_cmd_del
|
||||||
|
*
|
||||||
|
* DEL command handler
|
||||||
|
*
|
||||||
|
* @param cmdparam struct
|
||||||
|
*
|
||||||
|
* @return NS_SUCCESS if suceeds else result of command
|
||||||
|
*/
|
||||||
|
|
||||||
|
int feed_cmd_del (const CmdParams *cmdparams)
|
||||||
|
{
|
||||||
|
SET_SEGV_LOCATION();
|
||||||
|
return NS_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @brief feed_set_exclusions_cb
|
||||||
|
*
|
||||||
|
* Set callback for exclusions
|
||||||
|
* Enable or disable exclude event flag
|
||||||
|
*
|
||||||
|
* @cmdparams pointer to commands param struct
|
||||||
|
* @cmdparams reason for SET
|
||||||
|
*
|
||||||
|
* @return NS_SUCCESS if suceeds else NS_FAILURE
|
||||||
|
*/
|
||||||
|
|
||||||
|
static int feed_set_exclusions_cb( const CmdParams *cmdparams, SET_REASON reason )
|
||||||
|
{
|
||||||
|
SET_SEGV_LOCATION();
|
||||||
|
|
||||||
|
if( reason == SET_LOAD || reason == SET_CHANGE )
|
||||||
|
{
|
||||||
|
SetAllEventFlags( EVENT_FLAG_USE_EXCLUDE, feed.exclusions );
|
||||||
|
}
|
||||||
|
return NS_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/** @brief ModInit
|
||||||
|
*
|
||||||
|
* Init handler
|
||||||
|
*
|
||||||
|
* @param none
|
||||||
|
*
|
||||||
|
* @return NS_SUCCESS if suceeds else NS_FAILURE
|
||||||
|
*/
|
||||||
|
|
||||||
|
int ModInit( void )
|
||||||
|
{
|
||||||
|
|
||||||
|
SET_SEGV_LOCATION();
|
||||||
|
|
||||||
|
return NS_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @brief ModSynch
|
||||||
|
*
|
||||||
|
* Startup handler
|
||||||
|
*
|
||||||
|
* @param none
|
||||||
|
*
|
||||||
|
* @return NS_SUCCESS if suceeds else NS_FAILURE
|
||||||
|
*/
|
||||||
|
|
||||||
|
int ModSynch (void)
|
||||||
|
{
|
||||||
|
SET_SEGV_LOCATION();
|
||||||
|
feed_bot = AddBot (&feed_botinfo);
|
||||||
|
return NS_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @brief ModFini
|
||||||
|
*
|
||||||
|
* Fini handler
|
||||||
|
*
|
||||||
|
* @param none
|
||||||
|
*
|
||||||
|
* @return NS_SUCCESS if suceeds else NS_FAILURE
|
||||||
|
*/
|
||||||
|
|
||||||
|
int ModFini( void )
|
||||||
|
{
|
||||||
|
return NS_SUCCESS;
|
||||||
|
}
|
39
feed.h
Normal file
39
feed.h
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
/* NeoStats - IRC Statistical Services
|
||||||
|
** Copyright (c) 1999-2006 Adam Rutter, Justin Hammond, Mark Hetherington
|
||||||
|
** http://www.neostats.net/
|
||||||
|
**
|
||||||
|
** This program is free software; you can redistribute it and/or modify
|
||||||
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
** the Free Software Foundation; either version 2 of the License, or
|
||||||
|
** (at your option) any later version.
|
||||||
|
**
|
||||||
|
** This program is distributed in the hope that it will be useful,
|
||||||
|
** but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
** GNU General Public License for more details.
|
||||||
|
**
|
||||||
|
** You should have received a copy of the GNU General Public License
|
||||||
|
** along with this program; if not, write to the Free Software
|
||||||
|
** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||||
|
** USA
|
||||||
|
**
|
||||||
|
** NetStats CVS Identification
|
||||||
|
** $Id: feed.h 210 2006-01-26 15:35:09Z Fish $
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef FEED_H
|
||||||
|
#define FEED_H
|
||||||
|
|
||||||
|
#include MODULECONFIG
|
||||||
|
|
||||||
|
extern Bot *feed_bot;
|
||||||
|
|
||||||
|
|
||||||
|
/* help text */
|
||||||
|
extern const char *feed_about[];
|
||||||
|
extern const char *feed_help_add[];
|
||||||
|
extern const char *feed_help_del[];
|
||||||
|
extern const char *feed_help_list[];
|
||||||
|
|
||||||
|
extern const char *feed_help_set_exclusions[];
|
||||||
|
#endif /* FEED_H */
|
74
feed_help.c
Normal file
74
feed_help.c
Normal file
|
@ -0,0 +1,74 @@
|
||||||
|
/* NeoStats - IRC Statistical Services
|
||||||
|
** Copyright (c) 1999-2006 Adam Rutter, Justin Hammond, Mark Hetherington
|
||||||
|
** http://www.neostats.net/
|
||||||
|
**
|
||||||
|
** This program is free software; you can redistribute it and/or modify
|
||||||
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
** the Free Software Foundation; either version 2 of the License, or
|
||||||
|
** (at your option) any later version.
|
||||||
|
**
|
||||||
|
** This program is distributed in the hope that it will be useful,
|
||||||
|
** but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
** GNU General Public License for more details.
|
||||||
|
**
|
||||||
|
** You should have received a copy of the GNU General Public License
|
||||||
|
** along with this program; if not, write to the Free Software
|
||||||
|
** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||||
|
** USA
|
||||||
|
**
|
||||||
|
** NeoStats CVS Identification
|
||||||
|
** $Id: opsb_help.c 210 2006-01-26 15:35:09Z Fish $
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "neostats.h"
|
||||||
|
|
||||||
|
const char *opsb_about[] = {
|
||||||
|
"\2Open Proxy Scanning Bot Information\2",
|
||||||
|
"",
|
||||||
|
"This service scans clients connecting to this network for",
|
||||||
|
"insecure proxies. Insecure proxies are often used to attack",
|
||||||
|
"networks or channels with clone bots. If you have a firewall,",
|
||||||
|
"or IDS software, please ignore any errors that this scan",
|
||||||
|
"may generate.",
|
||||||
|
"",
|
||||||
|
"If you have any further questions, please contact network",
|
||||||
|
"administration.",
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
|
||||||
|
const char *opsb_help_add[] = {
|
||||||
|
"Add a port to scanning",
|
||||||
|
"Syntax: \2ADD <type> <port>\2",
|
||||||
|
"",
|
||||||
|
"Add an entry to the port scan list.",
|
||||||
|
"<type> must be one of:",
|
||||||
|
" HTTP, HTTPPOST, SOCKS4, SOCKS5, WINGATE, ROUTER",
|
||||||
|
"<port> must be a valid port number.",
|
||||||
|
"The new port is scanned straight away",
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
|
||||||
|
const char *opsb_help_del[] = {
|
||||||
|
"Delete a port from scanning",
|
||||||
|
"Syntax: \2DEL <index>\2",
|
||||||
|
"",
|
||||||
|
"Delete entry <index> from the list of ports. ",
|
||||||
|
"Requires a restart of OPSB to become effective.",
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
|
||||||
|
const char *opsb_help_list[] = {
|
||||||
|
"List protocols and ports scanned",
|
||||||
|
"Syntax: \2LIST\2",
|
||||||
|
"",
|
||||||
|
"List the current ports and protocols scanned",
|
||||||
|
"and a ID number for use in removing entries.",
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
|
||||||
|
const char *opsb_help_set_exclusions[] = {
|
||||||
|
"\2EXCLUSIONS <ON|OFF>\2",
|
||||||
|
"Use global exclusion list in addition to local exclusion list",
|
||||||
|
NULL
|
||||||
|
};
|
27
html.css
Normal file
27
html.css
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
body {
|
||||||
|
background: #FFFFFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1, h2, h3, h4, h5 {
|
||||||
|
color: #800000;
|
||||||
|
font-family: sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
span.term {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.sidebar {
|
||||||
|
background: #F0F0F0;
|
||||||
|
border: 1px solid gray;
|
||||||
|
padding: 5px;
|
||||||
|
margin: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre.programlisting {
|
||||||
|
background: #F0F0F0;
|
||||||
|
border: 1px solid gray;
|
||||||
|
padding: 2px;
|
||||||
|
font-size: 10pt;
|
||||||
|
white-space: pre;
|
||||||
|
}
|
251
install-sh
Executable file
251
install-sh
Executable file
|
@ -0,0 +1,251 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# install - install a program, script, or datafile
|
||||||
|
# This comes from X11R5 (mit/util/scripts/install.sh).
|
||||||
|
#
|
||||||
|
# Copyright 1991 by the Massachusetts Institute of Technology
|
||||||
|
#
|
||||||
|
# Permission to use, copy, modify, distribute, and sell this software and its
|
||||||
|
# documentation for any purpose is hereby granted without fee, provided that
|
||||||
|
# the above copyright notice appear in all copies and that both that
|
||||||
|
# copyright notice and this permission notice appear in supporting
|
||||||
|
# documentation, and that the name of M.I.T. not be used in advertising or
|
||||||
|
# publicity pertaining to distribution of the software without specific,
|
||||||
|
# written prior permission. M.I.T. makes no representations about the
|
||||||
|
# suitability of this software for any purpose. It is provided "as is"
|
||||||
|
# without express or implied warranty.
|
||||||
|
#
|
||||||
|
# Calling this script install-sh is preferred over install.sh, to prevent
|
||||||
|
# `make' implicit rules from creating a file called install from it
|
||||||
|
# when there is no Makefile.
|
||||||
|
#
|
||||||
|
# This script is compatible with the BSD install script, but was written
|
||||||
|
# from scratch. It can only install one file at a time, a restriction
|
||||||
|
# shared with many OS's install programs.
|
||||||
|
|
||||||
|
|
||||||
|
# set DOITPROG to echo to test this script
|
||||||
|
|
||||||
|
# Don't use :- since 4.3BSD and earlier shells don't like it.
|
||||||
|
doit="${DOITPROG-}"
|
||||||
|
|
||||||
|
|
||||||
|
# put in absolute paths if you don't have them in your path; or use env. vars.
|
||||||
|
|
||||||
|
mvprog="${MVPROG-mv}"
|
||||||
|
cpprog="${CPPROG-cp}"
|
||||||
|
chmodprog="${CHMODPROG-chmod}"
|
||||||
|
chownprog="${CHOWNPROG-chown}"
|
||||||
|
chgrpprog="${CHGRPPROG-chgrp}"
|
||||||
|
stripprog="${STRIPPROG-strip}"
|
||||||
|
rmprog="${RMPROG-rm}"
|
||||||
|
mkdirprog="${MKDIRPROG-mkdir}"
|
||||||
|
|
||||||
|
transformbasename=""
|
||||||
|
transform_arg=""
|
||||||
|
instcmd="$mvprog"
|
||||||
|
chmodcmd="$chmodprog 0755"
|
||||||
|
chowncmd=""
|
||||||
|
chgrpcmd=""
|
||||||
|
stripcmd=""
|
||||||
|
rmcmd="$rmprog -f"
|
||||||
|
mvcmd="$mvprog"
|
||||||
|
src=""
|
||||||
|
dst=""
|
||||||
|
dir_arg=""
|
||||||
|
|
||||||
|
while [ x"$1" != x ]; do
|
||||||
|
case $1 in
|
||||||
|
-c) instcmd="$cpprog"
|
||||||
|
shift
|
||||||
|
continue;;
|
||||||
|
|
||||||
|
-d) dir_arg=true
|
||||||
|
shift
|
||||||
|
continue;;
|
||||||
|
|
||||||
|
-m) chmodcmd="$chmodprog $2"
|
||||||
|
shift
|
||||||
|
shift
|
||||||
|
continue;;
|
||||||
|
|
||||||
|
-o) chowncmd="$chownprog $2"
|
||||||
|
shift
|
||||||
|
shift
|
||||||
|
continue;;
|
||||||
|
|
||||||
|
-g) chgrpcmd="$chgrpprog $2"
|
||||||
|
shift
|
||||||
|
shift
|
||||||
|
continue;;
|
||||||
|
|
||||||
|
-s) stripcmd="$stripprog"
|
||||||
|
shift
|
||||||
|
continue;;
|
||||||
|
|
||||||
|
-t=*) transformarg=`echo $1 | sed 's/-t=//'`
|
||||||
|
shift
|
||||||
|
continue;;
|
||||||
|
|
||||||
|
-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
|
||||||
|
shift
|
||||||
|
continue;;
|
||||||
|
|
||||||
|
*) if [ x"$src" = x ]
|
||||||
|
then
|
||||||
|
src=$1
|
||||||
|
else
|
||||||
|
# this colon is to work around a 386BSD /bin/sh bug
|
||||||
|
:
|
||||||
|
dst=$1
|
||||||
|
fi
|
||||||
|
shift
|
||||||
|
continue;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ x"$src" = x ]
|
||||||
|
then
|
||||||
|
echo "install: no input file specified"
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
true
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ x"$dir_arg" != x ]; then
|
||||||
|
dst=$src
|
||||||
|
src=""
|
||||||
|
|
||||||
|
if [ -d $dst ]; then
|
||||||
|
instcmd=:
|
||||||
|
chmodcmd=""
|
||||||
|
else
|
||||||
|
instcmd=mkdir
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
|
||||||
|
# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
|
||||||
|
# might cause directories to be created, which would be especially bad
|
||||||
|
# if $src (and thus $dsttmp) contains '*'.
|
||||||
|
|
||||||
|
if [ -f $src -o -d $src ]
|
||||||
|
then
|
||||||
|
true
|
||||||
|
else
|
||||||
|
echo "install: $src does not exist"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ x"$dst" = x ]
|
||||||
|
then
|
||||||
|
echo "install: no destination specified"
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
true
|
||||||
|
fi
|
||||||
|
|
||||||
|
# If destination is a directory, append the input filename; if your system
|
||||||
|
# does not like double slashes in filenames, you may need to add some logic
|
||||||
|
|
||||||
|
if [ -d $dst ]
|
||||||
|
then
|
||||||
|
dst="$dst"/`basename $src`
|
||||||
|
else
|
||||||
|
true
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
## this sed command emulates the dirname command
|
||||||
|
dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
|
||||||
|
|
||||||
|
# Make sure that the destination directory exists.
|
||||||
|
# this part is taken from Noah Friedman's mkinstalldirs script
|
||||||
|
|
||||||
|
# Skip lots of stat calls in the usual case.
|
||||||
|
if [ ! -d "$dstdir" ]; then
|
||||||
|
defaultIFS='
|
||||||
|
'
|
||||||
|
IFS="${IFS-${defaultIFS}}"
|
||||||
|
|
||||||
|
oIFS="${IFS}"
|
||||||
|
# Some sh's can't handle IFS=/ for some reason.
|
||||||
|
IFS='%'
|
||||||
|
set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
|
||||||
|
IFS="${oIFS}"
|
||||||
|
|
||||||
|
pathcomp=''
|
||||||
|
|
||||||
|
while [ $# -ne 0 ] ; do
|
||||||
|
pathcomp="${pathcomp}${1}"
|
||||||
|
shift
|
||||||
|
|
||||||
|
if [ ! -d "${pathcomp}" ] ;
|
||||||
|
then
|
||||||
|
$mkdirprog "${pathcomp}"
|
||||||
|
else
|
||||||
|
true
|
||||||
|
fi
|
||||||
|
|
||||||
|
pathcomp="${pathcomp}/"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ x"$dir_arg" != x ]
|
||||||
|
then
|
||||||
|
$doit $instcmd $dst &&
|
||||||
|
|
||||||
|
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
|
||||||
|
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
|
||||||
|
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
|
||||||
|
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
|
||||||
|
else
|
||||||
|
|
||||||
|
# If we're going to rename the final executable, determine the name now.
|
||||||
|
|
||||||
|
if [ x"$transformarg" = x ]
|
||||||
|
then
|
||||||
|
dstfile=`basename $dst`
|
||||||
|
else
|
||||||
|
dstfile=`basename $dst $transformbasename |
|
||||||
|
sed $transformarg`$transformbasename
|
||||||
|
fi
|
||||||
|
|
||||||
|
# don't allow the sed command to completely eliminate the filename
|
||||||
|
|
||||||
|
if [ x"$dstfile" = x ]
|
||||||
|
then
|
||||||
|
dstfile=`basename $dst`
|
||||||
|
else
|
||||||
|
true
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Make a temp file name in the proper directory.
|
||||||
|
|
||||||
|
dsttmp=$dstdir/#inst.$$#
|
||||||
|
|
||||||
|
# Move or copy the file name to the temp name
|
||||||
|
|
||||||
|
$doit $instcmd $src $dsttmp &&
|
||||||
|
|
||||||
|
trap "rm -f ${dsttmp}" 0 &&
|
||||||
|
|
||||||
|
# and set any options; do chmod last to preserve setuid bits
|
||||||
|
|
||||||
|
# If any of these fail, we abort the whole thing. If we want to
|
||||||
|
# ignore errors from any of these, just make sure not to ignore
|
||||||
|
# errors from the above "$doit $instcmd $src $dsttmp" command.
|
||||||
|
|
||||||
|
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
|
||||||
|
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
|
||||||
|
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
|
||||||
|
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
|
||||||
|
|
||||||
|
# Now rename the file to the real destination.
|
||||||
|
|
||||||
|
$doit $rmcmd -f $dstdir/$dstfile &&
|
||||||
|
$doit $mvcmd $dsttmp $dstdir/$dstfile
|
||||||
|
|
||||||
|
fi &&
|
||||||
|
|
||||||
|
|
||||||
|
exit 0
|
16
modconfig.h.in
Normal file
16
modconfig.h.in
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
/* modconfig.h.in. Generated from configure.in by autoheader. */
|
||||||
|
|
||||||
|
/* Enable Debugging */
|
||||||
|
#undef DEBUG
|
||||||
|
|
||||||
|
/* Version number of package */
|
||||||
|
#undef MODULE_VERSION
|
||||||
|
|
||||||
|
/* Major Version */
|
||||||
|
#undef MODULE_MAJOR
|
||||||
|
|
||||||
|
/* Minor Version */
|
||||||
|
#undef MODULE_MINOR
|
||||||
|
|
||||||
|
/* Revision */
|
||||||
|
#undef MODULE_REV
|
20
modconfigwin32.h
Executable file
20
modconfigwin32.h
Executable file
|
@ -0,0 +1,20 @@
|
||||||
|
#ifndef _MODCONFIGWIN32_H_
|
||||||
|
#define _MODCONFIGWIN32_H_
|
||||||
|
|
||||||
|
/* modconfig.h. Generated by configure. */
|
||||||
|
/* define this to enable debug code for this module */
|
||||||
|
/* #undef DEBUG */
|
||||||
|
|
||||||
|
/* Version number of package */
|
||||||
|
#define MODULE_VERSION "3.0.a3-dev"
|
||||||
|
|
||||||
|
/* Major Version */
|
||||||
|
#define MODULE_MAJOR "3"
|
||||||
|
|
||||||
|
/* Minor Version */
|
||||||
|
#define MODULE_MINOR "0"
|
||||||
|
|
||||||
|
/* Revision */
|
||||||
|
#define MODULE_REV "a3-dev"
|
||||||
|
|
||||||
|
#endif /* _MODCONFIGWIN32_H_ */
|
Reference in a new issue