ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/branches/8.0.x/src/conf_parser.y
(Generate patch)

Comparing ircd-hybrid/branches/8.0.x/src/conf_parser.y (file contents):
Revision 1744 by michael, Mon Jan 14 20:25:43 2013 UTC vs.
Revision 1750 by michael, Wed Jan 16 14:07:08 2013 UTC

# Line 188 | Line 188 | free_collect_item(struct CollectItem *it
188   %token  MAX_IDENT
189   %token  MAX_LOCAL
190   %token  MAX_NICK_CHANGES
191 + %token  MAX_NICK_LENGTH
192   %token  MAX_NICK_TIME
193   %token  MAX_NUMBER
194   %token  MAX_TARGETS
195 + %token  MAX_TOPIC_LENGTH
196   %token  MAX_WATCH
197   %token  MESSAGE_LOCALE
198   %token  MIN_NONWILDCARD
# Line 420 | Line 422 | serverinfo_items:       serverinfo_items
422   serverinfo_item:        serverinfo_name | serverinfo_vhost |
423                          serverinfo_hub | serverinfo_description |
424                          serverinfo_network_name | serverinfo_network_desc |
425 <                        serverinfo_max_clients | serverinfo_ssl_dh_param_file |
425 >                        serverinfo_max_clients | serverinfo_max_nick_length |
426 >                        serverinfo_max_topic_length |
427 >                        serverinfo_ssl_dh_param_file |
428                          serverinfo_rsa_private_key_file | serverinfo_vhost6 |
429                          serverinfo_sid | serverinfo_ssl_certificate_file |
430                          serverinfo_ssl_client_method | serverinfo_ssl_server_method |
# Line 743 | Line 747 | serverinfo_max_clients: T_MAX_CLIENTS '=
747    }
748   };
749  
750 + serverinfo_max_nick_length: MAX_NICK_LENGTH '=' NUMBER ';'
751 + {
752 +  if (conf_parser_ctx.pass == 2)
753 +  {
754 +    if ($3 < 9)
755 +    {
756 +      conf_error_report("max_nick_length too low, setting to 9");
757 +      ServerInfo.max_nick_length = 9;
758 +    }
759 +    else if ($3 > NICKLEN)
760 +    {
761 +      char buf[IRCD_BUFSIZE];
762 +
763 +      snprintf(buf, sizeof(buf), "max_nick_length too high, setting to %d", NICKLEN);
764 +      conf_error_report(buf);
765 +      ServerInfo.max_nick_length = NICKLEN;
766 +    }
767 +    else
768 +      ServerInfo.max_nick_length = $3;
769 +  }
770 + };
771 +
772 + serverinfo_max_topic_length: MAX_TOPIC_LENGTH '=' NUMBER ';'
773 + {
774 +  if (conf_parser_ctx.pass == 2)
775 +  {
776 +    if ($3 < 80)
777 +    {
778 +      conf_error_report("max_topic_length too low, setting to 80");
779 +      ServerInfo.max_topic_length = 80;
780 +    }
781 +    else if ($3 > TOPICLEN)
782 +    {
783 +      char buf[IRCD_BUFSIZE];
784 +
785 +      snprintf(buf, sizeof(buf), "max_topic_length too high, setting to %d", TOPICLEN);
786 +      conf_error_report(buf);
787 +      ServerInfo.max_topic_length = TOPICLEN;
788 +    }
789 +    else
790 +      ServerInfo.max_topic_length = $3;
791 +  }
792 + };
793 +
794   serverinfo_hub: HUB '=' TBOOL ';'
795   {
796    if (conf_parser_ctx.pass == 2)

Diff Legend

Removed lines
+ Added lines
< Changed lines (old)
> Changed lines (new)