summaryrefslogtreecommitdiff
path: root/source3/include
diff options
context:
space:
mode:
Diffstat (limited to 'source3/include')
-rw-r--r--source3/include/local.h14
-rw-r--r--source3/include/smb.h4
2 files changed, 15 insertions, 3 deletions
diff --git a/source3/include/local.h b/source3/include/local.h
index 24f3fa7724..2538715c41 100644
--- a/source3/include/local.h
+++ b/source3/include/local.h
@@ -187,8 +187,20 @@
than 62*62 for the current code */
#define MAX_SESSION_ID 3000
+/* For the benifit of PAM and the 'session exec' scripts, we fake up a terminal
+ name. This can be in one of two forms: The first for systems not using
+ utmp (and therefore not constrained as to length or the need for a number
+ < 3000 or so) and the second for systems with this 'well behaved terminal
+ like name' constraint.
+*/
+
#ifndef SESSION_TEMPLATE
-#define SESSION_TEMPLATE "smb/%d"
+/* Paramaters are 'pid' and 'vuid' */
+#define SESSION_TEMPLATE "smb/%lu/%d"
+#endif
+
+#ifndef SESSION_UTMP_TEMPLATE
+#define SESSION_UTMP_TEMPLATE "smb/%d"
#endif
/* the maximum age in seconds of a password. Should be a lp_ parameter */
diff --git a/source3/include/smb.h b/source3/include/smb.h
index 636e4ab00c..c48c81e6e4 100644
--- a/source3/include/smb.h
+++ b/source3/include/smb.h
@@ -1594,8 +1594,8 @@ typedef struct user_struct
uint8 session_key[16];
- int session_id; /* used by utmp and pam session code */
-
+ char *session_keystr; /* used by utmp and pam session code.
+ TDB key string */
int homes_snum;
} user_struct;