Scolring - Forum

Entraides et échanges autour de la technologie Scol - Informations and exchanges on the Scol technology

Vous pouvez changer la langue de l'interface une fois inscrit - You can change the language once registered

You are not logged in.

#1 27-Sep-2011 22:41:40

iri
Admin. / Scol language & Scol apps developer
From: France
Registered: 22-Feb-2009
Posts: 2,023
Website

Librairie : Syspack

Salut,

Syspack est une API système en version alpha. Elle propose les fonctions suivantes :

- chaînes et listes :
strextrS, listextr, strfind2List, strfindAnyChar, strncat, strtruncate, _fooF, _fooFn, strreplace, strF, sprintf, printf

- système :
memoryInfos, powerInfos, memoryMinMax, osInfos, getUserName, getUserRealName, getScolPath, sleep

- fichiers et dossiers :
DP, DW, searchFile, _checkDirectory, _createDirectory, _getModifyDirectory, _deleteDirectory

- md5 :
getFileMd5, getStringMd5

- packages et environnements :
getSourceMd5, getScolMd5, getPackages

- fichiers temporaires (semblable à l'API ANSI File) :
_FILEOpenTemp, _FILECloseTemp, _FILEReadTemp, _FILESizeTemp, _FILETellTemp, _FILESeekTemp, _FILEWriteTmp

- benchmarks :
_benchmarkStart, _benchmarkEnd

Documentation : http://www.scolring.org/files/doc_html/syspack.html
Téléchargement : http://redmine.scolring.org/projects/syspack/files


Une version pour le serveur Scol 4 est également disponible :
http://redmine.scolring.org/projects/scolserver/files

Pour l'installer :
Copier la librairie dans le sous-dossier plugins
Éditer le fichier usm.ini et ajouter la ligne :

plugin ./plugins/libsyspack.so ScolLoadPlugin ScolUnloadPlugin

Relancer le serveur Scol.

Offline

#2 28-Sep-2011 09:27:20

iri
Admin. / Scol language & Scol apps developer
From: France
Registered: 22-Feb-2009
Posts: 2,023
Website

Re: Librairie : Syspack

Oops !

Le lien vers la doc est réparé !

Documentation : http://www.scolring.org/files/doc_html/syspack.html

Offline

#3 28-Sep-2011 14:36:12

arkeon
Admin. / Scol language & OpenSpace3D developer
From: Nantes
Registered: 30-Mar-2009
Posts: 4,390
Website

Re: Librairie : Syspack

Hi !

great job !

could you add system parts in Scol vm ?
there is already a md5 API in the current VM what difference with yours ?

for directories and system functions you should test is the cache activated to disable this functions for security purposes.

Offline

#4 28-Sep-2011 16:50:12

iri
Admin. / Scol language & Scol apps developer
From: France
Registered: 22-Feb-2009
Posts: 2,023
Website

Re: Librairie : Syspack

arkeon wrote:

Hi !

Hi, but it is the french version here wink
J'en profite pour répondre en français !

arkeon wrote:

great job !

merci

arkeon wrote:

could you add system parts in Scol vm ?

C'est une version alpha pour ma part. Certains codes proviennent de ma librairie de "test", j'ai du nettoyage à faire. De plus, certaines fonctions ne renvoient encore que des données utilisables sous Windows, je n'ai pas fait la version Linux (retourne nil).
Mais sinon oui, ce serait beaucoup mieux si c'était intégré (et ça m'éviterait de devoir recoder des bouts de code déjà présents dans le noyau).

arkeon wrote:

there is already a md5 API in the current VM what difference with yours ?

Oui, BobLeGob avait intégré l'empreinte MD5 pour les chaînes et les fichiers.
J'utilise une autre librairie reposant elle-aussi sur la RFC correspondante. Les deux sont d'ailleurs assez semblables, ce qui est logique.
J'ai ajouté ces deux fonctions car j'avais déjà utilisé le md5 par ailleurs. Comme tu l'as vu, j'ai utilisé le MD5 pour des fonctions concernant Scol (getScolMd5) et les packages chargés (getSourceMd5). Ces fonctions n'existaient pas.

arkeon wrote:

for directories and system functions you should test is the cache activated to disable this functions for security purposes.

Je ne sais pas si cet aspect est vraiment utile au niveau des répertoires. Qu'en penses-tu ?

La suppression d'un répertoire (_deleteDirectory) ne se fait que si celui-ci est vide (aucun fichier ou sous-réperoire). Il convient donc avant de supprimer son contenu via _deletepack qui remplit ces conditions de sécurité. Je suis d'accord sur le fait que je me repose ici sur une autre partie du code. Cependant, supprimer un dossier vide ne me paraît pas particulièrement dangeureux. En revanche, là où il faut que je vérifie, c'est s'il ne s'agit pas d'un lien symbolique pointant vers un dossier externe. Cette question est à voir pour toutes fonctions de ce type (même celles existantes, notamment _deletepack).

La création d'un répertoire (_createDirectory) est le pendant de _createpack. La création s'effectue uniquement dans la partition utilisateur.

Mais le problème se pose dans le cas d'une application qui utilise effectivement le Cache : créer ou supprimer dans le Cache car c'est à ce niveau que l'appli travaille et non pas dans la partition utilisateur. Sur ce point, je suis d'accord (voir ci-après).

La recherche de fichier avec searchFile ne me paraît pas poser de souci à se niveau. D'ailleurs, le résultat est de type P, en lecture seule donc. Qu'en penses-tu ? En revanche, là encore, même chose pour une appli travaillant avec le Cache.

Alors justement, le Cache me pose un problème très simple : comme déjà précisé dans un de nos échanges mails, je ne peux pas modifier le kernel puisque sa compilation est impossible hors VC++. Je ne peux donc pas exporter CachePack depuis le noyau vers un plugin, tout comme ScolSuper afin de déterminer si le canal est le canal primaire ou non.
Pour CachePack, je peux néanmoins redévlopper une fonction (en fait, elle est déjà codé dans syspack) mais comme je te disais c'est fatigant. Pour cela que je me remets à la nouvelle version Linux du noyau, compilable sans pb avec gcc smile

Je supporte donc Syspack, je vais nettoyer et améliorer certains points au niveau du Cache. Mais je ne pourrais pas réaliser l'intégration au noyau.

Enfin, je trouve que l'API des fichiers temporaires est utile et pourrait rejoindre celle des fichiers ANSI (les similitudes sont flagrantes au niveau de Scol).

Concernant les benchmarks, actuellement c'est très limités mais le type des fonctions est prévu pour pouvoir ajouter n'importe quel type de tests (ou presque).

Offline

#5 19-Oct-2013 08:58:05

gul123
Member
Registered: 19-Oct-2013
Posts: 1

Re: Librairie : Syspack

La suppression d'un répertoire (_deleteDirectory) ne se fait que si celui-ci est vide (aucun fichier ou sous-réperoire). Il convient donc avant de supprimer son contenu via _deletepack qui remplit ces conditions de sécurité. Je suis d'accord sur le fait que je me repose ici sur une autre partie du code. Cependant, supprimer un dossier vide ne me paraît pas particulièrement dangeureux. En revanche, là où il faut que je vérifie, c'est s'il ne s'agit pas d'un lien symbolique pointant vers un dossier externe. Cette question est à voir pour toutes fonctions de ce type (même celles existantes, notamment _deletepack).

Offline

Board footer

Powered by FluxBB