linux/net/sunrpc/auth.c
<<
>>
Prefs
   1/*
   2 * linux/net/sunrpc/auth.c
   3 *
   4 * Generic RPC client authentication API.
   5 *
   6 * Copyright (C) 1996, Olaf Kirch <okir@monad.swb.de>
   7 */
   8
   9#include <linux/types.h>
  10#include <linux/sched.h>
  11#include <linux/module.h>
  12#include <linux/slab.h>
  13#include <linux/errno.h>
  14#include <linux/hash.h>
  15#include <linux/sunrpc/clnt.h>
  16#include <linux/sunrpc/gss_api.h>
  17#include <linux/spinlock.h>
  18
  19#ifdef RPC_DEBUG
  20# define RPCDBG_FACILITY        RPCDBG_AUTH
  21#endif
  22
  23#define RPC_CREDCACHE_DEFAULT_HASHBITS  (4)
  24struct rpc_cred_cache {
  25        struct hlist_head       *hashtable;
  26        unsigned int            hashbits;
  27        spinlock_t              lock;
  28};
  29
  30static unsigned int auth_hashbits = RPC_CREDCACHE_DEFAULT_HASHBITS;
  31
  32static DEFINE_SPINLOCK(rpc_authflavor_lock);
  33static const struct rpc_authops *auth_flavors[RPC_AUTH_MAXFLAVOR] = {
  34        &authnull_ops,          /* AUTH_NULL */
  35        &authunix_ops,          /* AUTH_UNIX */
  36        NULL,                   /* others can be loadable modules */
  37};
  38
  39static LIST_HEAD(cred_unused);
  40static unsigned long number_cred_unused;
  41
  42#define MAX_HASHTABLE_BITS (14)
  43static int param_set_hashtbl_sz(const char *val, const struct kernel_param *kp)
  44{
  45        unsigned long num;
  46        unsigned int nbits;
  47        int ret;
  48
  49        if (!val)
  50                goto out_inval;
  51        ret = strict_strtoul(val, 0, &num);
  52        if (ret == -EINVAL)
  53                goto out_inval;
  54        nbits = fls(num);
  55        if (num > (1U << nbits))
  56                nbits++;
  57        if (nbits > MAX_HASHTABLE_BITS || nbits < 2)
  58                goto out_inval;
  59        *(unsigned int *)kp->arg = nbits;
  60        return 0;
  61out_inval:
  62        return -EINVAL;
  63}
  64
  65static int param_get_hashtbl_sz(char *buffer, const struct kernel_param *kp)
  66{
  67        unsigned int nbits;
  68
  69        nbits = *(unsigned int *)kp->arg;
  70        return sprintf(buffer, "%u", 1U << nbits);
  71}
  72
  73#define param_check_hashtbl_sz(name, p) __param_check(name, p, unsigned int);
  74
  75static struct kernel_param_ops param_ops_hashtbl_sz = {
  76        .set = param_set_hashtbl_sz,
  77        .get = param_get_hashtbl_sz,
  78};
  79
  80module_param_named(auth_hashtable_size, auth_hashbits, hashtbl_sz, 0644);
  81MODULE_PARM_DESC(auth_hashtable_size, "RPC credential cache hashtable size");
  82
  83static u32
  84pseudoflavor_to_flavor(u32 flavor) {
  85        if (flavor >= RPC_AUTH_MAXFLAVOR)
  86                return RPC_AUTH_GSS;
  87        return flavor;
  88}
  89
  90int
  91rpcauth_register(const struct rpc_authops *ops)
  92{
  93        rpc_authflavor_t flavor;
  94        int ret = -EPERM;
  95
  96        if ((flavor = ops->au_flavor) >= RPC_AUTH_MAXFLAVOR)
  97                return -EINVAL;
  98        spin_lock(&rpc_authflavor_lock);
  99        if (auth_flavors[flavor] == NULL) {
 100                auth_flavors[flavor] = ops;
 101                ret = 0;
 102        }
 103        spin_unlock(&rpc_authflavor_lock);
 104        return ret;
 105}
 106EXPORT_SYMBOL_GPL(rpcauth_register);
 107
 108int
 109rpcauth_unregister(const struct rpc_authops *ops)
 110{
 111        rpc_authflavor_t flavor;
 112        int ret = -EPERM;
 113
 114        if ((flavor = ops->au_flavor) >= RPC_AUTH_MAXFLAVOR)
 115                return -EINVAL;
 116        spin_lock(&rpc_authflavor_lock);
 117        if (auth_flavors[flavor] == ops) {
 118                auth_flavors[flavor] = NULL;
 119                ret = 0;
 120        }
 121        spin_unlock(&rpc_authflavor_lock);
 122        return ret;
 123}
 124EXPORT_SYMBOL_GPL(rpcauth_unregister);
 125
 126/**
 127 * rpcauth_list_flavors - discover registered flavors and pseudoflavors
 128 * @array: array to fill in
 129 * @size: size of "array"
 130 *
 13e" name="L1">   1   h.c#L122" id="L122" class="line" name=<            13e" name="L1">   1DEFINE_SP1INLOC13/sunrpc/auth.c#L3" id="L3" cl1"> 13e" name="L1">   1linux="L1234" class="line" name="L4">    T=nb.c#L12>  "line"is nof="ort>  bys="y policy.  Ca=">assshould nof1"> 13e" name="L1">   1authnu1ll_op13n>
 13e" name="L1">   1authun1ix_op136" class="line" name="L6">   >  37};
NULL,          1     1   flavor;
EPERMC credential cache quot;                return -1 39                LIST_HEAD(<1a hre13t *)flavor;
 112        int  12ss="sref">EPERM;
 cla"line" name="L123 cla120"> 120        }
1 42#define MAX_H1ASHTA142 *)rpc_authflavor_lock);
 117        if (1param14p;ops->RPC_AUTH_MAXFLAVOR 11.c#L71" id="L71" class="sref">RPC_AUTH_MAXFLAVOR++118                ops)
 11#L119" id="L119" c"sref">flavor] = NULL;
num;
;
flavor;
] =         if (nbits1;14_AUTH_GSS;
EPERMir] = EPERMliv c/a>] =  112        int ret;
14rs[EINVAL/a>)
val)
 1.c#L116" id="L116NOMEss="line" name="LNOMEs> 112        int o1ut_in1al;
ret = ret == -o1ut_in1al;
EINVAL 11#Lc#L100" id="L100" class="line" name="L100"> 1>nbits =         int num > (1U1 <15a>;
EINVAL 11"+code=RPC_AUTH_MAXFef="nne" name="L12 c/a>] =  118                nbits+1+;
] = NULL c cla"line" name="L123 cla120"++L101" id="L101" class="line" name="L101"> 10"+code=RPC_AUTH_MAXFLAVOR" class="sref">RPC_AUTH_MAXFLAVO2        int nbits >1 ;
        int o1ut_in1al;
kp-&g15f="net/sunrpc/auth.c#L120" id="L120"liv c/a>] =  11101" id="L101" class="line" name="L101"> 10"+code=RPC_AUTH_MAXFef="nne" name="L12 c/a>] = EINVAL] = EPERMARRAY_SIZEr] =  11s="sref">EINVAL] =         if (EINVAL] =  111/th.c0118                out_inval:
 1sref">EPERMliv c/a>] =  112        int EINVAL;
        int ;
16f="+code=ops"""""""""for ss="sref">ops] = ] = ] =  112c#L71" id="L71" ir] =                 1param16a>;
EINVAL/a>)
 1.c#L116" id="L116NOMEss="line" name="LNOMEs> 112        int nbits1;16a>;
        int 16l;
nbits = *(unsi1gned 16f="net/sunrpc/auth.c#/auth.c#L120" id="L120"Aliner] = NULL c cla"line" name="L123 cla120"++L101" id="L101" clane" naor] = ] =         if (sprintf(;
172 *)rpc_authflavor_lock);
 122        return p1aram_17> 114        if ((17e=fls" class="sref">fls(dtring" id="L122" clasdtring"> 11s=>);
fls(__func__ id="L122" clas__func__L" cpasref">EPERM c cla"line" name="L123 cla120"22        return k1ernel17a>;
        return set = li/a>;17  38<rpcauth_unregister);
17"+code=code=ops" class="sref">ops#ifdef module_param_1named1/a>();
flavor;
u32 ;
MODULE_PARM_DES1C1                182 *)ops
u32
ops)
 11a>
pseudofla1vor_t18e=fls" class="sref">fls( {
->au_f+code=u32" class="sref">u32 flavor)ne" na="sref">u32         return flavor &g1t;= <18> 126/**R18 href="+code=rpc_authflavor_Asau_fERR_PTid="L115" class=ERR_PTis="sr.c#L53" id="L53" class="line" name="L53">  53        return flavor1;
[RPC_AUTH_MAXFLAVOR)
  86                return ;
        return 1 90int
EINVAL 11#L119" id="L119" c"sref">flavor] = NULL;
 1>rpcauth_registe1r19f="net/sunrpc/auth.c#L102" id="L102" cque="nuth_ha"line" name="L123que="nuth_ha> 11s=>);
NULL;
rpc_authflavor_lock);
 117        if (rpc_aut1hflav1r_t  11#L119" id="L119" c"sref">flavor] = NULL;
ret = -EINVAL 11#Lc#L100" id="L100" class="line" name="L100"> rpc/" id="L50" classtrynuth_ha_ref">param_get_hastrynuth_ha_refs="sref">flavor)ss="line" name="L101"> 10"+code=RPC_AUTH_MAXFown" id="L125" classown" L" c)118                19a>;
rpc_authflavor_lock);
 122        return flavor =1         return E1INVAL1/a>;
spin_lock(1&1a href="+code=rpc_authflavor_lock"ock" class="sref">rpc_authflavor_lock);
 122        return RPC_DEBUG
19t *)au_fss="line" name="L101"> 10"+code=RPC_AUTH_MAXFcreatredential cache creatra>);
u32         return au2h_fla2ors[flavor)ss="line" name="L101"> 10"+code=RPC_AUTH_MAXFown" id="L125" classown" L" c)2        return ret = 02
EINVALflavor)As                
spin_unlock2/a>(&2mp;EINVAL;
 1>ret;
);
 1a>
[;
 #L119" id="L119" c"sre id="L122" clasine"c#L1a>
EXPORT_SYMBOL2GPL(
        return -
rpcauth_unre2ister2/a>(co4rpcauth_unregister);
);1a>
rpc_au2hflav2142#define ret = - 114 href="+code=au="line" releasredential cache ="line" releasra>);
e=code=ops" class="sref">opsflavor)As#define flavor 2         unsigned long 2INVAL2/a>;
);
;
                spin_lock2&21_AUTH_GSS;
auth_f2avors21        
 10"+code=RPC_AUTH_MAXFdesLroer] = flavor)As
au2h_fla21 89
ret = 02
int
number_credef">flavor)flavor_lock" class="sref">rpc_authflavor_lock);

spin_unlock2/a>(&2242#define ret;
a="line" unass=ame="L122"e"a>);
e=code=ops" class="sref">ome=" id="L122" class="lcredc#L110" id="L110" claLe=" id="L122" clascredc#L1a>                EXPORT_SYMBOL2GPL        unsigned long 
param_set_hashmp_mb__before_clear_bif_lock/a>
param_set_hasclear_bif_locka href="net/sunrpc nameCRED2)
);
rpc nameCRED2)
);




number_cred109   h.c#L122" id="L122" cla23onst struct a="line" unass=ame="a>);
e=code=ops" class="sref">ome=" id="L122" class="lcredc#L110" id="L110" claLe=" id="L122" clascredc#L1a>                DEFINE_SP2INLOC23 93        lin2x="L123p;flavor;
fc#L110" id="L110" claL2" cL122" id="L122" clas82" cL122"c#L1a>
authnu2ll_op23de=EPERM" class="sref">EPERM;
authun2ix_op23> 126/**2 class="s2ref">NULL,          2     23 href="+code=rpc_authflavor_L2" cL122" id="L122" clas82" cL122"c#L1 =/);
;

authnu2ll_op23de=EPERMt/sunref="net/sunrpc/auth.c#L86"" clanrpc/auth.c#2_h.c#L1092flavors" clac/auth.c#2_h.c#L1092fl;


spin_lock2&"neref">14f="">pa#define flav2r;
NULL) {
 1202     24ss="sref">ops;
ome=" id="L122" class="lcredc#L110" id="L110" claLe=" i" 2" class="sref">DEFINE_SP2INLOC23 93 define MAX_H1AS2TA14224href="net/sunrpc/auth.c#L122" id="L122" class="line" name="L122"> 122
2pc_authflavor_lock);2 124ops)
flavor;
NULL,          1     /4" class="line" name="L4">    T=nb.c#2a>ir]2= EPE2M24lavors - discover registere * Ini3" csunr83" id="L83" class="" class="line" name="L4">    T=nb.c#2a/sunref="" class="line" name="1L42">14r24s="line" name="L128"> 128  2a>)
<24a>(const struct  124f="+code=ops" class="sref">oini32" cL122" id="L122" clas8"sref">oini32" cL122" s#define flavor 2         unsigned long         2nt  re2 2= -       _122" id="L122" clas8"sr     _122" de=ret" 2class="sref"newid="L122" clas8new124o1ut2in1al25="net/sunrpc/auth.c#L69" id="L69" class="" idapi.h" class="fr;
<" idapi.124 11#Lc#L102" id=25ls" class="sref">fls(dtring" i2     2  int num" 2class="sref"newid="L122" clas8new124
 11"+code=2PC_AU25d_tesL_lock);

ir]2er] = NULL c cla"line""+cod1e=EINVAL" class="_no122" id="L122" clas8s="_no122" 124  81;
  81;
/auth.c#L72" id="L72" class=ewid="L122" clas8new124  81 11101" id="L121" cl25arg;
  81  81
 111/th.c0218flavor] = 
  81
<"L120" c 2la"line" name="L123 cla120"> 12ref">EPERMliv c/a>"+cod1e=EINVAL" class="_no_DESC        2nt 
                
auth.c#2_h.c#L1}aunewid="L122" clas8new124] = #L124" #define EINVAL2/a cla"line" name="L123 2la1202>/a>)
1e=EINVAL" class="_no_DESCnb26nrpc/auth.c#2n30" id+code=n1bits" class="sref">nbits1;16a>;
] = );1a>
oini32" cL122" s#define rpc_authflavor_lock);
<27.h" class="fref">linux="L12/4" class="line" name="L4">    T=nb.c#2" id="1L72" class="line" name="1L72">17e27a=">assshould nof1"> 13e" nameDh.c#2_ a MAXF idoid="L83" ct/sunrpc/auth.c#L129" id="L129" class2="L122" c2asdtring"> 11s=>);
 13e" name="L1">   1 2     2returnf="net/sunrcred82" cL1incla120="L122" clas8incla1#define li2a>;172 38<oth.c#2_2" cLMAXFs
rpcauth_unregister)2
17"27nrpc/auth.c#2d="L122" clascredc#L1a>                DEFINE_SP2INLOC23 93define #ifdef 2a hre27mber_cred109);
flavorwhile= 
1828 11s=>);
DEFINE_SP2INLOC23 93VAL1" class="sref">AXFcentrf="net/sunrpc/auMAXFcentrfs                AXFcrtabini3c#2_h.c#L1092fl>AXFcrtabini3id="L122" clascrtablec#L1/a>
)
16f="+codn_lock" c2href=p="_ode/a>

e=" i" 2" class="sref">DEFINE_SP2INLOC23 93 define -&gref="+code=auuth_unregister" cl"+code1=R2C_AUTH_GSS" class="sr1ef2>R18 28a href="+code=rpcauth_register" cla2122" clas2ne"c#L1 class="sref">au_2ERR_P288<RP2_AUTH_MAXFLAVOR)
 128    T=nb.c#2 id="L"li2e" name="L11ua120"2 2     28mment"> * @size: size of "Cec#Lref">83" id="L83" class=",span>rtaeterefoseoid="L83" ct/sunrpc/auth.c#L129" id="L129" class2L91" i1d=2L91" class="line" nam1e=2L919028lass="comment"> *
   >  37 11#L119" id="L112" c"s29   h.c#L122" id="L122" class=   11s=4 href="+code=au="line" unass=ame=s="sref">2pc_authflavor_lock);2oEec#L1" cL122" s#de    _122" id="L122" clas8"sr     _122" de=ret" 2class="sref"122" id="L122" clas8122" s 11#L119" id="L119" c"2ref">2lavor 11#Lc#L100" id="L200" c29sref">num" 2class="sref"LIST_HEAcredc#L1"+code=RLIST_HEAce=" i" 2" class="srefre id="L122" clas8fre srpc_authflavo2_lock2/a>);
 2     2return                 DEFINE_SP2INLOC23 93define spin_loc2(2&1a href="auth.c#L69" id="L69" class="" idapi.h" class="fr;
<" idapi.124<>;
/auth.c#L72" id="L72" class122" id="L122" clas8122" s  81rpc_authflavor_lock);
<2 href="net/sun9" i5">16f="+codn_lock" c2href=rintf(;/a>au_2ss="l29mber_cred1093lavor3/a>)ss="line" name="L101"> 10="L117" class="line" name="L117"> 117        if (spin_unlock2/a>(&2242#define flav3r30href="net/sunrpc/auth.c#L122" id=7" class="line" name="L117"> 117        if (
3" claAs3] =  112c#L71" id="L71" ir] =         " idapi.h" class="fr;
<" idapi.1241param16a>;
16f="+codn_lock" c2href=heaode=RPC_AUTH_MAXheaode=r="L122" clascr_ine"c#L1"22" id="L122" clas8122" s  811param16a>;de=ops" cla="sref">EINVAL;
16f="+codn_lock" c2href=f">DEFINE_SP2INLOC23 93VAL1" class="sref"h>AXFcentrf="net/sunrpc/auhMAXFcentrfs                NULL c cla"line" name="L123 cla120"++L1ge"_ode/a>

e=" i" 2" class="sref">DEFINE_SP2INLOC23 93 define 3       return -
3 ">rpc_authflavor_lockAXFcrtac#2_h.c#L1092fl>AXFcrtaid="L122" clascrtablec#L1/a>
NULL c cla"line" name="L name="L123 cla120"++L1
rpcauth_unregister)3
 = ret = -EPERMliv c/a>] =  112 >AXFcadd_taiac#2_h.c#L1092fl>AXFcadd_taiaid="L122" clascrtablec#L1/a>

ome=" id="L122" class="lcredc#L110" id="L110" claLe=" i" 2" class="sref">DEFINE_SP2INLOC23 93 define );
e=3ode=o31name="1L65">16f="+code=ops"""""""""for ss="sref">op3ref="+c2d3=EINVAL" class="sref">2I3VAL2/31id="L120">-&gref="+code=auuth_unregister" c3c_de"lind3tesL"line" name="L1atomi3_de"l3nd_tesL_lock 122        return 
3"net/sunr3c/auth.c#2_ck_t" claors"3class31e_clear_bif_lock/a>
 122        return spin_unlock2/a>(&2242#define 
 10"+ps" clasth.c#2_2" cLMAXFid="L122" clas8"sref">oth.c#2_2" cLMAXFs
3ass="sref">ret = 02
3a h2130int
3umber_credef">flavor)flavor_loc3" class="3ref">rpc_authflavor_lock3/a>);32   h.c#L122" id="L122" clas/4" class="line" name="L4">    T=nb.c#3=ret" 2la3s="sref">ret;
 13e" nameDh.c#2_ ef">83" id="L83" class="" class="line" name="L4">    T=nb.c#3==_unlock3#L124" 2d="L124" class="3ine" 32.h" class="fref">linux="L12s=  a="line" una3s=ame3"L122"4 href="+code=au="line" unass=ame3L126" i2=3L126" class="line" nam2=3L12223s[>
 10"+ps" clasth.c#2_2" cL122" id="L122" clas8"sref">oth.c#2_2" cL122" s#define flavor 2         unsigned long param_set_hashmp_m3__bef32eturn        _122" id="L122" clas8"sr     _122" de=ret" 2class="sref"122" id="L122" clas8122" sEXPORT_SYMBOL2GPL(
f="+co2n_lock" c2ass="sr cL122" id="L122" clas82" cL122"c#L1a>
define [EINV3ze: siz2 3f "array"
<2232href="net/sun92" clasclops 122" id="L122" clas8122" s
 10"+code=RPC_AL1/a>                
auth.c#2_h.c#L1}auuth_ha_refs="sref">flavor   h.c#L122" 3d="L133ss="sref">ops;
oEec#L1" cL122" s 122" id="L122" clas8122" sa="line" unass=ame=3a>);
33 11s=>);
  81lin2x3"L1233"sref">au_f+code=u32" /sunrpc/auseu-okfre id="L122" clas8kfre sfc#L110" i3="L113" claL2" cL122nt

NULL,          2  3  23 33/a>)
1e=EINVAL" clasatredential cache ="line" creatra>);1a>
oth.c#2_2" cL122" s);
<338<[EINV3a h2" cla3/auth.c#2_h.c#L1}auth2" 3lac/a3th.c#2#defc#L         return )IRY_MORATORIUsref">nbits1)IRY_MORATORIUsclaL2(60ame        return HZref">nbits1HZ        unsigned long flav3r;
flavor)flavor_loc3"line" na3e="L123 cla120"> 1203     34   h.c#L122" id="L122" clas/4" class="line" name="L4">    T=nb.c#3TABLE_1BI3S" class="sref">MAX_H1AS3TA14234( 13e" nameRemovefd=aleoid="L83" ct. A4 hrasleeme=g inside ef">loop6" class="line" name="L6">   >  373pc_authflavor_lock);3linux="L12s=  aut_c/autnrpc/auth.c#/auth.2#L1202 id="3m3L1" cL122" s 122" id="L122" clas8122" sa="line" unass=ame=3a>);
33 11s=>);
   h.1sflavclas8kfre some=" id="7>MAX_H1AS3TA14234( 12" clas8k h2130int
;
        2nt );
<2 href="net/sun9" i5">16f="+codn_lock" c2href=rintf(;/a>re2 2= -spin_unlock2/ajiffie"d="L2-leoid="L83" ct. A4 hrasleeme=g inside ef">loop6" class="line" name="L6">   >  37 11#Lc#L102" id=35ls" 35lasine"c#L1a>3
)

e=" i" 2" class="sref">DEFINE_/0"> 122" id="L122" clas8122" s<  2  int 3a href="+code=#L126" id23sref"352returnf="net/sunrcred82" cL1incla3="+2code=3FP_KERNEe ="line" creatr3FP_KE35th.c#2_authflavth.c#2L122" clas8"sref">o.c#2n_loLOC23osh"1e=EINVAL72 s" class="--24hresref" t/sunrp="L122" 4       unnet/Asnew3d="L122" clas8new124<)co3e=ops35f_lock/a>
] = NU3L c c35"L122" clascredc#L1a>L122" clas82" cL122"c#L1L">aut_c/autnrpc/auth.c#/auth.2#L1202+code=>;
3a href="net/sunrpc/line"3name=350"> 124f="+code=ops" class= href=" iiiiiiiii* Encorce a ef"second garbag="+ollection moratoriumL">aut_c/autnrpc/auth.c#/auth.2#L1202+AS3TA14235h.c#2_h.c#L1}auth2" cla3/aut"35c#L1/>#define  )3
 = L122" clas8"sref">o"ime_in_ranguth2rp3/au323 9h"ime_in_ranguk" c2href=auth.c#2mL_GPL" c2ops" clas"+co6e=opsps"""""""""for ss="srefL321" i" 2" class="sref"L321" ref=="net/sup="_ode/a="L121" +code=RPC_c/auL321" id="L="net/sup="_ode/ajiffie">spin_unlock2/ajiffie"d="L)h rele rele2" s
o"+codd="L122" cla23onst"+codd="k" c2href=auth.c#2mL=ame=" class="sref">a="line" unass=ame="a>);
e=code=ops" class="sref">ome=" id="L122" class="lcredc#L110" id="L110" claLe=" id="L122" clascredc#L1a>               !hresref" t/sunrp="L122" 4       un3c#2_h.c#31092fl;
-&gref="+code=auuth_unregister" cl"+code1=R2C_AUTH_GSS" class="sr1ef2>R18 28a href="+code=rpcauth_register" cla2122" clas2ne"c#L1 class="sref">au_2ERR_P288<;
L122" clas8"sref">ocredc#L110" id="L110" claLe=" i" 2" class="sref">DEFINE_SP2INLOC23 93 define MAX_H1AS2TA1422!hresref" t/sunrp="L122" 4       un3code=>;
3aAs<1continuecode=MAX_H1AS32=_unlock32="L114eAS3TA1423rrrrr2"L120"Ali2er] 3  1203     34   h.c#L122" id="e ="line"3creatra>);1a>
;


spin_3code=MAX_31AS2T_SYMB#e=2INVAL1L73"3class36/a>)3
 = 
NULL) {
ocredc#L110" id="L110" claLe=" i" 2" class="sref">DEFINE_SP2INLOC23 93 define MAX_H1AS2TA14224hres/0"> 122" id="L122" clas8122" s17e27a=">assshou3d nof37e=1"L64"16l< href="net/sunrpse=MAX_H1AS2TABLhref="+cL90"la"line" name="L123 cla120"++L1>AXFcrtac#2_h.c#L1092fl>AXFcrtaid="L122" clascrtablec#L1/a>
DEFINE_SP2INLOC23 93 define );
e=3ode=o31name="1L65">16f="+code=ops"""""""""for ss="sref">op3ref="+c2d3=EINVAL" class=83" class="" class="line" name="L4">    T=nb.c#3==_unlock3#L124" 2d="L124"20="L122"3clas8incla13defin37uth.c#L122" id="L122" class="line" name="L122"> 122        return 
3"net/sunr3href="net3sunrps" clasth.c#2_2" cL3AXFid37f_lock/a>
;
NULL,          1     /4" class="line" name="L4">    T=nb.c#2a>ir]2= EP3a>)2
int" clas82" clas8"sref">o.3pc_authflavor_lsysctl_vfs/auth._pressu" i" 2" class="srsysctl_vfs/auth._pressu" th.c#2n_lock" c2href="neref">spin_3="net/sun3pc/auMAXFcemptfs#de    _122" id="L122" clL1L">aut_c/autnrpc/auth.c#/auth.2#L12022" clas8n3xF124<, d="L122" clascre3c#L1a3872"> 11#L119" id="L119" c"2re Run memoryss="sr shrinkerclass="sref"122" id="L122" clas8122" 3128="net/3unrpc/auth.c#21" class="3ref">38" id="L122" clas8122" sRP2_AUTH_MAXFLAVOR3

83" id="383" class=",span>rtaeter3foseo38f="+code=lock"clear_bif">param_set_3s2L91" i13=2L91" class="line" nam13=2L9138c#L1"+code=RPC_AUTH_M3XFLAV3ref">DEFINE_SP2INLOC23 93define spin_loc2(2&1a hr3 are* RmL3c#erenced6" class="line"3name=38 h2130inthref="net/sunrpc/auth clascredc#L1a> re#define  11s=4 href3"+cod38.h" class="fr;
<" idapi.124        2nt  11#Lc#L100" id3"L20039" class="sref">DEFINE" clas82" clas8"sref">o.c#2n_loLOC23osh"1e=EINVAL72 s" class="22hres/? 0 : -1define  define NULL c cla"line#fre id="L122" clas8frdefine  = 02
int
             3  ] =  112c#L71" id="L71" ir] =         " idapi.h" class="fr;
<" idapi.124 re#22" clas8122" s    T=ec#L1/a>
r3c_aut39 h2130int
3umber_credef">flavor)flavor_loc3" class="3ref">rpc_authflavor_lock3/a>);32   h.c#L122" id=">au_2ss=3l29mber_cred109ret;
 13e" nameDh.c#2_ ef">83" id="L83" class="" class="line" name="L4">    T=nb.c#3==_unlock3#L124" 2d="L124"id="L125"3classIS_ERRs="sref">flav3r39line" 2ame="27(    T=nb.c#2" id="1L72" class=4"""""""" 4lec#L1/a>
3" claAs 11#Lc#L100" id4a>;
<40" id="L122" clas8122" saut_c/autnrpc/auth.c#/auth.2#L1204_lock" c24ref=line nameme="L81">  41flavor 2       4de=RPC_AU4H_MAXheaode=r)a href="ne4/sunr40L122" clas8"sref">oth.c#2_2"  clas8122" s);
<2 href="net/sun9" i5">16f="+codn_lock" c2href=rintfnbits1"> 13e"lookup    unsigned long flookup    unsignd="L121" +code=RPC_c/auth2r122" id="L122" clas82" cL122"c#L1a>
define 
dode=RPC_c/auth2r1c16f="+codn_lock" c1co6e=opse2" sr4/8a124"a>3 ">rpc_authflavor_href="net/sunrpc/au122" clascredc#L1a>           2" srpcauth_unr4giste40.h" class="fr;
<" idapi.124DEFINE_SP2INLOC23 93define spin_loc2(2&1a hr4lec#L1/a>4
 10"+code=RPC_AL1/a>                
auth.c#2_h.c#L1}auuth_ha_refs="sref">flavor;
/auth.c#L72" inh.ccL122"c#L1a>
auL72" inh.cc#L2313 i23>32s="linepo clascredc#L1a> po 1}auuth_ha_refs="sref">flavor" 2class="sref"newid="L122" clas8new1="+codn_lock" c2href=rintf define 
3nr/auseu-okfre idnrMAX_H1AS2f/sunref="       int         return (const struct DEFINE_SP2I s
auL s
 117        if (spin_unlock2/a>(&2242#sref">spin_loc2(2&1a hr4_H1AS328a420"a>3ass="sref">ret4= 02
41"> 1203     34   h.c#L122" id=4"L122" cl4s/4" class="line" name="44">  4 T=nb.c#3=ret" 2la3s="sref">recu 2" c)flavor_loc3" clacu 2" c)ne spin_loc2(2&1a hr4_e=MAX_H14ne" 32.h" class="fref">l4nux="41.h" class="fr;
<" idapi.124<,sunrpcor_e
auL72" icor_e po 1}auclass="sref">ome=" id="_lock" c2href=f">DEFINE_SP2INLOC23 93VAL1" class="sref"h>AXFcentrf="net/sunrpc/auhMAXFcentrfs
 122" id="L122" clas8122" s4h_un3"L124"e" 3lass="sref">a="line4 una341ck" c2href="nelr1"+coL122f="+code=MAX_H1A3 93 define  define 32s="line122" clascredc#L1a>            2" s;
3a hLlnfc#L1"+code=RPC_AU3H_MAX30name="1L65">16f="+codn_lock" c2href=heaode=RPC_AUTH_MAXheaode=r="L122" clascr_ine"c#L1"22" id="L122" clas8122" so"+codd="L122" cla23onst"+codd="k" c2href=auth.c#2mL=ame=" class="sref">a="line" unass=ame="a>);
e=code=ops" class="sref">ome=" id=3 93 define                4hres/0"> 122" id="L122" clas8122" s4ea3_bif">4aram_set_hashmp_m3__bef34eturn42f_lock/a>
3umber_c6f="+codn_lock" c2href=heaode=RPC_AUTH_MAXheaode=r="L122" clascr_ine"c#L1"22" id="L122" clas8122" sEINV34e: si42e="L123 cla120"++L1ge    T=nb.c#2" id="1L72" class=4ef="net/s4n92" clasclops 122"4id="L42a>3 ">rpc_authflavor_href=auth.c#2mL_GPL" c2ops" clas"+co6e=ops22" clas8122" sAXFcrtac#2_h.3 93 define 3umber_c6f="+codn_lock" c2href=heaode=RPC_AUTH_MAXheaode=r="L122" clascr_ine"c#L1"22" id="L122" clas8122" s)3
 = RT_SYMB#L72" id=1"L72" class="line"4/ )define4a="lin    T=nb.c#2" id="1L72" class=4define 3spin_loc2(2&1a hr4"e" 3
fc#L110" i3="L143" cl432returnf="net/sunrcred82" cL1incla4line" cre4tra>);1a>
        2nth.c#2n_lock" c2href=line na 2" s);
<3384
EINV34 h2" 43
<24a>(const struct <    22"op MAX_ps"""""""""for ss="sreco6at i" 2" class="srefco6at ne            H1AS2f/sunref="       int  122" id="L122" clas8122" s4L122" cla4/4" class="line" name="L4">   43=RPC_AUTHcr_lr1s413e" 43/a>)3
 = a href="+co2n_lock" c2ane a="lin    T=nb.c#2" id="1L72" class=423onst st4uct  144href="net/sunrf="net/slass="sr3vor;
3a hLlnfc#L1"+code=RPC_AU3H_MAX30name="1L65">16f="+codn_lock" c2href=heaode=RPC_AUTH_MAXheaode=r="L122" clascr_ine"c#L1"22" id="L122" clas8122" s2 = 
auL72" icor_e po 1}auclass="sref">ome=" id="_lock" c2href=f">DEFINE_SP2INLOC23 93VAL1" class="sref"h>AXFcentrf="net/sunrpc/auhMAXFcentrfs
 122" id="L122" clas8122" s4 id="L1224 pc/auth.c#2127-2href="n4lr1"+44f_lock/a>
 define  define 32s="line122" clascredc#L1a>            2" sflavclas4kfre 44e="L123 cla120"++L1gehref=auth.c#2mL_GPL" c2ops" clas"+co6e=ops22" clas8122" sAXFcrtac#2_h.3 93 define  124 clas44a>3 ">rpc_authflavor_RT_SYMB#L72" id=1"L72" class="line"4ed long <4 hre2 h>        2nt re2 2= -oEGPL" c2ops" clas"+co6e=ops22hrBO2>        2nth.c#2n_lock" c2href=line na /0"> 122" id="L122" clas8122" s4  )define4s8"sr     _122" de=ret" 4class44a3ref">a="line" unass=ame=3a>);
33 1AGPL" c2ops" clas"+co6e=ops22" clas8122" s 11#Lc#L102" id=45ls" 45o.h" class="fref">lin2x3"L1233"sref"seodd="L122" cla23onstseodd="k" c2href=auth.c#2mL=ame=" class="sref">a="line" unass=ame="a>);
e=code=ops" class="sref">ome=" id=AGPL" c2ops" clas"+co6e=opsps"""""""""for ss="sref122" clascredc#L1a>              H1AS2f/sunref="       int 
auL72" icac3de=R_acuC_AU3H_MAX30name="1L65">16GPL" c2ops" clas"+co6e=opsps"""""""""for ss="sreft/sunrpc/auth.c#2n_lock" c2hreclass="sref">ome=" id="_lock" c2href=f">DEFINE_SP2INLOC23 93VAL1" class="sref"h>AXFcentrf="net/sunrpc/auhMAXFcentrfs
);
e=3ode=piine op3ref="+c2d3=EINVAL" class="sref">2I3VAL2/31id="L120">-&gref="+code=auuth_unregister" c3c_de"lind3tesL"li4>] = NU4L c c45"L122" clascr=RPC_AUTH_MAXFLunrpc/auth2rp3/auth.2#L321" id="L121" class="2in3" 22>3umber_c6f="+codn_lock" c2href=heaode=RPC_AUTH_MAXheaode=r="L122" clascr_ine"c#L1"22" id="L122" clas8122" s;
4a href="net/sunrpc/line"4name=45MORATORIUsref">nbitsfounL" c2ops" clas"+founLMAX_:id="L122" clas8122" s defi"+codd="L122" cla23onst"+codd="k" c2href=auth.c#2mL=ame=" class=NEW>a="line" unass=ame="a>);
e=NEWps" class="sref">ome=" id=AGPL" c2ops" clas"+co6e=opsps"""""""""for ss="sref122" clascredc#L1a>              h rele rele2" s  81ome=" id=AGPL" c2ops" clas"+co6e=opsps"""""""""for ss="srefop clascredc#L1a>    op MAX_ps"""""""""for ss="sreuth_unregister" cl"+reuth_u=ops2!hrBO2>        2nth.c#2n_lock" c2href=line nah rele rele2" s)3
          2 releMBO2>        2nt=ame="a>LOOKUP=NEW>a="line" unass=ame="a>LOOKUP=NEWf="nes/0"> 122" id="L122" clas8122" s42/a>
 122" id="L122" clas8122" s4class2"li4e26 claL2" cL122" id="L142" cl46" class="sref">DEFINE_SP2INLOC23 93 defipuef="+cL90"la"line" name=puef="+cL90=opsa href="+code=MAAGPL" c2ops" clas"+co6e=ops" id="L122" clas8122" some=" id=AGPL" c2ops" clas"+co6e=ops22" clas8122" s ERR_PTR=opsa href="+code=MAth clascredc#L1a> re#" id="L122" clas8122" s;
<    T=nb.c#2" id="1L72" class=4ef="+cod2449" 26#L1092 id="L109" c4ass=_46"L122" clascr    T=nb.c#2" id="1L72" class=4ecode=>;
4aAs<1;
 13e" nameDh.c#2_ ef">83" id="L83" class="" class="line" name="L4">    T=nb.c#3==_unlock3#L124" 2d="L1244eAS3TA1424rrrrr2"L120"Ali2er] 4  12f="+co2n_lock" c2ane );1a>
)IRY_MORATORIUsclaL2(60ame        return HZref">nbits1HZflookup    unsignd="Lnb.c#3==_unlock3#L124" 2d="L1244line" nam4="1L72">17e27a=">assshou4d nof47lasin   T=nb.c#2" id="1L72" class=4n2cla"lin4"2name="L123 cla120"2);
<2 href="net/sun9" i5">16f="+codn_lock" c2href=rintf4defin47uth.crn HZref">nbits1HZ16f="+codn_lock" c2hra>HZ16f retu21" +code=RPC_c/auth2r122" id="L122" clas82" cL122"c#L1a>
define            2" s 122" id="L122" clas8122" s4e=ret" 2c4ass="sref"heaode=RPC_AUT4_MAXh47th.c#2nck_t" 21" +code=RPC_c/auth2r122" c16f="+codn_lock" c122" c16fL1a>
 href="+code=MA1c16f="+codn_lock" c1co6e=opsb.c#3==_unlock3#L124" 2d="L1244lcode=>;
4ef="ne reaMAX_H1AS2f/sunref="       int intconst2s="sref"newid="L122" cAGPL" c2ops" clas"+co6e=ops21href=auth.c#2mL_GPL" c2ops" clas"+co6e=ops22" clas8122" sM4eode=MAX_4r+code=kp" classl23" id=41L23"47.h" class="fr;
<" idapi.124s="ing">"=am:ass="frlook3refup %s"+cod\n"clas812e2" sa="line" unass=ame=3a>);
33 11s=>);
 22"op MAX_ps"""""""""for ss="s22"PC_Aclascredc#L1a> 22"PC_Ad="Lnb.c#3==_unlock3#L124" 2d="L12442" clas8n4xF124<, d="L122" clascre4c#L1a48lasin   T=nb.c#2" id="1L72" class=4128="net/4unrpc/auth.c#21" class="4ref">48href="net/sunrf="net/slass="mems( mems(<>83" id="L83" class="" cl1c16f="+codn_lock" c1co6e=ops="0, sizeofa href="+code=MA1c16f="+codn_lock" c1co6e=ops)nb.c#3==_unlock3#L124" 2d="L124420="L122"4AX_H1AS2="net/sun2pc/aut4rpc/a48MBO22 = RP2_AUTH_MAXFLAVOR4
2 = 83" (u21" +code=RPC_c/auth2rAGPL" c2ops" clas"+co6e=ops21) href="+code=MAAGPL" c2ops" clas"+co6e=ops"=MAX_H1AS2o id="1L72group info="+codn_lock" cgroup info=opsnb.c#3==_unlock3#L124" 2d="L12442code=>;
4=2L91" class="line" nam14=2L9148c#L1".c#3==_unlock3#L124" 2d="L12442AS3TA1424c#erenced6" class="line"4name=48 h2130int
<    22"op MAX_ps"""""""""for ss="slookup    u122" clascr_ine"cokup    u=opsa href="+code=MA1code=MAX_H1AS3>param_se3_hs=id="L83" class="" cl1c16f="+codn_lock" c1co6e=ops="="net/sunrpc/au122" clascredc#L1a>           b.c#3==_unlock3#L124" 2d="L12442 ="line"4"L112" c"s29   h.c#L122"4id="L48T=nb.c#3=ret" 2la3s="sref">rpuefgroup info="+codn_lock" cpuefgroup info=opsa href="+code=MA1c16f="+codn_lock" c1co6e=ops.2 =  11s=4 href4"+cod48line" 2ame="27(    T=nb.c#2" id="1L72" class=4 11#Lc#L100" id4"L20049" clafd="L122" clascredc#L1a>       _14credc#L1"4code=RLIST_HEAce=" i" 2"4class49uth.crn HZref">nbits1HZHZ
d83" class="" cl1c16f="+codn_lock" c1co6e=ops=L122" clascredc#L1a>       _14c="L1"sre4e=MAX_H1AS2c22" clas2e" 4ame="49f_lock/a>

define  2href=riop L1a>
define              4  param_set_4f="auth.c4L69" id="L69" class="" i4api.h49c#L1"+code=RPC_AUTH_M3XFLAV3INIT_H3NODEclascredc#L1a> INIT_H3NODE class="2in3" 22>3umber_c6GPL" c2ops" clas"+co6e=opsps"""""""""for ss="sreft/sunrpc/auth.c#2n_lock" c2hre b.c#3==_unlock3#L124" 2d="L1244fare* RmL4ORT_SYMBO2class="sr2f">r4c_aut49 h2130int
DEFINE_SP2INLOC23 9INIT_ref">DEFI class="2in3" 22>3umber_c6GPL" c2ops" clas"+co6e=opsps"""""""""for ss="sref"c#L1 class="sref">au_2ERR_P288<au_2ss=4l29mber_cred109re=" i" s( e=" i" s(< class="2in3" 22>3umber_c6GPL" c2ops" clas"+co6e=opsps"""""""""for ss="srefBI2S" class="sref">MAX_H1AS2TA14, 1288<flav4r49.h" class="fr;
<" idapi.124<6GPL" c2ops" clas"+co6e=opsps"""""""""for ss="sref+code=MAX_H1AS3>paruth2" clac/="_no122" 124<    op L1a>88<
3" claAs3spin_unlock2/ajiffie"d="L88< 11#Lc#L100" id5a>;
<50" id=#ifdefMBO2>        2nt=am_DEBUG>spin_unlock2/a=am_DEBUGasin   T=nb.c#2" id="1L72" class=5_lock" c25ref=line nameme="L81">  512 = );
e=MAGICd="L88<             524<, 50"L122" clascr=RPC_AUTH_MAXFL6GPL" c2ops" clas"+co6e=opsps"""""""""for ss="srefuif="+codn_lock" crefuiflac/="_no122" 124< c16f="+codn_lock" c1co6e=opsss="sr cL122" id="L1uif="+codn_lock" cuif  T=88<r5/8a1250"> 12f="+co2n_lock" E)IRY_MORATORIUsclaL2(60ame        return HZref">nbits1HZHZM5de=MAX_H15S3ass="sref3>rpcauth_unr5giste50.h" c>);
<2 href="net/sun9" i5">16f="+codn_lock" c2href=rintf5HZHZ
define  "cokup122" L1a> 2" sparam_set_5"1"""""" 5edc#L110" id="L110" claL5=" i"51href="net/sunrf="net/slass="dprhreL122" clascr_inedprhreL returclas8"sref">s="ing">"=am:a%5u hold3ref%s"+codf%p\n"clas812enrf="net/slass="task/auseu-okfre idtaskL1a>ss="sr cL122" id="L1tk_pif="+codn_lock" ctk_pif=ops=L122" clascredc#L1a>       _15e" name="51atomi3_de"l3nd_tesL_loc5 22"op MAX_ps"""""""""for ss="s22"PC_Aclascredc#L1a> 22"PC_Ad="Ls= href="+code=MAAGPL" c2ops" clas"+co6e=ops" id="L122" clas8122" s
AXFcrtac#2_h.c#L1092fl>AXFcrtaid="L122" clascrtablec#L1/a>
        return nbitsE)IRY_MORATORIUsclaL2(60ame        return HZref">nbits1HZHZ
3ass="sref">ret5= 02
51"> 1203     34   h.c#L122" id=5"L122" cl5s/4" class="line" name="54">  5 T=nb. href=">);
<2 href="net/sun9" i5">16f="+codn_lock" c2href=rintfl5nux="51.h" crn HZref">nbits1HZHZ
define  "cokup122" L1a> 2" s5"e" 3lass="sref">a="line5 una351ck" code=lock"clear_bif">param_set_5nass=ame35126" i2=3L126" class="li5e" na52e=1"L64"16l<  idapi.124<>;
/auth.c#las8 id="L122" clas82" cL122"c#L1a>
define ss="sr cL122" id="L1tk_clieS" class="sref">Mtk_clieS"=opsps"""""""""for ss="srlf+code=MAX_H1AS3>parul22"c#L1a>lascrtablec#L1/a>
" 2class="sref"newid="L122" c122" c16f="+codn_lock" c122" c16fL1a>
 href="+code=MA1c16f="+codn_lock" c1co6e=ops="_ode=lock"clear_bif">param_set_5n" name="5long        _15ea3_bif">5aram_set_hashmp_m3__bef35eturn52f_lock/a>
       _15ek" c2ass52" clas8"sr     _122" de5ret" 52th.c#2nck_t" }lascrtablec#L1/a>
EINV35e: si52c#L1".c#3==_unlock3#L124" 2d="L1245ef="net/s5n92" clasclops 122"5id="L52 h2130int
s="ing">"=am:a%5u look3refup %s"+cod\n"clas812e2" sss="sr cL122" id="L1tk_pif="+codn_lock" ctk_pif=ops=_no122" 124ss="sr cL122" id="L1tk_clieS" class="sref">Mtk_clieS"=opsps"""""""""for ss="srlf+code=MAX_H1AS3>parul22"c#L1a>auseu-okfre id="L122" cop clascredc#L1a> 22"op MAX_ps"""""""""for ss="s22"PC_Aclascredc#L1a> 22"PC_Ad="Lnb.c#3==_unlock3#L124" 2d="L1245 e=MAX_H15
 22"op MAX_ps"""""""""for ss="slookup    u122" clascr_ine"cokup    u=opsa href="+code=MA1code=MAX_H1AS3>param_se3_hs=id="L83" class="" cl1c16f="+codn_lock" c1co6e=ops="="net/sunrpc/au"cokup122" clascredc#L1a> "cokup122" L1a> b.c#3==_unlock3#L124" 2d="L1245 ec#L1/a>5    T=nb.c#2" id="1L72" class=5define fc#L110" i3="L153" cl531=nb. href=">);
<2 href="net/sun9" i5">16f="+codn_lock" c2href=rintf);1a>
nbits1HZHZ
define  "cokup122" L1a> 2" s);
<3385 122" id="L122" clas8122" s5a>[EINV35 h2" 53th.c#2nck_t" 21" +code=RPC_c/auth2rlas8 id="L122" clas82" cL122"c#L1a>
define ss="sr cL122" id="L1tk_clieS" class="sref">Mtk_clieS"=opsps"""""""""for ss="srlf+code=MAX_H1AS3>parul22"c#L1a>lascrtablec#L1/a>
)IR53c#L1".c#3==_unlock3#L124" 2d="L1245af="net/s5vor_loc3"line" na3e="L125 cla153 h2130int
s="ing">"=am:a%5u look3refup %s"+cod\n"clas812e2" s   53=RPC_AUTHcr_lr1sss="sr cL122" id="L1tk_pif="+codn_lock" ctk_pif=ops=_no122" 124<1s=>);
 22"op MAX_ps"""""""""for ss="s22"PC_Aclascredc#L1a> 22"PC_Ad="Lnb.c#3==_unlock3#L124" 2d="L1245X_H1AS3TA54234(513e" 53line" 2ame="27(HZ16f retu href="+code=MA1code=MAX_H1AS3>param_se3_hs=="net/sunrpc/au"cokup122" clascredc#L1a> "cokup122" L1a> b.c#3==_unlock3#L124" 2d="L1245X )define5f="+code=rpcauth_un3;    T=nb.c#2" id="1L72" class=523onst st5uct  1541=nb. href="h2rp3/auth.2#L321" id="L121" +co5nrpc/ause5-okfre id="L122" clas8kf5e snbits1HZHZ
define            2" s 122" id="L122" clas8122" s5e=RPC_c/a5th2rp3/auth.2#L321" id="5121" 54th.c#2nck_t" 21" +code=RPC_c/auth2rlas8rq(8rq(ss="sr cL122" id="L1tk_rq(lascrtablec#L1/a>
flavclas5kfre 54e="L123 cla12s="sref"newid="L122" clas8new1="+codn_lock" c2href=rintf 125 clas54 h2130inthref="net/sunrpc/au"cokup122" clascredc#L1a> "cokup122" L1a>22"0H1AS2f/sunref="       int         2nt M52_H1AS3TA5="sref">re2 2= -oX22" clascredc#L1a>          2 releMBO2>        2nt=am_TASK_ASYNC>spin_unlock2/a=am_TASK_ASYNC     2" sa="line" unass=ame=3a>);
33 1"cokup122" clascredc#L1a> "cokup122" L1a>2|2" clas8122" sLOOKUP=NEW>a="line" unass=ame="a>LOOKUP=NEWf="nH1AS2f/sunref="       int  11#Lc#L102" id=55ls" 55ascrtablec#L1newihref=auth.c#2mLAGPL" c2ops" clas"+co6e=ops2!hrBO2>        2nth.c#2n_lock" c2href=line na 2" s<6GPL" c2ops" clas"+co6e=opsps"""""""""for ss="srefop clascredc#L1a>    op MAX_ps"""""""""for ss="srebindclascredc#L1a>   bind retu href="+code=MAtask/auseu-okfre idtaskL1a>s=href=auth.c#2mLAGPL" c2ops" clas"+co6e=ops,t="net/sunrpc/au"cokup122" clascredc#L1a> "cokup122" L1a> b.c#3==_unlock3#L124" 2d="L1245erpc/ause5FP_KERNEe ="line" creatr5FP_KE55th.c#2_authflelse"L122" clas8"sref">oX22" clascredc#L1a>          2 releMBO2>        2nt=am_TASK_ROOT);
eS>spin_unlock2/a=am_TASK_ROOT);
eSe na 2" s
<1HZHZ "cokup122" L1a> b.c#3==_unlock3#L124" 2d="L1245e=RPC_c/a5efline;NU5L c c55"L122" clascrelse1AS2f/sunref="       int ;
5a href="net/sunrpc/line"5name=55e="L123 cla120"++L1gehref=auth.c#2mLn_no122" id="L122" clas8s="_no122" 124<1HZHZ "cokup122" L1a> b.c#3==_unlock3#L124" 2d="L1245eAS3TA14255h.c#2_h.c#L1}auth2" cla5/aut"556scrtablec#L1newiC23 93 defiIS_ERRclascredc#L1a> IS_ERRne   81oreqa hssshould nof1eqe3_hps"""""""""for ss="srq8new1="+codn_lock" c2qef=rintf        2nth.c#2n_lock" c2href=line na 2" s
        2ntpuef="+cL90"la"line" name=puef="+cL90=opsa href="+code=MAreqa hssshould nof1eqe3_hps"""""""""for ss="srq8new1="+codn_lock" c2qef=rintf3       _15ecode=>;
5aAs<1nbitspuef="+cL90"la"line" name=puef="+cL90=opsa21" +code=RPC_c/auth2r122"new1="+codn_lock" c2href=rintf] 5  120"> 122" id="L122" clas8122" s5e ="line"5creatra>);1a>
o"+codd="L122" cla23onst"+codd="k" c2href=auth.c#2mL=ame=" class="sref">a="line" unass=ame="a>);
e=code=ops" class="sref">ome=" id=6GPL" c2ops" clas"+co6e=opsps"""""""""for ss="sref122" clascredc#L1a>               4hres/0"> 122" id="L122" clas8122" s5ss="fref"5linux="L12/4" class="lin5" nam56ck" c2href="nelr1"+coL122 href="+code=MA1=" i" dec_and8"+coe=MAX_H1AS3>para=" i" dec_and8"+cok" c2s="2in3" 22>3umber_c6GPL" c2ops" clas"+co6e=opsps"""""""""for ss="srefBI2S" class="sref">MAX_H1AS2TA14es.c#3==_unlock3#L124" 2d="L1245line" nam5="1L72">17e27a=">assshou5d nof57e=1"L64"16l< href="net/sunrpsno122" 124<6GPL" c2ops" clas"+co6e=opsps"""""""""for ss="srefop clascredc#L1a>    op MAX_ps"""""""""for ss="sre nameDhclascredc#L1a>    nameDhk" c2href=auth.c#2mLAGPL" c2ops" clas"+co6e=ops H1AS2f/sunref="       int 5defin57th.c#2_authfl}1AS2f/sunref="       int 3umber_c6GPL" c2ops" clas"+co6e=opsps"""""""""for ss="srefBI2S" class="sref">MAX_H1AS2TA14class="sref">ome=" id=2href=rinsign)flavor_loc3" clahref=rinsign)TA14es.c#3==_unlock3#L124" 2d="L1245lcode=>;
5ef="ne3umber_c6GPL" c2ops" clas"+co6e=opsps"""""""""for ss="sref"c#L1 class="sref">au_2ERR_P2s/0"> 122" id="L122" clas8122" s5l ="line"5pc/auMAXFcemptfs3umber_c6GPL" c2ops" clas"+co6e=opsps"""""""""for ss="sref"c#L1 class="sref">au_2ERR_P2H1AS2f/sunref="       int a="lin    T=nb.c#2" id="1L72" class=52" clas8n5xF124<, d="L122" clascre5c#L1a58ascrtablec#L1newihref=auth.c#2mL"+codd="L122" cla23onst"+codd="k" c2href=auth.c#2mL=ame=" class="sref">a="line" unass=ame="a>);
e=code=ops" class="sref">ome=" id=6GPL" c2ops" clas"+co6e=opsps"""""""""for ss="sref122" clascredc#L1a>               !hres/0"> 122" id="L122" clas8122" s5128="net/5unrpc/auth.c#21" class="5ref">582" cL122nt
 =ame=" class=UPTODATEps" class="sref">ome=" id=6GPL" c2ops" clas"+co6e=opsps"""""""""for ss="sref122" clascredc#L1a>               !hres/0"> 122" id="L122" clas8122" s51rpc/ause5AX_H1AS2="net/sun2pc/aut5rpc/a58uth.c#L122" id="L122" class=";
<" idapi.124<6GPL" c2ops" clas"+co6e=opsps"""""""""for ss="srefL321" i" 2" class="sref"L321" ref=22" clas8122" sspin_unlock2/ajiffie"d="L88<RP2_AUTH_MAXFLAVOR5

);
e=3ode=6GPL" c2ops" clas"+co6e=opsps"""""""""for ss="sref"c#L1 class="sref">au_2ERR_Pclass="sref">ome=" id=6GPL_unusPL" c2ops" clas"+f=ri_unusPL=ops2H1AS2f/sunref="       int ;
5=2L91" class="line" nam15=2L9158e="L123 cla120"++L1geeeeeeeeea href="+co2n_lock" c2a_no nameDhclascredc#L1a> c2a_no nameDhd="L88<3 ">rpc_authflavor_    T=nb.c#2" id="1L72" class=52 ="line"5"L112" c"s29   h.c#L122"5id="L58=RPC_AUTHcr_lr1sHZHZ 122" id="L122" clas8122" s51_H1AS3TA5que="2uth_h2> 11s=4 href5"+cod58.h" class="frr1s c2a_no nameDhd="L88< 11#Lc#L100" id5"L2005913ref">a="lin    T=nb.c#2" id="1L72" class=5credc#L1"5code=RLIST_HEAce=" i" 2"5class59MBO22 = 3umber_c2href=rinsign)flavor_loc3" clahref=rinsign)TA14e88<<6GPL" c2ops" clas"+co6e=opsps"""""""""for ss="srefop clascredc#L1a>    op MAX_ps"""""""""for ss="sre nameDhclascredc#L1a>    nameDhk" c2href=auth.c#2mLAGPL" c2ops" clas"+co6e=ops H1AS2f/sunref="       int              5  nbitsc2a_no nameDhclascredc#L1a> c2a_no nameDhd="L:id="L122" clas8122" sr5c_aut59 h2130int
3umber_c2href=rinsign)flavor_loc3" clahref=rinsign)TA14e88<flav5r59.h" crn HZref">nbitsE)IRY_MORATORIUsclaL2(60ame        return HZref">nbitspuef="+cL90"la"line" name=puef="+cL90=opse88<
3" claAsnbits__betra>);1a>
< name=__betrntf 11#Lc#L100" id6a>;
<60" id=="+code=MAX_H1A2hra>HZHZ
define nbits__betra>);1a>
< name=__betrntfnbitsp"la"line" name=p=ops 2" s  61 122" id="L122" clas8122" s6"3ock" c26r=MAX_H1AS2c22" clas2e" 6/sunr60f_lock/a>
ss="sr cL122" id="L1tk_rq(ps"""""""""for ss="srq8new1="+codn_lock" c2qef=rintf<88<             624<, 60"L1228<s="ing">"=am:a%5u marshal3ref%s"+codf%p\n"clas812e8<r6/8a1260a>3 ">rpc_authflavor_no122" 124ss="sr cL122" id="L1tk_pif="+codn_lock" ctk_pif=ops=_no122" 124<6GPL" c2ops" clas"+co6e=opsps"""""""""for ss="sref+code=MAX_H1AS3>paruth2" clac/auseu-okfre id="L122" cop clascredc#L1a> 22"op MAX_ps"""""""""for ss="s22"PC_Aclascredc#L1a> 22"PC_Ad="Ls= href="+code=MAAGPL" c2ops" clas"+co6e=ops" id="L122" clas8122" sM6de=MAX_H16S3ass="sref3>rpcauth_unr6giste60line" 2ame="27(nbitstask/auseu-okfre idtaskL1a>s=rn HZref">nbitsp"la"line" name=p=ops  id="L122" clas8122" s    T=nb.c#2" id="1L72" class=6" class="6ine" na32="L131 class="l6ne" n61lasin   T=nb.c#2" id="1L72" class=6"1"""""" 6edc#L110" id="L110" claL6=" i"61" id=="+code=MAX_H1A__betra>);1a>
< name=__betrntfnbits1HZHZ
define nbits__betra>);1a>
< name=__betrntfnbitsp"la"line" name=p=ops 2" s 122" id="L122" clas8122" s6ck" c2ass6>        return ss="sr cL122" id="L1tk_rq(ps"""""""""for ss="srq8new1="+codn_lock" c2qef=rintf<88<3ass="sref">ret6= 02
61 h2130int
s="ing">"=am:a%5u val3dat3ref%s"+codf%p\n"clas812e8<  61=RPC_AUTHcr_lr1sss="sr cL122" id="L1tk_pif="+codn_lock" ctk_pif=ops=_no122" 124<6GPL" c2ops" clas"+co6e=opsps"""""""""for ss="sref+code=MAX_H1AS3>paruth2" clac/auseu-okfre id="L122" cop clascredc#L1a> 22"op MAX_ps"""""""""for ss="s22"PC_Aclascredc#L1a> 22"PC_Ad="Ls= href="+code=MAAGPL" c2ops" clas"+co6e=ops" id="L122" clas8122" sl6nux="61.h" cid="L122" clas8122" sa="line6 una361ck" c2href="n7(nbitstask/auseu-okfre idtaskL1a>s=rn HZref">nbitsp"la"line" name=p=ops  id="L122" clas8122" s<1HZ="+codn_lock" c2hra>HZ return HZref">nbitskxdrepro2"t="+codn_lock" ckxdrepro2"tk" c2rn HZref">nbitsen="+codn_lock" cen rets=21" +code=RPC_c/auth2r122"rq(8rq(e8<6aram_set_hashmp_m3__bef36eturn62f_lock/a>
nbits__betra>);1a>
< name=__betrntfnbitsdata122" clascr_inedata rets=fd="_1rn HZref">nbitsobjclascredc#L1a> cbj=ops 2" sparam_set_6aine EINV36e: si62e="L123 cla12s="sref"newid="L122" cxdr_s="eamclascredc#L1a> xdr_s="eamk" c2rn HZref">nbitsxdrclascredc#L1a> xdrntf<88< 122"6id="L62"> 1203     34   h.c#L122" id=6 L122" cl6="+code=MAX_H1AS3uth_un26e3"Ll62T=nb.c#3=ret" 2la3s="sref">rxdr_th_u8en="+codn_lock" cxdr_th_u8en class="2in3" 22>3umber_cxdrclascredc#L1a> xdrntfome=" id=2q(ps"""""""""for ss="srq8snd_buf="+codn_lock" c2q8snd_bufL1a>s=rn HZref">nbitsdata122" clascr_inedata ret  id="L122" clas8122" s="+codn_lock" cen reta href="+code=MArq(elass="sref">ome=" id=xdrclascredc#L1a> xdrntfnbitsobjclascredc#L1a> cbj=ops  id="L122" clas8122" s    T=nb.c#2" id="1L72" class=6define fc#L110" i3="L163" cl631=nb.h2rp3/auth.2#L321" id="L121" +co6line" cre6tra>);1a>
nbits1HZHZ
define nbitskxdrepro2"t="+codn_lock" ckxdrepro2"tk" c2rn HZref">nbitsen="+codn_lock" cen rets=fd="_1rn HZref">nbitsrq(e8<);
<3386
nbitsdata122" clascr_inedata rets=fd="_1rn HZref">nbitsobjclascredc#L1a> cbj=ops 2" s[EINV36 h2" 63f="+code=lock"clear_bif">param_set_6aine )IR63e="L123 cla12s="sref"newid="L122" clas8new1="+codn_lock" c2href=rintfss="sr cL122" id="L1tk_rq(ps"""""""""for ss="srq8new1="+codn_lock" c2qef=rintf<88< 1203     34   h.c#L122" id=6L122" cla6/4" class="line" name="L6">   63T=nb.c#3=ret" 2la3s="sref">rdprhreL122" clascr_inedprhreL returclas8"sref">s="ing">"=am:a%5u us3ref%s"+codf%p to wrap .c# data\n"clas812e8<613e" 63.h" class="frr1sss="sr cL122" id="L1tk_pif="+codn_lock" ctk_pif=ops=_no122" 124<6GPL" c2ops" clas"+co6e=opsps"""""""""for ss="srefop clascredc#L1a>    op MAX_ps"""""""""for ss="sre"PC_Aclascredc#L1a> re"PC_Ad="Ls= href="+code=MAAGPL" c2ops" clas"+co6e=ops" id="L122" clas8122" s    op MAX_ps"""""""""for ss="srewrap_req="+codn_lock" crewrap_req=ops 2" s    op MAX_ps"""""""""for ss="srewrap_req="+codn_lock" crewrap_req=opsurn HZref">nbitstask/auseu-okfre idtaskL1a>s=rn HZref">nbitsen="+codn_lock" cen rets= href="+code=MArq(elrn HZref">nbitsdata122" clascr_inedata rets=rn HZref">nbitsobjclascredc#L1a> cbj=ops  id="L122" clas8122" s 164href="net/sunrL122" clas8122" s the argu s2 = HZ="+codn_lock" c2hra>HZ return HZref">nbitsen="+codn_lock" cen rets= href="+code=MArq(elrn HZref">nbitsdata122" clascr_inedata rets=rn HZref">nbitsobjclascredc#L1a> cbj=ops  id="L122" clas8122" s);
<3386 pc/auth.c#2127-2href="n6lr1"+64f_lock/a>
flavclas6kfre 64c#L1".c#3==_unlock3#L124" 2d="L12461AS3TA14264( 126 clas64 h213 href="h2rp3/auth.2#L321" id="L121" +co61122" cla6 hre2 h>        2nt HZ return HZref">nbitskxdrdpro2"t="+codn_lock" ckxdrdpro2"tk" c2rn HZref">nbitsde="+codn_lock" cde rets=21" +code=RPC_c/auth2r122"rq(8rq(e8<re2 2= -nbitsdata122" clascr_inedata rets=fd="_1rn HZref">nbitsobjclascredc#L1a> cbj=ops 2" sparam_set_6ef=2" nam6="L110"> 11#Lc#L102" id=65ls" 65e=1"L64"16l<  idapi.124<>;
/auth.c#xdr_s="eamclascredc#L1a> xdr_s="eamk" c2rn HZref">nbitsxdrclascredc#L1a> xdrntf<88<2 = ="+codn_lock" cxdr_th_u8de class="2in3" 22>3umber_cxdrclascredc#L1a> xdrntfome=" id=2q(ps"""""""""for ss="srq8rcv_buf="+codn_lock" c2q8rcv_bufL1a>s=rn HZref">nbitsdata122" clascr_inedata ret  id="L122" clas8122" s
nbitsde="+codn_lock" cde reta href="+code=MArq(elass="sref">ome=" id=xdrclascredc#L1a> xdrntfnbitsobjclascredc#L1a> cbj=ops  id="L122" clas8122" sNU6L c c65
<24a    T=nb.c#2" id="1L72" class=6+code=>;
6a href="net/sunrpc/line"6name=65c#L1".c#3==_unlock3#L124" 2d="L1246eAS3TA14265h.c#2_h.c#L1}auth2" cla6/aut"656scrth2rp3/auth.2#L321" id="L121" +co6e122" cla6>  81HZHZ
define nbitskxdrdpro2"t="+codn_lock" ckxdrdpro2"tk" c2rn HZref">nbitsde="+codn_lock" cde rets=fd="_1rn HZref">nbitsrq(e8<nbitsdata122" clascr_inedata rets=fd="_1rn HZref">nbitsobjclascredc#L1a> cbj=ops 2" s
param_set_63c#2_h.c#61092fl;
;
/auth.c#las8new1="+codn_lock" c2href=rintfss="sr cL122" id="L1tk_rq(ps"""""""""for ss="srq8new1="+codn_lock" c2qef=rintf<88<s="ing">"=am:a%5u us3ref%s"+codf%p to unwrap .c# data\n"clas812e8<
<6GPL" c2ops" clas"+co6e=opsps"""""""""for ss="srefop clascredc#L1a>    op MAX_ps"""""""""for ss="sre"PC_Aclascredc#L1a> re"PC_Ad="Ls= href="+code=MAAGPL" c2ops" clas"+co6e=ops" id="L122" clas8122" s<6GPL" c2ops" clas"+co6e=opsps"""""""""for ss="srefop clascredc#L1a>    op MAX_ps"""""""""for ss="sreunwrap_resp="+codn_lock" creunwrap_resp=ops 2" s;
6aAs<1<6GPL" c2ops" clas"+co6e=opsps"""""""""for ss="srefop clascredc#L1a>    op MAX_ps"""""""""for ss="sreunwrap_resp="+codn_lock" creunwrap_resp=opsurn HZref">nbitstask/auseu-okfre idtaskL1a>s=rn HZref">nbitsde="+codn_lock" cde rets=rn HZref">nbitsrq(e8<] 6 3 ">rpc_authflavor____________________________________rn HZref">nbitsdata122" clascr_inedata rets=rn HZref">nbitsobjclascredc#L1a> cbj=ops  id="L122" clas8122" s);1a>
 the argu sHZ="+codn_lock" c2hra>HZ return HZref">nbitsde="+codn_lock" cde rets=rn HZref">nbitsrq(e_rn HZref">nbitsdata122" clascr_inedata rets=rn HZref">nbitsobjclascredc#L1a> cbj=ops  id="L122" clas8122" s    T=nb.c#2" id="1L72" class=6line" nam6="1L72">17e27a=">assshou6d nof67lasin   T=nb.c#2" id="1L72" class=6n2cla"lin6"2name="L123 cla120"26defin67uth.crn HZref">nbits1HZHZ
define  122" id="L122" clas8122" s6e=ret" 2c6ass="sref"heaode=RPC_AUT6_MAXh67th.c#2nck_t"  idapi.124<>;
/auth.c#las8new1="+codn_lock" c2href=rintf;
6ef="ne err=ops id="L122" clas8122" s 1203     34   h.c#L122" id=6l ="line"6pc/auMAXFcemptfsrAGPL" c2ops" clas"+co6e=ops="_no122" 124ss="sr cL122" id="L1tk_rq(ps"""""""""for ss="srq8new1="+codn_lock" c2qef=rintf<88<oAGPL" c2ops" clas"+co6e=ops="hrBO2>        2nth.c#2n_lock" c2href=line na /0"> 122" id="L122" clas8122" s6ns="fref"6 clac/aut"eaode=RPC_AUTH6MAXhe67ck" c2href="nelr1"+coBO2>        2nterrclascredc#L1a> err=ops="_no122" 124<1HZHZnbitstask/auseu-okfre idtaskL1a>s=rn HZref">nbitstask/auseu-okfre idtaskL1a>ss="sr cL122" id="L1tk_msg="+codn_lock" ctk_msgL1a>.2 = nbitstask/auseu-okfre idtaskL1a>ss="sr cL122" id="L1tk_122" clascredc#L1a> tk_122" =ops  id="L122" clas8122" soerrclascredc#L1a> err=ops=< 0 2" s682" cL122nt
 cutntf<88<rAGPL" c2ops" clas"+co6e=ops="_no122" 124ss="sr cL122" id="L1tk_rq(ps"""""""""for ss="srq8new1="+codn_lock" c2qef=rintf<88<RP2_AUTH_MAXFLAVOR6

s="ing">"=am:a%5u Zreresh3ref%s"+codf%p\n"clas812e8<;
6=2L91" class="line" nam16=2L9168e="L123 cla120"++L1ge=RPC_AUTH_MAXFLtask/auseu-okfre idtaskL1a>ss="sr cL122" id="L1tk_pif="+codn_lock" ctk_pif=ops=_no122" 124<6GPL" c2ops" clas"+co6e=opsps"""""""""for ss="sref+code=MAX_H1AS3>paruth2" clac/auseu-okfre id="L122" cop clascredc#L1a> 22"op MAX_ps"""""""""for ss="s22"PC_Aclascredc#L1a> 22"PC_Ad="Ls= href="+code=MAAGPL" c2ops" clas"+co6e=ops" id="L122" clas8122" s 1203     34   h.c#L122" id=62 ="line"6"L112" c"s29   h.c#L122"6id="L68T=nb.c#3=ret" 2la3s="sref">rerrclascredc#L1a> err=ops="_no122" 124<6GPL" c2ops" clas"+co6e=opsps"""""""""for ss="srefop clascredc#L1a>    op MAX_ps"""""""""for ss="sreZrereshclascredc#L1a>   Zreresh return HZref">nbitstask/auseu-okfre idtaskL1a>" id="L122" clas8122" s 11s=4 href6"+cod68.h" crn HZref">nbitsc2aclascredc#L1a> cutntf<:id="L122" clas8122" s err=ops=< 0 2" sss="sr cL122" id="L1tk_ hreu clascredc#L1a> tk_ hreu =ops="_no122" 124 err=ops id="L122" clas8122" s 11#Lc#L100" id6"L20069" class="sref7( err=ops id="L122" clas8122" s             6         _16f="auth.c6L69" id="L69" class="" i6api.h69MORATORIUsref">nbits2hra>HZHZ
define r6c_aut69"> 120"> 122" id="L122" clas8122" s6< ="line"6l29mber_cred109;
/auth.c#las8new1="+codn_lock" c2href=rintfss="sr cL122" id="L1tk_rq(ps"""""""""for ss="srq8new1="+codn_lock" c2qef=rintf<88<<122" id="L122" clas8122" s6<_H1AS3TA6classIS_ERRs="sref">flav6r69.h" cid="L122" clas8122" srdprhreL122" clascr_inedprhreL returclas8"sref">s="ing">"=am:a%5u inval3dat3ref%s"+codf%p\n"clas812e8<
3" claAsss="sr cL122" id="L1tk_pif="+codn_lock" ctk_pif=ops=_no122" 124<6GPL" c2ops" clas"+co6e=opsps"""""""""for ss="sref+code=MAX_H1AS3>paruth2" clac/auseu-okfre id="L122" cop clascredc#L1a> 22"op MAX_ps"""""""""for ss="s22"PC_Aclascredc#L1a> 22"PC_Ad="Ls= href="+code=MAAGPL" c2ops" clas"+co6e=ops" id="L122" clas8122" s 11#Lc#L100" id7a>;
<70" class="srefL122" clas8"sref">oAGPL" c2ops" clas"+co6e=ops 2" s  71rAleardd="L122" cla23onstAleardd=" return HZref">nbits=ame=" class=UPTODATEclascredc#L1a> =ame=" class=UPTODATEps" class="sref">ome=" id=6GPL" c2ops" clas"+co6e=opsps"""""""""for ss="sref122" clascredc#L1a>               id="L122" clas8122" s             724<, 70"L1228<r7/8a1270a>3 "="net/sunrpc/autHZHZ
define  122" id="L122" clas8122" s7de=MAX_H17S3ass="sref3>rpcauth_unr7giste70line" 2ame="2 idapi.124<>;
/auth.c#las8new1="+codn_lock" c2href=rintfss="sr cL122" id="L1tk_rq(ps"""""""""for ss="srq8new1="+codn_lock" c2qef=rintf<88<<122" id="L122" clas8122" s7d9=MAX_H17S22" s<6GPL" c2ops" clas"+co6e=ops="hrBO2>        2nth.c#2n_lock" c2href=line na ||8< =ame=" class=UPTODATEps" class="sref">ome=" id=6GPL" c2ops" clas"+co6e=opsps"""""""""for ss="sref122" clascredc#L1a>               !hre88<<122" id="L122" clas8122" s7e" name="71atomi3_de"l3nd_tesL_loc7        return  sh"inker" cL1124<>;
/auth.c#las8new1_sh"inkerclascredc#L1a> las8new1_sh"inker=ops="_0"> 122" id="L122" clas8122" s7fine  sh"ink=ops="_no122" 124<1HZ lasa>HZ 122" id="L122" clas8122" s7f6ock" c2720"a>3ass="sref">ret7= 02
71 h2130int.2 =  seek =ops="_no122" 124spin_unlock2/aDEFAULT_SEEKSps" c"> 122" id="L122" clas8122" s7f7" c2ass7s/4" class="line" name="74">  71=RPC_}88<<122" id="L122" clas8122" s7ee=MAX_H17ne" 32.h" class="fref">l7nux="71.h" cid="L122" clas8122" sa="line7 una371ck" chref="net/sunrpc/au_uth_unregister" cl"+_uth_uk" c_no122" 124<1HZ="+codn_lock" c2hra>HZk" c2fd=" 2" s 122" id="L122" clas8122" s7as8"sref"7oth.c#2_2" cL122" s err=ops id="L122" clas8122" s
        2nterrclascredc#L1a> err=ops="_no122" 124<1 las8th_u8 err=ops=< 0 2" sEINV37e: si72e="L123 cla120"++L1gea href="+co2n_lock" c2a1clascredc#L1a> c2a1=ops id="L122" clas8122" s 122"7id="L72 h2130int
<1par1 err=ops=< 0 2" s);1a>
< name=c2ar=ops id="L122" clas8122" srregister legister3umber_c2href=ri_sh"inkerclascredc#L1a> las8new1_sh"inker=ops  id="L122" clas8122" sfc#L110" i3="L173" cl73" id=="+code=MAX_H1Ac2ara>);1a>
< name=c2ar=ops:id="L122" clas8122" s);1a>
);
<3387 c2a1=ops:id="L122" clas8122" sEINV37 h2" 73"L122" clascr7()IR73e="L1    T=nb.c#2" id="1L72" class=7af="net/s7vor_loc3"line" na3e="L127 cla173"> 1203     34   h.c#L122" id=7L122" cla7/4" class="line" name="L7">   73T=nb.fd="_no122" 124<1HZ="+codn_lock" c2hra>HZk" c2fd=" 2" s713e" 73.h" c0"> 122" id="L122" clas8122" s7X )define7f="+code=rpcauth_un3;rr las8 nameDh8rrpar1 174href="net/sunr2la3s="sref">r122egister 122egister3umber_c2href=ri_sh"inkerclascredc#L1a> las8new1_sh"inker=ops  id="L122" clas8122" s);
<3387 pc/auth.c#2127-2href="n7lr1"+74f_loc


The original LXR software by the T=nb.c#http://sourceforge.2" iprojects/lxr">LXR 22" unithk" c, this experi slxr@212ux.nok" c.
lxr.212ux.no kindly hosted by T=nb.c#http://www.ew1pill-212pro.no">Rw1pill L12pro ASps" c provider of L12ux 22nsult3refand operations services since 1995.