openbsd-ports/net/no-ip/patches/patch-noip_c
wilfried acc9d8b5cf Import of noip_updater_v1.6
This is the No-IP.com Dynamic DNS update client.
2002-03-08 16:56:10 +00:00

74 lines
2.4 KiB
Plaintext

$OpenBSD: patch-noip_c,v 1.1.1.1 2002/03/08 16:56:10 wilfried Exp $
--- noip.c.orig Thu Oct 11 01:48:12 2001
+++ noip.c Fri Mar 8 17:40:50 2002
@@ -94,9 +94,8 @@
#define CLIENT_IP_PORT 8245
#define OURBUFLEN 8192
#define IPLEN 16
-#define SAVEDIPFILE "/tmp/no-ip_save"
-#define CONFIG_FILENAME "/usr/local/lib/no-ip.conf"
-#define CONFIG_FILENAME_ETC "/usr/local/etc/no-ip.conf"
+#define SAVEDIPFILE "/var/db/no-ip_save"
+#define CONFIG_FILENAME SYSCONFDIR "/no-ip.conf"
#define CONFIGNUM 10
#define CONFSTRLEN 1024
#define NUMBER 2
@@ -224,8 +223,8 @@ void Usage()
#ifdef DEBUG
fprintf(stderr, " -d increase debug verbosity\n");
#endif
- fprintf(stderr, "\n config file is either\n");
- fprintf(stderr, " %s or %s\n", CONFIG_FILENAME,CONFIG_FILENAME_ETC);
+ fprintf(stderr, "\n config file is\n");
+ fprintf(stderr, " %s\n", CONFIG_FILENAME);
fprintf(stderr, " and must contain %d required entries", CONFIGNUM);
fprintf(stderr, " in the form of KEYWORD = value\n");
fprintf(stderr, " A complete description of the config file is in the README file.\n");
@@ -254,12 +253,8 @@ int main(int argc, char *argv[])
program = argv[0];
openlog(program, LOG_PID, LOG_DAEMON);
process_options(argc, argv);
- if (config_filename == NULL) {
- if(!access(CONFIG_FILENAME, R_OK))
- config_filename = CONFIG_FILENAME;
- else
- config_filename = CONFIG_FILENAME_ETC;
- }
+ if (config_filename == NULL)
+ config_filename = CONFIG_FILENAME;
if (handle_config_error(parse_config()) != SUCCESS)
return -1;
if (*groupname)
@@ -375,7 +370,7 @@ void save_IP(int sig)
void getip(char *p)
{
int fd;
- int *x;
+ struct sockaddr_in *sin;
struct ifreq ifr;
struct in_addr z;
@@ -402,8 +397,8 @@ void getip(char *p)
return;
}
close(fd);
- x = (int *)&ifr.ifr_addr; // seems to be off by 2 bytes
- z.s_addr = x[1];
+ sin = (struct sockaddr_in *)&ifr.ifr_addr;
+ z = sin->sin_addr;
strcpy(p, inet_ntoa(z));
sprintf(suppliedIP, "&ip=%s", p); // force sending local address
#ifdef DEBUG
@@ -439,9 +434,9 @@ int run_as_background()
fclose(fildes);
}
if (fp != NULL)
- strncpy(Last_IP_Addr, buffer, IPLEN);
+ strlcpy(Last_IP_Addr, buffer, IPLEN);
else
- memset(Last_IP_Addr, 1, IPLEN); // bogus address at start
+ memset(Last_IP_Addr, 0, IPLEN); // bogus address at start
unlink(SAVEDIPFILE);
while (background) {
delay = MAX(60, interval * 60);