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

Reply via email to