On Mon, 12 Dec 2011 18:55:09 +0100 Martin Jansa <[email protected]> said:
in svn - thaks... (th else still doesn't pas make distcheck even) :) > From: Klaus 'mrmoku' Kurzmann <[email protected]> > > * there as still issues in runtime without PAM, but at least it builds > now without PAM support and it's good start > > Signed-off-by: Martin Jansa <[email protected]> > --- > PROTO/elsa/configure.ac | 2 +- > PROTO/elsa/src/daemon/Makefile.am | 6 ++++-- > PROTO/elsa/src/daemon/elsa.c | 8 ++++++++ > PROTO/elsa/src/daemon/elsa.h | 2 ++ > PROTO/elsa/src/daemon/elsa_session.c | 11 +++++++++-- > 5 files changed, 24 insertions(+), 5 deletions(-) > > diff --git a/PROTO/elsa/configure.ac b/PROTO/elsa/configure.ac > index ac85872..82d0a3f 100644 > --- a/PROTO/elsa/configure.ac > +++ b/PROTO/elsa/configure.ac > @@ -123,7 +123,6 @@ if test "x${enable_pam}" = "xyes" ; then > fi > > > - > ### Checks for header files > > # Pam > @@ -133,6 +132,7 @@ if test "x${have_pam}" = "xyes" ; then > [have_pam="no"]) > fi > > +AM_CONDITIONAL(HAVE_PAM, [test "x${have_pam}" = "xyes"]) > > ### Checks for types > > diff --git a/PROTO/elsa/src/daemon/Makefile.am > b/PROTO/elsa/src/daemon/Makefile.am index cf1cd72..7919d90 100644 > --- a/PROTO/elsa/src/daemon/Makefile.am > +++ b/PROTO/elsa/src/daemon/Makefile.am > @@ -29,8 +29,6 @@ elsa_session.h \ > elsa_session.c \ > elsa_xserver.h \ > elsa_xserver.c \ > -elsa_pam.h \ > -elsa_pam.c \ > ../event/elsa_event.c \ > ../event/elsa_event.h \ > elsa_server.h \ > @@ -42,6 +40,10 @@ elsa_action.c \ > elsa.h \ > elsa.c > > +if HAVE_PAM > +elsa_SOURCES += elsa_pam.h elsa_pam.c > +endif > + > elsa_LDFLAGS = > elsa_LDADD = @ELSA_LIBS@ -lpam -lrt > > diff --git a/PROTO/elsa/src/daemon/elsa.c b/PROTO/elsa/src/daemon/elsa.c > index 8bc243f..23f971d 100644 > --- a/PROTO/elsa/src/daemon/elsa.c > +++ b/PROTO/elsa/src/daemon/elsa.c > @@ -278,7 +278,9 @@ main (int argc, char ** argv) > } > > elsa_user = getenv("ELSA_USER"); > +#ifdef HAVE_PAM > elsa_pam_init(PACKAGE, dname, elsa_user); > +#endif > if (elsa_user) > { > char *quit; > @@ -295,7 +297,9 @@ main (int argc, char ** argv) > exit(0); > } > sleep(3); > +#ifdef HAVE_PAM > elsa_pam_init(PACKAGE, dname, NULL); > +#endif > } > else > fprintf(stderr, "\n"); > @@ -322,7 +326,9 @@ main (int argc, char ** argv) > xcb_connection_t *disp = NULL; > disp = xcb_connect(dname, NULL); > ecore_main_loop_begin(); > +#ifdef HAVE_PAM > elsa_pam_item_set(ELSA_PAM_ITEM_USER, elsa_config->userlogin); > +#endif > elsa_session_login(elsa_config->command.session_login, EINA_FALSE); > sleep(30); > xcb_disconnect(disp); > @@ -347,8 +353,10 @@ main (int argc, char ** argv) > } > elsa_xserver_shutdown(); > fprintf(stderr, PACKAGE": xserver shutdown\n"); > +#ifdef HAVE_PAM > elsa_pam_shutdown(); > fprintf(stderr, PACKAGE": pam shutdown\n"); > +#endif > ecore_shutdown(); > elsa_config_shutdown(); > fprintf(stderr, PACKAGE": config shutdown\n"); > diff --git a/PROTO/elsa/src/daemon/elsa.h b/PROTO/elsa/src/daemon/elsa.h > index 87d9f49..46f2584 100644 > --- a/PROTO/elsa/src/daemon/elsa.h > +++ b/PROTO/elsa/src/daemon/elsa.h > @@ -13,7 +13,9 @@ > #include <Ecore_File.h> > > #include "elsa_session.h" > +#ifdef HAVE_PAM > #include "elsa_pam.h" > +#endif > #include "elsa_config.h" > #include "elsa_xserver.h" > #include "elsa_server.h" > diff --git a/PROTO/elsa/src/daemon/elsa_session.c > b/PROTO/elsa/src/daemon/elsa_session.c index 3af2335..d869391 100644 > --- a/PROTO/elsa/src/daemon/elsa_session.c > +++ b/PROTO/elsa/src/daemon/elsa_session.c > @@ -91,7 +91,6 @@ _elsa_session_userid_set(struct passwd *pwd) > static Eina_Bool > _elsa_session_begin(struct passwd *pwd, const char *cookie) > { > - char *term; > fprintf(stderr, PACKAGE": Session Init\n"); > if (pwd->pw_shell[0] == '\0') > { > @@ -99,7 +98,8 @@ _elsa_session_begin(struct passwd *pwd, const char *cookie) > strcpy(pwd->pw_shell, getusershell()); > endusershell(); > } > - term = getenv("TERM"); > +#ifdef HAVE_PAM > + char *term = getenv("TERM"); > if (term) elsa_pam_env_set("TERM", term); > elsa_pam_env_set("HOME", pwd->pw_dir); > elsa_pam_env_set("SHELL", pwd->pw_shell); > @@ -109,6 +109,7 @@ _elsa_session_begin(struct passwd *pwd, const char > *cookie) elsa_pam_env_set("DISPLAY", ":0.0"); > elsa_pam_env_set("MAIL", ""); > elsa_pam_env_set("XAUTHORITY", cookie); > +#endif > return EINA_TRUE; > } > > @@ -164,9 +165,11 @@ elsa_session_end(const char *user) > "%s %s ", elsa_config->command.session_stop, user); > if (-1 == system(buf)) > fprintf(stderr, PACKAGE": Error on session stop command %s", buf); > +#ifdef HAVE_PAM > elsa_pam_close_session(); > elsa_pam_end(); > elsa_pam_shutdown(); > +#endif > } > > void > @@ -234,8 +237,12 @@ elsa_session_shutdown() > Eina_Bool > elsa_session_authenticate(const char *login, const char *passwd) > { > +#ifdef HAVE_PAM > return (!elsa_pam_auth_set(login, passwd) > && !elsa_pam_authenticate()); > +#else > + return (EINA_TRUE); > +#endif > } > > Eina_Bool > -- > 1.7.8 > > > ------------------------------------------------------------------------------ > Learn Windows Azure Live! Tuesday, Dec 13, 2011 > Microsoft is holding a special Learn Windows Azure training event for > developers. It will provide a great way to learn Windows Azure and what it > provides. You can attend the event by watching it streamed LIVE online. > Learn more at http://p.sf.net/sfu/ms-windowsazure > _______________________________________________ > enlightenment-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > -- ------------- Codito, ergo sum - "I code, therefore I am" -------------- The Rasterman (Carsten Haitzler) [email protected] ------------------------------------------------------------------------------ Systems Optimization Self Assessment Improve efficiency and utilization of IT resources. Drive out cost and improve service delivery. Take 5 minutes to use this Systems Optimization Self Assessment. http://www.accelacomm.com/jaw/sdnl/114/51450054/ _______________________________________________ enlightenment-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
