milux / ctldap

LDAP Wrapper for ChurchTools
GNU General Public License v3.0
12 stars 8 forks source link

Deamon crash on parser error #16

Open a-schild opened 5 years ago

a-schild commented 5 years ago

When the ldap server receives unknown/unhandled packets/requests, the daemon might abort with a fatal error und the ldap service is dead.

Here the stack trace ejected when the daemon did stop. I don't yet know what request was incomming to the server

Mar 13 11:47:05 rc19b0502 ctldap[9779]: events.js:174
Mar 13 11:47:05 rc19b0502 ctldap[9779]:       throw er; // Unhandled 'error' event
Mar 13 11:47:05 rc19b0502 ctldap[9779]:       ^
Mar 13 11:47:05 rc19b0502 ctldap[9779]: VError: Parser error for xx.xxx.xxx.xx:1287: Parser error for xx.xxx.xxx.xx:1287: Op 0x?? not supported
Mar 13 11:47:05 rc19b0502 ctldap[9779]:     at Parser.<anonymous> (/opt/ctldap-ms-master/node_modules/ldapjs/lib/server.js:442:26)
Mar 13 11:47:05 rc19b0502 ctldap[9779]:     at Parser.emit (events.js:189:13)
Mar 13 11:47:05 rc19b0502 ctldap[9779]:     at Parser.write (/opt/ctldap-ms-master/node_modules/ldapjs/lib/messages/parser.js:107:10)
Mar 13 11:47:05 rc19b0502 ctldap[9779]:     at Socket.<anonymous> (/opt/ctldap-ms-master/node_modules/ldapjs/lib/server.js:460:16)
Mar 13 11:47:05 rc19b0502 ctldap[9779]:     at Socket.emit (events.js:189:13)
Mar 13 11:47:05 rc19b0502 ctldap[9779]:     at addChunk (_stream_readable.js:284:12)
Mar 13 11:47:05 rc19b0502 ctldap[9779]:     at readableAddChunk (_stream_readable.js:265:11)
Mar 13 11:47:05 rc19b0502 ctldap[9779]:     at Socket.Readable.push (_stream_readable.js:220:10)
Mar 13 11:47:05 rc19b0502 ctldap[9779]:     at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)
Mar 13 11:47:05 rc19b0502 ctldap[9779]: Emitted 'error' event at:
Mar 13 11:47:05 rc19b0502 ctldap[9779]:     at Parser.<anonymous> (/opt/ctldap-ms-master/node_modules/ldapjs/lib/server.js:442:12)
Mar 13 11:47:05 rc19b0502 ctldap[9779]:     at Parser.emit (events.js:189:13)
Mar 13 11:47:05 rc19b0502 ctldap[9779]:     [... lines matching original stack trace ...]
Mar 13 11:47:05 rc19b0502 ctldap[9779]:     at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)
milux commented 4 years ago

This is a low priority issue, because if you need more resilience you can easily achieve this in a number of ways, among others: Docker restart policy (unless-stopped, always), watchdog services, systemd service definition...