4393 Commits

Author SHA1 Message Date
UbitUmarov
cce3327734 minor cleanup 2024-07-04 00:07:37 +01:00
UbitUmarov
73a9462ef8 a few changes to llGetNotecardLineSync 2024-07-04 00:04:15 +01:00
Sue Cripter
0bf18539b5 Add llGetNotecardLineSync 2024-07-04 00:10:29 +02:00
UbitUmarov
cc1227364c add llDerezObject(..) 2024-06-23 21:54:46 +01:00
UbitUmarov
c4635d86d0 llSetCameraAtOffset() or llSetCameraEyeOffset() on a child prim do not mess root prim ( reverts 174df94172) 2024-06-19 20:22:43 +01:00
Adil El Farissi
3bcc96e42d Merge branch 'opensim:master' into master 2024-06-13 22:21:39 +00:00
UbitUmarov
54fe5747ea add storage for pbr terrain feature that viewers for opensim may add 2024-06-08 21:58:46 +01:00
Adil El Farissi
6ab23c8d6b Merge branch 'opensim:master' into master 2024-06-07 21:03:53 +00:00
UbitUmarov
ecdc979687 oops it is sRGB not linear, so rename to osTemperature2sRGB 2024-06-04 09:46:11 +01:00
UbitUmarov
1d9d39328d add osTemperatureToLinearColor() 2024-06-04 09:05:03 +01:00
UbitUmarov
30586b34f6 replace Util.Clamp<T>() 2024-06-04 09:01:10 +01:00
UbitUmarov
270427ba2a add vector osGetLinkColor(LSL_Integer linknum, LSL_Integer face) 2024-05-18 22:17:10 +01:00
UbitUmarov
7b731a387b oops we do have DATA_PAYINFO for local users, thx Tampa 2024-05-17 22:07:16 +01:00
UbitUmarov
c69a112293 mantis 9130: several changes to llRequestAgentData 2024-05-17 19:27:08 +01:00
UbitUmarov
a79f5d58f6 add missing dependency for pgsql connector 2024-05-15 19:05:32 +01:00
UbitUmarov
3e4f4208b2 improve broken llBase64ToInteger 2024-05-11 14:09:08 +01:00
UbitUmarov
4d552360dd also incremenet os_apiversion 2024-04-30 23:34:35 +01:00
UbitUmarov
c39fa1e776 mantis 9125: change yengine object file version to force recompiles; Wrap calls to some framework methods to reduce exagerated yobj dependencies on local runtime, like the ones reported. 2024-04-30 23:31:03 +01:00
AdilElFarissi
3c6a8f8d7c Merge branch 'opensim:master' into master 2024-04-26 05:49:42 +00:00
UbitUmarov
50212c240c llCloud is obsolete, remove rest on old viewer V! cloud support 2024-04-20 18:00:22 +01:00
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