#include <fcntl.h>
#include <getopt.h>
#include <grp.h>
+#include <limits.h>
#include <netinet/in.h>
#include <nss.h>
#include <pthread.h>
#include <afs/param.h>
#include <afs/ptclient.h>
#include <afs/pterror.h>
+#include <afs/ptuser.h>
#include <afs/stds.h>
#define HOMEDIR_AUTO 0
int afs_initialized = 0;
char cellname[MAXCELLNAMELEN];
-char homedir_prefix[MAXPATHLEN];
-char cell_root[MAXPATHLEN];
+char homedir_prefix[PATH_MAX];
+char cell_root[PATH_MAX];
int homedir_prefix_len=0;
char homedirs_method=0;
char shells_method=0;
+int init_afs ();
+
/**
* The cpstr() function copies a null-terminated string from str*
* (the first argument) into buf and updates both buf and buflen. If
/**
* Look up the name corresponding to uid, store in buffer.
*/
-enum nss_status ptsid2name(int uid, char **buffer, int *buflen) {
+enum nss_status ptsid2name(int uid, char **buffer, size_t *buflen) {
int ret, i;
idlist lid;
namelist lnames;
lnames.namelist_val = 0;
lnames.namelist_len = 0;
- if (ubik_Call(PR_IDToName,pruclient,0,&lid,&lnames) != PRSUCCESS) {
+ if (ubik_PR_IDToName(pruclient,0,&lid,&lnames) != PRSUCCESS) {
perror("ubik_Call() in ptsid2name() failed\n");
pthread_mutex_unlock(&mutex);
return NSS_STATUS_UNAVAIL;
strncpy(uname, name, MAXUSERNAMELEN);
lnames.namelist_len = 1;
- if (ubik_Call(PR_NameToID,pruclient,0,&lnames,&lid) != PRSUCCESS) {
+ if (ubik_PR_NameToID(pruclient,0,&lnames,&lid) != PRSUCCESS) {
perror("ubik_Call() in ptsname2id() failed\n");
pthread_mutex_unlock(&mutex);
return NSS_STATUS_UNAVAIL;
int temp;
char *b;
char* bufx = buf;
- int bufxlen = 256;
+ size_t bufxlen = 256;
b=*buffer;
switch (shells_method) {