How can I get multipathd to stop monitoring my disk?

I’m booting Ubuntu server 20.04 from a single nvme disk.
Since a couple of days ago, multipath has been spamming my syslog with these messages:

Jun 11 20:10:14 xb multipath: nvme0n1: failed to get udev uid: Invalid argument
Jun 11 20:10:14 xb multipath: nvme0n1: uid = eui.0000000001000000e4d25c7f117c5001 (sysfs)
Jun 11 20:10:17 xb multipath: nvme0n1: failed to get udev uid: Invalid argument
Jun 11 20:10:17 xb multipath: nvme0n1: uid = eui.0000000001000000e4d25c7f117c5001 (sysfs)
Jun 11 20:10:20 xb multipath: nvme0n1: failed to get udev uid: Invalid argument
Jun 11 20:10:20 xb multipath: nvme0n1: uid = eui.0000000001000000e4d25c7f117c5001 (sysfs)
Jun 11 20:11:34 xb multipath: nvme0n1: failed to get udev uid: Invalid argument
Jun 11 20:11:34 xb multipath: nvme0n1: uid = eui.0000000001000000e4d25c7f117c5001 (sysfs)
Jun 11 20:11:37 xb multipath: nvme0n1: failed to get udev uid: Invalid argument
Jun 11 20:11:37 xb multipath: nvme0n1: uid = eui.0000000001000000e4d25c7f117c5001 (sysfs)

I can get the following list of devices to confirm it monitors my nvme disk:

multipathd> show devices
available block devices:
loop1 devnode blacklisted, unmonitored
nvme0n1 devnode whitelisted, monitored
loop6 devnode blacklisted, unmonitored
loop4 devnode blacklisted, unmonitored
loop2 devnode blacklisted, unmonitored
loop0 devnode blacklisted, unmonitored
loop7 devnode blacklisted, unmonitored
loop5 devnode blacklisted, unmonitored
loop3 devnode blacklisted, unmonitored
multipathd> 

I tried the command:

remove map nvme0n1

But got the message: fail

So now the question is, how can I get it to stop monitoring my nvme disk and spamming the syslog?

Go to Source
Author: Artur Meinild

SQL Server 2016 Replication Error while Configuring Diistributor

I am trying to configure Distributor for transactional replication set up on SQL 2016 Enterprise Edition server. But I get the following error:

SQL Server could not configure ‘Server01’ as a Distributor.

ADDITIONAL INFORMATION:
An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)

The server principal ‘distributor_admin’ already exists.
Changed database context to ‘master’. (Microsoft SQL Server, Error: 15025)

Any help/direction to resolve this error would be highly appreciated.

Go to Source
Author: SQLQuest

Edit tax class in Woocommerce admin order details

I am trying to make select box to change tax class at admin order detail in Woo. I made column, select box with tax classes, when the product is one, it works perfectly. But when i have more than 2 products it gets tax class what have the last of the list (you can see it in video). I would like to be able to set tax class for every item separately… Thanks for help

Here is video

My code in functions.php is like that

function tax_edit_col_h($order){
  ?>
  <th class="line_changetax">
    Změna daně
  </th>
  <?php
}
add_action( 'woocommerce_admin_order_item_headers', 'tax_edit_col_h' );


function tax_change($item_id, $item, $product) {
    if('line_item' === $item->get_type()){
    ?>
        <td class="line_changetax" style="width:20%">
            <select name="change_tax" id="change_tax_select" style="width:90%; display:inline-block">
                <?php
                $arraytax = WC_Tax::get_tax_class_slugs();
                    echo '<option value="'.$item->get_tax_class().'">'.$item->get_tax_class().'</option>';
                foreach($arraytax as $tax){
                    echo '<option value="'.$tax.'">'.$tax.'</option>';
                }
                ?>
            </select>
        </td>
    <?php
    }
}
add_action( 'woocommerce_admin_order_item_values', 'tax_change', 10, 3 );


function change_order_item_tax_class( $item ) {
    if (isset($_POST['change_tax']) ) {
        $item->set_tax_class($_POST['change_tax']);
    }
}
add_action( 'woocommerce_before_save_order_item', 'change_order_item_tax_class' ); 

Go to Source
Author: Jirka Kříž

TPM 2.0 device which supports Linux kernel via TCG_TIS or TCG_TIS_SPI

How to find out if TPM device supports "TPM 2.0 FIFO Interface" (TCG_TIS) and "TPM 2.0 FIFO Interface - (SPI)" (TCG_TIS_SPI), when they don’t specify it? I’m particularly interested in TPM SLB 9665 Xenonboard, as it has JTPM1, which is on my board.

Go to Source
Author: pevik

Use delay with a fixed total time to defend against timing attacks

Consider this common example used to demonstrate timing attacks:

async def sign_in(username, password):
  user = await get_user_from_db(username)
  if user is None:
    return False  # early return :(

  password_hash = slow_hash(password)
  return verify(password_hash, user.password_hash)

The usual suggestion is to do the same thing on all execution branches. For example, something like this:

async def sign_in(username, password):
  user = await get_user_from_db(username)
  if user is None:
    actual_password_hash = "foo"
  else:
    actual_password_hash = user.password_hash

  password_hash = slow_hash(password)
  res = verify(password_hash, actual_password_hash)
  return res and user is not None

But I wonder if the following strategy is also useful against timing attacks (not considering other types of side-channel attacks), while not wasting computing resources:

async def sign_in(username, password):
  # Longer than what `sign_in_impl` takes normally
  fixed_duration = ... 

  _, sign_in_result = await asyncio.gather(delay(fixed_duration), sign_in_impl)

  return sign_in_result

# Awaits a certain amount of time
async def delay(duration):
  ...

# This takes variable time
async def sign_in_impl(username, password):
  user = await get_user_from_db(username)
  if user is None:
    return False  # early return :(

  password_hash = slow_hash(password)
  return verify(password_hash, user.password_hash)

Go to Source
Author: Zizheng Tai

Google Drive-unshared file access

I recently created a folder (let’s call it “A”) not shared, added a subfolder “B” and shared with two people “editor” access, then added 3 folders and a file under “B”.

One user said they accessed Subfolder “B”, but then was able to access a file within my unshared folders. Is this possible? Also, anyway to get a change list of the files or folders in subfolder “B”?

Thank you

Go to Source
Author: user248569

Remote connection from Docker container by FTP

I built my docker image and run it:

docker run --rm -P -d test:latest

Then I entered the command and opened connection:

ftp
open XXX

I successfully connected and entered user data. After that I try to execute:

ls

And received these messages:

200 Command okay.
425 Can't open data connection.

Could you help me, please?

P.S.

I run a Linux image from Windows cmd.

Go to Source
Author: Leonid

pySpark dealing w/ dict with no values

My current code produces a new column with the expected outcome, however, I would like to do this iteratively since I have to execute the same logic 3 times.

With one dependencies
1. (key, value) mappings have to produce a value in order for new columns to be added. For example,
dict notDefined_conformedAttributeCode does not have a value, thus my code fails there.

What would be a more efficient way of replicating this logic?

#--AttributeName
#Dictionary of corresponding conform column name 
notDefined_conformedAttributeNames =dict(Entity.agg(collect_set(array('DomainName', 'TargetAttributeForName')).alias('m')).first().m)
print(notDefined_conformedAttributeNames)
#{'RequestPriority': 'ConformedRequestPriorityName', 'RequestActivityGroup': 'ConformedRequestActivityGroupName', 'RequestStatus': 'ConformedRequestStatusName', 'RequestType': 'ConformedRequestTypeName'}

#Dictionary of corresponding column to search values on 
notDefined_matchedAttributeNames =dict(filterDomainLookup.agg(collect_set(array('DomainName', 'PrimaryLookupAttributeName')).alias('m')).first().m)
print(notDefined_matchedAttributeNames)
#{}

dataset_notDefinedName = dataset
for i in notDefined_conformedAttributeNames.values():
  dataset_notDefinedName = dataset_notDefinedName.withColumn(i,lit(notDefined_item['name']))

#display(dataset_notDefinedName.select("ConformedRequestPriorityName", "ConformedRequestActivityGroupName", "ConformedRequestStatusName", "ConformedRequestTypeName"))


#--AttributeId
#Dictionary of corresponding conform column name 
notDefined_conformedAttributeId =dict(Entity.agg(collect_set(array('DomainName', 'TargetAttributeForId')).alias('m')).first().m)
print(notDefined_conformedAttributeId)
#{'RequestActivityGroup': 'ConformedRequestActivityGroupId', 'RequestPriority': 'ConformedRequestPriorityId', 'RequestType': 'ConformedRequestTypeId', 'RequestStatus': 'ConformedRequestTypeId'}

dataset_notDefinedId = dataset_notDefinedName
for i in notDefined_conformedAttributeId.values():
  dataset_notDefinedId = dataset_notDefinedId.withColumn(i,lit(notDefined_id))

display(dataset_notDefinedId.select("ConformedRequestPriorityName", "ConformedRequestActivityGroupName", "ConformedRequestStatusName", "ConformedRequestTypeName", "ConformedRequestActivityGroupId","ConformedRequestPriorityId","ConformedRequestTypeId","ConformedRequestTypeId" ))

+----------------------------+---------------------------------+--------------------------+------------------------+-------------------------------+--------------------------+----------------------+----------------------+
|ConformedRequestPriorityName|ConformedRequestActivityGroupName|ConformedRequestStatusName|ConformedRequestTypeName|ConformedRequestActivityGroupId|ConformedRequestPriorityId|ConformedRequestTypeId|ConformedRequestTypeId|
+----------------------------+---------------------------------+--------------------------+------------------------+-------------------------------+--------------------------+----------------------+----------------------+
|                 Not Defined|                      Not Defined|               Not Defined|             Not Defined|                              4|                         4|                     4|                     4|
|                 Not Defined|                      Not Defined|               Not Defined|             Not Defined|                              4|                         4|                     4|                     4|
|                 Not Defined|                      Not Defined|               Not Defined|             Not Defined|                              4|                         4|                     4|                     4|
|                 Not Defined|                      Not Defined|               Not Defined|             Not Defined|                              4|                         4|                     4|                     4|
|                 Not Defined|                      Not Defined|               Not Defined|             Not Defined|                              4|                         4|                     4|                     4|
|                 Not Defined|                      Not Defined|               Not Defined|             Not Defined|                              4|                         4|                     4|                     4|
|                 Not Defined|                      Not Defined|               Not Defined|             Not Defined|                              4|                         4|                     4|                     4|

——–

#--AttributeCode
#Dictionary of corresponding conform column name 
notDefined_conformedAttributeCode =dict(Entity.agg(collect_set(array('DomainName', 'TargetAttributeForCode')).alias('m')).first().m)
print(notDefined_conformedAttributeCode)
#{'RequestStatus': None, 'RequestType': None, 'RequestActivityGroup': None, 'RequestPriority': None}

dataset_notDefinedCode = dataset_notDefinedId
for i in notDefined_conformedAttributeCode.values():
   dataset_notDefinedFinal = dataset_notDefinedCode.withColumn(i,lit(notDefined_item['code']))

Error java.lang.NullPointerException since my notDefined_conformedAttributeCode.values() are None

Go to Source
Author: jgtrz

Easy way to bypass password on my computer

I was not able to formule a question so maybe this was already solved, and if that’s the case, sorry.
But I found a huge vulnerability on my computer. It’s a portable computer with a Win10/Ubuntu 20.04 dual boot.
When I’m logged in, and that I lock my session, this sends me to the login screen, okay. But then, if I do Ctrl+Alt+F3 to go to the terminal mode, and then do Ctrl+Alt+F7 to leave terminal mode, this simply unlocks my session !
It doesn’t work at computer start though, the session must be started and locked.
Note that when I close my computer this doesn’t lock my session even if it’s activated in the settings.
This is a critical vulnerability but it’s doesn’t work at all on my friend’s computer which is also a Win10/Ubuntu 20 dual boot.
I don’t know why this happens to me, any idea of solving this ?

Thanks for you time

Go to Source
Author: Double Vé

ANSWER

This does not seem to be a normal behavior from what I’ve experienced at all as far as I can remember. I know before I was fond of having my Linux desktop auto-login on startup. I think I also opted to have it login automatically after sleep/suspend. Perhaps the switch to a different TTY/console constitutes as the same behavior. This looks a lot like buggy behavior to me.

I would go so far as to document on how to replicate it, and report it as a bug. Call the attention of the developers so this can be looked into and fixed if necessary.

Finding Minimal Cover Set

Given a description of a database, I’m asked to find a suitable FDs, then find the minimal cover set of all the FDs and then design a relational schema.

My question is;
Say i came up with these FDs, FD = {FD_1, …, FD_n}.
Then now when finding the minimal cover set of F, should i consider the (PK, Fk) FDs with them?
That’s say i have foreign keys FDs such as, FK = {FK_1,…,FK_m}.
When finding the minimal cover set, should i consider (FD ⋃ FK) to work on or just work on the FD set? and why?

Go to Source
Author: Moosmir

openvpn fails silently in systemd only

Brand new server.

I can start openvpn as a client at the cli using

openvpn --config /etc/openvpn/client.conf --verb 3

and pull a VPN ip address on the tun0 interface and ping the server just fine. But systemd fails silently without an error in any log.

service openvpn start

I did a standard

apt install openvpn

without any issues.

journalctl output:

Jun 11 06:19:12 fl.trader.com systemd[1]: Starting OpenVPN service...
Jun 11 06:19:12 fl.trader.com systemd[1]: Started OpenVPN service.

root@fl:/home/user# cat /etc/*-release

PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"
NAME="Raspbian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=raspbian
ID_LIKE=debian

root@fl:/home/user# openvpn –version

OpenVPN 2.4.7 arm-unknown-linux-gnueabihf [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] built on Feb 20 2019
library versions: OpenSSL 1.1.1d  10 Sep 2019, LZO 2.10
Originally developed by James Yonan
Copyright (C) 2002-2018 OpenVPN Inc <sales@openvpn.net>
Compile time defines: enable_async_push=no enable_comp_stub=no enable_crypto=yes enable_crypto_ofb_cfb=yes enable_debug=yes enable_def_auth=yes enable_dependency_tracking=no enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown enable_fast_install=needless enable_fragment=yes enable_iproute2=yes enable_libtool_lock=yes enable_lz4=yes enable_lzo=yes enable_maintainer_mode=no enable_management=yes enable_multihome=yes enable_pam_dlopen=no enable_pedantic=no enable_pf=yes enable_pkcs11=yes enable_plugin_auth_pam=yes enable_plugin_down_root=yes enable_plugins=yes enable_port_share=yes enable_selinux=no enable_server=yes enable_shared=yes enable_shared_with_static_runtimes=no enable_silent_rules=no enable_small=no enable_static=yes enable_strict=no enable_strict_options=no enable_systemd=yes enable_werror=no enable_win32_dll=yes enable_x509_alt_username=yes with_aix_soname=aix with_crypto_library=openssl with_gnu_ld=yes with_mem_check=no with_sysroot=no

root@flounder:/home/kermit# cat /etc/openvpn/client.conf

client
remote my-server-ip
dev tun
nobind
tls-client
ca /etc/openvpn/ca.crt
cert /etc/openvpn/trader.com.crt
key /etc/openvpn/trader.com.key
comp-lzo
verb 3
ping-restart 60

log /var/log/openvpn/openvpn.log

server:

root@vortex:/pki# cat /etc/openvpn/server.conf

mode server
tls-server
port 1194
proto udp
dev tun

ca      /pki/ca.crt
cert    /pki/issued/trader.com.crt
key     /pki/private/trader.com.key
dh      /pki/dh.pem

server 10.9.8.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
comp-lzo         # Compression - must be turned on at both end
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 4  # verbose mode
user nobody
group nogroup
client-config-dir /etc/openvpn/ccd
client-to-client
push "redirect-gateway bypass-dhcp"
push "route 192.168.0.0 255.255.255.0"
push "dhcp-option DNS 4.2.2.2"

log /var/log/openvpn/openvpn.log

How do I get openvpn to start in systemd?

Go to Source
Author: brad

accessing global in data flow even save main session is set to true

I got an error regarding access of the global variable “regr” in my project. the previously same program was executed successfully but now it shows an error that I have attached herewith.

Even though “save main session is set to true”, I am not able to access regr (Global one)

Go to Source
Author: Nirav Bhatt

How to get logged in username of Jenkins in parameter’s Groovy script?

In Jenkins parameter, I’m writing Groovy script and in that script I need to pass Jenkins logged in username NOT user. User and username, could be different

Ex – User, that is displayed left to ‘log out’, could be – Bob Gill and username, used to login – could be – bob

User can be retrieved using User.current(). Please tell me how to get username.

NOTE I don’t need username in pipeline code. I need it in Groovy script of parameter.

Go to Source
Author: TDHM