|
|
Georges Tarbouriech taraf?ndan Georges <georges.t(at)linuxfocus.org> Yazar hakk?nda: Georges uzun zamand?r bir Unix kullan?c?s?. Bu b?y?k sistemin serbest s?r?mlerini 輟k seviyor. T?rk軻'ye 軻viri: Murat Kaplan <mkaplan(at)be.itu.edu.tr> ン軻rik: |
ヨzet:
Evet, ?u anda LinuxFocus okuyorsunuz! Bununla birlikte, olduk軋 ilgi 軻ken,
bir 輟k belirleyici ?zelli?i olan ba?ka serbest Unix'ler de var. Bu makale bir
ba?ka serbest Unix ile ilgili bir incelemedir: FreeBSD.
Serbest Unix'lerden s?z edilirken insanlar daima "Linux"'u d???n?rler. Tabii ki
Linux yayg?n ve herkes (yada hemen hemen herkes) ad?n? duymu?tur. Yeni kullan?c?lar?n
say?s? giderek art?yor ve medya ("?zelle?tirilenler" yada di?erleri) etrafta daha
fazla "g?r?lt?" yap?yor. Bu ba?ar?n?n ana gerek軻lerinden biri Linux'un ?zellikle
en yayg?n bilgisayar mimarisi olan Intel tabanl? makinelerde 軋l??t?r?l?yor olmas?.
Elbette Unix'in arkas?ndaki fikirlerden biri "i?lemci bizi ilgilendirmez" oldu?undan beri
di?er bir 輟k i?lemciyle 軋l??abiliyor. Bununla birlikte, Linux geli?tirilmi?
輟k daha "g?venilir" bir i?lemcide o kadar ba?ar?l? olmayabilir, yada, en az?ndan,
bunun olmas? daha uzun zaman alabilir.
Ancak serbest Unix Linux ile s?n?rl? de?ildir: BSD "ailesi" de var.
ワ? 軻?idi var: FreeBSD, NetBSD ve Open BSD. BSD, "Berkeley Software Distribution"
yerine kullan?lm??t?r. Unix tarihi hakk?nda daha fazla bilgi isterseniz
article 176 'ya bakabilirsiniz.
(Bu makale BSD ile Sistem V aras?ndaki farklardan bahsetmez: bunun i輅n bir kitap
gerekir.)
Her bir 軻?idi kendine ?zg? ?zelliklere sahiptir:
Serbest yaz?l?mlar?n 輟?u gibi FreeBSD, FreeBSD sanal y?resinden 軻kilebilir.
A??k軋s?, bu h?zl? bir ba?lant? gerektirir. Endi?elenmeyin: yery?z?n?n her yerinde
CD'lerini bulabilirsiniz.
G?ncel s?r?m? (bu makale yaz?l?rken) 4.6. Makale i386 s?r?m?nden s?z ediyor.
FreeBSD'yi CD-ROM 'dan (yada ba?ka ?ekilde) y?klemek basittir... grafik
aray?z olmad???nda bile! Bu durumda onun yerine ncurses kullan?rs?n?z. Sadece
a??klamalar? takip edersiniz ve FreeBSD sabit diskinize kurulur. Do?al olarak,
sabit diskinizi b?l?mlemeniz, a? yada 軻kirdekle ilgili birka? yeni ?eyi -se輅msel olarak-
ayarlaman?z gerekecek.
Sonra, ad?ndan da belli oldu?u gibi, y?kleme i?lerinin 輟?unu yapmak i輅n 輟k iyi
bir ara? olan "sysinstall" ile tan??acaks?n?z. B?t?n paketleri y?kleyebilir
yada ba?z?lar?n? se軻bilirsiniz. ンstedi?iniz zaman di?erlerini bir ?ekilde
ekleyebilirsiniz.
Paketlerin y?netimi de 輟k basittir. ヨrne?in Solaris'te oldu?u gibi "pkg" buyru?unu
kullanabilir, yada "port"'lar? ye?leyebilirsiniz. K?saca, port'lar make ve make
install ile derlemek i輅n paket輅klerken, pkg buyru?u Linux'daki rpm yada deb
buyruklar?na benzer. Ba?ka bir deyi?le: hi軛ir?ey kar???k yada zor de?ildir.
Linux ile kar??la?t?rmak i輅n, y?klemeniz gereken Linux uyumlu bir paketi ekleyelim:
Linux uygulamas?n? derleyip 軋l??t?rman?za izin verecek.
Bir kez daha, her?ey a??k, ve her ad?m? a??klayan 輟k iyi bir el kitab? da haz?rlanm??.
ワstelik, art?k 軻?itli dillerde var.
Bu gerek軻lerle, bunun i輅n 輟k fazla zaman harcamak i輅n hi? bir sebep yok.
Bir kez daha, her?eyi anlatmayaca??z. Bilinmesi en ?nemli ?ey temel dosyalar?n
nerede oldu?u. Do?al olarak onlar? /etc dizini alt?nda bulacaks?n?z.
rc.bir?ey ?eklinde adland?r?lm??lar ve bir 輟k farkl? k?s?m y?netilebilir:
genel ayarlar, ate?duvar?, a?, sysctl, vb.
ンsminden de belli oldu?u gibi en ?nemlilerinden biri konfig?rasyonun yap?ld???
rc.conf dosyas?. Bu dosyada sisteme olsa da olmasa da baz? sistem s?re輙erinin
(sshd, sendmail, vb), ba?lamas?n?, ate?duvar?n?z?n tipini, 軻kirdek g?venlik
seviyesinin durumunu, IPv6'n?n durumunu vb s?yleyebilirsiniz. Burada bir輟k
se軻nek bulunur ve hepsinin ?n tan?ml? durumunu /etc/defaults/rc.conf. dosyalar?nda
bulabilirsiniz. Kar???k gelmesin: bu dosya ?rnekleri de?il, ?n tan?ml? kurulumu i軻rir.
/etc/rc.conf bu ?n tan?ml? kurulumun ?zerine yaz?l?r. Ba?ka bir deyi?le,
/etc/defaults/rc.conf dosyas?n? /etc/rc.conf olarak kopyalamay?n, yada de?i?tirmeye
軋l??may?n. De?i?iklikler /etc/rc.conf dosyas?nda yap?lmal?d?r.
Bilgi i輅n, sysinstall da yap?lan se輅mler otomatik olarak /etc/rc.conf
i輅ne yerle?tirilir (network kart ayarlar?, hostname, secure level, vb)
ヌok ?nemli bir not: FreeBSD'de ba?lang?輻a /etc/inetd.conf i輅ndeki hi軛ir servis
aktif de?ildir. Yani, ilk ba?lang?輻a, inetd 'den y?netilen b?t?n s?re輙er kapal?d?r.
Benim m?tevazi ?nerim, bu b?t?n Unix sistemlerinde zorunlu olmal?. Her nas?lsa,
iyi bir nokta!
ヨteki rc dosyalar? ate?duvar? yada syssctl'yi yada di?erlerini ayarlaman?z? sa?lar.
Bu do?al olarak bize FreeBSD ince ayar?nda yol g?sterir.
ンnce ayar i輅n en iyi ara? sysctl'dir (Linux'ta da ?yle!). Buyruk sat?r?ndan ?zel de?erleri
belirterek kullanabilir, yada sysctl.conf dosyas? olu?turabilirsiniz.
(buyruk sat?r?ndan yap?lan denemeler haricinde tavsiye edilir)
ヨrne?in, makinan?z "gateway" olarak kullan?lacaksa, sysctl ip y?nlendirmesini
sysctl -w net.inet.ip.forwarding=1 buyru?u ile yap?lmas?n? sa?lar.
Daha iyi bir g?venlik i輅n, aray?z?n yerini tutan bir ip adresine sahip aray?zden
gelen paketler sysctl -w net.inet.ip.check_interface=1
komutuyla kontrol edilebilir.
Sisteminizin bir輟k durumdaki davran???n? sysctl'yi kullanarak kontrol edebilirsiniz:
man sayfas?na bak?n. A??k軋s?, bunlar? sysctl.conf dosyas?na yazmak isterseniz,
arg?manlar?n? sysctl buyruklar? olmadan dosyaya ekleyin. Dosya variable = value
format?n? kullan?r. Bu durmda yukar?daki ?rnek ?u hale gelir:
net.inet.ip.forwarding=1
net.inet.ip.check_interface=1
Do?al olarak kendi sysctl.conf dosyan?z, 軻kirdek seviyesinden ba?layarak nerdeyse,
hemen hemen her?eyi kontrol etmeniz i輅n iki sat?rdan 輟k daha fazlas?n? i軻recek!
Bu makalenin ba??nda, g?venlik seviyelerinden bahsettik. -1 'den 3'e
d?rt farkl? seviye vard?r. -1 g?venli olmayan seviyeyi, 3 ise
en y?ksek g?venlik seviyesini belirtir. Bir g?venlik seviyesi se輅lmeden ne yapt???n?n
anla??lm?? olmas? ?nerilir. -1 yada 0 'dan farkl? seviyeleri kullanmak bir sistemin
beklendi?i gibi 軋l??mamas?na sebep olabilir. ヨrne?in seviye 1, X sunucusunu kullanman?z?
uygun bir ?ekilde ?nleyebilir. ヨrne?in 軻kirdek mod?llerini y?klemeye yada kald?rmaya
軋l??t???n?zda sistem taraf?ndan uyar?l?rs?n?z.
Bununla beraber, bu y?ksek g?venlik seviyeleri y?ksek g?venlik gereksinimleri olan
?zel bir sunucu i輅n kullan??l? olabilir. Ev kullan?c?s? i輅n 0 seviyesinde tutulmal?d?r
ama bu sizin i輅n fazla olabilir...
chflags buyru?u g?venlik seviyeleriyle ba?lant?l?d?r.
Bu buyru?u da ara?t?r?n, man sayfas?n? okuyun: 輟k g?輙? bir buyruktur.
Bu ?ekilde devam edersek makale "securing FreeBSD" olacak, sonraki b?l?me ge軻lim.
Diyelim ki FreeBSD 4.5 CD tak?m?n? ald?n?z. Bir ka? g?n sonra, FreeBSD 4.6 s?r?m?
??kt?. K?t? ?ans!
Endi?elenmeyin: FreeBSD bir g?ncelleme sistemi olan CVS ile birlikte gelir.
CVS yada CVSup buyruklar?n? kullanabilirsiniz. ンlkinin kullan?m? daha kolayken
ikincisi daha beceriklidir. Bu ara輙arla yeni kaynak a?ac? i軻rilecek ?ekilde
uyumlu hale getirilir.
Sonra, yeni b?t?n paketleri make buildworld'u kullanarak derlemeniz gerecek.
Bunu nas?l yapaca??n?z el kitab?nda olduk軋 iyi bir ?ekilde a??klanm??.
ヨnemli olan nokta, her zaman g?ncellemeyle yepyeni bir sistem sahibi olman?z?
sa?lar.
Bununla birlikte, hepsi bu kadar de?il. Serbest yaz?l?ma gelince, nerdeyse her
zaman aksakl?klar bulunabilir ve olduk軋 h?zl? bir ?ekilde 銹z?l?r. Serbest
olmayan sistemlerde bir aksakl?k 銹z?lmeden kalabilirken, farkl? olarak (ve bir g?nde)
serbest yaz?l?m i輅ndeki insanlar ???k h?z?yla tepki verirler ve sizi yamalarla
donat?rlar. Asl?nda neler oldu?unu kontrol etmek sizin i?inizdir. FreeBSD sanal
y?resi s?r?mlerine g?re ?nerileri i軻ren bir g?venlik b?l?m? i軻rir. Oradan
bilmeniz gerekenleri yazan .asc dosyalar?n? (text dosyalar?) -problemin tan?m?
ve 銹z?m?n? i軻ren- indirebilirsiniz. Di?er sanal y?reler de bu bilgiyi size sa?lar. Ad?n? anmak gerekirse, ?rne?in,
linuxsecurity, CERT, vb.
Tabii ki bunun anlam? sisteminizi g?ncellemenizin gerekti?idir.
ンyi bilinen zay?fl?klar? sisteminizde tutmak istemezsiniz, de?il mi?
ヨteki serbest Unix'ler gibi FreeBSD size yamalar?n? sa?lar. Gidip bu yamalar? al?n ve
uygulay?n. Linux kullan?c?lar? i輅n ana fark uyumlu paket yerine kaynak yamas?n?n
al?nmas?d?r. Bunun anlam?, yamas?n? yapt?ktan sonra 軻kirde?i
tekrar derlemek zorunda kalacak olman?z. Bu tabi ki makinan?za y?klenen kaynak kodu
kastediyor. Bu Linux alt?nda do?ru, ancak insanlar s?kl?kla yamanm?? 軻kirdekler i輅n
en az?ndan d?zeltilmi? uygulamalar i輅n de?i?tirilmi? rpm 'leri indirirler.
Linux ile FreeBSD aras?ndaki en ?nemli fark 軻kirdekle gelir. FreeBSD, BSD 4.4 ?zerine
kurulmu?tur ve Linux d?nyas?ndaki kadar 軻?itli 軻kirdek s?r?mleri yoktur.
Bu sebeple kararl? bir 軻kirdektir ama tabi ki 輟k b?y?k zaman sonucunda olu?mu?tur
hatta mod?llerden bile yararlan?labilir. Bunun dezavantaj?, sisteminizi olabildi?ince
g?venlikli durumda tutmak istiyorsan?z 軻kirde?inizi Linux'ta oldu?undan 輟k daha s?k
derlemenizin gerekecek olmas?d?r.
Her neyse, ben bu felsefeyi Linux'dakine tercih ederim ama bu sadece benim g?r???m.
Diyelim ki, ?? farkl? 軻kirde?i 軋l???r halde kararl? tutabilece?ini d???nm?yorum.
Uygulamalar?n da, ?zellikle de g?venlikle ilgili olanlar?n, bir s?r?mden di?erine
eklenmelerinin gerekli oldu?u anlam? da ??kmaz. Bir di?er ?rnek paket
filtreleme sistemi olabilir: 3 軻kirdek s?r?m?, 3 farkl? paket filtreleme s?r?m?!
Ve benzerleri.
ンnsanlar?n bu b?y?k i?i yapmalar?na sayg? duyar?m ama bu do?ru yolu mu?
ンyile?tirme daima buna gereksinim duyar ama her zaman her?eyi de?i?tirmek
uygun mu? !
Tabii ki gereksinimlerinizi kar??lamak i輅n de yeni bir 軻kirdek
derleyebilirsiniz ve o zaman Linux alt?ndaki gibi olur.
Bunu yapman?n yolu el kitab?nda olduk軋 ayr?nt?land?r?ld???ndan ba?ka konulara
ge軻lim.
Her zaman s?ylendi?i gibi, serbest yaz?l?m uygulamalar?n?n b?y?k 輟?unlu?u
(hepsi de?ilse de) FreeBSD alt?nda 軋l???r.
Yukar?da bahsedilen portlara yada paketlere gereksiniminiz olmaz.
Ula??labilen paketlerin 輟?unu yaz?l?m?n t?r? ne olursa olsun derleyebilirsiniz.
Masa?st? ortam? ba??ml?lar? i輅n Gnome ve KDE, da??t?mlar taraf?ndan i軻rilirler. Ayn? ?ey pencere y?neticileri i輅n de ge軻rlidir. B?y?k GNUstep 軋t?s?
FreeBSD alt?nda da olduk軋 iyi 軋l???r. Derlemek i輅n daha yeni bir gcc s?r?m?ne
gereksiniminiz varsa sorun de?il, o da da??t?m?n i輅ndedir! Sadece uygun paketi
edinip yeni derleyiciyle derleyin. A??k軋s? GNUMail.app, Gorm.app yada
ProjectBuilder.app gibi GNUstep uygulamalar? da olduk軋 iyi 軋l???r.
Ger軻kten Linux alt?nda 軋l??t?rd???n?z b?t?n yaz?l?mlar ve di?er bir輟?u
FreeBSD i輅n de edinilebilir.
ヨrne?in FreeBSD g?venlik hakk?nda bir demet ara輙a birlikte gelir. Monitoring,
managing ve benzeri ara輙ar da??t?m?n bir par軋s?d?rlar.
Ate?duvarlar?, proxy'ler, port taray?c?lar?, IDS, vb. 'ye de ula??labilir.
ヨrne?in IPsec yada ipfw'den birini se軻bilirsiniz. Nessus, nmap, portsentry, vb.
'yi kullanabilirsiniz. Bir輟?u da??t?m?n bir par軋s?d?r ve sizi son s?r?mlerini
edinip derlemenizden al?koyacak hi軛ir ?ey yoktur.
Masa ?st? ortam? yada pencere y?neticilerinden bahsettik ama X Pencere
Sistemi'nin 軋l??abilmesi i輅n ne gerekti?ini s?ylemedik. ?u anda XFree 4.*
?n tan?ml?d?r. Bilgi olarak, FreeBSD 4.5'e kadar XFree 3.* ?n tan?ml?yd?.
Yani, da??t?mda XFree 4.*'a sahiptiniz ama y?kleme s?recinde XFree 3.* se輅liydi
. Art?k XFree 4.* ?n tan?ml? ama isterseniz hala 3.* s?r?m?n? kullanabilirsiniz.
i386 'lardan bahsederken, donan?mlar?n 輟?uyla, biraz eski de
olsalar FreeBSD alt?nda 軋l???labilece?ini s?yleyelim. ヨrne?in eski bir 3Com
combo network kart? siz ifconfig byru?unda ortam tipini girer girmez
軋l??acakt?r. Bir BNC ba?lant?s? kullan?yorsan?z /etc/rc.conf 'daki ifconfig
sat?r?n?n sonuna media 10base2/BNC eklemeniz yeterlidir.
Ba?z? eski g?r?nt? kartlar? i輅n de ayn? durum ge軻rli: XFree 4.* kullanmak
problemlerin 輟?unu 銹zecektir. Bu daha eski ATI kartlar i輅n ise k?smen
do?rudur.
Her neyse, emin olmak i輅n FreeBSD sanal y?resindeki donan?m notlar?na
ba?vurabilirsiniz.
?u ana kadar ate?duvar?, port taray?c?s? vb. gibi birka? ara輻an bahsettik.
FreeBSD bir輟k ba?ka g?venlik arac?yla birlikte gelir. OpenSSH, OpenSSL,
Kerberos, MD5, vb. bu da??t?mlar?n bir k?sm?d?r. Do?al olarak, bu ara輙ar
olmadan ya?ayamazs?n?z ve yeni g?r?lm?? zay?gl?klar? da kontrol etmelisiniz.
G?ncel bir ?rnek 輟k dikkatli olman?n ?nemini g?sterir. ヨrne?in, diyelim ki,
OpenSSH'da bulunan bir a??k hakk?nda uyar?ld?n?z. Do?ru davran?? sanal
y?resine gidip uygun s?r?m?n? indirmektir.
Evet, ancak bu yeterli de?ildir! L?tfen paketleri kontrol edin.
OpenSSH ?rne?i keyfi bir ?rnek gibi al?nmamal?: birka? hafta ?nce biri
orjinal yerine bozuk s?r?m? yerle?tirdi. Do?al olarak insanlar OpenSSH ile
oduk軋 h?zl? etkile?tiler. Her nas?lsa kulln?c?lar ge軻n bu k?sa s?rede
tam kontrol yapmadan bu "k?t?" s?r?m? y?klediler. Bu sebeple,
checksum '?n kullan?lmas? gerekli... ve kontrol? gerekli.
Bu makalenin bak?? a??s?n?n d???nda da olsa bir tav?rdan ?nce g?venlik konusunda ?srar edelim.
FreeBSD alt?nda a? i?lemleri olduk軋 geli?ti. IPv6 uygulamas? olduk軋 ba?ar?l?.
ンleti?imin yeni anlam? bir kenarda b?rak?lm?? de?il. ADSL yada kablo modem
kullan?yorsan?z ayarlar? olduk軋 kolay.
Bug?n bir輟k ISP, PPPoE kullan?yor. FreeBSD bunu olduk軋 basit bir ?ekilde
y?netiyor: ppp.conf'da birka? sat?r i?i g?r?yor.
PPPoA (ATM) i輅n ?imdilik sadece Alcatel modem destekleniyor.
Bu 輟k yak?n gelecekte de?i?ecektir (belki ?u s?ralarda ba?ka desteklenen
modemler de vard?r).
Sa?lanan el kitab? edinilebilen tek kaynakyaz? de?il. FreeBSD sanal y?resinde bir SSS (S?k軋 Sorulan Sorular), bir y?kleme rehberi, vb bulabilirsiniz. Bir ba?ka ?nemli bilgi kayna?? da http://www.freebsd-howto.com adresinde bulunabilir.
Bu FreeBSD'nin olduk軋 k?sa bir incelemesi. Bu sistem, di?er serbest Unix'ler
gibi olduk軋 ilgin輻ir. Birkez denenmeyi olduk軋 hak eden bir輟k 輟k ?nemli
?zelli?i var. Ne yaz?k ki bir 輟k ?nemli ?zelli?ine de?inilmedi ve bu makale
tam bir inceleme olamaz.
FreeBSD, "Windowsumsu" Linux da??t?mlar?na g?re biraz daha fazla Unix bilgisi
gerektirsede kullan?m kolayl??? aynen kal?r.
Hi? Unix bilgisine sahip olmayan insanlar tabi ki sistem g?ncellemesinden sonra
s?k s?k 軻kirdek derlemek zorunda kal?nca zorluklar ya?ayabilirler. Ancak
bu "biraz" zaman alsa da ??renmenin iyi bir yoludur. ンnsanlar ba?lang?輻a
geli?tirenlerinin Unix'i, s?radan yada ev kullan?c?lar? i輅n de?il,
geli?tirenler i輅n ?rettiklerini unutmu? gibi g?r?n?yorlar.
Neyse ki serbest ve sahibi olmayan Unix'ler bu temel yakla??m? de?i?tirdiler.
Bu olas?l???n ger軻kle?mesini sa?layan bir 輟k geli?tiririciye te?ekk?rler.
Seksenlerde bug?n?n Linux kullan?c?lar?n?n 輟?u, sadece y?kleme i?lemleri
y?z?nden Unix'den ka??yorlard?. Da??t?mlar bantlarla geliyordu ve y?kleme
safhas? b?t?n bir 軋l??ma g?n?n? alabiliyorken, ayarlar en az sonraki g?ne
gereksinim duyuruyordu. Buna uygulama ayarlar? dahil de?il! Ve bug?n, Unix'i
Mac OS X gibi bir sistemle hatta Unix'i bilmeden bile kullanabilirsiniz.
Doksanlar?n ba??ndan beri "baba" OS X, NeXTstep ile bu bir ger軻k.
Konu d??? g?r?nebilir, ama NeXTstep serbest ve sahibi olmayan Unix'lere, ve
baz? di?erlerine yol g?stemi?tir! Unix'i ev kullan?c?lar?na getirmek bir
meydan okumayd? ve sonunda bu ger軻kle?ti. Bu meydan okuman?n i輅nde yer alan,
?cretli yada ?cretsiz 軋l??an b?t?n insanlara tebrikler. Kar??l?ks?z olarak
軋l??anlar ?zellikle 輟k daha fazla te?ekk?r? ve an?lmay? hak ediyorlar ;-)
FreeBSD'nin Apple ile "payla??lmas?" bana 輟k g?zel g?r?n?yor. Her biri
di?erinden do?ru ?ekilde yararlan?yor. Sahibi olmayan yaz?l?mlar daima
- y?ksek sesle "ba?r?lmadan"- serbest yaz?l?mlar olarak kullan?ld?.
Apple serbest yaz?l?m kulland???n? a??k軋 s?yler ve SGI yapar. Ba?z?
di?erleri ayn? ?eyi yap?yor g?r?n?yorlar... ama a???a vurulmam?? gerek軻lerle.
Her neyse, oran?n b?t?n "oda" olmak isteyenler hari? herkes i輅n bir "oda"
oldu?unu d???nmeye devam edece?im.
Linux hakk?ndaki "g?r?lt?" di?er serbest Unix'leri karanl?kta b?rak?yor:
?imdiye kadar, 輟k iyi. Bu parlak bir taraf? olabilir... ve bu benim neden
FreeBSD kulland???m?n da temel sebebi.
Linux kullanmaya da do?al olarak devam ediyorum (ba?ka bir輟klar? gibi):
軻?itlili?i severim!
Can?n?z FreeBSD'yi bir denemek isterse bu makale bo?una olmayacak.
Kendiniz deneyecek ve burada bahsedilmeyen bir輟k ?ey ke?fedeceksiniz.
Size s?yledim: ?nemli bir zamanda ya??yoruz!
|
G?rsely?re sayfalar?n?n bak?m?, LinuxFocus Edit?rleri taraf?ndan yap?lmaktad?r
© Georges , FDL LinuxFocus.org |
ヌeviri bilgisi:
|
2002年09月24日, generated by lfparser version 2.31