Fail2ban + logger.conf configurable

I'm trying to make fail2ban works with Asterisk, but it's needed to add security log and to change the dateformat to "%F %T" in the logger.conf.
https://www.fail2ban.org/wiki/index.php/Asterisk

Currently logger.conf get's overwritten by the config. But I think we didn't add fail2ban because it required extra permissions for the add-on. @felipecrs probably knows more about this.

I don't recall. Sorry. :(

Wow quick. Yeah it was a while ago. if I remember correctly Fabio asked for fail2ban then. Anyways, not sure if it is possible in a add-on because it needs to access firewall settings right? And we would also need to stop setting the logger.conf.

Honestly I don't understand what's the purpose of fail2ban in this context.

Probably to ban bots right? @Bethaaca for now I suggest changing your ports to a non-default port, use some secure passwords and youre probably fine.

Well... is there anyone doing or planning to expose Asterisk running as Home Assistant add-on on external network/internet? Is that because of the WSS port? If so, we should focus on this instead:

https://github.com/TECH7Fox/asterisk-hass-integration/issues/45

Ah, so the integration would also proxy wss trough the HA frontend? That fixes wss, but the SIP port would still be exposed to bots.

Ah, so the integration would also proxy wss trough the HA frontend?

Yeah, like the Frigate Integration does for the Frigate APIs.

but the SIP port would still be exposed to bots.

Only if you forwarded the port in the router. Then my question remains, is there someone doing this or planning on doing it? If there's none, then I would say "why should we bother".

True. For the SIP port it's probably fine as it is for now. The WSS proxy would be nice though.

Yes, that would also solve the case for people using Home Assistant Cloud.

@TECH7Fox I thought of using the Add-on standalone fail2ban. fail2ban needs to read the log generated by Asterisk, but it only reads it in a certain format. Therefore, we would not mess with the security of the Add-on. Home Assistant itself produces log in the format required by fail2ban:

Asterisk:

if it is possible to do this with the Add-on, we could have one more layer of security when we use fail2ban.

This is somewhat duplicated with https://github.com/TECH7Fox/asterisk-hass-addons/issues/51

This is somewhat duplicated with https://github.com/TECH7Fox/asterisk-hass-addons/issues/51

Yes, but that was to add fail2ban itself into the add-on. This is just changing the format to support it.
If we just need to change the format to support fail2ban, sounds fine to me to make it the default. Only need to change the logger.conf template.

Oh, now I understand. Yes, I totally agree!

@Bethaaca just so you know, PRs are accepted to change the log format. :)

@Bethaaca, you can now configure logger.conf since 3.0.0.

@Bethaaca, you can now configure logger.conf since 3.0.0.

Nice. I´ll update (version 2.x.x yet) and try ti change de dateformat. Thanks.

Trust me, this is enough to use fail2ban. When I suffered the brute force attacks, my console showed every attempt (even without the additional "messages => security, notice, warning, error"), but I couldn't configure fail2ban to read the file. In this format it is already possible. I ended up configuring Asterisk with Linhome (@pergolafabio helped me with this configuration) and closing all ports due to insecurity.
Now I have to re-open the ports and reconfigure Asterisk to test fail2ban.
Nice job, nice job, guys!!!

I don't quite understand... does it mean we don't need https://github.com/TECH7Fox/asterisk-hass-addons/pull/201?
If so, please close this issue and also the PR.

Thank you @Bethaaca. Let me just make sure I understand.
You are saying that even with the default configuration you can already setup fail2ban?
Or, if you changed something in logger.conf, can you please paste your customizations here, so that other people who try to make the same configuration can have it as a reference?

Yes, off course.
Logger.conf:
[general] dateformat=%F %T [logfiles] console => verbose(1),notice,warning,error
With this small change fail2ban can read the log. At the time I mainly used this site   to use the Voip Black List and set up fail2ban.

Got it. Thank you!


Command not support: "flutter:waitForFirstFrame"

Apologies for re-raising this issue since it has already been raised: #28 however that thread seems to have gone stale waiting for a response from the original raiser.
I am trying to run the example project here in this repo using the Java client. However the test fails as soon as it interacts with Flutter in the Appium Server. I have compiled the Kotlin Finder and I am using the example Flutter app under test.
My environment is:
Intel MacOS BigSur
Intellij 2020.3
Emulator: Pixel 3 API 29
Appium 1.20.2
Flutter 2.0.2
Dart 2.12.1
   capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, "Android");     capabilities.setCapability(MobileCapabilityType.PLATFORM_VERSION, "10");     capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, "emulator-5554");     capabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME, "Flutter");
enableFlutterDriversExtension() is called within the example App.
The first run fails instantly on calling "flutter:waitForFirstFrame" subsequent runs fail after waiting 300 seconds, just like in the #28 issue.
My Appium Server logs: First Run, Second Run
Intellij Run logs: First Run, Second Run
Is there anything wrong with my environment?

This was caused by issue #15104 in Appium. After modifying the dependency manually I was able to force Appium to use version 0.0.28 instead of 0.0.25 which did not contain the waitForFirstFrame call that was failing.

@JessWeston Thanks for this information. I'm running into the same problem, but I'm new to Appium. Can you show me how you modified the dependency to pick up version 0.0.28?

@JessWeston This is the pom file I'm using for appium-flutter-finder. I don't see a dependency for appium-flutter-driver, but I do see the appium java-client in there.
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <groupId>pro.truongsinh</groupId>
  <artifactId>appium-flutter-finder</artifactId>
  <version>0.0.4</version>
  <dependencies>
    <dependency>
      <groupId>org.jetbrains.kotlin</groupId>
      <artifactId>kotlin-stdlib</artifactId>
      <version>1.3.40</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.jetbrains.kotlinx</groupId>
      <artifactId>kotlinx-serialization-runtime</artifactId>
      <version>0.11.1</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>io.appium</groupId>
      <artifactId>java-client</artifactId>
      <version>2.1.0</version>
      <scope>runtime</scope>
    </dependency>
  </dependencies>
</project>

@JessWeston thanks again. This worked locally. For what it's worth, and for anyone who needs automation, I found the npe tool nice for editing package.json.
cd /usr/local/lib/node_modules/appium
npm install -g npe
npe dependencies.appium-flutter-driver 0.0.28
I did get a weird error when re-installing appium with --unsafe-perm=true, but it didn't seem to make a difference...
><EMAIL_ADDRESS>prepare
> gulp prepublish

[11:45:38] No gulpfile found
npm ERR! code 1
npm ERR! path /usr/local/lib/node_modules/appium
npm ERR! command failed
npm ERR! command sh -c gulp prepublish

I couldn't get this working on the remote CI machine. However, I ended up installing appium version 1.21.0-rc.1 which uses appium-flutter-driver 0.0.28 by default, and all is well.


⚠ ClamAV has degraded performance

In c5cdef5, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 194 ms

Resolved: ClamAV performance has improved in a30dc78.


Update ContractDetails

These fund items have been added under def ContractDetails
      # FUND values
        self.fundName = ""
        self.fundFamily = ""
        self.fundType = ""
        self.fundFrontLoad = ""
        self.fundBackLoad = ""
        self.fundBackLoadTimeInterval = ""
        self.fundManagementFee = ""
        self.fundClosed = False
        self.fundClosedForNewInvestors = False
        self.fundClosedForNewMoney = False
        self.fundNotifyAmount = ""
        self.fundMinimumInitialPurchase = ""
        self.fundSubsequentMinimumPurchase = ""
        self.fundBlueSkyStates = ""
        self.fundBlueSkyTerritories = ""
        self.fundDistributionPolicyIndicator = FundDistributionPolicyIndicator.NoneItem
        self.fundAssetType = FundAssetType.NoneItem

Also this code has been added at the end:
class FundAssetType(Enum):
    NoneItem = ("None", "None")
    Others = ("000", "Others"),
    MoneyMarket = ("001", "Money Market")
    FixedIncome = ("002", "Fixed Income")
    MultiAsset = ("003", "Multi-asset")
    Equity = ("004", "Equity")
    Sector = ("005", "Sector")
    Guaranteed = ("006", "Guaranteed")
    Alternative = ("007", "Alternative")

class FundDistributionPolicyIndicator(Enum):
    NoneItem = ("None", "None")
    AccumulationFund = ("N", "Accumulation Fund")
    IncomeFund = ("Y", "Income Fund")

def listOfValues(cls):
    return list(map(lambda c: c, cls))

def getEnumTypeFromString(cls, stringIn):
    for item in cls:
        if item.value[0] == stringIn:
            return item
    return listOfValues(cls)[0]

def getEnumTypeName(cls, valueIn):
    for item in cls:
        if item == valueIn:
            return item.value[1]
    return listOfValues(cls)[0].value[1]

Indeed! It's on the todo list. We'll need to make some new classes and types and add these new details to the protocol parser for those fields.
Most of the work will be a refactor of the twsapi/ibapi python implementation's protocol decoder in ibapi/decoder.py around here:
        if (
            self.serverVersion >= MIN_SERVER_VER_FUND_DATA_FIELDS
            and contract.contract.secType == "FUND"
        ):

Did you want to add me to the repo and I can assign this to myself?

Thanks! Yeah, feel free to give it a try. These are a different input format than anything else, so it may take some decisions to figure out what goes where and how.
I'll select you on the assigned field and just drop a PR if it looks good enough to review. I'd be curious to test it too but I don't know what symbols are this FUND type yet. Maybe we can even try to add some automated test cases for it (against a readonly gateway?).
Looking through it a bit, those Enum cases are just weird/bad. The reason their format is like ("001", "Money Market") is because the ibapi decoder is reading 001 from the IBKR protocol then replacing it with Money Market on the returned object for the user to see.
BUT — these should just be dicts mapping the key to the enum value then? They have that awful thing called getEnumTypeFromString() which just linearly searches each enum if x[0] == value? why would they do it that way? it's 10x more difficult than just using a dict for those mappings. more like lookupFundAssetType: dict[str, FundAssetType] = {"None": FundAssetType.NoneItem, "001": FundAssetType.MoneyMarket, ...} etc?

@ClimberMel have you been able to progress on this one?

No, I got sidetracked.  I was having trouble finding example to test it with.  I'm not familiar with bonds, and that is all these changes pertain to.

Yeah, testing this would be a bit weird. Probably just making it match the existing twsapi interface should be good enough then people can complain if it doesn't work. I think these are only informational APIs anyway and don't impact trading at all?
I can look through it again to see what matches for adapting if your attempts have run out of steam.

You know that's not a bad idea, I have the code changes so I'll upload them and wait to see if anyone uses them.


Common Q&A document.

Here are  some common install/run questions.
status meaning:

:construction: under develop
:memo: in disscussion
:raising_hand: help wanted
:white_check_mark: resolved

Root permission rela

Summary
Description
Cause
Issue
PR
Status

root User
sudo sealos run not works well
All command must run at root user, currently donot support run as sudoers or rootless
#1386, #690

:construction:

Fix:point_right:: using root user to exec commands.

Summary
Description
Cause
Issue
PR
Status

Single Cluster
sealos run without any ips
Currently sealos run must spec at least one master and one node
#1353 #1064
#1396
:white_check_mark:

Fix:point_right:: using atleast two machine(or multipass to start vms quickly)
System environment rela

Summary
Description
Cause
Issue
PR
Status

invalid argument "never" for " --pull" flag: strconv. ParseBool: parsing "never": invalid syntax
Cannot run sealos run command
System has buildah installed but version do not match sealos's requirement
#1961

:white_check_mark:

Fix:point_right:: Delete System's buildah and using sealos's build-in version.

Summary
Description
Cause
Issue
PR
Status

Cannot install sealos cluster when offline
Exec apparmor_parser file not found
Default Set disableApparmor=false, Update Image version
#1755
labring/cluster-image@8b4bb02, labring/cluster-image#211
:white_check_mark:

Re-Run sealos fail on a sealos reseted cluster
Re-Run failed with container runtime is not running or token exit status 1 and similar errors
sealos reset donot clearly cleaned all System enviroments
#1866, #1998
#1936
:white_check_mark:

Fix:point_right:: Upgrade to 4.1.4-rc1 and above!
Network connective rela

Summary
Description
Cause
Issue
PR
Status

Validate Fail
couldn't validate the identity of the API Server, something like <IP_ADDRESS>:6443 fail
due to connective block between masters and nodes

:memo:

Offline run *.tar.gz
Install from *.tar.gz offline image package，make offline installation easier

#1770
#1861
:white_check_mark:

Support customize hostname under cluster file
It is useful to specific hostname under cluster file when there are many nodes.

#1729, #1449

:raising_hand:

Support extenal etcd cluster

Use kubeadm to customize
#1612

:raising_hand:

Fix:point_right:: double check masters and nodes can access each other at any port!
Not only ssh(22) port but also api-server(6443) and many others as different serivces/pods needs different ports open. Especially checking security group when using aws/aliyun infras.
Currently we suggest allow all2all under internal/private vpc/subnets.
Storage requirements rela

Summary
Description
Cause
Issue
PR
Status

Download Image Fail
sealos run CLusterImage fail
lack of disk spaces

:raising_hand:

Download Image Fail
sealos build still fail while pulling an image from the private registry
lack of memory due to directio bug
#1314

:construction:

Change install directory
sealos default install on root home dir but want to change this location
small root directory size

#1592
:white_check_mark:

Fix:point_right:: add more storages and/or memories!
After install and run

Summary
Description
Cause
Issue
PR
Status

How to change masters/nodes ip
there is no document or command to support change nodes ips

#1406

:raising_hand:

How to access private registry
you can access private registry directly

#1412
#1426
🚧

--cmd not work
--cmd except to merge build-in commands
Upgrade to 4.1.4-rc1 and above
#1969

:white_check_mark:

error converting YAML to JSON
apply clusterfile shows error
Rename *.yaml.tmpl file to *.yaml.tmpl.bak, as .tmpl suffix file will be rendered by default
#1454

:white_check_mark:

Manage masters/nodes fail at running clusters

Mount data is missing, need update
#1402
#1429
:construction:

Some masters/nodes fail to start after reboot machine

Hosts data is missing, need update
#1619, #1621, #1894

:construction:

Running sealos other than master0

many codes need to be update
#1276,#1567
#1292
:white_check_mark:

Summary
Description
Cause
Issue
PR
Status

Add new masters fail

Time created by sealctl token do not synced or expired
#1783
#1936
:white_check_mark:

Fix:point_right:: Upgrade to 4.1.4-rc1 and above!
Cluster image rela

Summary
Description
Cause
Issue
PR
Status

Build image with digest failed
Some images like cilium, have digest inside, sealos build will fail
It's image-shim witch needs to deal with this problem
#1460
#1466
:white_check_mark:

Pull arm image at x86 platform

#1929

:white_check_mark:

Pull image do not update local's

Default pull policy is hardcoded missing, witch do not update for local's already pulled image
#1877
#1921
:white_check_mark:

Fix:point_right:: Upgrade to 4.1.4-rc1 and above!

Summary
Description
Cause
Issue
PR
Status

Simplest way to set custom parameters
When one want to add custom kubeadm init parameters, must create an Clusterfile, and put it into Clusterfile
Add Clusterfile into image to run as default Clusterfile
#1459
#1591
:white_check_mark:

How to use sealos build-in private registry

docs/design/private-registry
#1412

:white_check_mark:

ClusterImage ingress-nginx pod keeps pending

clusterfile nodeselector error
#1405

:white_check_mark:

Merge ClusterImage using env
One can set env vars pass to ClusterImage to override tepmlates
#1724
#1480,#1733

:white_check_mark:

kuboard install fail

Use kuboard with tested kubernetes version
#1909,eip-work/kuboard-press#328

:white_check_mark:

No matches for kind PodSecurityPolicy
Install kubernetes:v1.25 with calico
When install k8s v1.25, using labring/calico:v3.24.1
#1775

:white_check_mark:

sealos can't load docker image

It's sealos's design, witch deal with ClusterImage: build-example-cloudimage/中文
#1655

:white_check_mark:

Before contributing to docs, please check out docs contributing guide.

Before contributing to docs, please check out docs contributing guide.

https://github.com/labring/sealos/issues/1909
https://github.com/labring/sealos/issues/1451

https://github.com/labring/sealos/issues/1961
https://github.com/labring/sealos/issues/1929
https://github.com/labring/sealos/issues/1877
https://github.com/labring/sealos/issues/1866
https://github.com/labring/sealos/issues/1807
https://github.com/labring/sealos/issues/1783
https://github.com/labring/sealos/issues/1775
https://github.com/labring/sealos/issues/1755
https://github.com/labring/cluster-image/tree/main/applications/cilium/v1.12.1
https://github.com/labring/sealos/issues/1724
https://github.com/labring/sealos/issues/1655
https://github.com/labring/sealos/issues/1619
https://github.com/labring/sealos/pull/1591
https://github.com/labring/sealos/issues/1276
https://github.com/labring/sealos/issues/1567

https://github.com/labring/sealos/issues/2008#issuecomment-1305269715

https://github.com/labring/sealos/issues/2757

https://github.com/labring/sealos/issues/2370

Hello, may I ask what kind of work is required for this problem?


feat: export type CustomPlugin and PluginConfig

This PR adds export type CustomPlugin and PluginConfig.
Which makes it easier to secondary development.

LGTM! Thank you for opening the PR!


Hook up Internet Archive harvester to AWS Goobi

Test:
a) IA to AWS Goobi on-premises Goobi at the same time
OR
b) IA to AWS Goobi and replay to IA on premise Goobi, manual/automatic

Ask Intranda how the harvester will work in Cloud Goobi.


Harmony Activities not showing up

I had to make some modifications to my system. Now under Harmony Activities and Device, nothing is showing up on there. How can I troubleshoot this issue?

Check your error logs, I think we have gone through debugging with you before....

@dannieboiz
Is this still a problem for you?

I updated the app and it got resolved

Good to hear, closing...resolved.


Potential Regex Denial of Service (ReDoS) in ctx_mp

Type of Issue
Potential Regex Denial of Service (ReDoS)
Description
The vulnerable regular expression is located in
https://github.com/fredrik-johansson/mpmath/blob/6a675bf08ef285e8b8ec956bcfd03a425b2b6ded/mpmath/ctx_mp.py#L43
https://github.com/fredrik-johansson/mpmath/blob/6a675bf08ef285e8b8ec956bcfd03a425b2b6ded/mpmath/ctx_mp.py#L44
The ReDOS vulnerability of the regex is mainly due to the sub-pattern \d*\.?\d* with quantified overlapping adjacency and can be exploited with the following string
"(" + "1" * 5000 + "!"
I think you can limit the input length or modify the regex.
I suggest you can repalce the sub-pattern \d*\.?\d* with \d*(\.\d*)?

I cannot reproduce this issue. mpmathify("(" + "1" * 5000 + "j)" or mpmathify("(" + "1" * 5000 + "!") return instantly. Maybe I'm not triggering the vulnerable code path?

I can reproduce this issue: mpmathify("(" + "1" * 5000 + "!j") hangs.
I just wanted to say that you can use this  code to reproduce:
mpmathify("(" + "1" * 5000 + "j!")

Sorry, I realized and edited my reply immediately after posting.

This issue has been assigned CVE-2021-29063.

It looks like this was resolved in April 2021, why is the last release from Feburary 2021? Shouldn't a new version be released that fixes this CVE?

Please reopen this issue.
Running https://pypi.org/project/safety currently outputs...
 +==============================================================================+
 VULNERABILITIES FOUND
+==============================================================================+

-> Vulnerability found in mpmath version 1.2.1
   Vulnerability ID: 51549
   Affected spec: >=1.0.0,<=1.2.1
   ADVISORY: Mpmath v1.0.0 through v1.2.1 is affected by CVE-2021-29063:
   Regular Expression Denial of Service (ReDOS) vulnerability when the...
   CVE-2021-29063
   For more information, please visit https://pyup.io/v/51549/f17

@fredrik-johansson could you please build a new version of mpmath? You pushed the fix almost two years ago but the latest release still does not contain the fix.


Reproducible development environment

Consider dependencies and requirements for the various services:

raster server: python + terracotta, access to TIFFs and build sqlite db
vector server: node + tileserver-gl-lite, access to mbtiles
frontend dev server: node + react etc, access to src, proxy to other endpoints
backend API server: python, pipenv, connect to database
database

Separately, snakemake workflow processes tiffs for terracotta and vector data into database then into vector tiles. Current way to run snakemake is to change to backend directory, run pipenv shell to pick up dependencies and database connection environment variables, then change over to etl and run snakemake commands.
Goal: improve ease and reproducibility of initial setup and everyday spinning up for development. See initial sketch with docker-compose for backend API and database. Current state is to open four terminals/tmux screens and run:

npm start
npm run raster
npm run vector
pipenv run uvicorn backend.app.main:app --host localhost --port 8888 (with database connection details in .env)

Will be closed by feature/containerise-global which builds on feature/containerise


File paths in tsconfig exclude are not respected in NTVS build

TypeScript Version:
1.8.2
Code
foo.ts
var foo: number = "s";

tsconfig.json
{
    "compilerOptions": {
        "module": "commonjs",
        "target": "es5"
    },
    "exclude": [
        "foo.ts"
    ]
}

Expected behavior:
In an NTVS typescript console application using the above tsconfig.json, and a file foo.ts containing an error, the build and run initiated by Visual Studio should succeed because the file containing the error is excluded.
Actual behavior:
The build fails with an error in foo.ts. Compiling from command line, the build succeeds. Also, if foo.ts is put inside a folder, and the folder is listed in the exclude array, the VS build succeeds.
This is currently breaking projects using the typings tool, because it generates two sets of type definitions, and the other set cannot be excluded.

What version of Visual Studio (2013 / 2015?) are you using?

VS 2015 Pro. Happens with the non-NTVS "HTML Application with Typescript" project as well. I also have TS Tools 1.7.6 installed. If you can't reproduce, I'll try reinstalling some stuff.

Can you give TS 1.8 (https://blogs.msdn.microsoft.com/typescript/2016/02/22/announcing-typescript-1-8-2) a try. tsconfig.json should be supported as the main source of configuration, which was not the case in 1.7.*

Sorry, I have 1.8 installed, but I also have the older version installed. I'll try uninstalling all versions and only installing the newest one.

Removed all TS Tools versions, reinstalled only 1.8.4, the issue remains. Also tested on another machine, same problem.

can you share your build log?

Here's the log (from the output window): http://pastebin.com/iwVEEkS3
Looks like I get the same error if I run the build command from the log on command prompt, that is:
"C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.8\tsc.exe" --project "C:\dev\test5\tsconfig.json"
However, running without the --project switch, the build completes successfully (and the tsconfig used is the same).

Ok. thanks for the information. i think i have found the issue. some background, tsc.exe is just a wrapper around tsc.js with ChakraCore. The IO operations has a diffrent implementation for tsc.exe and node tsc.js.
Looks like the readDirectory logic in tsc.exe implementation did not exclude files, only directories. i have queued up a fix for it, and should be in the next nightly nugget release: https://www.myget.org/gallery/typescript-preview (see https://github.com/Microsoft/TypeScript/wiki/Nightly-drops#using-nuget-with-msbuild for more information).

FYI, the nightly compiler from NuGet did fix the issue.

thanks @BigDataSamuli!

@mhegazy is this fix out for v1.8.7? I notice it has milestones 1.8.5 and 2.0. I'm running into the same issue using 1.8.7 but before I do more investigation I want to make sure this isn't my problem.

1.8.5 is the same as 1.8.7 (we had an issue with the npm publishing that caused us to publish the same package under different version see https://github.com/Microsoft/TypeScript/issues/7330 ). sorry about the confusion.
There is a note about this in the release notes for 1.8.5: https://github.com/Microsoft/TypeScript/releases/tag/v1.8.7

Oh okay, that makes sense then.
Unfortunately, I'm still seeing the issue. I'll have to do some more research then, thanks for your help.

@jevenson this looks like a different issue then. can you file a new issue and provide some more details on what is going on, and how to reproduce it.

Yeah I definitely will, I need to confirm that it's not my code first. I'll do some more research and report back, creating a new issue if I cannot find a solution.

Looks to be my fault
https://github.com/TypeStrong/atom-typescript/blob/master/docs/tsconfig.md#exclude

NOTE: exclude should not be used when files or filesGlob are in use. The presence of the files property takes presedence over the exclude property.

I have filesGlob & exclude in my tsconfig

this bug returned on version 1.8.9. I see exactly same duplicate errors which had disappeared on version 1.8.7

This bug also appears to be ignoring node_modules in 1.8.10 even though it is specified in the tsconfig file.

The latest available version 1.8.10 still ignores the tsconfig.json
{    "exclude": [
"node_modules",
"wwwroot"
]
}
I have modules with test directories and .ts code, VS compiles, taking a very long time and ending with failures.
What's the next way to go to solve these long existing problem?
An update on this problem would be nice.

I am struggling with this as well. Anyone figured out a solution?

When you open up command prompt and do tsc -v what version comes up? You might need to change/update your PATH to use the latest version.

Hi Mark, it says I am using version <IP_ADDRESS>

There you go it should be at least 1.7.5 and such, your compiler is on Typescript version 1!

Been searching around how to change the path? Can you instruct me on this or point me to some instructions? Thank you Mark.

Go to start, search programs & files bar at hte bottom.
Type environment variables click on System Environment variables.
Click on Environmental variables button near the bottom.
There are 2 sections, User variables & systme ones (down below)
Find PATH in that lower section, click on PATH, then click Edit.
Copy & paste that long long string into notepad of some sort. Look for <IP_ADDRESS> in it, update it to the highest version of TS you have. Most likely the tsc will be 1.8 unless you're using TS2@beta.
Your TS compilers can be found: C:\Program Files (x86)\Microsoft SDKs\TypeScript\
That should do it. @jamesond

Awesome thanks Mark! Any idea why VS wont' update to the latest automatically?

That is a good question, well it bases what things to use based on the PATH variable. When updating your global TS npm i -g typescript it doesn't automatically do that, so I guess that's why :(
It's a pain I know, took me quite a while to even figure all of that out!

Yea for sure! Well thank you very much for the info!

Hey  @FritzHerbers  @MarkPieszak I am still getting the duplicate identifier errors with 1.8.34 just like @FritzHerbers .

Strange, I don't have a tsc.exe in my PATH. But build takes C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.8\tsc.exe. From where is it called?
To overcome the problem I created a console app tsc.exe and replaced the above file, which does a simple exit 0.
Today I tried "npm i -g typescript" which installs a tsc.cmd pointing to a 1.8.10 version, why isn't the latest 1.8.34 ?

tsc is the compiler itself, I believe that's why the # can be different.
Many programs VSStudio etc, will use this tsc to compile your code that's why it's needed there.

I have a similar situation. Here's how my project is set up:

I don't have a global installation of TypeScript on my machine
I have two NuGet packages installed on my project:
** Microsoft.TypeScript.Compiler 1.8.11
** Microsoft.TypeScript.MSBuild 1.8.11
chrome type definitions are installed from typings
External dependencies are installed from npm
This is my tsconfig.json:
{   "exclude": [   	"node_modules",   	"typings"   ],   "compilerOptions": {       "target": "ES5"   } }

I turned on MSBuild verbose logging and in the build log I see the following which is what I expect:
1>TscToolExe = tsc.exe 1>TscToolPath = C:\dev\ChromeExtension\chromeext\packages\Microsoft.TypeScript.MSBuild.1.8.11\tools\tsc\
Now here's the weird part: if I do a clean build, then I get all the "Duplicate identifier" errors, which means that the folder wasn't excluded. But if I build again (just build, not rebuild), then the build succeeds.
I tried upgrading to 2.0.3 and the project still doesn't build. However, it seems that with 2.0.3 building twice doesn't work either...

Looks like tsc 2.0.3 is broken here as well.  I'm trying to get angular2 aot working and tsc insists on building the *ngfactory.ts files in the aot directory in spite of what I put in excludes.  The exludes  section:
"exclude": [
"./aot",
"aot",
"aot/app",
"./aot/app",
"*ngfactory.ts",
"node_modules",
"jspm_packages",
"wwwroot",
"wwwroot/lib",
"bin"
]
The strange thing is that wwwroot, and node_modules work just fine, tsc ignores them, but it can't ignore aot for some reason.


Format Document changes the cursor position.

I have set it to format the document when ever I save the file. And I save the file constantly, sometimes just to format the document and other times out of muscle memory for no good reason. So It's annoying that it takes away the cursor from where I'm at each time it happens.

@EliasCK I'm guessing you're using the C# extension. If so, pls file the issue here: https://github.com/OmniSharp/omnisharp-vscode/issues. If not, pls file against the extension you're using for formatting.


Bug: Storing from data into a score without a scale is impossible

Example
In this example, I want to get the length of a list.
from bolt_expressions import Scoreboard, Data

function ./main:
  score = Scoreboard.objective("some_objective")
  data = Data.storage("some_storage")

  data.some_list = [1, 2, 3, 4, 5]

  score["list_length"] = data.some_list

Generated code:
data modify storage some_storage some_list set value [1, 2, 3, 4, 5]
execute store result score list_length some_objective run data get storage some_storage some_list 1 # <-- This 1 is problematic!

Expected outcome
I expect the score list_length some_objective to be 5.
Actual outcome
The list_length some_objective is 0.
Proposed fix
This bug occurs because the data has a default scale of 1. But the list length is only stored in the score if there is NO scale.
I propose being able to use None as a scale. I realize this is not a trivial fix because if storing a score into data, the scale is required. So we need to make None equal to something (probably 1) if it is used there.

Actually, I think None makes sense here. but we were thinking of supporting like len(data.some_list) instead of just directly =.


Delphi handling

detect Delphi
tag Delphi strings
parse Delphi structures?
extract Delphi/Pascal strings

I have written an idc script to scan and parse string types in a Delphi binary. Hope it can be of help to you.
Parse Delphi structs is a bit complicated because Delphi's RTTI structs vary greatly with each version of Delphi.
It's on my todo list, an idapython plugin for parsing RTTI Delphi structs


Pass PAT token and authentication type for TFS images. Fixes #10

fixes #10

Simple enough; thanks!

Building updated images; will report back when the Docker Hub repository has been updated.

The Docker Hub images have been updated.

@stepro  Great, thanks.


feat: synced time displays

This is a work-in-progress PR to sync the ticking of various timers in the UI.

From discussing with Krzysztof: We may need to implement the options tickResolution and dataResolution to allow us to have an even lower resolution tick of 1s, while still subscribing to high resolution timing data in some cases.

Codecov Report

Merging #80 (107388b) into mirror/release37 (7701e1b) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head 107388b differs from pull request most recent head 7a9417f. Consider uploading reports for the commit 7a9417f to get more accurate results

@@                Coverage Diff                @@
##           mirror/release37      #80   +/-   ##
=================================================
  Coverage             82.35%   82.35%
=================================================
  Files                    12       12
  Lines                  1009     1009
  Branches                196      196
=================================================
  Hits                    831      831
  Misses                  177      177
  Partials                  1        1

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 7701e1b...7a9417f. Read the comment docs.


Bugfixes configurable workflow 6 x

Description
Fixes two bugs in the configurable workflow: creating tasks for the wrong EPerson when selectrevieweraction is used and remove old task for the same EPerson if multiple  are defined in one workflow step.
Instructions for Reviewers

Creating task for the wrong EPerson
When using the selectrevieweraction in a step of the configurable workflow, a new task for the selected EPerson is created in org.dspace.xmlworkflow.state.actions.userassignment.AutoAssignAction.createTaskForEPerson(). The task was created for the current user, not the user selected (and given to createTaskForEPerson()).
--> commit "Bugfix: Creating task for wrong EPerson."

Removing old tasks
When using multiple  tags in on step of the configurable workflow, the previous task is not removed before starting the new action. This results in an exception thrown by uniqueResult(criteria) in org.dspace.xmlworkflow.storedcomponents.dao.impl.ClaimedTaskDAOImpl.findByWorkflowItemAndEPerson().
--> commit: "Bugfix: Remove old task."

DSpace 7
The same bugs seem to be present in DSpace 7. I will open a pull request for that version after this one is completed and closed.

@jschultze : Could you create the PR for DSpace 7 please?  Most of our dev team is actively working on 7.0, so it's more likely to get this fix immediately reviewed by the DSpace 7 team & then treat this PR as a "backport" (which is easier then to immediately accept into 6.x, if fully approved for 7.x).  Thanks!

This PR should be recreated on main for 7.x.  The changes are likely the same, just may need to ensure it aligns with new Code Styles on main. https://wiki.lyrasis.org/display/DSPACE/Code+Style+Guide


MailTest.receiveSecured fails on Camel 4/Quarkus 3

fixes https://github.com/apache/camel-quarkus/issues/4493
(Missing configuration of greenmail docker was missing, see Greenmail issue.)
I'm not able to run native tests locally on 'camel-4' branch. Though the fix changes configuration of testcontainers, it should work on native as well. CI job should confirm it.
Should native test work on 'camel-4' @ppalaga ?
I see
Caused by: com.oracle.graal.pointsto.constraints.UnresolvedElementException: Discovered unresolved type during parsing: org.apache.camel.quarkus.core.CamelRecorder. This error is reported at image build time because class io.quarkus.deployment.steps.CamelRegistryProcessor$registry1441653894 is registered for linking at image build time by command line

(I checked several random tests for extensions (file, main, ...) and all of them failed similarly. So I expect some local problems...)

Cherry-picked to https://github.com/apache/camel-quarkus/pull/4504


Add quorum commands to CLI

Add quorum/HA related commands as part of https://github.com/Alluxio/alluxio/issues/17522

alluxio-bot, merge this please

@Xenorith Would you like to add a golang version ratis-shell into apache/ratis repository?

@Xenorith Would you like to add a golang version ratis-shell into apache/ratis repository?

@maobaolong  i took a very quick glance and i didn't see as strong of a need for a golang version of the shell, but i'm open to hearing more about the pains that could be solved. i can provide a similar framework and template at the very least


Training weight file issue.

Using your training code to train, the resulting weight file is 3.5GB, but the weight file provided by you is only 45MB. How can this issue be resolved? Additionally, after printing the weight file information, it appears that the necessary keys for 'load_ip_adapter', namely 'iamge_proj' and 'ip_adapter', are missing. Can you please explain this situation?

@xuliangdong1999 you can refer to this https://github.com/tencent-ailab/IP-Adapter/issues/17#issuecomment-1696961596

Thanks！


Use all the Draft 4 components in schema validator

This fixes a bug causing relative references in metaschemas to be resolved incorrectly (for example, the reference #/definitions/schemaArray was being resolved to http://json-schema.org/draft-04/schema#/definitions/schemaArray instead of the the host document).  The problem turned out to be that we have been using some Draft 7 components when building up our schema validator.

Resolves #976


Swift crash at setting image

Hello,
When I want to set my Image for the tesseract object it crashes. Code:
var tesseract:Tesseract = Tesseract(language: "deu")
tesseract.delegate = self;
tesseract.setVariableValue("01234567890", forKey: "tessedit_char_whitelist");
tesseract.image = theImage;
tesseract.recognize();

NSLog("%@", tesseract.recognizedText);

Error:
EXC_BAD_ACCESS
BSXPCMessage received error for message: Connection interrupted
I think that is because in the Obj-C samples you call g8_blackAndWhite on the images. The problem is this function is not available for swift.

Hmm I found blackAndWhite, but that still does not work.

I don't believe that's the issue, because you can set tesseract.image to be any image, not just one that has been adjusted via g8_blackAndWhite.
If this code is from the same OCR_TEST project you sent me before, does that mean the image you are trying to set is something you've captured from the camera? What happens if you add a test image to your app and try using it instead of an image captured from the camera?

Its using the camera photo but it just started working.

Ok when I do not use the blackAndWhite image it crashes with the error above.

grayscale works too, and the test images do not crash when not using grayscale or blackAndWhite

When I use a saturation filter and bring down the saturation to 0 it does not need grayscale or blackAndWhite. Maybe It crashes when there are colors?

Tesseract performs best (and really expects) images that are crisp black text on a pure white background (see this article from our Wiki: https://github.com/gali8/Tesseract-OCR-iOS/wiki/Tips-for-Improving-OCR-Results).
But I don't think it should crash on an image that has colors like that. In order for me to best help you debug this issue, can you save an image that causes Tesseract to crash and share it with me? Otherwise I won't be able to reproduce your issue to debug it.

If I dont use the saturation filter, grayScale or blackAndWhite it crashes

I used the OCR_TEST project you emailed me as a starting point to try to reproduce this issue.
I modified the viewDidLoad function in ViewController.swift to be:
override func viewDidLoad() {
        super.viewDidLoad()

        let theImage = UIImage(named: "test.png")
        println("Image = \(theImage)")
        var tesseract:Tesseract = Tesseract(language: "deu");
        tesseract.delegate = self;
        tesseract.setVariableValue("01234567890", forKey: "tessedit_char_whitelist");
        tesseract.image = theImage;
        tesseract.recognize();

        let recognizedText = tesseract.recognizedText

        println("Recognized: \(recognizedText)")
    }

I also imported the image you attached above as "test.png".
When I run the app in the iPhone 6 simulator, it does not crash, and the following is printed to the console:
Image = Optional(<UIImage: 0x7fcbd0e2bd30>)
Recognized:

So it seems like no text is being recognized (understandable since it's not a very good image for Tesseract to be able to recognize easily), but at least it doesn't crash.
Can you try reproducing what I just described here and see if it works for you? If it does work for you, can you double check your code, maybe set some break points, and see exactly where your app is crashing? Maybe it's not related to Tesseract exactly. The error you quoted (EXC_BAD_ACCESS) is usually related to improper memory management, so maybe it's an issue with how you're passing the image data to Tesseract from the camera?

@DJLectr0, I think you should better take a look on here:
https://github.com/gali8/Tesseract-OCR-iOS/issues/130
I think, the reason of a crach is in the wrong imageOrientation.
Pls, confirm, that you didn't rotate image changing UIImage imageOrientation property. Instead for now you should do it by redrawing an image pixel by pixel. We are working on the same code nowadays, but it still is not ready. Refer to the link above for more details.

@ws233 You were right, there was not set an orientation for the image. Thank you

i also crashed,at [tesseract recognize];with EXC_BAD_ACCESS


feat: add target to challenges

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 2 committers have signed the CLA.:x: beltram:x: stefanwireYou have signed the CLA already but the status is still pending? Let us recheck it.


[FEAT] Boolean to disable page scrolling

Is your feature request related to a problem? Please describe.
I'm using navigationview while working with the pager and when I'm using a navigation I can scroll past it and I don't want it to.
Describe the solution you'd like
A boolean binding variable that I can switch back and forth.
Additional context
I modified a version of this and it can be done but I would like it on the official package that way I don't have to use an outdated package. I can create a fork of my proposed solution.

Hi @luisliz , have you tried using allowsDragging modifier?
Also, when combining gestures (or views that are touchable, like NavigationLink) you might be interested in pagingPriority(.simultaneous).

Oh, that's exactly what I wanted! I was thinking of something with the disabled boolean.
Thank you very much for the help and for the plugin. I love it!

Thanks for the kind words.
I’m closing this issue then. Feel free to open a new issue if you find any issue


[git_add] The lane action don't work!

Question Checklist

[X] Updated fastlane to the latest version
[X] I read the Contribution Guidelines
[X] I read docs.fastlane.tools
[X] I searched for existing GitHub issues

Question Subject

The lane action git_add don't work
Question Description

After upload ipa,I used git_add git_commit to save code. then output git_add failed!
Here is lane
altool(
        altool_username: ENV[“username”],
        altool_password: ENV[“password”],
        altool_app_type: "ios",
        altool_ipa_path: IPAPath,
        altool_output_format: "xml"
)

Dir.chdir(projectRootDir)
puts ‘the directory is ' + Dir.pwd
sh("ls")
git_add path: ".", shell_escape: false
git_commit(path: ["*.plist", "*.pbxproj"], message: "Update version")
tagName =  "#{scheme}_" + version
add_git_tag tag: tagName
git_pull
push_to_git_remote

Here is outPut
17:48:29 [17:48:29]: ---------------------
17:48:29 [17:48:29]: --- Step: git_add ---
17:48:29 [17:48:29]: ---------------------
17:48:29 +------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
17:48:29 |                                                                                Lane Context                                                                                |
17:48:29 +------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
17:48:29 | DEFAULT_PLATFORM                   | ios                                                                                |
17:48:29 | ENVIRONMENT                        | jenkins                                                                                |
17:48:29 | PLATFORM_NAME                      | ios                                                                                |
17:48:29 | LANE_NAME                          | ios test                                                                                |
17:48:29 | BUILD_NUMBER                       | 14                                                                                |
17:48:29 | VERSION_NUMBER                     | 4.0.9                                                                                |
17:48:29 | SIGH_PROFILE_TYPE                  | development                                                                                |
17:48:29 | MATCH_PROVISIONING_PROFILE_MAPPING | {"com.xxx”=>"match Development com.xxx”, "com.xxx”=>"match Development com.xxx”, "com.xxx”=>"match Development com.xxx”} |
17:48:29 | IPA_OUTPUT_PATH                    | /Users/xxx/.jenkins/workspace/xxx/test/<IP_ADDRESS>/xxx.ipa                                                                                |
17:48:29 | DSYM_OUTPUT_PATH                   | /Users/name/.jenkins/workspace/Package/test/<IP_ADDRESS>/xxx.app.dSYM.zip                                                                                |
17:48:29 | XCODEBUILD_ARCHIVE                 | ./xxx/test/<IP_ADDRESS>/<IP_ADDRESS>.xcarchive                                                                                |
17:48:29 +------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
17:48:29 [17:48:29]: Shell command exited with exit status 128 instead of 0.
17:48:29
17:48:29 +------+--------------------------+-------------+
17:48:29 |               fastlane summary                |
17:48:29 +------+--------------------------+-------------+
17:48:29 | Step | Action                   | Time (in s) |
17:48:29 +------+--------------------------+-------------+
17:48:29 | 1    | default_platform         | 0           |
17:48:29 | 2    | Switch to ios build lane | 0           |
17:48:29 | 3    | increment_build_number   | 0           |
17:48:29 | 4    | get_version_number       | 0           |
17:48:29 | 5    | get_build_number         | 0           |
17:48:29 | 6    | match                    | 287         |
17:48:29 | 7    | build_app                | 284         |
17:48:29 | 8    | altool                | 190         |
17:48:29 | 9    | ls                       | 0           |
17:48:29 | 💥   | git_add                  | 0           |
17:48:29 +------+--------------------------+-------------+
17:48:29
17:48:29 [17:48:29]: fastlane finished with errors
17:48:29
17:48:29 Looking for related GitHub issues on fastlane/fastlane...
17:48:29
17:48:31 ➡  Adds more options to the `slack` command
17:48:31     https://github.com/fastlane/fastlane/pull/128 [closed] 3 💬
17:48:31     04 Feb 2017
17:48:31
17:48:31 ➡  Supply isn't working on CI with Google auth .p12 files
17:48:31     https://github.com/fastlane/fastlane/issues/14128 [closed] 2 💬
17:48:31     3 days ago
17:48:31
17:48:31 ➡  Shell command exited with exit status 1 instead of 0. with crashlytics
17:48:31     https://github.com/fastlane/fastlane/issues/4347 [closed] 15 💬
17:48:31     06 Dec 2016
17:48:31
17:48:31 and 8 more at: https://github.com/fastlane/fastlane/search?q=Shell%20command%20exited%20with%20exit%20status%20128%20instead%20of%200.&type=Issues&utf8=✓
17:48:31
17:48:31 🔗  You can ⌘ + double-click on links to open them directly in your browser.
17:48:31 /Users/macpro/.rvm/gems/ruby-2.5.3/gems/fastlane-2.121.1/fastlane_core/lib/fastlane_core/ui/interface.rb:153:in `shell_error!': [!] Shell command exited with exit status 128 instead of 0. (FastlaneCore::Interface::FastlaneShellError)
17:48:31 	from /Users/macpro/.rvm/gems/ruby-2.5.3/gems/fastlane-2.121.1/fastlane_core/lib/fastlane_core/ui/ui.rb:17:in `method_missing'
17:48:31 	from /Users/macpro/.rvm/gems/ruby-2.5.3/gems/fastlane-2.121.1/fastlane/lib/fastlane/helper/sh_helper.rb:80:in `sh_control_output'
17:48:31 	from /Users/macpro/.rvm/gems/ruby-2.5.3/gems/fastlane-2.121.1/fastlane/lib/fastlane/helper/sh_helper.rb:12:in `sh'
17:48:31 	from /Users/macpro/.rvm/gems/ruby-2.5.3/gems/fastlane-2.121.1/fastlane/lib/fastlane/actions/git_add.rb:24:in `run'
17:48:31 	from /Users/macpro/.rvm/gems/ruby-2.5.3/gems/fastlane-2.121.1/fastlane/lib/fastlane/runner.rb:256:in `block (2 levels) in execute_action'
17:48:31 	from /Users/macpro/.rvm/gems/ruby-2.5.3/gems/fastlane-2.121.1/fastlane/lib/fastlane/actions/actions_helper.rb:50:in `execute_action'
17:48:31 	from /Users/macpro/.rvm/gems/ruby-2.5.3/gems/fastlane-2.121.1/fastlane/lib/fastlane/runner.rb:235:in `block in execute_action'
17:48:31 	from /Users/macpro/.rvm/gems/ruby-2.5.3/gems/fastlane-2.121.1/fastlane/lib/fastlane/runner.rb:227:in `chdir'
17:48:31 	from /Users/macpro/.rvm/gems/ruby-2.5.3/gems/fastlane-2.121.1/fastlane/lib/fastlane/runner.rb:227:in `execute_action'
17:48:31 	from /Users/macpro/.rvm/gems/ruby-2.5.3/gems/fastlane-2.121.1/fastlane/lib/fastlane/runner.rb:157:in `trigger_action_by_name'
17:48:31 	from /Users/macpro/.rvm/gems/ruby-2.5.3/gems/fastlane-2.121.1/fastlane/lib/fastlane/fast_file.rb:154:in `method_missing'
17:48:31 	from Fastfile:252:in `block (3 levels) in parsing_binding'
17:48:31 	from Fastfile:248:in `chdir'
17:48:31 	from Fastfile:248:in `block (2 levels) in parsing_binding'
17:48:31 	from /Users/macpro/.rvm/gems/ruby-2.5.3/gems/fastlane-2.121.1/fastlane/lib/fastlane/lane.rb:33:in `call'
17:48:31 	from /Users/macpro/.rvm/gems/ruby-2.5.3/gems/fastlane-2.121.1/fastlane/lib/fastlane/runner.rb:204:in `try_switch_to_lane'
17:48:31 	from /Users/macpro/.rvm/gems/ruby-2.5.3/gems/fastlane-2.121.1/fastlane/lib/fastlane/runner.rb:146:in `trigger_action_by_name'
17:48:31 	from /Users/macpro/.rvm/gems/ruby-2.5.3/gems/fastlane-2.121.1/fastlane/lib/fastlane/fast_file.rb:154:in `method_missing'
17:48:31 	from Fastfile:65:in `block (2 levels) in parsing_binding'
17:48:31 	from /Users/macpro/.rvm/gems/ruby-2.5.3/gems/fastlane-2.121.1/fastlane/lib/fastlane/lane.rb:33:in `call'
17:48:31 	from /Users/macpro/.rvm/gems/ruby-2.5.3/gems/fastlane-2.121.1/fastlane/lib/fastlane/runner.rb:49:in `block in execute'
17:48:31 	from /Users/macpro/.rvm/gems/ruby-2.5.3/gems/fastlane-2.121.1/fastlane/lib/fastlane/runner.rb:45:in `chdir'
17:48:31 	from /Users/macpro/.rvm/gems/ruby-2.5.3/gems/fastlane-2.121.1/fastlane/lib/fastlane/runner.rb:45:in `execute'
17:48:31 	from /Users/macpro/.rvm/gems/ruby-2.5.3/gems/fastlane-2.121.1/fastlane/lib/fastlane/lane_manager.rb:56:in `cruise_lane'
17:48:31 	from /Users/macpro/.rvm/gems/ruby-2.5.3/gems/fastlane-2.121.1/fastlane/lib/fastlane/command_line_handler.rb:36:in `handle'
17:48:31 	from /Users/macpro/.rvm/gems/ruby-2.5.3/gems/fastlane-2.121.1/fastlane/lib/fastlane/commands_generator.rb:108:in `block (2 levels) in run'
17:48:31 	from /Users/macpro/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/commander-fastlane-4.4.6/lib/commander/command.rb:178:in `call'
17:48:31 	from /Users/macpro/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/commander-fastlane-4.4.6/lib/commander/command.rb:153:in `run'
17:48:31 	from /Users/macpro/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/commander-fastlane-4.4.6/lib/commander/runner.rb:476:in `run_active_command'
17:48:31 	from /Users/macpro/.rvm/gems/ruby-2.5.3/gems/fastlane-2.121.1/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:76:in `run!'
17:48:31 	from /Users/macpro/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/commander-fastlane-4.4.6/lib/commander/delegates.rb:15:in `run!'
17:48:31 	from /Users/macpro/.rvm/gems/ruby-2.5.3/gems/fastlane-2.121.1/fastlane/lib/fastlane/commands_generator.rb:333:in `run'
17:48:31 	from /Users/macpro/.rvm/gems/ruby-2.5.3/gems/fastlane-2.121.1/fastlane/lib/fastlane/commands_generator.rb:41:in `start'
17:48:31 	from /Users/macpro/.rvm/gems/ruby-2.5.3/gems/fastlane-2.121.1/fastlane/lib/fastlane/cli_tools_distributor.rb:119:in `take_off'
17:48:31 	from /Users/macpro/.rvm/gems/ruby-2.5.3/gems/fastlane-2.121.1/bin/fastlane:23:in `<top (required)>'
17:48:31 	from /Users/macpro/.rvm/gems/ruby-2.5.3/bin/fastlane:23:in `load'
17:48:31 	from /Users/macpro/.rvm/gems/ruby-2.5.3/bin/fastlane:23:in `<main>'
17:48:31 	from /Users/macpro/.rvm/gems/ruby-2.5.3/bin/ruby_executable_hooks:24:in `eval'
17:48:31 	from /Users/macpro/.rvm/gems/ruby-2.5.3/bin/ruby_executable_hooks:24:in `<main>'

Can you please post the complete output of the command your are running, not just a snippet?
Could you please also add your fastlane env output to your issue?

The output is too long to show the whole of the log
✅ major output ✅
17:39:01 [17:39:01]: Successfully exported and compressed dSYM file
17:39:01 [17:39:01]: Successfully exported and signed the ipa file:
17:39:01 [17:39:01]: /Users/macpro/.jenkins/workspace/appName/appNamePackage/pro/<IP_ADDRESS>/appName.ipa
17:39:01 [17:39:01]: /Users/macpro/.jenkins/workspace/appName/fastlane
17:39:01 [17:39:01]: uploading to Test Flight
17:39:01 [17:39:01]: --------------------
17:39:01 [17:39:01]: --- Step: altool ---
17:39:01 [17:39:01]: --------------------
17:39:01 [17:39:01]:  ----altool binary exists on your machine-----
17:39:01 [17:39:01]: ========Validating and Uploading your ipa file to iTunes Connect=========
17:39:01 [17:39:01]: $ /Applications/Xcode.app/Contents/Applications/Application\ Loader.app/Contents/Frameworks/ITunesSoftwareService.framework/Support/altool --upload-app -t ios -f "./appName/pro/<IP_ADDRESS>/appName.ipa" -u<EMAIL_ADDRESS>-p @env:ALTOOL_PASSWORD --output-format xml
17:43:41 [17:43:41]: ▸ <?xml version="1.0" encoding="UTF-8"?>
17:43:41 [17:43:41]: ▸ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
17:43:41 [17:43:41]: ▸ <plist version="1.0">
17:43:41 [17:43:41]: ▸ <dict>
17:43:41 [17:43:41]: ▸ <key>os-version</key>
17:43:41 [17:43:41]: ▸ <string>10.14.3</string>
17:43:41 [17:43:41]: ▸ <key>success-message</key>
17:43:41 [17:43:41]: ▸ <string>No errors uploading './appNamePackage/pro/<IP_ADDRESS>/appName.ipa'</string>
17:43:41 [17:43:41]: ▸ <key>tool-path</key>
17:43:41 [17:43:41]: ▸ <string>/Applications/Xcode.app/Contents/Applications/Application Loader.app/Contents/Frameworks/ITunesSoftwareService.framework</string>
17:43:41 [17:43:41]: ▸ <key>tool-version</key>
17:43:41 [17:43:41]: ▸ <string>1.1.1138</string>
17:43:41 [17:43:41]: ▸ </dict>
17:43:41 [17:43:41]: ▸ </plist>
17:43:41 [17:43:41]: ========It maight take so long time to fully upload your IPA files=========
17:43:41 Fastfile:247: warning: conflicting chdir during another chdir block
17:43:41 [17:43:41]: 已完成打包，当前目录是 /Users/macpro/.jenkins/workspace/appName
17:43:41 [17:43:41]: ---------------------
17:43:41 [17:43:41]: --- Step: git_add ---
17:43:41 [17:43:41]: ---------------------
17:43:41 +------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
17:43:41 |                                                                                Lane Context                                                                                |
17:43:41 +------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
17:43:41 | DEFAULT_PLATFORM                   | ios                                                                                |
17:43:41 | ENVIRONMENT                        | jenkins                                                                                |
17:43:41 | PLATFORM_NAME                      | ios                                                                                |
17:43:41 | LANE_NAME                          | ios pro                                                                                |
17:43:41 | BUILD_NUMBER                       | 14                                                                                |
17:43:41 | VERSION_NUMBER                     | 4.0.9                                                                                |
17:43:41 | SIGH_PROFILE_TYPE                  | app-store                                                                                |
17:43:41 | MATCH_PROVISIONING_PROFILE_MAPPING | {"com.appName"=>"match AppStore com.appName", "com.appName"=>"match AppStore com.appName", "com.appName"=>"match AppStore com.appName"} |
17:43:41 | IPA_OUTPUT_PATH                    | /Users/macpro/.jenkins/workspace/appName/appNamePackage/pro/<IP_ADDRESS>/appName.ipa                                                                                |
17:43:41 | DSYM_OUTPUT_PATH                   | /Users/macpro/.jenkins/workspace/appName/appNamePackage/pro/<IP_ADDRESS>/appName.app.dSYM.zip                                                                                |
17:43:41 | XCODEBUILD_ARCHIVE                 | ./appNamePackage/pro/<IP_ADDRESS>/<IP_ADDRESS>.xcarchive                                                                                |
17:43:41 +------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
17:43:41 [17:43:41]: Shell command exited with exit status 128 instead of 0.
17:43:41
17:43:41 +------+--------------------------+-------------+
17:43:41 |               fastlane summary                |
17:43:41 +------+--------------------------+-------------+
17:43:41 | Step | Action                   | Time (in s) |
17:43:41 +------+--------------------------+-------------+
17:43:41 | 1    | default_platform         | 0           |
17:43:41 | 2    | Switch to ios build lane | 0           |
17:43:41 | 3    | increment_build_number   | 0           |
17:43:41 | 4    | get_version_number       | 0           |
17:43:41 | 5    | get_build_number         | 0           |
17:43:41 | 6    | match                    | 12          |
17:43:41 | 7    | build_app                | 321         |
17:43:41 | 8    | altool                   | 280         |
17:43:41 | 💥   | git_add                  | 0           |
17:43:41 +------+--------------------------+-------------+
17:43:41
17:43:41 [17:43:41]: fastlane finished with errors
17:43:41
17:43:41 Looking for related GitHub issues on fastlane/fastlane...
17:43:41
17:43:44 ➡  Adds more options to the `slack` command
17:43:44     https://github.com/fastlane/fastlane/pull/128 [closed] 3 💬
17:43:44     04 Feb 2017
17:43:44
17:43:44 ➡  Supply isn't working on CI with Google auth .p12 files
17:43:44     https://github.com/fastlane/fastlane/issues/14128 [closed] 2 💬
17:43:44     2 days ago
17:43:44
17:43:44 ➡  Shell command exited with exit status 1 instead of 0. with crashlytics
17:43:44     https://github.com/fastlane/fastlane/issues/4347 [closed] 15 💬
17:43:44     06 Dec 2016
17:43:44
17:43:44 and 8 more at: https://github.com/fastlane/fastlane/search?q=Shell%20command%20exited%20with%20exit%20status%20128%20instead%20of%200.&type=Issues&utf8=✓
17:43:44
17:43:44 🔗  You can ⌘ + double-click on links to open them directly in your browser.
17:43:48 /Users/macpro/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/fastlane-2.121.0/fastlane_core/lib/fastlane_core/ui/interface.rb:153:in `shell_error!': [!] Shell command exited with exit status 128 instead of 0. (FastlaneCore::Interface::FastlaneShellError)
17:43:48 	from /Users/macpro/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/fastlane-2.121.0/fastlane_core/lib/fastlane_core/ui/ui.rb:17:in `method_missing'
17:43:48 	from /Users/macpro/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/fastlane-2.121.0/fastlane/lib/fastlane/helper/sh_helper.rb:80:in `sh_control_output'
17:43:48 	from /Users/macpro/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/fastlane-2.121.0/fastlane/lib/fastlane/helper/sh_helper.rb:12:in `sh'
17:43:48 	from /Users/macpro/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/fastlane-2.121.0/fastlane/lib/fastlane/actions/git_add.rb:24:in `run'
17:43:48 	from /Users/macpro/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/fastlane-2.121.0/fastlane/lib/fastlane/runner.rb:256:in `block (2 levels) in execute_action'
17:43:48 	from /Users/macpro/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/fastlane-2.121.0/fastlane/lib/fastlane/actions/actions_helper.rb:50:in `execute_action'
17:43:48 	from /Users/macpro/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/fastlane-2.121.0/fastlane/lib/fastlane/runner.rb:235:in `block in execute_action'
17:43:48 	from /Users/macpro/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/fastlane-2.121.0/fastlane/lib/fastlane/runner.rb:227:in `chdir'
17:43:48 	from /Users/macpro/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/fastlane-2.121.0/fastlane/lib/fastlane/runner.rb:227:in `execute_action'
17:43:48 	from /Users/macpro/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/fastlane-2.121.0/fastlane/lib/fastlane/runner.rb:157:in `trigger_action_by_name'
17:43:48 	from /Users/macpro/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/fastlane-2.121.0/fastlane/lib/fastlane/fast_file.rb:154:in `method_missing'
17:43:48 	from Fastfile:250:in `block (2 levels) in parsing_binding'
17:43:48 	from /Users/macpro/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/fastlane-2.121.0/fastlane/lib/fastlane/lane.rb:33:in `call'
17:43:48 	from /Users/macpro/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/fastlane-2.121.0/fastlane/lib/fastlane/runner.rb:204:in `try_switch_to_lane'
17:43:48 	from /Users/macpro/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/fastlane-2.121.0/fastlane/lib/fastlane/runner.rb:146:in `trigger_action_by_name'
17:43:48 	from /Users/macpro/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/fastlane-2.121.0/fastlane/lib/fastlane/fast_file.rb:154:in `method_missing'
17:43:48 	from Fastfile:112:in `block (2 levels) in parsing_binding'
17:43:48 	from /Users/macpro/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/fastlane-2.121.0/fastlane/lib/fastlane/lane.rb:33:in `call'
17:43:48 	from /Users/macpro/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/fastlane-2.121.0/fastlane/lib/fastlane/runner.rb:49:in `block in execute'
17:43:48 	from /Users/macpro/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/fastlane-2.121.0/fastlane/lib/fastlane/runner.rb:45:in `chdir'
17:43:48 	from /Users/macpro/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/fastlane-2.121.0/fastlane/lib/fastlane/runner.rb:45:in `execute'
17:43:48 	from /Users/macpro/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/fastlane-2.121.0/fastlane/lib/fastlane/lane_manager.rb:56:in `cruise_lane'
17:43:48 	from /Users/macpro/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/fastlane-2.121.0/fastlane/lib/fastlane/command_line_handler.rb:36:in `handle'
17:43:48 	from /Users/macpro/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/fastlane-2.121.0/fastlane/lib/fastlane/commands_generator.rb:108:in `block (2 levels) in run'
17:43:48 	from /Users/macpro/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/commander-fastlane-4.4.6/lib/commander/command.rb:178:in `call'
17:43:48 	from /Users/macpro/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/commander-fastlane-4.4.6/lib/commander/command.rb:153:in `run'
17:43:48 	from /Users/macpro/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/commander-fastlane-4.4.6/lib/commander/runner.rb:476:in `run_active_command'
17:43:48 	from /Users/macpro/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/fastlane-2.121.0/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:76:in `run!'
17:43:48 	from /Users/macpro/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/commander-fastlane-4.4.6/lib/commander/delegates.rb:15:in `run!'
17:43:48 	from /Users/macpro/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/fastlane-2.121.0/fastlane/lib/fastlane/commands_generator.rb:333:in `run'
17:43:48 	from /Users/macpro/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/fastlane-2.121.0/fastlane/lib/fastlane/commands_generator.rb:41:in `start'
17:43:48 	from /Users/macpro/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/fastlane-2.121.0/fastlane/lib/fastlane/cli_tools_distributor.rb:119:in `take_off'
17:43:48 	from /Users/macpro/.rvm/gems/ruby-2.5.3@global/gems/fastlane-2.121.0/bin/fastlane:23:in `<top (required)>'
17:43:48 	from /Users/macpro/.rvm/gems/ruby-2.5.3/bin/fastlane:23:in `load'
17:43:48 	from /Users/macpro/.rvm/gems/ruby-2.5.3/bin/fastlane:23:in `<main>'
17:43:48 	from /Users/macpro/.rvm/gems/ruby-2.5.3/bin/ruby_executable_hooks:24:in `eval'
17:43:48 	from /Users/macpro/.rvm/gems/ruby-2.5.3/bin/ruby_executable_hooks:24:in `<main>'
17:43:48 Build step '执行 shell' marked build as failure
17:43:48 归档成品
17:43:49 Finished: FAILURE

✅ fastlane environment ✅
Stack

Key
Value

OS
10.14.3

Ruby
2.5.3

Bundler?
false

Git
git version 2.17.2 (Apple Git-113)

Installation Source
~/.rvm/gems/ruby-2.5.3/bin/fastlane

Host
Mac OS X 10.14.3 (18D42)

Ruby Lib Dir
~/.rvm/rubies/ruby-2.5.3/lib

OpenSSL Version
OpenSSL 1.1.1b  26 Feb 2019

Is contained
false

Is homebrew
false

Is installed via Fabric.app
false

Xcode Path
/Applications/Xcode.app/Contents/Developer/

Xcode Version
10.1

System Locale

Variable
Value

LANG
zh_CN.UTF-8
✅

LC_ALL

LANGUAGE

fastlane gems

Gem
Version
Update-Status

fastlane
2.121.1
✅ Up-To-Date

Loaded fastlane plugins:

Plugin
Version
Update-Status

fastlane-plugin-fir
0.3.0
✅ Up-To-Date

fastlane-plugin-altool
1.1.0
✅ Up-To-Date

Loaded gems

Gem
Version

did_you_mean
1.2.0

executable-hooks
1.6.0

bundler-unload
1.0.2

rubygems-bundler
1.4.5

bundler
1.16.6

slack-notifier
2.3.2

rouge
2.0.7

xcpretty
0.3.0

terminal-notifier
2.0.0

terminal-table
1.8.0

CFPropertyList
3.0.0

multipart-post
2.0.0

word_wrap
1.0.0

public_suffix
2.0.5

tty-screen
0.6.5

babosa
1.0.2

colored
1.2

highline
1.7.10

commander-fastlane
4.4.6

unf
0.1.4

domain_name
0.5.20180417

http-cookie
1.0.3

faraday-cookie_jar
0.0.6

gh_inspector
1.1.3

mini_magick
4.5.1

multi_json
1.13.1

multi_xml
0.6.0

rubyzip
1.2.2

security
0.1.3

xcpretty-travis-formatter
1.0.0

naturally
2.2.0

simctl
1.6.5

nanaimo
0.2.6

colored2
3.1.2

claide
1.0.2

atomos
0.1.3

xcodeproj
1.8.2

unicode-display_width
1.5.0

plist
3.5.0

addressable
2.6.0

tty-cursor
0.6.1

tty-spinner
0.9.0

excon
0.64.0

faraday
0.15.4

unf_ext
<IP_ADDRESS>

fastimage
2.1.5

json
2.2.0

dotenv
2.7.2

faraday_middleware
0.13.1

httpclient
2.8.3

jwt
2.1.0

signet
0.11.0

os
1.0.0

memoist
0.16.0

googleauth
0.6.7

mime-types-data
3.2019.0331

mime-types
3.2.2

retriable
3.1.2

declarative-option
0.1.0

declarative
0.0.10

uber
0.1.0

representable
3.0.4

google-api-client
0.23.9

digest-crc
0.4.1

google-cloud-env
1.0.5

google-cloud-core
1.3.0

google-cloud-storage
1.16.0

emoji_regex
1.0.1

openssl
2.1.2

date
1.0.0

fileutils
1.0.2

ipaddr
1.2.0

psych
3.0.2

fastlane-plugin-fir
0.3.0

fastlane-plugin-altool
1.1.0

generated on: 2019-04-24

I have't find something wrong with it. I'm confused with it. @janpio  Thanks!

The 17:43:41 Fastfile:247: warning: conflicting chdir during another chdir block in your output gives me pause.
Does puts ‘the directory is ' + Dir.pwd output the expected directory?
Why is the output of sh("ls") missing in your output?
Try running your lane with --verbose to maybe get more output from sh.

@janpio  outputing 17:43:41 Fastfile:247: warning: conflicting chdir during another chdir block as Dir.chdir is not thread safe. But when I fixed the warning, git_add get the failed as before.
The output of sh("ls") in the test env verified that puts ‘the directory is ' + Dir.pwd is the expected directory.


Remove quotes from  Metric Filter for AWS Organization

Issue: #553

Welcome to Steampipe @marinalimeira and thanks for raising this PR.
On similar lines do we also need to update log_metric_filter_unauthorized_api query?
    and filter.filter_pattern ~ '\$\.errorCode\s*=\s*"\*UnauthorizedOperation".+\$\.errorCode\s*=\s*"AccessDenied\*".+\$\.sourceIPAddress\s*!=\s*"delivery.logs.amazonaws.com".+\$\.eventName\s*!=\s*"HeadBucket"'

Welcome to Steampipe @marinalimeira and thanks for raising this PR.
On similar lines do we also need to update log_metric_filter_unauthorized_api query?
    and filter.filter_pattern ~ '\$\.errorCode\s*=\s*"\*UnauthorizedOperation".+\$\.errorCode\s*=\s*"AccessDenied\*".+\$\.sourceIPAddress\s*!=\s*"delivery.logs.amazonaws.com".+\$\.eventName\s*!=\s*"HeadBucket"'

I don't know what is the difference, but this query works for me:
> select filter_pattern from aws_cloudwatch_log_metric_filter where filter_pattern ~ '\$\.errorCode\s*=\s*"\*UnauthorizedOperation".+\$\.errorCode\s*=\s*"AccessDenied\*".+\$\.sourceIPAddress\s*!=\s*"delivery.logs.amazonaws.com".+\$\.eventName\s*!=\s*"HeadBucket"'
+--------------------------------------------------------------------------------------------------------------------------------------------------------------->
| filter_pattern                                                                                >
+--------------------------------------------------------------------------------------------------------------------------------------------------------------->
| { (($.errorCode = "*UnauthorizedOperation") || ($.errorCode = "AccessDenied*")) && (($.sourceIPAddress != "delivery.logs.amazonaws.com") && ($.eventName != "H>
+--------------------------------------------------------------------------------------------------------------------------------------------------------------->

Welcome to Steampipe @marinalimeira and thanks for raising this PR.

Thanks!

On similar lines do we also need to update log_metric_filter_unauthorized_api query?
    and filter.filter_pattern ~ '\$\.errorCode\s*=\s*"\*UnauthorizedOperation".+\$\.errorCode\s*=\s*"AccessDenied\*".+\$\.sourceIPAddress\s*!=\s*"delivery.logs.amazonaws.com".+\$\.eventName\s*!=\s*"HeadBucket"'

I don't know what is the difference, but this query works for me:
> select filter_pattern from aws_cloudwatch_log_metric_filter where filter_pattern ~ '\$\.errorCode\s*=\s*"\*UnauthorizedOperation".+\$\.errorCode\s*=\s*"AccessDenied\*".+\$\.sourceIPAddress\s*!=\s*"delivery.logs.amazonaws.com".+\$\.eventName\s*!=\s*"HeadBucket"'
+--------------------------------------------------------------------------------------------------------------------------------------------------------------->
| filter_pattern                                                                                >
+--------------------------------------------------------------------------------------------------------------------------------------------------------------->
| { (($.errorCode = "*UnauthorizedOperation") || ($.errorCode = "AccessDenied*")) && (($.sourceIPAddress != "delivery.logs.amazonaws.com") && ($.eventName != "H>
+--------------------------------------------------------------------------------------------------------------------------------------------------------------->

I am comparing this with the CIS AWS Benchmark pdf, there are some recommendations with quotes in the filter patterns and some don't.
The lack of pattern in CIS's own document across the value for eventName, makes it unpredictable on standardize all queries with our without quotes. e.g. the recommendation 4.4 doesn't wrap it in quotes, but the 4.15 (the one in question in this PR), does.
I don't know what's the best approach here, I will leave this to you on releasing this PR or not.
On my side, if this PR doesn't go through, I can re-deploy the filter without the quotes, in order to make the check pass.

Thank you for such a detailed insight @marinalimeira 👍.
The CIS documentation is indeed pretty confusing, however, the changes that you have made in this PR look good to me.
I will do some more testing around the metric filter queries 👍 and push your PR for the release early next week 😄.
Once again, many thanks for bringing this issue to light.

Great, thank you for reviewing it so fast!

@misraved I made another change. Given this is a regex, we can make the quotes optional. The PR now is not backwards-compatible, and this can be reproduced in the other filter_pattern later.

@marinalimeira, Thanks for the detailed discussion above.
I agree with your point above; when we developed this CIS section-4, we went through this confusion of having quotes somewhere vs not in some places. I need to learn how they test these use cases 😄.
Anyway, in my experiment, I see no difference with a quote, i.e. match a single term vs with ?, i.e. match single and multiple terms (ref). My resources with current patterns may not meet all required matches. We need some testing time to check this and get back on this issue to ensure we follow similar patterns across control 4.8 till 4.15.
Meanwhile glad that, you are unblocked with the change. Please do share more feedback, if any.