[BACK]Return to puffs_subr.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / fs / puffs

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/sys/fs/puffs/puffs_subr.c between version 1.35 and 1.36

version 1.35, 2007/06/24 22:16:03 version 1.36, 2007/07/01 15:30:16
Line 441  puffs_pnode2vnode(struct puffs_mount *pm
Line 441  puffs_pnode2vnode(struct puffs_mount *pm
 }  }
   
 void  void
 puffs_makecn(struct puffs_kcn *pkcn, const struct componentname *cn)  puffs_makecn(struct puffs_kcn *pkcn, struct puffs_kcred *pkcr,
           const struct componentname *cn)
 {  {
   
         pkcn->pkcn_nameiop = cn->cn_nameiop;          pkcn->pkcn_nameiop = cn->cn_nameiop;
         pkcn->pkcn_flags = cn->cn_flags;          pkcn->pkcn_flags = cn->cn_flags;
         pkcn->pkcn_pid = cn->cn_lwp->l_proc->p_pid;          pkcn->pkcn_pid = cn->cn_lwp->l_proc->p_pid;
         puffs_credcvt(&pkcn->pkcn_cred, cn->cn_cred);  
   
         (void)memcpy(&pkcn->pkcn_name, cn->cn_nameptr, cn->cn_namelen);          (void)memcpy(&pkcn->pkcn_name, cn->cn_nameptr, cn->cn_namelen);
         pkcn->pkcn_name[cn->cn_namelen] = '\0';          pkcn->pkcn_name[cn->cn_namelen] = '\0';
         pkcn->pkcn_namelen = cn->cn_namelen;          pkcn->pkcn_namelen = cn->cn_namelen;
   
           puffs_credcvt(pkcr, cn->cn_cred);
 }  }
   
 /*  /*
  * Convert given credentials to struct puffs_cred for userspace.   * Convert given credentials to struct puffs_kcred for userspace.
  */   */
 void  void
 puffs_credcvt(struct puffs_cred *pcr, const kauth_cred_t cred)  puffs_credcvt(struct puffs_kcred *pkcr, const kauth_cred_t cred)
 {  {
   
         memset(pcr, 0, sizeof(struct puffs_cred));          memset(pkcr, 0, sizeof(struct puffs_kcred));
   
         if (cred == NOCRED || cred == FSCRED) {          if (cred == NOCRED || cred == FSCRED) {
                 pcr->pcr_type = PUFFCRED_TYPE_INTERNAL;                  pkcr->pkcr_type = PUFFCRED_TYPE_INTERNAL;
                 if (cred == NOCRED)                  if (cred == NOCRED)
                         pcr->pcr_internal = PUFFCRED_CRED_NOCRED;                          pkcr->pkcr_internal = PUFFCRED_CRED_NOCRED;
                 if (cred == FSCRED)                  if (cred == FSCRED)
                         pcr->pcr_internal = PUFFCRED_CRED_FSCRED;                          pkcr->pkcr_internal = PUFFCRED_CRED_FSCRED;
         } else {          } else {
                 pcr->pcr_type = PUFFCRED_TYPE_UUC;                  pkcr->pkcr_type = PUFFCRED_TYPE_UUC;
                 kauth_cred_to_uucred(&pcr->pcr_uuc, cred);                  kauth_cred_to_uucred(&pkcr->pkcr_uuc, cred);
         }          }
 }  }
   

Legend:
Removed from v.1.35  
changed lines
  Added in v.1.36

CVSweb <webmaster@jp.NetBSD.org>