Commit graph

1845 commits

Author SHA1 Message Date
David Lawrence
9027e1bcf1 796. [func] When a size limit is associated with a log file,
only roll it when the size is reached, not every
			time the log file is opened. [RT #1096]
2001-03-28 04:16:32 +00:00
Brian Wellington
1d92d8a245 792. [cleanup] Replace the OMAPI command channel protocol with a
simpler one.
2001-03-27 00:44:59 +00:00
Brian Wellington
6eccf5bd07 788. [feature] Add the "match-mapped-addresses" options, which
causes IPv6 v4mapped addresses to be treated as
			IPv4 addresses for the purpose of acl matching.
2001-03-26 21:33:07 +00:00
Andreas Gustafsson
9efa0d2ae3 do not capitalize error message strings 2001-03-24 02:18:42 +00:00
Brian Wellington
734ae1f7c6 isc_{base64|hex}_decodestring took an unused mctx. Remove the mctx. 2001-03-22 00:07:07 +00:00
Brian Wellington
48565891e8 784. [bug] nsupdate and other programs would not quit properly
if some signals were blocked by the caller. [RT #1081]
2001-03-20 21:45:20 +00:00
Brian Wellington
dde4382b7f fix comment 2001-03-19 22:44:52 +00:00
Brian Wellington
2f02f32f04 exit(1), not exit(-1) 2001-03-14 06:31:17 +00:00
Bob Halley
c6237585d8 Fix some typos in the non-threaded version of isc_rwlock_trylock() that
were preventing compilation.
2001-03-08 19:52:13 +00:00
David Lawrence
a82fd2c01b added non-blocking locking, isc_rwlock_trylock() 2001-03-08 00:55:15 +00:00
Andreas Gustafsson
d55642259e use a simpler, faster hash function 2001-03-07 23:52:16 +00:00
Brian Wellington
2eb3dafdcf Add the socket flag ISC_R_NORETRY, which makes the socket code treat
a soft error as a hard error on send (that is, not retry it).  It also
modifies the code calling sendmsg() to retry on EINTR.
2001-03-06 01:23:03 +00:00
Danny Mayer
943322a123 Remove LIBISC_EXTERNAL_DATA usage 2001-03-05 18:47:00 +00:00
Danny Mayer
8096fe1df5 put function declaration on new line 2001-03-05 18:20:24 +00:00
David Lawrence
c56c28c3f2 grammatical typo in comment 2001-03-05 12:34:02 +00:00
Brian Wellington
303243b9d4 Add isc/unix/syslog.c with a function to convert strings to syslog facilities. 2001-03-02 19:25:19 +00:00
Brian Wellington
a8dd4ccadb missing space 2001-03-01 22:40:09 +00:00
Andreas Gustafsson
28a3d52904 define ISC_PLATFORM_QUADFORMAT in platform.h so that it can more easily
be overridden on Win32.  This means ISC_PLATFORM_LONGLONGEQUALLONG is no longer
needed. [RT #896]
2001-02-27 02:22:17 +00:00
Andreas Gustafsson
c05eeed3c9 754. [bug] Certain failure returns from sendto() could
cause the server to retry the transmission
                        indefinitely. [RT #902]
2001-02-24 23:51:09 +00:00
Mark Andrews
70ec7dd741 fix tv_usec in isc_time_nowplusinterval() also. 2001-02-24 10:22:20 +00:00
Mark Andrews
0fd53e151b unse not sec 2001-02-24 02:53:38 +00:00
Mark Andrews
df0f58959e 752. [func] Correct bad tv_usec elements returned by gettimeofday(). 2001-02-23 23:12:28 +00:00
Andreas Gustafsson
042285a6a6 localization-wise, an assertion error message saying
(literally) "INSIST(isc_msgcat_get(isc_msgcat, ISC_MSGSET_PRINT, ISC_MSG_USELD,
"use %ld instead of %D") == NULL) failed" is not really any more user-friendly
than one saying just "INSIST("use %ld instead of %D" == NULL) failed
2001-02-22 19:12:57 +00:00
Andreas Gustafsson
9165c95fc2 use isc_int64_t, not long long 2001-02-22 18:03:11 +00:00
Andreas Gustafsson
4115f9d34b revert 'protect long long with ISC_PLATFORM_HAVELONGLONG' change 2001-02-22 18:01:48 +00:00
Mark Andrews
0490a61acd protect long long with ISC_PLATFORM_HAVELONGLONG 2001-02-21 06:13:33 +00:00
Mark Andrews
754cca729d add long long test 2001-02-21 06:09:56 +00:00
Andreas Gustafsson
b7d448de55 no need to specifically ask people to mail bind9-bugs about mempool leaks 2001-02-20 22:03:36 +00:00
Andreas Gustafsson
52719005ab removed empty line 2001-02-17 01:23:43 +00:00
Brian Wellington
94178e98f8 isc_base64_decodestring should take a const char *, not a char * 2001-02-15 23:21:47 +00:00
Brian Wellington
2d67fbd786 80 character lines 2001-02-15 07:58:48 +00:00
Andreas Gustafsson
449f4411c9 NO NEED TO SHOUT 2001-02-14 23:05:14 +00:00
Brian Wellington
47d78f67cb Give more information when isc_mempool_destroy() dies with an assertion
failure, in the hope that we'll be able to fix the bug one day.
2001-02-13 20:29:27 +00:00
Mark Andrews
382c4ce5a3 737. [port] stdtime failed to compile on certain platforms. 2001-02-13 13:24:09 +00:00
Mark Andrews
ba6e506ed2 #if not #ifdef ISC_MEM_TRACKLINES 2001-02-13 13:20:37 +00:00
Mark Andrews
b499a7c511 Print out the active memory prior to INSIST/REQUIRE failures. 2001-02-13 06:21:32 +00:00
Andreas Gustafsson
02940eaf0f 736. [func] New functions isc_task_{begin,end}exclusive(). 2001-02-13 04:11:44 +00:00
Brian Wellington
9f708f9014 isc_mem_stats() should print memory statistics even when there are no
allocated blocks at the time it's called.
2001-02-13 01:07:54 +00:00
Andreas Gustafsson
ea16b37d71 install refcount.h 2001-02-12 23:11:05 +00:00
Brian Wellington
1f7f8d5c07 Add isc_socket_sendto2() and isc_socket_recv2(). These versions take
a partially constructed event and flags.  The flags can include
ISC_SOCKFLAG_IMMEDIATE, which means that if the operation completes, the
event is filled in and not sent.
2001-02-12 21:43:17 +00:00
Brian Wellington
a13ca8a125 Add ISC_R_INPROGRESS (operation in progress) 2001-02-12 20:03:16 +00:00
Brian Wellington
7c3996209b fix a "statement is unreachable" warning 2001-02-11 00:52:31 +00:00
Andreas Gustafsson
1d625775ee note that max_size and target_size apply only when
ISC_MEM_USE_INTERNAL_MALLOC is set
2001-02-09 19:19:17 +00:00
Andreas Gustafsson
50179a15d1 UNUSED() 2001-02-09 19:08:11 +00:00
Andreas Gustafsson
dd0ef1a9d3 removed the unused and undocumented functions
isc_mem_preallocate(), isc_mem_valid(), isc_mem_setsplit(), and
isc_mem_restore()
2001-02-09 19:05:23 +00:00
Andreas Gustafsson
c674a8d5e7 documented the isc_mem_* interface 2001-02-09 18:51:20 +00:00
Andreas Gustafsson
780db05762 use the UNUSED() macro 2001-02-09 18:27:18 +00:00
Andreas Gustafsson
3f53ec3bd7 added missing copyright message; ISC_REFERENCE_H -> ISC_REFCOUNT_H 2001-02-09 00:26:20 +00:00
Andreas Gustafsson
b7f7a77d56 #include <isc/mutex.h> 2001-02-09 00:20:01 +00:00
Brian Wellington
1938554ccc consolidate duplicated code 2001-02-08 00:04:11 +00:00
Mark Andrews
df0bcff664 extend change #727 to check returned address length for zero. 2001-02-07 23:40:28 +00:00
Brian Wellington
744304361c actually call isc_thread_setconcurrency() 2001-02-07 21:16:12 +00:00
Andreas Gustafsson
1964de81da UNUSED() macro added in 1.79 was in the wrong place 2001-02-07 20:05:15 +00:00
Andreas Gustafsson
91f74728a7 UNUSED() 2001-02-07 20:03:23 +00:00
Brian Wellington
abc0c36dc3 The ISC__BUFFER_INIT macro had a typo. 2001-02-07 01:36:12 +00:00
Andreas Gustafsson
9a3ee1570d "hard" errors in accept() were handled really badly. They were logged
twice, and the socket object for the new socket was never destroyed,
causing the server to hang on exit (if multithreaded) or dump core on exit
(if singlethreaded).  Now the only difference between "hard" and "soft" errors
is that the latter are not logged.
2001-02-06 23:43:01 +00:00
Andreas Gustafsson
8dab78b566 as a workaround for various OS bugs, do not INSIST() that
accept() returns a valid peer address; instead just log an ugly error message
and continue if the peer address is left unchanged or insane by accept()
[RT #809]
2001-02-06 23:04:02 +00:00
Brian Wellington
2305225a1c The interface name field was only partially initialized. 2001-02-06 01:20:46 +00:00
Brian Wellington
770d3b36da ctx->checkfree was only being initialized if USE_INTERNAL_MALLOC was on. 2001-02-05 23:48:25 +00:00
Brian Wellington
0ef3f4fb41 When memsetting the entropy pool to 0, the count should be the size in bytes,
not words.
2001-02-05 23:00:18 +00:00
Andreas Gustafsson
7e361074bc 724. [func] New libisc functions isc_netaddr_any(),
isc_netaddr_any6().
2001-02-02 02:48:47 +00:00
Brian Wellington
63ca494e7e Added the isc_refcount_t type, which is a generic locked reference counter,
and make the rbtdb, zone, and view objects use it.
This should reduce contention on other locks, since (in the normal)
implementation, the reference count has its own lock.  In the future, it
should also be possible to implement an isc_refcount_t with atomic operations
instead of mutexes, which should also help performance.
2001-01-30 02:50:51 +00:00
Mark Andrews
fd50497bbe isc_dir_chroot() 2001-01-29 03:17:45 +00:00
Brian Wellington
6f9786fdcf Consolidate duplicated code in isc_socket_sendto[v] and isc_socket_recv[v]. 2001-01-27 06:41:36 +00:00
Brian Wellington
3a66efb0cb remove the completely unused timer->mctx field. 2001-01-27 02:44:07 +00:00
Brian Wellington
562f162981 remove unused labels 2001-01-27 01:16:09 +00:00
Brian Wellington
dd66e6306b Remove isc_socket/[send|recv]mark, which were never used. 2001-01-26 23:17:26 +00:00
Damien Neil
dfb0717d75 - Receive and send operations on UDP sockets no longer need to acquire
the socket lock.  (Assuming the operation succeeds immediately, and doesn't
need to be queued.)

- Communications with the watcher thread tweaked to reduce the need for
locking.
2001-01-25 22:25:10 +00:00
Andreas Gustafsson
b586eb4408 revert half of 711. - there was no off by one error in the v6 case,
only in the v4 case
2001-01-25 20:10:02 +00:00
Brian Wellington
1ac2c28488 711. [bug] The libisc and liblwres implementations of
inet_ntop contained an off by one error.
2001-01-25 19:39:48 +00:00
Damien Neil
3c31899857 Fix warning in the overrun detection code. 2001-01-25 01:38:01 +00:00
Damien Neil
823eed5ea9 Made the internal malloc() optional, selected by the
ISC_MEM_USE_INTERNAL_MALLOC preprocessor constant.
2001-01-25 01:18:00 +00:00
Brian Wellington
f6478f5e44 formatting & macro updates 2001-01-24 21:12:48 +00:00
Brian Wellington
1e3bc7eaeb only use data from accept() if accept succeeds. 2001-01-23 21:07:12 +00:00
Andreas Gustafsson
b346ae570d style 2001-01-23 20:45:31 +00:00
Brian Wellington
e90441d922 INSIST that accept() returns a socket of the correct protocol family. Also
assign the "pf" field in the new socket.
2001-01-23 20:42:46 +00:00
Mark Andrews
ab0380976c add isc/platform.h 2001-01-23 06:00:11 +00:00
Mark Andrews
4ae98f5100 Use approptiate typoe based on configure results. 2001-01-23 05:13:25 +00:00
Mark Andrews
66ad1d85cb 703. [port] sys/select.h is needed on older platforms. [RT #695] 2001-01-23 04:47:56 +00:00
Mark Andrews
07d6480b68 704. [port] RLIMIT_NOFILE in to available on all platforms.
[RT #695]
2001-01-23 03:14:28 +00:00
Mark Andrews
363cb30a83 703. [port] sys/select.h is needed on older platforms. [RT #695] 2001-01-23 03:07:18 +00:00
Brian Wellington
47f65caf30 The msgcat text contained an extra %s. 2001-01-23 02:27:19 +00:00
Andreas Gustafsson
e8af4e1524 699. [bug] The lexer mishandled empty quoted strings. [RT #694] 2001-01-22 02:46:34 +00:00
Andreas Gustafsson
eed89be339 incremented library version number for 9.2 2001-01-19 01:55:11 +00:00
Bob Halley
5c7d67e3e6 include <stdlib.h> to get prototype for exit() 2001-01-17 19:48:45 +00:00
Mark Andrews
fb0663dbdd 687. [bug] Only say we have IPv6, with sufficent functionality,
if it has actually been tested.  [RT #586]
2001-01-17 02:11:20 +00:00
Brian Wellington
64dcb08113 If the app is blocked and a shutdown signal arrives, just exit(). 2001-01-17 00:48:54 +00:00
Mark Andrews
2728a98ee4 683. [bug] file leak in isc_lex_openfile(). 2001-01-16 07:47:16 +00:00
Andreas Gustafsson
90bffb134e make_nonblock() errors were reported twice, and one of the instances
used the wrong errno value [RT #640]
2001-01-11 18:57:23 +00:00
Brian Wellington
499b34cea0 copyright update 2001-01-09 22:01:04 +00:00
Mark Andrews
6976801867 Replace memset() w/ null assignment to last element of array.
the strncpy() fills in the other bytes.
2001-01-09 00:39:46 +00:00
Andreas Gustafsson
1514371d94 added UNUSED() macro 2001-01-08 19:58:10 +00:00
Andreas Gustafsson
d1dc805692 include NetBSD mutex debugging kludge only if explicitly requested
with -DISC_MUTEX_DEBUG and only if PTHREAD_MUTEX_ERRORCHECK is defined by the pthreads library
2001-01-08 19:47:30 +00:00
Andreas Gustafsson
9afcd92352 enable deadlock detection for mutexes on NetBSD 2001-01-06 01:26:36 +00:00
Brian Wellington
f92f41acea Detect multiple CPUs on HP-UX. 2001-01-06 01:10:04 +00:00
Brian Wellington
6cf489f9bc Enabling mutex profiling caused compilation to fail. 2001-01-05 02:17:03 +00:00
Brian Wellington
7357590bee 656. [func] Treat an unescaped newline in a quoted string as
an error.  This means that TXT records with missing
                        close quotes should have meaningful errors printed.
2001-01-05 01:02:26 +00:00
Damien Neil
2e36a55861 Added changes for mutex profiling. 2001-01-04 23:38:37 +00:00
Damien Neil
b2a6ebf1bd Cleaned up some nasty hacks I forgot in the mutex profiling code. 2001-01-04 23:34:03 +00:00
Damien Neil
e535db4a21 Removed some very nasty hacks which I had forgotten in the mutex
profiling code.
2001-01-04 23:32:15 +00:00
Damien Neil
0195648290 Turn off mutex profiling by default. (Oops.) 2001-01-04 22:39:33 +00:00
Damien Neil
e9453d609d Mutex profiling updates, to collect more statistics on mutex usage. 2001-01-04 22:37:37 +00:00
Brian Wellington
bb06860389 CPU detection for IRIX. 2001-01-04 02:52:13 +00:00
Brian Wellington
4502c1b020 spelling 2001-01-04 00:28:19 +00:00
Mark Andrews
4e7942dc76 648. [port] Add support for pre-RFC2133 IPv6 implementations. 2001-01-03 13:13:14 +00:00
David Lawrence
b8ebf57228 fix a rather stupid incomplete cut-n-pasting job of in the
ISC_PLATFORM_FIXIN6ISADDR block for UnixWare.
2001-01-01 22:02:27 +00:00
Brian Wellington
ed6d3c9660 remove sanitize cruft 2000-12-29 22:07:25 +00:00
Brian Wellington
0c710d7162 #define isc_mutex_stats to nothing 2000-12-29 19:55:37 +00:00
Brian Wellington
26d20cd51c oops, forgot to commit this yesterday. 2000-12-29 18:19:52 +00:00
Brian Wellington
3f160155da ISC_MUTEX_PROFILE can be set to enable basic mutex profiling. Running named
with -s prints the results.
2000-12-29 01:29:56 +00:00
Brian Wellington
8e047d3b74 microoptimizations to make quantize/rmsize more efficient. 2000-12-29 01:02:07 +00:00
David Lawrence
090432605e isc_file_renameunique() set its result incorrectly if renaming failed; it used
the value of errno from an unlink() call, not from the rename() call.
2000-12-27 17:21:53 +00:00
Brian Wellington
ee303f481d 639. [bug] Reading entropy from the keyboard would sometimes fail.
[RT #591]

note: the entropy callback conventions should really be documented.
2000-12-27 00:11:26 +00:00
David Lawrence
801dceea23 Revert my last change. It was stupid, which I if I had been thinking clearly
I would have seen *before* I commited anything.  So, include isc/thread.h,
isc/mutex.h and isc/condition.h even if ISC_PLATFORM_USETHREADS is not defined.

(What caused me to bother with this at all was a problem that I resolved
a few days ago by fixing configure ... though now that I think about it,
that probably means there is some other latent problem with inconsistent
definitions that could maybe be handled better.  I'll look into it more
later, AFTER vacation.)
2000-12-26 21:45:08 +00:00
David Lawrence
bdcae3560b Only include isc/thread.h, isc/mutex.h and isc/condition.h if
ISC_PLATFORM_USETHREADS is defined.
2000-12-26 21:12:25 +00:00
David Lawrence
8ab1d97093 sigh. "define" -> "defined". never make trivial changes without retesting. 2000-12-26 21:06:49 +00:00
David Lawrence
86b8c48576 638. [port] lib/isc/random.c needed to explicitly include
time.h explicitly to get a prototype for time() when
			pthreads was not being used. [RT #592]
2000-12-26 21:02:14 +00:00
David Lawrence
125a916d1a 637. [port] Use isc_u?int64_t instead of (unsigned) long long in
lib/isc/print.c.  Also allow lib/isc/print.c to
			be compiled even if the platform does not need it.
			[RT #592]

Also cleaned up some const issues.
2000-12-26 21:00:41 +00:00
David Lawrence
0b3427d15c 636. [port] Shut up MSVC++ about a possible loss of precision
in the ISC__BUFFER_PUTUINT*() macros. [RT #592]

This is the basically the same change made to buffer.c before the macros
were created:

   revision 1.18
   date: 1999/09/23 17:54:57;  author: tale;  state: Exp;  lines: +4 -4
   Shut up MSVC++ compiler warning about loss of precision when assigning
   8 bits masked out of a 32 bit int to individual bytes.

Also, an #if 0 around "#define ISC_BUFFER_USEINLINE" was removed, per the
ISC coding style, and instead a comment was used to disable the definition.
2000-12-26 20:51:14 +00:00
David Lawrence
f8da2d9583 634. [bug] A log file will completely stop being written when
it reaches the maximum size in all cases, not just
			when versioning is also enabled. [RT #570]
2000-12-23 19:23:48 +00:00
David Lawrence
17012a8797 632. [port] Cope with rlim_t missing on BSD/OS systems. [RT #575] 2000-12-23 02:46:34 +00:00
Brian Wellington
489b762926 - if pthreads are not found, build a nonthreaded version
- check for pthread_attr_getstacksize
2000-12-22 20:50:05 +00:00
Andreas Gustafsson
4c1fee4236 don't turn on ISC_MEM_BDEBUGRECORD by default 2000-12-22 18:30:26 +00:00
Brian Wellington
48540261f1 replace (isc_mem_debugging > 1) with (MEM_RECORD) 2000-12-22 00:26:33 +00:00
Andreas Gustafsson
2207599e64 condition.h was not installed 2000-12-21 16:14:49 +00:00
Brian Wellington
a644e87df7 Move the msgcat stuff into socket_log(), to avoid unnecessary calls to
isc_msgcat_get() and speed things up.
2000-12-19 20:35:37 +00:00
Andreas Gustafsson
70c91849c3 eliminated compiler warning 2000-12-19 19:29:13 +00:00
Andreas Gustafsson
0833ef954a when code is duplicated (which it shouldn't be), it should at
least be duplicated consistently
2000-12-19 19:19:45 +00:00
Brian Wellington
64a84169d7 621. [port] Disable IPv6 at runtime if they are unusable. This
mostly affects Red Hat Linux 7.0.
2000-12-19 01:36:52 +00:00
Andreas Gustafsson
6c29053a20 614. [bug] Checks for uninitialized link fields were prone
to false positives, causing assertion failures.
                        The checks are now disabled by default and may
                        be re-enabled by defining ISC_LIST_CHECKINIT.
2000-12-15 00:20:55 +00:00
Andreas Gustafsson
5412d26798 entropy.c did not include header files necessary for select(),
causing nonthreaded builds to fail on AIX
2000-12-14 22:40:17 +00:00
David Lawrence
b74896ead5 599. [func] Added four new functions to the libisc log API to
support i18n messages.  isc_log_iwrite(),
			isc_log_ivwrite(), isc_log_iwrite1() and
			isc_log_ivwrite1() were added.

(The log.h/log.c changes were just minor formatting changes.)
2000-12-12 05:29:33 +00:00
Andreas Gustafsson
fc6f5743aa use isc_log_iwrite() for localized logging,
to keep backwards compatibility
2000-12-12 00:18:01 +00:00
Andreas Gustafsson
eb2d0f4d9d isc_thread_self() is a function, not an integer [RT #551] 2000-12-11 19:17:29 +00:00
Andreas Gustafsson
dea478db31 isc_symexists_ policies were not referred to by their
true names in the header comments
2000-12-11 04:08:52 +00:00
Mark Andrews
dd2e7df916 pointer math 2000-12-09 03:20:05 +00:00
Andreas Gustafsson
10e22ebcc3 605. [func] New function isc_lex_getlasttokentext(). 2000-12-09 02:05:26 +00:00
Brian Wellington
bb812feb3c line numbers could be corrupted by very large tokens. 2000-12-09 00:41:33 +00:00
David Lawrence
e544b507b8 602. [func] Cope automatically with UnixWare's broken
IN6_IS_ADDR_* macros. [RT #539]
2000-12-08 00:55:51 +00:00
Mark Andrews
6fda157766 ISC_LINK_*UNSAFE -> ISC_LINK_INITAND* 2000-12-07 20:15:58 +00:00
David Lawrence
b161f87be8 Updated API to support i18n message arguments to isc_log_{,v}write{,1}.
Provided isc_log_i{,v}write{,1}, with appropriate macro substitutions,
for files that are not yet converted to the new API.  When everything
is converted, the added functions will be removed.
2000-12-07 19:30:28 +00:00
Brian Wellington
1afae09da4 redundant code 2000-12-06 23:39:04 +00:00
David Lawrence
92f9189aee move definition of check_overrun() before its first use 2000-12-06 20:34:34 +00:00
David Lawrence
f616ef2ea9 missing close parenthesis for an isc_msgcat_get() in an
"#if ISC_MEM_TRACKLINES" block.
2000-12-06 20:32:12 +00:00
Brian Wellington
17aac384e0 595. [port] On Linux 2.2, socket() returns EINVAL when it
should return EAFNOSUPPORT.  Work around this.
2000-12-06 01:53:38 +00:00
David Lawrence
ee57537f1d missing close parenthesis after an isc_mgscat_get() 2000-12-06 01:28:02 +00:00
David Lawrence
77078ddc9a added msgs.h 2000-12-06 01:24:24 +00:00
David Lawrence
87762baad1 oops, guess you guys need this 2000-12-06 01:21:51 +00:00
David Lawrence
9cd6d409b7 first pass at using isc_msgcat_get for message strings in libisc 2000-12-06 00:30:32 +00:00
Andreas Gustafsson
6e8d5fd217 missed some #ifdef->#if changes 2000-12-01 00:52:38 +00:00
Andreas Gustafsson
c52e5c8ed1 test the various memory debug flags with #if instead of #ifdef
so that they can be turned off by passing -DISC_MEM_FOO=0 on the compiler
command line; removed some historical cruft
2000-12-01 00:32:02 +00:00
Andreas Gustafsson
16ef05fe1b incremented 2000-11-30 23:06:32 +00:00
Andreas Gustafsson
25303900d1 missing semicolon 2000-11-29 01:51:54 +00:00
Andreas Gustafsson
1d90a73d6d Make reloads work again after condition variable hack; added comments 2000-11-29 01:50:49 +00:00
Andreas Gustafsson
8e7ce54bef Make omapi clients work on single-threaded systems by
means of a gross hack involving recursive invocation of the
event loop. [RT #505]
2000-11-29 01:27:09 +00:00
Andreas Gustafsson
1f1ff380e0 switch() was missing all break; statements, causing setting of resource
limits to always fail
2000-11-28 21:40:52 +00:00
Andreas Gustafsson
78aa86abc6 typos 2000-11-27 17:49:41 +00:00
Mark Andrews
07892e4443 Memory leak when ISC_MEM_TRACKLINES is defined. 2000-11-25 06:40:54 +00:00
Mark Andrews
8a0ff6c15c 576. [doc] isc_log_create() description did not match reality.
575.   [bug]           isc_log_create() was not setting internal state
                        correctly to reflect the default channels created.
2000-11-24 01:37:26 +00:00
Brian Wellington
bfa244d5d4 Mark callback sources as bad if the get() routine returns failure. Also
some other cleanup, and a reversal of the incorrect destroylock patch.
2000-11-23 01:04:00 +00:00
Brian Wellington
a452eb6b5d a mutex wasn't being destroyed 2000-11-23 00:26:11 +00:00
Andreas Gustafsson
20e1ac3376 removed unused variable poke_needed 2000-11-22 23:48:14 +00:00
Brian Wellington
b0214977e8 Instead of storing parentheses deltas, just copy lex->paren_count and
restore it on ungettoken().  This is much easier (thanks, Mark).
2000-11-20 00:41:50 +00:00
Brian Wellington
cfd8d65ec1 #include <ctype.h> 2000-11-19 22:10:03 +00:00
Brian Wellington
fb1ee7bee0 isc_hex_fromtext didn't handle lowercase a-f 2000-11-19 20:58:58 +00:00
Brian Wellington
bea3d187ee fixed another assertion failure. 2000-11-18 21:15:23 +00:00
Brian Wellington
cffe50abf6 Lots of copyright updates 2000-11-18 03:01:17 +00:00
Andreas Gustafsson
fcf28b759c Don't log ENFILE and EMFILE as unexpected errors 2000-11-18 02:56:48 +00:00
Brian Wellington
6a9f7f6e51 fix paren handling in quoted strings again. 2000-11-18 01:02:39 +00:00
Brian Wellington
66a39bda9c parentheses in strings were handled incorrectly. 2000-11-18 00:54:19 +00:00
Andreas Gustafsson
0d8fe6131e treat EHOSTDOWN (if defined) the same as EHOSTUNREACH rather than as an
unexpected error [RT #215]
2000-11-17 21:04:12 +00:00
Brian Wellington
729916054d if a string token was immediately followed by an EOF token, ungetting the
string token would fail.
2000-11-17 00:34:37 +00:00
Brian Wellington
308785a470 If a token is ungotten, the source is no longer at EOF. 2000-11-16 03:44:41 +00:00
Brian Wellington
09ce346fd8 ungetting eof tokens could trigger an assertion. 2000-11-16 03:03:16 +00:00
David Lawrence
78e5d07050 comment why <sys/time.h> is needed 2000-11-15 22:41:56 +00:00
Mark Andrews
edc9f47a1d add #include <sys/time.h> 2000-11-15 03:58:53 +00:00
David Lawrence
21ec512685 some systems do not implement all of the resources of
the isc_resource_t enum, so the API was changed to return
ISC_R_NOTIMPLEMENTED in such cases.
2000-11-15 02:11:50 +00:00
Andreas Gustafsson
4b7018f4cc illegal token after #endif 2000-11-15 01:31:45 +00:00
Brian Wellington
b8d6376e1b the ungettoken changes also broke multiline records. 2000-11-15 00:42:53 +00:00
David Lawrence
7ff4d6ebca compile unix/resource.c 2000-11-14 23:43:36 +00:00
David Lawrence
3fdfcc7977 use symbolic constant for formatting 64 bit ints 2000-11-14 23:42:29 +00:00
David Lawrence
1097943242 would have helped if the MIN/MAX for all of the signed integers were not
reversed.
2000-11-14 23:41:46 +00:00
David Lawrence
6c7b702df1 symbolic constant for the format string of a 64 bit long 2000-11-14 23:40:31 +00:00
David Lawrence
d653744935 isc_resource_t, isc_resourcevalue_t 2000-11-14 23:39:34 +00:00
David Lawrence
015c481e8b new functions, isc_resource_getlimit and isc_resource_setlimit, via new
header file, <isc/resource.h>
2000-11-14 23:39:15 +00:00
David Lawrence
b59aac4816 new functions, isc_resource_getlimit and isc_resource_setlimit 2000-11-14 23:38:10 +00:00
David Lawrence
1ab0c9558f map EPERM to ISC_R_NOPERM 2000-11-14 23:37:26 +00:00
David Lawrence
91676aba50 provide errno by way of errno.h 2000-11-14 23:37:10 +00:00
David Lawrence
be9a4bd82a symbolic constants for integral maximums and signed integral minimums 2000-11-14 23:35:43 +00:00
Brian Wellington
1f2f5445ec remove an uninitialized variable warning 2000-11-13 21:29:27 +00:00
Mark Andrews
733e928f71 552. [bug] We were not correctly detecting the end of all c-style
comments.  [RT #455]
2000-11-13 04:09:40 +00:00
Brian Wellington
66f7feef55 the ungettoken changes broken line number reporting 2000-11-10 01:41:00 +00:00
Brian Wellington
066faef119 548. [func] The lexer now ungets tokens more correctly. 2000-11-09 02:23:40 +00:00
Brian Wellington
60a7fe5da1 remove uninitialized variable. 2000-11-08 18:24:37 +00:00
Brian Wellington
add4043305 The identical gettoken() routines in rdata.c, hex.c, and base64.c have
been replaced with isc_lex_getmastertoken().
2000-11-08 01:56:15 +00:00
Brian Wellington
19e0a2c2d1 Add isc_hex_* routines, which handle conversion to and from hex strings. 2000-11-07 20:58:08 +00:00
Andreas Gustafsson
b28d2a3d7b the established alternate spelling of 'template' is
'templet', not 'templat'
2000-10-20 22:09:01 +00:00
Mark Andrews
4b6d5b2312 528. [func] The ISC_LIST_XXXX macros now perform sanity checks
on their arguements.  ISC_LIST_XXXXUNSAFE can be use
                        to skip the checks however use with caution.
2000-10-20 13:35:58 +00:00
Mark Andrews
5e589b5356 Uninitalised link fixes, batch 1. 2000-10-20 02:21:58 +00:00
Mark Andrews
643f42815f Modified list macros w/ checking currently disabled. 2000-10-20 01:57:57 +00:00
Brian Wellington
1dc5c713eb removed unused variable 2000-10-19 01:10:24 +00:00
Mark Andrews
78bdbbaccb 'more_frags' lost the memory after the last fragment. Add the remaining
memory to the appropriate free list.
2000-10-13 05:37:17 +00:00
Brian Wellington
c0150ad6aa Don't call UNEXPECTED_ERROR if setsockopt(SO_TIMESTAMP) returns ENOPROTOOPT. 2000-10-12 00:35:49 +00:00
Mark Andrews
3030ea490c If the rename failed in isc_file_renameunique() unlink the temporary file. 2000-10-07 06:55:01 +00:00
Brian Wellington
e0521dac5d Not all of the setsockopt failures logged the reason for failure. 2000-10-07 00:16:50 +00:00
Mark Andrews
9282d220f4 New functions isc_file_template(), isc_file_renameunique().
isc_file_template() allows the caller to specify the prefix unlike
isc_file_mktemplate().  The later is now written using isc_file_template().
2000-10-03 05:45:39 +00:00
Brian Wellington
2c18231946 The nonthreaded private include files should be deleted by the sanitizer. 2000-09-28 21:32:51 +00:00
Brian Wellington
0d89afffb2 Make sure #else and #endif for ISC_PLATFORM_USETHREADS are marked as such. 2000-09-28 21:31:08 +00:00
Mark Andrews
cd5475efa4 Describe and enforce the contract for isc_event_allocate().
Silent failure for bad args is not the BIND 9 way.
2000-09-27 22:53:33 +00:00
Brian Wellington
c76926d714 comment updates 2000-09-26 22:14:35 +00:00
Brian Wellington
df03463a37 Allow *_log_setcontext() to be called multiple times, so that *_lctx
can be set to NULL once the log context has been freed.
2000-09-26 22:10:44 +00:00
Andreas Gustafsson
94361d5867 simplified isc_random_jitter() and eliminated floating
point from the code using it in zone.c
2000-09-26 17:23:19 +00:00
Brian Wellington
3f123dcc2f 487. [port] flockfile() is not defined on all systems.
Also check for libpthreads, if libpthread isn't found.
2000-09-22 18:52:39 +00:00
Michael Graff
08ad332552 put a break in the switch 2000-09-21 21:40:29 +00:00
Michael Graff
e710c2162a check for more expected error values in connect() case 2000-09-21 21:30:27 +00:00
Andreas Gustafsson
922e6a3c2a 478. [bug] "make install" failed if the directory specified with
--prefix did not already exist.
2000-09-20 19:06:16 +00:00
Andreas Gustafsson
c89ac488df 472. [bug] Off-by-one error caused isc_time_add() to sometimes
produce invalid time values.
2000-09-18 18:43:03 +00:00
Brian Wellington
f3f22040a8 The ipv6 probe fails if IPv6 is disabled. 2000-09-15 20:52:27 +00:00
Bob Halley
3302ed8d6e bitstring assertion addition; doc fixes 2000-09-13 00:11:45 +00:00
Andreas Gustafsson
a9d3c26ed0 some CPP macros were not fully parenthesized 2000-09-12 23:27:44 +00:00
Bob Halley
83d2840b6f fix erroneous isc_bitstring_copy() REQUIRE 2000-09-12 19:26:40 +00:00
Brian Wellington
0fded1c8b7 remove warnings. 2000-09-12 13:46:12 +00:00
Andreas Gustafsson
b7e031d517 435. [bug] dns_zone_dump() overwrote existing zone files
rather than writing to a temporary file and
                        renaming.  This could lead to empty or partial
                        zone files being left around in certain error
                        conditions involving the initial transfer of a
                        slave zone, interfering with subsequent server
                        startup. [RT #282]
2000-09-08 21:47:03 +00:00
Andreas Gustafsson
e881887f18 commented 2000-09-08 21:25:21 +00:00
Andreas Gustafsson
7ec4367f3d 434. [func] New function isc_file_isabsolute(). 2000-09-08 18:37:28 +00:00
Andreas Gustafsson
2c9c7c5bb5 433. [func] isc_base64_decodestring() now accepts newlines
within the base64 data.  This makes it possible
                        to break up the key data in a trusted-keys
                        statement into multiple lines. [RT #284]
2000-09-08 00:34:21 +00:00
Michael Graff
95236b0363 make the returned value sane in all cases 2000-09-08 00:06:39 +00:00
Michael Graff
1deaf52c98 kill persistent errors. Always retry the I/O now. 2000-09-07 01:59:57 +00:00
Michael Graff
e558faa60b make unreachable errors on unconnected UDP sockets be soft errors, rather than hard ones. 2000-09-06 22:55:33 +00:00
Andreas Gustafsson
3bd723c53a clarified comment 2000-09-06 16:25:35 +00:00
Michael Graff
7da0286b54 get rid of isc_random_t -- use a wrapper around rand() instead that doesn't do as much work. Also, implement isc_random_jitter(), used to generate a value between a min, max, with a provided jitter value. 2000-09-06 02:40:00 +00:00
Mark Andrews
6c6bed90cb Add comments describing isc_mem_putanddetach(). 2000-09-05 22:20:36 +00:00
Mark Andrews
1162a4e02a New function isc_mem_putanddetach(). 2000-09-05 03:30:19 +00:00
Brian Wellington
1b32bc7da1 417. [func] Add isc_app_block() and isc_app_unblock(), which
allow an application to handle signals while
                        blocking.
2000-09-01 21:31:54 +00:00
Brian Wellington
4b809ba346 415. [bug] The logging code leaked file descriptors. 2000-08-31 20:58:15 +00:00
Andreas Gustafsson
04cec6dc5b comment style 2000-08-31 17:10:58 +00:00
Andreas Gustafsson
50a3152b70 clarified comment 2000-08-31 16:58:28 +00:00
Mark Andrews
7523838d84 make error message more informative. 2000-08-31 13:38:55 +00:00
Mark Andrews
3a34b87c87 Add cache cleaning support (disabled). 2000-08-31 12:15:17 +00:00
Brian Wellington
5a842a6fc3 The non-threaded version does a better job avoiding starvation. 2000-08-30 23:47:16 +00:00
Mark Andrews
68e32e13a5 #include <isc/platform.h> 2000-08-30 21:24:57 +00:00
Brian Wellington
aa3f41bafc signals were broken in the non-threaded version 2000-08-30 01:43:59 +00:00
Brian Wellington
743add946b Comment out calls to flockfile() and funlockfile(), since it's not
evident that they're needed, and they don't work on all platforms without
threads.
2000-08-30 01:28:10 +00:00
Brian Wellington
5aa95f94c9 don't need <pthread.h> or <isc/platform.h> 2000-08-30 01:11:37 +00:00
Brian Wellington
ae8b7e02a8 Non threaded isc_app_* - basically an event loop that calls into the
task, timer, and socket modules.
2000-08-30 00:58:28 +00:00
Brian Wellington
efafe4fa7f Non-threaded socket manager. 2000-08-29 23:58:17 +00:00
Brian Wellington
8dd5562555 #include <isc/platform.h> 2000-08-29 22:55:57 +00:00
Brian Wellington
0c4887513b add copyright 2000-08-29 22:53:59 +00:00
Brian Wellington
3be0a4382d ALlow the task manager to run without threads. This doesn't handle fairness
too well.
2000-08-29 22:30:14 +00:00
Brian Wellington
8ec174ad4e Allow the timer code to run without threads. 2000-08-29 21:30:03 +00:00
Brian Wellington
5e872705df condition.c needs to be added 2000-08-29 19:22:34 +00:00
Brian Wellington
fafb62400d When --disable-threads is passed, use "nothreads" instead of "pthreads" in
the build process.
2000-08-29 18:24:01 +00:00
Brian Wellington
f05941692e Add an empty lib/isc/nothreads/condition.c, since it greatly simplifies
the build process.
2000-08-29 18:19:29 +00:00
Brian Wellington
3c7f352550 single-threaded versions. 2000-08-29 00:33:36 +00:00
Brian Wellington
9ce781741a don't use DESTROYLOCK, since isc_mutexblock_destroy actually returns
failure if isc_mutex_destroy fails.
2000-08-29 00:25:23 +00:00
Andreas Gustafsson
892abf3178 added configure option --enable-threads/--disable-threads,
define ISC_PLATFORM_USETHREADS
2000-08-28 23:51:21 +00:00
Brian Wellington
bc40028504 Added the "nothreads" directory in lib/isc. These will be used in the
non-threaded libisc.
2000-08-28 23:16:50 +00:00
Brian Wellington
762b1edceb DESTROYLOCK does not need a do { } while (0) construct. 2000-08-28 19:49:38 +00:00
Brian Wellington
fa9a407180 Last set of DESTROYLOCK changes 2000-08-26 01:42:34 +00:00
Brian Wellington
a44038277a MOre calls to DESTROYLOCK 2000-08-26 01:31:56 +00:00
Brian Wellington
6714319d0f Add a DESTROYLOCK macro to wrap isc_mutex_destroy() 2000-08-26 01:23:17 +00:00
Brian Wellington
bba01d378b Since the result of isc_mutex_destroy() is being ignored, cast it to void. 2000-08-26 01:10:54 +00:00
Brian Wellington
569c05295c removed a chunk of dead debugging code. 2000-08-25 22:07:52 +00:00
Brian Wellington
960d37edc3 Setting event->ev_sender to a bogus non-null value is no longer necessary. 2000-08-25 18:58:35 +00:00
Brian Wellington
f5ad7569cb #include <stddef.h> 2000-08-24 23:26:13 +00:00
Brian Wellington
d07ef64ed1 #include <time.h> 2000-08-24 23:22:40 +00:00
Brian Wellington
3cab47dbea A read lock could incorrectly be granted in some cases. 2000-08-24 19:06:38 +00:00
Andreas Gustafsson
dcfbc7c73e do not clear lctx->buffer before it is has been locked 2000-08-24 18:21:40 +00:00
Andreas Gustafsson
249b19d917 print lock address and thread ID in rwlock trace messages 2000-08-24 17:06:31 +00:00
Andreas Gustafsson
eb5670ecd2 send task trace output to stderr, not stdout, so that
it gets buffered synchronously with logging output sent to stderr
2000-08-24 01:40:46 +00:00
Andreas Gustafsson
ce4ccd5d7f const correctness 2000-08-24 01:38:46 +00:00
Andreas Gustafsson
6cab5e204c write ASCII NUL as '\0', not 0 2000-08-23 02:21:16 +00:00
Brian Wellington
4e0c5cba87 Added isc_consttextregion_t 2000-08-17 23:33:04 +00:00
Andreas Gustafsson
708c4ac042 stubbed out ISLOCKED() 2000-08-17 18:33:41 +00:00
Mark Andrews
2910719100 Add ISLOCKED macro. 2000-08-17 09:25:38 +00:00
Brian Wellington
acba1142b4 The region passed to isc_buffer_copyregion() should be const. 2000-08-17 02:09:12 +00:00
Brian Wellington
90c917523e entropy.h was missing from HEADERS, so it wasn't being installed. 2000-08-17 00:18:00 +00:00
David Lawrence
cd5a526372 ISC_R_NRESULTS was not bumped when ISC_R_FAMILYNOSUPPORT was added. 2000-08-15 23:30:22 +00:00
Mark Andrews
44215b932d 392. [func] Add ISC_R_FAMILYNOSUPPORT. Returned when OS does
not support the given address family requested.

 391.   [clarity]       ISC_R_FAMILY -> ISC_R_FAMILYMISMATCH.
2000-08-15 01:43:38 +00:00
Andreas Gustafsson
a3e7b6450e style 2000-08-10 23:42:17 +00:00
Brian Wellington
5e989d1777 If isc_socket_bind tries to bind to a socket with a different address
family than the address specified, return a meaningful error.
2000-08-10 23:11:12 +00:00
Brian Wellington
3d37f10b91 On send, treat EPERM like ISC_R_HOSTUNREACH. send() seems to return EPERM
on Linux when firewall rules block the send.
2000-08-10 21:47:46 +00:00
Brian Wellington
cd7ffa4c12 381. [bug] Check for IPV6_RECVPKTINFO and use it instead of
IPV6_PKTINFO if found. [RT #229]
2000-08-10 00:05:45 +00:00
Brian Wellington
281fce5ed7 When tracing allocations, don't die with an assertion failure if
isc_mem_setdestroycheck(mctx, ISC_FALSE) was called.  Also, print the
context in the trace statement.
2000-08-09 23:03:15 +00:00
Andreas Gustafsson
ff92fcaff3 some isc_sockaddr_* functions were undocumented, and others were
documented in the source file rather than the header file
2000-08-09 19:09:09 +00:00
Andreas Gustafsson
5bba7216f3 added isc_sockaddr_anyofpf() 2000-08-09 18:57:16 +00:00
David Lawrence
450e48205f Ensure argument to isdigit() is within valid range by "&"ing with 0xff. 2000-08-03 13:44:02 +00:00
David Lawrence
e15ecf08f2 use ISC_TF() to set an isc_boolean_t return value 2000-08-02 15:28:13 +00:00
David Lawrence
40f53fa8d9 Trailing whitespace trimmed. Perhaps running "perl util/spacewhack.pl in your
own CVS tree will help minimize CVS conflicts.  Maybe not.
Blame Graff for getting me to trim all trailing whitespace.
2000-08-01 01:33:37 +00:00
Brian Wellington
153d59973f Allow keyboard operations to be interrupted by the interrupt or quit
character.
2000-07-31 20:36:08 +00:00
Brian Wellington
eefb0a0720 If there are no writers waiting, always let new readers in. Also change the
hardcoded default read and write quota values to #defines.
2000-07-30 17:57:48 +00:00
Michael Graff
a4cb99bf12 pasto 2000-07-27 23:31:20 +00:00
Brian Wellington
677045ed61 356. [cleanup] isc_task_send no longer requires event->sender to
be non-null.
2000-07-27 22:24:54 +00:00
David Lawrence
15a4474541 word wrap copyright notice at column 70 2000-07-27 09:55:03 +00:00
David Lawrence
febf5f8b55 355. [func] Added isc_dir_createunique(), similar to mkdtemp(). 2000-07-27 02:04:36 +00:00
David Lawrence
976f44baa3 needed isc/string.h for memset() prototype 2000-07-26 22:36:34 +00:00
David Lawrence
f6f4d7ee0f separate the ISC_R_NRESULTS macro from those that define result codes, for
clarity
2000-07-26 21:34:11 +00:00
Michael Graff
6d016e34bf minor formatting issue -- kill trailing whitespace 2000-07-26 20:56:39 +00:00
Michael Graff
bfab56849d Revamp memory stuff.
Now, if you define ISC_MEM_TRACKLINES, and set isc_mem_debugging = 2 first
thing in main(), isc_mem_stats() will dump the file/line where any leaking
allocations were made.
2000-07-26 19:06:20 +00:00
Andreas Gustafsson
97684ed87d new functions isc_task_getname() and isc_task_gettag(),
to be used for debugging
2000-07-26 17:11:14 +00:00
Brian Wellington
9c4cba349f 334. [func] Added hmac-md5 to libisc. 2000-07-17 17:33:39 +00:00
Brian Wellington
da892e9733 Typo in comment - isc_time_microdiff returns microseconds, not milliseconds. 2000-07-14 16:59:32 +00:00
Andreas Gustafsson
4532e9e7c6 in isc_log_wouldlog(), deal with the possibility of lctx
being NULL
2000-07-13 02:28:18 +00:00
Andreas Gustafsson
0072e42780 use isc_log_wouldlog() in manager_log() 2000-07-13 01:38:40 +00:00
Brian Wellington
2935e25e99 Removed debugging code that is no longer useful. 2000-07-13 01:22:56 +00:00
Brian Wellington
febc974d0f Use isc_log_wouldlog() to avoid calling strerror() whenever possible. 2000-07-13 01:13:53 +00:00
Andreas Gustafsson
211ac47e07 use isc_log_wouldlog() to avoid unnecessary formatting work
when the debug level does not warrant logging
2000-07-13 00:25:38 +00:00
Andreas Gustafsson
30576c592b 330. [func] New function isc_log_wouldlog(). 2000-07-13 00:19:02 +00:00
Brian Wellington
a6f31a3fd0 Only install default handlers for SIGTERM and SIGWAIT if we haven't installed
other handlers already.
2000-07-12 01:46:57 +00:00
David Lawrence
9bf765ab3a 328. [func] Added isc_base64_decodestring().
(This is basically bin/named/server.c:base64_cstring_tobuffer(), which I
will remove in another revision that will not need to be pulled up.  I also
would like to change isc_base64_totext() and isc_base64_tobuffer() to be
isc_base64_encoderegion() and isc_base64_decodelexer(), unless there are
exceptions.  I find their existing names to be quite confusing with regard to
what translation function each performs.)
2000-07-11 21:51:13 +00:00
Brian Wellington
838f13fbdc Set default signal handlers for SIGINT and SIGTERM (SIGHUP already had one).
This doesn't appear to have an effect on any platform, but it seems like a
good idea.
2000-07-11 19:18:05 +00:00
Mark Andrews
5c0a406664 325. [bug] isc_lex_gettoken was processing octal strings when
ISC_LEXOPT_CNUMBER was not set.
2000-07-11 02:44:54 +00:00
Andreas Gustafsson
a4db2a47f5 incremented library version numbers to 1.0.0 2000-07-10 22:20:43 +00:00
Michael Graff
401bea7527 set connected and bound when the connect completes 2000-07-10 19:40:06 +00:00
Mark Andrews
b47f3dc885 Add isc_lex_isfile(). 2000-07-10 05:11:18 +00:00
David Lawrence
de8e189332 300. [bug] Using both <isc/net.h> and <lwres/net.h> didn't work
on platforms lacking IPv6 because each included their
			own ipv6 header file for the missing definitions.  Now
			each library's ipv6.h defines the wrapper symbol of
			the other (ISC_IPV6_H and LWRES_IPV6_H).
2000-07-01 01:41:54 +00:00
David Lawrence
641689bff4 note in the comment that isc_time_microdiff returns 0 if t1 < t2.
no need to pull up.
2000-06-30 22:40:32 +00:00
Andreas Gustafsson
fe8d130967 make install didn't work when using separate build dir 2000-06-30 00:29:29 +00:00
Michael Graff
2e0e781ba4 use the correct function name in debugging statements 2000-06-29 07:40:58 +00:00
David Lawrence
de88422aec only define ISC_MEM_DEBUG if it is not already defined, or if ISC_MEM_DEBUGOFF
is not defined.  no need to pull this one up to v9_0.
2000-06-28 03:46:37 +00:00
Andreas Gustafsson
33e482fa3e edited comment, no functional change 2000-06-27 21:04:12 +00:00
Michael Sawyer
d8afbf2f30 Force SIGHUP to be in state SIG_DFL when starting, since Solaris would break
that, if run from under cron.
2000-06-27 18:49:14 +00:00
Andreas Gustafsson
a7d4703552 commented 2000-06-26 22:59:22 +00:00
David Lawrence
2298aec5a1 test for high bit being set in isc_file_settime needed to use an
unsigned long long constant to work correctly on platforms that have
a 64 bit timeval.tv_sec and 32 bit ints.
2000-06-26 21:33:57 +00:00
Brian Wellington
98164bc1ad Printing a size_t as either %d or %u doesn't work on some 64 bit architectures. 2000-06-26 20:27:42 +00:00
Michael Graff
a72ca8608c revert part of a previous commit. This makes net/host unreachable hard errors again. 2000-06-26 20:16:01 +00:00
Brian Wellington
0191211ce5 Casting void * to unsigned long works better than casting to isc_uint32_t 2000-06-26 18:41:06 +00:00
Michael Graff
53b63f5467 minor change to make certain 'on' is defined. This used to be used only by USE_CMSG, but is also used to turn on BSD compatibility, so test on SO_BSDCOMPAT too. 2000-06-26 18:20:25 +00:00
Michael Graff
18a8c21c77 turn on BSD compatibility to avoid the annoying linux 'return host unreachable for unconnected UDP datagrams' bug. 2000-06-26 17:48:26 +00:00
James Brister
8775909be9 282. [bug] lexer now returns ISC_R_RANGE if parsed integer is
too big for an usigned long.
2000-06-23 22:32:10 +00:00
David Lawrence
24de6390c1 "entropy.c", line 1319: remark(1552): variable "ent" was set but never used 2000-06-23 22:06:47 +00:00
David Lawrence
438d4a305d include order lint 2000-06-23 21:43:46 +00:00
Michael Graff
79f9369c4f gc DOIO_UNEXPECTED as it was never used 2000-06-23 19:58:38 +00:00
David Lawrence
c244584cad 276. [bug] isc_log_categorybyname() and isc_log_modulebyname()
would fail to find the first member of any category
                        or module array apart from the internal defaults.
                        Thus, for example, the "notify" category was improperly
                        configured by named.

This resolves RT #132, "Logging channels definition problems."
2000-06-23 17:52:20 +00:00
David Lawrence
544f8fd0be protect sys/types.h from check-includes.pl removal recommendation 2000-06-23 03:08:18 +00:00
David Lawrence
b654509b18 protect limits.h from check-includes.pl removal recommendation 2000-06-23 03:07:45 +00:00
David Lawrence
ec32c6b366 use isc/lang.h and add protective UNIX_ERRNO2RESULT_H wrapper 2000-06-23 03:03:57 +00:00
David Lawrence
ac9e556e49 use isc/lang.h and fix ISC_STDIO_H wrapper 2000-06-23 03:03:14 +00:00
David Lawrence
e9acb52098 use isc/lang.h and fix ISC_SHA1_H wrapper 2000-06-23 03:02:58 +00:00
David Lawrence
76d6c9e54f protect isc/formatcheck.h from check-includes.pl removal recommendation 2000-06-23 03:02:41 +00:00
David Lawrence
d7984899c8 use isc/lang.h 2000-06-23 03:02:04 +00:00
David Lawrence
bac5798358 use isc/lang.h and add protective ISC_FSACCESS_H wrapper 2000-06-23 03:01:46 +00:00
David Lawrence
8dfc0c1ab0 does not need isc/magic.h 2000-06-23 03:01:12 +00:00
Michael Graff
0087d83906 thinko. Check for necessary entropy content correctly. 2000-06-23 02:31:10 +00:00
David Lawrence
9c3531d72a add RCS id string 2000-06-22 22:00:42 +00:00
Brian Wellington
aed3b8cb4e cfmakeraw() is not posix 2000-06-22 20:50:55 +00:00
David Lawrence
7c74e180c2 update_copyrights 2000-06-22 03:00:36 +00:00
David Lawrence
038b0bd35c return the number of ncpus, instead of whatever random crap is on the stack 2000-06-22 02:23:39 +00:00
Michael Graff
0eb2572d79 add isc_thread_setconcurrency() 2000-06-22 01:48:24 +00:00
Brian Wellington
386a52a5ea Add isc/unix/os.c, which has isc_os_ncpus() 2000-06-22 01:06:35 +00:00
Michael Graff
9f95b0199c add an argument to indicate how long to wait before draining the keyboard's input queue. This keeps people from overrunning input into the shell, etc. 2000-06-22 00:25:33 +00:00
Michael Graff
8e7e1ef75b let the entropy source seed the pseudorandom source from _very_ bad sources like the time and the pid. Update the dispatcher to always expect success in these cases. 2000-06-21 22:12:23 +00:00
David Lawrence
49dbdb0186 update_copyrights 2000-06-21 22:05:07 +00:00
David Lawrence
8cbd9988dc the ipv6.h header file is now platform independent 2000-06-21 20:50:55 +00:00
Andreas Gustafsson
0302c5670c do includes in alphabetical order 2000-06-21 17:27:55 +00:00
Michael Graff
890fb60939 add keyboard API 2000-06-21 01:45:21 +00:00
Michael Graff
96e79f7ede Fully implement callback sources, and add a test program to test it. 2000-06-21 00:04:57 +00:00
Michael Graff
3036f326e5 attach to the memory context on manager create, and detach on destroy 2000-06-21 00:01:52 +00:00
Michael Graff
35250798eb Actually create sample sources now. 2000-06-20 19:10:19 +00:00
Michael Graff
b9672b61d8 add processing of sample sources, and of callback sources 2000-06-20 19:01:13 +00:00
Michael Graff
8470db5b12 clean up ; remove unneeded function arguments 2000-06-20 17:24:47 +00:00
David Lawrence
4acd8d2afe build fsaccess 2000-06-20 04:09:48 +00:00
David Lawrence
1f5eafd61b added ISC_R_NOTFILE and ISC_R_NOTDIRECTORY 2000-06-20 04:07:21 +00:00
David Lawrence
60f67141b8 added isc_fsaccess_t 2000-06-20 04:06:23 +00:00
David Lawrence
a904de0bc8 OS-independent filesystem permissions 2000-06-20 04:06:01 +00:00
Michael Graff
fbcba391fa fix format argument 2000-06-19 22:23:05 +00:00
Michael Graff
6d81064bf7 include isc/formatcheck.h 2000-06-19 22:16:25 +00:00
Michael Graff
9550eb2dab add formatcheck.h 2000-06-19 21:45:05 +00:00
David Lawrence
afd7f38277 style lint 2000-06-19 19:18:45 +00:00
Brian Wellington
0c7b7a19e5 Use GCC's format attribute for better error checking when possible. 2000-06-19 18:02:32 +00:00
Michael Graff
7685c082c8 remove flags from source types. It was never used, and probably shouldn't be there. 2000-06-17 01:42:21 +00:00
Michael Graff
fd316ab4f9 snapshot 2000-06-17 01:30:40 +00:00
Michael Graff
9ceb50ed04 protect isc_entropy_stats() with a lock, and use a static dumpstats() internally when a lock is already held, for debugging. Add isc_entropy_putdata() which can be used to prime the pool. 2000-06-17 00:43:11 +00:00
Michael Graff
57ded06933 fix multicast test 2000-06-16 22:35:36 +00:00
Michael Graff
29a2e0c9b5 Bring back warnings we supressed for b4 :) 2000-06-16 01:39:05 +00:00
Michael Graff
e92d6ed5e7 snapshot 2000-06-16 01:38:13 +00:00
David Lawrence
c9687c0800 HPUX said:
cc: "netaddr.c", line 235: warning 508: Statement can never be reached.
cc: "netaddr.c", line 238: warning 508: Statement can never be reached.
... but now it won't say that anymore.  "break"s following "return"s removed.
2000-06-16 01:07:43 +00:00
Michael Graff
f64ded0ac7 set ISC_SOCKEVENTATTR_MULTICAST on packets received from a multicast address 2000-06-15 18:25:49 +00:00
Michael Graff
d80da258e3 Add isc_netaddr_ismulticast() and isc_sockaddr_ismulticast() 2000-06-15 18:23:54 +00:00
Michael Graff
d2e9c94edb Add ISC_R_MULTICAST 2000-06-15 18:21:38 +00:00
Michael Graff
c3581e2bcc No need to destroy filesources -- they will clean up when the source is destroyed 2000-06-15 18:15:26 +00:00
Andreas Gustafsson
06ed5a0d46 fixec typos in previous checkin 2000-06-15 17:42:16 +00:00
Andreas Gustafsson
aa79283a0d 257. [bug] The server detached the last zone manager reference
too early, while it could still be in use by queries.
                        This manifested itself as assertion failures during the
                        shutdown process for busy name servers (RT #133).

 256.   [func]          isc_ratelimiter_t now has attach/detach semantics, and
                        isc_ratelimiter_shutdown guarantees that the rate
                        limiter is detached from its task.

 255.   [func]          New function dns_zonemgr_attach().
2000-06-15 17:40:22 +00:00
Andreas Gustafsson
7e86b27bc0 typos in comments 2000-06-15 16:46:24 +00:00
Michael Graff
c498b4be95 initialize with at least THRESHOLD_BITS bits of entropy for pseudorandom case. 2000-06-12 22:28:05 +00:00
Michael Graff
6a3beb6f7e don't reset initialized state to ISC_TRUE -- it is a counter now, not a boolean 2000-06-12 21:37:13 +00:00
Brian Wellington
898c0c12f0 MIN -> MAX 2000-06-12 20:49:18 +00:00
Michael Graff
8fdd9c31b9 allow blocking when priming the pseudorandom generator 2000-06-12 18:28:25 +00:00
Michael Graff
8422b3823f require that we collect at least 20 bytes (hash size) of good randomness
before allowing pseudorandom operation.
2000-06-12 18:19:43 +00:00
Michael Graff
8b143acb3a remove debugging printfs, no really 2000-06-10 01:53:02 +00:00
Michael Graff
01e8ed519e remove debugging printfs 2000-06-10 01:52:35 +00:00
Michael Graff
f1400cb774 snapshot 2000-06-10 01:47:06 +00:00
Michael Graff
d08577ac0b don't reset added when retrying sources, and add another printf 2000-06-10 01:09:22 +00:00
Michael Graff
a0dc53dd58 check in a debugging printf, to help track down a problem on linux 2000-06-10 00:52:56 +00:00
Michael Graff
d730157099 Try a different tactic before returning failure 2000-06-10 00:50:03 +00:00
Michael Graff
e679d0acb1 <, not <= 2000-06-10 00:35:08 +00:00
Michael Graff
f8b50c193f snapshot 2000-06-09 22:24:22 +00:00
Michael Graff
79fdce6aff add blocking mode, and add a flag to indicate the input is a device 2000-06-09 21:36:51 +00:00
Andreas Gustafsson
7e006df76f reordered copyright messages so that the ISC 'portions' copyright
can be automatically maintained
2000-06-09 21:23:19 +00:00
Andreas Gustafsson
1cad45e9cf whitespace changes in copyright message 2000-06-09 20:59:32 +00:00
Andreas Gustafsson
db03efe326 changed copyright years to 1999,2000 per util/copyrights 2000-06-09 20:57:29 +00:00
Michael Graff
b90f80957a use create/attach/detach semantics 2000-06-09 19:18:56 +00:00
Michael Graff
24629383aa kill printf 2000-06-09 18:46:17 +00:00
Michael Graff
348f351145 checkpoint 2000-06-09 18:45:51 +00:00
Michael Graff
99bec2168f checkpoint 2000-06-09 18:33:35 +00:00
Michael Graff
b8feb9c67c checkpoint 2000-06-09 18:22:11 +00:00
Michael Graff
630a955711 checkpoint 2000-06-09 17:48:08 +00:00
Michael Graff
b48abf6b85 snapshot 2000-06-09 17:25:41 +00:00
Mark Andrews
ce1b0e505e INSIST() on sane time from the kernel. 2000-06-09 06:01:37 +00:00
Michael Graff
e596c6fe81 make it build. 2000-06-09 04:06:06 +00:00
Michael Graff
c6e2d36708 snapshot 2000-06-09 02:00:22 +00:00
Michael Graff
9403a56228 checkpoint 2000-06-09 00:11:39 +00:00
Michael Graff
118332fc5c snapshot 2000-06-08 23:42:17 +00:00
David Lawrence
6ba9a50031 need errno.h for errno 2000-06-08 23:20:01 +00:00
Michael Graff
60a7475dd8 checkpoint 2000-06-08 22:18:53 +00:00
Michael Graff
81b7c342c4 s/ISC_R_ENTROPY/ISC_R_NOENTROPY/g 2000-06-08 22:17:03 +00:00
David Lawrence
076f3bc6ad use ANSI memset instead of bzero 2000-06-08 20:42:11 +00:00
Michael Graff
d10733a5a3 add ISC_R_ENTROPY 2000-06-08 19:23:04 +00:00
Michael Graff
016742f7d8 add stirring functions and other bits. Snapshot. 2000-06-08 06:35:49 +00:00
Michael Graff
1e3c9ce3ab kill a warning on some systems. 2000-06-08 05:26:00 +00:00
Michael Graff
ccc067f7d5 enable INSIST/REQUIRE() checking of bound status on sockets 2000-06-08 00:23:54 +00:00
Michael Graff
270ad529d3 snapshot 2000-06-07 22:15:55 +00:00
Michael Graff
17b8fc714a snapshot 2000-06-07 20:55:12 +00:00
Michael Graff
90407942d3 Use autoconf's AC_C_BIGENDIAN macro to detect endian flavor, and use WORDS_BIGENDIAN from config.h{,.in} 2000-06-07 19:41:49 +00:00
Brian Wellington
1ee3b153b6 Added length constants, changed _final parameter from array to pointer. 2000-06-07 02:28:43 +00:00
Michael Graff
fbb2ab3056 md5 endian doesn't seem to matter? 2000-06-07 02:21:39 +00:00
Michael Graff
f2314fbd79 fix comments 2000-06-07 01:17:06 +00:00
Michael Graff
db4871e843 complain if BYTE_ORDER isn't defined 2000-06-07 01:14:26 +00:00
Michael Graff
bb2d54f1b3 build md5.c 2000-06-07 00:49:04 +00:00
Michael Graff
801c511ecd s/u_int/unsigned int/g 2000-06-07 00:30:42 +00:00
Michael Graff
676c534c8d We really don't need to export the sha1 transform() function, it is internal only. 2000-06-07 00:22:32 +00:00
Michael Graff
74da616f07 add sha1 implementation 2000-06-07 00:15:19 +00:00
David Lawrence
5fda9ca75a redefined ISC_OFFSET_MAXIMUM 2000-06-06 22:10:10 +00:00
Brian Wellington
54ef500660 Turn on ISC_MEM_DEBUG by default and define isc_mem_debugging as an extern
defaulting to ISC_FALSE.
2000-06-06 18:07:38 +00:00
Brian Wellington
4c050ce9dc typo 2000-06-06 17:57:58 +00:00
Brian Wellington
36bcb04af2 If ISC_MEM_DEBUG is enabled, the variable isc_mem_debugging controls
whether messages are printed or not.
2000-06-06 17:50:43 +00:00
Andreas Gustafsson
f6684513fa style; no functional change 2000-06-06 17:50:38 +00:00
Andreas Gustafsson
ee03a00244 changed references to 'binary buffer' in comments
to just 'buffer', as there is no longer a distinction between binary
and text buffers
2000-06-06 17:47:54 +00:00
David Lawrence
ed71ea51c6 Silence a few more warnings:
+ missing sigwait prototype on BSD/OS 4.0/4.0.1
 + PTHREAD_ONCE_INIT unbraced initializer warnings on Solaris 2.8.
 + IN6ADDR_ANY_INIT unbraced initializer warnings on BSD/OS 4.*, Linux and
   Solaris 2.8.
2000-06-06 16:06:50 +00:00
Michael Graff
527bf54995 s/u_int32_t/isc_uint32_t/g 2000-06-03 05:38:29 +00:00
Michael Graff
2f1059efb7 checkpoint 2000-06-03 02:15:08 +00:00
Michael Graff
9f732d73da put the correct (new) socket on the linked list, not the existing (listen) socket. 2000-06-02 20:09:01 +00:00
Brian Wellington
ac37a32d23 If isc_log_settag() was used to set a non-NULL tag, the allocated memory
was never freed.
2000-06-02 18:15:45 +00:00
Andreas Gustafsson
35af0018dd made isc_sockaddr_totext() return failure rather than catch an
assertion when confronted with an unsupported address family, like it used to
before it was changed to use isc_netaddr_totext() internally
2000-06-02 17:48:31 +00:00
Michael Graff
0a161e9da7 use a linked list, rather than a counter, to keep track of sockets. This makes
debugging easier.  Also, while here, s/EMPTY/ISC_LIST_EMPTY/g
2000-06-02 01:27:27 +00:00
David Lawrence
87cafc5e70 Megacommit of many files.
Mostly, several functions that take pointers as arguments, almost
always char * pointers, had those pointers qualified with "const".
Those that returned pointers to previously const-qualified arguments
had their return values qualified as const.  Some structure members
were qualified as const to retain that attribute from the variables
from which they were assigned.

The macro DE_CONST was added to isc/util.h to deal with a handful of very
special places where something is qualified as const but really needs to have
its const qualifier removed.

Also cleaned up a few places where variable names clashed with reserved
identifiers.  (Which mostly works fine, but strictly speaking is undefined
by the standard.)

Minor other ISC style cleanups.
2000-06-01 17:20:56 +00:00
Michael Graff
d98c74e2ec set the default destination port in the view, and use it when returning addresses from the adb. 2000-06-01 00:30:58 +00:00
Michael Graff
bfd98dd959 don't log ports where they don't make sense 2000-05-31 23:03:01 +00:00
Andreas Gustafsson
6c7bfa7c59 added ISC_NETADDR_FORMATSIZE as a counterpart to
ISC_SOCKADDR_FORMATSIZE and commented them both
2000-05-26 16:39:28 +00:00
Andreas Gustafsson
bb25076ffc implement isc_sockaddr_totext() in terms of isc_netaddr_totext() 2000-05-26 00:41:57 +00:00
Andreas Gustafsson
8eaa51a699 new functions isc_netaddr_totext() and isc_netaddr_format() 2000-05-26 00:41:03 +00:00
David Lawrence
05e3940191 made operand to left shift in ISC_OFFSET_MAXIMUM unsigned to avoid
integer overflow.
2000-05-25 16:44:25 +00:00
Andreas Gustafsson
1b106e224d typo: *lcfgp points to a logging configuration
not a logging context
2000-05-25 05:07:21 +00:00
David Lawrence
6deb631b20 208. [func] Added ISC_OFFSET_MAXIMUM for the maximum value
of an isc_offset_t.
2000-05-25 03:34:34 +00:00
David Lawrence
db9628e897 changed "c" stack variable from char to unsigned char to quiet Solaris 5.8
warnings that "subscript has type char".
2000-05-25 01:08:07 +00:00
David Lawrence
826c281a05 Solaris 5.6 gives this warning about a left shift to set the high bit:
warning: integer overflow detected: op "<<"
unless the operand is unsigned/
2000-05-24 21:36:01 +00:00
David Lawrence
bad71acec3 removed non-existing directory ./include from CINCLUDES 2000-05-24 18:38:43 +00:00
David Lawrence
ed019cabc1 fixed lines > 79 columns wide 2000-05-24 05:10:00 +00:00
David Lawrence
604a596b5f added an UNUSED() to shut up the irix compiler. 2000-05-24 02:39:01 +00:00
David Lawrence
77685300d9 cast isc_time_seconds to long when assigning to a timeval.tv_sec, and explain
why this is an ok thing to do.  shuts up the irix compiler.
2000-05-24 02:36:49 +00:00
David Lawrence
389b5c8593 added a sync_channellist call to isc_log_create to ensure the channellist in
the logconfig is properly dimensioned, and only free the channellist
memory in isc_logconfig_destroy if the channellist_count is > 0.
the first addresses a problem that could occur when a successful
isc_log_create was followed immediately by isc_log_[v]write[1] or
isc_log_destroy (with no intervening isc_log_usechannel or
isc_logconfig_use), and the second addresses a problem that could
occur in cleanup if isc_log_create or isc_logconfig_create failed.
2000-05-24 02:33:16 +00:00
Michael Graff
862d18c79a set ifindex to 0 for outgoing udp ipv6 datagrams. 2000-05-23 02:51:39 +00:00
Michael Graff
5cc49bc70c don't set permanent failure on udp sockets, even on unexpected error 2000-05-23 02:20:23 +00:00
Andreas Gustafsson
b291fec7c9 offset.h was not installed by 'make install' 2000-05-22 22:46:53 +00:00
Andreas Gustafsson
bac6f7fd14 the comments for isc_ratelimiter_create() said the
events are executed in the context of 'task'; this is no longer true
2000-05-22 19:47:43 +00:00
Andreas Gustafsson
34b26adb24 heap invariant INSIST did the wrong thing in the border case
of a heap item and its parent having identical priority
2000-05-22 19:47:01 +00:00
Andreas Gustafsson
b68f341a48 must include <isc/print.h> to use snprintf 2000-05-22 19:29:09 +00:00
Michael Graff
a330a4b008 only set permanent failure for tcp streams on sending 2000-05-22 16:56:12 +00:00
Andreas Gustafsson
e996ff2d5b print isc_time_t fields using %u, not %lu 2000-05-22 03:07:47 +00:00
Andreas Gustafsson
4c94069644 199. [bug] isc_heap_delete() sometimes violated the heap
invariant, causing timer events not to be posted
			when due.

Specifically, isc_heap_delete() moved the last element of the heap to
the vacated position and then attempted to restore the heap invariant
by calling sink_down().  This works when the last element has a lower
priority than the one being deleted, and this is often the case
because the last element tends to have a low priority.  However, it is
not guaranteed to be the lowest.  When deleting an item of a lower
priority than the last item, restoring the invariant requires a call
to float_up(), not sink_down().

isc_heap_delete_now calls either float_up() or sink_down() as needed,
and INSISTs have been added to verify that the heap invariant indeed
holds after the calls.
2000-05-22 02:53:52 +00:00
Michael Graff
24d3d0ecff fix a slight documentation bug 2000-05-20 01:30:16 +00:00
Michael Graff
46993e1d9d Merge the mlg-20000518 branch onto the mainline. Change summary:
dns_dispatch_create() no longer exists.  dns_dispatch_createtcp()
	and dns_dispatch_getudp() are the replacements.  _createtcp() takes
	a bound, connected TCP socket, while _getudp() will search for
	a sharable UDP socket, and if found, attach to it and return a
	pointer to it.  If one is not found, it will create a udp socket,
	bind it to a supplied local address, and create a new dispatcher
	around it.

	dns_dispatch_remove{request,response}() no longer take the dispatch
	as an argument.

	query-source can now be set per view.

	The dispatch manager holds onto three memory pools, one for
	allocating dispatchers from, one for events, and one for
	requests/replies.  The free list on these pools is hard-coded,
	but set to 1024.  This keeps us from having to dig into the
	isc_mem_t the pools draw from as often.

	dns_resolver_create() and dns_view_createresolver() require that
	valid dispatchers be passed in; dispatchers are no longer created
	for the caller.
2000-05-19 21:46:46 +00:00
David Lawrence
e6ce1a0ea9 use _PLATFORM_NEEDINETIN6H 2000-05-18 22:43:48 +00:00
David Lawrence
e8336c458c use HAVE_UNIXWARE_SIGWAIT 2000-05-18 22:39:24 +00:00
David Lawrence
76b4bfdf32 minor assertion check shuffling 2000-05-18 22:38:49 +00:00
Michael Sawyer
232fd751ed Require nanoseconds is valid, instead of t->nanoseconds, which is what we're
getting ready to set.
2000-05-18 18:59:38 +00:00
Brian Wellington
a375150af2 REQUIRE() checking in isc_log_doit could seg fault 2000-05-18 17:56:35 +00:00
David Lawrence
75a44b91a9 isc_time_subtract() now returns isc_result_t.
Use isc_time_secondsastimet() to set a time_t variable.

Properly skip the duplicate checking loop if the boundary time is not
successfully set (this was intended before, but coded wrongly).

Removed unused variable pid_string, after I opted to not add the
unrequested ISC_LOG_PRINTPID option half way into implementing it.
2000-05-18 17:20:15 +00:00
David Lawrence
60e412971e isc_time_add now returns an isc_result_t, ensuring proper range of the
result of the addition.
2000-05-18 17:15:11 +00:00
David Lawrence
87480bb860 Use isc_time_secondsastimet() set timespec.tv_sec (returning an
error if the seconds are out of range), and cast isc_time_nanoseconds()
to shut up the IRIX compiler.
2000-05-18 17:13:58 +00:00
David Lawrence
bc12a0c0d0 Ensure proper range of isc_time_seconds() assigning to timeval.tv_sec,
and cast isc_time_nanoseconds to shut up the IRIX compiler.
2000-05-18 17:12:14 +00:00
David Lawrence
6fa1cb5754 189. [func] isc_time_secondsastimet(), a new function, will ensure
that the number of seconds in an isc_time_t does not
                        exceed the range of a time_t, or return ISC_R_RANGE.
                        Similarly, isc_time_now(), isc_time_nowplusinterval(),
                        isc_time_add() and isc_time_subtract() now check the
                        range for overflow/underflow.  In the case of
                        isc_time_subtract, this changed a calling requirement
                        (ie, something that could generate an assertion)
                        into merely a condition that returns an error result.
                        isc_time_add() and isc_time_subtract() were void-
                        valued before but now return isc_result_t.

The seconds member isc_time_t on Unix platforms was changed from time_t
to unsigned int.

unix/time.c now uses macros for nanoseconds per second, nanoseconds per
microsecond and microseconds per second to make sure that the right
number of zeros appears each place the constant is used.

unix/time.c functions which take initialized isc_(interval|time)_t arguments
INSIST() that the nanoseconds value is less than one full second.

unix/time.c's isc_time_microdiff was broken because it did multiplication and
addition with unsigned integers and attempted to set them a 64 bit int to
avoid overflow, but C's ints don't promote to 64 bits on machines that only
have 32 bit longs.  Fixed.

Added all the pertinent documentation to time.h.
2000-05-18 17:08:32 +00:00
Mark Andrews
1aae402fc3 187. [func] isc_ratelimter_enqueue() has an additional arguement
'task'.

 checkpoint zone maintence / notify work.
2000-05-18 04:43:00 +00:00
Mark Andrews
fc1feadb61 Add ISC_SOCKADDR_FORMATSIZE macro. 2000-05-17 02:20:58 +00:00
Brian Wellington
a823dfa663 sys/time.h needed for struct timeval 2000-05-16 21:05:03 +00:00
David Lawrence
600cfa2ba4 184. [cleanup] Variables/functions which began with two leading
underscores were made to conform to the ANSI/ISO
                        standard, which says that such names are reserved.
2000-05-16 05:19:47 +00:00
David Lawrence
6d8cdbaff4 185. [bug] Fixed up handling of ISC_MEMCLUSTER_LEGACY. Several
public functions did not have an isc__ prefix, and
                        referred to functions that had previously been
                        renamed.

 184.   [cleanup]       Variables/functions which began with two leading
                        underscores were made to conform to the ANSI/ISO

function declaration and comment reformatting in accordance with coding
style document.

check_overrun conditionally compiled based on ISC_MEM_FILL and
ISC_MEM_CHECKOVERRUN to avoid compiler warnings about being defined
but not used if one of those two CPP symbols is not defined.
2000-05-16 05:17:31 +00:00
David Lawrence
a120694df8 conform variable names in isc_.*region_consume to ANSI/ISO standard 2000-05-16 03:37:40 +00:00
David Lawrence
2918b5bda6 ISC_LOG_PRINTTAG/isc_log_settag()/isc_log_gettag() added 2000-05-16 03:37:39 +00:00
David Lawrence
cb4a97bb1c added missing config.h 2000-05-16 03:00:53 +00:00
Mark Andrews
5273184ae1 Add isc_file_settime() set access and modification times. 2000-05-16 02:13:08 +00:00
David Lawrence
c5c3b17a0a added ISC_R_RANGE 2000-05-15 20:37:06 +00:00
Andreas Gustafsson
33e0be00e3 isc_sockaddr_any6() set sockaddr->length incorrectly 2000-05-15 04:47:20 +00:00
David Lawrence
02b152eb28 line 356: remark(1174): parameter "msg" was declared but never referenced
line 356: remark(1174): parameter "dev" was declared but never referenced

This is true when ISC_NET_BSD44MSGHDR is not defined.  UNUSED()s were added.

line 1580: remark(1552): variable "task" was set but never used
line 1670: remark(1552): variable "task" was set but never used

I removed the stack variable and its assignment in each case.

line 2915: remark(1552): variable "ret" was set but never used

It was apparent that the variable was meant to be the return value
of isc_socket_getsockname, so the return statement was changed to use it.

Also ...

Changed function declarations to ISC coding style.

Wrapped two lines that were wider than column 79.

Removed two UNUSED() macros for variables that were no longer unused.
2000-05-14 22:35:45 +00:00
Andreas Gustafsson
bbf6673828 use isc_sockaddr_format() instead of a static function doing
the same thing
2000-05-14 20:52:35 +00:00
Andreas Gustafsson
527ea00c17 174. [func] New public function isc_sockaddr_format(), for
formatting socket addresses in log messages.
2000-05-14 20:42:43 +00:00
David Lawrence
2467f3cafd Removed comment about some day prefixing members of ISC_EVENT_COMMON
with ev_ prefix, since that has been done.
2000-05-14 02:12:18 +00:00
David Lawrence
e52750239e Changed the CPP symbol it uses from *_HAVENETINET6* to *_NEEDNETINET6*
to better clarify what is going on with regard to the symbol.
2000-05-13 18:18:08 +00:00
Michael Graff
3ee8ba5e32 expand on why magic numbers need to be first in the structure 2000-05-11 16:18:01 +00:00
David Lawrence
d8e34837cd isc_file_{stdiofunc} -> isc_stdio_* 2000-05-11 16:14:05 +00:00
David Lawrence
0c73b546ec Moved posix_result from file.c to errno2result.[ch], for use by multiple
source files.  We may want to generalize this as part of the libisc API,
but with a better name.
2000-05-11 15:09:30 +00:00
Mark Andrews
c052487cdf 169. [func] ratelimiter can now process N events per interval. 2000-05-11 09:23:29 +00:00
Michael Graff
2fc337ec38 add isc_socket_isbound() 2000-05-11 07:39:17 +00:00
Michael Graff
6849d91cd7 mark accepted connections as connected and bound. 2000-05-11 06:35:20 +00:00
Michael Graff
8321dd2150 add ISC_R_NOTBOUND and ISC_R_NOTCONNECTED and return them where appropriate. 2000-05-11 05:43:53 +00:00
Michael Graff
f019e00452 Add (commented out) 'must be bound' checking 2000-05-10 21:17:49 +00:00
Michael Graff
2968701c3a require that magic numbers be the first item in the structure. 2000-05-10 17:45:45 +00:00
Michael Graff
86bf5e8c34 add ISC_MAGIC('a','b','c','d') to make specifying magic numbers a bit more
readable
2000-05-10 17:06:57 +00:00
Andreas Gustafsson
996f4a8bc3 164. [cleanup] Added functions isc_file_fopen(), isc_file_fclose(),
isc_file_fseek(), isc_file_fread(), isc_file_fwrite(),
                        isc_file_fflush(), isc_file_ffsync(), isc_file_remove()
                        to encapsulate nonportable usage of errno and fflush().
2000-05-09 23:19:32 +00:00
Andreas Gustafsson
6a13d6f3c6 Added result codes ISC_R_FILENOTFOUND and ISC_R_FILEEXISTS 2000-05-09 23:10:34 +00:00
David Lawrence
47b26abe77 ensure proper range for argument to ctype functions 2000-05-09 22:22:25 +00:00
David Lawrence
681bd61239 isc/{unix,win32}/include/isc/ipv6.h moved to isc/include/isc/ipv6.h 2000-05-09 00:55:59 +00:00
David Lawrence
8b9ad57c12 Comment about unavoidable HP/UX compiler warning:
warning 541: Integer overflow during conversion.
when their own SIO* macros are used in ioctl calls.
2000-05-08 23:36:19 +00:00
David Lawrence
0c5a46afed comment about why unistd.h is required 2000-05-08 21:10:35 +00:00
Michael Graff
ab7c671292 add <stdlib.h> for mkstemp on NetBSD 2000-05-08 20:05:27 +00:00
David Lawrence
454e318ef6 include string.h for memcpy; gcc fails to warn about its absence, but hp doesn't 2000-05-08 18:37:22 +00:00
David Lawrence
6e3a8256ee need <sys/time.h> on some platforms 2000-05-08 16:30:49 +00:00
David Lawrence
1a69a1a78c Megacommit of dozens of files.
Cleanup of redundant/useless header file inclusion.

ISC style lint, primarily for function declarations and standalone
comments -- ie, those that appear on a line without any code, which
should be written as follows:
   /*
    * This is a comment.
    */
2000-05-08 14:38:29 +00:00
Michael Graff
6c41175537 add isc_sockaddr_any() and isc_sockaddr_any6 to set up a wildcarded address/port for v4 and v6 sockaddrs 2000-05-06 01:49:43 +00:00
Michael Graff
96e3bc37e6 document that before send*() or recv*() may be called, the socket must be bound either via connect() or bind() 2000-05-06 01:49:07 +00:00
Michael Graff
ece3d6c356 Cause runtime probing of v6 addresses to fail, even if we can actually
make v6 sockets, but we do not have struct in6_pktinfo.

Add a check in configure.in for struct in6_pktinfo.

Use the result of that check to define (if needed) in6_pktinfo in net.h.

This change makes us build on platforms that have SOME ipv6 structures
(like in6_addr, etc) but not enough to be useful to us.

Note:  Before making an ipv6 socket the code should verify that ipv6
sockets can be made using isc_net_probeipv6().  It should also
check for v4 sockets using isc_net_probeipv4() to be consistant.
2000-05-06 01:30:32 +00:00
Andreas Gustafsson
8dfc98528f isc_mem_get() return value check used the wrong variable 2000-05-04 23:59:49 +00:00
Andreas Gustafsson
ae0713cac2 removed debugging printf 2000-05-04 23:58:05 +00:00
Michael Graff
99b24bbca2 include <isc/print.h> 2000-05-03 22:04:49 +00:00
Michael Graff
4142e747f2 use new isc_lctx logging 2000-05-03 21:09:49 +00:00
Michael Graff
1a487fb7d2 Add isc_log_setcontext() to set the isc_lctx global (ala dns_lctx) and add module names for isc/socket 2000-05-03 21:09:34 +00:00
David Lawrence
5610876d1b win32 isc/condition.h did not need <isc/result.h> 2000-04-28 23:55:08 +00:00
David Lawrence
b99d080717 141. [cleanup] <isc/stdtime.h> does not need <time.h> or <isc/result.h>. 2000-04-28 23:53:55 +00:00
David Lawrence
b905ff7cbe 140. [cleanup] <isc/time.h> does not need <time.h> or <isc/result.h>. 2000-04-28 23:23:52 +00:00
David Lawrence
23a0970477 139. [cleanup] <isc/net.h> now includes <isc/types.h> instead of
<isc/int.h> and <isc/result.h>.
2000-04-28 23:14:45 +00:00
David Lawrence
b887048653 move prototype for isc_string_separate outside of ISC_PLATFORM_NEEDSTRSEP test 2000-04-28 22:47:45 +00:00
David Lawrence
358628c8f4 138. [cleanup] isc_strtouq moved from str.[ch] to string.[ch] and
renamed isc_string_touint64.  isc_strsep moved from
                        strsep.c to string.c and renamed isc_string_separate.
2000-04-28 22:40:10 +00:00
David Lawrence
54a2e7e8a2 137. [cleanup] <isc/commandline.h>, <isc/mem.h>, <isc/print.h>
<isc/serial.h>, <isc/string.h> and <isc/offset.h>
                        made to conform to the same style for multiple
                        inclusion protection.
2000-04-28 22:13:15 +00:00
David Lawrence
027212247d 136. [cleanup] <isc/commandline.h>, <isc/interfaceiter.h>,
<isc/net.h> and Win32's <isc/thread.h> needed
                        ISC_LANG_BEGINDECLS/ISC_LANG_ENDDECLS.
2000-04-28 22:09:15 +00:00
David Lawrence
a2605214c2 135. [cleanup] Win32's <isc/condition.h> did not need
<isc/boolean.h>, now uses <isc/types.h> in place
                        of <isc/time.h>, and needed ISC_LANG_BEGINDECLS
                        and ISC_LANG_ENDDECLS.
2000-04-28 21:39:34 +00:00
David Lawrence
344e909ce9 134. [cleanup] <isc/dir.h> does not need <limits.h>. 2000-04-28 21:29:27 +00:00
David Lawrence
2c9c974d98 undef ISC_PLAFORM_HAVESALEN and remove obsolete emacs c-mode comment 2000-04-28 21:22:15 +00:00
David Lawrence
738922ba7b 133. [cleanup] <isc/ipv6.h> needs <isc/platform.h>. 2000-04-28 21:19:55 +00:00
David Lawrence
eefea43215 132. [cleanup] <isc/app.h> does not need <isc/task.h>, but does
need <isc/eventclass.h>.
2000-04-28 21:08:52 +00:00
David Lawrence
9c4f33b671 131. [cleanup] <isc/mutex.h> and <isc/util.h> need <isc/result.h>
for ISC_R_* codes used in macros.
2000-04-28 19:03:50 +00:00
David Lawrence
c403d3f7d6 130. [cleanup] <isc/condition.h> does not need <pthread.h> or
<isc/boolean.h>, and now includes <isc/types.h>
                        instead of <isc/time.h>.
(does not need pthread.h because it *does* need isc/mutex.h, which
will be guaranteed to provide pthread.h)
2000-04-28 18:58:40 +00:00
David Lawrence
63d56ac555 removed extraneous includes; style lint 2000-04-28 18:54:49 +00:00
David Lawrence
b22879b057 include <isc/asssertions.h> since several defines depend on it 2000-04-28 18:32:30 +00:00
David Lawrence
dc91d010db 128. [cleanup] <isc/dir.h> had ISC_LANG_BEGINDECLS instead of
ISC_LANG_ENDDECLS at end of header.
2000-04-28 17:46:30 +00:00
Michael Graff
2d3a9eee3f namespace protection via 'static' 2000-04-28 17:29:25 +00:00
David Lawrence
904463e94c 126. [cleanup] <isc/quota.h> and <isc/taskpool.h> need <isc/lang.h>. 2000-04-28 17:24:26 +00:00
David Lawrence
2d78d06402 125. [cleanup] <isc/eventclass.h>, <isc/ipv6.h>, <isc/magic.h>,
<isc/mutex.h>, <isc/once.h>, <isc/region.h>, and
                        <isc/resultclass.h> do not need <isc/lang.h>.
2000-04-28 17:19:11 +00:00
David Lawrence
bf6f755a74 <isc/magic.h> does not need <isc/lang.h>. 2000-04-28 16:55:58 +00:00
David Lawrence
dd518cf33d make conforming inclusion wrapper 2000-04-28 16:54:53 +00:00
David Lawrence
56433595bb <isc/event.h> does not need <stddef.h>. 2000-04-28 04:34:30 +00:00
David Lawrence
fc9e755ba3 <isc/task.h> does not need <isc/mem.h> or <isc/result.h>. 2000-04-28 04:26:08 +00:00
David Lawrence
7896e45912 121. [cleanup] <isc/symtab.h> does not need <isc/mem.h> or
<isc/result.h>.  Multiple inclusion protection
                        symbol fixed from ISC_SYMBOL_H to ISC_SYMTAB_H.
                        isc_symtab_t moved to <isc/types.h>.
2000-04-28 04:16:34 +00:00
David Lawrence
ed94876a19 missing ifndef ISC_STRING_H wrapper for body 2000-04-28 03:56:27 +00:00
David Lawrence
32eddfc189 120. [cleanup] <isc/socket.h> does not need <isc/boolean.h>,
<isc/bufferlist.h>, <isc/task.h>, <isc/mem.h> or
                        <isc/net.h>.
2000-04-28 03:53:48 +00:00
David Lawrence
6b7257f756 include config.h 2000-04-28 02:08:20 +00:00
Bob Halley
5188f8c6a5 include isc/util.h 2000-04-28 01:44:45 +00:00
Andreas Gustafsson
82ca33427b declare arguments as UNUSED() when used in assertions only 2000-04-28 01:24:18 +00:00
Bob Halley
364a82f7c2 include isc/util.h 2000-04-28 01:12:23 +00:00
Bob Halley
4e507aaa4e add assertion and error macros 2000-04-28 01:03:42 +00:00
Bob Halley
35ffe86508 namespace goodness 2000-04-28 01:03:24 +00:00
David Lawrence
9d26bfb436 grrrrrr ... order wrong in typedef 2000-04-28 00:39:11 +00:00
David Lawrence
61e9c1cdbe 116. [func] Added <isc/offset.h> for isc_offset_t 2000-04-28 00:36:56 +00:00
David Lawrence
d1baeb3888 sys/types.h needed for some (BSD/OS pre-4.1) systems 2000-04-27 23:44:44 +00:00
David Lawrence
2cc1d2536d 114. [cleanup] <isc/sockaddr.h> does not need <isc/buffer.h> or <isc/list.h>. 2000-04-27 23:29:28 +00:00
David Lawrence
6d208969b3 112. [cleanup] <isc/serial.h> does not need <isc/boolean.h>. 2000-04-27 23:08:18 +00:00
David Lawrence
145bd6ea33 111. [cleanup] <isc/rwlock.h> does not need <isc/result.h> or
<isc/mutex.h>.
2000-04-27 23:01:34 +00:00
David Lawrence
0c33e418cb 110. [cleanup] <isc/result.h> does not need <isc/boolean.h> or
<isc/list.h>.
2000-04-27 22:48:57 +00:00
Bob Halley
6699408663 rename internal functions 2000-04-27 20:20:12 +00:00
Michael Graff
d8d845eb47 Call the macros from within the compiled functions. This puts the implementation in one place (buffer.h) and the REQUIRE() checking in buffer.c 2000-04-27 02:12:10 +00:00
Michael Graff
35a8d16d61 Make many functions (optionally) inlined. Currently disabled. To enable, see the top of buffer.h 2000-04-27 01:46:16 +00:00
David Lawrence
6e49e91bd0 103. [func] libisc buffer API changes for <isc/buffer.h>:
Added:
                                isc_buffer_base(b)          (pointer)
                                isc_buffer_current(b)       (pointer)
                                isc_buffer_active(b)        (pointer)
                                isc_buffer_used(b)          (pointer)
                                isc_buffer_length(b)            (int)
                                isc_buffer_usedlength(b)        (int)
                                isc_buffer_consumedlength(b)    (int)
                                isc_buffer_remaininglength(b)   (int)
                                isc_buffer_activelength(b)      (int)
                                isc_buffer_availablelength(b)   (int)
                        Removed:
                                ISC_BUFFER_USEDCOUNT(b)
                                ISC_BUFFER_AVAILABLECOUNT(b)
                                isc_buffer_type(b)
                        Changed names:
                                isc_buffer_used(b, r) ->
                                        isc_buffer_usedregion(b, r)
                                isc_buffer_available(b, r) ->
                                        isc_buffer_available_region(b, r)
                                isc_buffer_consumed(b, r) ->
                                        isc_buffer_consumedregion(b, r)
                                isc_buffer_active(b, r) ->
                                        isc_buffer_activeregion(b, r)
                                isc_buffer_remaining(b, r) ->
                                        isc_buffer_remainingregion(b, r)

                        Buffer types were removed, so the ISC_BUFFERTYPE_*
                        macros are no more, and the type argument to
                        isc_buffer_init and isc_buffer_allocate were removed.
                        isc_buffer_putstr is now void (instead of isc_result_t)
                        and requires that the caller ensure that there
                        is enough available buffer space for the string.
2000-04-27 00:03:12 +00:00
Mark Andrews
d2ed254fb8 (..., "%03u", 2) was not zero filling 2000-04-26 21:15:14 +00:00
David Lawrence
6b526894f4 Quieted EGCS warnings from lib/isc/print.c 2000-04-26 17:45:15 +00:00
David Lawrence
f6cdcafa33 100. [cleanup] <isc/random.h> does not need <isc/int.h> or
<isc/mutex.h>.  isc_random_t moved to <isc/types.h>.
2000-04-26 17:25:03 +00:00
Andreas Gustafsson
16a107c904 rate limiter now has separate shutdown() and
destroy() functions, and it guarantees that all queued
events are delivered even in the shutdown case
2000-04-26 17:10:32 +00:00
David Lawrence
b5dbab9c3f typedef isc_ondestroy_t moved to <isc/types.h> 2000-04-26 17:06:44 +00:00
Andreas Gustafsson
8e04f382b6 updated comments based on API review 2000-04-26 17:04:11 +00:00
Andreas Gustafsson
bfcb9c7878 added ISC_EVENTCLASS_RATELIMITER 2000-04-26 16:59:18 +00:00
Andreas Gustafsson
e2e72750af added ISC_EVENTATTR_CANCELED 2000-04-26 16:58:17 +00:00
David Lawrence
94da1ee12c Needs <ctype.h>, <stdio.h> and <stdlib.h> for isdigit, snprintf and strtoul
respectively.

#error if ISC_PLATFORM_NEEDVSNPRINTF is not defined.
2000-04-26 02:20:31 +00:00
David Lawrence
33e927bf86 98. [cleanup] <isc/print.h> does not need <stdarg.h> or <stddef.h>
unless ISC_PLATFORM_NEEDVSNPRINTF is defined.
2000-04-26 02:18:59 +00:00
David Lawrence
3e6b98586e <isc/ondestroy.h> does not need <stddef.h> or <isc/event.h>. 2000-04-26 01:54:48 +00:00
David Lawrence
947bd6c648 <isc/mutex.h> does not need <isc/lang.h> or <isc/result.h>. 2000-04-26 01:29:27 +00:00
David Lawrence
878363c06b 95. [cleanup] <isc/mutexblock.h> does not need <isc/result.h>. 2000-04-26 01:18:24 +00:00
David Lawrence
31c0e4ba05 style lint 2000-04-26 01:12:02 +00:00
David Lawrence
a890fbefa3 C++ reserves the word "template"; use "templet" as the parameter to
isc_file_openunique
2000-04-26 00:45:24 +00:00
David Lawrence
37cc3f596b oops, isc__file_mktemplate instead of isc_file_mktemplate 2000-04-26 00:44:36 +00:00
David Lawrence
b8957f3496 93. [cleanup] <isc/msgcat.h> does not need <isc/result.h>. 2000-04-26 00:21:42 +00:00
David Lawrence
c7f22f83aa 92. [cleanup] <isc/mem.h> does not need <stddef.h>, <isc/boolean.h>,
or <isc/result.h>.
2000-04-26 00:15:39 +00:00
David Lawrence
c4717613e4 <isc/log.h> does not need <sys/types.h> or <isc/result.h> 2000-04-25 23:44:20 +00:00
Andreas Gustafsson
fc4256ffdd need <isc/lang.h> 2000-04-25 23:29:02 +00:00
David Lawrence
e8d3d40f0b do not include obsolete rbtgen.h in HEADERS 2000-04-25 23:16:59 +00:00
David Lawrence
11e0238bbe do not include obsolete mktemplate.h and ufile.h in HEADERS 2000-04-25 23:15:38 +00:00
David Lawrence
d41c9885ec <isc/lex.h> does not need <stddef.h> 2000-04-25 23:08:16 +00:00
David Lawrence
334a4057e0 added isc_interface_t and isc_interfaceiter_t 2000-04-25 23:07:46 +00:00
David Lawrence
38feb01f1b 88. [cleanup] <isc/interfaceiter.h> does not need <isc/result.h> or
<isc/mem.h>.  isc_interface_t and isc_interfaceiter_t
                        moved to <isc/types.h>.
2000-04-25 22:55:50 +00:00
David Lawrence
802aa6f2b7 87. [cleanup] <isc/heap.h> does not need <isc/boolean.h>,
<isc/mem.h> or <isc/result.h>.
(... and now heap.c needs <isc/mem.h>.)
2000-04-25 22:32:26 +00:00
David Lawrence
f42e994baf added isc_bufferlist_t 2000-04-25 22:30:13 +00:00
David Lawrence
5baea3a021 Move isc_bufferlist_t to isc/types.h.
Do not need isc/buffer.h or isc/list.h.
2000-04-25 22:29:55 +00:00
David Lawrence
2c34cafc1c include <isc/time.h> 2000-04-25 22:04:26 +00:00