Compare commits

..

15 Commits

Author SHA1 Message Date
Richard P. Curnow
1a4fa3330a Rename round() function to avoid clash with builtin 2006-04-15 00:34:04 +01:00
Richard P. Curnow
fd35174928 Merge quashing of compile warnings 2006-04-15 00:32:08 +01:00
kevin lyda
2a30c56f03 Quash a load of compile warnings
Kevin Lyda writes:
I enclose the following patch which removes all but three of the warnings.  i
don't have any non-linux systems handy to test a fix to the round() function.
but having it return a double should be fine.

It doesn't actually fix anything, it just shuts up -Wall, so it's certainly an
optional type of patch.
2006-04-15 00:31:29 +01:00
Richard P. Curnow
0b8979a41e Fix version.txt to remove compile warning 2006-04-15 00:27:07 +01:00
Eric Lammerts
4771cbe8b0 Fix bogus "system time" report for 64 bit systems
Eric Lammerts writes:
This is known as Debian bug #195620, which is almost three years old!

The problem is that a uint32_t which comes out of ntohl() (but
actually represents a signed value) is directly promoted to long.
Therefore no sign extension takes place.

Patch below solves the problem. There are other places where this
needs to be fixed, but I'll leave that to a less lazy person.
2006-04-15 00:18:28 +01:00
Richard P. Curnow
1e7e7d3231 Remove volatile keyword from function declarations
This silences a lot of gcc-4 compile warnings
2006-04-15 00:10:21 +01:00
Bernhard Weiss
3e7781fdaf Fix linux_io.h for MIPS
Bernard Weiss writes:
I managed to compile the chrony 1.21 package for the MIPS architecture.
For the package to compile I had to add the following lines to io_linux.h:

[patch]

These values are taken from the ioctl.h file of linux 2.4.30 for the MIPS arch
(__ASM_MIPS_IOCTL_H).
2006-04-15 00:07:43 +01:00
NAKAMURA Takumi
acd99f25ef FreeBSD support
NAKAMURA Takumi writes:

I tried to compile chrony-1.21 on FreeBSD 4.8-RELEASE & 5.4-RELEASE.
I modify two files, configure, sysinc.h.

configure:
    add label "FreeBSD-i386" to "BSD/386" line
sysincl.h:
    1. FreeBSD obsoletes alloca.h
    2. FreeBSD use stdlib.h instead of malloc.h, to use malloc(), free()

Attached file includes the above modifications.
2006-04-15 00:03:30 +01:00
Paul Elliott
91a91d1642 Flush chronyc output buffers.
The following is a patch to chronyc that causes it
to flush the buffers to stderr and stdout after
executing each command. This is needed if
you are controling chronyc from a program (i.e. chronyc's
input and output descriptors are pipes which are being
written/read by another program) and
you do not want to block waiting for chronyc response
which is trapped in a buffer!
2006-01-29 23:31:56 +00:00
Richard P. Curnow
29223ea476 Add a .gitignore file 2006-01-29 23:29:01 +00:00
Richard P. Curnow
bcae93d321 manpage improvements.
Try to address this Debian bug:
  Bug#345034: chrony: man pages refer to wrong sections
2006-01-29 23:23:52 +00:00
Richard P. Curnow
383a36371f 1st attempt at a git-compatible make_release script 2006-01-22 23:54:19 +00:00
Richard P. Curnow
fa83311903 Tidy up io_linux.h so unknown architecture result in compile-time error again 2006-01-22 23:38:43 +00:00
Richard P. Curnow
f5c3a01aee More architectures in io_linux.h (John Hasler) 2006-01-22 23:36:16 +00:00
Richard P. Curnow
d2a7dc2347 Fix gcc-4 compilation of addrfilt.c
John Hasler sent in a patch to do this (which still wouldn't make it compile
for me).  This reminded me that I had tackled this myself when my distro moved
to gcc-4 a while back.  It turned out I had never even checked in the file from
the working copy I was using (!).  Anyway, here it is now.
2006-01-19 21:56:19 +00:00
23 changed files with 121 additions and 85 deletions

6
.gitignore vendored Normal file
View File

@@ -0,0 +1,6 @@
*.swp
*.o
Makefile
chronyc
chronyd
version.h

View File

@@ -358,7 +358,7 @@ read_from_socket(void *anything)
int status;
ReceiveBuffer msg;
struct sockaddr_in his_addr;
int his_addr_len;
socklen_t his_addr_len;
int flags;
int message_length;
unsigned long remote_ip;

View File

@@ -6,7 +6,7 @@
chronyd/chronyc - Programs for keeping computer clocks accurate.
**********************************************************************
* Copyright (C) Richard P. Curnow 1997-2002
* Copyright (C) Richard P. Curnow 1997,1998,1999,2000,2001,2002,2005
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of version 2 of the GNU General Public License as
@@ -43,15 +43,11 @@
/* Define the table size */
#define TABLE_SIZE (1UL<<NBITS)
struct _TableNode;
typedef struct _TableNode ExtendedTable[TABLE_SIZE];
typedef enum {DENY, ALLOW, AS_PARENT} State;
typedef struct _TableNode {
State state;
ExtendedTable *extended;
struct _TableNode *extended;
} TableNode;
struct ADF_AuthTableInst {
@@ -101,7 +97,7 @@ close_node(TableNode *node)
if (node->extended != NULL) {
for (i=0; i<TABLE_SIZE; i++) {
child_node = &((*(node->extended))[i]);
child_node = &(node->extended[i]);
close_node(child_node);
}
Free(node->extended);
@@ -124,10 +120,10 @@ open_node(TableNode *node)
if (node->extended == NULL) {
node->extended = MallocNew(ExtendedTable);
node->extended = MallocArray(struct _TableNode, TABLE_SIZE);
for (i=0; i<TABLE_SIZE; i++) {
child_node = &((*(node->extended))[i]);
child_node = &(node->extended[i]);
child_node->state = AS_PARENT;
child_node->extended = NULL;
}
@@ -168,7 +164,7 @@ set_subnet(TableNode *start_node,
if (!(node->extended)) {
open_node(node);
}
node = &((*(node->extended))[subnet]);
node = &(node->extended[subnet]);
bits_to_go -= NBITS;
}
@@ -187,7 +183,7 @@ set_subnet(TableNode *start_node,
if (!(node->extended)) {
open_node(node);
}
node = &((*(node->extended))[subnet]);
node = &(node->extended[subnet]);
bits_to_go -= NBITS;
}
@@ -199,7 +195,7 @@ set_subnet(TableNode *start_node,
}
for (i=subnet, j=0; j<N; i++, j++) {
this_node = &((*(node->extended))[i]);
this_node = &(node->extended[i]);
if (delete_children) {
close_node(this_node);
}
@@ -283,7 +279,7 @@ check_ip_in_node(TableNode *start_node, unsigned long ip)
if (node->extended) {
subnet = get_subnet(residual);
residual = get_residual(residual);
node = &((*(node->extended))[subnet]);
node = &(node->extended[subnet]);
} else {
/* Make decision on this node */
finished = 1;

View File

@@ -1,45 +0,0 @@
#!/usr/bin/env perl
# $Header: /cvs/src/chrony/build_kit,v 1.13 2003/01/12 23:50:54 richard Exp $
# Perl script for building a release
# Have to run it in the current directory
if (($0 ne "build_kit") && ($0 ne "./build_kit")) {
die "Have to be in the checked-out directory to run build_kit";
}
$here=`pwd`;
chomp $here;
$version=$here;
$version =~ s,^.*/chrony-([^/]+)$,$1, || die "Didn't recognize directory name";
print "Building kit for version $version\n";
chmod 0755, "configure";
# Overwrite normal version.h file with version-specific one
open (OUT, ">version.txt");
print OUT $version."\n";
close OUT;
# Construct chrony.spec file
open (IN, "<chrony.spec.sample");
open (OUT, ">chrony.spec");
while (<IN>) {
s/\@\@VERSION\@\@/$version/;
print OUT;
}
close (IN);
close (OUT);
# Requires the makeinfo from texinfo v4
system("makeinfo --no-headers --number-sections -o chrony.txt chrony.texi");
system ("rm -rf ./{arch}");
system ("rm -rf ./.arch-ids");
unlink "chrony.spec.sample";
unlink("build_kit");
chdir ("..");
system ("tar cvf - chrony-$version | gzip -9 > chrony-$version.tar.gz");
system ("gpg -b -a -o chrony-$version-tar-gz-asc.txt chrony-$version.tar.gz");

View File

@@ -63,3 +63,6 @@ Richard Curnow <rc@rc0.org.uk>
This man-page was written by Jan Schaumann <jschauma@netmeister.org> as part
of "The Missing Man Pages Project". Please see
\fIhttp://www.netmeister.org/misc/m2p2/index.html\fR for details.
The complete chrony documentation is supplied in texinfo format.

View File

@@ -47,3 +47,6 @@ Richard Curnow <rc@rc0.org.uk>
This man-page was written by Jan Schaumann <jschauma@netmeister.org> as part of "The Missing
Man Pages Project". Please see \fIhttp://www.netmeister.org/misc/m2p2/index.html\fR
for details.
The complete chrony documentation is supplied in texinfo format.

View File

@@ -40,10 +40,10 @@ interactively.
1.17
.SH BUGS
To report bugs, please contact the author and/or visit \fIhttp://go.to/chrony\fR
To report bugs, please contact the author and/or visit \fIhttp://chrony.sunsite.dk/\fR
.SH "SEE ALSO"
.BR chronyd(1),
.BR chronyd(8),
.BR chrony(1)
.I http://chrony.sunsite.dk/
@@ -54,3 +54,6 @@ Richard Curnow <rc@rc0.org.uk>
This man-page was written by Jan Schaumann <jschauma@netmeister.org> as part of "The Missing
Man Pages Project". Please see \fIhttp://www.netmeister.org/misc/m2p2/index.html\fR
for details.
The complete chrony documentation is supplied in texinfo format.

View File

@@ -109,3 +109,6 @@ Richard Curnow <rc@rc0.org.uk>
This man-page was written by Jan Schaumann <jschauma@netmeister.org> as part
of "The Missing Man Pages Project". Please see
\fIhttp://www.netmeister.org/misc/m2p2/index.html\fR for details.
The complete chrony documentation is supplied in texinfo format.

View File

@@ -146,7 +146,7 @@ read_line(void)
static unsigned long
get_address(const char *hostname)
{
unsigned char *address0;
char *address0;
struct hostent *host;
unsigned long result;
@@ -746,7 +746,7 @@ static int
accheck_getaddr(char *line, unsigned long *addr)
{
unsigned long a, b, c, d, ip;
unsigned char *p, *q;
char *p, *q;
p = line;
while (*p && isspace(*p)) p++;
if (!*p) {
@@ -1124,7 +1124,7 @@ static int
submit_request(CMD_Request *request, CMD_Reply *reply, int *reply_auth_ok)
{
unsigned long tx_sequence;
int where_from_len;
socklen_t where_from_len;
struct sockaddr_in where_from;
int bad_length, bad_sender, bad_sequence, bad_header;
int select_status;
@@ -1652,7 +1652,7 @@ process_cmd_tracking(char *line)
ref_time.tv_usec = ntohl(reply.data.tracking.ref_time_us);
ref_time_tm = *gmtime((time_t *)&ref_time.tv_sec);
printf("Ref time (UTC) : %s", asctime(&ref_time_tm));
correction_tv.tv_sec = ntohl(reply.data.tracking.current_correction_s);
correction_tv.tv_sec = (int32_t)ntohl(reply.data.tracking.current_correction_s);
correction_tv.tv_usec = ntohl(reply.data.tracking.current_correction_us);
correction = (double) correction_tv.tv_sec + 1.0e-6 * correction_tv.tv_usec;
printf("System time : %.6f seconds %s of NTP time\n", fabs(correction),
@@ -2319,7 +2319,11 @@ process_line(char *line)
/* Check for line being blank */
p = line;
while (*p && isspace((unsigned char)*p)) p++;
if (!*p) return quit;
if (!*p) {
fflush(stderr);
fflush(stdout);
return quit;
};
if (!strncmp(p, "offline", 7)) {
do_normal_submit = process_cmd_offline(&tx_message, p+7);
@@ -2480,7 +2484,8 @@ process_line(char *line)
}
}
}
fflush(stderr);
fflush(stdout);
return quit;
}

View File

@@ -1584,7 +1584,7 @@ read_from_cmd_socket(void *anything)
CMD_Reply tx_message, *prev_tx_message;
int rx_message_length, tx_message_length;
struct sockaddr_in where_from;
int from_length;
socklen_t from_length;
unsigned long remote_ip;
unsigned short remote_port;
int md5_ok;

2
configure vendored
View File

@@ -248,7 +248,7 @@ case $SYSTEM in
fi
;;
BSD/386-i[3456]86 )
BSD/386-i[3456]86|FreeBSD-i386 )
# Antti Jrvinen <costello@iki.fi> reported that this system can
# be supported with the SunOS 4.x driver files.
EXTRA_OBJECTS="sys_sunos.o strerror.o"

View File

@@ -15,7 +15,8 @@
#define CHRONY_IOC_NONE 0U
#define CHRONY_IOC_WRITE 1U
#define CHRONY_IOC_READ 2U
#elif defined(__alpha__) || defined(__sparc__)
#elif defined(__alpha__) || defined(__sparc__) || defined(__ppc__) || defined(__ppc64__) || defined(__sparc64__)
#define CHRONY_IOC_NRBITS 8
#define CHRONY_IOC_TYPEBITS 8
#define CHRONY_IOC_SIZEBITS 13
@@ -24,6 +25,16 @@
#define CHRONY_IOC_NONE 1U
#define CHRONY_IOC_READ 2U
#define CHRONY_IOC_WRITE 4U
#elif defined(__mips__) || defined(__mips32__)
#define CHRONY_IOC_NRBITS 8
#define CHRONY_IOC_TYPEBITS 8
#define CHRONY_IOC_SIZEBITS 13
#define CHRONY_IOC_DIRBITS 3
#define CHRONY_IOC_NONE 1U
#define CHRONY_IOC_READ 2U
#define CHRONY_IOC_WRITE 4U
#else
#error "I don't know the values of the _IOC_* constants for your architecture"
#endif

View File

@@ -116,7 +116,7 @@ LOG_Line_Function(LOG_Severity severity, LOG_Facility facility, const char *form
/* ================================================== */
volatile void
void
LOG_Fatal_Function(LOG_Facility facility, const char *format, ...)
{
char buf[2048];

View File

@@ -77,7 +77,7 @@ extern void LOG_Finalise(void);
extern void LOG_Line_Function(LOG_Severity severity, LOG_Facility facility, const char *format, ...);
/* Logging function for fatal errors */
extern volatile void LOG_Fatal_Function(LOG_Facility facility, const char *format, ...);
extern void LOG_Fatal_Function(LOG_Facility facility, const char *format, ...);
/* Position in code reporting function */
extern void LOG_Position(const char *filename, int line_number, const char *function_name);

2
main.c
View File

@@ -74,7 +74,7 @@ delete_pidfile(void)
/* ================================================== */
volatile void
void
MAI_CleanupAndExit(void)
{
if (!initialised) exit(0);

2
main.h
View File

@@ -32,7 +32,7 @@
#define GOT_MAIN_H
/* Function to clean up at end of run */
extern volatile void MAI_CleanupAndExit(void);
extern void MAI_CleanupAndExit(void);
#endif /* GOT_MAIN_H */

52
make_release Executable file
View File

@@ -0,0 +1,52 @@
#!/usr/bin/env perl
$tool = "chrony";
$version = shift || die "Usage : $0 <version>\n";
$subdir = "${tool}-${version}";
unless (-d ".git") {
die "No .git subdirectory?"
}
unless (-d "RELEASES") {
mkdir "RELEASES", 0755;
}
system ("git-tag -s $version");
die "git-tag failed" if ($? != 0);
if (-d "RELEASES/$subdir") {
system ("rm -rf RELEASES/$subdir");
}
system ("git-tar-tree $version RELEASES/${subdir} | tar xf -");
die "git-tar-tree failed" if ($? != 0);
chdir "RELEASES";
$here = qx/pwd/;
chomp $here;
chdir $subdir;
open (OUT, ">version.txt");
print OUT $version."\n";
close OUT;
open (IN, "<${tool}.spec.sample");
open (OUT, ">${tool}.spec");
while (<IN>) {
s/\@\@VERSION\@\@/$version/;
print OUT;
}
close (IN);
close (OUT);
system("makeinfo --no-headers --number-sections -o chrony.txt chrony.texi");
unlink "make_release";
unlink "${tool}.spec.sample";
unlink ".gitignore";
chdir $here;
system ("tar cvf - $subdir | gzip -9 > ${subdir}.tar.gz");
system ("gpg -b -a -o ${subdir}-tar-gz-asc.txt ${subdir}.tar.gz");

View File

@@ -39,7 +39,7 @@ unsigned long
DNS_Name2IPAddress(const char *name)
{
struct hostent *host;
unsigned char *address0;
char *address0;
unsigned long result;
host = gethostbyname(name);

View File

@@ -378,7 +378,7 @@ generate_packet_auth(NTP_Packet *pkt, unsigned long keyid)
if (keyok) {
pkt->auth_keyid = htonl(keyid);
MD5Init(&ctx);
MD5Update(&ctx, keytext, keylen);
MD5Update(&ctx, (unsigned char *) keytext, keylen);
MD5Update(&ctx, (unsigned char *) pkt, offsetof(NTP_Packet, auth_keyid));
MD5Final(&ctx);
memcpy(&(pkt->auth_data), &ctx.digest, 16);
@@ -447,7 +447,7 @@ check_packet_auth(NTP_Packet *pkt, unsigned long keyid)
if (keyok) {
pkt->auth_keyid = htonl(keyid);
MD5Init(&ctx);
MD5Update(&ctx, keytext, keylen);
MD5Update(&ctx, (unsigned char *) keytext, keylen);
MD5Update(&ctx, (unsigned char *) pkt, offsetof(NTP_Packet, auth_keyid));
MD5Final(&ctx);
if (!memcmp((void *) &ctx.digest, (void *) &(pkt->auth_data), 16)) {

View File

@@ -184,7 +184,7 @@ read_from_socket(void *anything)
ReceiveBuffer message;
int message_length;
struct sockaddr_in where_from;
int from_length;
socklen_t from_length;
unsigned int flags = 0;
struct timeval now;
NTP_Remote_Address remote_addr;

View File

@@ -98,7 +98,7 @@ static void handle_end_of_slew(void *anything);
/* ================================================== */
inline static int
round(double x) {
our_round(double x) {
int y;
y = (int)(x + 0.5);
while ((double)y < x - 0.5) y++;
@@ -433,7 +433,7 @@ set_frequency(double freq_ppm) {
neg = 0;
}
required_delta_tick = round(freq_ppm / dhz);
required_delta_tick = our_round(freq_ppm / dhz);
required_freq = freq_ppm - dhz * (double) required_delta_tick;
if (neg) {

View File

@@ -35,7 +35,7 @@
#if defined (SOLARIS) || defined(SUNOS) || defined(LINUX) || defined(__NetBSD__)
#if !defined(__NetBSD__)
#if !defined(__NetBSD__) && !defined(__FreeBSD__)
#include <alloca.h>
#endif
#include <assert.h>
@@ -43,7 +43,9 @@
#include <errno.h>
#include <fcntl.h>
#include <float.h>
#if !defined(__FreeBSD__)
#include <malloc.h>
#endif
#include <math.h>
#include <netdb.h>
#include <netinet/in.h>

View File

@@ -1,4 +1 @@
#ifndef VERSION_H
#define VERSION_H
#define PROGRAM_VERSION_STRING "$Name: V1_12 $"
#endif /* VERSION_H */
DEVELOPMENT