IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

JPAM sous Linux Red Hat avec JDK 1.6


Sujet :

Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 97
    Points : 77
    Points
    77
    Par défaut JPAM sous Linux Red Hat avec JDK 1.6
    J'essaie d'implementer un mécanisme d'authentification sous Linux, pour cela j'utilise le systeme PAM avec la librairie JPAM.

    Mais voila ce que j'obtiens quand je l'utilises

    #
    # An unexpected error has been detected by Java Runtime Environment:
    #
    # SIGFPE (0x8) at pc=0xb7f6647c, pid=12805, tid=2887379888
    #
    # Java VM: Java HotSpot(TM) Server VM (1.6.0_03-b05 mixed mode)
    # Problematic frame:
    # C [ld-linux.so.2+0x847c]
    #
    # An error report file with more information is saved as hs_err_pid12805.log
    #
    # If you would like to submit a bug report, please visit:
    # http://java.sun.com/webapps/bugreport/crash.jsp
    #


    Est-ce que vous pourriez me donner une piste pour me sortir de ce problème ?
    J'ai téléchargé la librairie, fait la configuration de base et taper ces lignes
    de code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Pam pam = new Pam();
    String user2Name = "test";
    String user2Credentials = "testPassword";
    boolean authenticated2 = pam.authenticateSuccessful(user1Name, user1Credentials);
    que des trucs de base et simplissimes... et ça veut pas marcher
    Mercenaire du code

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Points : 1 419
    Points
    1 419
    Par défaut
    L'erreur ne se situe pas dans ton code, mais dans le chargement de la JRE. Peut-être devrais-tu la réinstaller...

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 97
    Points : 77
    Points
    77
    Par défaut
    Citation Envoyé par dingoth Voir le message
    L'erreur ne se situe pas dans ton code, mais dans le chargement de la JRE. Peut-être devrais-tu la réinstaller...
    Bonjour,

    Et merci de ta réponse...
    En effet, je viens de débugger la ligne suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    System.loadLibrary ("jpam");
    Et j'ai un bug juste après l'exécution de cette ligne. Ca veut donc dire que la JVM n'arrive pas à charger correctement la librairie libjpam.so. Pour l'instant je suis parti dans l'idée de recompiler cette librairie à partir du code source.

    Après on verra bien... mais le champs des possibilités se réduit...
    Mercenaire du code

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 97
    Points : 77
    Points
    77
    Par défaut
    Ca y est j'y suis arrivé !

    Hier j'avais télécharge le package JPam-Linux_i386-1.1.tgz sur le site http://jpam.sourceforge.net/.

    J'ai utilisé le jar JPam-1.1.jar et la shared library libjpam.so. Mais le problème c'est que le chargement de cette librairie libjpam.so pose problème !

    Du coup il m'a fallu la recompiler. Heureusement dans le package Pam-Linux_i386-1.1.tgz, il y a du code source JPam-1.1-src.zip.

    J'ai donc dézipper cette archive JPam-1.1-src.zip. Je me suis placé dans le répertoire java. A partir de ce répertoire j'ai tapé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    javac  net/sf/jpam/Pam.java
    Bon, il faut avoir les librairies commons-logging.jar et log4j.jar dans le CLASSPATH pour que ça marche.

    Une fois les classes compilées, il faut obtenir un header JNI au moyen de la commande (toujours à partir du répertoire java).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    javah -jni net.sf.jpam.Pam
    Cela génère un fichier net_sf_jpam_Pam.h qui servira pour la compilation de la share library libjpam.so.

    Ensuite il faut aller dans le répetoire c pour compiler le fichier Pam.c.
    Pour cela il y a un makefile. Moi j'ai utilisé la compilation Linux en tapant

    Naturellement, il faut que le compilateur fasse un include du fichier net_sf_jpam_Pam.h. Modifier légèrement le makefile si besoin.

    A la fin vous obtenez un fichier libjpam.so. Et celui là n'aura aucun mal à être téléchargé par Java.

    Mercenaire du code

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème installation sous Red Hat avec yum
    Par nekcorp dans le forum RedHat / CentOS / Fedora
    Réponses: 8
    Dernier message: 09/06/2014, 00h29
  2. probleme de souris sous linux red hat
    Par fatweb dans le forum Matériel
    Réponses: 0
    Dernier message: 28/11/2012, 14h41
  3. Oracle 11g versus Oracle 9i sous LINUX RED HAT
    Par fdesalle dans le forum Oracle
    Réponses: 7
    Dernier message: 22/09/2011, 19h15
  4. Problème de lenteur Oracle 10gR1/linux Red HAt AS 3
    Par kanko dans le forum Administration
    Réponses: 14
    Dernier message: 01/12/2008, 10h19
  5. compiler proc sous linux Red hat
    Par amigauss dans le forum Administration système
    Réponses: 2
    Dernier message: 17/04/2007, 11h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo