From 970bef717e422ac79901300b56ac8f11d3593685 Mon Sep 17 00:00:00 2001 From: Amir Bandeali Date: Tue, 31 Jul 2018 12:44:16 -0700 Subject: Add return values to combinatorial fillOrder tests --- packages/contracts/test/utils/exchange_wrapper.ts | 29 ++++++++++++++++++- .../test/utils/fill_order_combinatorial_utils.ts | 33 +++++++++++++++------- 2 files changed, 51 insertions(+), 11 deletions(-) (limited to 'packages/contracts') diff --git a/packages/contracts/test/utils/exchange_wrapper.ts b/packages/contracts/test/utils/exchange_wrapper.ts index 490ea959b..bff2e9536 100644 --- a/packages/contracts/test/utils/exchange_wrapper.ts +++ b/packages/contracts/test/utils/exchange_wrapper.ts @@ -8,7 +8,7 @@ import { ExchangeContract } from '../../generated_contract_wrappers/exchange'; import { formatters } from './formatters'; import { LogDecoder } from './log_decoder'; import { orderUtils } from './order_utils'; -import { OrderInfo, SignedTransaction } from './types'; +import { FillResults, OrderInfo, SignedTransaction } from './types'; export class ExchangeWrapper { private readonly _exchange: ExchangeContract; @@ -243,4 +243,31 @@ export class ExchangeWrapper { const tx = await this._logDecoder.getTxWithDecodedLogsAsync(txHash); return tx; } + public async getFillOrderResultsAsync( + signedOrder: SignedOrder, + from: string, + opts: { takerAssetFillAmount?: BigNumber } = {}, + ): Promise { + const params = orderUtils.createFill(signedOrder, opts.takerAssetFillAmount); + const fillResults = await this._exchange.fillOrder.callAsync( + params.order, + params.takerAssetFillAmount, + params.signature, + { from }, + ); + return fillResults; + } + public abiEncodeFillOrder( + signedOrder: SignedOrder, + from: string, + opts: { takerAssetFillAmount?: BigNumber } = {}, + ): string { + const params = orderUtils.createFill(signedOrder, opts.takerAssetFillAmount); + const data = this._exchange.fillOrder.getABIEncodedTransactionData( + params.order, + params.takerAssetFillAmount, + params.signature, + ); + return data; + } } diff --git a/packages/contracts/test/utils/fill_order_combinatorial_utils.ts b/packages/contracts/test/utils/fill_order_combinatorial_utils.ts index bdd1e62a2..85acae5af 100644 --- a/packages/contracts/test/utils/fill_order_combinatorial_utils.ts +++ b/packages/contracts/test/utils/fill_order_combinatorial_utils.ts @@ -456,6 +456,29 @@ export class FillOrderCombinatorialUtils { signedOrder.takerAssetAmount, signedOrder.makerAssetAmount, ); + const expMakerFeePaid = orderUtils.getPartialAmount( + expFilledTakerAmount, + signedOrder.takerAssetAmount, + signedOrder.makerFee, + ); + const expTakerFeePaid = orderUtils.getPartialAmount( + expFilledTakerAmount, + signedOrder.takerAssetAmount, + signedOrder.takerFee, + ); + const fillResults = await this.exchangeWrapper.getFillOrderResultsAsync(signedOrder, this.takerAddress, { + takerAssetFillAmount, + }); + expect(fillResults.takerAssetFilledAmount).to.be.bignumber.equal( + expFilledTakerAmount, + 'takerAssetFilledAmount', + ); + expect(fillResults.makerAssetFilledAmount).to.be.bignumber.equal( + expFilledMakerAmount, + 'makerAssetFilledAmount', + ); + expect(fillResults.takerFeePaid).to.be.bignumber.equal(expTakerFeePaid, 'takerFeePaid'); + expect(fillResults.makerFeePaid).to.be.bignumber.equal(expMakerFeePaid, 'makerFeePaid'); // - Let's fill the order! const txReceipt = await this.exchangeWrapper.fillOrderAsync(signedOrder, this.takerAddress, { @@ -479,17 +502,7 @@ export class FillOrderCombinatorialUtils { expFilledTakerAmount, 'log.args.takerAssetFilledAmount', ); - const expMakerFeePaid = orderUtils.getPartialAmount( - expFilledTakerAmount, - signedOrder.takerAssetAmount, - signedOrder.makerFee, - ); expect(log.args.makerFeePaid).to.be.bignumber.equal(expMakerFeePaid, 'log.args.makerFeePaid'); - const expTakerFeePaid = orderUtils.getPartialAmount( - expFilledTakerAmount, - signedOrder.takerAssetAmount, - signedOrder.takerFee, - ); expect(log.args.takerFeePaid).to.be.bignumber.equal(expTakerFeePaid, 'logs.args.takerFeePaid'); expect(log.args.orderHash).to.be.equal(orderHash, 'log.args.orderHash'); expect(log.args.makerAssetData).to.be.equal(makerAssetData, 'log.args.makerAssetData'); -- cgit From 1fb3da6b5325497ea18f17dc61cf50aed7bcfc95 Mon Sep 17 00:00:00 2001 From: Amir Bandeali Date: Tue, 7 Aug 2018 13:54:34 -0700 Subject: Increment free memory pointer for internal Exchange functions that use asm --- .../Exchange/MixinAssetProxyDispatcher.sol | 6 +++++- .../2.0.0/protocol/Exchange/libs/LibAbiEncoder.sol | 18 ++++++++---------- .../contracts/src/2.0.0/test/TestLibs/TestLibs.sol | 22 +++++++++++++++++++++- 3 files changed, 34 insertions(+), 12 deletions(-) (limited to 'packages/contracts') diff --git a/packages/contracts/src/2.0.0/protocol/Exchange/MixinAssetProxyDispatcher.sol b/packages/contracts/src/2.0.0/protocol/Exchange/MixinAssetProxyDispatcher.sol index e9f882194..b34903668 100644 --- a/packages/contracts/src/2.0.0/protocol/Exchange/MixinAssetProxyDispatcher.sol +++ b/packages/contracts/src/2.0.0/protocol/Exchange/MixinAssetProxyDispatcher.sol @@ -159,18 +159,22 @@ contract MixinAssetProxyDispatcher is } /////// Call `assetProxy.transferFrom` using the constructed calldata /////// + let inputLen := sub(cdEnd, cdStart) let success := call( gas, // forward all gas assetProxy, // call address of asset proxy 0, // don't send any ETH cdStart, // pointer to start of input - sub(cdEnd, cdStart), // length of input + inputLen, // length of input cdStart, // write output over input 512 // reserve 512 bytes for output ) if iszero(success) { revert(cdStart, returndatasize()) } + + // Increment free memory pointer + mstore(64, add(cdStart, inputLen)) } } } diff --git a/packages/contracts/src/2.0.0/protocol/Exchange/libs/LibAbiEncoder.sol b/packages/contracts/src/2.0.0/protocol/Exchange/libs/LibAbiEncoder.sol index 704c7061c..f047342b3 100644 --- a/packages/contracts/src/2.0.0/protocol/Exchange/libs/LibAbiEncoder.sol +++ b/packages/contracts/src/2.0.0/protocol/Exchange/libs/LibAbiEncoder.sol @@ -24,20 +24,17 @@ import "./LibOrder.sol"; contract LibAbiEncoder { - /// @dev ABI encodes calldata for `fillOrder` in memory and returns the address range. - /// This range can be passed into `call` or `delegatecall` to invoke an external - /// call to `fillOrder`. + /// @dev ABI encodes calldata for `fillOrder`. /// @param order Order struct containing order specifications. /// @param takerAssetFillAmount Desired amount of takerAsset to sell. /// @param signature Proof that order has been created by maker. - /// @return calldataBegin Memory address of ABI encoded calldata. - /// @return calldataLength Lenfgth of ABI encoded calldata. + /// @return ABI encoded calldata for `fillOrder`. function abiEncodeFillOrder( LibOrder.Order memory order, uint256 takerAssetFillAmount, bytes memory signature ) - public + internal pure returns (bytes memory fillOrderCalldata) { @@ -207,10 +204,11 @@ contract LibAbiEncoder { } // Set length of calldata - mstore( - fillOrderCalldata, - sub(dataAreaEnd, add(fillOrderCalldata, 0x20)) - ) + let calldataLen := sub(dataAreaEnd, add(fillOrderCalldata, 0x20)) + mstore(fillOrderCalldata, calldataLen) + + // Increment free memory pointer + mstore(0x40, add(fillOrderCalldata, add(calldataLen, 0x20))) } return fillOrderCalldata; diff --git a/packages/contracts/src/2.0.0/test/TestLibs/TestLibs.sol b/packages/contracts/src/2.0.0/test/TestLibs/TestLibs.sol index 5a349527b..4a99dd9c1 100644 --- a/packages/contracts/src/2.0.0/test/TestLibs/TestLibs.sol +++ b/packages/contracts/src/2.0.0/test/TestLibs/TestLibs.sol @@ -22,13 +22,33 @@ pragma experimental ABIEncoderV2; import "../../protocol/Exchange/libs/LibMath.sol"; import "../../protocol/Exchange/libs/LibOrder.sol"; import "../../protocol/Exchange/libs/LibFillResults.sol"; +import "../../protocol/Exchange/libs/LibAbiEncoder.sol"; contract TestLibs is LibMath, LibOrder, - LibFillResults + LibFillResults, + LibAbiEncoder { + + function publicAbiEncodeFillOrder( + Order memory order, + uint256 takerAssetFillAmount, + bytes memory signature + ) + public + pure + returns (bytes memory fillOrderCalldata) + { + fillOrderCalldata = abiEncodeFillOrder( + order, + takerAssetFillAmount, + signature + ); + return fillOrderCalldata; + } + function publicGetPartialAmount( uint256 numerator, uint256 denominator, -- cgit From 9a5d7b76352e804d532e7a6d08d83f7b0ea7bd7f Mon Sep 17 00:00:00 2001 From: Amir Bandeali Date: Tue, 7 Aug 2018 14:06:50 -0700 Subject: Test abiEncodeFillOrder as part of combinatorial follOrder tests --- .../TestExchangeInternals.sol | 1 + packages/contracts/test/utils/exchange_wrapper.ts | 6 +----- .../test/utils/fill_order_combinatorial_utils.ts | 22 ++++++++++++++++++++++ 3 files changed, 24 insertions(+), 5 deletions(-) (limited to 'packages/contracts') diff --git a/packages/contracts/src/2.0.0/test/TestExchangeInternals/TestExchangeInternals.sol b/packages/contracts/src/2.0.0/test/TestExchangeInternals/TestExchangeInternals.sol index 923bac97d..d9cec9edc 100644 --- a/packages/contracts/src/2.0.0/test/TestExchangeInternals/TestExchangeInternals.sol +++ b/packages/contracts/src/2.0.0/test/TestExchangeInternals/TestExchangeInternals.sol @@ -22,6 +22,7 @@ pragma experimental ABIEncoderV2; import "../../protocol/Exchange/Exchange.sol"; +// solhint-disable no-empty-blocks contract TestExchangeInternals is Exchange { diff --git a/packages/contracts/test/utils/exchange_wrapper.ts b/packages/contracts/test/utils/exchange_wrapper.ts index bff2e9536..d57592d6d 100644 --- a/packages/contracts/test/utils/exchange_wrapper.ts +++ b/packages/contracts/test/utils/exchange_wrapper.ts @@ -257,11 +257,7 @@ export class ExchangeWrapper { ); return fillResults; } - public abiEncodeFillOrder( - signedOrder: SignedOrder, - from: string, - opts: { takerAssetFillAmount?: BigNumber } = {}, - ): string { + public abiEncodeFillOrder(signedOrder: SignedOrder, opts: { takerAssetFillAmount?: BigNumber } = {}): string { const params = orderUtils.createFill(signedOrder, opts.takerAssetFillAmount); const data = this._exchange.fillOrder.getABIEncodedTransactionData( params.order, diff --git a/packages/contracts/test/utils/fill_order_combinatorial_utils.ts b/packages/contracts/test/utils/fill_order_combinatorial_utils.ts index 85acae5af..284c4a2db 100644 --- a/packages/contracts/test/utils/fill_order_combinatorial_utils.ts +++ b/packages/contracts/test/utils/fill_order_combinatorial_utils.ts @@ -15,6 +15,7 @@ import * as _ from 'lodash'; import 'make-promises-safe'; import { ExchangeContract, ExchangeFillEventArgs } from '../../generated_contract_wrappers/exchange'; +import { TestLibsContract } from '../../generated_contract_wrappers/test_libs'; import { artifacts } from './artifacts'; import { expectTransactionFailedAsync } from './assertions'; @@ -123,6 +124,8 @@ export async function fillOrderCombinatorialUtilsFactoryAsync( exchangeContract.address, ); + const testLibsContract = await TestLibsContract.deployFrom0xArtifactAsync(artifacts.TestLibs, provider, txDefaults); + const fillOrderCombinatorialUtils = new FillOrderCombinatorialUtils( orderFactory, ownerAddress, @@ -132,6 +135,7 @@ export async function fillOrderCombinatorialUtilsFactoryAsync( zrxAssetData, exchangeWrapper, assetWrapper, + testLibsContract, ); return fillOrderCombinatorialUtils; } @@ -145,6 +149,7 @@ export class FillOrderCombinatorialUtils { public zrxAssetData: string; public exchangeWrapper: ExchangeWrapper; public assetWrapper: AssetWrapper; + public testLibsContract: TestLibsContract; public static generateFillOrderCombinations(): FillScenario[] { const takerScenarios = [ TakerScenario.Unspecified, @@ -329,6 +334,7 @@ export class FillOrderCombinatorialUtils { zrxAssetData: string, exchangeWrapper: ExchangeWrapper, assetWrapper: AssetWrapper, + testLibsContract: TestLibsContract, ) { this.orderFactory = orderFactory; this.ownerAddress = ownerAddress; @@ -338,6 +344,7 @@ export class FillOrderCombinatorialUtils { this.zrxAssetData = zrxAssetData; this.exchangeWrapper = exchangeWrapper; this.assetWrapper = assetWrapper; + this.testLibsContract = testLibsContract; } public async testFillOrderScenarioAsync( provider: Provider, @@ -410,6 +417,8 @@ export class FillOrderCombinatorialUtils { lazyStore, fillRevertReasonIfExists, ); + + await this._abiEncodeFillOrderAndAssertOutcomeAsync(signedOrder, takerAssetFillAmount); } private async _fillOrderAndAssertOutcomeAsync( signedOrder: SignedOrder, @@ -584,6 +593,19 @@ export class FillOrderCombinatorialUtils { 'ZRXAssetBalanceOfFeeRecipient', ); } + private async _abiEncodeFillOrderAndAssertOutcomeAsync( + signedOrder: SignedOrder, + takerAssetFillAmount: BigNumber, + ): Promise { + const params = orderUtils.createFill(signedOrder, takerAssetFillAmount); + const expectedAbiEncodedData = this.exchangeWrapper.abiEncodeFillOrder(signedOrder, { takerAssetFillAmount }); + const libsAbiEncodedData = await this.testLibsContract.publicAbiEncodeFillOrder.callAsync( + params.order, + params.takerAssetFillAmount, + params.signature, + ); + expect(libsAbiEncodedData).to.be.equal(expectedAbiEncodedData, 'ABIEncodedFillOrderData'); + } private async _getTakerAssetFillAmountAsync( signedOrder: SignedOrder, takerAssetFillAmountScenario: TakerAssetFillAmountScenario, -- cgit From d10e2652aeb3bde01fd729ef21b3eb5cafcfb27d Mon Sep 17 00:00:00 2001 From: Amir Bandeali Date: Wed, 8 Aug 2018 11:50:18 -0700 Subject: Revert incrementing memory ptr in dispatchTransferFrom --- .../src/2.0.0/protocol/Exchange/MixinAssetProxyDispatcher.sol | 6 +----- .../contracts/src/2.0.0/protocol/Exchange/MixinTransactions.sol | 1 - .../contracts/src/2.0.0/protocol/Exchange/libs/LibAbiEncoder.sol | 5 ++--- 3 files changed, 3 insertions(+), 9 deletions(-) (limited to 'packages/contracts') diff --git a/packages/contracts/src/2.0.0/protocol/Exchange/MixinAssetProxyDispatcher.sol b/packages/contracts/src/2.0.0/protocol/Exchange/MixinAssetProxyDispatcher.sol index b34903668..e9f882194 100644 --- a/packages/contracts/src/2.0.0/protocol/Exchange/MixinAssetProxyDispatcher.sol +++ b/packages/contracts/src/2.0.0/protocol/Exchange/MixinAssetProxyDispatcher.sol @@ -159,22 +159,18 @@ contract MixinAssetProxyDispatcher is } /////// Call `assetProxy.transferFrom` using the constructed calldata /////// - let inputLen := sub(cdEnd, cdStart) let success := call( gas, // forward all gas assetProxy, // call address of asset proxy 0, // don't send any ETH cdStart, // pointer to start of input - inputLen, // length of input + sub(cdEnd, cdStart), // length of input cdStart, // write output over input 512 // reserve 512 bytes for output ) if iszero(success) { revert(cdStart, returndatasize()) } - - // Increment free memory pointer - mstore(64, add(cdStart, inputLen)) } } } diff --git a/packages/contracts/src/2.0.0/protocol/Exchange/MixinTransactions.sol b/packages/contracts/src/2.0.0/protocol/Exchange/MixinTransactions.sol index b5de1a5de..821d30279 100644 --- a/packages/contracts/src/2.0.0/protocol/Exchange/MixinTransactions.sol +++ b/packages/contracts/src/2.0.0/protocol/Exchange/MixinTransactions.sol @@ -142,7 +142,6 @@ contract MixinTransactions is // Compute hash result := keccak256(memPtr, 128) } - return result; } diff --git a/packages/contracts/src/2.0.0/protocol/Exchange/libs/LibAbiEncoder.sol b/packages/contracts/src/2.0.0/protocol/Exchange/libs/LibAbiEncoder.sol index f047342b3..4aad37709 100644 --- a/packages/contracts/src/2.0.0/protocol/Exchange/libs/LibAbiEncoder.sol +++ b/packages/contracts/src/2.0.0/protocol/Exchange/libs/LibAbiEncoder.sol @@ -204,11 +204,10 @@ contract LibAbiEncoder { } // Set length of calldata - let calldataLen := sub(dataAreaEnd, add(fillOrderCalldata, 0x20)) - mstore(fillOrderCalldata, calldataLen) + mstore(fillOrderCalldata, sub(dataAreaEnd, add(fillOrderCalldata, 0x20))) // Increment free memory pointer - mstore(0x40, add(fillOrderCalldata, add(calldataLen, 0x20))) + mstore(0x40, dataAreaEnd) } return fillOrderCalldata; -- cgit eletions'>-1/+1 * Drop 8 support.mat2015-10-151-8/+0 * Stop trying to create the RSA protocol 1 key from the rc.d file. It is nobdrewery2015-09-251-1/+1 * Fix patch from r395182 on head. The patch(1) command works fine on 8.4bdrewery2015-08-251-1/+1 * Apply upstream fix for 'HostkeyAlgorithms +' support.bdrewery2015-08-251-1/+3 * Update to 7.1p1bdrewery2015-08-221-1/+2 * - Update to OpenSSH 7.0p1bdrewery2015-08-181-4/+4 * Add upstream fix to address CVE-2015-5600 for MaxAuthTries bypass.bdrewery2015-07-281-1/+1 * Fix accidental revert of PermitRootLogin default to NO.bdrewery2015-07-281-1/+1 * - Update to 6.9p1bdrewery2015-07-281-5/+4 * Use new USES=libeditbdrewery2015-07-251-0/+1 * Support changed ETCDIR in pkg-plistbdrewery2015-06-251-1/+1 * Allow user overriding ETCDIRbdrewery2015-06-251-1/+2 * Add openssh-portable-devel which is based on the upstream snapshots for stagi...bdrewery2015-06-021-1/+1 * Avoid a potential read overflow. This was not deemed a security issue bybdrewery2015-05-171-1/+1 * MASTER_SITES cleanup.mat2015-05-141-4/+2 * Fix clients getting 'Bad packet length' and 'Disconnecting: Packet corrupt'bdrewery2015-05-071-1/+1 * Replace the TTSH patch from r383618 with the one that upstream took.bdrewery2015-04-151-1/+1 * Cleanup some unneeded patches.bdrewery2015-04-101-4/+3 * Limit the TTSSH bug fix in r383618 to only versions that have it.bdrewery2015-04-101-1/+1 * Fix TTSSH (Tera Type/Term) client crash:bdrewery2015-04-091-1/+2 * Remove debugging leftover in release.bdrewery2015-04-091-1/+1 * - Update to 6.8p1bdrewery2015-04-051-26/+24 * Remove unused variable PRECIOUSbdrewery2015-04-021-3/+0 * Make the check added in 2013 in r330200 for a bad ECDSA key actually work.bdrewery2015-04-011-1/+1 * Remove useless IGNORE for TCP_WRAPPERS and PAM.bdrewery2015-04-011-8/+0 * Make the VersionAddendum fix use the proper default.bdrewery2015-03-291-9/+4 * security category: Remove $PTHREAD_LIBSmarino2015-03-251-1/+0 * Stop forcing the port version string into the server banner.bdrewery2015-03-231-12/+17 * Fix incorrect reference to ETCSSH from r381709bdrewery2015-03-221-1/+1 * Set proper ETCDIR. Mistake in r381709bdrewery2015-03-201-1/+1 * Remove remnants of OVERWRITE_BASE which was removed in r376306bdrewery2015-03-201-16/+6 * Fix application of GSSAPI patch when using HPN. It applies fine if done afterbdrewery2015-01-061-6/+10 * Mark OVERWRITE_BASE as IGNORE.bdrewery2015-01-061-17/+3 * - Fix HPN patches for 6.7p1bdrewery2014-12-171-13/+9 * - Unbreak KERB_GSSAPI option by using Debian's patch.bdrewery2014-12-171-8/+6 * Unmark X509 option as BROKEN after fixed in r374821bdrewery2014-12-171-1/+1 * - Update X509 patch to 8.2 which now supports OpenSSH 6.7p1bdrewery2014-12-171-5/+7 * - Update to 6.7p1.bdrewery2014-11-181-33/+22 * Add USES=alias to several portsmarino2014-10-201-0/+1 * Note my intentions with OVERWRITE_BASEbdrewery2014-10-071-0/+1 * - Mark OVERWRITE_BASE and security/openssh-portable-base as DEPRECATED.bdrewery2014-10-041-0/+2 * Support multiple ListenAddress portsbdrewery2014-10-041-1/+1 * net/openldap24-*:tijl2014-07-251-1/+1 * - Update to "6.6.1" [1]bdrewery2014-04-241-10/+12 * Fix minor plist issues from check-plistbdrewery2014-04-241-1/+2 * - Update GSS API Key Exchange patch with working version.bdrewery2014-04-111-8/+6 * - Update to 6.6bdrewery2014-03-171-6/+5 * - Fix build with HEIMBAL_BASEbdrewery2014-03-021-2/+0 * - Fix RC scriptbdrewery2014-02-051-0/+1 * - Update to 6.5bdrewery2014-02-051-11/+14 * - License is all of BSD2,BSD3,MIT,public domain,BSD-Style,BEER-WARE,bdrewery2014-02-021-1/+2 * - Fix packaging when not using HPN patchesbdrewery2013-11-121-2/+1 * - Update to 6.4p1bdrewery2013-11-081-4/+6 * - Update to 6.3p1bdrewery2013-10-131-84/+93 * - Now that :DEFAULT can be used in PATCH_SITES (fixed in 329679),bdrewery2013-10-071-4/+1 * Remove useless -c flagbdrewery2013-10-071-2/+2 * Perl has not been needed as a direct dependency since 6.0bdrewery2013-10-041-2/+0 * - Fix KERB_GSSAPI incorrectly using a predictable cache file.bdrewery2013-10-041-2/+2 * Mark IGNORE if KERB_GSSAPI incorrectly selectedbdrewery2013-10-031-4/+8 * Update descriptions to match current conventionsbdrewery2013-10-031-7/+7 * - Copy base r251088 over (which removes a patch) and disable default sandboxbdrewery2013-09-291-1/+1 * Fix sshd.8 referring to LOCALBASE with OVERWRITE_BASEbdrewery2013-09-291-0/+2 * Don't extract mtree with OVERWRITE_BASEbdrewery2013-09-291-0/+1 * Convert to stagedirbdrewery2013-09-291-20/+8 * - Add NO_STAGE until validated to be safe for upcoming staging supportbdrewery2013-09-201-0/+1 * - Convert to new perl5 frameworkaz2013-08-201-1/+2 * Add an openssh-portable-base slave port to install with OVERWRITE_BASEbdrewery2013-07-061-1/+1 * Add LICENSEbdrewery2013-07-051-0/+2 * - In rc script, be consistent in reload and check for and generate keysbdrewery2013-06-221-1/+1 * - Update and re-add KERB_GSSAPI gsskex patch.bdrewery2013-05-261-2/+18 * - Fix sshd crash when not using HPNbdrewery2013-05-231-2/+1 * Mark BROKEN as I have received 2 separate reportsbdrewery2013-05-221-0/+2 * - Update to 6.2p2bdrewery2013-05-181-20/+28 * - Remove CHROOT option and patch. ChrootDirectory was added in 5.0bdrewery2013-05-171-6/+1 * Fix xauth and ssh-askpass still being expected in /usr/X11R6bdrewery2013-05-021-1/+4 * - Add support for base and port Heimdal for Kerberosbdrewery2013-04-301-2/+17 * - Remove compatibiliy for FreeBSD <4.xbdrewery2013-04-171-44/+42 * - Fix runtime crash on CURRENT due to import of NetBSD strnvis() [1]bdrewery2013-02-081-1/+2 * - Update mirror site for HPN patchbdrewery2012-12-061-1/+1 * - Take maintainershipbdrewery2012-10-291-1/+1 * Convert to OptionsNGeadler2012-10-141-35/+32 * When installing in the base, USE_RCORDER does the right thing withoutdougb2012-08-061-10/+2 * - Fix ECDSA key generation in openssh rc.d scriptsunpoet2012-06-251-1/+1 * Change HPN patch mirror location to one that workseadler2012-06-131-1/+1 * - Reset maintainershipsunpoet2012-05-011-1/+1 * - Perl only needed to build, not needed to run. remove PERL5_RUN from Makefilescheidell2012-03-291-2/+1 * - Add USE_PERL5_BUILDscheidell2011-12-231-0/+1 * - openssh-portable needs perl to build (reported by Gleb Smirnoff via mail)scheidell2011-12-231-0/+3 * - update to 5.8p2 [1]flo2011-10-221-86/+48 * - Maintainer to magik@roorback.netstephen2011-07-191-1/+1 * - Add VersionAddendum support.stephen2011-07-141-13/+11 * Unbreak build with LPK option (broken after commit 1.674 in bsd.port.mk).skv2011-03-121-1/+1 * Remove OpenSC support. This port should be updated to support PKCS#11.ale2010-12-271-12/+0 * - Fix optional dependency on security/heimdalrene2010-11-221-2/+2 * Add the sftpfilecontrol patch as an OPTION (WITH_FILECONTROL)pgollucci2010-08-311-0/+6 * Reset dindin@dindin.ru due to maintainer-timeout and no response to email.linimon2010-08-231-1/+1 * - Annotate the combination of X509 and KERB_GSSAPI patches as brokenpav2010-05-041-0/+4 * Mark BROKEN on 9.x: does not builderwin2010-04-191-0/+4 * RC_SUBR_SUFFIX has not been needed for a long time now, all supporteddougb2010-03-271-1/+1 * - Remove BROKEN on 8.x WITH_KERBEROS case. Builds fine on 8.0 and 9.0, i386 a...amdmi32009-12-171-6/+3 * - Under OSVERSION >= 800000, only mark BROKEN if WITH_KERBEROS.lioux2009-11-021-0/+2 * - Mark BROKEN on 8.X with Kerberos - does not linkpav2009-10-011-0/+4 * - Revert USE_RC_SUBR change from last commit, it breaks OVERWRITE_BASEpav2009-09-241-1/+2 * - Unbreak KERBEROS optionpav2009-09-181-10/+14 * - Mark BROKEN on 8.X: does not linkpav2009-08-081-1/+1 * Fix build error WITH_HPN.nork2009-06-271-2/+2 * - Fix the previous commitpgollucci2009-06-241-4/+4 * Fix build with WITH_LPK support for amd64 by change extra patches order.osa2009-05-191-3/+4 * Fix HPN crash issue by using aes128-ctr, aes192-ctr and aes256-ctr.nork2009-05-171-0/+1 * - Update to 5.2p1pav2009-05-151-13/+21 * Fix several problems with OPENSSH_OVERWRITE_BASE=1.sumikawa2009-04-221-9/+4 * - Reset long-term inactive maintainerpav2009-03-251-1/+1 * - Integrate x509 certificate patch (optional, default off) from http://www.ro...pav2009-03-251-0/+8 * - Add vendor patch for lpk patch that fixes runtime on amd64pav2009-03-251-0/+3 * - Update to 5.1p1pav2009-03-251-3/+3 * Fix rootless build.skv2008-11-111-1/+1 * Update CONFIGURE_ARGS for how we pass CONFIGURE_TARGET to configure script.rafan2008-08-211-1/+0 * - Mark BROKEN after recent kerberos updatepav2008-06-231-0/+4 * - Update to 5.0p1mnag2008-04-191-15/+12 * - Update HPN patch to hpn12v20mnag2008-01-161-1/+2 * - Update gsskex patch to 20070927mnag2007-10-051-3/+2 * Remove always-false/true conditions based on OSVERSION 500000edwin2007-10-041-7/+0 * - Update to 4.7p1mnag2007-09-081-3/+3 * - Enable ssl-enginemnag2007-08-301-6/+8 * - Set --mandir and --infodir in CONFIGURE_ARGS if the configure scriptrafan2007-07-231-1/+1 * - Update OpenSSH to 4.6p1mnag2007-03-131-6/+7 * - Use RC_SUBR_SUFFIXrafan2007-02-061-6/+1 * Update HPN patch to v14 for openssh 4.5p1.ale2006-11-181-1/+1 * - Update to 4.5p1mnag2006-11-101-2/+1 * - Update HPN patch. Patch are renamed, the only content differences are two r...mnag2006-10-171-1/+5 * - Add OPTION to enable Kerberos/GSSAPI patch [1]mnag2006-10-081-11/+31 * - Fix package creation. [1]mnag2006-10-041-4/+4 * - Install ssh_config-dist and sshd_config-dist in OVERWRITE_BASE too.mnag2006-10-021-2/+0 * - Update to 4.4p1.mnag2006-10-011-12/+29 * Update HPN-12 patch to version 8 (no functional changes,ale2006-08-301-1/+1 * Add optional OpenSC PIN patch which make it possible for OpenSSH to asksimon2006-08-091-0/+6 * - Remove unecessary ?= in PKGNAMESUFFIX [1]mnag2006-07-051-15/+2 * Add support for smart cards.ale2006-06-131-0/+6 * - Fix order in rc.d script. Because of pidfile are empty, reload [2] and rest...mnag2006-02-221-0/+1 * Forget to add HPN patches.mnag2006-02-121-2/+2 * - Update to 4.3p2mnag2006-02-121-1/+1 * - Update to 4.3p1mnag2006-02-081-27/+79 * - Reorganize Makefile in preparation to update to 4.3p1mnag2006-02-081-73/+74 * Update my emailmnag2005-09-171-1/+1 * - Pass maintainership to submitter, since he sent the last patch.garga2005-09-061-1/+1 * - Update to 4.2p1garga2005-09-021-36/+37 * - Update to 4.1p1pav2005-06-071-3/+3 * - Don't specify --with-ssl-dir when using the system's OpenSSLpav2005-04-121-0/+2 * - Update to 4.0p1ahze2005-03-201-4/+4 * - drop maintainershipdinoex2004-10-141-1/+1 * - new option WITH_OPENSSH_CHROOTdinoex2004-10-121-0/+4 * - update to 3.9p1dinoex2004-08-181-3/+23 * - bump PORTEPOCHdinoex2004-04-291-0/+1 * - update to 3.8.1p1dinoex2004-04-291-1/+1 * - force kerberos by option WITH_GSSAPIdinoex2004-04-031-2/+2 * - make PKGNAMESUFFIX more flexibledinoex2004-03-271-4/+6 * - add SIZEdinoex2004-02-261-16/+16 * - update to 3.8p1dinoex2004-02-251-1/+2 * - new option WITHOUT_KERBEROSdinoex2003-10-181-1/+1 * - fix build with kerberos5 from base and missing libdesdinoex2003-10-131-16/+6 * - fix spelling of gssapidinoex2003-10-131-2/+2 * - add CONFLICTSdinoex2003-10-121-2/+6 * - GSSAPI patch improved for kerbers5 and hemidaldinoex2003-10-101-0/+5 * - cleanup GSSAPI optiondinoex2003-09-291-6/+0 * - update to 3.7.1p2dinoex2003-09-271-8/+1 * - Security Fix in PAM handlingdinoex2003-09-261-3/+1 * - mark FORBIDDEN until fixed.dinoex2003-09-261-0/+2 * - Security Fix obtained from OpenBSDdinoex2003-09-241-1/+1 * Add Solar Designer's additional fixes to buffer management.nectar2003-09-181-1/+1 * - Securitry Fix revision 2dinoex2003-09-171-1/+1 * Do not record expanded size before attempting to reallocate associatednectar2003-09-161-0/+1 * - use OPENSSLRPATH from bsd.openssl.mkdinoex2003-08-301-1/+2 * - use hook for bsd.openssl.mkdinoex2003-08-281-1/+1 * - Update to gssapi-20030430dinoex2003-05-081-8/+11 * - Update to 3.6.1p2dinoex2003-04-301-1/+1 * - honor any given LDFLAGSdinoex2003-04-161-0/+1 * - Change all USE_OPENSSL_* to WITH_OPENSSL_*dinoex2003-04-131-1/+1 * - use bsd.openssl.mkdinoex2003-04-041-1/+1 * - Update to 3.6.1p1dinoex2003-04-021-1/+1 * - extend regression testsdinoex2003-04-011-1/+1 * - Update to 3.6p1dinoex2003-04-011-2/+1 * - add USE_PERL5_BUILDdinoex2003-03-231-0/+1 * - add COMMENTdinoex2003-02-211-0/+1 * - openssh-3.5p1 doesn't log utmp for IPv6 connection correctlydinoex2003-01-021-0/+1