Mutants &masterminds 3e

Updates requested by the community.

This pull request also seems to contain changes to the AD&D 2E sheet that you've already included in another pull request. If you could please remove those files from this request, I could go ahead and merge this one. Thanks!

Not sure how to do that short of picking through the code by hand looking for changed lines... The readme is easy, but the html changes are a bit trickier. Is there a way to to separate this stuff when creating a new branch? It would seem I did it wrong.

Generally, to make managing multiple branches easier, it's helpful to keep a 'master' branch that you don't change, and base any new branches off of that. Does that make sense? So, you would have the master branch, the AD&D branch, and a Mutants and Masterminds branch. That way, you can keep the branches from 'contaminating' each other.
For now, if you're sure that the AD&D files are the correct, up-to-date versions that you want included, it will do no harm if they were to overwrite the files from the other pull request. I wouldn't normally want to do that since I have no easy way to compare the files in this request with the other one. Otherwise, if you aren't sure, you might just close this request, delete everything, pull down a fresh copy of the repository, and re-submit your changes.
However, if you sure all of these changes are correct I'll go ahead and just merge this one.

Ok, that makes sense. Yeah, the changes are 100% the same. I checked to be sure. (Provided Patch 2 is implemented after Patch to Fix Bugs). Sorry about the mixup. I'm still learning how to use GitHub as odd as that sounds (with my commit record). If you don't mind waiting about 10 minutes, I can go ahead and create a new fork and resubmit though, just to be sure nothing breaks.

A new pull request would be preferable, I'm not in a rush so I can come back to this when you're done.
GitHub definitely isn't very straightforward and takes a while to learn well. I use git every day and still regularly have to ask questions about how to do certain things. If you ever have any questions about how to do something or just general best practices, feel free to ask!


[Feat] Configure Network manager to ignore DHCP option 121

A new finding show that DHCP option 121 can be abused by a rogue DHCP to snoop on vpn connexion.
As such I propose to explicitly set Network manager to ignore any route pushed by the DHCP (option 121)
Disclosure I'm not sure it's actually possible so if not just close this issue
source : https://krebsonsecurity.com/2024/05/why-your-vpn-may-not-be-as-secure-as-it-claims/

I'm reading up on this, thanks for the heads up

I think there's probably a way to accomplish this, however I'm reluctant to jump in with a config change. The nature of this is such that it's more of a technique utilizing correct behavior of an existing protocol than a vulnerability. As such, adding a "quick fix" isn't really appropriate here since there isn't really an urgent need. Instead, it's better to wait and see what if any industry response there is to this and then revisit this question. I'll leave this issue open though.

I think there's probably a way to accomplish this, however I'm reluctant to jump in with a config change. The nature of this is such that it's more of a technique utilizing correct behavior of an existing protocol than a vulnerability per se. As such, adding a "quick fix" isn't really appropriate here since there isn't really an urgent need. Instead, it's better to wait and see what if any industry response there is to this and then revisit this question. I'll leave this issue open though.

I agree, as every change proposed I did not ask for immediate change, but simply add it to a list in case where (like many other vulnerability of this kind) it's ignored as "normal feature issue" (since the bad actor must control dhcp to successfully use this vulnerability).

Here's the statement from Mullvad. From my perspective it looks like any sane VPN provider should not be vulnerable.

Here's the statement from Mullvad. From my perspective it looks like any sane VPN provider should not be vulnerable.

Depend as some OS for security purpose reduce the visibility of what can or cannot be done (iOS) so the problem remain in place for majority of people.
it's why I personally have moved to a network solution placed between 2 other network and a very strict isolation of my network and an advanced control of what can connect and what cannot.
for the phone I always use 4G/5G, and I carry another network's one for my tablet / computer, so technically it do not affect me at all.
But again majority of people who rely on cheap solution of their ISP on cheap vpn will be massively vulnerable.

Closing this as unfortunately I haven't come across actionable steps we can take to mitigate this. If there are any, please reopen this with that info.


switch to structured logging

This automatically adds additional fields like reconcile_id etc.. from the controller context.
before :
2023-05-18T01:53:14+03:00 INFO  controllers.KeystoneAPI Reconciled Service init successfully
after:
2023-10-19T11:33:31+03:00       INFO    Controllers.IronicNeutronAgent  Reconciled IronicNeutronAgent upgrade successfully      {"controller": "ironicneutronagent", "controllerGroup": "ironic.openstack.org", "controllerKind": "IronicNeutronAgent", "IronicNeutronAgent": {"name":"ironic-neutron-agent-sample","namespace":"openstack"}, "namespace": "openstack", "name": "ironic-neutron-agent-sample", "reconcileID": "957c9fcc-9ebc-4dc7-a077-31b8b7f1e8c0"}
*by using per reconcile function respective logger objects, the intention is to lay the ground for parallel reconciliation in future and avoid race conditions as ctx objects are reconcile run specific.

/ok-to-test

/retest


[Bug] Resolve-NetBiosName is unnecessary and breaks commands in complex envs

Due to it returning incompelte network names, whatever uses Resolve-NetBiosName should either trust the user and use .ComputerName or Resolve-DbaNetworkName should be used in its place.
C:\github\dbatools\functions\Copy-DbaBackupDevice.ps1:101:        $sourceNetBios = $Source.ComputerName
C:\github\dbatools\functions\Copy-DbaBackupDevice.ps1:175:                $sourcepath = Join-AdminUnc $sourceNetBios
$sourceServer.BackupDevices[$deviceName].PhysicalLocation
C:\github\dbatools\functions\Copy-DbaCredential.ps1:203:        $sourceNetBios = Resolve-NetBiosName $sourceServer
C:\github\dbatools\functions\Copy-DbaCredential.ps1:209:            Invoke-Command2 -ComputerName $sourceNetBios -Credential $credential -ScriptBlock { Get-ItemProperty
-Path "HKLM:\SOFTWARE\" }
C:\github\dbatools\functions\Copy-DbaCredential.ps1:211:            Stop-Function -Message "Can't connect to registry on $source" -Target $sourceNetBios -ErrorRecord $_
C:\github\dbatools\functions\Copy-DbaDatabase.ps1:385:                    $s.remotefilename = Join-AdminUNC $sourceNetBios $s.physical
C:\github\dbatools\functions\Copy-DbaDatabase.ps1:432:                        $s.remotefilename = Join-AdminUNC $sourceNetBios $s.physical
C:\github\dbatools\functions\Copy-DbaDatabase.ps1:469:                    $s.remotefilename = Join-AdminUNC $sourceNetBios $s.physical
C:\github\dbatools\functions\Copy-DbaDatabase.ps1:766:        $sourceNetBios = $sourceServer.ComputerName
C:\github\dbatools\functions\Copy-DbaDatabase.ps1:904:                $remoteSourcePath = Join-AdminUNC $sourceNetBios (Get-SqlDefaultPaths -SqlInstance $sourceServer
-filetype data)
C:\github\dbatools\functions\Copy-DbaLinkedServer.ps1:262:        $sourceNetBios = Resolve-NetBiosName $sourceserver
C:\github\dbatools\functions\Copy-DbaLinkedServer.ps1:266:            Invoke-Command2 -Raw -Credential $Credential -ComputerName $sourceNetBios -ScriptBlock {
Get-ItemProperty -Path "HKLM:\SOFTWARE\" } -ErrorAction Stop
C:\github\dbatools\functions\Copy-DbaLinkedServer.ps1:268:            Stop-Function -Message "Can't connect to registry on $source." -Target $sourceNetBios -ErrorRecord $_
C:\github\dbatools\functions\Expand-DbaDbLogFile.ps1:211:            $sourcenetbios = Resolve-NetBiosName $server
C:\github\dbatools\functions\Expand-DbaDbLogFile.ps1:264:                            [object]$AllDrivesFreeDiskSpace = Get-DbaDiskSpace -ComputerName $sourcenetbios |
Select-Object Name, SizeInKB
C:\github\dbatools\functions\Export-DbaCredential.ps1:134:                        $sourceNetBios = Resolve-NetBiosName $server
C:\github\dbatools\functions\Export-DbaCredential.ps1:138:                            Invoke-Command2 -Raw -Credential $Credential -ComputerName $sourceNetBios
-ScriptBlock { Get-ItemProperty -Path "HKLM:\SOFTWARE\" } -ErrorAction Stop
C:\github\dbatools\functions\Export-DbaCredential.ps1:140:                            Stop-Function -Message "Can't connect to registry on $instance." -Target
$sourceNetBios -ErrorRecord $_
C:\github\dbatools\functions\Export-DbaLinkedServer.ps1:108:            $sourceNetBios = Resolve-NetBiosName $server
C:\github\dbatools\functions\Export-DbaLinkedServer.ps1:112:                Invoke-Command2 -Raw -Credential $Credential -ComputerName $sourceNetBios -ScriptBlock {
Get-ItemProperty -Path "HKLM:\SOFTWARE\" } -ErrorAction Stop
C:\github\dbatools\functions\Export-DbaLinkedServer.ps1:114:                Stop-Function -Message "Can't connect to registry on $instance." -Target $sourceNetBios
-ErrorRecord $_
C:\github\dbatools\internal\functions\Get-DecryptedObject.ps1:33:    $sourceNetBios = Resolve-NetBiosName $server
C:\github\dbatools\internal\functions\Get-DecryptedObject.ps1:40:        [byte[]]$entropy = Invoke-Command2 -Raw -Credential $Credential -ComputerName $sourceNetBios
-argumentlist $serviceInstanceId {
C:\github\dbatools\internal\functions\Get-DecryptedObject.ps1:52:        $serviceKey = Invoke-Command2 -Raw -Credential $Credential -ComputerName $sourceNetBios
-ArgumentList $smkbytes, $Entropy {
C:\github\dbatools\internal\functions\Get-DecryptedObject.ps1:92:            $connString = "Server=ADMIN:$sourceNetBios\$instance;Trusted_Connection=True;Pooling=false"
C:\github\dbatools\internal\functions\Get-DecryptedObject.ps1:132:        $results = Invoke-Command2 -ErrorAction Stop -Raw -Credential $Credential -ComputerName
$sourceNetBios -ArgumentList $connString, $sql {
C:\github\dbatools\internal\functions\Get-SqlFileStructure.ps1:25:    $sourcenetbios = Resolve-NetBiosName $sourceserver
C:\github\dbatools\internal\functions\Get-SqlFileStructure.ps1:55:                $s.remotefilename = Join-AdminUnc $sourcenetbios $s.physical
C:\github\dbatools\internal\functions\Get-SqlFileStructure.ps1:90:                $s.remotefilename = Join-AdminUnc $sourcenetbios $s.physical
C:\github\dbatools\internal\functions\Get-SqlFileStructure.ps1:112:            $s.remotefilename = Join-AdminUnc $sourcenetbios $s.physical

I would like to go through this.
However, I would just change the ones that will be used by our Invoke-Command2 command.
In my environment when I use commands that rely on PSRemote, I always to enter the FQDN.
In the end should be something like:
$sourceNetBios = (Resolve-DbaNetworkName -ComputerName $server.ComputerName).FQDN

Where, in this case the $server is the SMO object of the instance
There are 5 commands where we need to do this:

Copy-DbaCredential
Copy-DbaLinkedServer
Export-DbaCredential
Export-DbaLinkedServer
Get-DecryptedObject

NOTE: All the other entries are being used to join paths like shared paths \\serverName\. I'm not sure the effect of changing this ones.
Thoughts?

Why are those commands not using Resolve-DbaNetworkName ?

@potatoqualitee - if you would like me to replace Resolve-NetBiosName with Resolve-DbaNetworkName in all commands, give me a sign.

Yeah, let's do it. @niphlod you agree? Will this change suit your environment?

unless some command specifically needs netbios, yeah, resolve-dbanetworkname does the same thing, adding the "domain" parts, and it does the best it can.


[FLINK-34962] Remove unnecessary call Pulsar API: LookupService.getPrtitionedTopicMetadata

Purpose of the change
https://issues.apache.org/jira/browse/FLINK-34962
Brief change log

Remove unnecessary call Pulsar API: LookupService.getPrtitionedTopicMetadata

Verifying this change

This change is a trivial rework / code cleanup without any test coverage.

Significant changes
(Please check any boxes [x] if the answer is "yes". You can first publish the PR and check them afterwards, for
convenience.)

[ ] Dependencies have been added or upgraded
[ ] Public API has been changed (Public API is any class annotated with @Public(Evolving))
[ ] Serializers have been changed
[ ] New feature has been introduced

If yes, how is this documented? (not applicable / docs / JavaDocs / not documented)

@tisonkun @syhily hi, can you help review this? Thanks.

Generally looks good. Please check the CI failure.

Confirmed offline with @syhily also.


Forms cannot be sent after backend restart

Currently, form actions are bound to temporary pointers on the backend. After a backend restart, the pointer no longer exists and any already loaded form that is submitted leads to an error. This should not happen.

Mainly fixed, but still an issue when forms are initialized before the backend exported functions are bound to persistent pointer ids, which is handled by the frontend managers during module export generation.
The order of backend and frontend manager initialization should be changed in order for this to work, but the current app start process only works if the backends are started first.


ipc_service: Align return codes for available backends.

Is your enhancement proposal related to a problem? Please describe.
Available IPC service backends does not align the return code in ipc_service_send when there is no space in shared buffer.

ipc_rpmsg_static_vrings returns RPMSG_ERR_NO_BUFF == -2002
ipc_icmsg return -ENOMEM == -12
this is inconvenient for the users that may wish to swap backends. The user is forced to change error handling implementation.

I think no buffer error is that common that it could be introduced.
Describe the solution you'd like
Unify return code when buffer is not available. Add -ENOMEM to IPC service API:
https://github.com/zephyrproject-rtos/zephyr/blob/main/include/zephyr/ipc/ipc_service.h#L236
Describe alternatives you've considered
I'm creating this issue to get one.
Additional context
I'm open for a discussion if any of assignees see additional stuff that should be fixed.

Uhm, I would have preferred to return -ENOBUFS instead of -ENOMEM but I guess it's too late for that. Let me push a PR.


Custom squaring in Fp

Squaring in Fp currently relies on the underlying Fp multiplication. We may want to investigate custom squaring possibilities to see if they bring any significant speed-up.

Closing in favour of #31


TypeError: argument of type 'NoneType' is not iterable

I want to generate a new report using my own data. The project P0000001 report already exists, so I want to generate it again first, and set 'force = True',  but an error occurred, like this:
This problem has bothered me for a long time. I hope someone can help me solve this problem, thanks !!!

After debugging for long time, I found the problem.
in ckg/graphdb_connector/connector.py
def run_query(query, parameters={}):
    driver = getGraphDatabaseConnectionConfiguration(configuration=None, database=None)
    data = getCursorData(driver, query, parameters=parameters)

    return data

this query is :
MATCH p=(project:Project)-[:HAS_ENROLLED]->(:Subject)-[:BELONGS_TO_SUBJECT]-(:Biological_sample)-[:SPLITTED_INTO]->(a:Analytical_sample)-[r:HAS_QUANTIFIED_PROTEIN]->(protein:Protein)  WHERE project.id="P0000001"  AND toBoolean(r.is_razor) RETURN a.external_id AS name, a.external_id AS x,COUNT(DISTINCT(protein.id)) AS y, a.group AS group ORDER BY group;
I use this cypher in neo4j, and the result is none. Next, I click 'project' node to find 'P0000001', then find the problem is 'HAS_QUANTIFIED_PROTEIN' relationship disappeared!
Before I uploaded data to the project p0000001 on ckgapp , which may destroy the relationships in the database.
So I reimported the neo4j dump file for verification, and it succeeded.

This platform is very comprehensive and perfect！Thank you for your open source code, which is worth learning！

I am also using CKG. Are you interested in communicating? If so, please contact<EMAIL_ADDRESS>