Moved old trunk/svn to ddclient and it will be the new trunk
git-svn-id: svn+ssh://svn.code.sf.net/p/ddclient/code/trunk@96 3873ddee-7413-0410-b6c4-c2c57c1ab35a
This commit is contained in:
parent
9346074251
commit
34828d3d47
56 changed files with 0 additions and 5671 deletions
|
@ -1,4 +0,0 @@
|
|||
.svn
|
||||
patches
|
||||
release
|
||||
.cvsignore
|
340
svn/COPYING
340
svn/COPYING
|
@ -1,340 +0,0 @@
|
|||
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.
|
|
@ -1,19 +0,0 @@
|
|||
ddclient - update client for www.dyndns.org accounts
|
||||
|
||||
Copyright (C) 1999 Paul Burry (paul@burry.ca)
|
||||
Copyright (C) 2000 Paul Burry (paul@burry.ca)
|
||||
Copyright (C) 2001 Paul Burry (paul@burry.ca)
|
||||
|
||||
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
|
304
svn/Changelog
304
svn/Changelog
|
@ -1,304 +0,0 @@
|
|||
Changelog
|
||||
3.7.3
|
||||
* Changelog moved to more correct ChangeLog
|
||||
generated by svn2cl --group-by-day -i
|
||||
See http://tinyurl.com/2fzhc6
|
||||
|
||||
3.7.2
|
||||
* Preventing unitialized values, check
|
||||
https://sourceforge.net/forum/message.php?msg_id=4167772
|
||||
* added a TODO list
|
||||
* Removed the two empty lines at the end of ddclient
|
||||
* Applied checked_ssl_load.diff from Ubuntu
|
||||
* Cosmetic change about checkip
|
||||
* Changed nic_namecheap_update following the suggestion of edmdude
|
||||
on the forum (https://sourceforge.net/forum/message.php?msg_id=4316938)
|
||||
* Applied easydns.patch
|
||||
* 3com-oc-remote812 patch by The_Beast via IRC.
|
||||
* Applied eurodns.patch
|
||||
|
||||
3.7.1
|
||||
* URL of zoneedit has changed (see bug #1558483)
|
||||
* Added initscript for Ubuntu (posted by Paolo Martinelli)
|
||||
* Added patch "Patch: Treat --daemon values as intervals"
|
||||
(submitted by James deBoer)
|
||||
* Don't send any mail when in not running daemon mode
|
||||
(patch submitted by Daniel Thaler)
|
||||
* Changed Changelog syntax
|
||||
* Applied patches submitted by Torsten:
|
||||
abuse_msg.diff: ddclient still reports the email to contact dyndns.org
|
||||
but they prefer a web form today (IIRC). This patch adjusts the abuse
|
||||
warning printed by ddclient.
|
||||
cachedir.diff: Original ddclient stores a cache file in /etc which
|
||||
would belong in /var/cache in my opinion and according to the FHS.
|
||||
help_nonroot.diff: Allow calling the help function as non-root.
|
||||
update-new-config.patch: Force update if config has changed
|
||||
smc-barricade-7401bra.patch: Support for SMC Barricade 7401BRA FW
|
||||
firewall
|
||||
cisco_fw.diff: Use configured hostname for firewall access
|
||||
with -use=cisco (closes: #345712). Thanks to Per Carlson for the
|
||||
patch! See http://bugs.debian.org/345712.
|
||||
maxinterval.diff: Increase max interval for updates.
|
||||
See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=129370
|
||||
http://www.dyndns.com/support/services/dyndns/faq.html#q15
|
||||
* Changed max-interval to 25days. See
|
||||
https://www.dyndns.com/services/dns/dyndns/faq.html
|
||||
|
||||
|
||||
3.7.0
|
||||
- Added vi tag
|
||||
- Added support for 2Wire 1701HG Gateway (see
|
||||
https://sourceforge.net/forum/message.php?msg_id=3496041 submitted by hemo)
|
||||
- added ssl-support by perlhaq
|
||||
- updated cvs version to 3.7.0-pre
|
||||
- added support for Linksys RV042, see feature requests #1501093, #1500877
|
||||
- added support for netgear-rp614, see feature request #1237039
|
||||
- added support for watchguard-edge-x, patch #1468981
|
||||
- added support for dlink-524, see patch #1314272
|
||||
- added support for rtp300
|
||||
- added support for netgear-wpn824
|
||||
- added support for linksys-wcg200, see patch #1280713
|
||||
- added support for netgear-dg834g, see patch #1176425
|
||||
- added support for netgear-wgt624, see patch #1165209
|
||||
- added support for sveasoft, see patch #1102432
|
||||
- added support for smc-barricade-7004vbr, see patch #1087989
|
||||
- added support for sitecom-dc202, see patch #1060119
|
||||
- fixed the error of stripping out '#' in the middle of password, bug #1465932
|
||||
- fixed a couple bugs in sample-etc_rc.d_init.d_ddclient and added some extra auto distro detection
|
||||
- added the validation of values when reading the configuration value.
|
||||
- this fixes a bug when trying to use periods/intervals in the daemon check times, bug #1209743
|
||||
- added timeout option to the IO::Socket call for timing out the initial connection, bug: #1085110
|
||||
|
||||
3.6.7
|
||||
- modified sample-etc_rc.d_init.d_ddclient.lsb (bug #1231930)
|
||||
- support for ConCont Protocol (patch #1265128) submitted by seather_misery
|
||||
- problem with sending mail should be solved
|
||||
- corrected a few writing mistakes
|
||||
- support for 'NetComm NB3' adsl modem (submitted by crazyprog)
|
||||
- Added Sitelutions DynDNS, fixed minor Namecheap bug (patch #1346867)
|
||||
|
||||
3.6.6
|
||||
- support for olitec-SX200
|
||||
- added sample-etc_rc.d_init.d_ddclient.lsb as a sample script for lsb-compliant systems.
|
||||
- support for linksys wrt854g (thanks to Nick Triantos)
|
||||
- support for linksys ver 3
|
||||
- support for Thomson (Alcatel) SpeedTouch 510 (thanks to Aldoir)
|
||||
- Cosmetic fixes submitted by John Owens
|
||||
|
||||
3.6.5
|
||||
- there was a bug in the linksys-ver2
|
||||
- support for postscript (thanks to Larry Hendrickson)
|
||||
- Changelog out of README
|
||||
- modified all documentation to use /etc/ddclient/ddclient.conf (notified by nicolasmartin in bug [1070646])
|
||||
|
||||
3.6.4
|
||||
- added support for NameCheap service (thanks to Dan Boardman)
|
||||
- added support for linksys ver2 (thanks to Dan Perik)
|
||||
|
||||
3.6.3
|
||||
- renamed sample-etc_dhclient-enter-hooks to sample-etc_dhclient-exit-hooks
|
||||
- add support for the Allnet 1298 Router
|
||||
- add -a to ifconfig to query all interfaces (for Solaris and OpenBSD)
|
||||
- update the process status to reflect what is happening.
|
||||
- add a To: line when sending e-mail
|
||||
- add mail-failure to send mail on failures only
|
||||
- try all addresses for multihomed hosts (like check.dyndns.org)
|
||||
- add support for dnspark
|
||||
- add sample for OrgDNS.org
|
||||
|
||||
3.6.2
|
||||
- add support for Xsense Aero
|
||||
- add support for Alcatel Speedtouch Pro
|
||||
- do authentication when either the login or password are defined.
|
||||
- fix parsing of web status pages
|
||||
|
||||
- 3.6
|
||||
- add support for EasyDNS (see easydns.com)
|
||||
- add warning for possible incorrect continuation lines in the .conf file.
|
||||
- add if-skip with the default as was used before.
|
||||
- add cmd-skip.
|
||||
|
||||
- 3.5.4
|
||||
- added !active result code for DynDNS.org
|
||||
|
||||
- 3.5.2
|
||||
- avoid undefined variable in get_ip
|
||||
|
||||
- 3.5.1
|
||||
- fix parsing of quoted strings in .conf file
|
||||
- add filename and line number to any warnings regarding files.
|
||||
|
||||
- 3.5
|
||||
- allow any url to be specified for -fw {address|url}
|
||||
use -fw-skip {pattern} to specify a string preceding the IP address at the URL's page
|
||||
- allow any url to be specified for -web {address|url}
|
||||
use -web-skip {pattern} to specify a string preceding the IP address at the URL's page
|
||||
- modify -test to display any IP addresses that could be obtained from
|
||||
any interfaces, builtin fw definitions, or web status pages.
|
||||
|
||||
- 3.4.6 (not released)
|
||||
- fix errors in -help
|
||||
- allow non-FQDNs as hosts; dslreports requires this.
|
||||
- handle german ifconfig output
|
||||
- try to get english messages from ifconfig so other languages are handled too.
|
||||
- added support for com 3c886a 56k Lan Modem
|
||||
|
||||
- 3.4.5
|
||||
- handle french ifconfig output
|
||||
|
||||
- 3.4.4
|
||||
- added support for obtaining the IP address from a Cisco DHCP interface.
|
||||
(Thanks, Tim)
|
||||
|
||||
- 3.4.2
|
||||
- update last modified time when nochg is returned from dyndns
|
||||
- add example regarding fw-login and fw-password's required by some
|
||||
home routers
|
||||
|
||||
- 3.4.1
|
||||
- add option (-pid) to record process id in a file. This option should be
|
||||
defined in the .conf file as it is done in the sample.
|
||||
- add detection of SIGHUP. When this signal is received, ddclient will
|
||||
wake up immediately, reload it's configuration file, and update
|
||||
the IP addresses if necessary.
|
||||
|
||||
- 3.4
|
||||
- ALL PEOPLE USING THIS CLIENT ARE URGED TO UPGRADE TO 3.4 or better.
|
||||
- fixed several timer related bugs.
|
||||
- reformatted some messages.
|
||||
|
||||
- 3.3.8
|
||||
- added support for the ISDN channels on ELSA LANCOM DSL/10 router
|
||||
|
||||
- 3.3.7
|
||||
- suppress repeated identical e-mail messages.
|
||||
|
||||
- 3.3.6
|
||||
- added support for the ELSA LANCOM DSL/10 router
|
||||
- ignore 0.0.0.0 when obtained from any FW/router.
|
||||
|
||||
- 3.3.5
|
||||
- fixed sample ddclient.conf. fw-ip= should be fw=
|
||||
- fixed problem getting status pages for some routers
|
||||
|
||||
- 3.3.4
|
||||
- added support for the MaxGate's UGATE-3x00 routers
|
||||
|
||||
- 3.3.3
|
||||
- sample* correct checks for private addresses
|
||||
- add redhat specific sample-etc_rc.d_init.d_ddclient.redhat
|
||||
- make daemon-mode be the default when named ddclientd
|
||||
- added support for the Linksys BEF* Internet Routers
|
||||
|
||||
- 3.3.2
|
||||
- (sample-etc_rc.d_init.d_ddclient) set COLUMNS to a large number so that
|
||||
'ps -aef' will not prematurely truncate the CMD.
|
||||
|
||||
- 3.3
|
||||
- added rpm (thanks to Bo Forslund)
|
||||
- added support for the Netgear RT3xx Internet Routers
|
||||
- modified sample-etc_rc.d_init.d_ddclient to work with other Unix beside RedHat.
|
||||
- avoid rewritting the ddclient.cache file unnecessarily
|
||||
- fixed other minor bugs
|
||||
|
||||
- 3.2.0
|
||||
- add support for DynDNS's custom domain service.
|
||||
- change suggested directory to /usr/sbin
|
||||
|
||||
- 3.1.0
|
||||
- clean up; fix minor bugs.
|
||||
- removed -refresh
|
||||
- add min-interval to avoid too frequent update attempts.
|
||||
- add min-error-interval to avoid too frequent update attempts when the
|
||||
service is unavailable.
|
||||
|
||||
- 3.0.1
|
||||
- make all values case sensitive (ie. passwords)
|
||||
|
||||
- 3.0
|
||||
- new release!
|
||||
- new ddclient.conf format
|
||||
- rewritten to support DynDNS's NIC2 and other dynamic DNS services
|
||||
- added Hammernode (hn.org)
|
||||
- added ZoneEdit (zoneedit.com)
|
||||
- added DSLreports (dslreports.com) host monitoring
|
||||
- added support for obtaining IP addresses from
|
||||
- interfaces,
|
||||
- commands,
|
||||
- web,
|
||||
- external commands,
|
||||
- Watchguard's SOHO router
|
||||
- Netopia's R910 router
|
||||
- and SMC's Barracade
|
||||
- added daemon mode
|
||||
- added logging msgs to syslog and e-mail
|
||||
|
||||
- 2.3.7
|
||||
- add -refresh to the sample scripts so default arguments are obtained from the cache
|
||||
- added local-ip script for obtaining the address of an interface
|
||||
- added public-ip script for obtaining the ip address as seen from a public web page
|
||||
|
||||
- 2.3.6
|
||||
- fixed bug the broke enabling retrying when members.dyndns.org was down.
|
||||
|
||||
- 2.3.5
|
||||
- prevent warnings from earlier versions of Perl.
|
||||
|
||||
- 2.3.4
|
||||
- added sample-etc_dhclient-enter-hooks for those using the ISC DHCP client (dhclient)
|
||||
|
||||
- 2.3.3
|
||||
- make sure that ddclient.conf is only readable by the owner so that no one
|
||||
- else can see the password (courtesy of Steve Greenland).
|
||||
-- NOTE: you will need to change the permissions on ddclient.conf to prevent
|
||||
-- others from obtaining viewing your password.
|
||||
-- ie. chmod go-rwx /etc/ddclient.conf
|
||||
|
||||
- 2.3.2
|
||||
- make sure 'quiet' messages are printed when -verbose or -debug is enabled
|
||||
- fix error messages for those people using proxies.
|
||||
|
||||
- 2.3
|
||||
- fixed a problem reading in cached entries
|
||||
|
||||
|
||||
- 2.2.1
|
||||
- sample-etc_ppp_ip-up.local - local ip address is $4 or $PPP_LOCAL (for debian)
|
||||
- use <CR><LF> as the line terminator (some proxies are strict about this)
|
||||
|
||||
- 2.2
|
||||
- added support (-static) for updating static DNS (thanks Marc Sira)
|
||||
- changed ddclient.cache format (old style is still read)
|
||||
- sample-etc_ppp_ip-up.local - detect improper calling sequences
|
||||
- sample-etc_ppp_ip-up.local - local ip address is $3 or $PPP_LOCAL (for debian)
|
||||
|
||||
- 2.1.2
|
||||
- updated README
|
||||
|
||||
- 2.1.1
|
||||
- make sure result code reflects any failures
|
||||
- optionally (-quiet) omit messages for unnecessary updates
|
||||
- update sample-etc_cron.d_ddclient to use -quiet
|
||||
|
||||
- 2.1
|
||||
- avoid unnecessary updates by recording the last hosts updated in a
|
||||
cache file (default /etc/ddclient.cache)
|
||||
|
||||
- optionally (-force) force an update, even if it may be unnecessary.
|
||||
|
||||
This can be used to prevent dyndns.org from deleting a host that has not
|
||||
required an update for a long period of time.
|
||||
|
||||
- optionally (-refresh), reissue all host updates.
|
||||
|
||||
This can be used together with cron to periodically update DynDNS.
|
||||
See sample-etc-cron.d-ddclient for details.
|
||||
|
||||
- optionally (-retry) save failed updates for future processing.
|
||||
|
||||
This feature can be used to reissue updates that may have failed due to
|
||||
network connectivity problems or a DynDNS server outage
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
$Id$
|
||||
------------------------------------------------------------------------
|
175
svn/README
175
svn/README
|
@ -1,175 +0,0 @@
|
|||
===============================================================================
|
||||
DDCLIENT v3.6.7
|
||||
|
||||
ddclient is a Perl client used to update dynamic DNS entries for accounts
|
||||
on many dynamic DNS services.
|
||||
|
||||
IMPORTANT: The format and options used by ddclient have CHANGED.
|
||||
Please examine the sample configuration file.
|
||||
It is highly recommended that you take advantage of the
|
||||
new daemon mode of operation.
|
||||
|
||||
IMPORTANT: The installation location for the ddclient script has changed from
|
||||
/root/bin/
|
||||
to
|
||||
/usr/sbin/
|
||||
|
||||
===============================================================================
|
||||
|
||||
Dynamic DNS services currently supported include:
|
||||
|
||||
DynDNS.com - See http://www.dyndns.com for details on obtaining a free account.
|
||||
Hammernode - See http://www.hn.org for details on obtaining a free account.
|
||||
Zoneedit - See http://www.zoneedit.com for details.
|
||||
EasyDNS - See http://www.easydns.com for details.
|
||||
NameCheap - See http://www.namecheap.com for details
|
||||
ConCont - See http://www.dydns.za.net for details
|
||||
DnsPark - See http://www.dnspark.com for details
|
||||
DslReports - See http://www.dslreports.com for details
|
||||
Sitelutions - see http://www.sitelutions.com for details
|
||||
|
||||
DDclient now supports many of cable/dsl broadband routers.
|
||||
|
||||
Comments, suggestions and requests: use the forums on
|
||||
http://sourceforge.net/projects/ddclient/
|
||||
|
||||
The code was originally written by Paul Burry and is now hosted and maintained
|
||||
through sourceforge.net. Please check out http://ddclient.sf.net
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
REQUIREMENTS:
|
||||
|
||||
- one or more accounts from one of the dynamic DNS services
|
||||
|
||||
- Perl 5.004 or later
|
||||
(you need the IO::Socket::SSL perl library for ssl-support)
|
||||
|
||||
- Linux or probably any common Unix system
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
INSTALLATION:
|
||||
|
||||
cp ddclient /usr/sbin/
|
||||
mkdir /etc/ddclient
|
||||
mkdir /var/cache/ddclient
|
||||
cp sample-etc_ddclient.conf /etc/ddclient/ddclient.conf
|
||||
vi /etc/ddclient/ddclient.conf
|
||||
-- and change hostnames, logins, and passwords appropriately
|
||||
|
||||
## For those using Redhat style rc files and using daemon-mode:
|
||||
cp sample-etc_rc.d_init.d_ddclient /etc/rc.d/init.d/ddclient
|
||||
## enable automatic startup when booting
|
||||
## check your distribution
|
||||
/sbin/chkconfig --add ddclient
|
||||
## start the first time by hand
|
||||
/etc/rc.d/init.d/ddclient start
|
||||
|
||||
## If you are not using daemon-mode, configure cron and dhcp or ppp
|
||||
## as described below.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
TROUBLESHOOTING:
|
||||
|
||||
1. enable debugging and verbose messages.
|
||||
$ ddclient -daemon=0 -debug -verbose -noquiet
|
||||
|
||||
2. Do you need to specify a proxy?
|
||||
If so, just add a
|
||||
proxy=your.isp.proxy
|
||||
to the ddclient.conf file.
|
||||
|
||||
3. Define the IP address of your router with fw=xxx.xxx.xxx.xxx in
|
||||
/etc/ddclient/ddclient.conf and then try
|
||||
$ ddclient -daemon=0 -query
|
||||
to see if the router status web page can be understood.
|
||||
|
||||
4. Need support for another router/firewall?
|
||||
Define the router status page yourself with:
|
||||
fw=url-to-your-router's-status-page
|
||||
fw-skip=any-string-preceding-your-IP-address
|
||||
|
||||
ddclient does something like this to provide builtin support for
|
||||
common routers.
|
||||
For example, the Linksys routers could have been added with:
|
||||
fw=192.168.1.1/Status.htm
|
||||
fw-skip=WAN.*?IP Address
|
||||
|
||||
OR
|
||||
Send me the output from:
|
||||
$ ddclient -geturl {fw-ip-status-url} [-login login [-password password]]
|
||||
and I'll add it to the next release!
|
||||
|
||||
ie. for my fw/router I used:
|
||||
$ ddclient -geturl 192.168.1.254/status.htm
|
||||
|
||||
5. Some broadband routers require the use of a password when ddclient
|
||||
accesses its status page to determine the router's WAN IP address.
|
||||
If this is the case for your router, add
|
||||
fw-login=your-router-login
|
||||
fw-password=your-router-password
|
||||
to the beginning of your ddclient.conf file.
|
||||
Note that some routers use either 'root' or 'admin' as their login
|
||||
while some others accept anything.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
USING DDCLIENT WITH ppp
|
||||
|
||||
If you are using a ppp connection, you can easily update your DynDNS
|
||||
entry with each connection, with:
|
||||
## configure pppd to update DynDNS with each connection
|
||||
cp sample-etc_ppp_ip-up.local /etc/ppp/ip-up.local
|
||||
|
||||
Alternatively, you may just configure ddclient to operate as a daemon
|
||||
and monitor your ppp interface.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
USING DDCLIENT WITH cron
|
||||
|
||||
If you have not configured ddclient to use daemon-mode, you'll need to
|
||||
configure cron to force an update once a month so that the dns entry will
|
||||
not become stale.
|
||||
|
||||
## configure cron to force an update twice a month
|
||||
cp sample-etc_cron.d_ddclient /etc/cron.d/ddclient
|
||||
vi /etc/cron.d/ddclient
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
USING DDCLIENT WITH dhcpcd-1.3.17
|
||||
|
||||
If you are using dhcpcd-1.3.17 or thereabouts, you can easily update
|
||||
your DynDNS entry automatically every time your lease is obtained
|
||||
or renewed by creating an executable file named:
|
||||
/etc/dhcpc/dhcpcd-{your-interface}.exe
|
||||
ie.:
|
||||
cp sample-etc_dhcpc_dhcpcd-eth0.exe /etc/dhcpc/dhcpcd-{your-interface}.exe
|
||||
|
||||
In my case, it is named dhcpcd-eth0.exe and contains the lines:
|
||||
#!/bin/sh
|
||||
PATH=/usr/sbin:/root/bin:${PATH}
|
||||
logger -t dhcpcd IP address changed to $1
|
||||
ddclient -proxy fasthttp.sympatico.ca -wildcard -ip $1 | logger -t ddclient
|
||||
exit 0
|
||||
|
||||
Other DHCP clients may have another method of calling out to programs
|
||||
for updating DNS entries.
|
||||
|
||||
Alternatively, you may just configure ddclient to operate as a daemon
|
||||
and monitor your ethernet interface.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
USING DDCLIENT WITH dhclient
|
||||
|
||||
If you are using the ISC DHCP client (dhclient), you can update
|
||||
your DynDNS entry automatically every time your lease is obtained
|
||||
or renewed by creating an executable file named:
|
||||
/etc/dhclient-exit-hooks
|
||||
ie.:
|
||||
cp sample-etc_dhclient-exit-hooks /etc/dhclient-exit-hooks
|
||||
|
||||
Edit /etc/dhclient-exit-hooks to change any options required.
|
||||
|
||||
Alternatively, you may just configure ddclient to operate as a daemon
|
||||
and monitor your ethernet interface.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
$Id$
|
|
@ -1,35 +0,0 @@
|
|||
$Id$
|
||||
Method 1 ------------------------------------------------------
|
||||
|
||||
The following config will allow the Linux machine (10.1.1.2) to read
|
||||
the IP address from the DHCP interface on the Cisco router (eth0) as
|
||||
user ddclient. Since ddclient is configured with a priv level of 1 it
|
||||
cannot do anything except look at the routers stats, ip addresses,
|
||||
etc. This should be pretty harmless even if ddclient's password were
|
||||
to be discovered.
|
||||
|
||||
This has been tested with Cisco IOS 12.1(5)T5 running on a Cisco 2621
|
||||
router.
|
||||
|
||||
Cisco Router Config (Assuming eth0 is DHCP interface)
|
||||
-----------------------------------------------------
|
||||
user ddclient password password
|
||||
user ddclient priv 1
|
||||
ip http auth local
|
||||
ip http access-class 99
|
||||
ip http port 1021
|
||||
ip http server
|
||||
access-list 99 permit host 10.1.1.2
|
||||
|
||||
DDClient Config
|
||||
---------------------------------------------------
|
||||
use=cisco, fw=10.1.1.1, if=eth0, fw-login=ddclient, fw-password=password
|
||||
|
||||
|
||||
Method 2 ------------------------------------------------------
|
||||
|
||||
use=fw
|
||||
fw=192.168.1.1/exec/show/interfaces/CR
|
||||
fw-skip=FastEthernet0/0
|
||||
fw-login=ddclient
|
||||
fw-password=xxxxxxxx
|
|
@ -1,10 +0,0 @@
|
|||
$Id$
|
||||
|
||||
Since 3.7.0, ddclient support ssl-updates
|
||||
To use ssl, put "ssl=yes" in your configuration and make sure
|
||||
you have IO::Socket::SSL.
|
||||
|
||||
On debian, you need libio-socket-ssl-perl to have IO::Socket::SSL
|
||||
|
||||
ssl support is tested on folowing dynamic dns providers:
|
||||
- dyndns.com
|
12
svn/TODO
12
svn/TODO
|
@ -1,12 +0,0 @@
|
|||
* ssl:
|
||||
- check if the library can be used
|
||||
- ssl on routers
|
||||
- ssl on other providers
|
||||
|
||||
* notice about irc: there's almost always someone there but we're sometimes idle
|
||||
or at work...
|
||||
* adding router: halted, only in patches section.
|
||||
* add doc postscript
|
||||
* FAQ: bad hostname (checkip)
|
||||
* note about init-scripts.
|
||||
* request from dyndns: http://tinyurl.com/2l3twf
|
3337
svn/ddclient
3337
svn/ddclient
File diff suppressed because it is too large
Load diff
|
@ -1,20 +0,0 @@
|
|||
#
|
||||
# patch created with `svn diff -r53 . > patches/3com-oc-remote812.patch`
|
||||
# on Wed Jun 6 15:07:45 CEST 2007
|
||||
# applied on r53
|
||||
#
|
||||
# This patch was send to me by The_Beast on IRC.
|
||||
#
|
||||
Index: ddclient
|
||||
===================================================================
|
||||
--- ddclient (revision 53)
|
||||
+++ ddclient (working copy)
|
||||
@@ -162,7 +162,7 @@
|
||||
'3com-oc-remote812' => {
|
||||
'name' => '3com OfficeConnect Remote 812',
|
||||
'url' => '/callEvent',
|
||||
- 'skip' => '.*IP address in use',
|
||||
+ 'skip' => '.*LOCAL',
|
||||
},
|
||||
'e-tech' => {
|
||||
'name' => 'E-tech Router',
|
|
@ -1,16 +0,0 @@
|
|||
#!/bin/bash
|
||||
# whichlist
|
||||
# * add getopt
|
||||
# * automatic version
|
||||
|
||||
{
|
||||
cat <<EOF
|
||||
#
|
||||
# patch created with \`svn diff -r$1 . > patches/$2\`
|
||||
# on $(date)
|
||||
# applied on r$1
|
||||
#
|
||||
EOF
|
||||
svn diff -r$1 ddclient
|
||||
} > patches/$2.new
|
||||
|
|
@ -1,183 +0,0 @@
|
|||
--- ddclient 2007-08-28 15:41:51.000000000 -0700
|
||||
+++ ddclient.noip 2007-08-28 15:37:32.000000000 -0700
|
||||
@@ -376,6 +376,25 @@
|
||||
'mx' => setv(T_OFQDN, 0, 1, 1, '', undef),
|
||||
'mxpri' => setv(T_NUMBER, 0, 0, 1, 5, undef),
|
||||
},
|
||||
+ 'noip-common-defaults' => {
|
||||
+ 'static' => setv(T_BOOL, 0, 1, 1, 0, undef),
|
||||
+ },
|
||||
+ 'noip-service-common-defaults' => {
|
||||
+ 'server' => setv(T_FQDNP, 1, 0, 1, 'dynupdate.no-ip.com', undef),
|
||||
+ 'login' => setv(T_LOGIN, 1, 0, 1, '', undef),
|
||||
+ 'password' => setv(T_PASSWD, 1, 0, 1, '', undef),
|
||||
+ 'host' => setv(T_STRING, 1, 1, 1, '', undef),
|
||||
+ 'ip' => setv(T_IP, 0, 1, 0, undef, undef),
|
||||
+ 'wtime' => setv(T_DELAY, 0, 1, 1, 0, interval('30s')),
|
||||
+ 'mtime' => setv(T_NUMBER, 0, 1, 0, 0, undef),
|
||||
+ 'atime' => setv(T_NUMBER, 0, 1, 0, 0, undef),
|
||||
+ 'status' => setv(T_ANY, 0, 1, 0, '', undef),
|
||||
+ 'min-interval' => setv(T_DELAY, 0, 0, 1, interval('30s'), 0),
|
||||
+ 'max-interval' => setv(T_DELAY, 0, 0, 1, interval('25d'), 0),
|
||||
+ 'min-error-interval' => setv(T_DELAY, 0, 0, 1, interval('5m'), 0),
|
||||
+ 'warned-min-interval' => setv(T_ANY, 0, 1, 0, 0, undef),
|
||||
+ 'warned-min-error-interval' => setv(T_ANY, 0, 1, 0, 0, undef),
|
||||
+ },
|
||||
);
|
||||
my %services = (
|
||||
'dyndns1' => {
|
||||
@@ -398,6 +417,16 @@
|
||||
$variables{'service-common-defaults'},
|
||||
),
|
||||
},
|
||||
+ 'noip' => {
|
||||
+ 'updateable' => undef,
|
||||
+ 'update' => \&nic_noip_update,
|
||||
+ 'examples' => \&nic_noip_examples,
|
||||
+ 'variables' => merge(
|
||||
+ { 'custom' => setv(T_BOOL, 0, 1, 1, 0, undef), },
|
||||
+ $variables{'noip-common-defaults'},
|
||||
+ $variables{'noip-service-common-defaults'},
|
||||
+ ),
|
||||
+ },
|
||||
'concont' => {
|
||||
'updateable' => undef,
|
||||
'update' => \&nic_concont_update,
|
||||
@@ -2359,6 +2388,137 @@
|
||||
if $state ne 'results2';
|
||||
}
|
||||
}
|
||||
+
|
||||
+
|
||||
+######################################################################
|
||||
+## nic_noip_update
|
||||
+## Note: uses same features as nic_dyndns2_update, less return codes
|
||||
+######################################################################
|
||||
+sub nic_noip_update {
|
||||
+ debug("\nnic_noip_update -------------------");
|
||||
+
|
||||
+ ## group hosts with identical attributes together
|
||||
+ my %groups = group_hosts_by([ @_ ], [ qw(login password server static custom wildcard mx backupmx) ]);
|
||||
+
|
||||
+ my %errors = (
|
||||
+ 'badauth' => 'Invalid username or password',
|
||||
+ 'badagent' => 'Invalid user agent',
|
||||
+ 'nohost' => 'The hostname specified does not exist in the database',
|
||||
+ '!donator' => 'The offline setting was set, when the user is not a donator',
|
||||
+ 'abuse', => 'The hostname specified is blocked for abuse; open a trouble ticket at http://www.no-ip.com',
|
||||
+ 'numhost' => 'System error: Too many or too few hosts found. open a trouble ticket at http://www.no-ip.com',
|
||||
+ 'dnserr' => 'System error: DNS error encountered. Contact support@dyndns.org',
|
||||
+ 'nochg' => 'No update required; unnecessary attempts to change to the current address are considered abusive',
|
||||
+ );
|
||||
+
|
||||
+ ## update each set of hosts that had similar configurations
|
||||
+ foreach my $sig (keys %groups) {
|
||||
+ my @hosts = @{$groups{$sig}};
|
||||
+ my $hosts = join(',', @hosts);
|
||||
+ my $h = $hosts[0];
|
||||
+
|
||||
+ info("setting IP address to %s for %s", $ip, $hosts);
|
||||
+ verbose("UPDATE:","updating %s", $hosts);
|
||||
+
|
||||
+ my $url = "http://$config{$h}{'server'}/nic/update?system=";
|
||||
+ $url .= 'noip';
|
||||
+ $url .= "&hostname=$hosts";
|
||||
+ $url .= "&myip=";
|
||||
+ $url .= $ip if $ip;
|
||||
+
|
||||
+
|
||||
+ print "here..." . $config{$h}{'login'} . " --> " . $config{$h}{'password'} . "\n";
|
||||
+
|
||||
+
|
||||
+ my $reply = geturl(opt('proxy'), $url, $config{$h}{'login'}, $config{$h}{'password'});
|
||||
+ if (!defined($reply) || !$reply) {
|
||||
+ failed("updating %s: Could not connect to %s.", $hosts, $config{$h}{'server'});
|
||||
+ last;
|
||||
+ }
|
||||
+ last if !header_ok($hosts, $reply);
|
||||
+
|
||||
+ my @reply = split /\n/, $reply;
|
||||
+ my $state = 'header';
|
||||
+ foreach my $line (@reply) {
|
||||
+ if ($state eq 'header') {
|
||||
+ $state = 'body';
|
||||
+
|
||||
+ } elsif ($state eq 'body') {
|
||||
+ $state = 'results' if $line eq '';
|
||||
+
|
||||
+ } elsif ($state =~ /^results/) {
|
||||
+ $state = 'results2';
|
||||
+
|
||||
+ my ($status, $ip) = split / /, lc $line;
|
||||
+ my $h = shift @hosts;
|
||||
+
|
||||
+ $config{$h}{'status'} = $status;
|
||||
+ if ($status eq 'good') {
|
||||
+ $config{$h}{'ip'} = $ip;
|
||||
+ $config{$h}{'mtime'} = $now;
|
||||
+ success("updating %s: %s: IP address set to %s", $h, $status, $ip);
|
||||
+
|
||||
+ } elsif (exists $errors{$status}) {
|
||||
+ if ($status eq 'nochg') {
|
||||
+ warning("updating %s: %s: %s", $h, $status, $errors{$status});
|
||||
+ $config{$h}{'ip'} = $ip;
|
||||
+ $config{$h}{'mtime'} = $now;
|
||||
+ $config{$h}{'status'} = 'good';
|
||||
+
|
||||
+ } else {
|
||||
+ failed("updating %s: %s: %s", $h, $status, $errors{$status});
|
||||
+ }
|
||||
+
|
||||
+ } elsif ($status =~ /w(\d+)(.)/) {
|
||||
+ my ($wait, $units) = ($1, lc $2);
|
||||
+ my ($sec, $scale) = ($wait, 1);
|
||||
+
|
||||
+ ($scale, $units) = (1, 'seconds') if $units eq 's';
|
||||
+ ($scale, $units) = (60, 'minutes') if $units eq 'm';
|
||||
+ ($scale, $units) = (60*60, 'hours') if $units eq 'h';
|
||||
+
|
||||
+ $sec = $wait * $scale;
|
||||
+ $config{$h}{'wtime'} = $now + $sec;
|
||||
+ warning("updating %s: %s: wait $wait $units before further updates", $h, $status, $ip);
|
||||
+
|
||||
+ } else {
|
||||
+ failed("updating %s: %s: unexpected status (%s)", $h, $line);
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ failed("updating %s: Could not connect to %s.", $hosts, $config{$h}{'server'})
|
||||
+ if $state ne 'results2';
|
||||
+ }
|
||||
+}
|
||||
+######################################################################
|
||||
+## nic_noip_examples
|
||||
+######################################################################
|
||||
+sub nic_noip_examples {
|
||||
+ return <<EoEXAMPLE;
|
||||
+o 'noip'
|
||||
+
|
||||
+The 'No-IP Compatible' protocol is used to make dynamic dns updates
|
||||
+over an http request. Details of the protocol are outlined at:
|
||||
+http://www.no-ip.com/integrate/
|
||||
+
|
||||
+Configuration variables applicable to the 'noip' protocol are:
|
||||
+ protocol=noip ##
|
||||
+ server=fqdn.of.service ## defaults to dynupdate.no-ip.com
|
||||
+ login=service-login ## login name and password registered with the service
|
||||
+ password=service-password ##
|
||||
+ fully.qualified.host ## the host registered with the service.
|
||||
+
|
||||
+Example ${program}.conf file entries:
|
||||
+ ## single host update
|
||||
+ protocol=noip, \\
|
||||
+ login=userlogin\@domain.com, \\
|
||||
+ password=noip-password \\
|
||||
+ myhost.no-ip.biz
|
||||
+
|
||||
+
|
||||
+EoEXAMPLE
|
||||
+}
|
||||
+
|
||||
######################################################################
|
||||
## nic_concont_examples
|
||||
######################################################################
|
|
@ -1,33 +0,0 @@
|
|||
#
|
||||
# patch added to revision 28
|
||||
#
|
||||
Index: ddclient
|
||||
===================================================================
|
||||
--- ddclient (revision 27)
|
||||
+++ ddclient (working copy)
|
||||
@@ -593,7 +593,7 @@
|
||||
usage("invalid argument '-use %s'; possible values are:\n%s", $opt{'use'}, join("\n",ip_strategies_usage()))
|
||||
unless exists $ip_strategies{lc opt('use')};
|
||||
|
||||
- $daemon = define($opt{'daemon'}, $globals{'daemon'});
|
||||
+ $daemon = $opt{'daemon'};
|
||||
$daemon = 0 if opt('force');
|
||||
|
||||
## obtain the IP address to use.
|
||||
@@ -979,9 +979,13 @@
|
||||
$opt{'min-error-interval'} = max(interval(opt('min-error-interval')), interval(default('min-error-interval')));
|
||||
|
||||
$opt{'timeout'} = 0 if opt('timeout') < 0;
|
||||
- $opt{'daemon'} = minimum('daemon')
|
||||
- if define($opt{'daemon'},$globals{'daemon'},0)
|
||||
- && define($opt{'daemon'},$globals{'daemon'}) < minimum('daemon');
|
||||
+
|
||||
+ ## only set $opt{'daemon'} if it has been explicitly passed in
|
||||
+ if (define($opt{'daemon'},$globals{'daemon'},0)) {
|
||||
+ $opt{'daemon'} = interval(opt('daemon'));
|
||||
+ $opt{'daemon'} = minimum('daemon')
|
||||
+ if ($opt{'daemon'} < minimum('daemon'));
|
||||
+ }
|
||||
|
||||
## define or modify host options specified on the command-line
|
||||
if (exists $opt{'options'} && defined $opt{'options'}) {
|
|
@ -1,14 +0,0 @@
|
|||
Index: ddclient-3.7.0/ddclient
|
||||
===================================================================
|
||||
--- ddclient-3.7.0.orig/ddclient 2006-12-01 23:22:37.043910433 +0100
|
||||
+++ ddclient-3.7.0/ddclient 2006-12-01 23:24:59.469182565 +0100
|
||||
@@ -2231,7 +2231,7 @@
|
||||
'!yours' => 'The hostname specified exists, but not under the username currently being used',
|
||||
'!donator' => 'The offline setting was set, when the user is not a donator',
|
||||
'!active' => 'The hostname specified is in a Custom DNS domain which has not yet been activated.',
|
||||
- 'abuse', => 'The hostname specified is blocked for abuse; contact support@dyndns.org to be unblocked',
|
||||
+ 'abuse', => 'The hostname specified is blocked for abuse; fill in the form at http://support.dyndns.org/abuse.php to be unblocked',
|
||||
|
||||
'numhost' => 'System error: Too many or too few hosts found. Contact support@dyndns.org',
|
||||
'dnserr' => 'System error: DNS error encountered. Contact support@dyndns.org',
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
Index: ddclient-3.7.0/ddclient
|
||||
===================================================================
|
||||
--- ddclient-3.7.0.orig/ddclient 2006-06-14 22:03:52.000000000 +0200
|
||||
+++ ddclient-3.7.0/ddclient 2006-12-01 23:25:19.748088891 +0100
|
||||
@@ -22,6 +22,7 @@
|
||||
my $now = time;
|
||||
my $hostname = hostname();
|
||||
my $etc = ($program =~ /test/i) ? './' : '/etc/ddclient/';
|
||||
+my $cachedir = ($program =~ /test/i) ? './' : '/var/cache/ddclient/';
|
||||
my $savedir = ($program =~ /test/i) ? 'URL/' : '/tmp/';
|
||||
my $msgs = '';
|
||||
my $last_msgs = '';
|
||||
@@ -296,7 +297,7 @@
|
||||
'global-defaults' => {
|
||||
'daemon' => setv(T_DELAY, 0, 0, 1, 0, interval('60s')),
|
||||
'file' => setv(T_FILE, 0, 0, 1, "$etc$program.conf", undef),
|
||||
- 'cache' => setv(T_FILE, 0, 0, 1, "$etc$program.cache", undef),
|
||||
+ 'cache' => setv(T_FILE, 0, 0, 1, "$cachedir$program.cache", undef),
|
||||
'pid' => setv(T_FILE, 0, 0, 1, "", undef),
|
||||
'proxy' => setv(T_FQDNP, 0, 0, 1, '', undef),
|
||||
'protocol' => setv(T_PROTO, 0, 0, 1, 'dyndns2', undef),
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
Index: ddclient-3.7.0/ddclient
|
||||
===================================================================
|
||||
--- ddclient-3.7.0.orig/ddclient 2006-12-01 23:22:37.121898536 +0100
|
||||
+++ ddclient-3.7.0/ddclient 2006-12-01 23:24:41.551915957 +0100
|
||||
@@ -1823,7 +1823,7 @@
|
||||
# Protect special HTML characters (like '?')
|
||||
$queryif =~ s/([\?&= ])/sprintf("%%%02x",ord($1))/ge;
|
||||
|
||||
- $url = "http://${arg}/level/1/exec/show/ip/interface/brief/${queryif}/CR";
|
||||
+ $url = "http://".opt('fw')."/level/1/exec/show/ip/interface/brief/${queryif}/CR";
|
||||
$reply = geturl('', $url, opt('fw-login'), opt('fw-password')) || '';
|
||||
$arg = $url;
|
||||
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
Index: ddclient-3.7.0/ddclient
|
||||
===================================================================
|
||||
--- ddclient-3.7.0.orig/ddclient 2006-12-01 23:22:37.151893960 +0100
|
||||
+++ ddclient-3.7.0/ddclient 2006-12-01 23:22:37.171890909 +0100
|
||||
@@ -21,7 +21,7 @@
|
||||
$program =~ s/d$//;
|
||||
my $now = time;
|
||||
my $hostname = hostname();
|
||||
-my $etc = ($program =~ /test/i) ? './' : '/etc/ddclient/';
|
||||
+my $etc = ($program =~ /test/i) ? './' : '/etc/';
|
||||
my $cachedir = ($program =~ /test/i) ? './' : '/var/cache/ddclient/';
|
||||
my $savedir = ($program =~ /test/i) ? 'URL/' : '/tmp/';
|
||||
my $msgs = '';
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
Index: ddclient-3.7.0/ddclient
|
||||
===================================================================
|
||||
--- ddclient-3.7.0.orig/ddclient 2006-12-01 23:22:37.023913484 +0100
|
||||
+++ ddclient-3.7.0/ddclient 2006-12-01 23:25:03.977494794 +0100
|
||||
@@ -993,8 +993,8 @@
|
||||
|
||||
$opt{'timeout'} = 0 if opt('timeout') < 0;
|
||||
$opt{'daemon'} = minimum('daemon')
|
||||
- if define($opt{'daemon'},$globals{'daemon'},0)
|
||||
- && define($opt{'daemon'},$globals{'daemon'}) < minimum('daemon');
|
||||
+ if interval(define($opt{'daemon'},$globals{'daemon'},0))
|
||||
+ && interval(define($opt{'daemon'},$globals{'daemon'})) < minimum('daemon');
|
||||
|
||||
## define or modify host options specified on the command-line
|
||||
if (exists $opt{'options'} && defined $opt{'options'}) {
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
Index: ddclient-3.7.0/ddclient
|
||||
===================================================================
|
||||
--- ddclient-3.7.0.orig/ddclient 2006-12-01 23:22:36.919929347 +0100
|
||||
+++ ddclient-3.7.0/ddclient 2006-12-01 23:25:15.960666685 +0100
|
||||
@@ -966,6 +966,8 @@
|
||||
sub init_config {
|
||||
%opt = %saved_opt;
|
||||
|
||||
+ $opt{'daemon'}=interval($opt{'daemon'}) if defined $opt{'daemon'};
|
||||
+
|
||||
##
|
||||
$opt{'quiet'} = 0 if opt('verbose');
|
||||
|
||||
|
|
@ -1,46 +0,0 @@
|
|||
Index: ddclient-3.7.0/ddclient
|
||||
===================================================================
|
||||
--- ddclient-3.7.0.orig/ddclient 2006-12-01 23:22:37.083904332 +0100
|
||||
+++ ddclient-3.7.0/ddclient 2006-12-01 23:24:46.118219338 +0100
|
||||
@@ -553,6 +553,12 @@
|
||||
|
||||
test_geturl(opt('geturl')) if opt('geturl');
|
||||
|
||||
+## process help option
|
||||
+if (opt('help')) {
|
||||
+ *STDERR = *STDOUT;
|
||||
+ usage(0);
|
||||
+}
|
||||
+
|
||||
## read config file because 'daemon' mode may be defined there.
|
||||
read_config(define($opt{'file'}, default('file')), \%config, \%globals);
|
||||
init_config();
|
||||
@@ -1109,16 +1115,14 @@
|
||||
$config{$h}{'cacheable'} = [ @{$services{$proto}{'cacheable'}} ];
|
||||
}
|
||||
}
|
||||
- if (opt('help')) {
|
||||
- *STDERR = *STDOUT;
|
||||
- usage();
|
||||
- }
|
||||
}
|
||||
|
||||
######################################################################
|
||||
## usage
|
||||
######################################################################
|
||||
sub usage {
|
||||
+ my $exitcode = 1;
|
||||
+ $exitcode = shift if @_ != 0; # use first arg if given
|
||||
my $msg = '';
|
||||
if (@_) {
|
||||
my $format = shift;
|
||||
@@ -1128,7 +1132,7 @@
|
||||
}
|
||||
printf STDERR "%s%s\n", $msg, $opt_usage;
|
||||
sendmail();
|
||||
- exit 1;
|
||||
+ exit $exitcode;
|
||||
}
|
||||
|
||||
######################################################################
|
||||
|
|
@ -1,46 +0,0 @@
|
|||
Index: ddclient-3.7.0/ddclient
|
||||
===================================================================
|
||||
--- ddclient-3.7.0.orig/ddclient 2006-12-01 23:22:37.083904332 +0100
|
||||
+++ ddclient-3.7.0/ddclient 2006-12-01 23:24:46.118219338 +0100
|
||||
@@ -553,6 +553,12 @@
|
||||
|
||||
test_geturl(opt('geturl')) if opt('geturl');
|
||||
|
||||
+## process help option
|
||||
+if (opt('help')) {
|
||||
+ *STDERR = *STDOUT;
|
||||
+ usage(0);
|
||||
+}
|
||||
+
|
||||
## read config file because 'daemon' mode may be defined there.
|
||||
read_config(define($opt{'file'}, default('file')), \%config, \%globals);
|
||||
init_config();
|
||||
@@ -1109,16 +1115,14 @@
|
||||
$config{$h}{'cacheable'} = [ @{$services{$proto}{'cacheable'}} ];
|
||||
}
|
||||
}
|
||||
- if (opt('help')) {
|
||||
- *STDERR = *STDOUT;
|
||||
- usage();
|
||||
- }
|
||||
}
|
||||
|
||||
######################################################################
|
||||
## usage
|
||||
######################################################################
|
||||
sub usage {
|
||||
+ my $exitcode = 1;
|
||||
+ $exitcode = shift if @_ != 0; # use first arg if given
|
||||
my $msg = '';
|
||||
if (@_) {
|
||||
my $format = shift;
|
||||
@@ -1128,7 +1132,7 @@
|
||||
}
|
||||
printf STDERR "%s%s\n", $msg, $opt_usage;
|
||||
sendmail();
|
||||
- exit 1;
|
||||
+ exit $exitcode;
|
||||
}
|
||||
|
||||
######################################################################
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
Index: ddclient-3.7.0/sample-etc_ppp_ip-up.local
|
||||
===================================================================
|
||||
--- ddclient-3.7.0.orig/sample-etc_ppp_ip-up.local 2006-06-14 21:59:40.000000000 +0200
|
||||
+++ ddclient-3.7.0/sample-etc_ppp_ip-up.local 2006-12-01 23:22:37.101901586 +0100
|
||||
@@ -34,7 +34,7 @@
|
||||
;;
|
||||
*) (
|
||||
sleep 5
|
||||
- ddclient -daemon=0 -syslog -use=if -if=$1 >/dev/null 2>&1
|
||||
+ ddclient -daemon=0 -syslog -use=if -if=$IP >/dev/null 2>&1
|
||||
) &
|
||||
;;
|
||||
esac
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
Index: ddclient-3.7.0/ddclient
|
||||
===================================================================
|
||||
--- ddclient-3.7.0.orig/ddclient 2006-12-01 23:22:37.062907535 +0100
|
||||
+++ ddclient-3.7.0/ddclient 2006-12-01 23:24:53.543086628 +0100
|
||||
@@ -357,7 +357,7 @@
|
||||
'atime' => setv(T_NUMBER, 0, 1, 0, 0, undef),
|
||||
'status' => setv(T_ANY, 0, 1, 0, '', undef),
|
||||
'min-interval' => setv(T_DELAY, 0, 0, 1, interval('30s'), 0),
|
||||
- 'max-interval' => setv(T_DELAY, 0, 0, 1, interval('15d'), 0),
|
||||
+ 'max-interval' => setv(T_DELAY, 0, 0, 1, interval('30d'), 0),
|
||||
'min-error-interval' => setv(T_DELAY, 0, 0, 1, interval('5m'), 0),
|
||||
|
||||
'warned-min-interval' => setv(T_ANY, 0, 1, 0, 0, undef),
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
(submitted by Torsten)
|
||||
|
||||
cisco_fw.diff
|
||||
config_path.diff
|
||||
daemon_check.diff
|
||||
daemon_interval.diff
|
||||
maxinterval.diff
|
||||
sample_path.diff
|
||||
smc-barricade-7401bra.patch
|
||||
smc-barricade-fw-alt.diff
|
||||
update-new-config.patch
|
||||
|
||||
cisco_fw.diff: Not sure what this change was about, have to check my
|
||||
change log.
|
||||
daemon_check.diff: Changes interpretation of the daemon parameter
|
||||
to interval (to allow 5m for minutes etc.) when checking for min
|
||||
value.
|
||||
daemon_interval.diff: Changes interpretation of daemon interval during
|
||||
input (now that I look at this, those two could probably be merged).
|
||||
maxinterval.diff: Increase max interval for updates.
|
||||
sample_path.diff: Adjust path in stamples.
|
||||
update-new-config.patch: Force update if config has changed (still
|
||||
needed?)
|
||||
smc-*: Support for two more routers.
|
|
@ -1,26 +0,0 @@
|
|||
Index: ddclient-3.6.2/sample-etc_cron.d_ddclient
|
||||
===================================================================
|
||||
--- ddclient-3.6.2.orig/sample-etc_cron.d_ddclient 2002-01-04 00:56:34.000000000 +0100
|
||||
+++ ddclient-3.6.2/sample-etc_cron.d_ddclient 2005-10-18 23:41:12.000000000 +0200
|
||||
@@ -10,7 +10,7 @@
|
||||
######################################################################
|
||||
## force an update twice a month
|
||||
##
|
||||
-30 23 1,15 * * root /root/bin/ddclient -daemon=0 -syslog -quiet -force
|
||||
+30 23 1,15 * * root /usr/sbin/ddclient -daemon=0 -syslog -quiet -force
|
||||
######################################################################
|
||||
## retry failed updates every hour (only if you are not using daemon-mode)
|
||||
##
|
||||
Index: ddclient-3.6.2/sample-etc_dhcpc_dhcpcd-eth0.exe
|
||||
===================================================================
|
||||
--- ddclient-3.6.2.orig/sample-etc_dhcpc_dhcpcd-eth0.exe 2005-10-18 23:40:22.000000000 +0200
|
||||
+++ ddclient-3.6.2/sample-etc_dhcpc_dhcpcd-eth0.exe 2005-10-18 23:41:02.000000000 +0200
|
||||
@@ -15,6 +15,6 @@
|
||||
192.168.*) ;;
|
||||
*)
|
||||
logger -t dhcpcd IP address changed to $1
|
||||
- /root/bin/ddclient -daemon=0 -syslog -use=ip -ip=$1 >/dev/null 2>&1
|
||||
+ /usr/sbin/ddclient -daemon=0 -syslog -use=ip -ip=$1 >/dev/null 2>&1
|
||||
;;
|
||||
esac
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
Add support for SMC7401BRA:
|
||||
|
||||
ddclient support several kind of firewall to retrieve IP address, two of
|
||||
them are smc-barricade and smc-barricade-alt, but these both doesn't
|
||||
work with an SMC7401BRA.
|
||||
|
||||
Index: ddclient
|
||||
===================================================================
|
||||
--- ddclient.orig 2006-12-01 23:22:36.958923399 +0100
|
||||
+++ ddclient 2006-12-01 23:25:09.796607052 +0100
|
||||
@@ -73,6 +73,11 @@
|
||||
'url' => '/status.htm',
|
||||
'skip' => 'IP Address',
|
||||
},
|
||||
+ 'smc-barricade-7401bra' => {
|
||||
+ 'name' => 'SMC Barricade 7401BRA FW',
|
||||
+ 'url' => '/admin/wan1.htm',
|
||||
+ 'skip' => 'IP Address',
|
||||
+ },
|
||||
'netgear-rt3xx' => {
|
||||
'name' => 'Netgear FW',
|
||||
'url' => '/mtenSysStatus.html',
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
Index: ddclient-3.7.0/ddclient
|
||||
===================================================================
|
||||
--- ddclient-3.7.0.orig/ddclient 2006-12-01 23:22:37.003916535 +0100
|
||||
+++ ddclient-3.7.0/ddclient 2006-12-01 23:25:06.131166238 +0100
|
||||
@@ -73,6 +73,11 @@
|
||||
'url' => '/status.htm',
|
||||
'skip' => 'IP Address',
|
||||
},
|
||||
+ 'smc-barricade-alt' => {
|
||||
+ 'name' => 'SMC Barricade FW (alternate config)',
|
||||
+ 'url' => '/status.HTM',
|
||||
+ 'skip' => 'WAN IP',
|
||||
+ },
|
||||
'smc-barricade-7401bra' => {
|
||||
'name' => 'SMC Barricade 7401BRA FW',
|
||||
'url' => '/admin/wan1.htm',
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
ddclient did not update the dynamic DNS entry if the config changes.
|
||||
This patch by Frans Pop to fixes this problem reported as Debian bug
|
||||
#217041.
|
||||
Index: ddclient
|
||||
===================================================================
|
||||
--- ddclient.orig 2006-12-01 23:22:36.938926449 +0100
|
||||
+++ ddclient 2006-12-01 23:25:12.987120319 +0100
|
||||
@@ -1998,6 +1998,13 @@
|
||||
} elsif (defined($sub) && &$sub($host)) {
|
||||
$update = 1;
|
||||
|
||||
+ } elsif (($cache{$host}{'static'} ne $config{$host}{'static'}) ||
|
||||
+ ($cache{$host}{'wildcard'} ne $config{$host}{'wildcard'}) ||
|
||||
+ ($cache{$host}{'mx'} ne $config{$host}{'mx'}) ||
|
||||
+ ($cache{$host}{'backupmx'} ne $config{$host}{'backupmx'})) {
|
||||
+ info("updating %s because host settings have been changed.", $host);
|
||||
+ $update = 1;
|
||||
+
|
||||
} else {
|
||||
success("%s: skipped: IP address was already set to %s.", $host, $ip)
|
||||
if opt('verbose');
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
#
|
||||
# patch from
|
||||
#
|
||||
--- ddclient 2004-11-24 17:23:56.000000000 +0100
|
||||
+++ ddclient.orig 2005-01-25 10:03:22.640483000 +0100
|
||||
@@ -257,6 +257,11 @@
|
||||
'mx' => setv(T_OFQDN, 0, 1, 1, '', undef),
|
||||
'backupmx' => setv(T_BOOL, 0, 1, 1, 0, undef),
|
||||
},
|
||||
+ 'easydns-common-defaults' => {
|
||||
+ 'wildcard' => setv(T_BOOL, 0, 1, 1, 0, undef),
|
||||
+ 'mx' => setv(T_OFQDN, 0, 1, 1, '', undef),
|
||||
+ 'backupmx' => setv(T_BOOL, 0, 1, 1, 0, undef),
|
||||
+ },
|
||||
'dnspark-common-defaults' => {
|
||||
'mx' => setv(T_OFQDN, 0, 1, 1, '', undef),
|
||||
'mxpri' => setv(T_NUMBER, 0, 0, 1, 5, undef),
|
||||
@@ -319,6 +324,7 @@
|
||||
'variables' => merge(
|
||||
{ 'server' => setv(T_FQDNP, 1, 0, 1, 'members.easydns.com', undef) },
|
||||
{ 'min-interval' => setv(T_DELAY, 0, 0, 1, interval('5m'), 0),},
|
||||
+ $variables{'easydns-common-defaults'},
|
||||
$variables{'service-common-defaults'},
|
||||
),
|
||||
},
|
||||
@@ -2487,14 +2493,14 @@
|
||||
info("setting IP address to %s for %s", $ip, $hosts);
|
||||
verbose("UPDATE:","updating %s", $hosts);
|
||||
|
||||
- #'http://members.easydns.com:80/dyn/ez-ipupdate.php?action=edit&myip=10.20.30.40&host_id=test.burry.ca&'
|
||||
+ #'http://members.easydns.com/dyn/dyndns.php?hostname=test.burry.ca&myip=10.20.30.40&wildcard=ON'
|
||||
|
||||
my $url;
|
||||
- $url = "http://$config{$h}{'server'}/dyn/ez-ipupdate.php?action=edit";
|
||||
- $url .= "&host_id=$hosts";
|
||||
+ $url = "http://$config{$h}{'server'}/dyn/dyndns.php?";
|
||||
+ $url .= "hostname=$hosts";
|
||||
$url .= "&myip=";
|
||||
$url .= $ip if $ip;
|
||||
- $url .= "&wildcard=" . ynu($config{$h}{'wildcard'}, 'YES', 'NO', 'NO') if defined $config{$h}{'wildcard'};
|
||||
+ $url .= "&wildcard=" . ynu($config{$h}{'wildcard'}, 'ON', 'OFF', 'OFF') if defined $config{$h}{'wildcard'};
|
||||
|
||||
if ($config{$h}{'mx'}) {
|
||||
$url .= "&mx=$config{$h}{'mx'}";
|
|
@ -1,23 +0,0 @@
|
|||
#
|
||||
# patch created with `svn diff -r83 . > patches/eurodns`
|
||||
# on Tue Feb 19 15:57:27 CET 2008
|
||||
#
|
||||
# This patch is based on the original patch from patch #1668836
|
||||
# It's currently not applied to subversion version of ddclient
|
||||
#
|
||||
Index: ddclient
|
||||
===================================================================
|
||||
--- ddclient (revision 83)
|
||||
+++ ddclient (working copy)
|
||||
@@ -2303,6 +2303,11 @@
|
||||
|
||||
## Select the DynDNS system to update
|
||||
my $url = "http://$config{$h}{'server'}/nic/update?system=";
|
||||
+ # hack for EuroDynDNS
|
||||
+ if ($config{$h}{'server'} =~ /.*eurodyndns.*/i) {
|
||||
+ $url = "http://$config{$h}{'server'}/update/?system=";
|
||||
+ }
|
||||
+
|
||||
if ($config{$h}{'custom'}) {
|
||||
warning("updating %s: 'custom' and 'static' may not be used together. ('static' ignored)", $hosts)
|
||||
if $config{$h}{'static'};
|
|
@ -1,44 +0,0 @@
|
|||
#
|
||||
# patch created with `svn diff -r82 . > patches/mail-on-kill.patch`
|
||||
# on Fri Feb 8 11:03:01 CET 2008
|
||||
# applied on r82
|
||||
#
|
||||
# This patch prevent ddclient sending out mail when interrupted by
|
||||
# a TERM signal. It still sends mail ended by a KILL signal.
|
||||
#
|
||||
Index: ddclient
|
||||
===================================================================
|
||||
--- ddclient (revision 82)
|
||||
+++ ddclient (working copy)
|
||||
@@ -602,8 +602,10 @@
|
||||
}
|
||||
my $caught_hup = 0;
|
||||
my $caught_term = 0;
|
||||
+my $caught_kill = 0;
|
||||
$SIG{'HUP'} = sub { $caught_hup = 1; };
|
||||
$SIG{'TERM'} = sub { $caught_term = 1; };
|
||||
+$SIG{'KILL'} = sub { $caught_kill = 1; };
|
||||
if (opt('daemon') && !opt('force')) {
|
||||
$SIG{'CHLD'} = 'IGNORE';
|
||||
my $pid = fork;
|
||||
@@ -665,7 +667,7 @@
|
||||
sendmail();
|
||||
|
||||
my $left = $daemon;
|
||||
- while (($left > 0) && !$caught_hup && !$caught_term) {
|
||||
+ while (($left > 0) && !$caught_hup && !$caught_term && !$caught_kill) {
|
||||
my $delay = $left > 10 ? 10 : $left;
|
||||
|
||||
$0 = sprintf("%s - sleeping for %s seconds", $program, $left);
|
||||
@@ -681,9 +683,9 @@
|
||||
} else {
|
||||
$result = $result eq 'OK' ? 0 : 1;
|
||||
}
|
||||
-} while ($daemon && !$result && !$caught_term);
|
||||
+} while ($daemon && !$result && !$caught_term && !$caught_kill);
|
||||
|
||||
-warning("caught SIGTERM; exiting") if $caught_term;
|
||||
+warning("caught SIGKILL; exiting") if $caught_kill;
|
||||
unlink_pid();
|
||||
sendmail();
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
Index: ddclient
|
||||
===================================================================
|
||||
--- ddclient (revision 88)
|
||||
+++ ddclient (working copy)
|
||||
@@ -1996,7 +1996,7 @@
|
||||
my $sub = shift;
|
||||
my $update = 0;
|
||||
|
||||
- if ($config{$host}{'login'} eq '') {
|
||||
+ if (!($config{$host}{'login'})) {
|
||||
warning("null login name specified for host %s.", $host);
|
||||
|
||||
} elsif ($config{$host}{'password'} eq '') {
|
|
@ -1,18 +0,0 @@
|
|||
#
|
||||
# patch created with `svn diff -r65 . > patches/opendns`
|
||||
# on Mon Jul 23 14:20:22 CEST 2007
|
||||
# applied on r65
|
||||
#
|
||||
Index: ddclient
|
||||
===================================================================
|
||||
--- ddclient (revision 65)
|
||||
+++ ddclient (working copy)
|
||||
@@ -2272,7 +2272,7 @@
|
||||
verbose("UPDATE:","updating %s", $hosts);
|
||||
|
||||
## Select the DynDNS system to update
|
||||
- my $url = "http://$config{$h}{'server'}/nic/update?system=";
|
||||
+ my $url = "https://updates.opendns.com/account/ddns.php?system=";
|
||||
if ($config{$h}{'custom'}) {
|
||||
warning("updating %s: 'custom' and 'static' may not be used together. ('static' ignored)", $hosts)
|
||||
if $config{$h}{'static'};
|
|
@ -1,24 +0,0 @@
|
|||
#
|
||||
# patch submitted by Kmos
|
||||
# See tracker #1752931
|
||||
#
|
||||
--- README.orig 2007-07-09 23:50:01.000000000 +0100
|
||||
+++ README 2007-07-12 20:50:28.000000000 +0100
|
||||
@@ -18,7 +16,7 @@
|
||||
|
||||
Dynamic DNS services currently supported include:
|
||||
|
||||
-DynDNS.org - See http://www.dyndns.org for details on obtaining a free account.
|
||||
+DynDNS.com - See http://www.dyndns.com for details on obtaining a free account.
|
||||
Hammernode - See http://www.hn.org for details on obtaining a free account.
|
||||
Zoneedit - See http://www.zoneedit.com for details.
|
||||
EasyDNS - See http://www.easydns.com for details.
|
||||
@@ -34,7 +32,7 @@
|
||||
http://sourceforge.net/projects/ddclient/
|
||||
|
||||
The code was originally written by Paul Burry and is now hosted and maintained
|
||||
-through sf.net. Please check out http://ddclient.sf.net and the project page.
|
||||
+through sourceforge.net. Please check out http://ddclient.sf.net
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
REQUIREMENTS:
|
|
@ -1,23 +0,0 @@
|
|||
#
|
||||
# patch created with `svn diff -r61 . > patches/regex_vlan.patch`
|
||||
# on Tue Jul 10 21:29:49 CEST 2007
|
||||
# applied on r61
|
||||
#
|
||||
# bug originally reported on ubuntu:
|
||||
# https://bugs.edge.launchpad.net/ubuntu/+source/ddclient/+bug/77570
|
||||
# posted upstream as bug #1747337
|
||||
# patch written by marclogghe
|
||||
#
|
||||
Index: ddclient
|
||||
===================================================================
|
||||
--- ddclient (revision 61)
|
||||
+++ ddclient (working copy)
|
||||
@@ -1601,7 +1601,7 @@
|
||||
return undef if $value eq "";
|
||||
|
||||
} elsif ($type eq T_IF) {
|
||||
- return undef if $value !~ /^[a-z0-9:_-]+$/;
|
||||
+ return undef if $value !~ /^[a-z0-9:._-]+$/;
|
||||
|
||||
} elsif ($type eq T_PROG) {
|
||||
return undef if $value eq "";
|
|
@ -1,15 +0,0 @@
|
|||
#
|
||||
# typo_dnspark.patch send by Marco.
|
||||
# Applied on ddclient Rev 72
|
||||
#
|
||||
--- ddclient.orig 2007-07-31 15:44:20.000000000 +0100
|
||||
+++ ddclient 2007-07-31 15:45:52.000000000 +0100
|
||||
@@ -2875,7 +2875,7 @@
|
||||
|
||||
The 'dnspark' protocol is used by DNS service offered by www.dnspark.com.
|
||||
|
||||
-Configuration variables applicable to the 'easydns' protocol are:
|
||||
+Configuration variables applicable to the 'dnspark' protocol are:
|
||||
protocol=dnspark ##
|
||||
server=fqdn.of.service ## defaults to www.dnspark.com
|
||||
backupmx=no|yes ## indicates that DNSPark should be the secondary MX
|
|
@ -1,18 +0,0 @@
|
|||
#
|
||||
# patch created with `svn diff -r57 . > patches/typo_namecheap_patch.diff`
|
||||
# on Tue Jul 10 09:25:19 CEST 2007
|
||||
# applied on r57
|
||||
#
|
||||
Index: ddclient
|
||||
===================================================================
|
||||
--- ddclient (revision 59)
|
||||
+++ ddclient (working copy)
|
||||
@@ -3014,7 +3014,7 @@
|
||||
|
||||
The 'namecheap' protocol is used by DNS service offered by www.namecheap.com.
|
||||
|
||||
-Configuration variables applicable to the 'easydns' protocol are:
|
||||
+Configuration variables applicable to the 'namecheap' protocol are:
|
||||
protocol=namecheap ##
|
||||
server=fqdn.of.service ## defaults to dynamicdns.park-your-domain.com
|
||||
login=service-login ## login name and password registered with the service
|
|
@ -1,34 +0,0 @@
|
|||
--- ddclient-3.7.1/ddclient.orig 2007-05-03 23:24:39.000000000 +0100
|
||||
+++ ddclient-3.7.1/ddclient 2007-05-03 23:27:44.000000000 +0100
|
||||
@@ -1635,6 +1642,20 @@
|
||||
$res;
|
||||
}
|
||||
######################################################################
|
||||
+## load_ssl_support
|
||||
+######################################################################
|
||||
+sub load_ssl_support {
|
||||
+ my $ssl_loaded = eval {require IO::Socket::SSL};
|
||||
+ unless ($ssl_loaded) {
|
||||
+ fatal(<<"EOM");
|
||||
+Error loading the Perl module IO::Socket::SSL needed for SSL connect.
|
||||
+On Debian, the package libio-socket-ssl-perl must be installed.
|
||||
+EOM
|
||||
+ }
|
||||
+ import IO::Socket::SSL;
|
||||
+ { no warnings; $IO::Socket::SSL::DEBUG = 0; }
|
||||
+}
|
||||
+######################################################################
|
||||
## geturl
|
||||
######################################################################
|
||||
sub geturl {
|
||||
@@ -1663,9 +1684,7 @@
|
||||
if ( $globals{'ssl'} and (caller(1))[3] ne 'main::get_ip' ) {
|
||||
$use_ssl = 1;
|
||||
$default_port = 443;
|
||||
- require IO::Socket::SSL;
|
||||
- import IO::Socket::SSL;
|
||||
- { no warnings; $IO::Socket::SSL::DEBUG = 0; }
|
||||
+ load_ssl_support;
|
||||
} else {
|
||||
$use_ssl = 0;
|
||||
$default_port = 80;
|
|
@ -1,11 +0,0 @@
|
|||
--- ddclient-3.7.1/ddclient.orig 2007-04-28 14:31:23.000000000 +0100
|
||||
+++ ddclient-3.7.1/ddclient 2007-04-28 14:31:33.000000000 +0100
|
||||
@@ -21,7 +21,7 @@
|
||||
$program =~ s/d$//;
|
||||
my $now = time;
|
||||
my $hostname = hostname();
|
||||
-my $etc = ($program =~ /test/i) ? './' : '/etc/ddclient/';
|
||||
+my $etc = ($program =~ /test/i) ? './' : '/etc/';
|
||||
my $cachedir = ($program =~ /test/i) ? './' : '/var/cache/ddclient/';
|
||||
my $savedir = ($program =~ /test/i) ? 'URL/' : '/tmp/';
|
||||
my $msgs = '';
|
|
@ -1,11 +0,0 @@
|
|||
--- ddclient-3.7.1/ddclient.orig 2007-04-28 20:43:53.000000000 +0100
|
||||
+++ ddclient-3.7.1/ddclient 2007-04-28 20:42:57.000000000 +0100
|
||||
@@ -977,6 +977,8 @@
|
||||
sub init_config {
|
||||
%opt = %saved_opt;
|
||||
|
||||
+ $opt{'daemon'}=interval($opt{'daemon'}) if defined $opt{'daemon'};
|
||||
+
|
||||
##
|
||||
$opt{'quiet'} = 0 if opt('verbose');
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
# patch original from ubuntu forum:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/ddclient/+bug/116066
|
||||
--- ddclient 2007-10-25 19:39:46.000000000 +0300
|
||||
+++ ddclient 2007-10-25 19:36:41.000000000 +0300
|
||||
@@ -328,7 +328,7 @@
|
||||
'cmd' => setv(T_PROG, 0, 0, 1, '', undef),
|
||||
'cmd-skip' => setv(T_STRING,1, 0, 1, '', undef),
|
||||
|
||||
- 'timeout' => setv(T_DELAY, 0, 0, 1, 0, interval('120s')),
|
||||
+ 'timeout' => setv(T_DELAY, 0, 0, 1, interval('120s'), interval('120s')),
|
||||
'retry' => setv(T_BOOL, 0, 0, 0, 0, undef),
|
||||
'force' => setv(T_BOOL, 0, 0, 0, 0, undef),
|
||||
'ssl' => setv(T_BOOL, 0, 0, 0, 0, undef),
|
|
@ -1,11 +0,0 @@
|
|||
--- ddclient-3.7.1/sample-etc_rc.d_init.d_ddclient.ubuntu.orig 2007-04-28 13:01:23.000000000 +0100
|
||||
+++ ddclient-3.7.1/sample-etc_rc.d_init.d_ddclient.ubuntu 2007-04-28 13:01:51.000000000 +0100
|
||||
@@ -5,7 +5,7 @@
|
||||
# Submitted by paolo martinelli
|
||||
|
||||
DDCLIENT=/usr/sbin/ddclient
|
||||
-CONF=/etc/ddclient/ddclient.conf
|
||||
+CONF=/etc/ddclient.conf
|
||||
PIDFILE=/var/run/ddclient.pid
|
||||
|
||||
test -x $DDCLIENT || exit 0
|
|
@ -1,6 +0,0 @@
|
|||
config_path.diff
|
||||
dyndns_com.diff
|
||||
daemon_interval.diff
|
||||
sample_ubuntu.diff
|
||||
smc-barricade-fw-alt.diff
|
||||
checked_ssl_load.diff
|
|
@ -1,14 +0,0 @@
|
|||
--- ddclient-3.7.1/ddclient.orig 2007-04-30 00:43:32.000000000 +0100
|
||||
+++ ddclient-3.7.1/ddclient 2007-05-03 23:07:24.000000000 +0100
|
||||
@@ -73,6 +73,11 @@
|
||||
'url' => '/status.htm',
|
||||
'skip' => 'IP Address',
|
||||
},
|
||||
+ 'smc-barricade-alt' => {
|
||||
+ 'name' => 'SMC Barricade FW (alternate config)',
|
||||
+ 'url' => '/status.HTM',
|
||||
+ 'skip' => 'WAN IP',
|
||||
+ },
|
||||
'smc-barricade-7401bra' => {
|
||||
'name' => 'SMC Barricade 7401BRA FW',
|
||||
'url' => '/admin/wan1.htm',
|
|
@ -1,36 +0,0 @@
|
|||
This directory will contain anything related to releasing a new version of
|
||||
ddclient. It will be a replacement for
|
||||
http://ddclient.wiki.sourceforge.net/HowtoRelease
|
||||
|
||||
Releasing files
|
||||
|
||||
* tagging current version: see svn book
|
||||
* svn copy https://ddclient.svn.sourceforge.net/svnroot/ddclient/trunk https://ddclient.svn.sourceforge.net/svnroot/ddclient/tags/release-3.7.2
|
||||
* version nr aanpassen
|
||||
* bz2 en gz file aanmaken
|
||||
* ftp naar sf.net
|
||||
* aanmaken release:
|
||||
|
||||
Release Notes 3.6.5 2004-11-24
|
||||
ddclient-3.6.5.tar.bz2 33311 0 Any .bz2
|
||||
ddclient-3.6.5.tar.gz 35726 0 Any .gz
|
||||
|
||||
* mail naar ddclient-support
|
||||
* news updaten
|
||||
|
||||
|
||||
* freshmeat updaten
|
||||
* website bijtimmeren: versie nummer aanpassen
|
||||
* [https://www.dyndns.com/developers/listings/3 dyndns update]
|
||||
|
||||
|
||||
website
|
||||
|
||||
* recentste routers
|
||||
* postscript
|
||||
|
||||
|
||||
rss feeds
|
||||
|
||||
* see https://sourceforge.net/export/rss2_project.php?group_id=116817
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
######################################################################
|
||||
## ddclient is an IP address updater for www.dyndns.org
|
||||
## $Id$
|
||||
######################################################################
|
||||
## minute 0-59
|
||||
## hour 0-23
|
||||
## day of month 1-31
|
||||
## month 1-12 (or names, see below)
|
||||
## day of week 0-7 (0 or 7 is Sun, or use names)
|
||||
######################################################################
|
||||
## force an update twice a month (only if you are not using daemon-mode)
|
||||
##
|
||||
## 30 23 1,15 * * root /usr/sbin/ddclient -daemon=0 -syslog -quiet -force
|
||||
######################################################################
|
||||
## retry failed updates every hour (only if you are not using daemon-mode)
|
||||
##
|
||||
## 0 * * * * root /usr/sbin/ddclient -daemon=0 -syslog -quiet retry
|
|
@ -1,160 +0,0 @@
|
|||
######################################################################
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
## Define default global variables with lines like:
|
||||
## var=value [, var=value]*
|
||||
## These values will be used for each following host unless overridden
|
||||
## with a local variable definition.
|
||||
##
|
||||
## Define local variables for one or more hosts with:
|
||||
## var=value [, var=value]* host.and.domain[,host2.and.domain...]
|
||||
##
|
||||
## Lines can be continued on the following line by ending the line
|
||||
## with a \
|
||||
##
|
||||
##
|
||||
## Warning: not all supported routers or dynamic DNS services
|
||||
## are mentioned here.
|
||||
##
|
||||
######################################################################
|
||||
daemon=300 # check every 300 seconds
|
||||
syslog=yes # log update msgs to syslog
|
||||
mail=root # mail all msgs to root
|
||||
mail-failure=root # mail failed update msgs to root
|
||||
pid=/var/run/ddclient.pid # record PID in file.
|
||||
ssl=yes # use ssl-support. Works with
|
||||
# ssl-library
|
||||
#
|
||||
#use=watchguard-soho, fw=192.168.111.1:80 # via Watchguard's SOHO FW
|
||||
#use=netopia-r910, fw=192.168.111.1:80 # via Netopia R910 FW
|
||||
#use=smc-barricade, fw=192.168.123.254:80 # via SMC's Barricade FW
|
||||
#use=netgear-rt3xx, fw=192.168.0.1:80 # via Netgear's internet FW
|
||||
#use=linksys, fw=192.168.1.1:80 # via Linksys's internet FW
|
||||
#use=maxgate-ugate3x00, fw=192.168.0.1:80 # via MaxGate's UGATE-3x00 FW
|
||||
#use=elsa-lancom-dsl10, fw=10.0.0.254:80 # via ELSA LanCom DSL/10 DSL Router
|
||||
#use=elsa-lancom-dsl10-ch01, fw=10.0.0.254:80 # via ELSA LanCom DSL/10 DSL Router
|
||||
#use=elsa-lancom-dsl10-ch02, fw=10.0.0.254:80 # via ELSA LanCom DSL/10 DSL Router
|
||||
#use=alcatel-stp, fw=10.0.0.138:80 # via Alcatel Speed Touch Pro
|
||||
#use=xsense-aero, fw=192.168.1.1:80 # via Xsense Aero Router
|
||||
#use=allnet-1298, fw=192.168.1.1:80 # via AllNet 1298 DSL Router
|
||||
#use=3com-oc-remote812, fw=192.168.0.254:80 # via 3com OfficeConnect Remote 812
|
||||
#use=e-tech, fw=192.168.1.1:80 # via E-tech Router
|
||||
#use=cayman-3220h, fw=192.168.0.1:1080 # via Cayman 3220-H DSL Router
|
||||
#
|
||||
#fw-login=admin, fw-password=XXXXXX # FW login and password
|
||||
#
|
||||
## To obtain an IP address from FW status page (using fw-login, fw-password)
|
||||
#use=fw, fw=192.168.1.254/status.htm, fw-skip='IP Address' # found after IP Address
|
||||
#
|
||||
## To obtain an IP address from Web status page (using the proxy if defined)
|
||||
#use=web, web=checkip.dyndns.org/, web-skip='IP Address' # found after IP Address
|
||||
#
|
||||
#use=ip, ip=127.0.0.1 # via static IP's
|
||||
#use=if, if=eth0 # via interfaces
|
||||
#use=web # via web
|
||||
#
|
||||
#protocol=dyndns2 # default protocol
|
||||
#proxy=fasthttp.sympatico.ca:80 # default proxy
|
||||
#server=members.dyndns.org # default server
|
||||
#server=members.dyndns.org:8245 # default server (bypassing proxies)
|
||||
|
||||
#login=your-login # default login
|
||||
#password=test # default password
|
||||
#mx=mx.for.your.host # default MX
|
||||
#backupmx=yes|no # host is primary MX?
|
||||
#wildcard=yes|no # add wildcard CNAME?
|
||||
|
||||
##
|
||||
## dyndns.org dynamic addresses
|
||||
##
|
||||
## (supports variables: wildcard,mx,backupmx)
|
||||
##
|
||||
# server=members.dyndns.org, \
|
||||
# protocol=dyndns2 \
|
||||
# your-dynamic-host.dyndns.org
|
||||
|
||||
##
|
||||
## dyndns.org static addresses
|
||||
##
|
||||
## (supports variables: wildcard,mx,backupmx)
|
||||
##
|
||||
# static=yes, \
|
||||
# server=members.dyndns.org, \
|
||||
# protocol=dyndns2 \
|
||||
# your-static-host.dyndns.org
|
||||
|
||||
##
|
||||
##
|
||||
## dyndns.org custom addresses
|
||||
##
|
||||
## (supports variables: wildcard,mx,backupmx)
|
||||
##
|
||||
# custom=yes, \
|
||||
# server=members.dyndns.org, \
|
||||
# protocol=dyndns2 \
|
||||
# your-domain.top-level,your-other-domain.top-level
|
||||
|
||||
##
|
||||
## ZoneEdit (zoneedit.com)
|
||||
##
|
||||
# server=dynamic.zoneedit.com, \
|
||||
# protocol=zoneedit1, \
|
||||
# login=your-zoneedit-login, \
|
||||
# password=your-zoneedit-password \
|
||||
# your.any.domain,your-2nd.any.dom
|
||||
|
||||
##
|
||||
## EasyDNS (easydns.com)
|
||||
##
|
||||
# server=members.easydns.com, \
|
||||
# protocol=easydns, \
|
||||
# login=your-easydns-login, \
|
||||
# password=your-easydns-password \
|
||||
# your.any.domain,your-2nd.any.domain
|
||||
|
||||
##
|
||||
## Hammernode (hn.org) dynamic addresses
|
||||
##
|
||||
# server=dup.hn.org, \
|
||||
# protocol=hammernode1, \
|
||||
# login=your-hn-login, \
|
||||
# password=your-hn-password \
|
||||
# your-hn-host.hn.org,your-2nd-hn-host.hn.org
|
||||
|
||||
##
|
||||
## dslreports.com dynamic-host monitoring
|
||||
##
|
||||
# server=members.dslreports.com \
|
||||
# protocol=dslreports1, \
|
||||
# login=dslreports-login, \
|
||||
# password=dslreports-password \
|
||||
# dslreports-unique-id
|
||||
|
||||
##
|
||||
## OrgDNS.org account-configuration
|
||||
##
|
||||
# use=web, web=members.orgdns.org/nic/ip
|
||||
# server=www.orgdns.org \
|
||||
# protocol=dyndns2 \
|
||||
# login=yourLoginName \
|
||||
# password=yourPassword \
|
||||
# yourSubdomain.orgdns.org
|
||||
|
||||
##
|
||||
## dnspark.com
|
||||
## (supports variables: mx, mxpri)
|
||||
##
|
||||
# use=web, web=ipdetect.dnspark.com, web-skip='Current Address:'
|
||||
# protocol=dnspark, \
|
||||
# server=www.dnspark.com, \
|
||||
# your-host.dnspark.com
|
||||
|
||||
##
|
||||
## NameCheap (namecheap.com)
|
||||
##
|
||||
# protocol=namecheap, \
|
||||
# server=dynamicdns.park-your-domain.com, \
|
||||
# login=my-namecheap.com-login, \
|
||||
# password=my-namecheap.com-password \
|
||||
# myhost.namecheap.com
|
|
@ -1,17 +0,0 @@
|
|||
#!/bin/sh
|
||||
######################################################################
|
||||
## $Id$
|
||||
######################################################################
|
||||
# The /etc/dhclient-enter-hooks script is run by the ISC DHCP client's standard
|
||||
# update script whenever dhclient obtains or renews an address.
|
||||
|
||||
PATH=/usr/sbin:${PATH}
|
||||
case "$new_ip_address" in
|
||||
10.*) ;;
|
||||
172.1[6-9].* | 172.2[0-9].* | 172.3[0-1].*) ;;
|
||||
192.168.*) ;;
|
||||
*)
|
||||
logger -t dhclient IP address changed to $new_ip_address
|
||||
ddclient -daemon=0 -syslog -use=ip -ip=$new_ip_address >/dev/null 2>&1
|
||||
;;
|
||||
esac
|
|
@ -1,20 +0,0 @@
|
|||
#!/bin/sh
|
||||
######################################################################
|
||||
## $Id$
|
||||
######################################################################
|
||||
PATH=/usr/sbin:${PATH}
|
||||
|
||||
## update the DNS server unless the IP address is a private address
|
||||
## that may be used as an internal LAN address. This may be true if
|
||||
## other interfaces are assigned private addresses from internal
|
||||
## DHCP server.
|
||||
|
||||
case "$1" in
|
||||
10.*) ;;
|
||||
172.1[6-9].* | 172.2[0-9].* | 172.3[0-1].*) ;;
|
||||
192.168.*) ;;
|
||||
*)
|
||||
logger -t dhcpcd IP address changed to $1
|
||||
ddclient -daemon=0 -syslog -use=ip -ip=$1 >/dev/null 2>&1
|
||||
;;
|
||||
esac
|
|
@ -1,40 +0,0 @@
|
|||
#!/bin/sh
|
||||
######################################################################
|
||||
## $Id$
|
||||
######################################################################
|
||||
##
|
||||
## On my host, pppd invokes this script with args:
|
||||
## /etc/ppp/ip-up.local ppp0 /dev/pts/1 115200 192.168.2.1 192.168.2.3
|
||||
##
|
||||
## From the manual page for my pppd, these aguments are:
|
||||
## scriptname interface-name tty-device speed local-IP-address remote-IP-address ipparam
|
||||
##
|
||||
## Some people have reported that their pppd returns their
|
||||
## local-IP-address as $3. If that's also the case for you,
|
||||
## you may need to change the $4 below to $3. This may not
|
||||
## be necessary if your pppd also passes the local-ip-address
|
||||
## in the environment as either PPP_LOCAL or IPLOCAL.
|
||||
##
|
||||
######################################################################
|
||||
PATH=/usr/sbin:${PATH}
|
||||
IP=
|
||||
IP=${IP:-$PPP_LOCAL}
|
||||
IP=${IP:-$IPLOCAL}
|
||||
IP=${IP:-$4}
|
||||
|
||||
## update the DNS server unless the IP address is a private address
|
||||
## that may be used as an internal LAN address (or PPtP tunnel).
|
||||
|
||||
logger -t ddclient $0 $*
|
||||
case "$IP" in
|
||||
10.*) ;;
|
||||
172.1[6-9].* | 172.2[0-9].* | 172.3[0-1].*) ;;
|
||||
192.168.*) ;;
|
||||
"") logger -t ddclient No local IP given so cannot update
|
||||
;;
|
||||
*) (
|
||||
sleep 5
|
||||
ddclient -daemon=0 -syslog -use=if -if=$1 >/dev/null 2>&1
|
||||
) &
|
||||
;;
|
||||
esac
|
|
@ -1,91 +0,0 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# ddclient This shell script takes care of starting and stopping
|
||||
# ddclient.
|
||||
#
|
||||
# chkconfig: 2345 65 35
|
||||
# description: ddclient provides support for updating dynamic DNS services.
|
||||
|
||||
CONF=/etc/ddclient/ddclient.conf
|
||||
program=ddclient
|
||||
|
||||
[ -f $CONF ] || exit 0
|
||||
|
||||
system=unknown
|
||||
if [ -f /etc/fedora-release ]; then
|
||||
system=fedora
|
||||
elif [ -f /etc/redhat-release ]; then
|
||||
system=redhat
|
||||
elif [ -f /etc/debian_version ]; then
|
||||
system=debian
|
||||
fi
|
||||
|
||||
PID=''
|
||||
if [ "$system" = "fedora" ] || [ "$system" = "redhat" ]; then
|
||||
. /etc/init.d/functions
|
||||
PID=`pidofproc $program`
|
||||
else
|
||||
PID=`ps -aef | grep "$program - sleep" | grep -v grep | awk '{print $2}'`
|
||||
fi
|
||||
|
||||
PATH=/usr/sbin:/usr/local/sbin:${PATH}
|
||||
export PATH
|
||||
|
||||
# See how we were called.
|
||||
case "$1" in
|
||||
start)
|
||||
# Start daemon.
|
||||
DELAY=`grep -v '^\s*#' $CONF | grep -i -m 1 "daemon" | awk -F '=' '{print $2}'`
|
||||
if [ -z "$DELAY" ] ; then
|
||||
DELAY="-daemon 300"
|
||||
else
|
||||
DELAY=''
|
||||
fi
|
||||
echo -n "Starting ddclient: "
|
||||
if [ "$system" = "fedora" ] || [ "$system" = "redhat" ]; then
|
||||
daemon $program $DELAY
|
||||
else
|
||||
ddclient $DELAY
|
||||
fi
|
||||
echo
|
||||
;;
|
||||
stop)
|
||||
# Stop daemon.
|
||||
echo -n "Shutting down ddclient: "
|
||||
if [ -n "$PID" ] ; then
|
||||
if [ "$system" = "fedora" ] || [ "$system" = "redhat" ]; then
|
||||
killproc $program
|
||||
else
|
||||
kill $PID
|
||||
fi
|
||||
else
|
||||
echo "ddclient is not running"
|
||||
fi
|
||||
echo
|
||||
;;
|
||||
restart)
|
||||
$0 stop
|
||||
$0 start
|
||||
;;
|
||||
status)
|
||||
if [ "$system" = "fedora" ] || [ "$system" = "redhat" ]; then
|
||||
status $program
|
||||
else
|
||||
if test "$PID"
|
||||
then
|
||||
for p in $PID
|
||||
do
|
||||
echo "$program (pid $p) is running"
|
||||
done
|
||||
else
|
||||
echo "$program is stopped"
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
echo "Usage: ddclient {start|stop|restart|status}"
|
||||
exit 1
|
||||
esac
|
||||
|
||||
exit 0
|
||||
|
|
@ -1,66 +0,0 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# ddclient This shell script takes care of starting and stopping
|
||||
# ddclient.
|
||||
#
|
||||
# chkconfig: 2345 65 35
|
||||
# description: ddclient provides support for updating dynamic DNS services.
|
||||
#
|
||||
# Above is for RedHat and now the LSB part
|
||||
### BEGIN INIT INFO
|
||||
# Provides: ddclient
|
||||
# Required-Start: $syslog $remote_fs
|
||||
# Should-Start: $time ypbind sendmail
|
||||
# Required-Stop: $syslog $remote_fs
|
||||
# Should-Stop: $time ypbind sendmail
|
||||
# Default-Start: 3 5
|
||||
# Default-Stop: 0 1 2 6
|
||||
# Short-Description: ddclient provides support for updating dynamic DNS services
|
||||
# Description: ddclient is a Perl client used to update dynamic DNS
|
||||
# entries for accounts on many dynamic DNS services and
|
||||
# can be used on many types of firewalls
|
||||
### END INIT INFO
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
###
|
||||
|
||||
[ -f /etc/ddclient/ddclient.conf ] || exit 0
|
||||
|
||||
DDCLIENT_BIN=/usr/sbin/ddclient
|
||||
|
||||
#
|
||||
# LSB Standard (SuSE,RedHat,...)
|
||||
#
|
||||
if [ -f /lib/lsb/init-functions ] ; then
|
||||
. /lib/lsb/init-functions
|
||||
fi
|
||||
|
||||
# See how we were called.
|
||||
case "$1" in
|
||||
start)
|
||||
echo -n "Starting ddclient "
|
||||
start_daemon $DDCLIENT_BIN -daemon 300
|
||||
rc_status -v
|
||||
;;
|
||||
stop)
|
||||
echo -n "Shutting down ddclient "
|
||||
killproc -TERM `basename $DDCLIENT_BIN`
|
||||
rc_status -v
|
||||
;;
|
||||
restart)
|
||||
$0 stop
|
||||
$0 start
|
||||
rc_status
|
||||
;;
|
||||
status)
|
||||
echo -n "Checking for service ddclient "
|
||||
checkproc `basename $DDCLIENT_BIN`w
|
||||
rc_status -v
|
||||
;;
|
||||
*)
|
||||
echo "Usage: ddclient {start|stop|restart|status}"
|
||||
exit 1
|
||||
esac
|
||||
|
||||
exit 0
|
|
@ -1,41 +0,0 @@
|
|||
#!/bin/sh
|
||||
# $Id$
|
||||
# ddclient This shell script takes care of starting and stopping
|
||||
# ddclient.
|
||||
#
|
||||
# chkconfig: 2345 65 35
|
||||
# description: ddclient provides support for updating dynamic DNS services.
|
||||
|
||||
[ -f /etc/ddclient/ddclient.conf ] || exit 0
|
||||
|
||||
. /etc/rc.d/init.d/functions
|
||||
|
||||
# See how we were called.
|
||||
case "$1" in
|
||||
start)
|
||||
# Start daemon.
|
||||
echo -n "Starting ddclient: "
|
||||
touch /var/lock/subsys/ddclient
|
||||
daemon ddclient -daemon 300
|
||||
echo
|
||||
;;
|
||||
stop)
|
||||
# Stop daemon.
|
||||
echo -n "Shutting down ddclient: "
|
||||
killproc ddclient
|
||||
echo
|
||||
rm -f /var/lock/subsys/ddclient
|
||||
;;
|
||||
restart)
|
||||
$0 stop
|
||||
$0 start
|
||||
;;
|
||||
status)
|
||||
status ddclient
|
||||
;;
|
||||
*)
|
||||
echo "Usage: ddclient {start|stop|restart|status}"
|
||||
exit 1
|
||||
esac
|
||||
|
||||
exit 0
|
|
@ -1,47 +0,0 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# Start ddclient that provides support for updating dynamic DNS services.
|
||||
#
|
||||
# Submitted by paolo martinelli
|
||||
|
||||
DDCLIENT=/usr/sbin/ddclient
|
||||
CONF=/etc/ddclient/ddclient.conf
|
||||
PIDFILE=/var/run/ddclient.pid
|
||||
|
||||
test -x $DDCLIENT || exit 0
|
||||
test -f $CONF || exit 0
|
||||
|
||||
. /lib/lsb/init-functions
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
log_begin_msg "Starting ddclient..."
|
||||
DELAY=`grep -v '^\s*#' $CONF | grep -i -m 1 "daemon" | awk -F '=' '{print $2}'`
|
||||
if [ -z "$DELAY" ] ; then
|
||||
DELAY="-daemon 300"
|
||||
else
|
||||
DELAY=''
|
||||
fi
|
||||
start-stop-daemon -S -q -p $PIDFILE -x $DDCLIENT -- $DELAY
|
||||
log_end_msg $?
|
||||
;;
|
||||
stop)
|
||||
if [ -f $PIDFILE ] ; then
|
||||
log_begin_msg "Stopping ddclient..."
|
||||
start-stop-daemon -K -q -p $PIDFILE
|
||||
log_end_msg $?
|
||||
rm -f $PIDFILE
|
||||
fi
|
||||
;;
|
||||
restart|reload|force-reload)
|
||||
$0 stop
|
||||
$0 start
|
||||
;;
|
||||
*)
|
||||
log_success_msg "Usage: $0 {start|stop|restart|reload|force-reload}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
|
Loading…
Reference in a new issue