open-license-manager / licensecc

Software licensing, copy protection in C++. It has few dependencies and it's cross-platform.
http://open-license-manager.github.io/licensecc/
BSD 3-Clause "New" or "Revised" License
975 stars 310 forks source link

The software cannot generate a license that binds the host signature #109

Closed feeyman closed 3 years ago

feeyman commented 4 years ago

Hello,gcontini When I compiled the software on the virtual machine, I found that the license binding the host signature could not be generated. Is it my wrong setting? image

feeyman commented 4 years ago

### After compiling, I can't find the project I set, and the folder named "projects" is missing. It seems that great changes have been made. Could you give me some suggestions? image

gcontini commented 3 years ago

seem you're using a very old version of the library. actually the identifiers are in the form XXXX-XXXX-XXXX please double check to always download the 'develop' branch. In Ubuntu is well tested every commit... (including license generation and validation) you shouldn't meet any problem.

feeyman commented 3 years ago

Hello,gcontini; Thank you for reminding me that this should be the case. However, after recompiling the new version today, the default disk policy is used. After 20 reboots, it is found that the host signature is not consistent and changes greatly. When using MAC address, only one character will change.The OS is Ubuntu 16.04.1. ### Please give me some suggestions at your convenience. Thank you very much. image

gcontini commented 3 years ago

First of all thanks for your patience. i need a bit more informations on what you're doing... is it a vm or a standalone pc?

feeyman commented 3 years ago

**Hello,gcontini The machine I tested is a server, not a virtual machine;

Thank you for your reply.** image

gcontini commented 3 years ago

The identifier AAC0-lpFQ-Zgw= corresponds to a network card with mac address b4:96:91:50:66:0c AAC0-lpFQ-Zg4= corresponds to a network card with mac address b4:96:91:50:66:0e are you sure there is no network card that gets the second mac address? (for instance a virtual interface such as a tunnel?) I've read the code many times and i can't figure out any possible error. Also it's the first time i see a server with two cards with the same mac address. (By the way isn't that searching for network troubles?)

The algorithm for finding a good disk tries to avoid removable drives. It works more or less like this (you can see it in os_linux.cpp): 1) read "/dev/disk/by-uuid", follow the symlink to find which pysical device they're attached to. 2) if (1) fails try to parse "/run/blkid/blkid.tab" or "/etc/blkid.tab" if succeeds use the data from blkid.tab (diskUUID) to generate the identifier. 3) read "/etc/fstab" and mark as "preferred" the disks that are in there (they're most likely fixed disks). 4) sort the disks by preferred attribute so disks in "/etc/fstab" are choosen first for id generation.

You can try to list /dev/disk/by-uuid to see if you get a stable listing... are you always trying as "root"?

feeyman commented 3 years ago

Hello,

Thank you very much for your patience;

I used bond's network technology, and the bond mode I chose is 1 (mode = 1 means fault tolerance (active backup) provides redundant function, and the working mode is master and slave mode, that is, by default, only one network card works, and the other is used as backup.) therefore

The address of the virtual network card named bond0 is the same as that of the two physical network cards with bond. When it is convenient for you, you can try it. The three MAC addresses must be the same. Because the network traffic will go through the virtual network card bond0, it will not cause network problems;

But I found that the MAC address will not change until the MAC address is written to the configuration file of the network card. The configuration information of the network card is as follows:

vim /etc/network/interfaces source /etc/network/interfaces.d/*

The loopback network interface

auto lo iface lo inet loopback

auto enp8s0 iface enp8s0 inet static address 192.168.1.69 netmask 255.255.255.0 gateway 192.168.1.1

auto bond0 iface bond0 inet static address 192.168.10.69 netmask 255.255.255.0 mtu 9000 bond-slaves enp2s0f0 enp2s0f1 bond-mode 1 bond-miimon 100

auto enp2s0f0 iface enp2s0f0 inet manual bond-master bond0

auto enp2s0f1 iface enp2s0f1 inet manual bond-master bond0

I changed the environment and did the experiment again. I printed out the MAC address after each server restart. After the server restart, the MAC address will change. The detailed results are as follows: 1 serial: 0c:c4:7a:46:89:7a serial: 0c:c4:7a:46:89:7a serial: 0c:c4:7a:46:89:7a

2 serial: 0c:c4:7a:46:89:7b serial: 0c:c4:7a:46:89:7b serial: 0c:c4:7a:46:89:7b

3 serial: 0c:c4:7a:46:89:7b serial: 0c:c4:7a:46:89:7b serial: 0c:c4:7a:46:89:7b

4 serial: 0c:c4:7a:46:89:7a serial: 0c:c4:7a:46:89:7a serial: 0c:c4:7a:46:89:7a

5 serial: 0c:c4:7a:46:89:7b serial: 0c:c4:7a:46:89:7b serial: 0c:c4:7a:46:89:7b

6 serial: 0c:c4:7a:46:89:7a serial: 0c:c4:7a:46:89:7a serial: 0c:c4:7a:46:89:7a

7 serial: 0c:c4:7a:46:89:7a serial: 0c:c4:7a:46:89:7a serial: 0c:c4:7a:46:89:7a

8 serial: 0c:c4:7a:46:89:7b serial: 0c:c4:7a:46:89:7b serial: 0c:c4:7a:46:89:7b

9 serial: 0c:c4:7a:46:89:7b serial: 0c:c4:7a:46:89:7b serial: 0c:c4:7a:46:89:7b

10 serial: 0c:c4:7a:46:89:7a serial: 0c:c4:7a:46:89:7a serial: 0c:c4:7a:46:89:7a

Finally, I write one of the addresses into the configuration file, and the MAC address is no longer changed. The test results are as follows: 1 serial: 0c:c4:7a:46:89:7a serial: 0c:c4:7a:46:89:7a serial: 0c:c4:7a:46:89:7a

2 serial: 0c:c4:7a:46:89:7a serial: 0c:c4:7a:46:89:7a serial: 0c:c4:7a:46:89:7a

3 serial: 0c:c4:7a:46:89:7a serial: 0c:c4:7a:46:89:7a serial: 0c:c4:7a:46:89:7a

4 serial: 0c:c4:7a:46:89:7a serial: 0c:c4:7a:46:89:7a serial: 0c:c4:7a:46:89:7a

5 serial: 0c:c4:7a:46:89:7a serial: 0c:c4:7a:46:89:7a serial: 0c:c4:7a:46:89:7a

6 serial: 0c:c4:7a:46:89:7a serial: 0c:c4:7a:46:89:7a serial: 0c:c4:7a:46:89:7a

7 serial: 0c:c4:7a:46:89:7a serial: 0c:c4:7a:46:89:7a serial: 0c:c4:7a:46:89:7a

8 serial: 0c:c4:7a:46:89:7a serial: 0c:c4:7a:46:89:7a serial: 0c:c4:7a:46:89:7a

9 serial: 0c:c4:7a:46:89:7a serial: 0c:c4:7a:46:89:7a serial: 0c:c4:7a:46:89:7a

10 serial: 0c:c4:7a:46:89:7a serial: 0c:c4:7a:46:89:7a serial: 0c:c4:7a:46:89:7a

feeyman commented 3 years ago

Thank you for your patience. It should be the problem caused by the bond settings. If the MAC address is not changed, the host's signature will not change.

gcontini commented 3 years ago

Ah no problem don't worry, thanks to you i've fixed the mac address size (though it wasn't causing problems, still it was an error)...

now that you mention it once i had the same issue of mac address changes across reboots caused by udev scripts... really a trouble.

About the disk id? are they still unstable?

Gabriele