Date: Fri, 14 Nov 1997 16:38:08 -0500 (EST)
From: Chris Dent <cdent@kiva.net>
To: pam-list@redhat.com
Subject: pam_nislistfile (was Re: pam_regex )

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime@docserver.cac.washington.edu for more info.

--1640893760-59190026-879543488=:1571
Content-Type: TEXT/PLAIN; charset=US-ASCII

On Fri, 14 Nov 1997, Michael K. Johnson wrote:

> People have asked for the pam_nislistfile module before, so I'm quite
> sure that's welcome news.

I've attached the c source. It uses basically the same Makefile as
listfile. Hell, it basically is listfile. I can claim no real credit
for this :)

It is listfile with the group matching taken out and the file reading
loop changed to a yp_matching routine.

..........................
Chris Dent........SysAdmin
...........Kiva Networking

--1640893760-59190026-879543488=:1571
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="pam_nislistfile.c"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.3.95.971114163808.1571B@kold.kiva.net>
Content-Description: pam listfile with nis instead

LyoNCiAqIGJ5IENocmlzIERlbnQgPGNkZW50QGtpdmEubmV0PiBmb3IgS2l2
YSBOZXR3b3JraW5nDQogKiBKdWx5IDI1LCAxOTk2Lg0KICogVGhpcyBjb2Rl
IHNoYW1lbGVzc2x5IHJpcHBlZCBmcm9tIHRoZSBwYW1fbGlzZmlsZSBtb2R1
bGUNCiAqIGFuZCBpdCB3YXMgcmlwcGVkIGZyb20gdGhlIHBhbV9yb290b2sg
bW9kdWxlLg0KICogQW5kIHRoYXQgaXMgd2h5IExpbnV4IChhbmQgYXNzb2Np
YXRlcykgaXMgYSBncmVhdCB0aGluZy4NCiAqLw0KDQojZGVmaW5lIF9TVklE
X1NPVVJDRQ0KI2RlZmluZSBfQlNEX1NPVVJDRQ0KI2RlZmluZSBfX1VTRV9C
U0QNCiNkZWZpbmUgX19VU0VfU1ZJRA0KI2RlZmluZSBfX1VTRV9NSVNDDQoj
aW5jbHVkZSA8c3RkaW8uaD4NCiNpbmNsdWRlIDxzdGRsaWIuaD4NCiNpbmNs
dWRlIDxzeXMvdHlwZXMuaD4NCiNpbmNsdWRlIDxzeXMvc3RhdC5oPg0KI2lu
Y2x1ZGUgPHVuaXN0ZC5oPg0KI2luY2x1ZGUgPHN5c2xvZy5oPg0KI2luY2x1
ZGUgPHN0ZGFyZy5oPg0KI2luY2x1ZGUgPHN0cmluZy5oPg0KDQojaW5jbHVk
ZSA8cnBjc3ZjL3lwY2xudC5oPg0KDQojaWZkZWYgREVCVUcNCiNpbmNsdWRl
IDxhc3NlcnQuaD4NCiNlbmRpZg0KDQovKg0KICogaGVyZSwgd2UgbWFrZSBh
IGRlZmluaXRpb24gZm9yIHRoZSBleHRlcm5hbGx5IGFjY2Vzc2libGUgZnVu
Y3Rpb24NCiAqIGluIHRoaXMgZmlsZSAodGhpcyBkZWZpbml0aW9uIGlzIHJl
cXVpcmVkIGZvciBzdGF0aWMgYSBtb2R1bGUNCiAqIGJ1dCBzdHJvbmdseSBl
bmNvdXJhZ2VkIGdlbmVyYWxseSkgaXQgaXMgdXNlZCB0byBpbnN0cnVjdCB0
aGUNCiAqIG1vZHVsZXMgaW5jbHVkZSBmaWxlIHRvIGRlZmluZSB0aGUgZnVu
Y3Rpb24gcHJvdG90eXBlcy4NCiAqLw0KDQojZGVmaW5lIFBBTV9TTV9BVVRI
DQoNCiNpbmNsdWRlIDxzZWN1cml0eS9wYW1fbW9kdWxlcy5oPg0KDQovKiBz
b21lIHN5c2xvZ2dpbmcgKi8NCg0Kc3RhdGljIHZvaWQgX3BhbV9sb2coaW50
IGVyciwgY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pDQp7DQogICAgdmFfbGlz
dCBhcmdzOw0KDQogICAgdmFfc3RhcnQoYXJncywgZm9ybWF0KTsNCiAgICBv
cGVubG9nKCJQQU0tbmlzbGlzdGZpbGUiLCBMT0dfQ09OU3xMT0dfUElELCBM
T0dfQVVUSCk7DQogICAgdnN5c2xvZyhlcnIsIGZvcm1hdCwgYXJncyk7DQog
ICAgdmFfZW5kKGFyZ3MpOw0KICAgIGNsb3NlbG9nKCk7DQp9DQoNCi8qIE91
ciBvd24gc3RyZHVwKCktc3R5bGUgcm91dGluZSAqLw0Kc3RhdGljIGNoYXIg
KnhzdHJkdXAoY29uc3QgY2hhciAqeCkNCnsNCiAgICBjaGFyICpzOw0KICAg
IA0KICAgIGlmICgocyA9IChjaGFyICopIG1hbGxvYyhzdHJsZW4oeCkrMSkp
KSB7DQoJc3RyY3B5KHMseCk7DQogICAgfQ0KICAgIA0KICAgIHJldHVybiBz
Ow0KfQ0KDQovKiAtLS0gYXV0aGVudGljYXRpb24gbWFuYWdlbWVudCBmdW5j
dGlvbnMgKG9ubHkpIC0tLSAqLw0KDQovKiBDb25zdGFudHMgZm9yIGFwcGx5
PSBwYXJhbWV0ZXIgKi8NCiNkZWZpbmUgQVBQTFlfVFlQRV9OVUxMCQkwDQoj
ZGVmaW5lIEFQUExZX1RZUEVfTk9ORQkJMQ0KI2RlZmluZSBBUFBMWV9UWVBF
X1VTRVIJCTINCiNkZWZpbmUgQVBQTFlfVFlQRV9HUk9VUAkzDQoNClBBTV9F
WFRFUk4NCmludCBwYW1fc21fYXV0aGVudGljYXRlKHBhbV9oYW5kbGVfdCAq
cGFtaCwgaW50IGZsYWdzLCBpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3Yp
DQp7DQoJaW50IHJldHZhbCwgaSwgY2l0ZW09MCwgb25lcnI9UEFNX1NFUlZJ
Q0VfRVJSLCBzZW5zZT0yOw0KCWNvbnN0IGNoYXIgKmNpdGVtcDsNCgljaGFy
ICppZm5hbWU9TlVMTDsNCgljaGFyIG15YnVmWzI1Nl0sbXl2YWxbMjU2XTsN
Cg0KCWNoYXIgKmRvbWFpbm5hbWU7DQoJY2hhciAqbWFwZW50cnk7DQoJaW50
IHlwZXJyOw0KCWludCBlbnRyeWxlbjsNCg0KCWZvcihpPTA7IGkgPCBhcmdj
OyBpKyspIHsNCgkJew0KCQkJY2hhciAqanVuazsNCgkJCWp1bmsgPSAoY2hh
ciAqKSBtYWxsb2Moc3RybGVuKGFyZ3ZbaV0pKzEpOw0KCQkJaWYgKGp1bmsg
PT0gTlVMTCkgew0KCQkJCXJldHVybiBQQU1fQlVGX0VSUjsNCgkJCX0NCgkJ
CXN0cmNweShqdW5rLGFyZ3ZbaV0pOw0KCQkJc3RybmNweShteWJ1ZixzdHJ0
b2soanVuaywiPSIpLDI1NSk7DQoJCQlzdHJuY3B5KG15dmFsLHN0cnRvayhO
VUxMLCI9IiksMjU1KTsNCgkJCWZyZWUoanVuayk7DQoJCX0NCgkJaWYoIXN0
cmNtcChteWJ1Ziwib25lcnIiKSkNCgkJCQlpZighc3RyY21wKG15dmFsLCJz
dWNjZWVkIikpDQoJCQlvbmVyciA9IFBBTV9TVUNDRVNTOw0KCQkJCWVsc2Ug
aWYoIXN0cmNtcChteXZhbCwiZmFpbCIpKQ0KCQkJb25lcnIgPSBQQU1fU0VS
VklDRV9FUlI7DQoJCQkJZWxzZQ0KCQkJcmV0dXJuIFBBTV9TRVJWSUNFX0VS
UjsNCgkJZWxzZSBpZighc3RyY21wKG15YnVmLCJzZW5zZSIpKQ0KCQkJCWlm
KCFzdHJjbXAobXl2YWwsImFsbG93IikpDQoJCQlzZW5zZT0wOw0KCQllbHNl
IGlmKCFzdHJjbXAobXl2YWwsImRlbnkiKSkNCgkJCXNlbnNlPTE7DQoJCWVs
c2UNCgkJCXJldHVybiBvbmVycjsNCgkJZWxzZSBpZighc3RyY21wKG15YnVm
LCJtYXAiKSkgew0KCQkJaWZuYW1lID0gKGNoYXIgKiltYWxsb2Moc3RybGVu
KG15dmFsKSsxKTsNCgkJCXN0cmNweShpZm5hbWUsbXl2YWwpOw0KCQkJX3Bh
bV9sb2coTE9HX0VSUiwiR290IGZvciBtYXA6ICVzPSVzIixteWJ1ZiwgbXl2
YWwpOw0KCQl9IGVsc2UgaWYoIXN0cmNtcChteWJ1ZiwiaXRlbSIpKSB7DQoJ
CQlpZighc3RyY21wKG15dmFsLCJ1c2VyIikpDQoJCQkJY2l0ZW0gPSBQQU1f
VVNFUjsNCgkJCWVsc2UgaWYoIXN0cmNtcChteXZhbCwidHR5IikpDQoJCQkJ
Y2l0ZW0gPSBQQU1fVFRZOw0KCQkJZWxzZSBpZighc3RyY21wKG15dmFsLCJy
aG9zdCIpKQ0KCQkJCWNpdGVtID0gUEFNX1JIT1NUOw0KCQkJZWxzZSBpZigh
c3RyY21wKG15dmFsLCJydXNlciIpKQ0KCQkJCWNpdGVtID0gUEFNX1JVU0VS
Ow0KCQkJZWxzZQ0KCQkJCWNpdGVtID0gMDsNCgkJfSBlbHNlIHsgDQoJCQlf
cGFtX2xvZyhMT0dfRVJSLCJVbmtub3duIG9wdGlvbjogJXMiLG15YnVmKTsN
CgkJCXJldHVybiBvbmVycjsNCgkJfQ0KCX0NCg0KDQoJaWYoIWNpdGVtKSB7
DQoJCV9wYW1fbG9nKExPR19FUlIsIlVua25vd24gaXRlbSBvciBpdGVtIG5v
dCBzcGVjaWZpZWQiKTsNCgkJcmV0dXJuIG9uZXJyOw0KCX0gZWxzZSBpZigh
aWZuYW1lKSB7DQoJCV9wYW1fbG9nKExPR19FUlIsIkxpc3QgbWFwIG5vdCBz
cGVjaWZpZWQiKTsNCgkJcmV0dXJuIG9uZXJyOw0KCX0gZWxzZSBpZihzZW5z
ZSA9PSAyKSB7DQoJCV9wYW1fbG9nKExPR19FUlIsIlVua25vd24gc2Vuc2Ug
b3Igc2Vuc2Ugbm90IHNwZWNpZmllZCIpOw0KCQlyZXR1cm4gb25lcnI7DQoJ
fQ0KDQoJcmV0dmFsID0gcGFtX2dldF9pdGVtKHBhbWgsY2l0ZW0sKGNvbnN0
IHZvaWQgKiopJmNpdGVtcCk7DQoJaWYocmV0dmFsICE9IFBBTV9TVUNDRVNT
KSB7DQoJCXJldHVybiBvbmVycjsNCgl9DQoJaWYoKGNpdGVtID09IFBBTV9V
U0VSKSAmJiAhY2l0ZW1wKSB7DQoJCXBhbV9nZXRfdXNlcihwYW1oLCZjaXRl
bXAsTlVMTCk7DQoJCWlmIChyZXR2YWwgIT0gUEFNX1NVQ0NFU1MpDQoJCQly
ZXR1cm4gUEFNX1NFUlZJQ0VfRVJSOw0KCX0NCg0KCWlmKCFjaXRlbXAgfHwg
KHN0cmxlbihjaXRlbXApIDw9IDApKSB7DQoJCS8qIFRoZSBpdGVtIHdhcyBO
VUxMIC0gd2UgYXJlIHN1cmUgbm90IHRvIG1hdGNoICovDQoJCXJldHVybiBz
ZW5zZT9QQU1fU1VDQ0VTUzpQQU1fQVVUSF9FUlI7DQoJfQ0KDQojaWZkZWYg
REVCVUcNCiAgICBfcGFtX2xvZyhMT0dfSU5GTywiR290IG1hcCA9ICVzLCBp
dGVtID0gJWQsIHZhbHVlID0gJXMsIHNlbnNlID0gJWQiLA0KCSAgICAgaWZu
YW1lLCBjaXRlbSwgY2l0ZW1wLCBzZW5zZSk7DQojZW5kaWYNCgkvKiBEbyBz
b21lIE5bSVldUyAqLw0KCXlwX2dldF9kZWZhdWx0X2RvbWFpbigmZG9tYWlu
bmFtZSk7DQoJeXBfYmluZChkb21haW5uYW1lKTsNCgl5cGVyciA9IHlwX21h
dGNoKGRvbWFpbm5hbWUsIGlmbmFtZSwgY2l0ZW1wLCBzdHJsZW4oY2l0ZW1w
KSwNCgkgICAgICAgICAgICAgICAgICZtYXBlbnRyeSwgJmVudHJ5bGVuKTsN
CiNpZmRlZiBERUJVRw0KCWFzc2VydChQQU1fU1VDQ0VTUyA9PSAwKTsNCglh
c3NlcnQoUEFNX0FVVEhfRVJSICE9IDApOw0KI2VuZGlmDQoJaWYgKHlwZXJy
KSB7DQoJCWlmICh5cGVyciAhPSBZUEVSUl9LRVkpIHsNCgkJCWlmIChvbmVy
ciA9PSBQQU1fU0VSVklDRV9FUlIpIHsNCgkJCS8qIG9ubHkgcmVwb3J0IGFu
IGVycm9yIGlmIHRoYXQncyBjb25zaWRlcmVkIGJhZCAqLw0KCQkJCV9wYW1f
bG9nKExPR19FUlIsICJFcnJvciBvcGVuaW5nICVzIiwgaWZuYW1lKTsNCgkJ
CX0NCgkJCXJldHVybiBvbmVycjsNCgkJfSBlbHNlIHsNCgkJCXJldHZhbCA9
IFBBTV9BVVRIX0VSUjsNCgkJfQ0KCX0gZWxzZSB7DQoJCXJldHZhbCA9IFBB
TV9TVUNDRVNTOw0KCX0NCglmcmVlKGlmbmFtZSk7DQoNCglpZihyZXR2YWwp
IHsNCiNpZmRlZiBERUJVRw0KCQlzeXNsb2coTE9HX0lORk8sIlJldHVybmlu
ZyAlZCwgcmV0dmFsID0gJWQiLA0KCQkJc2Vuc2U/UEFNX0FVVEhfRVJSOlBB
TV9TVUNDRVNTLCByZXR2YWwpOw0KI2VuZGlmDQoJCXJldHVybiBzZW5zZT9Q
QU1fU1VDQ0VTUzpQQU1fQVVUSF9FUlI7DQoJfSBlbHNlIHsNCiNpZmRlZiBE
RUJVRw0KCQlzeXNsb2coTE9HX0lORk8sIlJldHVybmluZyAlZCwgcmV0dmFs
ID0gJWQiLA0KCQkJc2Vuc2U/UEFNX1NVQ0NFU1M6UEFNX0FVVEhfRVJSLCBy
ZXR2YWwpOw0KI2VuZGlmDQoJCXJldHVybiBzZW5zZT9QQU1fQVVUSF9FUlI6
UEFNX1NVQ0NFU1M7DQoJfQ0KfQ0KDQpQQU1fRVhURVJODQppbnQgcGFtX3Nt
X3NldGNyZWQocGFtX2hhbmRsZV90ICpwYW1oLCBpbnQgZmxhZ3MsIGludCBh
cmdjLCBjb25zdCBjaGFyICoqYXJndikNCnsNCiAgICByZXR1cm4gUEFNX1NV
Q0NFU1M7DQp9DQoNCiNpZmRlZiBQQU1fU1RBVElDDQoNCi8qIHN0YXRpYyBt
b2R1bGUgZGF0YSAqLw0KDQpzdHJ1Y3QgcGFtX21vZHVsZSBfcGFtX25pc2xp
c3RmaWxlX21vZHN0cnVjdCA9IHsNCiAgICAicGFtX25pc2xpc3RmaWxlIiwN
CiAgICBwYW1fc21fYXV0aGVudGljYXRlLA0KICAgIHBhbV9zbV9zZXRjcmVk
LA0KICAgIE5VTEwsDQogICAgTlVMTCwNCiAgICBOVUxMLA0KICAgIE5VTEws
DQp9Ow0KDQojZW5kaWYNCg0KLyogZW5kIG9mIG1vZHVsZSBkZWZpbml0aW9u
ICovDQoNCg==
--1640893760-59190026-879543488=:1571--

-- 
To unsubscribe: mail -s unsubscribe pam-list-request@redhat.com < /dev/null