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.
Pages: 1
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
Oops !
Le lien vers la doc est réparé !
Documentation : http://www.scolring.org/files/doc_html/syspack.html
Offline
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
Hi !
Hi, but it is the french version here
J'en profite pour répondre en français !
great job !
merci
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).
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.
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
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
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
Pages: 1