----------------- Released 2.1.5, 23/10/96 -----------------------
21/10/96 (new feature) Added rfc2020.mib.
17/10/96 (bug fix) Rewrote the traceroute example to produce more
readable output.
8/10/96 (bug fix) Added a call to DnsInit() in tnmDns.c which makes
sure that the result of `dns -server' is well defined even if this
is the first dns command ever called.
8/10/96 (NT port) Finished the Borland version of oncrpc.lib and
resolv.lib. Note, the default resolver is 127.0.0.1 if you do not have
a resolv.conf file on your Windows NT machine. This works fine if you
have a local caching dns server running (strongly suggested).
7/10/96 (NT port) Split tnmIcmp.c module into three modules:
tnmIcmp.c, tnmUnixIcmp.c and tnmWinIcmp.c. Only the platform
independent code is left in tnmIcmp.c.
7/10/96 (new feature) The name of the user specific startup file is
now read from the TNM_RCFILE environment variable is available.
2/10/96 (NT port) Replaced the quick and dirty hack of the SUN RPC
code with the NT port done by Martin F. Gergeleit which is available
at http://set.gmd.de/RS/Mitarbeiter/gergeleit/oncrpc.html.
2/10/96 (code cleanup) Replaced a call to callrpc() in tnmSunRpc.c
with a call to clnt_call() for portability reasons.
2/10/96 (code cleanup) Changed the Tnm_MibEnum structures to hold the
integer value in an int instead of a char*. Note, this change affects
the internal structure of compressed .idy files.
27/9/96 (bug fix) The gdmo parser now returns all parsing error
messages in the interpreter rather then writing them to stderr.
27/9/96 (new feature) The gdmo parser is now able to recognize
"SET-BY-CREATE" properties as defined in Amendment 1 to ITU-T
Recommendation X.722.
26/9/96 (bug fix) Fixed the implementation of -writecommunity.
25/9/96 (NT port) Added some ugly hacks to the compat/rpc/*.[ch] files
so that the SUN RPC code compiles and runs on Windows NT.
----------------- Released 2.1.4, 20/9/96 -----------------------
20/9/96 (feature removed) Disabled the -trapaddress, -trapport and
-trapcommunity SNMP session options because they don't work well with
mixed manager and agent sessions.
19/9/96 (NT port) Added wrapper functions for the socket calls that
make sure that the Tcl error code is set correctly. (They also fix
some strange NT Windows Socket semantics.)
13/9/96 (code cleanup) Cleanup of the tnmNetdb.c module to give better
error responses. Changed the syntax of the netdb services command to
get rid of the ugly list argument.
*** POTENTIAL INCOMPATIBILITY ***
13/9/96 (new feature) Added -trapaddress, -trapport and -trapcommunity
SNMP session options. Changed straps to listen on other ports than 162.
This is not working yet.
12/9/96 (bug fix) Added two new functions TnmValidateIpHostName() and
TnmValidateIpAddress() which are used to perform strict syntactic
checks on IP host name and IP address arguments to work around bugs
and security problems in some resolver libraries.
11/9/96 (NT port) Added support for the netdb and udp commands. Needs
some more work but it is basically running.
9/9/96 (NT port) The following commands are now working on Windows NT
machines: job, http, event, ntp, ined, syslog. All these commands pass
their test suite (if available).
6/9/96 (NT port) Moved the entry points of the loadable module to
unix/tnmUnixInit.c and win/tnmWinInit.c. Rewrote win/makefile.bc to
make it compatible with Tcl7.5 and Borland C++ 5.0.
5/9/96 (bug fix) The netdb command returned reversed IP addresses on
byte swapped hosts such as Intel PCs.
5/9/96 (bug fix) The mib command failed to do ~ expansion when loading
a MIB file.
----------------- Released 2.1.3, 5/9/96 -----------------------
3/9/96 (bug fix) Fixed the channel mode for sending HTTP documents.
----------------- Released 2.1.2, 2/9/96 -----------------------
29/8/96 (bug fix) The http now switches correctly between crlf and
binary channel mode and handles read errors by returning a usable Tcl
error result.
28/8/96 (bug fix) SNMP sessions and request structures are now
destroyed using Tcl_Preserve/Tcl_Release/Tcl_EventuallyFree to solve
some nasty problems when processing events in a callback and
destroying the session somewhere on the way.
27/8/96 (bug fix) The job command now deletes the timer handler if
an interpreter is destroyed. It also uses the Tcl_Preserve and
Tcl_Release calls to protect the job structure while evaluating
commands.
27/8/96 (bug fix) Fixed a memory bug in the implementation of the
sunrpc ether $host close command.
6/8/96 (code cleanup) Rewrote the initialization procedure to search
startup files in a platform independent way.
6/8/96 (bug fix) Fixed a bug which caused a core dump while creating a
machine specific directory to keep frozen MIB files. Rewrote the whole
function that searches for MIB files to make it platform independent.
5/8/96 (bug fix) The snmp# instance command did create bogus instances
if you were using strange sub-identifier like negative numbers or
arbitrary strings. This case is now handled by returning an error.
4/8/96 (code cleanup) Rewrote the initialization procedure to support
safe in addition to trusted Tcl interpreters.
3/8/96 (bug fix) The job, ntp, icmp and dns commands now work with
multiple interpreters such that every interpreter maintains its own
internal state independent of others.
2/8/96 (bug fix) The http command did not accept arbitrary documents.
1/8/96 (bug fix) Some DNS errors were not reported correctly.
1/8/96 (bug fix) Renaming job and snmp objects is now handled
correctly. (Previous versions did not return the new name in the
snmp info or job info commands.)
31/7/96 (code cleanup) Added a few casts to tnmSunRpc.c to avoid
some nasty compiler warnings.
31/7/96 (code cleanup) Added functions to tnmUtil.c to lookup
hostnames and to convert service names to port numbers. These
functions are now used in all modules that need to do these
conversions. The functions maintain a name to IP address cache.
31/7/96 (code cleanup) Added functions to tnmUtil.c to simplify the
parsing of frequently used arguments.
31/7/96 (code cleanup) Added functions to tnmUtil.c to handle object
configuration options in a more generic way. Changed tnmJob.c and
tnmSnmpTcl.c to use these new functions.
30/7/96 (new feature) Added a compile time option SNMP_BENCH to
measure SNMP round trip times and message sizes.
29/7/96 (code cleanup) Added a new module tnmUtil.c which implements
the TnmTable structure. Changed a couple of modules to use the new
TnmTable type to convert string to tokens and back.
21/7/96 (bug fix) Removed support for the UInteger32 type which is
no longer defined for SNMPv2.
----------------- Released 2.1.1, 19/7/96 -----------------------
17/7/96 (new feature) Added a -writecommunity session option to
hold a community string for SNMP set requests (SNMPv1/SNMPv2C).
17/7/96 (bug fix) Better handling of noResponse errors in the snmp
scalars command.
12/7/96 (bug fix) Scotty now recognizes standard traps defined using
RFCC 1215 style TRAP-TYPE macros in addition to the traps defined in
RFC 1907.
10/7/96 (new feature) The set of core MIB/SMI files is now defined in
the global tnm(mibs:core) Tcl variable.
5/7/96 (bug fix) Fixed the USEC authKey initialization of the SNMP
agent (added a USEC test to the test suite).
5/7/96 (bug fix) Fixed the cleanup of trap sockets when destroying
SNMP sessions.
14/6/96 (bug fix) Changed the name of the Tnm package from scotty
to Tnm to make it consistent with the Tcl naming conventions.
----------------- Released 2.1.0, 10/6/96 -----------------------
7/6/96 (feature removed) Removed the rpc command because it needs to
be rewritten to use channels and I do not want to delay the release
even further.
6/6/96 (code cleanup) Restructed the example SNMP agent.
6/6/96 (bug fix) SNMP instances of scalars with an instance identifier
not equal to "0" are now rejected.
6/6/96 (bug fix) Fixed the SNMP set processing code. Rollbacks bindings
were evaluated for varbinds that did not trigger a set binding.
2/6/96 (bug fix) Removed all previously allowed abbreviations for
command options in order to avoid conflicts.
30/5/96 (bug fix) Fixed a very general memory leak in tnmSnmRecv.c
which affected asynchronous requests and errors/retries.
29/5/96 (new feature) Accept 0x[0-9]+ hexadecimal subidentifer
in a hexadecimal object identifier.
26/5/96 (bug fix) Fixed a memory leak in LookupLabelOID().
22/5/96 (feature removed) Removed the configuration option to enable
TclX support since you can load extensions now.
21/5/96 (bug fix) Processing of SNMP inform requests now follows the
rules defined in RFC 1905.
20/5/96 (feature change) Scotty now parses arguments like tclsh - the
first parameter is usually the script name.
*** POTENTIAL INCOMPATIBILITY ***
20/5/96 (bug fix) Fixed the initialization in Tnm_SnmpDelay which
caused very long delays on some systems.
20/5/96 (feature change) Object identifier are now rendered into a
readable string by using the module name and the label of the MIB
node to make the string representation unique.
19/5/96 (bug fix) Rewrote TrapRecv() to fix core dump which occured
when killing straps.
19/5/96 (bug fix) Rewrote some parts of tnmIned.c to use Tcl channels
instead of C files. This avoids some deadlock problems.
16/5/96 (feature change) The mib commands now accept the MIB module
name as a prefix in object names, e.g. SNMPv2-MIB!sysDescr.0. This
solves naming conflicts.
16/5/96 (new feature) The mib module command returns the module name
which includes the definition of a MIB object.
15/5/96 (new feature) The mib commands now accept the MIB file name as
a prefix in object names, e.g. rfc1907.mib!sysDescr.0. This helps to
resolve naming conflicts.
13/5/96 (new feature) Added the `$s scalars '
command to retrieve scalars without worrying about details.
13/5/96 (feature change) The `mib tc' now returns a list with an
additional element containing the file name containing the TC
definition.
9/5/96 (performance improvement) Added some special code to make
MIB lookups of the style sysDescr.0 much faster than before.
8/5/96 (feature change) Handle inform requests automatically without
requiring an agent session on the receiving entity.
7/5/96 (new feature) Added a `mib macro' command to access the
macro which was used to define a node in the MIB tree.
25/4/96 (code cleanup) Merged the tkined and the scotty source trees.
Reorganized all the source files.
14/4/96 (feature removed) Removed the support for SNMPv2CLASSIC which
is now a historic IETF protocol.
*** POTENTIAL INCOMPATIBILITY ***
1/4/96 (new feature) Added support for SNMPv2USEC based on RFC 1910.
11/3/96 (code cleanup) Renamed all files to use the tnm prefix. I have
also replaced the copyright message in each file with a pointer to
license.terms. The header is now split into tnm.h, tnmInt.h, tnmPort.h
to make ports to new platforms easier.
5/3/96 (new feature) Added some code to parse RFC 1215 TRAP-TYPE
macros. These trap definitions are converted to SNMPv2 style trap
object identifier and registered in the MIB tree.
2/12/95 (performance improvement) New functions to avoid sprintf
calls in tnmMibQuery.c and tnmSnmpAsn1.c.
5/2/96 (code cleanup) The implementation of the http command is now
based on Tcl channels.
5/2/96 (new feature) Added a new binding command as we can't use UDP
handles with the Tcl fileevent command anymore.
27/1/96 (code cleanup) Changes in tnmIcmp.c to use Tcl channels to
talk to ntping.
29/1/96 (feature removed) Removed the tcp command as TCP sockets are
now supported in plain Tcl.
*** POTENTIAL INCOMPATIBILITY ***
27/1/96 (feature removed) Removed the getclock/getdate commands and
the clock.c module as there is support for clocks in Tcl7.5 now.
7/1/96 (feature change) Renamed all global scotty variables. We now
keep all information in a global array named tnm.
*** POTENTIAL INCOMPATIBILITY ***
4/1/96 (feature change) The http head command returns the header as a
flat list which will be accepted by the array set command.
*** POTENTIAL INCOMPATIBILITY ***
21/12/95 (bug fix) We now let Tcl quote the hinfo elements returned by
the DNS command since some people put white spaces in the OS and CPU
fields (even though white spaces are not allowed in these fields,
RFC1700).
7/12/95 (bug fix) The rpc command did not close all file handles when
clients were destroyed.
25/11/95 (code cleanup) Code re-organization to support multiple
operating systems. There is only one big Makefile left for UNIX boxes
which makes changes a lot easier.
21/11/95 (feature change) The SNMP agent makes the previous value of
the instance available as %p during binding evaluations to simplify
SNMP set processing.
17/11/95 (feature change) Instances created during SNMP set processing
are now removed automatically if we do a rollback.
16/11/95 (new feature) The example scripts are now installed in the
scotty library so they are available in a standard place.
15/11/95 (new feature) Added patches send by
to query pcnfs print servers. I edited
them to be more portable and fixed some minor bugs.
15/11/95 (performance improvement) The sunrpc commands now cache
successful host name lookups.
14/11/95 (feature change) Changed the delay option to use a delay
since the last message send using any SNMP session.
14/11/95 (feature change) Changed the window flow control option to
use a single request queue. Should work better with multiple sessions
to a single destination.
14/11/95 (performance improvement) Cleaned up these utilities. Added a
cache to keep track of resolved names to speed up frequent lookups.
14/11/95 (performance improvement) SNMPv2CLASSIC now uses struct
sockaddr_in to keep the address and port number.
13/11/95 (new feature) Added a -delay option for SNMP sessions. It
works similar to the -delay option of the icmp command and makes sure
that there is a minimum delay between two successive SNMP packets.
12/11/95 (new feature) Some changes to allow some basic flow control.
Every session now has a -window option which limits the number of
asynchronous requests on the wire.
11/11/95 (new feature) New win directory to contain windows specific
stuff. It is not usable right now - wait til 7.5 gets stable.
6/11/95 (bug fix) Added stricter checks for values of type IpAddress.
1/11/95 (bug fix) The calculation of the length of the unix domain
address should now work across different platforms.
29/10/95 (new feature) Made scotty a dynamic loadable extension
(tested on SunOS, IRIX, Linux, FreeBSD).
29/10/95 (new feature) Splitted the PDU processing into two procs.
Set processing now supports an additional `check' binding and the old
values are automatically restored if we have to rollback.
28/10/95 (new feature) The SCOTTY_NTPING environment variable can be
used to overwrite the compiled in location of ntping.
28/10/95 (new feature) Added support for multicast traps. Very
experimental but interesting stuff.
28/10/95 (new feature) Compressed MIB files are now written in an
machine specific directory. This allows to share the scotty library
across multiple platforms.
28/10/95 (new feature) The SCOTTY_STRAPS environment variable can be
used to overwrite the compiled in location of straps.
24/10/95 (bug fix) Added code to add snmpTrapEnterprise to the SNMP
trap varbind if we convert a SNMPv1 trap into a SNMPv2 trap.
23/10/95 (new feature) Added support for the upcoming SNMPv2C
community based SNMPv2 "solution".
23/10/95 (new feature) Added a -version option to configure SNMP sessions.
20/10/95 (code cleanup) Removed the check for clnt_create() which is
not used anymore.
20/10/95 (bug fix) Replaced all uses of clnt_create() with
clnttcp_create() or clntudp_create(). This is hopefully more portable.
16/10/95 (feature change) Jobs that create Tcl errors are now removed
automatically. This is consistent with the fileevent command and
avoids never ending error loops.
16/10/95 (bug fix) Show the -agent session correctly.
16/10/95 (bug fix) `snmp# bind label event' returns the script.
21/9/95 (bug fix) There is now a default definition for tkerror
in init.tcl.
20/9/95 (new feature) Scotty reads the environment variable
SCOTTY_LIBRARY to initialize the scotty_library variable.
16/9/95 (code cleanup) Removed the stcl code as this is now part of
tcl7.5*. Get the latest Tcl/Tk version if you want to use the
safe Tcl extension.
14/9/95 (bug fix) Use a TCP connection to query the mount daemon. This
allows to retrieve very large results.
12/9/95 (bug fix) Changing the command bound to a job is now done in
two parts: First accept the new command and then put the command in
place inside of the scheduler. This fixes a race condition where the
was changed which was currently evaluated.
11/9/95 (bug fix) Various fixes/cleanups. Multicasts now work at least
on SunOS 4.1.3, FreeBSD 2.0.5 and a bit on Linux 1.3.25.
10/9/95 (bug fix) Tnm_MibFindNode() returns the offset to the trailer
of the given name or object identifier, which is usually an instance
identifier. This gives better performance and fixes the broken `mib
name system.sysDescr.0' result.
10/9/95 (bug fix) Fixed a problem where we used a char pointer that
was already freed.
9/9/95 (new feature) Added the `mib index' command, which returns
the index variables (or better keys) of a conceptual table.
3/9/95 (bug fix) Added yywrap() for those who do not use flex to compile
the gdmo parser.
25/8/95 (bug fix) Fixed Makefile dependencies to avoid unecessary
linker runs and cache include and library paths between configure
runs.
14/8/95 (bug fix) Various changes in the Makefile to allow compilation
in other directories using the VPATH and SRC_DIR variables.
11/8/95 (new feature) Rewrote much of the authentication checking
code. I also added support to send SNMPv2_REPORT PDUs for the USEC
model. The SNMPv2 models CLASSIC and USEC are now optional, so that
you can just remove them completely if you don't need them.
9/8/95 (bug fix) Every attempt to configure a session handle will
first wait until all pending requests have been handled. Otherwise, we
could get into problems as we need to patch authentication bytes into
packet before retransmission.
----------------- Released 2.0.0, 6/8/95 -----------------------
6/8/95 (code cleanup) Removed the --with-tcl*, --with-tk*
options. Instead, we query for the right path interactively.
6/8/95 (performance improvement) Added some static buffers to avoid
malloc() calls while parsing / formatting OCTET STRINGs during PDU
processing.
6/8/95 (performance improvement) Some changes to reduce the number of
malloc() calls for asynchronous requests. Merged the SNMP_Timeout
structure with the SNMP_Request structure.
5/8/95 (new feature) Various changes to support the new USEC SNMPv2
authentication scheme. This is really cool compared to the P/P/C model.
3/8/95 (performance improvement) Various changes to cleanup the
handling of IP addresses and port numbers.
2/8/95 (bug fix) Straps now reports the IP address and the port of the
SNMP entity that send us the trap message.
28/7/95 (bug fix) We are not calling Tcl_Eval() because of possible
security holes with $ substitution and bracketed command evaluation.
27/7/95 (bug fix) Fixed handling of instances that are deleted during
binding evaluation. Scotty returns a generic error code in this case.
27/7/95 (performance improvement) Some significant speed up if you
find nodes by name which are at the end of the MIB tree by using the
hash table.
27/7/95 (bug fix) Fixed a silly byte-order bug by adding a htons for
our Intel friends.
26/7/95 (feature change) Changed the some commands to better support
safe Tcl. All agent related commands are now bound to a session
handle. There is now only one bind command for all kind of bindings.
Bindings not associated with a particular instance require to use an
empty label "".
24/7/95 (feature change) The script argument for the session bind
command is now optional. We return the current script if the argument
is missing.
24/7/95 (new feature) Added the ability to create an agent using a
safe Tcl interpreter (based on stcl-0.1).
24/7/95 (bug fix) Scotty did not stop to process options once there
was a string that definitely was not an option.
24/7/95 (new feature) Added the safe tcl extension (stcl-0.1) to the
scotty sources until they are part of ordinary Tcl. See the file
stcl-0.1/stcl.README for more details.
21/7/95 (new feature) Added the snmp alias command and the -alias
configure option.
17/7/95 (new feature) Created a library directory which will contain a
library of useful scotty procedures that can be used in various
applications.
23/6/95 (feature change) Update msqltcl to Hakan Soderstrom's 1.50
version.
17/6/95 (feature change) Major rewrite of the job command. We now use
an object-oriented syntax. Added a wait option.
*** POTENTIAL INCOMPATIBILITY ***
14/6/95 (new feature) Added some code to extract the packets per
protocol and the packet size distribution reported by the etherd.
20/5/95 (bug fix) Changed the semantics of retries to actually mean
retries and not tries.
17/5/95 (bug fix) Some changes to handle Integer32 values.
17/5/95 (bug fix) Added an error return if called without any
arguments.
15/5/95 (bug fix) Run CPP before we grep for struct rpcent in the
configure file.
14/5/95 (feature change) We do not accept multiple arguments for the
icmp command anymore.
*** POTENTIAL INCOMPATIBILITY ***
14/5/95 (performance improvement) New and more efficient function to
read reply from ntping.
12/5/95 (feature change) The http get command now writes into a file
instead of a Tcl variable thus allowing binary data transfer.
*** POTENTIAL INCOMPATIBILITY ***
12/5/95 (new feature) The snmp wait command now accepts a request
identifier as an argument to wait for.
12/5/95 (new feature) Renamed the trapsink option to `bind trap' and
added a `bind inform' option.
9/5/95 (bug fix) The auto_path variable was not initialized correctly
as TKINED_PATH includes a colon separated list of directories.
8/5/95 (bug fix) The check for integer overflow was broken as large
unsigned integers are encoded in 5 bytes, where the first byte is 0.
7/5/95 (bug fix) Michael Kernchen fixed a few minor gdmo related
bugs. References to labels with incomplete definitions resulted in
some error messages.
4/5/95 (bug fix) Fixed two places where a ckfree(NULL) could happen if
a broken SNMP packet was received.
3/5/95 (bug fix) Once again fixed an off by one bug. Now we pass most
of the SNMP test suite written by Marshall Rose.
2/5/95 (bug fix) Added a missing check for unknown SNMP message versions.
2/5/95 (bug fix) ASN1_INTEGER, ASN1_Counter, ASN1_Gauge and
ASN1_UInteger32 were all encoded as an ASN1_INTEGER.
2/5/95 (bug fix) Fixed the conversion of SNMPv2 error codes into
SNMPv1 error codes.
28/4/95 (performance improvement) We now return a pointer to some
static buffer space to avoid some malloc/free polkas.
28/4/95 (new feature) Encode/Decode Counter64 values as Integer values
if we are on a 64 bit machine and as doubles if we are on a 32 bit
machine. Two new functions added to encode counter values to/from
doubles on machines that use based on 32 bit integers.
26/4/95 (bug fix) Check for rpc/netdb.h added. Hans Bayle
(hansb@aie.nl) reported that SCO uses this header for rpcent stuff.
26/4/95 (bug fix) Include rpc/netdb.h if HAVE_RPC_NETDB_H is true in
tnmNetdb.c and tnmSunRpc.c.
26/4/95 (new feature) Functions to format and scan TimeTicks values.
26/4/95 (bug fix) Fixed handling of unsigned TimeTick values.
26/4/95 (bug fix) Fixed the check for noSuchName errors as pointed out
by Louis A. Mamakos (louie@TransSys.COM).
24/4/95 (bug fix) Correct handling of large unsigned subidentifer.
21/4/95 (bug fix) Added a fix by Peter Reilly
where the code did not update the packet pointer after encoding an
ipaddress.
16/4/95 (new feature) Added new functions to split and merge Tcl
varbind lists. They will sometimes be used internally to make multiple
loops through a varbind less expensive.
14/4/95 (bug fix) Added a check for potential packet overflow (tooBig).
13/4/95 (bug fix) We now terminate the walk if we get an endOfMibView
exception.
13/4/95 (new feature) Created a cgi directory which contains our WWW
scripts.
6/4/95 (new feature) Added support for http binding. Needs more work.
29/3/95 (new feature) A new function to retrieve the MIB file name.
28/3/95 (bug fix) Changes to support tagged NULL values (used for
exceptions).
28/3/95 (bug fix) Fixed en-/decoding of object identifier with length
1 or 2.
28/3/95 (feature change) Convert Tcl error messages from evaluated
bindings into snmp error types.
27/3/95 (bug fix) Some hacks (calling it fixes would be a lie) to the
parser to recognize SEQENCE and SEQUENCE OF syntax and to allow type
definitions before a module header. Thanks Erik.
27/3/95 (new feature) A list of SNMP_Binding structures is now used to
hold bindings as we need a bigger set of events.
26/3/95 (new feature) Added code to save the offset to the begin of the
instance identifier.
26/3/95 (new feature) Added three more arguments and some code to
allow %l, %i and %v escapes for instance bindings.
26/3/95 (bug fix) Multiple calls to create an agent on a snmp handle
will now close the existing socket and reopen a new one.
25/3/95 (bug fix) We now use Tcl_CreatePipeline() to fork the straps
daemon.
24/3/95 (bug fix) Reinitialize the PDU type to getbulk-request.
Otherwise we send get-next requests with an error index != 0.
24/3/95 (new feature) Two new functions by Erik to handle Integer
textual conventions as defined in the latest SNMPv2 draft.
23/3/95 (bug fix) The protocol of the sunrpc probe command was parsed
from a wrong argv element (Thanks to Doug.Huges@End.Auburn.EDU).
22/3/95 (bug fix) The inform option now requires an trapOid argument
as defined in the new SNMPv2 draft.
21/3/95 (feature change) Allow the subtyping of known Textual
Conventions.
19/3/95 (code cleanup) Moved msqltcl.c into the bones directory.
10/3/95 (bug fix) Decoding zero length strings returned a NULL pointer
instead of an empty string.
10/3/95 (code cleanup) Moved most of the sources into the tcpip
subdirectory.
10/3/95 (code cleanup) Replaced all xmalloc() calls etc. with
ckalloc() etc. which allows to use the Tcl memory debugger.
8/3/95 (feature change) The loop variable now contains the label or
the object identifier of the node depending on the argument which
defines the starting node.
8/3/95 (bug fix) The icmp command now accepts 0 retries as a default
value.
7/3/95 (new feature) Added a switch --with-gdmo to the configure
script to enable the gdmo parser. Moved the mib directory back to the
snmp directory and created a mib repository in the gdmo directory.
7/3/95 (new feature) Added the first version of the GDMO Tcl extension
and started to clean it up. Removed the gdmo stat option as it can be
done easily in Tcl.
7/3/95 (new feature) New function to implement a walk along the leaf
nodes of the MIB tree. Useful to count MIB objects or to build MIB browsers.
7/3/95 (performance improvement) Various rewrites to handle textual
conventions. We now use a Tcl hash table to lookup textual conventions
which makes a difference if you use large MIB definitions.
7/3/95 (bug fix) Fixed a bug which affected oids of length 1.
23/2/95 (feature change) Removed the port argument from the snmp agent
command. Use the -port configure option instead.
*** POTENTIAL INCOMPATIBILITY ***
23/2/95 (feature change) Bindings are now possible on any MIB object.
They are processed from the instance to the root of the MIB tree.
A break in a binding cancels further bindings.
21/2/95 (new feature) New command to query for textual conventions.
21/2/95 (bug fix) Fixed a bug reported by andy@is.net (Andy
Shelley). An uninitialized last scheduling time was substracted if job
list was called before the first job had a chance to run.
21/2/95 (new feature) Added a cmip abort and a cmip wait command.
20/2/95 (new feature) New wait option to wait for async. requests.
20/2/95 (new feature) Implemented a cget option to query session
options.
19/2/95 (bug fix) Use SNMP_EvalCallback() to evaluate bindings which
allows to use % escapes. Honours the break return. Added a call to
Tk_BackgroundError() if an error occurs.
19/2/95 (code cleanup) Created a doc directory to hold all manual
pages etc.
17/2/95 (bug fix) Do not try to encode something if the packet is
already a NULL pointer because of an earlier error.
17/2/95 (new feature) Added a new snmp command 'snmp bind' to define
bindings on SNMP instances.
14/2/95 (code cleanup) Centralized some includes to make ports easier.
11/2/95 (bug fix) noSuchName errors mark the end of a MIB view and
hence they are no real errors. So we ignore them during a walk.
9/2/95 (new feature) Added a configure option for msqltcl. Cool stuff.
7/2/95 (feature change) Search for the mib file in $scotty_lib/site
and in $scotty_lib/mibs.
6/2/95 (bug fix) Child nodes are now inserted in lexicographic order
and already existing nodes are skipped when building the MIB tree.
29/1/95 (new feature) Added new tkined object types HTML and DATA.
24/1/95 (bug fix) Some additional code to handle MIB files that define
more than one subtree. The solution is somewhat ugly, but at least it
does what it should.
23/1/95 (bug fix) More checks to get -lsocket, -lnsl, -lrpcsvc stuff
right. (Thanks to Ross Wakelin ).
22/1/95 (new feature) New function to query the textual convention
that applies to a given object.
20/1/95 (bug fix) Fixed the encoding of MD5 authenticated messages.
19/1/95 (bug fix) Removed some hard wired quotings in tnmDns.c that
are now done automatically by appending elements.
14/1/95 (feature removed) Removed the syslogd and netguard
sources. They are now available as netguard-0.1.tar.gz and
syslogd-0.1.tar.gz from ftp.ibr.cs.tu-bs.de/pub/local/tkined/contrib.
14/1/95 (bug fix) Stricter checks in den dns command for invalid
arguments.
*** POTENTIAL INCOMPATIBILITY ***
14/1/95 (new feature) Added the patch by Sam Shen (sls@mh1.lbl.gov)
which allows multicasts (tested on Solaris-2.3 and Linux-1.1.81).
13/1/95 (new feature) Replaced the nslook command by a more general
netdb command.
13/1/95 (code cleanup) Changed the autoconfiguration to use config.h
files.
12/1/95 (feature change) Removed the error callback as it is a feature
that is not really needed (simply check the error in the
callback).
*** POTENTIAL INCOMPATIBILITY ***
9/1/95 (feature change) Rewrote the icmp argument parsing code so that
you always must define the operation separated from the options.
*** POTENTIAL INCOMPATIBILITY ***
9/1/95 (feature change) Cleanup of the command parsing code of the dns
and the ntp command. The option (-timeout, -retries, -server) keep
their state now.
*** POTENTIAL INCOMPATIBILITY ***
8/1/95 (new feature) The install target now installs scotty.h and
libscotty.a. Started to renamed C functions to follow the Tcl coding
style.
8/1/95 (code cleanup) Major scotty.c cleanup. I replaced the command
processing with the code from tkMain.c. This makes the behaviour
identical to tclsh and wish.
6/1/95 (bug fix) Skip object identifier definition between the label
and the DEFINITIONS keyword in the MIB parser.
5/1/95 (bug fix) Fixed the MIB parser to skip all comments in the scanner.
3/1/95 (feature change) Replaced the scottyerror error handling proc
with tkerror as we now use the tk event loop.
3/1/95 (feature change) A received ined command that is not processed
imediately. We schedule a time event to flush the queue.
29/12/94 (feature change) Upgraded to tk4.0. Replaced the
addinput/removeinput commad with the new tk fileevent command and
removed the select command since we now use the tk event loop. The
sleep command is obsolete now since after can do the same thing. A
sleep is defined in init.tcl for compatibility.
*** POTENTIAL INCOMPATIBILITY ***
21/12/94 (new feature) Added some code to accept hexadecimal
components in an object identifier.
----------------- Released 1.2.0, 19/12/94 -----------------------
19/12/94 Use the global variable scotty_mibs to define the default set
of SNMP mibs. This allows modifications using site/init.tcl.
16/12/94 (bug fix) Added a missing call to shutdown().
7/12/94 (feature change) Moved the ined initialization into inedCmd()
so that it is possible to write scwish scripts for tkined by calling
something like `catch {ined}' at the top of the script.
7/12/94 (feature removed) Removed the -v option which seems to be
unused.
4/12/94 (code cleanup) Replaced all addinput/removeinput calls by an
appropriate call to tcl C interface of the event handler.
3/12/94 (new feature) Create a libscotty.a library which can be linked
to different tcl interpreters.
3/12/94 (new feature) Source $scotty_lib/site/init.tcl for site
specific initializations. Added a check and a warning message if the
after, addinput or removeinput command is missing.
3/12/94 (new feature) New file init.c just containing Scotty_Init() to
support hyper extended wishes. Added a target to build scwish binary.
3/12/94 (bug fix) Fixed and added a couple of function prototypes.
30/11/94 (bug fix) Only skip white spaces at the beginning of a line
when retrieving a description from a MIB file.
29/11/94 (bug fix) Fixed an off-by-one bug for length > 127.
28/11/94 (bug fix) trapOid sometimes got freed from not malloced memory.
24/11/94 (bug fix) Moved the mibs directory below the toplevel
directory because ULTRIX install is brain damaged (sorry).
23/11/94 (bug fix) Nodes with a subid smaller than all already
existing nodes in a tree level were placed at the end.
23/11/94 (bug fix) Fixed the parsing of authentication keys.
22/11/94 (bug fix) Fixed the decoding of negative integers.
20/11/94 (performance improvement) Merged the parser node structure
with the tree structure to avoid unnecessary duplications.
20/11/94 (code cleanup) Updated the configure stuff to autoconf-2.1.
18/11/94 (feature removed) Removed the --with-snmp option as the snmp
stack should run on almost any UNIX machine.
18/11/94 (performance improvement) Rewrote the query interface to the
MIB tree. Its much faster now, especially on lookups to instance
identifiers.
17/11/94 (new feature) Added some counters here and there to get some
stats for the snmp statistics groups.
17/11/94 (new feature) Eriks extensions to parse.c and query.c are
here to handle textual conventions. Cool stuff. Thanks alot.
17/11/94 (new feature) Calling scottyerror in ined.c when a command
received from the tkined editor fails.
16/11/94 (performance improvement) Rewrote walk() using calls to
SNMP_Encode instead of Tcl_Eval() which makes it a little bit faster.
15/11/94 (performance improvement) Changed the interface to
SNMP_Encode() so that we can call it with an already assembled
pdu. Allows me to move the argument parsing code to tcl_snmp.c and to
call SNMP_Encode() directly from agent.c.
15/11/94 (new feature) Erik has hacked parse.c to recognize
enumerations and textual conventions. Both are written to *idx files
and the mib format and mib scan commands can convert enumeration to
integers and back.
13/11/94 (new feature) Implemented an agent session command to create
objects for an mid-level agent. It currently implements the system
group.
13/11/94 (feature change) Automatic loading of all mib definitions is
only done when the first mib command is not a load command.
11/11/94 (bug fix) Cleanup the configuration code in tcl_snmp.c and
added Eriks hex_to_bin() and bin_to_hex(). Thanks.
11/11/94 (performance improvement) Extended the session structure to
keep an agent socket and changed SNMP_AgentRecv() to save the address
from the sending entity in the session structure. V1 and V2 now use
the same session structure.
10/11/94 (performance improvement) Directly encode packets without
setting up message structures first.
9/11/94 (feature removed) Removed the -nomib option as it really does
not make any sense to me.
8/11/94 (bug fix) Initialize tcl_interactive before calling
Tcl_AppInit(). Added some minor defines to better integrate with
tclX.
5/11/94 (performance improvement) Removed some mallocs by removing
pointers to structures. The structures are now an element of the
enclosing structure.
2/11/94 (new feature) Implemented the snmp trapsink command which
allows to install a trap handler, which gets called whenever a trap
message is received.
2/11/94 (feature change) Renamed snmp create session to snmp
session. This is hopefully the final name... The old snmp session
command is now names snmp info.
*** POTENTIAL INCOMPATIBILITY ***
2/11/94 (performance improvement) Moved the handling of outstanding
request lists to the misc module. I also rewrote stuff to create an
entry in a requests list only if it is really an async request.
2/11/94 (performance improvement) Rewrote the varbind decode/encode
functions to directly convert from/to a TCL DString.
26/10/94 (new feature) Added some magic to init.tcl to load mib
definitions only when the mib command is actually used.
31/10/94 (performance improvement) Changed the request structure to
contain the encoded packet instead of the message structure. This
makes retransmits faster.
28/10/94 (bug fix) Fixed a bug in the snmp walk code - one of those
nasty things that clobber the interp handle. I now use eval to do
things, even if it is slower it is much safer.
23/10/94 (performance improvement) Implemented warp 4 in the walk
command.
23/10/94 (code cleanup)Moved the xmalloc() functions to xmalloc.c.
22/10/94 (performance improvement) Fixed the handling of the callback
tcl strings. We now avoid some strdup()s.
21/10/94 (new feature) Added a synchronous walk subcommand to a
session handle. This is just a loop around getbulk and currently uses
max-repetitions == 1, which should be optimized.
21/10/94 (new feature) Getbulk requests on SNMPv1 handles are now
turned into getnext requests.
21/10/94 (bug fix) Fixed a bug in event.c. Tk_DeleteFileHandler() did
not close the FILE handle.
16/10/94 (feature change) Renamed snmp create to snmp create session
to allow more objects to be created (like trap handler or MIB
instances).
*** POTENTIAL INCOMPATIBILITY ***
16/10/94 (bug fix) Fixed a minor bug that affected async requests that
timed out. Now we invoke the error callback if we did not get an
answer after all retries.
15/10/94 (new feature) Added a response subcommand to the session
commands. This is needed is some form to support the InformRequest
messages send by cooperating managers.
10/10/94 (new feature) The mib parser now saves the access status. You
can query it using the `mib access' command.
30/9/94 (new feature) The mib parser now accepts trap type macros as
defined in RFC 1215.
30/9/94 (new feature) Added the straps trap forwarding server.
30/9/94 (new feature) Tilde substitution in the "mib load" command.
13/9/94 (bug fix) The ASN.1 module now accepts zero length integers.
I don't know if this is legal, but cisco's are sending them anyway.
13/9/94 (feature change) Made all MIB lookups fuzzy. One has to use
the -exact switch to get the previous behavior.
12/9/94 (feature change) All snmp operations return always the object
identifier in the varbind list. This makes output less readable, but
makes programming much easier since you always know what you get. And
it is easy to convert the oid back to a name using the mib command.
9/9/94 (feature change) Removed the function handle_exception. This is
now done using the callback escapes. In sync mode, we return the error
name, the error index and the var bind list.
9/9/94 (bug fix) Replaced all occurrences of long with int. This makes
this code running on a 64 bit DEC ALPHA machine.
9/9/94 (bug fix) Rewrote execute_callback (fixes memory leak and
speeds it up) and removed error_callback. Use execute_callback
instead.
9/9/94 (feature removed) Removed the obscure null-instance and instance
feature. Its easy to do it in TCL, so we don't clobber our SNMP code
with it.
7/9/94 (bug fix) Removed the scanf call from mib_parse.c to speed up
loading times. Lots of minor memory leaks fixed. We also do not stop
anymore just because we received an unexpected packet. Automatically
switch between synchronous and async. mode.
6/9/94 (feature change) Changed the mib query module to return names
or oids depending on the argument type. Made some smaller rewrites to
make things slightly faster.
6/9/94 (bug fix) Removed the memcpy call in ASN.1 which works not
reliable on all systems if dealing with overlapping areas.
6/9/94 (bug fix) Fixed the handling of ANSI prototypes using the tcl
_ANIS_ARGS_ macro.
6/9/94 (new feature) Added a -port option to set the destination port
when using SNMPv1.
5/9/94 (new feature) Added some code to mib_parse.c to allow
incremental loading of MIB descriptions.
3/9/94 (feature removed) Removed 'snmp clone'. I prefer a better
output format of ' configure' so that I can simply write:
'eval snmp create [join [$s configure]]'
3/9/94 (new feature) Added an initialization file init.tcl that is
expected to live in /usr/local/lib/scotty. It will be used to
customize the SNMPv2 software.
3/9/94 (bug fix) Replaced all bzero() and bcopy() functions with the
ANSI memset() and memcpy() equivalents.
2/9/94 (new feature) Changed Mib_Init() to accept a file name. A
pointer to the file name is stored in struct tree and later reused to
read the description of an object.
29/8/94 (bug fix) Fixed a bug in event.c handler which did not allow
to redefine an addinput handler.
28/8/94 (bug fix) Fixed a bug in ined.c where I must have overlooked
to rename a TOOL to a MENU object.
----------------- Released 1.0, 26/8/94 -----------------------
26/8/94 (bug fix) Some last minute updates in ntp.c to retrieve the
offset to the ntp peer by Erik.
14/8/94 (new feature) A new ntp command to query some network time
protocol stats. Thanks Erik.
12/8/94 (feature change) Updated ined.c to support the new strip- and
barchart objects.
8/8/94 (bug fix) Fixed a bug in event.c that caused core dumps on some
machines (AIX, LINUX) when an event handler installed with
Tk_CreateFileHandler() was invoked.
2/8/94 (bug fix) Added code to close unused file descriptors after
forking a new ntping process. Added a socketpair(2) replacement using
pipe(2) for SCO based on a patch by Juergen Luksch (luksch@telenet.de).
2/8/94 (bug fix) Added some new stuff to configure.in needed by SCO
and some other ununsual OSs.
2/8/94 (bug fix) Fixed a bug in scotty.c to remove the eventhandler
for stdin when EOF is reached.
26/7/94 (new feature) Changed the configure script to search for
libgdbm.a since gdbm files have less holes than dbm files which is
nice if you are using rdist.
26/7/95 (code cleanup) Renamed gdmo anmd cmip files to follow the Tcl
conventions and to avoid problems with name clashes.
----------------- Released 0.9i, 26/8/94 -----------------------
19/7/94 (code cleanup) Renamed the directory with the MIB files from
scotty-mib to scotty. Please remove your old scotty-mib directory if
you don't use older versions anymore.
19/7/94 (new feature) Added an 'rcp info' command that is similar to
the 'tcp info' and 'udp info' commands.
17/7/94 (code cleanup) Rewrote the icmp command and the RPC mechanism
to use read() and write() system calls instead of FILE operations.
This makes scotty run correctly on HPUX machines.
14/7/94 (bug fix) Made stdin unbuffered when running in ined
mode. This makes the communication script running synchronous.
7/6/94 (bug fix) Fixed a bug in the event / job handler which delayed
job starts. This lead to a race condition in event.c.
----------------- Released 0.9e, 2/6/94 -----------------------
30/5/94 (feature change) Added the well known tk C interface to the
event handler. This is a hack that allows us to program async SNMP
requests and will be changed when tk 4.0 comes out with an event
mechanism that can be used without X11.
16/5/94 (feature change) Changed 'sunrpc ether open sulu' to 'sunrpc
ether sulu open'. Corrected some wrong sunrpc error messages.
*** POTENTIAL INCOMPATIBILITY ***
----------------- Released 0.9d, 15/5/94 -----------------------
15/5/94 (new feature) Added the extended syslogd sources to this
package.
15/5/94 (new feature) Split the tcp connect command in a tcp connect
and a tcp listen command.
*** POTENTIAL INCOMPATIBILITY ***
15/5/94 (new feature) Started a test suite in the tests
directory. Some of the tests assume a normal tcp/ip installation,
mainly a correct definition of localhost, udp and tcp echo
capabilities, a running portmapper etc. Should work on most systems.
15/5/94 (feature change) Added the udp command and the tcp prefix to
the tcp commands. This enhances readability and makes udp and tcp
commands look similar.
*** POTENTIAL INCOMPATIBILITY ***
26/4/94 (new feature) Added the getdate command and an argument to
getclock.
20/4/94 (feature change) Rewrote the job scheduler in C. See the job
command for more details. This replaces the job scheduler which was
part of ined.tcl. The interface is now cleaner and documented.
*** POTENTIAL INCOMPATIBILITY ***
10/4/94 (new feature) Integrated the access commands ined_id,
ined_name etc. into the ined command. Now its legal do use either
`ined name $comp' on an external object representation or `ined name
$id' using an object id.
*** POTENTIAL INCOMPATIBILITY ***
8/4/94 (new feature) Added round trip time to the sunrpc probe command
and cleaned up the error messages a little bit.
8/4/94 (code cleanup) Rewrote the ined command in C for speed
improvements.
----------------- Released 0.9, 9/3/94 -----------------------
26/2/94 Moved ined.tcl from the tkined source to the scotty
sources. The ined.tcl module now uses the event loop mechanism of
scotty. This is needed to use the rpc mechanism in a tkined script.
4/2/94 (new feature) A background error that occurs while evaluating
event callbacks is now handled by the user defined proc scottyerror,
which takes the error message as its argument.
28/1/94 (bug fix) Added a check for the resolver library to
configure.in.
24/1/94 (code cleanup) Do not remove the output from rpcgen when
making a distribution. This makes the compat directory obsolete.
24/1/94 (bug fix) Included a Erik's patch for dns.c to make it
compilable on AIX machines. Also added test for sys/select.h to
configure.
22/1/94 (new feature) Added the rpc command that lets us build
communicating agents easily.
22/1/94 (feature removed) Removed the support for GNU's readline
library because we get trouble with the eventloop mechanism. Use ile
instead.
22/1/94 (feature change) Renamed the old rpc command to sunrpc to
avoid confusion about which rpc service will be used.
19/1/94 (new feature) Added an event-loop mechanism in event.c that
allows us to run tcl scripts as server that receive commands, perform
some action and return the results. Changed scotty so that it runs in
this eventloop per default.
14/1/94 (new feature) Added Poul-Henning Kamp's SNMP
implementation. This will be removed when our own SNMP implementation
is done. This will break things but lets us play with SNMP right now.
----------------- Released 0.8, 9/1/94 -----------------------
9/1/94 Option parsing is now done without getopt. This allows me to
forward unrecognized options to the interpreter in the global argc and
args variables.
31/12/93 Scotty now uses GNU's autoconf program to create a configure
command.
21/12/93 (new feature) Added the syslog command.
----------------- Released 0.7, 8/10/93 -----------------------
27/9/93 (new feature) Added the select command from extended tcl
distribution (tclXselect.c) to implement a small job scheduler.
6/9/93 (feature change) Rewrote tcp.c (based on tclRawTCP) which uses
the new file handling interface of tcl-7.0.
4/9/93 (new feature) Tkined specific initialization option -i added.
Changed the headers that Scotty compiles with non ANSI C compilers.
----------------- Released 0.6, 31/8/93 -----------------------
21/7/93 (new feature) Added the dns command written by Erik
Schoenfelder.
----------------- Released 0.5, 19/7/93 -----------------------