Changelog for cpsa-3.4.0
2017-09-15 John D. Ramsdell <ramsdell@mitre.org>
* src/CPSA/DiffieHellman/Algebra.hs (unifyTerms): Added calls to
chase before calling unifyBase which prevents a failure in the
occurs check.
2017-09-14 John D. Ramsdell <ramsdell@mitre.org>
* src/CPSA/Lib/Strand.hs (tryPerm): Add missing inverse
permutation to second checkOrigs in tryPerm.
2017-09-12 John D. Ramsdell <ramsdell@mitre.org>
* cpsa.cabal: Removed CPSA.Lib.CPSA globally and removed
unnecessary dependencies.
2017-08-30 John D. Ramsdell <ramsdell@mitre.org>
* cpsa.cabal: Added missing modules and source repository
location.
* src/CPSA/Lib/DebugLibrary.hs (zi): Fixed erroneous parameters in
Instance.
2017-08-28 John D. Ramsdell <ramsdell@mitre.org>
* src/CPSA/Lib/Cohort.hs (solved): Fixed condition 5. It was
using ct instead of ct'.
2017-06-30 John D. Ramsdell <ramsdell@mitre.org>
* src/CPSA/Lib/Cohort.hs (transformingNode, maybeAug, nextNode):
Rewrote code so that it no longer fails the ambiguity check.
2017-05-26 John D. Ramsdell <ramsdell@mitre.org>
* src/CPSA/DiffieHellman/Algebra.hs (mkInitMatchDecis): Ensure
initial distinctions to not include fresh variables.
(partition): Do not move variables of sort expn to lhs, even if
they are freshly generated.
2017-05-16 John D. Ramsdell <ramsdell@mitre.org>
* src/CPSA/DiffieHellman/Algebra.hs (displaySubst): Removed
erroneous substitution to fix substitution displaying.
2017-05-10 John D. Ramsdell <ramsdell@mitre.org>
* src/CPSA/Strand.hs (findReplacement, permutations): Merge
generators so that no variable in a term has an identifier that is
greater than or equal to the generator.
2017-02-02 John D. Ramsdell <ramsdell@mitre.org>
* src/CPSA/Basic/Algebra.hs (loadInvk): Added support for reading
(invk (privk ...)) and (invk (invk ...)).
2017-01-17 John D. Ramsdell <ramsdell@mitre.org>
* src/CPSA/SAS/SAS.hs (strandForm): Remove conjoin and use
concatMap when creating a characteristic skeleton.
2017-01-09 John D. Ramsdell <ramsdell@mitre.org>
* src/CPSA/Lib/Loader.hs (loadPrimary): Removed generator
parameter that was not used.
2016-12-21 John D. Ramsdell <ramsdell@mitre.org>
* src/CPSA/Lib/Cohort.hs (solved): In Condition 4, applied
substitutions to the encryption keys before testing for
derivability.
2016-10-04 John D. Ramsdell <ramsdell@mitre.org>
* src/CPSA/Basic/Algebra.hs (matchRenaming): Make isomorphism
check work in presence of asymmetric keys.
2016-09-30 John D. Ramsdell <ramsdell@mitre.org>
* src/CPSA/Lib/Algebra.hs: Added isObtainedVar for variables of
sort expr in the Diffie-Hellman algebra.
2016-08-12 John D. Ramsdell <ramsdell@mitre.org>
* src/CPSA/SAS/SAS.hs (form): Changed "defsas" to "defgoal" as the
keyword for a generated shape analysis sentence. This makes the
program compatible with its documentation.
2016-06-22 John D. Ramsdell <ramsdell@mitre.org>
* cpsa.cabal (Extension): Add allow ambiguous types when compiling
with GHC 8.0.0 or later.
2016-06-21 Moses D. Liskov <mliskov@mitre.org>
* src/CPSA/DiffieHellman/Algebra.hs: Added code to implement the
"tag" sort, which quoted string tags belong to.
2016-06-03 Moses D. Liskov <mliskov@mitre.org>
* doc/examples/IKE_variants.tar.gz: Added this compressed archive
of IKEv1 and IKEv2 variant input files.
2016-03-30 John D. Ramsdell <ramsdell@mitre.org>
* src/CPSA/SAS/SAS.hs: Added support for fringe skeletons so that
cpassas makes use of depth limited output. When a tree depth
limit is exceeded, a fringe labeled skeleton is printed. cpsasas
produces a sentence with a right-hand-side that encodes both the
shapes and the fringe. Thus, when cpsa is running the a tree
depth limit of one, cpsasas computes a cohort analysis sentence.
2016-03-29 John D. Ramsdell <ramsdell@mitre.org>
* src/CPSA/Lib/Reduction.hs (LPreskel): Added a depth field, so
that CPSA aborts when the depth of one branch exceeds a bound.
* src/CPSA/Lib/Algebra.hs: Added escapeSet to Term class and remove
protectors, thus computing the escape set in a more
straightforward way.
2015-11-23 John D. Ramsdell <ramsdell@mitre.org>
* src/CPSA/SAS/Main.hs (main): Changed start up so that the herald
is read and used to find the correct algebra for further
processing.
2015-10-02 John D. Ramsdell <ramsdell@mitre.org>
* doc/{index,cpsauser}.html: Added width limit of 48em.
2015-07-09 John D. Ramsdell <ramsdell@mitre.org>
* src/CPSA/Graph/ExpandedView.hs (purgeTraces): By default, the
graph program now does not show traces in skeletons. Added
--show-traces option to the graph program, which restores the
previous behavior and traces are displayed in skeletons.
2015-07-02 John D. Ramsdell <ramsdell@mitre.org>
* src/CPSA/Lib/Algebra.hs: Added constituent to the algebra
interface and the algebras. An atom is a constituent of a term if
the atom is among the set of atoms required to construct the term.
Changed occursIn so that it just applies to variables.
2015-07-01 John D. Ramsdell <ramsdell@mitre.org>
* src/CPSA/{Basic,DiffieHellman}/Algebra.hs (occursIn): Restricted
first argument of occursIn to variables and atoms and corrected
the implementation.
2015-06-30 John D. Ramsdell <ramsdell@mitre.org>
* cpsa3.cabal (Version): Tagged as 3.2.2.
2015-06-25 John D. Ramsdell <ramsdell@mitre.org>
* src/CPSA/Lib/Strand.hs (geq): Removed dynamic role specific test
because it erroneously reports violations. The existing static
role specific test correctly does the job.
2015-05-26 John D. Ramsdell <ramsdell@mitre.org>
* cpsa3.cabal (Version): Tagged as 3.2.1.
* src/CPSA/DiffieHellman/Algebra.hs (displayTerm): Made it so
that CPSA prints each bltk atoms in a canonical form so that the
graph program draws solid arrows when it should.
2015-04-27 John D. Ramsdell <ramsdell@mitre.org>
* src/CPSA/Lib/Loader.hs (ReturnFail): Added ReturnFail Monad so
that fail is correctly handled. Added Functor and Applicative
instance to support GHC 7.10 base library.
2015-04-20 John D. Ramsdell <ramsdell@mitre.org>
* src/CPSA/Lib/Characteristic.hs (mkDcls): Fixed tag for non-orig
and pen-non-orig.
2015-04-10 John D. Ramsdell <ramsdell@mitre.org>
* src/CPSA/Lib/Strand.hs (mkListener): The role used for listener
strands is now the one stored in the protocol. It has a single
variable x of sort mesg as its set of variables. This change
enables satisfaction checking on skeleton that include listeners.
2015-04-07 John D. Ramsdell <ramsdell@mitre.org>
* src/CPSA/Lib/Strand.hs (toSkeleton): Removed hulling to the
process of converting an input preskeleton into a skeleton as it
causes bugs in printing.
* Imported CPSA2's implementation of goals and expunged support
for subgoals.
2015-03-27 John D. Ramsdell <ramsdell@mitre.org>
* src/CPSA/Lib/Strand.hs (toSkeleton): Added hulling to the
process of converting an input preskeleton into a skeleton.
2015-03-25 John D. Ramsdell <ramsdell@mitre.org>
* src/CPSA/Lib/Goal.hs: Added uniq to goal language.
2015-03-17 John D. Ramsdell <ramsdell@mitre.org>
* src/CPSA/SAS/SAS.hs (form): Generate a defsas form rather than a
naked sentence.
* src/CPSA/Lib/Loader.hs (loadPrimary): Renamed equals function
symbol to =.
2015-03-05 John D. Ramsdell <ramsdell@mitre.org>
* cpsa3.cabal (Version): Tagged as 3.2.0.
2015-02-20 John D. Ramsdell <ramsdell@mitre.org>
* Added support for subgoals within point-of-view skeletons. The
subgoals are evaluated for each shape, and (satisfies-a-subgoal)
is added to a shape when it satisfies one of the subgoals.
2014-12-11 John D. Ramsdell <ramsdell@mitre.org>
* src/CPSA/Lib/Entry.hs (defaultOptions): Changed the default
strand bound to 12.
2014-11-15 John D. Ramsdell <ramsdell@mitre.org>
* src/CPSA/SAS/SAS.hs: Changed the language used for a shape
analysis sentence to be node-oriented.
2014-11-07 John D. Ramsdell <ramsdell@mitre.org>
* src/CPSA/Lib/Loader.hs (loadPriorities): Allowed priority
declarations on state synchronization nodes other than
initiatizers.
2014-11-07 John D. Ramsdell <ramsdell@mitre.org>
* src/CPSA/Lib/Cohort.hs (explainable): Added the nodes reachable
by strand succession so that a transition can be explained by a
previous transition within a strand.
2014-10-31 John D. Ramsdell <ramsdell@mitre.org>
* Changed the name of the logic producing program to cpsa3sas.
2014-09-01 John D. Ramsdell <ramsdell@mitre.org>
* src/CPSA/Lib/Strand.hs (noStateSplit): An observer node should have
at most one transition node after it too.
2014-08-31 John D. Ramsdell <ramsdell@mitre.org>
* src/CPSA/Lib/State.hs: Made labels optional. Use "tran" for
state synchronization events with labels, and "sync" for ones
without.
2014-08-29 John D. Ramsdell <ramsdell@mitre.org>
* src/CPSA/Lib/*.hs: Added support for analyzing protocols with
state. A state synchronization event sync was added to the events
that can occur in a trace, along with a new method for state-based
augmentation. An example using sync events is in
tst/envelope.scm.
2014-08-26 John D. Ramsdell <ramsdell@mitre.org>
* cpsa3.cabal: Removed cpsaparameters program.
2014-08-25 John D. Ramsdell <ramsdell@mitre.org>
* src/split.py: Added the skeleton split program that copies the
skeletons in a CPSA source file into separate files.
2014-08-23 John D. Ramsdell <ramsdell@mitre.org>
* src/cpsajson.py (load): Added a reader in Python for JSON
produced by CPSA's pretty printer program cpsa3pp -j.
2014-08-22 John D. Ramsdell <ramsdell@mitre.org>
* src/CPSA/JSON/Main.hs: Added the program cpsa3json that
translates JSON encoded CPSA into CPSA S-Expressions. It expects
the JSON input to follow the conventions of the JSON produced by
the cpsapp program when given the -j option.
* src/CPSA/Lib/SExpr.hs (numOrSym): Enabled parsing a number with
a plus sign by removing the sign before translating the string of
digits into a number.
2014-06-12 John D. Ramsdell <ramsdell@mitre.org>
* cpsa3.cabal (Version): Tagged as 3.0.3.
2014-02-06 John D. Ramsdell <ramsdell@mitre.org>
* cpsa3.cabal (Version): Tagged as 3.0.2.
2013-12-14 John D. Ramsdell <ramsdell@mitre.org>
* cpsa3.cabal (Version): Tagged as 3.0.1.
* cpsa3.cabal (Extra-Source-Files): Added more DH tests
2013-03-12 John D. Ramsdell <ramsdell@mitre.org>
* src/CPET/Annotations/Annotations.hs (obligation): Replaced an
irrefutable pattern that raised an exception with a maybeToList.
2013-02-21 John D. Ramsdell <ramsdell@mitre.org>
* src/CPET/DiffieHellman/Algebra.hs: Added the Diffie-Hellman
algebra based on Abelian groups.
* src/CPET/Basic/Algebra.hs: Removed support for GHC 6.x.
2013-02-06 John D. Ramsdell <ramsdell@mitre.org>
* cpet.cabal (Version): Tagged as 0.0.0.