ossim_valid(GET("port_to_list"), OSS_PORT_TO_LIST, OSS_NULLABLE, 'illegal:' . _("port from list"));
    ossim_valid(GET("from_rep"), OSS_ALPHA, OSS_NULLABLE, 'illegal:' . _("Reputation from"));
    ossim_valid(GET("to_rep"), OSS_ALPHA, OSS_NULLABLE, 'illegal:' . _("Reputation to"));
    ossim_valid(GET("from_rep_min_pri"), OSS_ALPHA, OSS_NULLABLE, 'illegal:' . _("Reputation from min priority"));
    ossim_valid(GET("to_rep_min_pri"), OSS_ALPHA, OSS_NULLABLE, 'illegal:' . _("Reputation to min priority"));
    ossim_valid(GET("from_rep_min_rel"), OSS_ALPHA, OSS_NULLABLE, 'illegal:' . _("Reputation from min reliability"));
    ossim_valid(GET("to_rep_min_rel"), OSS_ALPHA, OSS_NULLABLE, 'illegal:' . _("Reputation to min reliability"));
    if (ossim_error()) {
        die(ossim_error());
    }
    // Secondary validation
    if (!Directive_editor::valid_directive_port(GET("port_from")) || !Directive_editor::valid_directive_port(GET("port_from_list"))) {
        $error = TRUE;
        $error_msg[] = _('Invalid source port value');
    }
    if (!Directive_editor::valid_directive_port(GET("port_to")) || !Directive_editor::valid_directive_port(GET("port_to_list"))) {
        $error = TRUE;
        $error_msg[] = _('Invalid destination port value');
    }
    if (!$error) {
        $directive_editor = new Directive_editor($engine_id);
        $directive_editor->save_rule_attrib($rule_id, $directive_id, $xml_file, array("from", "to", "port_from", "port_to", "from_rep", "to_rep", "from_rep_min_pri", "to_rep_min_pri", "from_rep_min_rel", "to_rep_min_rel"), array(GET('from'), GET('to'), GET('port_from'), GET('port_to'), GET('from_rep'), GET('to_rep'), GET('from_rep_min_pri'), GET('to_rep_min_pri'), GET('from_rep_min_rel'), GET('to_rep_min_rel')));
        ?>
        <script type="text/javascript">
        var params          = new Array();
        params['xml']       = "<?php 
        echo $xml_file;
        ?>
";
        params['directive'] = "<?php 
        echo $directive_id;