Subject: Unlimited inetd nowait connections [was Re: standalone ftpd?]
To: None <ghen@telenet.be>
From: Mike M. Volokhov <mishka@apk.od.ua>
List: tech-userlevel
Date: 05/25/2005 16:58:32
This is a multi-part message in MIME format.

--Multipart=_Wed__25_May_2005_16_58_32_+0300_ewh1kwKuPftU4BpD
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

On Wed, 25 May 2005 14:42:09 +0200
"Geert Hendrickx" <geert.hendrickx@ua.ac.be> wrote:

> Hi, 
> 
> is it possible to run /usr/libexec/ftpd as a standalone daemon? (i.e.,
> not from inetd)  
> 
> I had problems running it from inetd since that puts restrictions on the
> number of connections etc.  I'd like to run ftpd on its own (like you
> can do with the many other ftp servers from pkgsrc).  

Let me add my own question:

Is it possibe to set a number of nowait connections to unlimited value?

Briefly looking to inetd.c I haven't found such ways.

The trivial patch (see attachment) should allow this behaviour if you
pass non-positive value to nowait, i.e. "nowait:0" (sorry for huge
patch, it's because line shifting). Of course, it's always better to
set this value just to big enough, but to allow some freedom for
sysadmins... ;-)

--
Mishka.

--Multipart=_Wed__25_May_2005_16_58_32_+0300_ewh1kwKuPftU4BpD
Content-Type: text/plain;
 name="inetd.c.patch"
Content-Disposition: attachment;
 filename="inetd.c.patch"
Content-Transfer-Encoding: base64

PyAuZ2RiaW5pdA0KPyBpbmV0ZA0KPyBpbmV0ZC5jYXQ4DQpJbmRleDogaW5ldGQuYw0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQ0KUkNTIGZpbGU6IC91c3IvaG9tZS9taXNoa2EvTmV0QlNELUNWUy9zcmMvdXNyLnNiaW4v
aW5ldGQvaW5ldGQuYyx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTAwDQpkaWZmIC11IC1yMS4x
MDAgaW5ldGQuYw0KLS0tIGluZXRkLmMJOSBBcHIgMjAwNSAyMDoxNDo1NSAtMDAwMAkxLjEwMA0K
KysrIGluZXRkLmMJMjUgTWF5IDIwMDUgMTM6NTQ6NDQgLTAwMDANCkBAIC01ODYsMzAgKzU4Niwz
NCBAQA0KIAlkb2ZvcmsgPSAoc2VwLT5zZV9iaSA9PSAwIHx8IHNlcC0+c2VfYmktPmJpX2Zvcmsp
Ow0KICNlbmRpZg0KIAlpZiAoZG9mb3JrKSB7DQotCQlpZiAoc2VwLT5zZV9jb3VudCsrID09IDAp
DQotCQkJKHZvaWQpZ2V0dGltZW9mZGF5KCZzZXAtPnNlX3RpbWUsIE5VTEwpOw0KLQkJZWxzZSBp
ZiAoc2VwLT5zZV9jb3VudCA+PSBzZXAtPnNlX21heCkgew0KLQkJCXN0cnVjdCB0aW1ldmFsIG5v
dzsNCi0NCi0JCQkodm9pZClnZXR0aW1lb2ZkYXkoJm5vdywgTlVMTCk7DQotCQkJaWYgKG5vdy50
dl9zZWMgLSBzZXAtPnNlX3RpbWUudHZfc2VjID4gQ05UX0lOVFZMKSB7DQotCQkJCXNlcC0+c2Vf
dGltZSA9IG5vdzsNCi0JCQkJc2VwLT5zZV9jb3VudCA9IDE7DQotCQkJfSBlbHNlIHsNCi0JCQkJ
c3lzbG9nKExPR19FUlIsDQotCQkJCSAgICAiJXMvJXMgbWF4IHNwYXduIHJhdGUgKCVkIGluICVk
IHNlY29uZHMpICINCi0JCQkJICAgICJleGNlZWRlZDsgc2VydmljZSBub3Qgc3RhcnRlZCIsDQot
CQkJCSAgICBzZXAtPnNlX3NlcnZpY2UsIHNlcC0+c2VfcHJvdG8sDQotCQkJCSAgICBzZXAtPnNl
X21heCwgQ05UX0lOVFZMKTsNCi0JCQkJaWYgKCFzZXAtPnNlX3dhaXQgJiYgc2VwLT5zZV9zb2Nr
dHlwZSA9PQ0KLQkJCQkgICAgU09DS19TVFJFQU0pDQotCQkJCQljbG9zZShjdHJsKTsNCi0JCQkJ
Y2xvc2Vfc2VwKHNlcCk7DQotCQkJCWlmICghdGltaW5nb3V0KSB7DQotCQkJCQl0aW1pbmdvdXQg
PSAxOw0KLQkJCQkJYWxhcm0oUkVUUllUSU1FKTsNCisJCWlmIChzZXAtPnNlX21heCA+IDApIHsN
CisJCQlpZiAoc2VwLT5zZV9jb3VudCsrID09IDApDQorCQkJCSh2b2lkKWdldHRpbWVvZmRheSgm
c2VwLT5zZV90aW1lLCBOVUxMKTsNCisJCQllbHNlIGlmIChzZXAtPnNlX2NvdW50ID49IHNlcC0+
c2VfbWF4KSB7DQorCQkJCXN0cnVjdCB0aW1ldmFsIG5vdzsNCisNCisJCQkJKHZvaWQpZ2V0dGlt
ZW9mZGF5KCZub3csIE5VTEwpOw0KKwkJCQlpZiAobm93LnR2X3NlYyAtIHNlcC0+c2VfdGltZS50
dl9zZWMgPg0KKwkJCQkgICAgQ05UX0lOVFZMKSB7DQorCQkJCQlzZXAtPnNlX3RpbWUgPSBub3c7
DQorCQkJCQlzZXAtPnNlX2NvdW50ID0gMTsNCisJCQkJfSBlbHNlIHsNCisJCQkJCXN5c2xvZyhM
T0dfRVJSLA0KKwkJCQkJICAgICIlcy8lcyBtYXggc3Bhd24gcmF0ZSAiDQorCQkJCQkgICAgIigl
ZCBpbiAlZCBzZWNvbmRzKSAiDQorCQkJCQkgICAgImV4Y2VlZGVkOyBzZXJ2aWNlIG5vdCBzdGFy
dGVkIiwNCisJCQkJCSAgICBzZXAtPnNlX3NlcnZpY2UsIHNlcC0+c2VfcHJvdG8sDQorCQkJCQkg
ICAgc2VwLT5zZV9tYXgsIENOVF9JTlRWTCk7DQorCQkJCQlpZiAoIXNlcC0+c2Vfd2FpdCAmJiBz
ZXAtPnNlX3NvY2t0eXBlID09DQorCQkJCQkgICAgU09DS19TVFJFQU0pDQorCQkJCQkJY2xvc2Uo
Y3RybCk7DQorCQkJCQljbG9zZV9zZXAoc2VwKTsNCisJCQkJCWlmICghdGltaW5nb3V0KSB7DQor
CQkJCQkJdGltaW5nb3V0ID0gMTsNCisJCQkJCQlhbGFybShSRVRSWVRJTUUpOw0KKwkJCQkJfQ0K
KwkJCQkJcmV0dXJuOw0KIAkJCQl9DQotCQkJCXJldHVybjsNCiAJCQl9DQogCQl9DQogCQlwaWQg
PSBmb3JrKCk7DQo=

--Multipart=_Wed__25_May_2005_16_58_32_+0300_ewh1kwKuPftU4BpD--