AdilElFarissi
af5ad4a43c
Merge branch 'opensim:master' into master
2024-04-13 05:44:53 +00:00
UbitUmarov
25dcfa8b4e
change llAtan2 arguments order to (y,x) to match standard documentation
2024-04-12 22:14:54 +01:00
AdilElFarissi
efda155791
Merge branch 'opensim:master' into master
2024-04-08 07:17:51 +00:00
UbitUmarov
ac49f8b8e8
use enum.getname instead of a hack
2024-03-30 18:36:37 +00:00
Adil El Farissi
cc79aa0c23
Add selfsigned certificates support to Robust and osGetLinkInventoryKeys plus some fixes
2024-03-29 03:56:03 +00:00
AdilElFarissi
7ddf60ad9f
Merge branch 'opensim:master' into master
2024-03-29 03:52:41 +00:00
UbitUmarov
e918888e30
add llGetCameraAspect and llGetCameraFOV
2024-03-28 15:34:03 +00:00
UbitUmarov
45e49c480f
use ILGenerator ILOffset instead of old mono il offset
2024-03-27 21:54:39 +00:00
UbitUmarov
b8a0bba99d
mantis 9121: fix failed lsl string casts on lsl list sort
2024-03-27 21:51:49 +00:00
AdilElFarissi
88704a641f
Merge branch 'opensim:master' into master
2024-03-26 22:16:17 +00:00
UbitUmarov
acbec23f48
clean appdomain related things
2024-03-26 21:34:33 +00:00
UbitUmarov
782bad9944
and rename it again as just osGetLinkInventoryKey, so it is coerent with llGetInventoryKey (mantis 9119)
2024-03-26 18:32:05 +00:00
UbitUmarov
7c63ff1150
rename new osGetLinkInventoryItemKey as osGetLinkInventoryItemAssetKey
2024-03-24 11:34:23 +00:00
Jeff Kelley
1aa7bea608
osGetLinkInventoryAssetKey
...
deleted: bin/System.Drawing.Common.dll
Signed-off-by: UbitUmarov <ajlduarte@sapo.pt >
2024-03-24 11:25:09 +00:00
AdilElFarissi
3542d5461b
Merge branch 'opensim:master' into master
2024-03-19 21:50:59 +00:00
UbitUmarov
0d73a817cc
oops
2024-03-05 20:21:41 +00:00
UbitUmarov
6afa7d564b
same for osGetLinkInventoryItemKeys
2024-03-05 19:04:36 +00:00
UbitUmarov
f770fc8a0e
missing file
2024-03-05 18:52:48 +00:00
UbitUmarov
c618c4a6c4
rename the new osGetInventoryKeys as osgetinventoryitemkeys and osgetlinkinventorykey as osgetinventoryitemkey for coerence and to make clear that key means the item key within prim inventory and not its asset key as in ll funtion
2024-03-05 18:51:42 +00:00
UbitUmarov
52c287d8dc
manits 9118: fix clear of animesh flag on *GetPrimitiveParams
2024-03-04 23:48:13 +00:00
UbitUmarov
97b03f76c7
fix the last patch
2024-02-29 20:40:42 +00:00
Jeff Kelley
d58f9f0f5d
osGetSitTarget
...
Signed-off-by: UbitUmarov <ajlduarte@sapo.pt >
2024-02-29 20:28:20 +00:00
Adil El Farissi
df8fe33007
Last cosmetics and PHP/LSL test scripts
...
All is working fine :)
The following script send a request to the PHP file where the encrypted string using osAESEncrypt() is decrypted and re-encrypted using the PHP openssl_XXXX. the return is the original string and the re-encrypted separated by "|"... the script decrypt the returned re-encrypted using osAESDecrypt() and log it in the chat.
LSL script:
<pre><code>
// Change the url to point to your PHP file.
string url = "http://127.0.0.1/aesTest.php ";
string plainText = "Hello World :)";
string secret = "#!qUeRtY$@123^456€!#";
key r_id;
default
{
touch_start(integer i)
{
string encryptedText = osAESEncrypt(secret, plainText);
llOwnerSay("\nEncrypted with osAESEncrypt:\n"+ encryptedText);
r_id = llHTTPRequest(url, [HTTP_METHOD,"POST",HTTP_MIMETYPE,"application/x-www-form-urlencoded",HTTP_BODY_MAXLENGTH,"16384"], "data="+ encryptedText);
}
http_response(key id, integer status, list metaData, string Response){
if(status = 200 ){
if(id == r_id){
if(Response != ""){
list temp = llParseString2List(Response,"|",[]);
llOwnerSay("\nDecrypted using PHP openssl_decrypt:\n"+ llList2String(temp,0));
llOwnerSay("\nEncrypted using PHP openssl_encrypt:\n"+ llList2String(temp,1));
string decryptedText = osAESDecrypt(secret, llList2String(temp,1));
llOwnerSay("\nDecrypted with osAESDecrypt from PHP:\n"+ decryptedText);
}
else{
llOwnerSay("Enc/Dec Failed! Response:\n"+ Response);
}
}
}
else{
llOwnerSay("Destination not available.\nstatus: "+ status);
}
}
}
</code></pre>
The PHP file:
<pre><code>
<?php
if(getenv('REQUEST_METHOD') == 'POST') {
$script_data = file_get_contents("php://input");
if($script_data){
$data = $_POST['data'];
$secret = "#!qUeRtY$@123^456€!#";
$key = hex2bin(strtoupper(hash('sha256', $secret)));
$iv = hex2bin(strtoupper(explode(":", $data)[0]));
$encryptedText = hex2bin(strtoupper(explode(":", $data)[1]));
$plainText = openssl_decrypt($encryptedText, "AES-256-CBC", $key, $options=OPENSSL_RAW_DATA, $iv);
$retIv = openssl_random_pseudo_bytes(16);
$reEncrypted = openssl_encrypt($plainText, "AES-256-CBC", $key, $options=OPENSSL_RAW_DATA, $retIv);
echo $plainText && $reEncrypted ? $plainText."|".bin2hex($retIv).":".bin2hex($reEncrypted) : "";
}
};
?>
</code></pre>
Co-Authored-By: Ubit Umarov <469643+UbitUmarov@users.noreply.github.com >
2024-02-29 01:09:20 +00:00
UbitUmarov
18ec6d6380
cosmetics
2024-02-26 18:07:50 +00:00
Adil El Farissi
60214e6e81
Add 2 OSSL functions to the LinkInventory collection
...
Add Functions:
+ osGiveLinkInventoryList(integer linkNumber, key destination, string category, list inventory)
Give a group of items located in a child prim inventory
+ osRemoveLinkInventory(integer linkNumber, string name)
Remove an item from a child prim inventory
LSL Script example:
<pre><code>
default
{
touch_start(integer a){
integer linkNumber = llDetectedLinkNumber(0);
list linkInventoryNames = osGetLinkInventoryNames(linkNumber, INVENTORY_ALL);
osGiveLinkInventoryList(linkNumber, llDetectedKey(0), llGetLinkName(linkNumber), linkInventoryNames);
for(integer i = 0; i < llGetListLength(linkInventoryNames); i++){
osRemoveLinkInventory(linkNumber, llList2String(linkInventoryNames, i));
}
}
}
</code></pre>
2024-02-25 07:14:49 +00:00
UbitUmarov
eb9afdaffc
break them a bit more...
2024-02-24 15:47:06 +00:00
UbitUmarov
121f270414
a few changes to last PR (aes methods) - all still untested
2024-02-24 14:50:54 +00:00
Adil El Farissi
b4f33ad594
Replaced OSSLError by OSSLShoutError
2024-02-23 23:42:18 +00:00
Adil El Farissi
db80781e7d
Basic implementation of AES encryption/decryption and respective OSSL functions
...
Add methods:
+ private static string AESEncryptString(string secret, string plainText, string ivString= null)
AES Encrypt a string using a password and a random or custom Initialization Vector.
+ private static string AESDecryptString(string secret, string encryptedText, string ivString= null)
AES Decrypt the string encrypted by AESEncryptString with the same password and ivString used in the encryption.
Methods implementations:
+ Util.AESEncrypt(string secret, string plainText)
+ Util.AESDecrypt(string secret, string encryptedText)
+Util.AESEncryptTo(string secret, string plainText, string ivString)
+ Util.AESDecryptFrom(string secret, string encryptedText, string ivString)
OSSL functions as first case of use:
+ osAESEncrypt(string secret, string plainText)
+ osAESDecrypt(string secret, string encryptedText)
+ osAESEncryptTo(string secret, string plainText, string ivString)
+ osAESDecryptFrom(string secret, string encryptedText, string ivString)
LSL script example:
<pre><code>
string plainText = "Hello World :)";
string secret = "#!qUeRtY$@123^456€!#";
default
{
touch_start(integer i)
{
string encryptedText = osAESEncrypt(secret, plainText);
llOwnerSay("\nEncrypted with osAESEncrypt:\n"+ encryptedText);
string decryptedText = osAESDecrypt(secret, encryptedText);
llOwnerSay("\nDecrypted with osAESDecrypt:\n"+ decryptedText);
// Encription / Decription with custom Initialization Vector.
string ivString = (string)llGetOwner() /* +"_"+ llGenerateKey() */;
string encryptedToText = osAESEncryptTo(secret, plainText, ivString);
llOwnerSay("\nEncrypted with osAESEncryptTo:\n"+ encryptedToText);
string decryptedFromText = osAESDecryptFrom(secret, encryptedToText, ivString);
llOwnerSay("\nDecrypted with osAESDecryptFrom:\n"+ decryptedFromText);
}
}
</code></pre>
Web Rain :)
2024-02-23 21:14:33 +00:00
UbitUmarov
35a40ada77
fix ossl set ProjectionFocus range
2024-02-22 18:16:25 +00:00
UbitUmarov
76c813c2e4
useless changes
2024-02-22 01:47:24 +00:00
UbitUmarov
b383a027dc
cosmetics...
2024-02-21 15:58:05 +00:00
UbitUmarov
152b64179b
a few changes to last PR, let getlink select root; add getkeys permissions checks (don't remember why we have those) plus cosmetics
2024-02-21 15:20:53 +00:00
Adil El Farissi
ea7417dff6
Update OSSL_Stub.cs
2024-02-21 04:26:06 +00:00
Adil El Farissi
e835a46ec8
Fix uuid to string
2024-02-20 21:58:39 +00:00
Adil El Farissi
ca722ecdd8
Add some OSSL functions related to child prims inventory manipulations
...
Add functions:
+ osGiveLinkInventory(integer linkNumber, key destination, string inventory)
Give an item located in a child prim inventory.
+ osGetInventoryNames(integer type)
Return a list of items names by type (or INVENTORY_ALL) located in the prim inventory.
+ osGetLinkInventoryNames(integer linkNumber, integer type)
Return a list of items names by type (or INVENTORY_ALL) located in a child prim inventory.
+ osGetInventoryKeys(integer type)
Return a list of the items UUIDs by type (or INVENTORY_ALL) located in the prim inventory.
+ osGetLinkInventoryKeys(integer linkNumber, integer type)
Return a list of the items UUIDs by type (or INVENTORY_ALL) located in a child prim inventory.
+ osGetLinkInventoryKey(integer linkNumber, string name)
Return the UUID of the specified item name located in a child prim inventory.
+ osGetLinkInventoryDesc(integer linkNumber, string itemNameorid)
Return the description of an item located in a child prim inventory.
+ osGetLinkInventoryName(integer linkNumber, key itemId)
Return the name of an item located in a child prim inventory.
Note: the LinkInventory functions don't have access to the root prim contents. This may change if requested by the community...
2024-02-20 17:36:33 +00:00
UbitUmarov
cf27093ee9
several changes to llIsFriend and related methods
2024-02-16 20:14:06 +00:00
UbitUmarov
4e2bea288a
add llIsFriend
2024-02-16 17:17:59 +00:00
UbitUmarov
dd58a3a57c
cosmetics; remove old unused sop rotation axis ints
2024-02-15 18:48:00 +00:00
UbitUmarov
2e26b8a8bb
add LinksetData support. Untested and still does not store in dbs. Not as spec. See mantis 9081 (runprebuild)
2024-02-06 23:45:11 +00:00
UbitUmarov
f1cba63aad
retire StringToBytes variants with string format. Do the format before calling..
2024-02-05 18:34:44 +00:00
UbitUmarov
acf41e9eef
mantis 9100: change Yengine order of precendence of && to be same as ||. It had higher and that did not match lsl specification or xengine. (||| stays with higher than ||| as per c# spec)
2023-12-02 13:54:07 +00:00
UbitUmarov
1440731dd2
cosmetics
2023-11-29 14:56:49 +00:00
UbitUmarov
79ac5c7f54
remove some obsolete code
2023-11-29 12:17:08 +00:00
UbitUmarov
953c646786
fix projector focus range.Thanks Rene Vega
2023-09-24 19:59:06 +01:00
UbitUmarov
29b8191225
YEngine: reduce calls to CheckRunLockInvariants
2023-08-22 18:37:17 +01:00
UbitUmarov
bbe6075aa0
add lsl constant PRIM_SCULPT_FLAG_ANIMESH and change a few things about it
2023-08-08 18:45:49 +01:00
UbitUmarov
0cc702aaed
plus minor indentation fix
2023-08-01 19:02:08 +01:00
Vincent Sylvester
dba340a447
Minor fixes
...
Signed-off-by: UbitUmarov <ajlduarte@sapo.pt >
2023-08-01 18:57:39 +01:00
UbitUmarov
d5e49f29da
cosmetics
2023-07-25 19:56:55 +01:00