added css to driver popover

thanks!

sorry for all the pr’s lately im improving the driver implementation


Readme checkpoint support

time time please try to break up your commits, the size of this PR is simply too large


[Bug] None of the components of site are working

I just landed to this site in order to check it and I found that -

None of the components are loading properly
Buttons are not working
Even the logo of ksctl not appearing
Any redirect link provided is also not working

I'm not sure of the solution but I think there is some problem with that next.js application.
I checked that docs.ksctl.com is working fine, there is some problem with home.ksctl.com

@aj11anuj yes it was just to try it out
nothing else we will be soon make a website for ksctl.com replacing the existing one


CesiumSunSky not accurate when far from the CesiumGeoreference

While adding the point cloud level to the Cesium for Unreal samples (https://github.com/CesiumGS/cesium-unreal-samples/pull/38), we found that the lighting is inaccurate when you fly far away from the CesiumGeoreference. For example, the time zone changes whenever you fly to a new point cloud in the point clouds level, so each point cloud should be brightly lit. Instead, the Mount St. Helens point cloud is very dark. Placing the georeference at Mount St. Helen fixes the lighting.
We thought this wouldn't happen in Unreal Engine 5.0+ because of double precision, but perhaps the calculations for sun position don't use double precision.

I just realized this is probably related to #527. It may even be the same exact issue!

Closing this as a duplicate of #527.


Wrong fee calculation on transaction init from envelope xdr

Note this XDR ...
It has four transactions and wants to pay a fee of 400. It has a valid signature of the account sending the payment (the fourth transaction).
After running this code:
let transaction = try Transaction(envelopeXdr: xdr):
let keyPair = try KeyPair.init(secretSeed: secret)
try transaction.sign(keyPair: keyPair, network: network)
print(transaction.encodedEnvelope())

The transcation becomes this.
Note that the fee has been scaled by a factor of four due to this line (the xdr has four transactions). This is problematic, not only because the fee has changed, but more importantly because the given signature is no longer valid. Essentially this prohibits co-signing functionality.
Secret Key to reproduce: SA33GXHR62NBMBH5OZK5JHXR3X7KAANKMVXPIP6VQQO6N5HGKFB66HWR

Hi Christian,
thank you for finding that problem and for adding this issue. I fixed it and released a new version of the sdk (1.7.3). Please let me know if the fix works for you.
Best
Christian R.

That was super fast! I'll check in the evening.

This does work for me.
However, in the event of a surge pricing someone could potentially come up with a fee like in this case 403, which is not divisible by the # of transactions.
Since I'm not a swift developer

Closing that for now, works atm


Add documentation link to README

Otherwise it can be a bit of a hunt to find the docs.

Coverage remained the same at 68.326% when pulling bdb2bc5e57cd2b27729b32090407bdef8e004ad0 on wolever:master into 3b9dad77d0440cace471aa43d77a4ba619f145bb on django-nose:master.

Docs are already linked from README


How do I get my max_id for api.user_feed?

I am using the app api and trying to get someone's feed but it only gets 12 posts, and I don't understand how to get the max_id. Can anyone explain?

feed = api.user_feed(user_id) will return the posts in feed['posts'], which are where you're getting the latest 12 posts. feed['next_max_id'] will give you the max_id which you then pass in as feed = api.user_feed(user_id, max_id=max_id).
Here's an example code block to get all the posts from a given user with id user_id:
more_available_key = 'more_available'
next_max_id_key = 'next_max_id'
items_key = 'items'

feed = api.user_feed(user_id)
posts = feed[items_key]

while feed[more_available_key]:
    print(f"Getting more posts ({len(posts)} so far)...")
    max_id = feed[next_max_id_key]
    feed = api.user_feed(user_id, max_id=max_id)
    posts.extend(feed[items_key])


clarify array_contains function description

What changes were proposed in this pull request?
The description in the comment for array_contains is vague/incomplete (i.e., doesn't mention that it returns null if the array is null); this PR fixes that.
How was this patch tested?
No testing, since it merely changes a comment.
Please review http://spark.apache.org/contributing.html before opening a pull request.

Can one of the admins verify this patch?

Thanks - merging in master/branch-2.1.


log4net.Core.LoggingEvent not all properties filled

I am looking into LibLog as a possible replacement for log4net library that we use in our projects, it would be nice to abstract away the logging library and while I was running the tests of LibLog I noticed that it does not fill log4net.Core.LoggingEvent correctly, quite a few important properties are not filled:

Domain
LocationInformation
UserName

I did not investigate why it is not filled yet, maybe you have an idea.

I've done some digging and it seems like the problem is on log4net side, currently they do not really support netstandard2.0, plus in the code it says
// NETSTANDARD1_3 TODO requires platform-specific code. On compact framework there's no notion of current Windows user.
There is not much going on on log4net repository, last commit on feature/netstandard-2.0 branch is two years old.
I think this issue can be closed.

Thanks for follow up.


ci: run the on pull request CIs on push to master

This will help catch problems caused by merging.

[ ] documentation is added or updated
[x] tests are added or updated

This pull request is ready to merge

Merged to master.


Ionic Latest Version for Visual Studio 2017

Hi! i just want to ask about when will "ionic latest version" will be available on Visual Studio 2017?
or anyway to update it manually? and how?
Thank you for your hard work "Ionic Team" 😄

Hello! Thank you for opening an issue with us!
The Ionic Framework issues list is designated for the reporting of bugs with the Ionic Framework or for requesting new features. As this seems like more of a support question I am going to close this issue.
I urge that you ask this question on our forum or on our slack channel.
Thanks for using Ionic!


DICSS is too big for me

My front-end is very small and DICSS is far to big to be inserted. I thought about using it in my back-end but I haven't tried something like that since college

That was uni, you're an adult now.

Front-ends can be adapted to fit DICSS; I think there is a video tutorial for this process quizzically called "Kids In A Sandbox." It demonstrates (using an emulation mechanism) that DICSS can be successfully inserted into the front-end pipeline, though the process does seem to be a bit of a stretch for novices.

That's what she said.


Cleaned cabal files

Updated cabal files
Removed cabal's copyright fields
Cleaned cabal files

Do we know if all of our projects have been upgraded to use aeson-2?
If so we should stick a lower bound on that package everywhere.


util eth-to-f4-addr should write to stdout

I was trying to convert addresses using Unix pipes and was surprised that util eth-to-f4-addr doesn't write to stdout.
Here's a sample bash command:
cat evm_addresses.txt | while read line
do
./ipc-agent/bin/ipc-agent util eth  -to-f4-addr --addr $line | tr -d '"' >> fvm_addresses.txt
done

It's not the end of the world, but I think it would be cool if we follow the standard UNIX convention for tools' output.

The same suggestion for ipc-agent wallet new

Agreed, this is a little weird. We're just logging the address:
https://github.com/consensus-shipyard/ipc-agent/blob/611a98988b612edd66c018ae282110aa568c848d/src/cli/commands/util/f4.rs#L22
I wonder if there's a reason to do it this way... Github says @adlrocha is to blame, so let's ask him.

Fixed.


Preference Sync button in Settings UI not themeable

Notice how the other buttons are themed but the pref sync button in the top right is not

Can't believe I missed that!


CI error: No such file or directory @ rb_sysopen - /home/travis/build/luma-institute//log/ember-frontend.test.log

I'm getting this error while running controller tests in CI environments. On both Travis CI and CircleCI, in their newest Docker environments.
I'm resorting to the following hack to get around it for now. I don't need to build in production since I run assets:precompile before I deploy. My view for my this custom controller uses render_ember_app too.
class AssetsController < ApplicationController
  def build_frontend
    EmberCli[:frontend].build
  end

  def run_build?
    Rails.env.development? || (Rails.env.test? && ENV['CI'].blank?)
  end

  def index
    build_frontend if run_build?
  end
end

I had removed the log/.keep file from my git repo that Rails installs by default, which seemed to be preventing ember-cli-rails from creating the appropriate log files. Apparently some code somewhere assumes the log folder exists. After I added this file back, tests started passing in CI again, on both Travis CI and CircleCI.
Silly error on my part, but should ember-cli-rails compensate for human error in this case? Asking genuinely. How assumed is it in the Rails community that the log folder will exist?

@patcoll thanks!
Addressed in https://github.com/thoughtbot/ember-cli-rails/pull/340.
Could you please try that branch out?


chore: Update models for release 0.27.0

Description of changes
Updates models in preparation for release 0.27.0
New/existing dependencies impact assessment, if applicable
No new dependencies were added to this change.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

/test

/test


GitLab Pages

Works exactly the same as GitHub Pages (just create a gh-pages branch), but you can have private repos for free.

https://pages.gitlab.io

+1

Thanks, it has been added through a PR from panchtatvam.
Feel free to complete description if needed.


If UI5 supports the date time based on customized time zone?

Hi,
I wonder if UI5 library supports the date time based on customized time zone, just like: someUI5DateFunction('2015/5/20', custommizedTimeZone), just like the TimeZone.getDisplayName(b:boolean, n:int, Locale:Locale) function in http://www-01.ibm.com/support/knowledgecenter/SSVRGU_9.0.1/com.ibm.designer.domino.api.doc/r_wpdr_runtime_timezone_getdisplayname_r.html, or toString(date:Date, pattern:string, loc:Locale) function in http://www-01.ibm.com/support/knowledgecenter/SSVRGU_9.0.1/com.ibm.designer.domino.api.doc/r_wpdr_runtime_i18n_tostring_r.html?
Best Regards,
Elaine

Hi Elaine,
custom timezones are currently not supported but we are not ruling it out. It's just currently not on our plan, yet.
Best regards,
Matthias

Hi Elaine,
since UI5 version 1.99.0 we support setting a IANA timezone ID via the configuration.
sap.ui.getCore().getConfiguration().setTimezone("America/New_York");
which will then have the affect that all Date conversions using the DateFormat are automatically converted to the datetime in New York.
See: API doc setTimezone
Note it is still experimental yet.
Best regards,
Tobias


[WIP] Test false positive causal cell race

see issue #37

Thanks :+1: my best guess here is thread::spawn is not bumping the causality version vector. If you want to take a look, see how other points of concurrency bump the version vec and you can probably attempt a fix.
This is the field: https://github.com/carllerche/loom/blob/master/src/rt/thread.rs#L21

Thanks :+1: I pushed a fix to the branch. I would appreciate any further tests you may write :)

Ah great! I just found this issue, but it looks like you fixed it first :)
I'll close the issue as well.

Ah, sorry about that. I ended up doing a context switch to loom last
night to merge a bunch of other PRs too...


[BUG] MOV (A0-A3) imm len problem

This picture is from Intel® 64 and IA-32 Architectures Volume 2.
MOV (A0-A3) opcode's is always 64-bit in 64-bit mod, this conclusion comes from HxD:

When it disassembles this machine code, the imm len is 8 bytes,

Hi, thanks for sharing.
How did you generate the machine code? Is that hand-written or assembled?
That's interesting anyhow. But I'm not so sure is correct, at a quick look.
Anyhow, reading the quote from Intel seems not wrong what I did: is not mentioned the qword.
Should be interesting try with LLVM, or maybe try to use the instruction disassembler from Intel.


Leverage "mode" option in "injectManifest"

Library Affected:
workbox-build
Browser & Platform:
MacOS, but seemingly all.
Issue or Feature Request Description:
Currently, both generateSW and injectManifest API for workbox-build support the mode option in their configuration. However, it seems that only generateSW actually leverages this in its code path.
Is this as expected?
If so, then it seems that mode should be removed from the documentation for injectManifest so that users relying on a bundler can make more informed decisions as to what sort of interactions they should have with this API.
If it is not expected, could we get this bundle step added to the workflow so that current tools like rollup-plugin-workbox will perform more in line with what a user might expect?

Thanks for pointing this out—mode is in fact an ignored parameter in workbox-build's injectManifest, and it ended up being listed as supported by mistake due to some aggressive copy-and-pasting.
I'll update the documentation to make that clear, though I don't think we'll cause the usage of mode in injectManifest to fail parameter validation in v5, as that would be a breaking change. It's something we can disallow in v6, and warn about in v5.
As for the other question, I am aware that many Rollup users are looking for something similar to workbox-webpack-plugin's InjectManifest mode, that will handle bundling and precache manifest injection in a single step. As there are now a few third-party solutions to this that use workbox-build "under the hood", I think we're just point folks to those, rather than changing workbox-build's behavior to accommodate this use case.
I'd recommend reaching out to your Workbox Rollup plugin of choice and ask them if they would consider automatically doing the process.env.NODE_ENV replacement. (C.f. https://github.com/chromeos/static-site-scaffold-modules/issues/4)

As the mode is not supported, is there a way to insert non-minified manifest?


Ignore base image cve ' CVE-2020-29573/SNYK-DEBIAN10-GLIBC-1048698' until February

What does this pull request do?
Ignores a new CVE found by snyk. there is no upgrade available.
What is the intent behind these changes?
Provide a successful build

thanks for this !! 🙏🏼


Add cupy.testing.shaped_sparse_random

Rebased.

Jenkins, test this please

Jenkins CI test (for commit dc6449f5c41b27c3bdd274322df33e6dcc17daea, target branch master) failed with status FAILURE.

Jenkins, test this please.

Jenkins CI test (for commit 220e52967e68db849d5f70a8171bc7dec99bf0fc, target branch master) succeeded!

@emcastillo Could you backport this PR for the backport of #3958?


Added support for a optional path modifier callback

Coverage decreased (-1.2%) to 81.347% when pulling ffc44fa975355939ba60403b9eea76b74978e7f5 on blaues0cke:master into f0fc29f13119fa67909ca31292ee39b1e6a555f5 on coderhaoxin:master.

Coverage decreased (-1.2%) to 81.347% when pulling ffc44fa975355939ba60403b9eea76b74978e7f5 on blaues0cke:master into f0fc29f13119fa67909ca31292ee39b1e6a555f5 on coderhaoxin:master.

@blaues0cke can you add some tests (>_<)


Move selected cert_chain to s2n_handshake_parameters

Previously this field lived in the s2n_crypto_parameters which is a very
bloated struct that should focus on holding record security state.
This change is a part of an iterative refactor where we'd like
to move negotiated handshake parameters(cipher, certificate, sigalgs)
to the s2n_handshake_parameter struct.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Closing this in favor of #944 since I think I have a SAW fix there and would prefer not to fix SAW twice.


VecotTile layers with TopoJSON format clip the style images on Tile borders

Describe the bug
For Vector Tiles with TopoJSON as format the points with a image or/and Text style are clipped on their Tile boundaries. This behaviour only visible on not decluttered layers.
To Reproduce
Steps to reproduce the behavior:

Go to 'https://codesandbox.io/s/osm-vector-tiles-forked-6sikm?file=/main.js'
This is fork of the existing OSM VectorTile example and uses the Point layers of the Mapen service.
The rendered ImageStyle for the point elements are clipped on the boundary of the Tiles.
The Renderer only renders the element correctly if the declutter is set to true.

** Analysis Results**
Upon creation of CanvasExecutorGroup for the VectorTileLayer the decultter is considered for setting the groups maximum extent. Blow is the mentioned section of the code. I would suggest to only check for  the rendereType and the sourceTile length.  Would that be a viable solution?

// FROM src/ol/renderer/canvas/VectorTileLayer.js  line:347
     const replayExtent =
       layer.getRenderMode() !== VectorTileRenderType.VECTOR &&
       declutter &&
       sourceTiles.length === 1
         ? null
         : sharedExtent;
     const renderingReplayGroup = new CanvasExecutorGroup(
       replayExtent,
       resolution,
       pixelRatio,
       source.getOverlaps(),
       executorGroupInstructions,
       layer.getRenderBuffer()
     );
``

Expected behavior
The Features are rendered correctly regardless of their Tile Extent when covered by a single source tile.

I have created a pull request that removes the declutter check.  #12167

The clipping is correct.  The problem is that (unlike most MVT tiles https://docs.mapbox.com/vector-tiles/specification/#encoding-geometry) the tiles have no buffer, which is needed if features close to the edges are to be included in the adjacent tile images

Like @mike-000 says: this is a problem with the tiles, not with OpenLayers. As you can see when looking at the images of the failed rendering tests in your pull request #12167, clipping at tile boundaries is needed when not decluttering: it avoids duplicate points when they are contained in the tiles on either side of the tile border, which is the case for correctly generated tiles.
Expected (and actual without your change):

Actual (with your change):

The above image shows a map centered on the intersection of 4 tiles, with a point in each corner of each tile, with tiles buffered so the rendered points are contained in all tiles.

Thank you @ahocevar and @mike-000  for your clarifications. You are right I didn't  consider the cases where the overlaps are included in multiple tiles. But in the case where the tiles don't share any features, wouldn't it be correct to clip the tiles with the extent created using the renderbuffer instead of the tile extent?
for example in the following example (created from the Test case that was previously failing):
Sandbox creating a point at a center of each tile
the tiles are clipped from the Tile Extent. I have commited my suggestion in the same PR .  (builds are failing however :D)
But would that be a right way to use the renderBuffer ?

With tiles like the ones you have, you should not be using a VectorTile layer, but instead a Vector layer with a tile loading strategy. Vector tiles have a buffer with duplicated features by design. Your layer definition changed from VectorTile to Vector would look like this:
new VectorLayer({
  source: new VectorSource({
    attributions:
      '© OpenStreetMap contributors, Who’s On First, ' +
      'Natural Earth, and openstreetmapdata.com',
    format: new TopoJSON({
      layerName: 'layer',
      layers: ['pois'],
    }),
    strategy: tile(tileGrid),
    maxZoom: 19,
    url(extent, resolution) {
      const [z, x, y] = tileGrid.getTileCoordForCoordAndResolution(
        getCenter(extent),
        resolution
      );
      const url = `https://tile.nextzen.org/tilezen/vector/v1/all/${z}/${x}/${y}.topojson?api_key=${key}`;
      console.log(url);
      return url;
    },
  }),
  style: function (feature, resolution) {
    switch (feature.get('layer')) {
      case 'pois':
        return poisStyle;
      default:
        return null;
    }
  },
})

Actually please disregard my above suggestion - that only works when features have unique ids across resolutions, and are not optimised for resolution.

That code would work if the source was refreshed when the tile grid zoom level changes:
const tileGrid = createXYZ({tileSize: 512, maxZoom: 19});
let currentZ;
const source = new VectorSource({
  format: new TopoJSON(),
  strategy: tile(tileGrid),
  url(extent, resolution) {
    const [z, x, y] = tileGrid.getTileCoordForCoordAndResolution(
      getCenter(extent),
      resolution
    );
    if (z !== currentZ) {
      currentZ = z;
      source.refresh();
    }
    return `https://tile.nextzen.org/tilezen/vector/v1/all/${z}/${x}/${y}.topojson?api_key=${key}`;
  },
});

However, the benefits of the VectorTile tile cache would be lost.
A better solution (based on a question on how to use vector tile features in a cluster source) would be to keep the standard VectorTile source while maintaining copies (for each zoom level) of the features to be clustered (or in this case to be displayed across tile boundaries) in a separate Vector source https://codesandbox.io/s/osm-vector-tiles-forked-3w46r

@mike-000 thanks you for the workaround but that  would mean that i won't benefit from the tile-caching that the vector tiles bring. and I have to load everything twice which would be problematic for me since I have a big dataset. I will try to see if I can change my source TopoJson files to include the overlaps.
But meanwhile I just realized that I have a additional problem with the tile clipping for Text styles, that occurs when I use any projection system other than the default .
https://codesandbox.io/s/osm-vector-tiles-forked-t985v?file=/main.js
As shown in the example the text is clipped on the border lines of the default tilegrid for EPSG:3857 and not the defined projections defaultTileGrid.
I believe that's because the VectorTiles keep a reference object of all default TileGrids for different projections. But I think this should check for the defaultTileGrid for the projection before creating one from the projection extent. Or is there any other way that i can get the right tilegrid ?

I'm not sure why vector tiles which can only be used in the source projection need a separate TileGridForProjection?  On your example the grid and projection extents are the same, and the issue seems to be related to the multiple tile sizes in your grid, as getTileGridForProjection is creating a grid using only the tile size of your grid's level 0.
https://github.com/openlayers/openlayers/blob/71c18d44440e2c8c4dfb2989f78b731dbfb2e522/src/ol/source/VectorTile.js#L481

For explanation: VectorTile sources have a source tile grid, which is the tile grid you configure with the source, and which you get with getTileGrid(). For rendering, the view projection's standard tile grid is used, and that is the tile grid you get with getTileGridForProjection(viewProjection). Reprojection of vector tiles is only supported when tile borders are a rectangle in both source and view projection, e.g. between EPSG:4326 and EPSG:3857. And this is exactly what happens with Mapzen TopoJSON vector tiles.

The TopoJSON vector tiles may have an EPSG:4326 data projection but they are served as tiles based on EPSG:3857 grid.  I agree reprojection would be possible if the source tiles are parallel rectangles in the view projection - and regardless of the data projection used within the tiles as even MVT({featureClass: feature}) could be read from tile pixels to tilegrid projection and then transformed to view projection - but in practice the source tilegrid must be defined in a projection equivalent to the view projection to avoid assertion 68.  So how does OpenLayers support reprojection?  Without reprojection it might be better to use the real grid.

You are right @mike-000. With reprojection, I meant that the data is in EPSG:4326. It's not a reprojection as we do for raster layers. The reason for different view and render tile grids is the common case where vector tiles are only provided down to zoom level 14, so they can be rendered on higher zoom levels without getting tile render canvases that are too big. But this discussion belongs elsewhere.


refactor: move Closeable and ServerException to common

The backends module, along with the llama_cpp and vllm modules,
have a circular dependencies, which is considered an anti-pattern.
Move Closeable and ServerException to reduce the circular dependencies.
Current state of Circular dependency:
graph LR;
  backends --> llama_cpp
  llama_cpp --> backends
  backends --> vllm
  vllm --> backends

Desired state of Acyclic dependencies:
graph LR;
  backends --> llama_cpp
  llama_cpp -->common
  backends --> common
  backends --> vllm
  vllm --> common

@mergifyio rebase


Design magic

@pezholio could we reuse the template you used for comma chameleon?

And, in the template, check:

[ ] Font (Helvetica Neue)
[ ] Colours (make sure colours are from the brand)
[ ] ODI logo in footer

This layout is problematic:

the buttons at the top are designed to be two-abreast only and with 4 it gets very screwy on mobile
the buttons really don't work with Helvetica
the rendering of pre elements is rubbish

It might be fixable but I think I'm down a needless rabbit-hole now


Bugs: hide-and-seek

@CarlosIgreda, you make good work:
Could you consider reviewing the next piece of code, where I found a bug?

In the statement, the counter i should not include the upper bound because the count starts at 0.
Happy coding 😄

Thanks for your feedback @LarryIVC. I've already done the change 🤓.


feat: add seal_block stage for SimpleSlotWorker

People who want to add more digest before seal block could do it in this stage.

It's no difference, just for code reuse. Maybe I should close this PR :).

I want to add digest before seal, but I do not care about seal logic, so there are need to another stage to do something.

Or in this way: I add a new method to handle proposal before let (block, storage_proof) = (proposal.block, proposal.proof);


feat: allow checkov checks to be switched off FGR3-2347

Your orb has been published to the CircleCI Orb Registry.
You can view your published orb on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/figure/node-ecs?version=1.6.5


[BUG] jest tests fail starting from 7.80.0

Describe the bug
After updating from 7.79.4 to 7.80.0 my jest tests start failing with the following reason:
Test suite failed to run

    TypeError: A dynamic import callback was invoked without --experimental-vm-modules

      4 |
      5 | beforeAll(async () => {
    > 6 |   await PlatformTest.bootstrap(Server)();
        |                                       ^
      7 |   global.injector = PlatformTest.injector;
      8 | });
      9 |

      at new PlatformExpress (../../node_modules/@tsed/platform-express/src/components/PlatformExpress.ts:75:5)
      at construct (../../node_modules/@tsed/di/src/common/services/InjectorService.ts:751:46)
      at InjectorService.resolve (../../node_modules/@tsed/di/src/common/services/InjectorService.ts:639:18)
      at InjectorService.invoke (../../node_modules/@tsed/di/src/common/services/InjectorService.ts:223:21)
      at createInjector (../../node_modules/@tsed/common/src/utils/createInjector.ts:41:12)
      at new PlatformBuilder (../../node_modules/@tsed/common/src/builder/PlatformBuilder.ts:47:36)
      at Function.build (../../node_modules/@tsed/common/src/builder/PlatformBuilder.ts:122:12)
      at before (../../node_modules/@tsed/common/src/services/PlatformTest.ts:65:40)
      at Object.<anonymous> (src/test/scripts/setup-after-env.ts:6:39)

The beforeAll code is from a setupAfterEnv jest script.
Everything works fine in 7.79.4.
To Reproduce
Let me know if you need help to reproduce
Expected behavior
To not fail 😃 Should work as in 7.79.4
Code snippets
No response
Repository URL example
No response
OS
macOS
Node version
20.12.2
Library version
7.80.0
Additional context
No response

@EinfachHans install the last version. It’s fixed ;)

@Romakita sorry i forget to mention, i already tested with the latest version 7.82.1

Ha shit, it's the PlatformExpress. Ok I'll fix that

@EinfachHans 7.82.2 should fix issue :)


[docs] add athena data table creation docs

to: @ryandeivert
cc: @airbnb/streamalert-maintainers
size: small
Background
We recently added support for searching data via Athena and Firehose, but there are no steps on how to set this up.
Changes

Add some DOCS

Testing
Locally with the test_the_docs.sh script

Coverage remained the same at 95.588% when pulling a788a8932afed442e5a001832c07210765d6157a on jacknaglieri-update-docs-october into f00edc3993f4c7b9851c6e273c71123dcbd9c2e4 on master.

Pull Request number......

LGTM after suggested changes are made and you update your branch

Coverage remained the same at 95.586% when pulling bba14d5f3535129e3c68680cdf5deec9cf406ce9 on jacknaglieri-update-docs-october into 6a52f6a7950d51f85411e70f7e84f18de5320449 on master.

Coverage remained the same at 95.586% when pulling bba14d5f3535129e3c68680cdf5deec9cf406ce9 on jacknaglieri-update-docs-october into 6a52f6a7950d51f85411e70f7e84f18de5320449 on master.


Version 0.8

Support for comment API
Support for record/status.json
Make it possible to update records by specified key field

Thanks kintone SDK for Java v0.8.


Search also binaries in directories with spaces

Original script would stop executing with an error binary ‘./folder/folder’ doesn't exist  when the folder did contain spaces. It uses a temp file to preserve spaces when collecting directory and file names.

Thanks!


WIP Normalize package.json

:construction:
In an previously merged PR #6582 we just normalized the repository url. Here we normalize the entire package.json in the same way that npm does.
Closes https://github.com/atom/atom/issues/6601

It would be great to know how much time this takes for the bundled core packages just to make sure it doesn't impact startup time in a noticeable way.

know how much time this takes

@kevinsawicki :+1: definitely.
Also, should mentioned I started the PR early cause tests were being weird on my machine and I wanted to see what happened to them here.

Update:
We realized that published packages are already getting the benefit of normalized-package-data. In order to save on :watch: we're only going to normalize package which haven't been published.
We're also checking Atom's bundled packages as well and failing the build if they are missing something. This build will therefore fail until we add licenses to:

[ ] archive-view
[ ] autocomplete
[ ] language-gfm
[ ] language-toml
[ ] spell-check

It is green—it almost seems too good to be true. I guess it was the ? repository check? Though I'm not 100% sure why. @kevinsawicki would you mind giving it another :eyes: ?

:ship: :sunglasses:


chore: Add manual trigger to run build/push action

Motivation
Sometimes the GitHub action to push images does not get triggered despite apparently all filter conditions being met.
Modifications
Add on: workflow_dispatch to build/push action workflow.
To trigger a workflow in a repository, the user has to be a collaborator with Write permission in the repository. External users can’t trigger workflows in the repository.
Result
TBD

Thanks @rafvasq


Lock gemfile version of hashie

This 3.5.0 version of hashie is breaking omniauth for google
pegging to an older version while we get this working

Related hashie bug:  https://github.com/intridea/hashie/issues/391

@simaishi I'm not sure when the above hashie bug will be fixed and released so you may want to backport this change if needed for other branches.

Thanks @jrafanie  Both Euwe and Darga are affected, so I'll backport to both branches.


Remove the status telling the lib is beta.

refs #161

maybe we could rework on the setup.py classifiers also? telling that this lib is Production Ready?

You could also make it 1.0.0

@ewjoachim +1

Well , the ticket is closed but the code isn't merged yet.

so I'm taking this over

closed by #166


[question] Why travis build is failing?

This is sort of question to get idea on why travis CI is failing for PR or master commits.
On visiting the travis build, I see following error.
This job was cancelled because the "Auto Cancellation" feature is currently enabled, and a more recent build (#77055) for pull request #38773 came in while this job was waiting to be processed.

Any idea?

We have auto cancel enabled because we don't need to re-check every PR/build after it is merged.


update metapac after stm32-data PR323

and refactor a few code with cargo clippy

please take a look.


Consider RecordBatchBuffer that acts as a RecordBatch builder / factory

While implementing sort-merge join and spillable-repartition, I found my routine for output:

create a logical mutable record batch composed of mutable arrays of fixed batch size,
buffering input records into the underlying mutable arrays
freeze these mutable arrays, output as a record batch, and clear up the buffer for more inputs.

There's also a similar case in the AVRO reader in this codebase.
The reason for having a fixed-sized record batch at my side is to avoid "tiny" record batches with a small number of records. E.g. hash partitioning a record batch of 10k records into 5k partitions may result in 5k tiny record batches with 2 records for each, waste memory, and deteriorate performance hereafter.
struct RecordBatchBuffer {
    arrays: Vec<Box<dyn MutableArray>>,
    target_batch_size: usize,
    slots_available: usize,
    schema: Arc<Schema>,
}

impl RecordBatchBuffer {
    fn new(target_batch_size: usize, schema: Arc<Schema>) -> Result<Self> {
        let arrays = new_arrays(&schema, target_batch_size)
            .map_err(DataFusionError::ArrowError)?;
        Ok(Self {
            arrays,
            target_batch_size,
            slots_available: target_batch_size,
            schema,
        })
    }

    fn output_and_reset(&mut self) -> ArrowResult<RecordBatch> {
        let result = self.output();
        let mut new = new_arrays(&self.schema, self.target_batch_size)?;
        self.arrays.append(&mut new);
        result
    }

    fn output(&mut self) -> ArrowResult<RecordBatch> {
        let result = make_batch(self.schema.clone(), self.arrays.drain(..).collect());
        self.slots_available = self.target_batch_size;
        result
    }

    fn append(&mut self, size: usize) {
        assert!(size <= self.slots_available);
        self.slots_available -= size;
    }

    #[inline]
    fn is_full(&self) -> bool {
        self.slots_available == 0
    }
}

fn new_arrays(
    schema: &Arc<Schema>,
    batch_size: usize,
) -> ArrowResult<Vec<Box<dyn MutableArray>>> {
    let arrays: Vec<Box<dyn MutableArray>> = schema
        .fields()
        .iter()
        .map(|field| {
            let dt = field.data_type.to_logical_type();
            make_mutable(dt, batch_size)
        })
        .collect::<ArrowResult<_>>()?;
    Ok(arrays)
}

fn make_batch(
    schema: Arc<Schema>,
    mut arrays: Vec<Box<dyn MutableArray>>,
) -> ArrowResult<RecordBatch> {
    let columns = arrays.iter_mut().map(|array| array.as_arc()).collect();
    RecordBatch::try_new(schema, columns)
}

Is this something that would fit the scope of the project?

That is a cool idea. Yeap, I think it fits well into the idea of a "MutableRecordBatch".
Do note that for creating arrays from other arrays the growable API is likely more efficient since it can take slices of existing arrays (which is faster).


Added "forceIntercepted" prop to force the component to render on demand

Added "forceIntercepted" prop to force the component to render on demand
discussed in https://github.com/RadKod/v-lazy-component/issues/17

#17


Add a "Quick Start" section to the README file

For those who want to run the tool locally instead of relying on a remote web server an ocean away.

Hello @dtikhonov,
Valid point. Though let me point out that you do not need the server if you're uploading qlog files directly. The server is only needed if you want to load .pcap files or load qlog files from a non-CORS enabled URL.
For now, to install just the qvis tools locally, the following steps should do:
curl -sL https://deb.nodesource.com/setup_10.x | bash -
    && apt-get install -y nodejs

git clone --depth 1 https://github.com/rmarx/qvis.git /srv/qvis
  && cd /srv/qvis/visualizations
  && npm install
  && npm run serve

# the serve command sets up a local debugging server at port :8080 which should allow you to reach the tools

If you do want to use the full setup, you can look at the docker files at:
https://github.com/quiclog/qvis-server/tree/master/system/docker_setup
and some helpful scripts to get that rolling at:
https://github.com/quiclog/qvis-server/tree/master/system/server_config/control
I will keep this issue open to remind that I need to add a similar guide to the README at some point. Thanks for the reminder.

@rmarx Have you considered rolling out a Docker container? Then all that people would have to do is a docker run qvis:latest -p 80:80?
By the way, it's super easy to build a Docker image in CI and upload it to DockerHub automatically. Take a look at my shiny new config I'm using in quic-go: https://github.com/lucas-clemente/quic-go/blob/master/.github/workflows/build-interop-docker.yml.


have to relink hue bridge every time I restart home assistant

Home Assistant release with the issue:

0.101.3
Last working Home Assistant release (if known):
0.100.0
Operating environment (Hass.io/Docker/Windows/etc.):

docker
Integration:

hue
Description of problem:
everytime i restart hass, the link to the hue bridge is gone. all my lights are still in the entities list but they dont turn on/off any lights. I have to delete the integration an relink hue every time.
there's nothing in the logs about this
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):

Traceback (if applicable):

Additional information:

Hi - see my report here: https://github.com/home-assistant/home-assistant/issues/29179
Are you sure it always requires the re-pairing? worth trying if multiple restarts works.

We added a fix for Hue in 103. This should probably be resolved.

havent had any issues in the latest. thanks!


PAM auth

Mike,
I could not authenticate using the docker image provided. I double checked the steps prior to the docker build and looks like I configured it correctly: copied my server.crt into the custom/server.crt file, changed testing.properties and then built the docker image.
Here is my testing.properties file:
metalnx@tpa-eld6804:~/dockertests/pamssl/custom$ cat testing.properties
test.irods.host=tpa-eld6804.tpa-eld.localdomain
test.irods.port=1247
test.irods.zone=tempZone
jargon.test.pam.user=arthur
jargon.test.pam.password=arthur
jargon.test.negotiation=CS_NEG_REQUIRE
metalnx@tpa-eld6804:~/dockertests/pamssl/custom$

I posted the logs for us to debug it.
metalnx@tpa-eld6804:~$ sudo docker run --add-host tpa-eld6804.tpa-eld.localdomain:<IP_ADDRESS> -t diceunc/testpam
[main] INFO  pamtest.TestPam  - stream is:sun.net.www.protocol.jar.JarURLConnection$JarURLInputStream@3d494fbf
[main] INFO  pamtest.TestPam  - loading testing props
[main] INFO  pamtest.TestPam  - logging in with account:irods://arthur@tpa-eld6804.tpa-eld.localdomain:1247
[main] INFO  connection.IRODSSimpleProtocolManager  - creating simple protocol manager
[main] INFO  connection.IRODSSession  - setting system prop for TLS...
[main] INFO  connection.IRODSSession  - checkInitTrustManager()
[main] INFO  pub.IRODSFileSystem  - IRODSfileSystem is initialized
[main] INFO  pub.IRODSAccessObjectFactoryImpl  - authenticateIRODSAccount()
[main] INFO  pub.IRODSAccessObjectFactoryImpl  - any existing session will be closed, or at least handed back to a pool/cache
[main] WARN  connection.IRODSSession  - closing session that is already closed, silently ignore
[main] INFO  connection.AbstractIRODSMidLevelProtocolFactory  - instance() method...calling connection life cycle
[main] INFO  connection.AbstractIRODSMidLevelProtocolFactory  - create connection....
[main] INFO  connection.IRODSTCPConnectionFactoryImpl  - instance()
[main] INFO  connection.AbstractConnection  - AbstractConnection()
[main] INFO  connection.AbstractConnection  - using override negotiation policy from IRODSAccount:ClientServerNegotiationPolicy [sslNegotiationPolicy=CS_NEG_REQUIRE]
[main] INFO  connection.AbstractConnection  - opening irods socket
[main] INFO  connection.AbstractIRODSMidLevelProtocolFactory  - ...have connection, now authenticate given the auth scheme in the iRODS account...
[main] INFO  connection.AbstractIRODSMidLevelProtocolFactory  - authenticate()
[main] INFO  connection.AbstractIRODSMidLevelProtocolFactory  - get auth mechanism
[main] INFO  connection.AuthenticationFactoryImpl  - instanceAuthMechanism()
[main] INFO  connection.AuthenticationFactoryImpl  - authScheme:PAM
[main] INFO  connection.AuthenticationFactoryImpl  - using PAM auth
[main] INFO  connection.AbstractIRODSMidLevelProtocolFactory  - authenticate...
[main] INFO  connection.AuthMechanism  - sendStartupPacket()
[main] INFO  connection.AuthMechanism  - clientServerNegotiationHook()
[main] INFO  connection.AuthMechanism  - negotiation is required
[main] INFO  connection.AuthMechanism  - clientServerNegotiation()
[main] INFO  connection.AuthMechanism  - have a server negotiation response:ClientServerNegotiationStruct [status=1, sslNegotiationPolicy=CS_NEG_REQUIRE]
[main] INFO  connection.ClientServerNegotiationService  - negotiate()
[main] INFO  connection.ClientServerNegotiationService  - negotiateUsingServerProtocol()
[main] INFO  connection.ClientServerNegotiationService  - negotiation over response from server:ClientServerNegotiationStruct [status=1, sslNegotiationPolicy=CS_NEG_REQUIRE]
[main] INFO  connection.ClientServerNegotiationService  - client policy:ClientServerNegotiationPolicy [sslNegotiationPolicy=CS_NEG_REQUIRE]
[main] INFO  connection.ClientServerNegotiationService  - negotiatedOutcome:CS_NEG_USE_SSL
[main] INFO  connection.ClientServerNegotiationService  - was a success, return choice to server
[main] INFO  connection.ClientServerNegotiationService  - startupResponse captured:StartupResponseData:
   status:0
   relVersion:rods4.1.10
   apiVersion:d
   reconnPort:0
   reconnAddr:
   cookie:400
[main] INFO  connection.ClientServerNegotiationService  - wrapConnectionInSsl()
[main] INFO  connection.ClientServerNegotiationService  - wrapping in ssl connection
[main] INFO  connection.SslConnectionUtilities  - createSslSocketForProtocolAndIntegrateIntoProtocol()
[main] INFO  connection.SslConnectionUtilities  - have SSL socket, introduce as the iRODS connection in the provided protocol
[main] INFO  connection.ClientServerNegotiationService  - configureParametersForParallelTransfer()
[main] INFO  connection.ClientServerNegotiationService  - setting up secret key
[main] INFO  connection.ClientServerNegotiationService  - creating secret key for parallel transfer encryption using:AES_256_CBC
[main] INFO  connection.ClientServerNegotiationService  - AES key selected
[main] INFO  encrypt.AESKeyGenerator  - generateKey()
[main] INFO  connection.ClientServerNegotiationService  - sending header with encryption cues
[main] INFO  connection.ClientServerNegotiationService  - now write the shared secret to iRODS
[main] INFO  connection.ClientServerNegotiationService  - connection now wrapped in ssl socket!
[main] INFO  connection.AuthMechanism  - negotiated configuration:StartupResponseData:
   status:0
   relVersion:rods4.1.10
   apiVersion:d
   reconnPort:0
   reconnAddr:
   cookie:400
[main] INFO  connection.AuthMechanism  - startup response:StartupResponseData:
   status:0
   relVersion:rods4.1.10
   apiVersion:d
   reconnPort:0
   reconnAddr:
   cookie:400
[main] INFO  connection.AuthMechanism  - no need to SSL tunnel for PAM
[main] INFO  connection.AuthMechanism  - using eirods pluggable pam auth request
[main] INFO  connection.AuthMechanism  - have the temporary password to use to log in via pam
sending sslEnd...
[main] INFO  connection.AuthMechanism  - have the temporary password to use to log in via pam
sending sslEnd...
[main] INFO  connection.AuthMechanism  - derived and logging in with temporary password from a new agent:irods://arthur@tpa-eld6804.tpa-eld.localdomain:1247
[main] INFO  connection.AbstractIRODSMidLevelProtocolFactory  - instance() method...calling connection life cycle
[main] INFO  connection.AbstractIRODSMidLevelProtocolFactory  - create connection....
[main] INFO  connection.IRODSTCPConnectionFactoryImpl  - instance()
[main] INFO  connection.AbstractConnection  - AbstractConnection()
[main] INFO  connection.AbstractConnection  - using default negotiation policy:ClientServerNegotiationPolicy [sslNegotiationPolicy=CS_NEG_REFUSE]
[main] INFO  connection.AbstractConnection  - opening irods socket
[main] INFO  connection.AbstractIRODSMidLevelProtocolFactory  - ...have connection, now authenticate given the auth scheme in the iRODS account...
[main] INFO  connection.AbstractIRODSMidLevelProtocolFactory  - authenticate()
[main] INFO  connection.AbstractIRODSMidLevelProtocolFactory  - get auth mechanism
[main] INFO  connection.AuthenticationFactoryImpl  - instanceAuthMechanism()
[main] INFO  connection.AuthenticationFactoryImpl  - authScheme:STANDARD
[main] INFO  connection.AuthenticationFactoryImpl  - using standard auth
[main] INFO  connection.AbstractIRODSMidLevelProtocolFactory  - authenticate...
[main] INFO  connection.AuthMechanism  - sendStartupPacket()
[main] INFO  connection.AuthMechanism  - clientServerNegotiationHook()
[main] INFO  connection.AuthMechanism  - negotiation is required
[main] INFO  connection.AuthMechanism  - clientServerNegotiation()
[main] INFO  connection.AuthMechanism  - have a server negotiation response:ClientServerNegotiationStruct [status=1, sslNegotiationPolicy=CS_NEG_REQUIRE]
[main] INFO  connection.ClientServerNegotiationService  - negotiate()
[main] INFO  connection.ClientServerNegotiationService  - negotiateUsingServerProtocol()
[main] INFO  connection.ClientServerNegotiationService  - negotiation over response from server:ClientServerNegotiationStruct [status=1, sslNegotiationPolicy=CS_NEG_REQUIRE]
[main] INFO  connection.ClientServerNegotiationService  - client policy:ClientServerNegotiationPolicy [sslNegotiationPolicy=CS_NEG_REFUSE]
[main] INFO  connection.ClientServerNegotiationService  - negotiatedOutcome:CS_NEG_FAILURE
[main] ERROR connection.ClientServerNegotiationService  - failure in client server negotiation!...sending error message to the server before throwing the failure exception
org.irods.jargon.core.exception.ClientServerNegotiationException: failure in client server negotiation
        at org.irods.jargon.core.connection.ClientServerNegotiationService.negotiateUsingServerProtocol(ClientServerNegotiationService.java:137)
        at org.irods.jargon.core.connection.ClientServerNegotiationService.negotiate(ClientServerNegotiationService.java:111)
        at org.irods.jargon.core.connection.AuthMechanism.clientServerNegotiation(AuthMechanism.java:174)
        at org.irods.jargon.core.connection.AuthMechanism.clientServerNegotiationHook(AuthMechanism.java:78)
        at org.irods.jargon.core.connection.AuthMechanism.authenticate(AuthMechanism.java:214)
        at org.irods.jargon.core.connection.AbstractIRODSMidLevelProtocolFactory.authenticate(AbstractIRODSMidLevelProtocolFactory.java:241)
        at org.irods.jargon.core.connection.AbstractIRODSMidLevelProtocolFactory.instance(AbstractIRODSMidLevelProtocolFactory.java:103)
        at org.irods.jargon.core.connection.PAMAuth.processAfterAuthentication(PAMAuth.java:210)
        at org.irods.jargon.core.connection.AuthMechanism.authenticate(AuthMechanism.java:219)
        at org.irods.jargon.core.connection.AbstractIRODSMidLevelProtocolFactory.authenticate(AbstractIRODSMidLevelProtocolFactory.java:241)
        at org.irods.jargon.core.connection.AbstractIRODSMidLevelProtocolFactory.instance(AbstractIRODSMidLevelProtocolFactory.java:103)
        at org.irods.jargon.core.connection.IRODSProtocolManager.createNewProtocol(IRODSProtocolManager.java:146)
        at org.irods.jargon.core.connection.IRODSSimpleProtocolManager.getIRODSProtocol(IRODSSimpleProtocolManager.java:69)
        at org.irods.jargon.core.connection.IRODSSession.connectAndAddToProtocolsMap(IRODSSession.java:511)
        at org.irods.jargon.core.connection.IRODSSession.currentConnection(IRODSSession.java:400)
        at org.irods.jargon.core.pub.IRODSAccessObjectFactoryImpl.authenticateIRODSAccount(IRODSAccessObjectFactoryImpl.java:81)
        at org.irods.jargon.pamtest.TestPam.run(TestPam.java:50)
        at org.irods.jargon.pamtest.TestPam.main(TestPam.java:60)
metalnx@tpa-eld6804:~$

I am able to authenticate via iRODS directly. Check it out:
metalnx@tpa-eld6804:~$ iinit
Enter your current PAM password:
metalnx@tpa-eld6804:~$ ils
/tempZone/home/arthur:
metalnx@tpa-eld6804:~$ cat ~/.irods/irods_environment.json
{
    "irods_host": "tpa-eld6804.tpa-eld.localdomain",
    "irods_port": 1247,
    "irods_default_resource": "demoResc",
    "irods_home": "/tempZone/home/arthur",
    "irods_cwd": "/tempZone/home/arthur",
    "irods_user_name": "arthur",
    "irods_zone_name": "tempZone",
    "irods_authentication_scheme": "PAM",
    "irods_client_server_negotiation": "request_server_negotiation",
    "irods_client_server_policy": "CS_NEG_REQUIRE",
    "irods_encryption_key_size": 32,
    "irods_encryption_salt_size": 8,
    "irods_encryption_num_hash_rounds": 16,
    "irods_encryption_algorithm": "AES-256-CBC",
    "irods_default_hash_scheme": "SHA256",
    "irods_match_hash_policy": "compatible",
    "irods_server_control_plane_port": 1248,
    "irods_server_control_plane_key": "TEMPORARY__32byte_ctrl_plane_key",
    "irods_server_control_plane_encryption_num_hash_rounds": 16,
    "irods_server_control_plane_encryption_algorithm": "AES-256-CBC",
    "irods_maximum_size_for_single_buffer_in_megabytes": 32,
    "irods_default_number_of_transfer_threads": 4,
    "irods_transfer_buffer_size_for_parallel_transfer_in_megabytes": 4,
    "irods_ssl_certificate_chain_file": "/etc/irods/ssl/chain.pem",
    "irods_ssl_certificate_key_file": "/etc/irods/ssl/server.key",
    "irods_ssl_dh_params_file": "/etc/irods/ssl/dhparams.pem",
    "irods_ssl_ca_certificate_file": "/etc/irods/ssl/chain.pem"
}

metalnx@tpa-eld6804:~$ hostname
tpa-eld6804.tpa-eld.localdomain
metalnx@tpa-eld6804:~$

Ahh, thanks, I see what is going on.  Back soon.

FWIW it's not an ssl problem, it is an edge case about the IRODSAccount that is created after PAM is negotiated and the temporary user/password that was generated, along with the negotiation strategy it carried by default.  I'll have it fixed this morning.
Thanks for helping out!

Ok, Mike. Thank you for the time spent on this! I appreciate that!

OK just (I think) replicated the CS_NEG_REFUSE laid over PAM auth, it did have a problem with shutting down SSL properly.  I'm running the test suite and then will deploy, then we can give this a try.

PS laid on top of this the jargon default is neg_refuse and the server there is set to require.
The test sets the negotiation policy in the irods account correctly to cs_neg_require to override the default to do the pam login, but then, after logging it, it connects with the derived 'temp' password and it tried to do so with the jargon.properties default of neg_refuse.
It was here, after the valid pam login, where the client was saying 'I refuse to negotiate' while the server was saying "I require ssl", and you got a legitimate negotiation failure in the above log...
I think part of this is the perhaps opaque setting of a default negotiation policy of neg_refuse, which really was an artifact of this being a snapshot.  I think I'll switch the default stance to don't care on the client.  Note that jargon properties are accessable in code, so one can set a global policy to be anything one wants in any implementation.  That was sort of confounding our debugging.  As I said, it turns out that ssl words were showing up in the logs, but it was not actually any sort of organic ssl error.
So let me finish running the unit tests and deploy with that updated negotation policy of don't care, and you can retest either this evening or first thing in the AM and I suspect you'll be set.

Understood, but wouldn't it make more sense if we set the client to CS_NEG_REQUIRE as well as the server?

Yes, personally I would favor that there be no negotiation at all, and the
SSL characteristics are solely the province of the server.  That's why I
think dont care is a good client default, because in effect it says "I can
negotiate and I'll do whatever the server wants.
Anyhow, it'd be great to test this out.  The proposed fix is pushed to
github already.
If you use that same docker image, I'd suggest you wipe out existing images
(see)  And simply redo the docker build, which will pull from github and
rebuild.  Docker can be tricky with the layers so that it doesn't really
pull the new git HEAD when you build sometimes.  I suggest nuking it from
orbit.
#!/bin/bash# Delete all containers
docker rm $(docker ps -a -q)# Delete all images
docker rmi $(docker images -q)
Alternately, you can change the endpoint to ping (commented out) and then
log in from another terminal session (docker exec -it imagename sh) and
literally do a git pull and maven install.
If you can test and verify, I'd really appreciate it.  The SSL negotiation
and PAM was a complicated change, thus I anticipated having a series of
release candidates before all of the edge cases came up.  This has been
very helpful, so thanks!
On Thu, Jan 19, 2017 at 5:35 AM, ajguerra<EMAIL_ADDRESS>wrote:

Understood, but wouldn't it make more sense if we set the client to
CS_NEG_REQUIRE as well as the server?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/michael-conway/dockertests/issues/1#issuecomment-273739031,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABC-LR7Du4kBnqEsv0_D4aUwsxjuqUGLks5rTzxsgaJpZM4Ll4HK
.

So, it makes sense to use cs_neg_dont_care on the client. It does not mean that it won't use SSL, it only means that the client will authenticate the way the server is set up. Agreed.
I'll do the test right now. I'll post here my findings.
Thanks!

Mike,
Good news... The authentication worked! I rebuilt the docker image and successfully PAM authenticated myself in iRODS via Jargon.
I'm posting the logs here in case you want to take a look at:
# docker run --add-host tpa-eld6804.tpa-eld.localdomain:<IP_ADDRESS> -t diceunc/testpam
[main] INFO  pamtest.TestPam  - stream is:sun.net.www.protocol.jar.JarURLConnection$JarURLInputStream@3d494fbf
[main] INFO  pamtest.TestPam  - loading testing props
[main] INFO  pamtest.TestPam  - logging in with account:irods://arthur@tpa-eld6804.tpa-eld.localdomain:1247
[main] INFO  connection.IRODSSimpleProtocolManager  - creating simple protocol manager
[main] INFO  connection.IRODSSession  - setting system prop for TLS...
[main] INFO  connection.IRODSSession  - checkInitTrustManager()
[main] INFO  pub.IRODSFileSystem  - IRODSfileSystem is initialized
[main] INFO  pub.IRODSAccessObjectFactoryImpl  - authenticateIRODSAccount()
[main] INFO  pub.IRODSAccessObjectFactoryImpl  - any existing session will be closed, or at least handed back to a pool/cache
[main] WARN  connection.IRODSSession  - closing session that is already closed, silently ignore
[main] INFO  connection.AbstractIRODSMidLevelProtocolFactory  - instance() method...calling connection life cycle
[main] INFO  connection.AbstractIRODSMidLevelProtocolFactory  - create connection....
[main] INFO  connection.IRODSTCPConnectionFactoryImpl  - instance()
[main] INFO  connection.AbstractConnection  - AbstractConnection()
[main] INFO  connection.AbstractConnection  - using override negotiation policy from IRODSAccount:ClientServerNegotiationPolicy [sslNegotiationPolicy=CS_NEG_REQUIRE]
[main] INFO  connection.AbstractConnection  - opening irods socket
[main] INFO  connection.AbstractIRODSMidLevelProtocolFactory  - ...have connection, now authenticate given the auth scheme in the iRODS account...
[main] INFO  connection.AbstractIRODSMidLevelProtocolFactory  - authenticate()
[main] INFO  connection.AbstractIRODSMidLevelProtocolFactory  - get auth mechanism
[main] INFO  connection.AuthenticationFactoryImpl  - instanceAuthMechanism()
[main] INFO  connection.AuthenticationFactoryImpl  - authScheme:PAM
[main] INFO  connection.AuthenticationFactoryImpl  - using PAM auth
[main] INFO  connection.AbstractIRODSMidLevelProtocolFactory  - authenticate...
[main] INFO  connection.AuthMechanism  - sendStartupPacket()
[main] INFO  connection.AuthMechanism  - clientServerNegotiationHook()
[main] INFO  connection.AuthMechanism  - negotiation is required
[main] INFO  connection.AuthMechanism  - clientServerNegotiation()
[main] INFO  connection.AuthMechanism  - have a server negotiation response:ClientServerNegotiationStruct [status=1, sslNegotiationPolicy=CS_NEG_REQUIRE]
[main] INFO  connection.ClientServerNegotiationService  - negotiate()
[main] INFO  connection.ClientServerNegotiationService  - negotiateUsingServerProtocol()
[main] INFO  connection.ClientServerNegotiationService  - negotiation over response from server:ClientServerNegotiationStruct [status=1, sslNegotiationPolicy=CS_NEG_REQUIRE]
[main] INFO  connection.ClientServerNegotiationService  - client policy:ClientServerNegotiationPolicy [sslNegotiationPolicy=CS_NEG_REQUIRE]
[main] INFO  connection.ClientServerNegotiationService  - negotiatedOutcome:CS_NEG_USE_SSL
[main] INFO  connection.ClientServerNegotiationService  - was a success, return choice to server
[main] INFO  connection.ClientServerNegotiationService  - startupResponse captured:StartupResponseData:
   status:0
   relVersion:rods4.1.10
   apiVersion:d
   reconnPort:0
   reconnAddr:
   cookie:400
[main] INFO  connection.ClientServerNegotiationService  - wrapConnectionInSsl()
[main] INFO  connection.ClientServerNegotiationService  - wrapping in ssl connection
[main] INFO  connection.SslConnectionUtilities  - createSslSocketForProtocolAndIntegrateIntoProtocol()
[main] INFO  connection.SslConnectionUtilities  - have SSL socket, introduce as the iRODS connection in the provided protocol
[main] INFO  connection.ClientServerNegotiationService  - configureParametersForParallelTransfer()
[main] INFO  connection.ClientServerNegotiationService  - setting up secret key
[main] INFO  connection.ClientServerNegotiationService  - creating secret key for parallel transfer encryption using:AES_256_CBC
[main] INFO  connection.ClientServerNegotiationService  - AES key selected
[main] INFO  encrypt.AESKeyGenerator  - generateKey()
[main] INFO  connection.ClientServerNegotiationService  - sending header with encryption cues
[main] INFO  connection.ClientServerNegotiationService  - now write the shared secret to iRODS
[main] INFO  connection.ClientServerNegotiationService  - connection now wrapped in ssl socket!
[main] INFO  connection.AuthMechanism  - negotiated configuration:StartupResponseData:
   status:0
   relVersion:rods4.1.10
   apiVersion:d
   reconnPort:0
   reconnAddr:
   cookie:400
[main] INFO  connection.AuthMechanism  - startup response:StartupResponseData:
   status:0
   relVersion:rods4.1.10
   apiVersion:d
   reconnPort:0
   reconnAddr:
   cookie:400
[main] INFO  connection.AuthMechanism  - no need to SSL tunnel for PAM
[main] INFO  connection.AuthMechanism  - using eirods pluggable pam auth request
[main] INFO  connection.AuthMechanism  - have the temporary password to use to log in via pam
sending sslEnd...
[main] INFO  connection.IRODSMidLevelProtocol  - preDisconnectAction()
[main] INFO  connection.IRODSMidLevelProtocol  - sending SSL shutdown if ssl conn
[main] INFO  connection.AuthMechanism  - derived and logging in with temporary password from a new agent:irods://arthur@tpa-eld6804.tpa-eld.localdomain:1247
[main] INFO  connection.AbstractIRODSMidLevelProtocolFactory  - instance() method...calling connection life cycle
[main] INFO  connection.AbstractIRODSMidLevelProtocolFactory  - create connection....
[main] INFO  connection.IRODSTCPConnectionFactoryImpl  - instance()
[main] INFO  connection.AbstractConnection  - AbstractConnection()
[main] INFO  connection.AbstractConnection  - using default negotiation policy:ClientServerNegotiationPolicy [sslNegotiationPolicy=CS_NEG_DONT_CARE]
[main] INFO  connection.AbstractConnection  - opening irods socket
[main] INFO  connection.AbstractIRODSMidLevelProtocolFactory  - ...have connection, now authenticate given the auth scheme in the iRODS account...
[main] INFO  connection.AbstractIRODSMidLevelProtocolFactory  - authenticate()
[main] INFO  connection.AbstractIRODSMidLevelProtocolFactory  - get auth mechanism
[main] INFO  connection.AuthenticationFactoryImpl  - instanceAuthMechanism()
[main] INFO  connection.AuthenticationFactoryImpl  - authScheme:STANDARD
[main] INFO  connection.AuthenticationFactoryImpl  - using standard auth
[main] INFO  connection.AbstractIRODSMidLevelProtocolFactory  - authenticate...
[main] INFO  connection.AuthMechanism  - sendStartupPacket()
[main] INFO  connection.AuthMechanism  - clientServerNegotiationHook()
[main] INFO  connection.AuthMechanism  - negotiation is required
[main] INFO  connection.AuthMechanism  - clientServerNegotiation()
[main] INFO  connection.AuthMechanism  - have a server negotiation response:ClientServerNegotiationStruct [status=1, sslNegotiationPolicy=CS_NEG_REQUIRE]
[main] INFO  connection.ClientServerNegotiationService  - negotiate()
[main] INFO  connection.ClientServerNegotiationService  - negotiateUsingServerProtocol()
[main] INFO  connection.ClientServerNegotiationService  - negotiation over response from server:ClientServerNegotiationStruct [status=1, sslNegotiationPolicy=CS_NEG_REQUIRE]
[main] INFO  connection.ClientServerNegotiationService  - client policy:ClientServerNegotiationPolicy [sslNegotiationPolicy=CS_NEG_DONT_CARE]
[main] INFO  connection.ClientServerNegotiationService  - negotiatedOutcome:CS_NEG_USE_SSL
[main] INFO  connection.ClientServerNegotiationService  - was a success, return choice to server
[main] INFO  connection.ClientServerNegotiationService  - startupResponse captured:StartupResponseData:
   status:0
   relVersion:rods4.1.10
   apiVersion:d
   reconnPort:0
   reconnAddr:
   cookie:400
[main] INFO  connection.ClientServerNegotiationService  - wrapConnectionInSsl()
[main] INFO  connection.ClientServerNegotiationService  - wrapping in ssl connection
[main] INFO  connection.SslConnectionUtilities  - createSslSocketForProtocolAndIntegrateIntoProtocol()
[main] INFO  connection.SslConnectionUtilities  - have SSL socket, introduce as the iRODS connection in the provided protocol
[main] INFO  connection.ClientServerNegotiationService  - configureParametersForParallelTransfer()
[main] INFO  connection.ClientServerNegotiationService  - setting up secret key
[main] INFO  connection.ClientServerNegotiationService  - creating secret key for parallel transfer encryption using:AES_256_CBC
[main] INFO  connection.ClientServerNegotiationService  - AES key selected
[main] INFO  encrypt.AESKeyGenerator  - generateKey()
[main] INFO  connection.ClientServerNegotiationService  - sending header with encryption cues
[main] INFO  connection.ClientServerNegotiationService  - now write the shared secret to iRODS
[main] INFO  connection.ClientServerNegotiationService  - connection now wrapped in ssl socket!
[main] INFO  connection.AuthMechanism  - negotiated configuration:StartupResponseData:
   status:0
   relVersion:rods4.1.10
   apiVersion:d
   reconnPort:0
   reconnAddr:
   cookie:400
[main] INFO  connection.AuthMechanism  - startup response:StartupResponseData:
   status:0
   relVersion:rods4.1.10
   apiVersion:d
   reconnPort:0
   reconnAddr:
   cookie:400
[main] INFO  connection.StandardIRODSAuth  - authenticate
[main] INFO  connection.StandardIRODSAuth  - sending standard irods password
[main] INFO  connection.StandardIRODSAuth  - auth was successful
[main] INFO  connection.StandardIRODSAuth  - auth response was:AuthResponse [successful=true, authMessage=, authenticatingIRODSAccount=irods://arthur@tpa-eld6804.tpa-eld.localdomain:1247, authenticatedIRODSAccount=irods://arthur@tpa-eld6804.tpa-eld.localdomain:1247, responseProperties=[], startupResponse=StartupResponseData:
   status:0
   relVersion:rods4.1.10
   apiVersion:d
   reconnPort:0
   reconnAddr:
   cookie:400]
[main] INFO  connection.AbstractIRODSMidLevelProtocolFactory  - ..authenticated...now decorate and return...
[main] INFO  connection.AbstractIRODSMidLevelProtocolFactory  - decorate()
[main] INFO  connection.EnvironmentalInfoAccessor  - getting irods server properties
[main] INFO  connection.DiscoveredServerPropertiesCache  - now retriving server properties from cache with zone:tempZone
[main] INFO  connection.EnvironmentalInfoAccessor  - server response obtained
[main] INFO  connection.AbstractIRODSMidLevelProtocolFactory  - org.irods.jargon.core.connection.IRODSServerProperties@3498ed
[main] INFO  connection.AbstractIRODSMidLevelProtocolFactory  - ..authenticated...now decorate and return...
[main] INFO  connection.AbstractIRODSMidLevelProtocolFactory  - decorate()
[main] INFO  connection.AbstractIRODSMidLevelProtocolFactory  - org.irods.jargon.core.connection.IRODSServerProperties@3498ed
[main] INFO  pub.IRODSAccessObjectFactoryImpl  - authResponse:AuthResponse [successful=true, authMessage=, authenticatingIRODSAccount=irods://arthur@tpa-eld6804.tpa-eld.localdomain:1247, authenticatedIRODSAccount=irods://arthur@tpa-eld6804.tpa-eld.localdomain:1247, responseProperties=[], startupResponse=StartupResponseData:
   status:0
   relVersion:rods4.1.10
   apiVersion:d
   reconnPort:0
   reconnAddr:
   cookie:400]
[main] INFO  connection.IRODSMidLevelProtocol  - preDisconnectAction()
[main] INFO  connection.IRODSMidLevelProtocol  - sending SSL shutdown if ssl conn
[main] INFO  pamtest.TestPam  - success!

iRODS logs:
Jan 23 12:30:00 pid:10054 NOTICE: Agent exiting with status = 0
Jan 23 12:30:00 pid:1361 NOTICE: Agent process 10051 exited with status 0
Jan 23 12:30:00 pid:1361 NOTICE: Agent process 10054 exited with status 0
Jan 23 12:31:51 pid:1361 NOTICE: Agent process 10150 started for puser=arthur and cuser=arthur from <IP_ADDRESS>
Authenticated
Jan 23 12:31:52 pid:10150 NOTICE: readAndProcClientMsg: received disconnect msg from client
Jan 23 12:31:52 pid:10150 NOTICE: Agent exiting with status = 0
Jan 23 12:31:52 pid:1361 NOTICE: Agent process 10150 exited with status 0
Jan 23 12:31:52 pid:1361 NOTICE: Agent process 10154 started for puser=arthur and cuser=arthur from <IP_ADDRESS>
Jan 23 12:31:52 pid:10154 NOTICE: readAndProcClientMsg: received disconnect msg from client
Jan 23 12:31:52 pid:10154 NOTICE: Agent exiting with status = 0

thank you so much for your help and patience, the SSL stuff is pretty
complicated!  I'm cutting rc2 today, just to allow a bit more testing, but
it should be ready for release very soon.
On Mon, Jan 23, 2017 at 9:44 AM, ajguerra<EMAIL_ADDRESS>wrote:

Mike,
Good news... The authentication worked! I rebuilt the docker image and
successfully PAM authenticated myself in iRODS via Jargon.
I'm posting the logs here in case you want to take a look at:
docker run --add-host tpa-eld6804.tpa-eld.localdomain:<IP_ADDRESS> -t diceunc/testpam
[main] INFO  pamtest.TestPam  - stream is:sun.net.www.protocol.jar.JarURLConnection$JarURLInputStream@3d494fbf
[main] INFO  pamtest.TestPam  - loading testing props
[main] INFO  pamtest.TestPam  - logging in with account:irods://arthur@tpa-eld6804.tpa-eld.localdomain:1247
[main] INFO  connection.IRODSSimpleProtocolManager  - creating simple protocol manager
[main] INFO  connection.IRODSSession  - setting system prop for TLS...
[main] INFO  connection.IRODSSession  - checkInitTrustManager()
[main] INFO  pub.IRODSFileSystem  - IRODSfileSystem is initialized
[main] INFO  pub.IRODSAccessObjectFactoryImpl  - authenticateIRODSAccount()
[main] INFO  pub.IRODSAccessObjectFactoryImpl  - any existing session will be closed, or at least handed back to a pool/cache
[main] WARN  connection.IRODSSession  - closing session that is already closed, silently ignore
[main] INFO  connection.AbstractIRODSMidLevelProtocolFactory  - instance() method...calling connection life cycle
[main] INFO  connection.AbstractIRODSMidLevelProtocolFactory  - create connection....
[main] INFO  connection.IRODSTCPConnectionFactoryImpl  - instance()
[main] INFO  connection.AbstractConnection  - AbstractConnection()
[main] INFO  connection.AbstractConnection  - using override negotiation policy from IRODSAccount:ClientServerNegotiationPolicy [sslNegotiationPolicy=CS_NEG_REQUIRE]
[main] INFO  connection.AbstractConnection  - opening irods socket
[main] INFO  connection.AbstractIRODSMidLevelProtocolFactory  - ...have connection, now authenticate given the auth scheme in the iRODS account...
[main] INFO  connection.AbstractIRODSMidLevelProtocolFactory  - authenticate()
[main] INFO  connection.AbstractIRODSMidLevelProtocolFactory  - get auth mechanism
[main] INFO  connection.AuthenticationFactoryImpl  - instanceAuthMechanism()
[main] INFO  connection.AuthenticationFactoryImpl  - authScheme:PAM
[main] INFO  connection.AuthenticationFactoryImpl  - using PAM auth
[main] INFO  connection.AbstractIRODSMidLevelProtocolFactory  - authenticate...
[main] INFO  connection.AuthMechanism  - sendStartupPacket()
[main] INFO  connection.AuthMechanism  - clientServerNegotiationHook()
[main] INFO  connection.AuthMechanism  - negotiation is required
[main] INFO  connection.AuthMechanism  - clientServerNegotiation()
[main] INFO  connection.AuthMechanism  - have a server negotiation response:ClientServerNegotiationStruct [status=1, sslNegotiationPolicy=CS_NEG_REQUIRE]
[main] INFO  connection.ClientServerNegotiationService  - negotiate()
[main] INFO  connection.ClientServerNegotiationService  - negotiateUsingServerProtocol()
[main] INFO  connection.ClientServerNegotiationService  - negotiation over response from server:ClientServerNegotiationStruct [status=1, sslNegotiationPolicy=CS_NEG_REQUIRE]
[main] INFO  connection.ClientServerNegotiationService  - client policy:ClientServerNegotiationPolicy [sslNegotiationPolicy=CS_NEG_REQUIRE]
[main] INFO  connection.ClientServerNegotiationService  - negotiatedOutcome:CS_NEG_USE_SSL
[main] INFO  connection.ClientServerNegotiationService  - was a success, return choice to server
[main] INFO  connection.ClientServerNegotiationService  - startupResponse captured:StartupResponseData:
status:0
relVersion:rods4.1.10
apiVersion:d
reconnPort:0
reconnAddr:
cookie:400
[main] INFO  connection.ClientServerNegotiationService  - wrapConnectionInSsl()
[main] INFO  connection.ClientServerNegotiationService  - wrapping in ssl connection
[main] INFO  connection.SslConnectionUtilities  - createSslSocketForProtocolAndIntegrateIntoProtocol()
[main] INFO  connection.SslConnectionUtilities  - have SSL socket, introduce as the iRODS connection in the provided protocol
[main] INFO  connection.ClientServerNegotiationService  - configureParametersForParallelTransfer()
[main] INFO  connection.ClientServerNegotiationService  - setting up secret key
[main] INFO  connection.ClientServerNegotiationService  - creating secret key for parallel transfer encryption using:AES_256_CBC
[main] INFO  connection.ClientServerNegotiationService  - AES key selected
[main] INFO  encrypt.AESKeyGenerator  - generateKey()
[main] INFO  connection.ClientServerNegotiationService  - sending header with encryption cues
[main] INFO  connection.ClientServerNegotiationService  - now write the shared secret to iRODS
[main] INFO  connection.ClientServerNegotiationService  - connection now wrapped in ssl socket!
[main] INFO  connection.AuthMechanism  - negotiated configuration:
StartupResponseData:
status:0
relVersion:rods4.1.10
apiVersion:d
reconnPort:0
reconnAddr:
cookie:400
[main] INFO  connection.AuthMechanism  - startup response:StartupResponseData:
status:0
relVersion:rods4.1.10
apiVersion:d
reconnPort:0
reconnAddr:
cookie:400
[main] INFO  connection.AuthMechanism  - no need to SSL tunnel for PAM
[main] INFO  connection.AuthMechanism  - using eirods pluggable pam auth request
[main] INFO  connection.AuthMechanism  - have the temporary password to use to log in via pam
sending sslEnd...
[main] INFO  connection.IRODSMidLevelProtocol  - preDisconnectAction()
[main] INFO  connection.IRODSMidLevelProtocol  - sending SSL shutdown if ssl conn
[main] INFO  connection.AuthMechanism  - derived and logging in with temporary password from a new agent:irods://arthur@tpa-eld6804.tpa-eld.localdomain:1247
[main] INFO  connection.AbstractIRODSMidLevelProtocolFactory  - instance() method...calling connection life cycle
[main] INFO  connection.AbstractIRODSMidLevelProtocolFactory  - create connection....
[main] INFO  connection.IRODSTCPConnectionFactoryImpl  - instance()
[main] INFO  connection.AbstractConnection  - AbstractConnection()
[main] INFO  connection.AbstractConnection  - using default negotiation policy:ClientServerNegotiationPolicy [sslNegotiationPolicy=CS_NEG_DONT_CARE]
[main] INFO  connection.AbstractConnection  - opening irods socket
[main] INFO  connection.AbstractIRODSMidLevelProtocolFactory  - ...have connection, now authenticate given the auth scheme in the iRODS account...
[main] INFO  connection.AbstractIRODSMidLevelProtocolFactory  - authenticate()
[main] INFO  connection.AbstractIRODSMidLevelProtocolFactory  - get auth mechanism
[main] INFO  connection.AuthenticationFactoryImpl  - instanceAuthMechanism()
[main] INFO  connection.AuthenticationFactoryImpl  - authScheme:STANDARD
[main] INFO  connection.AuthenticationFactoryImpl  - using standard auth
[main] INFO  connection.AbstractIRODSMidLevelProtocolFactory  - authenticate...
[main] INFO  connection.AuthMechanism  - sendStartupPacket()
[main] INFO  connection.AuthMechanism  - clientServerNegotiationHook()
[main] INFO  connection.AuthMechanism  - negotiation is required
[main] INFO  connection.AuthMechanism  - clientServerNegotiation()
[main] INFO  connection.AuthMechanism  - have a server negotiation response:ClientServerNegotiationStruct [status=1, sslNegotiationPolicy=CS_NEG_REQUIRE]
[main] INFO  connection.ClientServerNegotiationService  - negotiate()
[main] INFO  connection.ClientServerNegotiationService  - negotiateUsingServerProtocol()
[main] INFO  connection.ClientServerNegotiationService  - negotiation over response from server:ClientServerNegotiationStruct [status=1, sslNegotiationPolicy=CS_NEG_REQUIRE]
[main] INFO  connection.ClientServerNegotiationService  - client policy:ClientServerNegotiationPolicy [sslNegotiationPolicy=CS_NEG_DONT_CARE]
[main] INFO  connection.ClientServerNegotiationService  - negotiatedOutcome:CS_NEG_USE_SSL
[main] INFO  connection.ClientServerNegotiationService  - was a success, return choice to server
[main] INFO  connection.ClientServerNegotiationService  - startupResponse captured:StartupResponseData:
status:0
relVersion:rods4.1.10
apiVersion:d
reconnPort:0
reconnAddr:
cookie:400
[main] INFO  connection.ClientServerNegotiationService  - wrapConnectionInSsl()
[main] INFO  connection.ClientServerNegotiationService  - wrapping in ssl connection
[main] INFO  connection.SslConnectionUtilities  - createSslSocketForProtocolAndIntegrateIntoProtocol()
[main] INFO  connection.SslConnectionUtilities  - have SSL socket, introduce as the iRODS connection in the provided protocol
[main] INFO  connection.ClientServerNegotiationService  - configureParametersForParallelTransfer()
[main] INFO  connection.ClientServerNegotiationService  - setting up secret key
[main] INFO  connection.ClientServerNegotiationService  - creating secret key for parallel transfer encryption using:AES_256_CBC
[main] INFO  connection.ClientServerNegotiationService  - AES key selected
[main] INFO  encrypt.AESKeyGenerator  - generateKey()
[main] INFO  connection.ClientServerNegotiationService  - sending header with encryption cues
[main] INFO  connection.ClientServerNegotiationService  - now write the shared secret to iRODS
[main] INFO  connection.ClientServerNegotiationService  - connection now wrapped in ssl socket!
[main] INFO  connection.AuthMechanism  - negotiated configuration:StartupResponseData:
status:0
relVersion:rods4.1.10
apiVersion:d
reconnPort:0
reconnAddr:
cookie:400
[main] INFO  connection.AuthMechanism  - startup response:StartupResponseData:
status:0
relVersion:rods4.1.10
apiVersion:d
reconnPort:0
reconnAddr:
cookie:400
[main] INFO  connection.StandardIRODSAuth  - authenticate
[main] INFO  connection.StandardIRODSAuth  - sending standard irods password
[main] INFO  connection.StandardIRODSAuth  - auth was successful
[main] INFO  connection.StandardIRODSAuth  - auth response was:AuthResponse [successful=true, authMessage=, authenticatingIRODSAccount=irods://arthur@tpa-eld6804.tpa-eld.localdomain:1247, authenticatedIRODSAccount=irods://arthur@tpa-eld6804.tpa-eld.localdomain:1247, responseProperties=[], startupResponse=StartupResponseData:
status:0
relVersion:rods4.1.10
apiVersion:d
reconnPort:0
reconnAddr:
cookie:400]
[main] INFO  connection.AbstractIRODSMidLevelProtocolFactory  - ..authenticated...now decorate and return...
[main] INFO  connection.AbstractIRODSMidLevelProtocolFactory  - decorate()
[main] INFO  connection.EnvironmentalInfoAccessor  - getting irods server properties
[main] INFO  connection.DiscoveredServerPropertiesCache  - now retriving server properties from cache with zone:tempZone
[main] INFO  connection.EnvironmentalInfoAccessor  - server response obtained
[main] INFO  connection.AbstractIRODSMidLevelProtocolFactory  - org.irods.jargon.core.connection.IRODSServerProperties@3498ed
[main] INFO  connection.AbstractIRODSMidLevelProtocolFactory  - ..authenticated...now decorate and return...
[main] INFO  connection.AbstractIRODSMidLevelProtocolFactory  - decorate()
[main] INFO  connection.AbstractIRODSMidLevelProtocolFactory  - org.irods.jargon.core.connection.IRODSServerProperties@3498ed
[main] INFO  pub.IRODSAccessObjectFactoryImpl  - authResponse:AuthResponse [successful=true, authMessage=, authenticatingIRODSAccount=irods://arthur@tpa-eld6804.tpa-eld.localdomain:1247, authenticatedIRODSAccount=irods://arthur@tpa-eld6804.tpa-eld.localdomain:1247, responseProperties=[], startupResponse=StartupResponseData:
status:0
relVersion:rods4.1.10
apiVersion:d
reconnPort:0
reconnAddr:
cookie:400]
[main] INFO  connection.IRODSMidLevelProtocol  - preDisconnectAction()
[main] INFO  connection.IRODSMidLevelProtocol  - sending SSL shutdown if ssl conn
[main] INFO  pamtest.TestPam  - success!
iRODS logs:
Jan 23 12:30:00 pid:10054 NOTICE: Agent exiting with status = 0
Jan 23 12:30:00 pid:1361 NOTICE: Agent process 10051 exited with status 0
Jan 23 12:30:00 pid:1361 NOTICE: Agent process 10054 exited with status 0
Jan 23 12:31:51 pid:1361 NOTICE: Agent process 10150 started for puser=arthur and cuser=arthur from <IP_ADDRESS>
Authenticated
Jan 23 12:31:52 pid:10150 NOTICE: readAndProcClientMsg: received disconnect msg from client
Jan 23 12:31:52 pid:10150 NOTICE: Agent exiting with status = 0
Jan 23 12:31:52 pid:1361 NOTICE: Agent process 10150 exited with status 0
Jan 23 12:31:52 pid:1361 NOTICE: Agent process 10154 started for puser=arthur and cuser=arthur from <IP_ADDRESS>
Jan 23 12:31:52 pid:10154 NOTICE: readAndProcClientMsg: received disconnect msg from client
Jan 23 12:31:52 pid:10154 NOTICE: Agent exiting with status = 0
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/michael-conway/dockertests/issues/1#issuecomment-274505627,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABC-LdCIK9GH7ZBun9VxNDssPGcgrJ2hks5rVLy3gaJpZM4Ll4HK
.

Thank you for your time on this! SSL issues are always complicated!
I'm glad to see we could work it out. I'll wait for the next Jargon release then.
Thanks a lot again!


feat: add initialize and scale flags to pgbench command

This commit introduces new initialize and scale flags to the pgbench command.
This change allows users to easily specify whether to initialize the database and to control the scale factor used in the initialization process.
The code also includes relevant unit tests to ensure correct functionality.
Closes #2176

@armru could you please review this and verify it resonates with you? thanks.

@gbartolini everything good, we can merge if no other changes are needed!

Let's merge this, thanks


Added CALENDAR enum in RNTimePickerDisplay

Summary

Test Plan

><EMAIL_ADDRESS>test /Users/saravanakumar/My/Projects/github/datetimepicker
> jest ./test

 PASS  test/utils.test.js
 PASS  test/constants.test.js
 PASS  test/index.test.js

Test Suites: 3 passed, 3 total
Tests:       11 passed, 11 total
Snapshots:   4 passed, 4 total
Time:        2.795s
Ran all test suites matching /.\/test/i.

><EMAIL_ADDRESS>posttest /Users/saravanakumar/My/Projects/github/datetimepicker
> npm run lint

><EMAIL_ADDRESS>lint /Users/saravanakumar/My/Projects/github/datetimepicker
> eslint {example,src,test}/**/*.js

saravanakumar@SaravanumarsMBP datetimepicker %

What's required for testing (prerequisites)?
What are the steps to reproduce (after prerequisites)?
Compatibility

OS
Implemented

iOS
✅❌

Android
✅❌

Checklist

[ X] I have tested this on a device and a simulator
[ ] I added the documentation in README.md
[ ] I mentioned this change in CHANGELOG.md
[ ] I updated the typed files (TS and Flow)
[ ] I added a sample use of the API in the example project (example/App.js)

hello, just fyi, the tests are JS tests, they do not cover changes in java code.
can you please explain why is this the correct fix? Thank you.

hello, TimePicker does not have a CALENDAR display mode - only CLOCK and SPINNER. Therefore this is not a fix.


NOISSUE - Update load tests in accordance with latest architecture changes

Replace manager service with users and clients services in load tests.

Codecov Report

Merging #276 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #276   +/-   ##
=======================================
  Coverage   90.36%   90.36%
=======================================
  Files          10       10
  Lines         166      166
=======================================
  Hits          150      150
  Misses         13       13
  Partials        3        3

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 99a3ec5...453f420. Read the comment docs.


Other brand bms want to use esphome

I want to adapte lolan bms to esphome，but i meet some problems，Could you help me to analysis

I've started the implementation but it's in early stage.

const { buffer } = new Uint8Array([65,184,230,184]);
const dataview = new DataView(buffer);
console.log(dataview.getFloat32(0))
> 23.112655639648438

Wow. Even opened a separate project. Thank you very much for helping me.

const { buffer } = new Uint8Array([65,184,230,184]);
const dataview = new DataView(buffer);
console.log(dataview.getFloat32(0))
> 23.112655639648438

I think this is the write data.

But for me,the most difficult problem is how to get value,I'm puzzled at how to communicate with BMS.I'm a bluetooth newbie.

I could provide usb share service(bluetooth  device) or remote desktop to help debug

Wow, I get ,c56500bc614e this is the get data command.

Could you prepare another btsnoop capture of the other views? It looks like we are retrieving the status frame only at the moment. There should be a cell voltages frame and a settings frame too. Could you also trigger the mosfet switches a few times?
I will implement the decoder later the week. At the moment the floats aren't decided properly.

I have done some capture to cap this command.  MOSFET I have tested. It's right. Maybe I think settings is not necessary to use esphome
5b6500bc614e , this is the cell voltage view command
860000bc614e , turn off discharge
855500bc614e , turn on discharge
d88800bc614e , turn on charge
d90000bc614e , turn off charge
btsnoop_hci_20240624_132911.zip

How many cells does the BMS support? Could you provide the model name of your BMS and/or a photo?

6-8 cells

Does the capture include a settings frame too? I would like to print the settings into the log.

This ESPHome helper method should be used to decode the float32 measurements:
float converted_value = esphome::decode_float(bytes);

2024-06-24-15-12-13.zip
settings view is complex，i record my operation

The component is able to decode the status frame now. Please give it a try! :-)
[20:42:39][I][lolan_bms_ble:122]: Status frame received
[20:42:39][D][lolan_bms_ble:123]:   <IP_ADDRESS>.41.B<IP_ADDRESS>.<IP_ADDRESS>.<IP_ADDRESS>.D7.D9.B0.41.CD.<IP_ADDRESS>D.<IP_ADDRESS>.9E.<IP_ADDRESS>E.5A.<IP_ADDRESS> (40)
[20:42:39][I][lolan_bms_ble:129]:   Switch bitmask: 2
[20:42:39][I][lolan_bms_ble:132]:   Status bitmask: 0
[20:42:39][I][lolan_bms_ble:135]:   Total voltage: 23.13 V
[20:42:39][I][lolan_bms_ble:140]:   Current: 0.00 A
[20:42:39][I][lolan_bms_ble:141]:   Current: 0.00 A
[20:42:39][I][lolan_bms_ble:144]:   Temperature 1: 26.98 °C
[20:42:39][I][lolan_bms_ble:147]:   Temperature 2: 25.67 °C
[20:42:39][I][lolan_bms_ble:150]:   Total discharging energy: 78.79 Ah
[20:42:39][I][lolan_bms_ble:153]:   Total charging energy: 49.90 Ah
[20:42:39][I][lolan_bms_ble:156]:   Total runtime: 3554906 S
[20:42:39][I][lolan_bms_ble:157]:   Total runtime: 41d 3h
[20:42:39][I][lolan_bms_ble:160]:   Charging cycles: 1
[20:42:39][I][lolan_bms_ble:163]:   State of charge: 39 %

Very good progress. I've tried this.And I've get the right date.

Perfect! The measurements aren't published yet. The NA states at the web interface are fine for now.

Much obliged.

Could you tell me the password / pin number which is required if you use the app?
The update version is able to publish some measurements now. Please update your YAML.

The default password is “12345678”.

Convert to hex is “bc614e”，the end of the command

I've test discharge.The current is right,But the power is zero.I think it's not a big problem,just multipy current & voltage.I've read some code in seller's program,It obtained by this way. About charge, I need wait until tomorrow and test.Because now the sun has set，PV board doesn't work.

I know what's going on. I will fix the power sensor tomorrow.

Got it.Today I've tested charging. The charge current & power is all right.

The component is able to publish the most important measurements now. Please update your YAML and give it another try!

I have to ask again: Did you make the btsnoop captures using the wechat mini program or the second obfuscated app?

Actually，I use  the second obfuscated app to make the btsnoop captures, if you need i can make a new one for you.The capture
phone doesn't login wechat, so i use the second app like the screen capture do.

I'm asking because the request payloads of the wechat app doesn't match exactly with the captured payloads. No action needed. I will use the captured commands to be safe.
Could you capture the reset of the different counters too? There should be a button to reset the charging cycle counter and the total charged/discharged energy counter.

I have searched everywhere in wechat miniprogram & app , I don't find a button or other way to restore the counter. I think maybe it is not supported. ┭┮﹏┭┮

It's supported by this implementation now. Please update your YAML and to a clean build. The Mosfets can be controlled now and some counters can be resetted using buttons. Please don't test the factory reset. ;-)

Except factory reset, I have test all button  function is right, But I think it lacks two data,  total charging energy &  total discharging energy, I have saw them in log output, but i don't see config in sensor.py

I will add these sensors soon.

The basic implementation is complete now. Feel free to create new issues if you miss something!

I'm still playing around. Could you provide some more settings frames? They can be retrieve using the retrieve settings button if you don't want to do another btsnoop capture.

我还在玩。你能提供更多的设置框架吗？如果您不想再进行一次 btsnoop 捕获，可以使用 来检索它们。retrieve settings button

Tomorrow I  will take a  btsnoop capture again.

Thanks!

https://drive.google.com/file/d/1P6zqe02axp4mUClfG7xCjVYJqLPksznm/view?usp=sharing
It was too hot during the day, so I collected this data after dinner.The file has included screen record, So it  exceed github file upload limit,I upload it to google cloud.

03:6c:00:bc:61:4e:0c:00:00:32:00:50:08:0f:07:01:ff:fa:00:02:42:51:09:41:40:56:66:66:3f:80:00:00:40:b7:95:81:40:b2:b8:52:41:9a:00:00:41:cc:00:00:40:30:00:00:40:69:99:9a:42:82:00:00:42:82:00:00:46:1c:40:00:cc:10:f1:52:01:34:8b:9a:40:30:00:00:40:53:33:33:3c:23:d7:0a:41:c0:cc:cd:40:5c:cc:cd:41:a2:66:66:40:39:99:9a:5d:c4:5a:a5

03:6c:05:39:7f:b1:0c:00:00:32:00:50:08:0f:07:01:ff:fa:00:02:42:51:09:41:40:56:66:66:3f:80:00:00:40:b7:95:81:40:b2:b8:52:41:99:99:9a:41:cc:00:00:40:30:00:00:40:6a:3d:71:42:82:00:00:42:82:00:00:46:1c:40:00:cc:10:f1:52:01:34:8b:9a:40:30:00:00:40:53:33:33:3c:23:d7:0a:41:c0:cc:cd:40:5c:cc:cd:41:a2:66:66:40:39:99:9a:13:f4:5a:a5

Thanks!


Starting replicator while transaction is open causes deadlock

Calling CBLReplicator_Start while the target database has an open transaction causes a deadlock.

Created CBL-4548

@blaugold May I ask what is the concrete situation you came to encounter?

@jianminzhao I came across this issue in the context of the async API of the Couchbase Lite SDK for Dart/Flutter, that I'm maintaining. The SDK has a fully synchronous API and another corresponding API with the same functionality but async return values. The async API offloads all work to another thread to prevent blocking the main thread.
In async code, it is easy for code to interleave in unexpected ways during execution. The callback of the async Database.inBatch method is asynchronous. So, if some event in an app triggers starting a replicator while the callback of inBatch is waiting for a Future to resolve, it is possible to deadlock the app. I observed this issue in a production app.
I have already implemented a mitigation in the Dart SDK, which is to asynchronously wait for any pending transaction before starting a replicator.
For the sync API, an error is thrown if the user tries to start a replicator from within the inBatch callback. I don't think this is a problem, since I cannot think of a use case where it is necessary or somehow really convenient to be able to do this.
I mostly raised this issue to make the team aware of this limitation. Just documenting it should be fine, IMHO.

@blaugold thanks for your explanation. I think this, "which is to asynchronously wait for any pending transaction before starting a replicator," is a  good approach. Being a transaction, it is meant to be a sequestered context. By the way, have you tried to start the replicator asynchronously in a separate thread?
I have updated the doc, https://github.com/couchbase/couchbase-lite-core/blob/7c1082ef121ac96c0a7eb63123113e167942d0f5/C/include/c4Replicator.h#L80. Would it help?

By the way, have you tried to start the replicator asynchronously in a separate thread?

I was under the impression that it is not officially supported to access a database and related resources from multiple threads. That is why I architected the async API to create one thread per database and schedule all work on that thread. So, no, but now I'm seeing that some operations have the note "This function is thread-safe."  :)

I have updated the doc, https://github.com/couchbase/couchbase-lite-core/blob/7c1082ef121ac96c0a7eb63123113e167942d0f5/C/include/c4Replicator.h#L80. Would it help?

I think that extra info would have help!

So, no, but now I'm seeing that some operations have the note "This function is thread-safe." :)

Ah, that's in LiteCore. I don't think the documentation for the C SDK says anything about a function being thread-safe, no?

The only note about thread safety of the C SDK I could find is this:

And since the CBL API is not itself thread-safe, ...

It would probably be good to make this clear early on in Couchbase Lite docs, not just in this one sentence of the reference. 😉

"Thread safe" means we will not access the database you passed to the the replicator and race with your accesses. To do it, we open a new database connection through that all database accesses are done. This is the very reason you got deadlocked when start the replicator in your transaction.


InvalidOperationException vetting Castle Windsor Interception unit tests

I am running the unit tests as a first measure baseline, and getting some errors. Perhaps along the lines that PerfIt needs to be "installed" up front?
System.InvalidOperationException was unhandled by user code
  HResult=-2146233079
  Message=The requested Performance Counter is not a custom counter, it has to be initialized as ReadOnly.
  Source=System
  StackTrace:
       at System.Diagnostics.PerformanceCounter.InitializeImpl()
       at System.Diagnostics.PerformanceCounter.Initialize()
       at System.Diagnostics.PerformanceCounter.set_RawValue(Int64 value)
       at PerfIt.Handlers.CurrentConcurrentCountHandler.<>c__DisplayClass2.<BuildCounters>b__1() in d:\Source\Spikes\PerfIt\mwpowellhtx-working\src\PerfIt\Handlers\CurrentConcurrentCountHandler.cs:line 38
       at System.Lazy`1.CreateValue()
  InnerException:

I got past the initial exception: there needs to be a Category created. This can get tricky creating/loading, depending on whether a contextual disposal has occurred, i.e. to properly "dispose of", or remove, the category, as in for a unit test.

As you can see this is in Integration tests... not a unit test

Fair enough, but I don't see the distinction, except to say that the scope is broader than a unit test. One of the conditions being that a PerformanceCounterCategory should exist, and/or be torn down afterward. So the assumption today is that the Category will have existed prior to that?