openssl.git
11 years agoAdd missing colon in manpage
Lutz Jänicke [Wed, 30 Jan 2008 08:26:59 +0000 (08:26 +0000)]
Add missing colon in manpage

Submitted by: Richard Hartmann <richih.mailinglist@gmail.com>

11 years agoAdd Global Sign root CA.
Dr. Stephen Henson [Sat, 26 Jan 2008 23:42:58 +0000 (23:42 +0000)]
Add Global Sign root CA.

11 years agoClarify FAQ.
Dr. Stephen Henson [Wed, 23 Jan 2008 19:21:00 +0000 (19:21 +0000)]
Clarify FAQ.

11 years agoClarify BITLIST format and include an example.
Dr. Stephen Henson [Wed, 23 Jan 2008 19:10:53 +0000 (19:10 +0000)]
Clarify BITLIST format and include an example.

11 years agorc5/asm/rc5-586.pl was erroneously omitted from last perlasm unification.
Andy Polyakov [Thu, 17 Jan 2008 19:48:01 +0000 (19:48 +0000)]
rc5/asm/rc5-586.pl was erroneously omitted from last perlasm unification.

11 years agocrypto/rc5/Makefile was erroneously omitted from last perlasm unification.
Andy Polyakov [Tue, 15 Jan 2008 11:27:06 +0000 (11:27 +0000)]
crypto/rc5/Makefile was erroneously omitted from last perlasm unification.
Also remove obsolete and now misleading comments.

11 years ago<strings.h> does not exist under WIN32.
Dr. Stephen Henson [Mon, 14 Jan 2008 18:10:55 +0000 (18:10 +0000)]
<strings.h> does not exist under WIN32.

11 years agoUnify ppc assembler make rules.
Andy Polyakov [Sun, 13 Jan 2008 22:01:30 +0000 (22:01 +0000)]
Unify ppc assembler make rules.

11 years agoAutomate assembler support for Win64 targets (more work is needed).
Andy Polyakov [Sun, 13 Jan 2008 17:56:02 +0000 (17:56 +0000)]
Automate assembler support for Win64 targets (more work is needed).

11 years agoAllow to specify filename on sha1-ia64.pl command line.
Andy Polyakov [Sun, 13 Jan 2008 17:43:11 +0000 (17:43 +0000)]
Allow to specify filename on sha1-ia64.pl command line.

11 years agoMake all x86_64 modules independent on current working directory.
Andy Polyakov [Sun, 13 Jan 2008 17:42:04 +0000 (17:42 +0000)]
Make all x86_64 modules independent on current working directory.

11 years agorc4-x86_64 portability fix.
Andy Polyakov [Sat, 12 Jan 2008 11:29:45 +0000 (11:29 +0000)]
rc4-x86_64 portability fix.

11 years agoMissing headers.
Ben Laurie [Sat, 12 Jan 2008 11:22:31 +0000 (11:22 +0000)]
Missing headers.

11 years agoUnify x86 perlasm make rules.
Andy Polyakov [Fri, 11 Jan 2008 13:15:11 +0000 (13:15 +0000)]
Unify x86 perlasm make rules.

11 years agoAutomate assembler support in mk1mf even further.
Andy Polyakov [Fri, 11 Jan 2008 11:59:37 +0000 (11:59 +0000)]
Automate assembler support in mk1mf even further.

11 years agoExperimental support for import of more options from Configure
Dr. Stephen Henson [Sun, 6 Jan 2008 00:36:22 +0000 (00:36 +0000)]
Experimental support for import of more options from Configure
(via top level Makefile) into mk1mf builds. This avoids the need
to duplicate the CFLAG handling and can auto build assembly language
source files from perl scripts.

Extend VC-WIN32 Configure entry to include new options.

11 years agoUpdate perl asm scripts include paths for perlasm.
Dr. Stephen Henson [Sat, 5 Jan 2008 22:28:38 +0000 (22:28 +0000)]
Update perl asm scripts include paths for perlasm.

11 years agoFix unsigned/signed warnings in ssl.
Andy Polyakov [Sat, 5 Jan 2008 21:35:34 +0000 (21:35 +0000)]
Fix unsigned/signed warnings in ssl.

11 years agoCygwin compatibility fix to apps/ocsp.c.
Andy Polyakov [Sat, 5 Jan 2008 21:32:29 +0000 (21:32 +0000)]
Cygwin compatibility fix to apps/ocsp.c.

11 years agoCompensate for BSDi shell bug.
Andy Polyakov [Sat, 5 Jan 2008 21:30:59 +0000 (21:30 +0000)]
Compensate for BSDi shell bug.

11 years agoengine/ccgost Win32 portability fixes.
Andy Polyakov [Sat, 5 Jan 2008 21:28:53 +0000 (21:28 +0000)]
engine/ccgost Win32 portability fixes.

11 years agoMake aes-x86_64 work with debug Win64 build.
Andy Polyakov [Sat, 5 Jan 2008 18:17:20 +0000 (18:17 +0000)]
Make aes-x86_64 work with debug Win64 build.

11 years agoMake AES_T[ed] private to aes-586 module.
Andy Polyakov [Sat, 5 Jan 2008 08:58:18 +0000 (08:58 +0000)]
Make AES_T[ed] private to aes-586 module.

11 years agoInclude Mont asm files in WIN32 build.
Dr. Stephen Henson [Sat, 5 Jan 2008 00:45:27 +0000 (00:45 +0000)]
Include Mont asm files in WIN32 build.

11 years agoAdd extra SHA2 defines.
Dr. Stephen Henson [Sat, 5 Jan 2008 00:44:33 +0000 (00:44 +0000)]
Add extra SHA2 defines.

11 years agoLast dso_dlfcn.c check-in said "Use Dl_info only on systems where it is
Andy Polyakov [Fri, 4 Jan 2008 23:03:23 +0000 (23:03 +0000)]
Last dso_dlfcn.c check-in said "Use Dl_info only on systems where it is
known to exist. It does not exist on AIX 4.3.3, AIX 5.1, SCO 5, or Cygwin"
and disabled it on banch of systems it's known to exists, such as FreeBSD,
Solaris, 64-bit HP-UX, MacOS X. Get it straight.

11 years agox86gas.pl update.
Andy Polyakov [Fri, 4 Jan 2008 22:58:50 +0000 (22:58 +0000)]
x86gas.pl update.

11 years agoAdd sha2 defines.
Dr. Stephen Henson [Fri, 4 Jan 2008 16:32:39 +0000 (16:32 +0000)]
Add sha2 defines.

11 years agoUpdate netware to use new SHA2 assembly language modules.
Dr. Stephen Henson [Fri, 4 Jan 2008 13:18:09 +0000 (13:18 +0000)]
Update netware to use new SHA2 assembly language modules.

11 years agoUpdate WIN32 nasm build to use new asm files.
Dr. Stephen Henson [Fri, 4 Jan 2008 00:48:14 +0000 (00:48 +0000)]
Update WIN32 nasm build to use new asm files.

11 years agoAvoid WIN32 signed/unsigned warnings.
Dr. Stephen Henson [Fri, 4 Jan 2008 00:37:23 +0000 (00:37 +0000)]
Avoid WIN32 signed/unsigned warnings.

11 years agoMove CHANGES entry. Revert include file install line.
Dr. Stephen Henson [Thu, 3 Jan 2008 22:57:50 +0000 (22:57 +0000)]
Move CHANGES entry. Revert include file install line.

11 years agoNetware support.
Dr. Stephen Henson [Thu, 3 Jan 2008 22:43:04 +0000 (22:43 +0000)]
Netware support.
Submitted by: Guenter Knauf <eflash@gmx.net>

11 years agoNASM has recently changed name of win32 pre-compiled binary.
Andy Polyakov [Thu, 3 Jan 2008 17:09:56 +0000 (17:09 +0000)]
NASM has recently changed name of win32 pre-compiled binary.
PR: 1627

11 years agoAdd quotes to Win32 install directories.
Dr. Stephen Henson [Thu, 3 Jan 2008 16:37:00 +0000 (16:37 +0000)]
Add quotes to Win32 install directories.
Submitted by:  Mladen Turk <mturk@apache.org>

11 years agoperlasm/x86*.pl updates.
Andy Polyakov [Thu, 3 Jan 2008 16:21:06 +0000 (16:21 +0000)]
perlasm/x86*.pl updates.

11 years agoFinal (for this commit series) optimized version and with commentary section.
Andy Polyakov [Sat, 29 Dec 2007 20:30:09 +0000 (20:30 +0000)]
Final (for this commit series) optimized version and with commentary section.

11 years agoThis is also informational commit exposing loop modulo scheduling "factor."
Andy Polyakov [Sat, 29 Dec 2007 20:28:01 +0000 (20:28 +0000)]
This is also informational commit exposing loop modulo scheduling "factor."

11 years agoNew Montgomery multiplication module, ppc64-mont.pl. Reference, non-optimized
Andy Polyakov [Sat, 29 Dec 2007 20:26:46 +0000 (20:26 +0000)]
New Montgomery multiplication module, ppc64-mont.pl. Reference, non-optimized
implementation. This is essentially informational commit.

11 years agoppc-xlate.pl update.
Andy Polyakov [Sat, 29 Dec 2007 18:50:44 +0000 (18:50 +0000)]
ppc-xlate.pl update.

11 years agoSource readability fix, which incidentally works around XLC compiler bug.
Andy Polyakov [Sat, 29 Dec 2007 18:32:34 +0000 (18:32 +0000)]
Source readability fix, which incidentally works around XLC compiler bug.

11 years agoEngage x86 assembler in Mac OS X build.
Andy Polyakov [Tue, 18 Dec 2007 17:33:49 +0000 (17:33 +0000)]
Engage x86 assembler in Mac OS X build.

11 years agoMac OS X x86 assembler support.
Andy Polyakov [Tue, 18 Dec 2007 17:28:22 +0000 (17:28 +0000)]
Mac OS X x86 assembler support.

11 years agoDisable support for Metrowerks assembler. Assembler itself is broken,
Andy Polyakov [Tue, 18 Dec 2007 09:32:20 +0000 (09:32 +0000)]
Disable support for Metrowerks assembler. Assembler itself is broken,
specifically it incorrectly encodes EA offsets between 128 and 255.

11 years agox86 perlasm overhaul.
Andy Polyakov [Tue, 18 Dec 2007 09:18:49 +0000 (09:18 +0000)]
x86 perlasm overhaul.

11 years agoAvoid aliasing warning.
Dr. Stephen Henson [Sun, 16 Dec 2007 13:57:44 +0000 (13:57 +0000)]
Avoid aliasing warning.

11 years agoUpdate ordinals
Dr. Stephen Henson [Sun, 16 Dec 2007 13:16:58 +0000 (13:16 +0000)]
Update ordinals

11 years agoInitialize sigsize.
Dr. Stephen Henson [Fri, 14 Dec 2007 16:53:50 +0000 (16:53 +0000)]
Initialize sigsize.

11 years agoHandle non-SHA1 digests for certids in OCSP test responder.
Dr. Stephen Henson [Fri, 14 Dec 2007 12:43:50 +0000 (12:43 +0000)]
Handle non-SHA1 digests for certids in OCSP test responder.

11 years agogmp engine was non-operational.
Andy Polyakov [Tue, 4 Dec 2007 20:28:52 +0000 (20:28 +0000)]
gmp engine was non-operational.

11 years agoSubmitted by: Victor B. Wagner <vitus@cryptocom.ru>, steve
Dr. Stephen Henson [Tue, 4 Dec 2007 12:41:28 +0000 (12:41 +0000)]
Submitted by: Victor B. Wagner <vitus@cryptocom.ru>, steve

Use default algorithms for OCSP request and response signing. New command
line option to support other digest use for OCSP certificate IDs.

11 years agoChange submitted by Doug Kaufman. He writes:
Richard Levitte [Mon, 3 Dec 2007 09:02:29 +0000 (09:02 +0000)]
Change submitted by Doug Kaufman.  He writes:

  I just compiled the 9.9-dev version from the 12022007 tarball under
  DJGPP. There were only 2 changes needed, one for b_sock.c, since
  DJGPP with WATT32 doesn't define socklen_t and one for testtsa to
  handle DOS style path separators. I also noted what seems to be a
  typographical error in ts.pod. The test suite passes. The patch is
  attached.

  Since I am in the US, I have sent notifications to the Bureau of
  Industry and Security and to the NSA.

11 years agoSome assembler are allergic to lea reg,BYTE PTR[...].
Andy Polyakov [Sun, 2 Dec 2007 21:32:03 +0000 (21:32 +0000)]
Some assembler are allergic to lea reg,BYTE PTR[...].

Submitted by: Guenter Knauf

11 years agoStructure symbol decorations, optimize label handling...
Andy Polyakov [Sat, 24 Nov 2007 16:03:57 +0000 (16:03 +0000)]
Structure symbol decorations, optimize label handling...

11 years agoRebuild OID database: duplicates got in there somehow??
Dr. Stephen Henson [Fri, 23 Nov 2007 00:34:00 +0000 (00:34 +0000)]
Rebuild OID database: duplicates got in there somehow??

11 years agoFix from stable branch.
Dr. Stephen Henson [Fri, 23 Nov 2007 00:19:24 +0000 (00:19 +0000)]
Fix from stable branch.

11 years agoAdd caRepository OID and sync object NIDs with OpenSSL 0.9.8.
Dr. Stephen Henson [Fri, 23 Nov 2007 00:14:59 +0000 (00:14 +0000)]
Add caRepository OID and sync object NIDs with OpenSSL 0.9.8.

11 years agoSynchronize x86nasm.pl with x86unix.pl.
Andy Polyakov [Thu, 22 Nov 2007 21:21:35 +0000 (21:21 +0000)]
Synchronize x86nasm.pl with x86unix.pl.

11 years agoCombat [bogus] relocations in some assember modules.
Andy Polyakov [Thu, 22 Nov 2007 20:51:48 +0000 (20:51 +0000)]
Combat [bogus] relocations in some assember modules.

11 years agoLookup public key ASN1 methods by string by iterating through all
Dr. Stephen Henson [Wed, 21 Nov 2007 17:25:58 +0000 (17:25 +0000)]
Lookup public key ASN1 methods by string by iterating through all
implementations instead of all added ENGINEs to cover case where an
ENGINE is not added.

11 years agoSubmitted by: "Victor B. Wagner" <vitus@cryptocom.ru>
Dr. Stephen Henson [Wed, 21 Nov 2007 12:39:12 +0000 (12:39 +0000)]
Submitted by: "Victor B. Wagner" <vitus@cryptocom.ru>

Update gost algorithm print routines.

11 years agoAvoid warning.
Dr. Stephen Henson [Tue, 20 Nov 2007 17:52:02 +0000 (17:52 +0000)]
Avoid warning.

11 years agoUpdate debug-steve targets.
Dr. Stephen Henson [Tue, 20 Nov 2007 17:51:45 +0000 (17:51 +0000)]
Update debug-steve targets.

11 years agoSubmitted by: "Victor B. Wagner" <vitus@cryptocom.ru>
Dr. Stephen Henson [Tue, 20 Nov 2007 13:37:51 +0000 (13:37 +0000)]
Submitted by: "Victor B. Wagner" <vitus@cryptocom.ru>

Make {d2i,i2d}_PrivateKey() fall back to PKCS#8 format if no legacy format
supported. Add support in d2i_AutoPrivateKey().

11 years agoRebuild object cross reference table.
Dr. Stephen Henson [Tue, 20 Nov 2007 13:04:45 +0000 (13:04 +0000)]
Rebuild object cross reference table.

11 years agoTypos in man pages: dependant->dependent
Lutz Jänicke [Mon, 19 Nov 2007 09:18:03 +0000 (09:18 +0000)]
Typos in man pages: dependant->dependent

Submitted by: Tobias Stoeckmann <tobias@bugol.de>

11 years agoShould reject signatures that we can't properly verify
Bodo Möller [Mon, 19 Nov 2007 07:25:55 +0000 (07:25 +0000)]
Should reject signatures that we can't properly verify
and couldn't generate
(as pointed out by Ernst G Giessmann)

11 years agofix typos
Bodo Möller [Mon, 19 Nov 2007 07:24:08 +0000 (07:24 +0000)]
fix typos

Submitted by: Ernst G. Giessmann

11 years agoFix buffer overflow.
Ben Laurie [Fri, 16 Nov 2007 14:41:09 +0000 (14:41 +0000)]
Fix buffer overflow.

11 years agoThe hash length check wasn't strict enough,
Bodo Möller [Fri, 16 Nov 2007 13:01:14 +0000 (13:01 +0000)]
The hash length check wasn't strict enough,
as pointed out by Ernst G Giessmann

11 years agoFix warnings.
Ben Laurie [Fri, 16 Nov 2007 03:03:01 +0000 (03:03 +0000)]
Fix warnings.

11 years agoCommit #16325 fixed one thing but broke DH with certain moduli.
Andy Polyakov [Sat, 3 Nov 2007 20:09:04 +0000 (20:09 +0000)]
Commit #16325 fixed one thing but broke DH with certain moduli.

11 years agoFix from stable branch.
Dr. Stephen Henson [Sat, 3 Nov 2007 13:09:34 +0000 (13:09 +0000)]
Fix from stable branch.

11 years agoAdd OIDs by CMP (RFC 4210) and CRMF (RFC 4211)
Lutz Jänicke [Thu, 1 Nov 2007 08:24:56 +0000 (08:24 +0000)]
Add OIDs by CMP (RFC 4210) and CRMF (RFC 4211)

Submitted by: Martin Peylo <martinmeis@googlemail.com>

11 years agoFix duplicate error codes.
Dr. Stephen Henson [Fri, 26 Oct 2007 23:54:46 +0000 (23:54 +0000)]
Fix duplicate error codes.

11 years agoGOST ENGINE information.
Dr. Stephen Henson [Fri, 26 Oct 2007 23:50:40 +0000 (23:50 +0000)]
GOST ENGINE information.

11 years ago1. Changes for s_client.c to make it return non-zero exit code in case
Dr. Stephen Henson [Fri, 26 Oct 2007 12:06:36 +0000 (12:06 +0000)]
1. Changes for s_client.c to make it return non-zero exit code in case
of handshake failure

2. Changes to x509_certificate_type function (crypto/x509/x509type.c) to
make it recognize GOST certificates as EVP_PKT_SIGN|EVP_PKT_EXCH
(required for s3_srvr to accept GOST client certificates).

3. Changes to EVP
- adding of function EVP_PKEY_CTX_get0_peerkey
- Make function EVP_PKEY_derive_set_peerkey work for context with
  ENCRYPT operation, because we use peerkey field in the context to
  pass non-ephemeral secret key to GOST encrypt operation.
- added EVP_PKEY_CTRL_SET_IV control command. It is really
  GOST-specific, but it is used in SSL code, so it has to go
  in some header file, available during libssl compilation

4. Fix to HMAC to avoid call of OPENSSL_cleanse on undefined data

5. Include des.h if KSSL_DEBUG is defined into some libssl files, to
  make debugging output which depends on constants defined there, work
  and other KSSL_DEBUG output fixes

6. Declaration of real GOST ciphersuites, two authentication methods
   SSL_aGOST94 and SSL_aGOST2001 and one key exchange method SSL_kGOST

7. Implementation  of these methods.

8. Support for sending unsolicited serverhello extension if GOST
  ciphersuite is selected. It is require for interoperability with
  CryptoPro CSP 3.0 and 3.6 and controlled by
  SSL_OP_CRYPTOPRO_TLSEXT_BUG constant.
  This constant is added to SSL_OP_ALL, because it does nothing, if
  non-GOST ciphersuite is selected, and all implementation of GOST
  include compatibility with CryptoPro.

9. Support for CertificateVerify message without length field. It is
   another CryptoPro bug, but support is made unconditional, because it
   does no harm for draft-conforming implementation.

10. In tls1_mac extra copy of stream mac context is no more done.
  When I've written currently commited code I haven't read
  EVP_DigestSignFinal manual carefully enough and haven't noticed that
  it does an internal digest ctx copying.

This implementation was tested against
1. CryptoPro CSP 3.6 client and server
2. Cryptopro CSP 3.0 server

12 years agoRelease OpenSSL 0.9.8g with various fixes to issues introduced with 0.9.8f
Lutz Jänicke [Fri, 19 Oct 2007 08:26:03 +0000 (08:26 +0000)]
Release OpenSSL 0.9.8g with various fixes to issues introduced with 0.9.8f

12 years agoFix from stable branch.
Dr. Stephen Henson [Thu, 18 Oct 2007 11:42:47 +0000 (11:42 +0000)]
Fix from stable branch.

12 years agoDon't let DTLS ChangeCipherSpec increment handshake sequence number.
Andy Polyakov [Wed, 17 Oct 2007 21:15:48 +0000 (21:15 +0000)]
Don't let DTLS ChangeCipherSpec increment handshake sequence number.
PR: 1587

12 years agoDon't lookup zero length session ID.
Dr. Stephen Henson [Wed, 17 Oct 2007 17:31:57 +0000 (17:31 +0000)]
Don't lookup zero length session ID.
PR: 1591

12 years agoFix from stable branch.
Dr. Stephen Henson [Wed, 17 Oct 2007 11:49:27 +0000 (11:49 +0000)]
Fix from stable branch.

12 years agoMake ssl compile [from 098-stable, bug is masked by default].
Andy Polyakov [Sun, 14 Oct 2007 14:09:13 +0000 (14:09 +0000)]
Make ssl compile [from 098-stable, bug is masked by default].

12 years agoBunch of constifications.
Andy Polyakov [Sat, 13 Oct 2007 15:51:32 +0000 (15:51 +0000)]
Bunch of constifications.

12 years agoFix warnings in d1_both.c [from 0.9.8-stable].
Andy Polyakov [Sat, 13 Oct 2007 11:00:52 +0000 (11:00 +0000)]
Fix warnings in d1_both.c [from 0.9.8-stable].

12 years agoDTLS fixes from 0.9.8-stable.
Andy Polyakov [Sat, 13 Oct 2007 10:57:02 +0000 (10:57 +0000)]
DTLS fixes from 0.9.8-stable.

12 years agoSynchronize CHANGES between 0.9.8 and HEAD.
Andy Polyakov [Sat, 13 Oct 2007 10:55:30 +0000 (10:55 +0000)]
Synchronize CHANGES between 0.9.8 and HEAD.

12 years ago0.9.8f.
Ben Laurie [Fri, 12 Oct 2007 10:56:10 +0000 (10:56 +0000)]
0.9.8f.

12 years agoUpdate CHANGES. Keep ordinals consistent.
Dr. Stephen Henson [Fri, 12 Oct 2007 00:15:09 +0000 (00:15 +0000)]
Update CHANGES. Keep ordinals consistent.

12 years agoNew release.
Ben Laurie [Thu, 11 Oct 2007 19:31:29 +0000 (19:31 +0000)]
New release.

12 years agoRespect cookie length set by app_gen_cookie_cb.
Andy Polyakov [Tue, 9 Oct 2007 19:31:18 +0000 (19:31 +0000)]
Respect cookie length set by app_gen_cookie_cb.

Submitted by: Alex Lam

12 years agoMake DTLS1 record layer MAC calculation RFC compliant.
Andy Polyakov [Tue, 9 Oct 2007 19:19:07 +0000 (19:19 +0000)]
Make DTLS1 record layer MAC calculation RFC compliant.

Submitted by: Alex Lam

12 years agoAddendum to commit #16654.
Andy Polyakov [Tue, 9 Oct 2007 16:37:24 +0000 (16:37 +0000)]
Addendum to commit #16654.

12 years agosize_t-fy crypto/buffer.
Andy Polyakov [Tue, 9 Oct 2007 15:52:07 +0000 (15:52 +0000)]
size_t-fy crypto/buffer.

12 years agoignore a few additionally generated files
Ralf S. Engelschall [Tue, 9 Oct 2007 09:56:44 +0000 (09:56 +0000)]
ignore a few additionally generated files

12 years agoAddendum to commit #16651.
Andy Polyakov [Sun, 7 Oct 2007 14:34:59 +0000 (14:34 +0000)]
Addendum to commit #16651.

12 years agoMake it possible to link VC static lib with either /MT or /MD application.
Andy Polyakov [Sun, 7 Oct 2007 12:55:36 +0000 (12:55 +0000)]
Make it possible to link VC static lib with either /MT or /MD application.
PR: 1230

12 years agoProhibit RC4 in DTLS.
Andy Polyakov [Fri, 5 Oct 2007 21:04:56 +0000 (21:04 +0000)]
Prohibit RC4 in DTLS.

12 years agoFix from fips branch.
Dr. Stephen Henson [Fri, 5 Oct 2007 16:53:31 +0000 (16:53 +0000)]
Fix from fips branch.

12 years agoOff by one fix from stable branch.
Dr. Stephen Henson [Thu, 4 Oct 2007 12:07:52 +0000 (12:07 +0000)]
Off by one fix from stable branch.