Blame tests/test_nsscmds.sh

Packit 6bd9ab
#!/bin/sh
Packit 6bd9ab
Packit 6bd9ab
# test_nsscmds.sh - simple test script to check output of name lookup commands
Packit 6bd9ab
#
Packit 6bd9ab
# Copyright (C) 2007-2017 Arthur de Jong
Packit 6bd9ab
#
Packit 6bd9ab
# This library is free software; you can redistribute it and/or
Packit 6bd9ab
# modify it under the terms of the GNU Lesser General Public
Packit 6bd9ab
# License as published by the Free Software Foundation; either
Packit 6bd9ab
# version 2.1 of the License, or (at your option) any later version.
Packit 6bd9ab
#
Packit 6bd9ab
# This library is distributed in the hope that it will be useful,
Packit 6bd9ab
# but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit 6bd9ab
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit 6bd9ab
# Lesser General Public License for more details.
Packit 6bd9ab
#
Packit 6bd9ab
# You should have received a copy of the GNU Lesser General Public
Packit 6bd9ab
# License along with this library; if not, write to the Free Software
Packit 6bd9ab
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
Packit 6bd9ab
# 02110-1301 USA
Packit 6bd9ab
Packit 6bd9ab
# This script expects to be run in an environment where nss-pam-ldapd
Packit 6bd9ab
# is deployed with an LDAP server with the proper content (and nslcd running).
Packit 6bd9ab
# It's probably best to run this in an environment without nscd (this breaks
Packit 6bd9ab
# the services tests).
Packit 6bd9ab
Packit 6bd9ab
set -e
Packit 6bd9ab
Packit 6bd9ab
# find source directory
Packit 6bd9ab
srcdir="${srcdir-`dirname "$0"`}"
Packit 6bd9ab
builddir="${builddir-`dirname "$0"`}"
Packit 6bd9ab
top_builddir="${top_builddir-${builddir}/..}"
Packit 6bd9ab
Packit 6bd9ab
# ensure that we are running in the test environment
Packit 6bd9ab
"$srcdir/testenv.sh" check || exit 77
Packit 6bd9ab
Packit 6bd9ab
# preload our own NSS module
Packit 6bd9ab
if [ -e "$top_builddir/nss/nss_ldap.so" ]
Packit 6bd9ab
then
Packit 6bd9ab
  LD_PRELOAD="$top_builddir/nss/nss_ldap.so"
Packit 6bd9ab
  export LD_PRELOAD
Packit 6bd9ab
fi
Packit 6bd9ab
Packit 6bd9ab
# the total number of errors
Packit 6bd9ab
FAIL=0
Packit 6bd9ab
Packit 6bd9ab
check() {
Packit 6bd9ab
  # the command to execute
Packit 6bd9ab
  cmd="$1"
Packit 6bd9ab
  # save the expected output
Packit 6bd9ab
  expectfile=`mktemp -t expected.XXXXXX 2> /dev/null || tempfile -s .expected 2> /dev/null`
Packit 6bd9ab
  cat > "$expectfile"
Packit 6bd9ab
  # run the command
Packit 6bd9ab
  echo 'test_nsscmds.sh: checking "'"$cmd"'"'
Packit 6bd9ab
  actualfile=`mktemp -t actual.XXXXXX 2> /dev/null || tempfile -s .actual 2> /dev/null`
Packit 6bd9ab
  eval "$cmd" > "$actualfile" 2>&1 || true
Packit 6bd9ab
  # check for differences
Packit 6bd9ab
  diff -Nauwi "$expectfile" "$actualfile" || FAIL=`expr $FAIL + 1`
Packit 6bd9ab
  # remove temporary files
Packit 6bd9ab
  rm "$expectfile" "$actualfile"
Packit 6bd9ab
}
Packit 6bd9ab
Packit 6bd9ab
###########################################################################
Packit 6bd9ab
Packit 6bd9ab
if grep '^aliases.*ldap' /etc/nsswitch.conf > /dev/null 2>&1
Packit 6bd9ab
then
Packit 6bd9ab
echo "test_nsscmds.sh: testing aliases..."
Packit 6bd9ab
Packit 6bd9ab
# note that this doesn't work if /etc/aliases contains anything
Packit 6bd9ab
Packit 6bd9ab
# check all aliases
Packit 6bd9ab
check "getent aliases|sort" << EOM
Packit 6bd9ab
bar2:           foobar@example.com
Packit 6bd9ab
bar:            foobar@example.com
Packit 6bd9ab
foo:            bar@example.com
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
# get alias by name
Packit 6bd9ab
check "getent aliases foo" << EOM
Packit 6bd9ab
foo:            bar@example.com
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
# get alias by second name
Packit 6bd9ab
check "getent aliases bar2" << EOM
Packit 6bd9ab
bar2:           foobar@example.com
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
# get alias by different case
Packit 6bd9ab
check "getent aliases FOO" << EOM
Packit 6bd9ab
foo:            bar@example.com
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
fi  # end of aliases tests
Packit 6bd9ab
Packit 6bd9ab
###########################################################################
Packit 6bd9ab
Packit 6bd9ab
if grep '^ethers.*ldap' /etc/nsswitch.conf > /dev/null 2>&1
Packit 6bd9ab
then
Packit 6bd9ab
echo "test_nsscmds.sh: testing ether..."
Packit 6bd9ab
Packit 6bd9ab
# get an entry by hostname
Packit 6bd9ab
check "getent ethers testhost" << EOM
Packit 6bd9ab
0:18:8a:54:1a:8e testhost
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
# get an entry by alias name
Packit 6bd9ab
check "getent ethers testhostalias" << EOM
Packit 6bd9ab
0:18:8a:54:1a:8e testhostalias
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
# get an entry by hostname with different case
Packit 6bd9ab
check "getent ethers TESTHOST" << EOM
Packit 6bd9ab
0:18:8a:54:1a:8e testhost
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
# get an entry by ethernet address
Packit 6bd9ab
check "getent ethers 0:18:8a:54:1a:8b" << EOM
Packit 6bd9ab
0:18:8a:54:1a:8b testhost2
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
# get entry by ip address
Packit 6bd9ab
# this does not currently work, but maybe it should
Packit 6bd9ab
#check "getent ethers 192.0.2.123" << EOM
Packit 6bd9ab
#0:18:8a:54:1a:8e testhost
Packit 6bd9ab
#EOM
Packit 6bd9ab
Packit 6bd9ab
# get all ethers (unsupported)
Packit 6bd9ab
check "getent ethers" << EOM
Packit 6bd9ab
Enumeration not supported on ethers
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
fi  # end of ethers tests
Packit 6bd9ab
Packit 6bd9ab
###########################################################################
Packit 6bd9ab
Packit 6bd9ab
if grep '^group.*ldap' /etc/nsswitch.conf > /dev/null 2>&1
Packit 6bd9ab
then
Packit 6bd9ab
echo "test_nsscmds.sh: testing group..."
Packit 6bd9ab
Packit 6bd9ab
# function to sort group members of a group
Packit 6bd9ab
sortgroup() {
Packit 6bd9ab
  while read line
Packit 6bd9ab
  do
Packit 6bd9ab
    group="`echo "$line" | sed 's/^\([^:]*:[^:]*:[^:]*\).*$/\1:/'`"
Packit 6bd9ab
    members="`echo "$line" | sed -n 's/^[^:]*:[^:]*:[^:]*:\(.*\)$/\1/p' | tr ',' '\n' | sort | tr '\n' ','`"
Packit 6bd9ab
    members="`echo "$members" | sed 's/,$//'`"
Packit 6bd9ab
    echo "${group}${members}"
Packit 6bd9ab
  done
Packit 6bd9ab
}
Packit 6bd9ab
Packit 6bd9ab
check "getent group testgroup | sortgroup" << EOM
Packit 6bd9ab
testgroup:*:6100:arthur,test,testuser4
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
# this does not work because users is in /etc/group but it would
Packit 6bd9ab
# be nice if libc supported this
Packit 6bd9ab
#check "getent group users" << EOM
Packit 6bd9ab
#users:*:100:arthur,test
Packit 6bd9ab
#EOM
Packit 6bd9ab
Packit 6bd9ab
# group with different case should not be found
Packit 6bd9ab
check "getent group TESTGROUP" << EOM
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
check "getent group 6100 | sortgroup" << EOM
Packit 6bd9ab
testgroup:*:6100:arthur,test,testuser4
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
check "groups arthur | sed 's/^.*://'" << EOM
Packit 6bd9ab
users testgroup testgroup2 grp4 grp5 grp6 grp7 grp8 grp9 grp10 grp11 grp12 grp13 grp14 grp15 grp16 grp17 grp18
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
check "groups testuser4 | sed 's/^.* *: *//'" << EOM
Packit 6bd9ab
users testgroup testgroup2
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
check "getent group | egrep '^(testgroup|users|root):' | sortgroup" << EOM
Packit 6bd9ab
$(egrep '^(testgroup|users|root):' /etc/group)
Packit 6bd9ab
testgroup:*:6100:arthur,test,testuser4
Packit 6bd9ab
users:*:100:arthur,test
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
check "getent group | wc -l" << EOM
Packit 6bd9ab
`grep -c '^[^#].*:' /etc/group | awk '{print $1 + 23}'`
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
check "getent group | grep ^largegroup | sortgroup" << EOM
Packit 6bd9ab
largegroup:*:1005:akraskouskas,alat,ameisinger,bdevera,behrke,bmoldan,btempel,cjody,clouder,cmanno,dbye,dciviello,dfirpo,dgivliani,dgosser,emcquiddy,enastasi,fcunard,gcubbison,gdaub,gdreitzler,ghanauer,gpomerance,gsusoev,gtinnel,gvollrath,gzuhlke,hgalavis,hhaffey,hhydrick,hmachesky,hpaek,hpolk,hsweezer,htomlinson,hzagami,igurwell,ihashbarger,jyeater,kbradbury,khathway,kklavetter,lbuchtel,lgandee,lkhubba,lmauracher,lseehafer,lvittum,mblanchet,mbodley,mciaccia,mjuris,ndipanfilo,nfilipek,nfunchess,ngata,ngullett,nkraker,nriofrio,nroepke,nrybij,oclunes,oebrani,okveton,osaines,otrevor,pdossous,phaye,psowa,purquilla,rkoonz,rlatessa,rworkowski,sdebry,sgurski,showe,slaforge,tabdelal,testusr2,testusr3,tfalconeri,tpaa,uschweyen,utrezize,vchevalier,vdelnegro,vleyton,vmedici,vmigliori,vpender,vwaltmann,wbrettschneide,wselim,wvalcin,wworf,yautin,ykisak,zgingrich,znightingale,zwinterbottom
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
check "getent group largegroup | sortgroup" << EOM
Packit 6bd9ab
largegroup:*:1005:akraskouskas,alat,ameisinger,bdevera,behrke,bmoldan,btempel,cjody,clouder,cmanno,dbye,dciviello,dfirpo,dgivliani,dgosser,emcquiddy,enastasi,fcunard,gcubbison,gdaub,gdreitzler,ghanauer,gpomerance,gsusoev,gtinnel,gvollrath,gzuhlke,hgalavis,hhaffey,hhydrick,hmachesky,hpaek,hpolk,hsweezer,htomlinson,hzagami,igurwell,ihashbarger,jyeater,kbradbury,khathway,kklavetter,lbuchtel,lgandee,lkhubba,lmauracher,lseehafer,lvittum,mblanchet,mbodley,mciaccia,mjuris,ndipanfilo,nfilipek,nfunchess,ngata,ngullett,nkraker,nriofrio,nroepke,nrybij,oclunes,oebrani,okveton,osaines,otrevor,pdossous,phaye,psowa,purquilla,rkoonz,rlatessa,rworkowski,sdebry,sgurski,showe,slaforge,tabdelal,testusr2,testusr3,tfalconeri,tpaa,uschweyen,utrezize,vchevalier,vdelnegro,vleyton,vmedici,vmigliori,vpender,vwaltmann,wbrettschneide,wselim,wvalcin,wworf,yautin,ykisak,zgingrich,znightingale,zwinterbottom
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
check "getent group | grep ^hugegroup | sortgroup" << EOM
Packit 6bd9ab
hugegroup:*:1006:ablackstock,abortignon,achhor,ademosthenes,adenicola,adishaw,aesbensen,aferge,afredin,afuchs,agarbett,agimm,agordner,ahandy,ajaquess,akertzman,akomsthoeft,akraskouskas,akravetz,alamour,alat,alienhard,amanganelli,amaslyn,amayorga,amccroskey,amcgraw,amckinney,ameisinger,aponcedeleon,apurdon,areid,arosel,ascheno,ascovel,asemons,ashuey,asivley,astrunk,atollefsrud,atonkin,awhitt,aziernicki,badair,baigner,bbeckfield,bbrenton,bcoletta,bcolorado,bdadds,bdaughenbaugh,bdevera,bdominga,behrke,beon,bfishbeck,bgavagan,bguthary,bharnois,bhelverson,bjolly,blovig,bluellen,bmadamba,bmarlin,bmarszalek,bmicklos,bmoling,bouten,bphou,bpinedo,brodgerson,broher,bromano,bscadden,bsibal,bstrede,bswantak,btempel,btheim,bveeneman,bwinterton,bwynes,cabare,carguellez,cbarlup,cbartnick,cbelardo,cbleimehl,cbotdorf,cbourek,cbrechbill,cbrom,ccyganiewicz,cdeckard,cdegravelle,cdickes,cdrumm,cfasone,cflenner,cfleurantin,cgaler,cgalinol,cgaudette,cghianni,charriman,cjody,cjuntunen,ckerska,ckistenmacher,cklem,ckodish,clapenta,clewicki,clouder,cmafnas,cmanno,cmcanulty,cmellberg,cmiramon,cnabzdyk,cnoriego,cpaccione,cpalmios,cparee,cpencil,cpentreath,cpinela,cpluid,critchie,cscullion,csever,csoomaroo,cspilis,cswigert,ctenny,ctetteh,ctuzzo,cwank,cweiss,dasiedu,daubert,dbarriball,dbertels,dblazejewski,dcaltabiano,dciullo,ddeguire,ddigerolamo,denriquez,deshmon,dfirpo,dflore,dfollman,dgiacomazzi,dgivliani,dgosser,dhammontree,dhendon,dhindsman,dholdaway,dlablue,dlanois,dlargo,dledenbach,dlongbotham,dloubier,dmahapatra,dmarchizano,dmcgillen,dminozzi,dnegri,dpebbles,draymundo,dscheurer,dsharr,dsherard,dsteever,dtashjian,dtornow,dtuholski,dwittlinger,dzurek,eaguire,eathey,ebattee,ebeachem,eberkman,ebusk,ecelestin,ecolden,ecordas,ediga,edrinkwater,edurick,egospatrick,egrago,ehathcock,ehindbaugh,ejeppesen,ekalfas,ekenady,ekeuper,eklein,eklunder,ekurter,emanikowski,emargulis,emcquiddy,emehta,eorsten,eparham,epeterson,epoinelli,erathert,erostad,eserrett,esheehan,esonia,esproull,esthill,estockwin,etunby,ewicks,ewilles,ewismer,ewuitschick,eyounglas,eziebert,fagro,faleo,farquette,fbeatrice,fberra,fberyman,fbielecki,fburrough,fcha,fcunard,ffigert,fgoben,fgrashot,fhain,fhalon,fkeef,fmarchi,fmilsaps,fnottage,fparness,fplayfair,fsapien,fsavela,fsirianni,fsplinter,fsunderland,fsymmonds,fthein,fvallian,fvascones,fverfaille,fvinal,fwidhalm,gallanson,gapkin,garchambeault,gbitar,gbolay,gcarlini,gcervantez,gchounlapane,gclapham,gcobane,gconver,gcukaj,gcummer,gcurnutt,gdaub,gdeblasio,gdeyarmond,gdrilling,gearnshaw,gfaire,gfedewa,ggehrke,ggillim,ghann,ghelderman,ghumbles,gishii,gjankowiak,gkerens,glafontaine,gloebs,gmackinder,gmassi,gmilian,gmings,gmoen,gparkersmith,gpomerance,gportolese,greiff,gsantella,gschaumburg,gshrode,gtinnel,guresti,gvollrath,gwaud,habby,hbastidos,hbetterman,hbickford,hbraim,hbrandow,hbrehmer,hbukovsky,hcafourek,hcarrizal,hchaviano,hcintron,hcowles,hcusta,hdoiel,hdyner,hfludd,hgalavis,hhaffey,hhagee,hhartranft,hholyfield,hhysong,hkarney,hkinderknecht,hkippes,hkohlmeyer,hlauchaire,hlemon,hlichota,hliverman,hloftis,hlynema,hmateer,hmatonak,hmiazga,hmogush,hmuscaro,hpalmquist,hpimpare,hpolintan,hrapisura,hrenart,hriech,hsabol,hschelb,hschoepfer,hspiry,hstreitnatter,hsweezer,htilzer,htomlinson,htsuha,hvannette,hveader,hwestermark,hwoodert,hzagami,hzinda,iambrosino,ibeto,ibreitbart,ibuzo,ibyles,ichewning,icoard,ideveyra,ienglert,igizzi,ihalford,ihanneman,ihegener,ihernan,iherrarte,ihimmelwright,ihoa,iiffert,ikadar,ikulbida,ilacourse,ilamberth,ilawbaugh,ileaman,ilevian,imarungo,imcbay,imensah,imicthell,imillin,imuehl,inarain,iogasawara,iroiger,iseipel,isowder,isplonskowski,istallcup,istarring,isteinlicht,ithum,ivanschaack,iweibe,iyorgey,iyorks,jamber,jappleyard,jbielicki,jbjorkman,jcaroll,jdodge,jeuresti,jeverton,jglotzbecker,jherkenratt,jholzmiller,jjumalon,jkimpton,jknight,jlebouf,jlunney,jmartha,jmarugg,jmatty,joligee,jquicksall,jrees,jreigh,jroman,jscheitlin,jseen,jsegundo,jsenavanh,jskafec,jspohn,jsweezy,jvillaire,jwinterton,jzych,kaanerud,kalguire,kbarnthouse,kbartolet,kbattershell,kbrevitz,kbrugal,kcofrancesco,kcomparoni,kconkey,kdevincent,kepps,kfaure,kfend,kgarced,kgremminger,khartness,kheadlon,khovanesian,kjoslyn,klitehiser,klundsten,klurie,kmallach,kmandolfo,kmarzili,kmayoras,kmcardle,kmcguire,kmedcaf,kmeester,kmisove,kmoesch,kmosko,kmuros,kolexa,kottomaniello,kpalka,kpannunzio,kpenale,kpuebla,krahman,kseisler,kshippy,ksiering,ksollitto,ksparling,kstachurski,kthede,ktoni,ktriblett,ktuccio,ktuner,kwidrick,kwinterling,kwirght,laksamit,lautovino,lbanco,lbassin,lbove,lbuchtel,lcanestrini,lcaudell,lcavez,lcocherell,lcoulon,lcremer,leberhardt,lfarraj,lfichtner,lgadomski,lgandee,lgradilla,lhuggler,limbrogno,ljomes,lkimel,llarmore,llasher,lmadruga,lmauracher,lmcgeary,lmichaud,lmuehlberger,lnormand,lparrish,lpeagler,lpintor,lpitek,lpondexter,lrandall,lringuette,lschenkelberg,lschnorbus,lschollmeier,lseabold,lseehafer,lshilling,lsivic,lsobrino,lsous,lspielvogel,lvaleriano,lvanconant,lwedner,lyoula,mallmand,maustine,mbeagley,mbodley,mbravata,mcampagnone,mcaram,mcashett,mcasida,mcoch,mcolehour,mcontreras,mdanos,mdecourcey,mdedon,mdickinson,mdimaio,mdoering,mdyce,meconomides,mespinel,mfaeth,mfeil,mferandez,mfitzherbert,mgavet,mgayden,mground,mheilbrun,mhollings,mjeon,mkibler,mkofoed,mlaverde,mlenning,mlinak,mlinardi,mmangiamele,mmattu,mmcchristian,mmerriwether,mmesidor,mneubacher,moller,moser,mpanahon,mpark,mpellew,mpilon,mpizzaro,mpytko,mquigg,mredd,mrizer,mruppel,mrydelek,mskeele,mstirn,mswogger,mtanzi,mtintle,mvanbergen,mvanpelt,mvas,mvedder,mviverette,myokoyama,nagerton,nasmar,nbuford,nbugtong,ncermeno,nchrisman,nciucci,ndesautels,ndrumgole,nedgin,nendicott,nerbach,nevan,nforti,nfunchess,ngiesler,nglathar,ngrowney,ngullett,nhayer,nhelfinstine,nhija,ninnella,njordon,nkempon,nkubley,nlainhart,nlatchaw,nlemma,nlinarez,nlohmiller,nmccolm,nmoren,nnamanworth,nnickel,nousdahl,nphan,nramones,nranck,nridinger,nriofrio,nrybij,nrysavy,nschmig,nsiemonsma,nslaby,nspolar,nvyhnal,nwescott,nwiker,oahyou,oalthouse,obeaufait,obenallack,obercier,obihl,ocalleo,ochasten,oclunes,oconerly,ocrabbs,oebrani,ofelcher,ohatto,ohearl,ohedlund,ohoffert,ohove,ojerabek,okave,okveton,omalvaez,omasone,omatula,omcdaid,oolivarez,oosterhouse,opeet,opizzuti,opoch,oport,opuglisi,oreiss,osaber,oscarpello,oshough,ovibbert,owhelchel,owhitelow,pahles,pbascom,pbeckerdite,pbiggart,pbondroff,pbrentano,pcaposole,pcornn,pdauterman,pdech,pdischinger,pduitscher,pdulac,pdurando,pfavolise,pgiegerich,pgreenier,pgrybel,phalkett,pheathcock,phyer,pmineo,pminnis,ppedraja,ppeper,pphuaphes,prepasky,prowena,psabado,psalesky,pschrayter,psharits,psiroky,psundeen,pthornberry,ptoenjes,ptraweek,purquilla,pvierthaler,pvirelli,pviviani,pwademan,pwashuk,pwetherwax,pwhitmire,pwohlenhaus,pwutzke,qhanly,ralspach,rbernhagen,rbillingsly,rbloomstrand,rbrisby,rcheshier,rchevrette,rdubs,rdubuisson,redling,rfassinger,rfauerbach,rfidel,rginer,rgoonez,rgramby,rgriffies,rguinane,rheinzmann,rkraszewski,rlambertus,rlatessa,rlosinger,rmandril,rmcstay,rnordby,rpastorin,rpikes,rpinilla,rpitter,rramirez,rrasual,rschkade,rtole,rtooker,saben,sackles,sarndt,saycock,sbemo,sbettridge,sbloise,sbonnie,sbrabyn,scocuzza,sdebry,senrico,sestergard,sgefroh,sgirsh,sgropper,sgunder,sgurski,shaith,sherzberg,showe,sjankauskas,skanjirathinga,skoegler,slaningham,slaudeman,slerew,smccaie,smillian,smullowney,snotari,spolmer,srees,srubenfield,sscheiern,sskone,sskyers,sspagnuolo,sstough,sstuemke,svandewalle,svielle,svogler,svongal,swoodie,tabdelal,tairth,tbagne,tbattista,tboxx,tcacal,tcossa,tcrissinger,tdonathan,teliades,tfalconeri,tfetherston,tgelen,tgindhart,tguinnip,tharr,thelfritz,thoch,thynson,tkeala,tkelly,tkhora,tlana,tlowers,tmalecki,tmarkus,tmccaffity,tmccamish,tmcmickle,tmelland,tmorr,tmurata,tmysinger,tnaillon,tnitzel,tpaa,tplatko,tredfearn,tsablea,tsann,tschnepel,tsearle,tsepulueda,tsowells,tstalworth,tvehrs,tvrooman,tyounglas,ualway,uazatyan,ubenken,ubieniek,ubynum,udatu,uednilao,ueriks,uflander,ugerpheide,ugreenberg,uhayakawa,uholecek,ulanigan,umarbury,umosser,upater,upellam,uransford,urosentrance,uschweyen,usevera,uslavinski,uspittler,uvanmatre,uwalpole,uweyand,vbaldasaro,vbigalow,vbonder,vburton,vchevalier,vcrofton,vdesir,vdolan,veisenhardt,vemily,venfort,vfeigel,vglidden,vkrug,vlubic,vmaynard,vmedici,vnazzal,vnery,vpeairs,vpender,vpiraino,vrodick,vrunyon,vsefcovic,vstirman,vtowell,vtresch,vtrumpp,vwabasha,vwaltmann,vwisinger,vwokwicz,wbrill,wclokecloak,wconces,wconstantino,wcreggett,wdagrella,wdevenish,wdovey,wenglander,werrick,wesguerra,wganther,wkhazaleh,wleiva,wlynch,wmailey,wmendell,wnunziata,wottesen,wselim,wstjean,wtruman,wvalcin,wvermeulen,xeppley,xlantey,xrahaim,yautin,ycerasoli,ycobetto,ycostaneda,yduft,yeven,yfrymoyer,ygockel,yhenriques,ykimbel,yolivier,yschmuff,ysnock,yvdberg,zanderlik,zborgmeyer,zbuscaglia,zculp,zfarler,zhaulk,zkutchera,zmeeker,zneeb,zratti,zscammahorn,zvagt,zwinterbottom
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
check "getent group hugegroup | sortgroup" << EOM
Packit 6bd9ab
hugegroup:*:1006:ablackstock,abortignon,achhor,ademosthenes,adenicola,adishaw,aesbensen,aferge,afredin,afuchs,agarbett,agimm,agordner,ahandy,ajaquess,akertzman,akomsthoeft,akraskouskas,akravetz,alamour,alat,alienhard,amanganelli,amaslyn,amayorga,amccroskey,amcgraw,amckinney,ameisinger,aponcedeleon,apurdon,areid,arosel,ascheno,ascovel,asemons,ashuey,asivley,astrunk,atollefsrud,atonkin,awhitt,aziernicki,badair,baigner,bbeckfield,bbrenton,bcoletta,bcolorado,bdadds,bdaughenbaugh,bdevera,bdominga,behrke,beon,bfishbeck,bgavagan,bguthary,bharnois,bhelverson,bjolly,blovig,bluellen,bmadamba,bmarlin,bmarszalek,bmicklos,bmoling,bouten,bphou,bpinedo,brodgerson,broher,bromano,bscadden,bsibal,bstrede,bswantak,btempel,btheim,bveeneman,bwinterton,bwynes,cabare,carguellez,cbarlup,cbartnick,cbelardo,cbleimehl,cbotdorf,cbourek,cbrechbill,cbrom,ccyganiewicz,cdeckard,cdegravelle,cdickes,cdrumm,cfasone,cflenner,cfleurantin,cgaler,cgalinol,cgaudette,cghianni,charriman,cjody,cjuntunen,ckerska,ckistenmacher,cklem,ckodish,clapenta,clewicki,clouder,cmafnas,cmanno,cmcanulty,cmellberg,cmiramon,cnabzdyk,cnoriego,cpaccione,cpalmios,cparee,cpencil,cpentreath,cpinela,cpluid,critchie,cscullion,csever,csoomaroo,cspilis,cswigert,ctenny,ctetteh,ctuzzo,cwank,cweiss,dasiedu,daubert,dbarriball,dbertels,dblazejewski,dcaltabiano,dciullo,ddeguire,ddigerolamo,denriquez,deshmon,dfirpo,dflore,dfollman,dgiacomazzi,dgivliani,dgosser,dhammontree,dhendon,dhindsman,dholdaway,dlablue,dlanois,dlargo,dledenbach,dlongbotham,dloubier,dmahapatra,dmarchizano,dmcgillen,dminozzi,dnegri,dpebbles,draymundo,dscheurer,dsharr,dsherard,dsteever,dtashjian,dtornow,dtuholski,dwittlinger,dzurek,eaguire,eathey,ebattee,ebeachem,eberkman,ebusk,ecelestin,ecolden,ecordas,ediga,edrinkwater,edurick,egospatrick,egrago,ehathcock,ehindbaugh,ejeppesen,ekalfas,ekenady,ekeuper,eklein,eklunder,ekurter,emanikowski,emargulis,emcquiddy,emehta,eorsten,eparham,epeterson,epoinelli,erathert,erostad,eserrett,esheehan,esonia,esproull,esthill,estockwin,etunby,ewicks,ewilles,ewismer,ewuitschick,eyounglas,eziebert,fagro,faleo,farquette,fbeatrice,fberra,fberyman,fbielecki,fburrough,fcha,fcunard,ffigert,fgoben,fgrashot,fhain,fhalon,fkeef,fmarchi,fmilsaps,fnottage,fparness,fplayfair,fsapien,fsavela,fsirianni,fsplinter,fsunderland,fsymmonds,fthein,fvallian,fvascones,fverfaille,fvinal,fwidhalm,gallanson,gapkin,garchambeault,gbitar,gbolay,gcarlini,gcervantez,gchounlapane,gclapham,gcobane,gconver,gcukaj,gcummer,gcurnutt,gdaub,gdeblasio,gdeyarmond,gdrilling,gearnshaw,gfaire,gfedewa,ggehrke,ggillim,ghann,ghelderman,ghumbles,gishii,gjankowiak,gkerens,glafontaine,gloebs,gmackinder,gmassi,gmilian,gmings,gmoen,gparkersmith,gpomerance,gportolese,greiff,gsantella,gschaumburg,gshrode,gtinnel,guresti,gvollrath,gwaud,habby,hbastidos,hbetterman,hbickford,hbraim,hbrandow,hbrehmer,hbukovsky,hcafourek,hcarrizal,hchaviano,hcintron,hcowles,hcusta,hdoiel,hdyner,hfludd,hgalavis,hhaffey,hhagee,hhartranft,hholyfield,hhysong,hkarney,hkinderknecht,hkippes,hkohlmeyer,hlauchaire,hlemon,hlichota,hliverman,hloftis,hlynema,hmateer,hmatonak,hmiazga,hmogush,hmuscaro,hpalmquist,hpimpare,hpolintan,hrapisura,hrenart,hriech,hsabol,hschelb,hschoepfer,hspiry,hstreitnatter,hsweezer,htilzer,htomlinson,htsuha,hvannette,hveader,hwestermark,hwoodert,hzagami,hzinda,iambrosino,ibeto,ibreitbart,ibuzo,ibyles,ichewning,icoard,ideveyra,ienglert,igizzi,ihalford,ihanneman,ihegener,ihernan,iherrarte,ihimmelwright,ihoa,iiffert,ikadar,ikulbida,ilacourse,ilamberth,ilawbaugh,ileaman,ilevian,imarungo,imcbay,imensah,imicthell,imillin,imuehl,inarain,iogasawara,iroiger,iseipel,isowder,isplonskowski,istallcup,istarring,isteinlicht,ithum,ivanschaack,iweibe,iyorgey,iyorks,jamber,jappleyard,jbielicki,jbjorkman,jcaroll,jdodge,jeuresti,jeverton,jglotzbecker,jherkenratt,jholzmiller,jjumalon,jkimpton,jknight,jlebouf,jlunney,jmartha,jmarugg,jmatty,joligee,jquicksall,jrees,jreigh,jroman,jscheitlin,jseen,jsegundo,jsenavanh,jskafec,jspohn,jsweezy,jvillaire,jwinterton,jzych,kaanerud,kalguire,kbarnthouse,kbartolet,kbattershell,kbrevitz,kbrugal,kcofrancesco,kcomparoni,kconkey,kdevincent,kepps,kfaure,kfend,kgarced,kgremminger,khartness,kheadlon,khovanesian,kjoslyn,klitehiser,klundsten,klurie,kmallach,kmandolfo,kmarzili,kmayoras,kmcardle,kmcguire,kmedcaf,kmeester,kmisove,kmoesch,kmosko,kmuros,kolexa,kottomaniello,kpalka,kpannunzio,kpenale,kpuebla,krahman,kseisler,kshippy,ksiering,ksollitto,ksparling,kstachurski,kthede,ktoni,ktriblett,ktuccio,ktuner,kwidrick,kwinterling,kwirght,laksamit,lautovino,lbanco,lbassin,lbove,lbuchtel,lcanestrini,lcaudell,lcavez,lcocherell,lcoulon,lcremer,leberhardt,lfarraj,lfichtner,lgadomski,lgandee,lgradilla,lhuggler,limbrogno,ljomes,lkimel,llarmore,llasher,lmadruga,lmauracher,lmcgeary,lmichaud,lmuehlberger,lnormand,lparrish,lpeagler,lpintor,lpitek,lpondexter,lrandall,lringuette,lschenkelberg,lschnorbus,lschollmeier,lseabold,lseehafer,lshilling,lsivic,lsobrino,lsous,lspielvogel,lvaleriano,lvanconant,lwedner,lyoula,mallmand,maustine,mbeagley,mbodley,mbravata,mcampagnone,mcaram,mcashett,mcasida,mcoch,mcolehour,mcontreras,mdanos,mdecourcey,mdedon,mdickinson,mdimaio,mdoering,mdyce,meconomides,mespinel,mfaeth,mfeil,mferandez,mfitzherbert,mgavet,mgayden,mground,mheilbrun,mhollings,mjeon,mkibler,mkofoed,mlaverde,mlenning,mlinak,mlinardi,mmangiamele,mmattu,mmcchristian,mmerriwether,mmesidor,mneubacher,moller,moser,mpanahon,mpark,mpellew,mpilon,mpizzaro,mpytko,mquigg,mredd,mrizer,mruppel,mrydelek,mskeele,mstirn,mswogger,mtanzi,mtintle,mvanbergen,mvanpelt,mvas,mvedder,mviverette,myokoyama,nagerton,nasmar,nbuford,nbugtong,ncermeno,nchrisman,nciucci,ndesautels,ndrumgole,nedgin,nendicott,nerbach,nevan,nforti,nfunchess,ngiesler,nglathar,ngrowney,ngullett,nhayer,nhelfinstine,nhija,ninnella,njordon,nkempon,nkubley,nlainhart,nlatchaw,nlemma,nlinarez,nlohmiller,nmccolm,nmoren,nnamanworth,nnickel,nousdahl,nphan,nramones,nranck,nridinger,nriofrio,nrybij,nrysavy,nschmig,nsiemonsma,nslaby,nspolar,nvyhnal,nwescott,nwiker,oahyou,oalthouse,obeaufait,obenallack,obercier,obihl,ocalleo,ochasten,oclunes,oconerly,ocrabbs,oebrani,ofelcher,ohatto,ohearl,ohedlund,ohoffert,ohove,ojerabek,okave,okveton,omalvaez,omasone,omatula,omcdaid,oolivarez,oosterhouse,opeet,opizzuti,opoch,oport,opuglisi,oreiss,osaber,oscarpello,oshough,ovibbert,owhelchel,owhitelow,pahles,pbascom,pbeckerdite,pbiggart,pbondroff,pbrentano,pcaposole,pcornn,pdauterman,pdech,pdischinger,pduitscher,pdulac,pdurando,pfavolise,pgiegerich,pgreenier,pgrybel,phalkett,pheathcock,phyer,pmineo,pminnis,ppedraja,ppeper,pphuaphes,prepasky,prowena,psabado,psalesky,pschrayter,psharits,psiroky,psundeen,pthornberry,ptoenjes,ptraweek,purquilla,pvierthaler,pvirelli,pviviani,pwademan,pwashuk,pwetherwax,pwhitmire,pwohlenhaus,pwutzke,qhanly,ralspach,rbernhagen,rbillingsly,rbloomstrand,rbrisby,rcheshier,rchevrette,rdubs,rdubuisson,redling,rfassinger,rfauerbach,rfidel,rginer,rgoonez,rgramby,rgriffies,rguinane,rheinzmann,rkraszewski,rlambertus,rlatessa,rlosinger,rmandril,rmcstay,rnordby,rpastorin,rpikes,rpinilla,rpitter,rramirez,rrasual,rschkade,rtole,rtooker,saben,sackles,sarndt,saycock,sbemo,sbettridge,sbloise,sbonnie,sbrabyn,scocuzza,sdebry,senrico,sestergard,sgefroh,sgirsh,sgropper,sgunder,sgurski,shaith,sherzberg,showe,sjankauskas,skanjirathinga,skoegler,slaningham,slaudeman,slerew,smccaie,smillian,smullowney,snotari,spolmer,srees,srubenfield,sscheiern,sskone,sskyers,sspagnuolo,sstough,sstuemke,svandewalle,svielle,svogler,svongal,swoodie,tabdelal,tairth,tbagne,tbattista,tboxx,tcacal,tcossa,tcrissinger,tdonathan,teliades,tfalconeri,tfetherston,tgelen,tgindhart,tguinnip,tharr,thelfritz,thoch,thynson,tkeala,tkelly,tkhora,tlana,tlowers,tmalecki,tmarkus,tmccaffity,tmccamish,tmcmickle,tmelland,tmorr,tmurata,tmysinger,tnaillon,tnitzel,tpaa,tplatko,tredfearn,tsablea,tsann,tschnepel,tsearle,tsepulueda,tsowells,tstalworth,tvehrs,tvrooman,tyounglas,ualway,uazatyan,ubenken,ubieniek,ubynum,udatu,uednilao,ueriks,uflander,ugerpheide,ugreenberg,uhayakawa,uholecek,ulanigan,umarbury,umosser,upater,upellam,uransford,urosentrance,uschweyen,usevera,uslavinski,uspittler,uvanmatre,uwalpole,uweyand,vbaldasaro,vbigalow,vbonder,vburton,vchevalier,vcrofton,vdesir,vdolan,veisenhardt,vemily,venfort,vfeigel,vglidden,vkrug,vlubic,vmaynard,vmedici,vnazzal,vnery,vpeairs,vpender,vpiraino,vrodick,vrunyon,vsefcovic,vstirman,vtowell,vtresch,vtrumpp,vwabasha,vwaltmann,vwisinger,vwokwicz,wbrill,wclokecloak,wconces,wconstantino,wcreggett,wdagrella,wdevenish,wdovey,wenglander,werrick,wesguerra,wganther,wkhazaleh,wleiva,wlynch,wmailey,wmendell,wnunziata,wottesen,wselim,wstjean,wtruman,wvalcin,wvermeulen,xeppley,xlantey,xrahaim,yautin,ycerasoli,ycobetto,ycostaneda,yduft,yeven,yfrymoyer,ygockel,yhenriques,ykimbel,yolivier,yschmuff,ysnock,yvdberg,zanderlik,zborgmeyer,zbuscaglia,zculp,zfarler,zhaulk,zkutchera,zmeeker,zneeb,zratti,zscammahorn,zvagt,zwinterbottom
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
check "getent group nstgrp1 | sortgroup" << EOM
Packit 6bd9ab
nstgrp1:*:800:testusr2
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
check "getent group nstgrp2 | sortgroup" << EOM
Packit 6bd9ab
nstgrp2:*:801:testusr2,testusr3
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
check "getent group nstgrp3 | sortgroup" << EOM
Packit 6bd9ab
nstgrp3:*:802:testusr2,testusr3
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
check "groups testusr2 | sed 's/^.* *: *//'" << EOM
Packit 6bd9ab
users largegroup testgroup2 nstgrp1 nstgrp2 nstgrp3
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
check "groups testusr3 | sed 's/^.* *: *//'" << EOM
Packit 6bd9ab
users largegroup nstgrp2 nstgrp3
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
fi  # end of group tests
Packit 6bd9ab
Packit 6bd9ab
###########################################################################
Packit 6bd9ab
Packit 6bd9ab
if grep '^hosts.*ldap' /etc/nsswitch.conf > /dev/null 2>&1
Packit 6bd9ab
then
Packit 6bd9ab
echo "test_nsscmds.sh: testing hosts..."
Packit 6bd9ab
Packit 6bd9ab
check "getent hosts testhost" << EOM
Packit 6bd9ab
192.0.2.123        testhost testhostalias
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
check "getent hosts testhostalias" << EOM
Packit 6bd9ab
192.0.2.123        testhost testhostalias
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
# check hostname with different case
Packit 6bd9ab
check "getent hosts TESTHOST" << EOM
Packit 6bd9ab
192.0.2.123        testhost testhostalias
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
check "getent hosts 192.0.2.123" << EOM
Packit 6bd9ab
192.0.2.123        testhost testhostalias
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
check "getent hosts | grep testhost | sort" << EOM
Packit 6bd9ab
192.0.2.123        testhost testhostalias
Packit 6bd9ab
192.0.2.124        testhost2
Packit 6bd9ab
192.0.2.126        testhost4
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
check "getent hosts 2001:db8::dead:beef" << EOM
Packit 6bd9ab
2001:db8::dead:beef testhost2
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
check "getent ahosts testhost2" << EOM
Packit 6bd9ab
2001:db8::dead:beef STREAM testhost2
Packit 6bd9ab
2001:db8::dead:beef DGRAM
Packit 6bd9ab
2001:db8::dead:beef RAW
Packit 6bd9ab
192.0.2.124     STREAM
Packit 6bd9ab
192.0.2.124     DGRAM
Packit 6bd9ab
192.0.2.124     RAW
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
check "getent hosts testhost3" << EOM
Packit 6bd9ab
2001:db8::feed:c0de testhost3
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
check "getent ahosts testhost3" << EOM
Packit 6bd9ab
2001:db8::feed:c0de STREAM testhost3
Packit 6bd9ab
2001:db8::feed:c0de DGRAM
Packit 6bd9ab
2001:db8::feed:c0de RAW
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
check "getent ahosts testhost4" << EOM
Packit 6bd9ab
2001:db8::7e27:ac1d STREAM testhost4
Packit 6bd9ab
2001:db8::7e27:ac1d DGRAM
Packit 6bd9ab
2001:db8::7e27:ac1d RAW
Packit 6bd9ab
192.0.2.126     STREAM
Packit 6bd9ab
192.0.2.126     DGRAM
Packit 6bd9ab
192.0.2.126     RAW
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
fi  # end of hosts tests
Packit 6bd9ab
Packit 6bd9ab
###########################################################################
Packit 6bd9ab
Packit 6bd9ab
if grep '^netgroup.*ldap' /etc/nsswitch.conf > /dev/null 2>&1
Packit 6bd9ab
then
Packit 6bd9ab
echo "test_nsscmds.sh: testing netgroup..."
Packit 6bd9ab
Packit 6bd9ab
# check netgroup lookup of test netgroup
Packit 6bd9ab
check "getent netgroup tstnetgroup" << EOM
Packit 6bd9ab
tstnetgroup          ( , arthur, ) (noot, , )
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
# check netgroup lookup with different case
Packit 6bd9ab
check "getent netgroup TSTNETGROUP" << EOM
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
fi  # end of netgroup tests
Packit 6bd9ab
Packit 6bd9ab
###########################################################################
Packit 6bd9ab
Packit 6bd9ab
if grep '^networks.*ldap' /etc/nsswitch.conf > /dev/null 2>&1
Packit 6bd9ab
then
Packit 6bd9ab
echo "test_nsscmds.sh: testing networks..."
Packit 6bd9ab
Packit 6bd9ab
check "getent networks testnet" << EOM
Packit 6bd9ab
testnet               192.0.2.0
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
# check network name with different case
Packit 6bd9ab
check "getent networks TESTNET" << EOM
Packit 6bd9ab
testnet               192.0.2.0
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
check "getent networks 192.0.2.0" << EOM
Packit 6bd9ab
testnet               192.0.2.0
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
check "getent networks | grep testnet" << EOM
Packit 6bd9ab
testnet               192.0.2.0
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
fi  # end of networks tests
Packit 6bd9ab
Packit 6bd9ab
###########################################################################
Packit 6bd9ab
Packit 6bd9ab
if grep '^passwd.*ldap' /etc/nsswitch.conf > /dev/null 2>&1
Packit 6bd9ab
then
Packit 6bd9ab
echo "test_nsscmds.sh: testing passwd..."
Packit 6bd9ab
Packit 6bd9ab
check "getent passwd ecolden | sed 's/:[x*]:/:x:/'" << EOM
Packit 6bd9ab
ecolden:x:5972:1000:Estelle Colden:/home/ecolden:/bin/bash
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
check "getent passwd arthur | sed 's/:[x*]:/:x:/'" << EOM
Packit 6bd9ab
arthur:x:1000:100:Arthur de Jong:/home/arthur:/bin/bash
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
# check username with different case
Packit 6bd9ab
check "getent passwd ARTHUR" << EOM
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
check "getent passwd 4089 | sed 's/:[x*]:/:x:/'" << EOM
Packit 6bd9ab
jguzzetta:x:4089:1000:Josephine Guzzetta:/home/jguzzetta:/bin/bash
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
# count the number of passwd entries in the 4000-5999 range
Packit 6bd9ab
check "getent passwd | grep -c ':[x*]:[45][0-9][0-9][0-9]:'" << EOM
Packit 6bd9ab
2000
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
fi  # end of passwd tests
Packit 6bd9ab
Packit 6bd9ab
###########################################################################
Packit 6bd9ab
Packit 6bd9ab
if grep '^protocols.*ldap' /etc/nsswitch.conf > /dev/null 2>&1
Packit 6bd9ab
then
Packit 6bd9ab
echo "test_nsscmds.sh: testing protocols..."
Packit 6bd9ab
Packit 6bd9ab
check "getent protocols protfoo" << EOM
Packit 6bd9ab
protfoo               253 protfooalias
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
check "getent protocols protfooalias" << EOM
Packit 6bd9ab
protfoo               253 protfooalias
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
# check protocol with different case
Packit 6bd9ab
check "getent protocols PROTFOO" << EOM
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
# test protocol alias with different case
Packit 6bd9ab
check "getent protocols PROTFOOALIAS" << EOM
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
check "getent protocols 253" << EOM
Packit 6bd9ab
protfoo               253 protfooalias
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
check "getent protocols icmp" << EOM
Packit 6bd9ab
icmp                  1 ICMP
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
check "getent protocols | grep protfoo" << EOM
Packit 6bd9ab
protfoo               253 protfooalias
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
fi  # end of protocols tests
Packit 6bd9ab
Packit 6bd9ab
###########################################################################
Packit 6bd9ab
Packit 6bd9ab
if grep '^rpc.*ldap' /etc/nsswitch.conf > /dev/null 2>&1
Packit 6bd9ab
then
Packit 6bd9ab
echo "test_nsscmds.sh: testing rpc..."
Packit 6bd9ab
Packit 6bd9ab
check "getent rpc rpcfoo" << EOM
Packit 6bd9ab
rpcfoo          160002  rpcfooalias
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
check "getent rpc rpcfooalias" << EOM
Packit 6bd9ab
rpcfoo          160002  rpcfooalias
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
# test rpc name with different case
Packit 6bd9ab
check "getent rpc RPCFOO" << EOM
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
check "getent rpc 160002" << EOM
Packit 6bd9ab
rpcfoo          160002  rpcfooalias
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
check "getent rpc | grep rpcfoo" << EOM
Packit 6bd9ab
rpcfoo          160002  rpcfooalias
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
fi  # end of rpc tests
Packit 6bd9ab
Packit 6bd9ab
###########################################################################
Packit 6bd9ab
Packit 6bd9ab
if grep '^services.*ldap' /etc/nsswitch.conf > /dev/null 2>&1
Packit 6bd9ab
then
Packit 6bd9ab
echo "test_nsscmds.sh: testing services..."
Packit 6bd9ab
Packit 6bd9ab
check "getent services foosrv" << EOM
Packit 6bd9ab
foosrv                15349/tcp
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
check "getent services foosrv/tcp" << EOM
Packit 6bd9ab
foosrv                15349/tcp
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
check "getent services foosrv/udp" << EOM
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
# check with different case
Packit 6bd9ab
check "getent services FOOSRV" << EOM
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
# check protocol name case sensitivity (TCP is commonly an alias)
Packit 6bd9ab
check "getent services foosrv/tCp" << EOM
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
check "getent services 15349/tcp" << EOM
Packit 6bd9ab
foosrv                15349/tcp
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
check "getent services 15349/udp" << EOM
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
check "getent services barsrv" << EOM
Packit 6bd9ab
barsrv                15350/tcp
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
check "getent services barsrv/tcp" << EOM
Packit 6bd9ab
barsrv                15350/tcp
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
check "getent services barsrv/udp" << EOM
Packit 6bd9ab
barsrv                15350/udp
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
check "getent services | egrep '(foo|bar)srv' | sort" << EOM
Packit 6bd9ab
barsrv                15350/tcp
Packit 6bd9ab
barsrv                15350/udp
Packit 6bd9ab
foosrv                15349/tcp
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
check "getent services sssin" << EOM
Packit 6bd9ab
sssin                 5000/tcp SSSIN
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
check "getent services SSSIN" << EOM
Packit 6bd9ab
sssin                 5000/tcp SSSIN
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
check "getent services | wc -l" << EOM
Packit 6bd9ab
`grep -c '^[^#].' /etc/services | awk '{print $1 + 4}'`
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
fi  # end of services tests
Packit 6bd9ab
Packit 6bd9ab
###########################################################################
Packit 6bd9ab
Packit 6bd9ab
if grep '^shadow.*ldap' /etc/nsswitch.conf > /dev/null 2>&1
Packit 6bd9ab
then
Packit 6bd9ab
echo "test_nsscmds.sh: testing shadow..."
Packit 6bd9ab
Packit 6bd9ab
# function to remove the password field from output
Packit 6bd9ab
rmpasswd() {
Packit 6bd9ab
  sed 's/^\([^:]*\):[^:]*:/\1:*:/'
Packit 6bd9ab
}
Packit 6bd9ab
Packit 6bd9ab
check "getent shadow ecordas | rmpasswd" << EOM
Packit 6bd9ab
ecordas:*::::7:2::0
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
check "getent shadow adishaw | rmpasswd" << EOM
Packit 6bd9ab
adishaw:*:12302:::7:2::0
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
# check case-sensitivity
Packit 6bd9ab
check "getent shadow ADISHAW" << EOM
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
# check if the number of passwd entries matches the number of shadow entries
Packit 6bd9ab
check "getent shadow | wc -l" << EOM
Packit 6bd9ab
`getent passwd | wc -l`
Packit 6bd9ab
EOM
Packit 6bd9ab
Packit 6bd9ab
# check if the names of users match between passwd and shadow
Packit 6bd9ab
getent passwd | sed 's/:.*//' | sort | \
Packit 6bd9ab
  check "getent shadow | sed 's/:.*//' | sort"
Packit 6bd9ab
Packit 6bd9ab
fi  # end of shadow tests
Packit 6bd9ab
Packit 6bd9ab
###########################################################################
Packit 6bd9ab
# determine the result
Packit 6bd9ab
Packit 6bd9ab
if [ $FAIL -eq 0 ]
Packit 6bd9ab
then
Packit 6bd9ab
  echo "test_nsscmds.sh: all tests passed"
Packit 6bd9ab
  exit 0
Packit 6bd9ab
else
Packit 6bd9ab
  echo "test_nsscmds.sh: $FAIL TESTS FAILED"
Packit 6bd9ab
  exit 1
Packit 6bd9ab
fi