mirror of
https://github.com/nikdoof/dhsd.git
synced 2025-12-13 10:22:16 +00:00
v1.0.0
This commit is contained in:
8
README
8
README
@@ -1,14 +1,10 @@
|
|||||||
DHSD v0.03 Beta
|
DHSD v1.0
|
||||||
---------------
|
---------
|
||||||
|
|
||||||
DHSD is a dynamic update engine for the dhs.org dynamic dns service.
|
DHSD is a dynamic update engine for the dhs.org dynamic dns service.
|
||||||
The aim is to provide a quick and efficent update engine that will
|
The aim is to provide a quick and efficent update engine that will
|
||||||
monitor selected network devices and check for changes of the IP address.
|
monitor selected network devices and check for changes of the IP address.
|
||||||
|
|
||||||
PLEASE NOTE, this is a CVS BETA release (in other words...half working)
|
|
||||||
i have put this code onto the CVS for users to take a look at and see
|
|
||||||
how it works.
|
|
||||||
|
|
||||||
Thanks go to:
|
Thanks go to:
|
||||||
|
|
||||||
* Sourceforge for hosting my project
|
* Sourceforge for hosting my project
|
||||||
|
|||||||
6
TODO
6
TODO
@@ -1,9 +1,3 @@
|
|||||||
* Multiple Device/Host config (99%)
|
|
||||||
* Setuid/Setgid for daemon (needed?) (0%)
|
|
||||||
* More information in Syslog (50%)
|
|
||||||
* .pid file output and more daemon config options (0%)
|
|
||||||
* Error checking on http returns (99%)
|
|
||||||
|
|
||||||
Possible features:
|
Possible features:
|
||||||
|
|
||||||
* Support more dyndns services
|
* Support more dyndns services
|
||||||
|
|||||||
2
configure
vendored
2
configure
vendored
@@ -693,7 +693,7 @@ fi
|
|||||||
|
|
||||||
PACKAGE=dhsd
|
PACKAGE=dhsd
|
||||||
|
|
||||||
VERSION=0.03
|
VERSION=1.0
|
||||||
|
|
||||||
if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
|
if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
|
||||||
{ echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
|
{ echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
dnl Process this file with autoconf to produce a configure script.
|
dnl Process this file with autoconf to produce a configure script.
|
||||||
|
|
||||||
AC_INIT(src/main.c)
|
AC_INIT(src/main.c)
|
||||||
AM_INIT_AUTOMAKE(dhsd, 0.03)
|
AM_INIT_AUTOMAKE(dhsd, 1.0)
|
||||||
AC_PROG_MAKE_SET
|
AC_PROG_MAKE_SET
|
||||||
|
|
||||||
dnl Checks for programs.
|
dnl Checks for programs.
|
||||||
|
|||||||
@@ -7,10 +7,10 @@ dhsd_SOURCES = main.c dhsd.h rconfig.c pdetach.c updateip.c devcheck.c base64.c
|
|||||||
|
|
||||||
if DEBUG
|
if DEBUG
|
||||||
DBG = -DDEBUG=1
|
DBG = -DDEBUG=1
|
||||||
CFLAGS = @CFLAGS@ $(DBG)
|
CFLAGS = @CFLAGS@ $(DBG) -O0 -g3
|
||||||
else
|
else
|
||||||
DBG =
|
DBG =
|
||||||
CFLAGS = @CFLAGS@
|
CFLAGS = -O3 -march=pentium -mcpu=pentium -ffast-math -funroll-loops -fomit-frame-pointer -fforce-mem -fforce-addr -malign-double -fno-exceptions
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -272,9 +272,9 @@ maintainer-clean-generic clean mostlyclean distclean maintainer-clean
|
|||||||
|
|
||||||
|
|
||||||
@DEBUG_TRUE@ DBG = -DDEBUG=1
|
@DEBUG_TRUE@ DBG = -DDEBUG=1
|
||||||
@DEBUG_TRUE@ CFLAGS = @CFLAGS@ $(DBG)
|
@DEBUG_TRUE@ CFLAGS = @CFLAGS@ $(DBG) -O0 -g3
|
||||||
@DEBUG_FALSE@ DBG =
|
@DEBUG_FALSE@ DBG =
|
||||||
@DEBUG_FALSE@ CFLAGS = @CFLAGS@
|
@DEBUG_FALSE@ CFLAGS = -O3 -march=pentium -mcpu=pentium -ffast-math -funroll-loops -fomit-frame-pointer -fforce-mem -fforce-addr -malign-double -fno-exceptions
|
||||||
|
|
||||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||||
|
|||||||
@@ -47,8 +47,8 @@ int devcheck(char *dev)
|
|||||||
strncpy(ifr.ifr_name,dev,IFNAMSIZ);
|
strncpy(ifr.ifr_name,dev,IFNAMSIZ);
|
||||||
|
|
||||||
if (ioctl(fd,SIOCGIFADDR,&ifr)) {
|
if (ioctl(fd,SIOCGIFADDR,&ifr)) {
|
||||||
pdebug("device ioctl failed");
|
pdebug("device is not up/online");
|
||||||
//oldaddr = 0; // Hackaratus?
|
oldaddr = 0; // Kludges r' us?
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
/* Now the buffer will contain the information we requested */
|
/* Now the buffer will contain the information we requested */
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ int main(int argc, char **argv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
do {
|
do {
|
||||||
if (devcheck(config.device)) {
|
if (devcheck(config.device) == 1) {
|
||||||
#ifdef HAVE_SYSLOG_H
|
#ifdef HAVE_SYSLOG_H
|
||||||
syslog(LOG_NOTICE,"device ip has changed, update initiated...");
|
syslog(LOG_NOTICE,"device ip has changed, update initiated...");
|
||||||
#endif
|
#endif
|
||||||
@@ -90,7 +90,8 @@ int main(int argc, char **argv)
|
|||||||
i = 0;
|
i = 0;
|
||||||
|
|
||||||
do {
|
do {
|
||||||
while(updateip(coldaddr,config.host[i])) {;
|
pdebug(coldaddr);
|
||||||
|
while(updateip(coldaddr,config.host[i])) {
|
||||||
sleep(SLEEP_TIME);
|
sleep(SLEEP_TIME);
|
||||||
};
|
};
|
||||||
i++;
|
i++;
|
||||||
|
|||||||
@@ -26,13 +26,6 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include "dhsd.h"
|
#include "dhsd.h"
|
||||||
|
|
||||||
void addhost (char *hostname)
|
|
||||||
{
|
|
||||||
strncat(config.host[config.noofhosts], hostname, strlen(hostname));
|
|
||||||
pdebug(hostname);
|
|
||||||
config.noofhosts++;
|
|
||||||
}
|
|
||||||
|
|
||||||
void parseline(char *strbuf)
|
void parseline(char *strbuf)
|
||||||
{
|
{
|
||||||
int strl;
|
int strl;
|
||||||
@@ -57,7 +50,8 @@ void parseline(char *strbuf)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if(!strcasecmp("HOST",cmd)) {
|
if(!strcasecmp("HOST",cmd)) {
|
||||||
addhost(arg);
|
strncat(config.host[config.noofhosts], arg, strlen(arg));
|
||||||
|
config.noofhosts++;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if(!strcasecmp("DEV",cmd)) {
|
if(!strcasecmp("DEV",cmd)) {
|
||||||
|
|||||||
@@ -66,6 +66,8 @@ int updateip(char *ipaddr, char *host)
|
|||||||
bzero(hostn,32);
|
bzero(hostn,32);
|
||||||
bzero(domn,32);
|
bzero(domn,32);
|
||||||
|
|
||||||
|
pdebug(ipaddr);
|
||||||
|
|
||||||
splitstr(host, '.', hostn, domn);
|
splitstr(host, '.', hostn, domn);
|
||||||
|
|
||||||
encbasic(b64str,config.username,config.passwd);
|
encbasic(b64str,config.username,config.passwd);
|
||||||
|
|||||||
11
src/utils.c
11
src/utils.c
@@ -52,15 +52,22 @@ void filtercr(char *str)
|
|||||||
bzero(tmpstr,256);
|
bzero(tmpstr,256);
|
||||||
|
|
||||||
|
|
||||||
if (strl > 0) {
|
if (strl > 1) {
|
||||||
while (i < strl) {
|
while (i < strl) {
|
||||||
if (str[i] == '\n') {
|
if (str[i] == 13) {
|
||||||
strncpy(tmpstr, &str[0], i-1);
|
strncpy(tmpstr, &str[0], i-1);
|
||||||
|
pdebug(tmpstr);
|
||||||
tmpstr[strlen(tmpstr)] = '\0';
|
tmpstr[strlen(tmpstr)] = '\0';
|
||||||
bzero(str,strl);
|
bzero(str,strl);
|
||||||
str = tmpstr;
|
str = tmpstr;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
i++;
|
i++;
|
||||||
};
|
};
|
||||||
|
str = str;
|
||||||
|
} else {
|
||||||
|
if (str[0] == 13) {
|
||||||
|
str = "";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user