Mailinglist Archive: yast-devel (121 mails)

< Previous Next >
[yast-devel] Re: [yast-commit] r64348 - in /trunk/ca-management: ./ VERSION package/yast2-ca-management.changes src/CaMgm.ycp src/ca_mgm_proposal.ycp src/ca_select_proposal.ycp src/new_cert_read_write.ycp
On Tue, Jun 14, 2011 at 12:53:18PM -0000, jreidinger@xxxxxxxxxxxxxxxxx wrote:
Author: jreidinger
Date: Tue Jun 14 14:53:17 2011
New Revision: 64348

URL: http://svn.opensuse.org/viewcvs/yast?rev=64348&view=rev
Log:
merge SP1 features to ca management

Modified:
trunk/ca-management/ (props changed)
trunk/ca-management/VERSION
trunk/ca-management/package/yast2-ca-management.changes
trunk/ca-management/src/CaMgm.ycp
trunk/ca-management/src/ca_mgm_proposal.ycp
trunk/ca-management/src/ca_select_proposal.ycp
trunk/ca-management/src/new_cert_read_write.ycp

Modified: trunk/ca-management/VERSION
URL:
http://svn.opensuse.org/viewcvs/yast/trunk/ca-management/VERSION?rev=64348&r1=64347&r2=64348&view=diff
==============================================================================
--- trunk/ca-management/VERSION (original)
+++ trunk/ca-management/VERSION Tue Jun 14 14:53:17 2011
@@ -1 +1 @@
-2.21.0
+2.21.1

Modified: trunk/ca-management/package/yast2-ca-management.changes
URL:
http://svn.opensuse.org/viewcvs/yast/trunk/ca-management/package/yast2-ca-management.changes?rev=64348&r1=64347&r2=64348&view=diff
==============================================================================
--- trunk/ca-management/package/yast2-ca-management.changes (original)
+++ trunk/ca-management/package/yast2-ca-management.changes Tue Jun 14
14:53:17 2011
@@ -1,4 +1,12 @@
-------------------------------------------------------------------
+Tue Jun 14 13:02:34 CEST 2011 - jreidinger@xxxxxxx
+
+- version 2.21.1
+- country selection combobox is editable to allow choose of

choosing

+ countries not listed there (FATE#310179)
+- allow to change altarnative name in CA proposal (FATE#308423)

alternative

+
+-------------------------------------------------------------------
Fri Apr 29 11:32:34 CEST 2011 - mc@xxxxxxx

- version 2.21.0

Modified: trunk/ca-management/src/CaMgm.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/trunk/ca-management/src/CaMgm.ycp?rev=64348&r1=64347&r2=64348&view=diff
==============================================================================
--- trunk/ca-management/src/CaMgm.ycp (original)
+++ trunk/ca-management/src/CaMgm.ycp Tue Jun 14 14:53:17 2011
@@ -136,6 +136,7 @@
global symbol prop_selection = `def; // `none, `disk

global list<map> prop_subject_alt_name_list = [];
+global boolean prop_adv_cri_issuer_alt_name = false;

bbrvtns! i lv bbrvtns!
f ths s prt f xstng cnvntn (*sgh*) , plz dd cmmnt, lk:
// property: advanced criminal issuer altimeter name


global boolean adv_subject_alt_name_show_email = false;


Modified: trunk/ca-management/src/ca_mgm_proposal.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/trunk/ca-management/src/ca_mgm_proposal.ycp?rev=64348&r1=64347&r2=64348&view=diff
==============================================================================
--- trunk/ca-management/src/ca_mgm_proposal.ycp (original)
+++ trunk/ca-management/src/ca_mgm_proposal.ycp Tue Jun 14 14:53:17 2011
@@ -54,18 +54,20 @@

map<string,string> host_ips = getHostIPs ();
string hostname_bak = "";
- CaMgm::prop_subject_alt_name_list = [];
+ if (size(CaMgm::prop_subject_alt_name_list) <= 0){
+ CaMgm::prop_subject_alt_name_list = [];

- foreach(string key, string value, host_ips, {
-
if(value == "DNS")
-
{
-
hostname_bak = key;
-
}
-
map elem = $[];
-
elem["kind"] = value;
-
elem["name"] = key;
-
CaMgm::prop_subject_alt_name_list = add (CaMgm::prop_subject_alt_name_list,
elem);
- });
+ foreach(string key, string value, host_ips, {
+ if(value == "DNS")
+ {
+ hostname_bak = key;
+ }
+ map elem = $[];
+ elem["kind"] = value;
+ elem["name"] = key;
+ CaMgm::prop_subject_alt_name_list = add
(CaMgm::prop_subject_alt_name_list, elem);
+ });
+ }

Thanks for fixing the indentation. Could you please make such fixes
in separate commits, it makes reviewing easier.


map retmap = (map) SCR::Execute (.target.bash_output,

"/bin/hostname --long",

Modified: trunk/ca-management/src/ca_select_proposal.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/trunk/ca-management/src/ca_select_proposal.ycp?rev=64348&r1=64347&r2=64348&view=diff
==============================================================================
--- trunk/ca-management/src/ca_select_proposal.ycp (original)
+++ trunk/ca-management/src/ca_select_proposal.ycp Tue Jun 14 14:53:17 2011
@@ -49,6 +49,151 @@
});
return result;
}
+
+ define list editAltNames( list<map> initial_set ){
+ term alt_dialog = `HBox( `VSpacing(10),
+ `VBox (`HSpacing(10),
+ `RadioButtonGroup(`id(`rb),
+ `HBox(
+
`RadioButton(`id("URI"), `opt(`notify), "URI", true),
+
`RadioButton(`id("email"), `opt(`notify), "email"),
+
`RadioButton(`id("DNS"), `opt(`notify), "DNS"),
+
`RadioButton(`id("IP"), `opt(`notify), "IP"),
+
`RadioButton(`id("RID"), `opt(`notify), "RID"),
+
`RadioButton(`id("MS-UPN"), `opt(`notify), "MS-UPN"),
+
`RadioButton(`id("K5PN"), `opt(`notify), "K5PN")
+ )),
+ `TextEntry(`id(`name), _("&Name:")),

labels should not have trailing colons

+ // push button label
+ `HBox(`PushButton (`id(`cancel),
`opt(`key_F9), Label::CancelButton()),
+ `HStretch(),
+ `PushButton (`id(`ok),
`opt(`default, `key_F10), Label::OKButton())
+ ),
+ `HSpacing(10)
+ ),
+ `VSpacing(10)
+ );
+ UI::OpenDialog (
+ `VBox ( `Left (`CheckBox(`id(`id_adv_cri_subject_alt_name),
+ _("critical"),

"critical" what? Add a comment for translators so that they know
whether it is "kritický" (certifikát) or "kritická" (chyba) or
"kritické" (čtení kódu)

+ CaMgm::prop_adv_cri_issuer_alt_name
+ )),
+ `VSpacing(1.5),
+ `HBox(
+ `VSpacing(5),
+ `HWeight (3, `Table (`id
(`id_adv_subject_alt_name),
+ `header (
+ // To translators:
table headers
+ _("Kind"),
+ _("Name")
+ )
+ )),
+ `HWeight (1, `VBox(
+ `HBox ( `HWeight (1,`PushButton
(`id (`add),
+
`opt (`key_F3),
+
Label::AddButton()
+ ))),
+ `HBox ( `HWeight (1,`PushButton
(`id (`edit),
+
`opt (`key_F3),
+
Label::EditButton()
+ ))),
+ `HBox ( `HWeight (1,`PushButton
(`id (`delete),
+
`opt (`key_F5),
+
Label::DeleteButton()
+ ))),
+ `VStretch()
+ ))),
+ `VSpacing(1.5),
+
`ButtonBox(`PushButton(`id(`ok),`opt(`key_F10),Label::OKButton()),
+ `PushButton
(`id(`cancel),`opt(`key_F9,`default), Label::CancelButton())
+ )
+ ));
+ any ret = nil;
+ do {
+ integer i = 0;
+ list<term> table_list = maplist( map element, initial_set, ``{
+ i = i + 1;
+ return `item (`id (i), element["kind"]:"",
element["name"]:"" );
+ });
+ UI::ChangeWidget(`id(`id_adv_subject_alt_name), `Items,
table_list);
+ ret = UI::UserInput();
+ if (ret == `add || ret == `edit ){
+ string current_kind = "";
+ string current_name = "";
+ if (ret == `edit){
+ integer current_item =
(integer)UI::QueryWidget(`id(`id_adv_subject_alt_name), `CurrentItem);
+ term table_item = (term)
UI::QueryWidget(`id(`id_adv_subject_alt_name), `Item(current_item));
+ if (table_item == nil)
+ {
+ Popup::Error (_("No item has been selected."));
+ continue;
+ }
+
+ current_kind = (string) table_item[1]:"";
+ current_name = (string) table_item[2]:"";
+ }
+ UI::OpenDialog (`opt(`decorated ),alt_dialog);
+ UI::SetFocus (`id(`ok));
+ if (ret == `edit){
+ UI::ChangeWidget(`id(`name), `Value, current_name);
+ UI::ChangeWidget(`id(`rb), `CurrentButton, current_kind);
+ }
+ if(!CaMgm::adv_subject_alt_name_show_email)
+ {
+ UI::ChangeWidget(`id("email"), `Enabled, false);
+ } else {
+ UI::ChangeWidget(`id("email"), `Enabled, true);
+ }
+ while (true)
+ {
+ any ret2 = UI::UserInput();
+ if (ret2 == `ok)
+ {
+ map new_entry = (ret==`add) ? $[] :
+ find(map m,initial_set,
+ ``{return (m["kind"]:"" == current_kind
&& m["name"]:"" == current_name);});
+ new_entry["kind"] = (string)
UI::QueryWidget(`id(`rb), `CurrentButton);
+ new_entry["name"] = (string)
UI::QueryWidget(`id(`name), `Value);
+ if (ret == `add)
+ {
+ initial_set = add (initial_set, new_entry);
+ }
+ break;
+ }
+ else if (ret2 == `cancel)
+ {
+ break;
+ }
+ }
+ UI::CloseDialog ();
+ } else if (ret == `delete) {
+ integer current_item =
(integer)UI::QueryWidget(`id(`id_adv_subject_alt_name), `CurrentItem);
+ term table_item = (term)
UI::QueryWidget(`id(`id_adv_subject_alt_name), `Item(current_item));
+
+ if (table_item == nil)
+ {
+ Popup::Error (_("No item has been selected."));
+ continue;
+ }
+ string current_kind = (string) table_item[1]:"";
+ string current_name = (string) table_item[2]:"";

Actually 'foo[index]:default' already includes casting the result to
the type of 'default', so (string) is superfluous here.

+
+ if (Popup::YesNoHeadline (
+ // To translators: ContinueCancel Popup headline
+ _("Delete"),
+ // To translators: ContinueCancel Popup
+ _("Really delete this entry?")))
+ {
+ initial_set = filter( map element, initial_set, ``{
+ return (element["kind"]:"" != current_kind ||
element["name"]:"" != current_name );
+ });
+ }
+ }
+ } while ( ret != `ok && ret != `cancel );

^^^ yuck. do we have a plan how to improve this "best UI practice"?

+ boolean ca_crit = (boolean)
UI::QueryWidget(`id(`id_adv_cri_subject_alt_name), `Value);
+ UI::CloseDialog();
+ return (ret == `ok) ? [initial_set,ca_crit] : nil;
+ }


/**
@@ -97,7 +242,7 @@
),
`HBox(`HWeight (1,`TextEntry(`id(`email),
_("E-Mail"), CaMgm::prop_email)),
`HSpacing(2),
- `HWeight (1,`Empty())
+ `HWeight (1,`PushButton(`id(`alt),"&Edit
Alternative Names"))
)
);

@@ -119,12 +264,21 @@
// Get the user input.
//
any ret = nil;
+ list<map> temp_alt_names = CaMgm::prop_subject_alt_name_list;
+ boolean temp_cri_alt = CaMgm::prop_adv_cri_issuer_alt_name;

repeat
{
ret = Wizard::UserInput();

- if (ret == `next
+ if (ret == `alt)
+ {
+ any ret = editAltNames(temp_alt_names);

hey! how about "list names_and_criminalsorwhatever = ..." ?

+ if (ret != nil)
+ temp_alt_names = ((list)ret)[0]:temp_alt_names;
+ temp_cri_alt = ((list)ret)[1]:temp_cri_alt;
+ }
+ else if (ret == `next
||ret == `back)
{
confirmPassword = (string) UI::QueryWidget(`id(`pw2),
`Value);
@@ -183,6 +337,9 @@
CaMgm::prop_organisationUnit = (string)
UI::QueryWidget(`id(`id_organisationUnit), `Value);
CaMgm::prop_locality = (string)
UI::QueryWidget(`id(`id_locality), `Value);
CaMgm::prop_state = (string)
UI::QueryWidget(`id(`id_state), `Value);
+ CaMgm::prop_subject_alt_name_list = temp_alt_names;
+ CaMgm::prop_adv_cri_issuer_alt_name = temp_cri_alt;
+ y2milestone("alt names %1",
CaMgm::prop_subject_alt_name_list);
}
}
}

Modified: trunk/ca-management/src/new_cert_read_write.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/trunk/ca-management/src/new_cert_read_write.ycp?rev=64348&r1=64347&r2=64348&view=diff
==============================================================================
--- trunk/ca-management/src/new_cert_read_write.ycp (original)
+++ trunk/ca-management/src/new_cert_read_write.ycp Tue Jun 14 14:53:17 2011
@@ -760,6 +760,7 @@
foreach(map elem, CaMgm::prop_subject_alt_name_list, {


CaMgm::adv_subject_alt_name_list = add (CaMgm::adv_subject_alt_name_list,
elem);

});
+ CaMgm::adv_cri_issuer_alt_name =
CaMgm::prop_adv_cri_issuer_alt_name;
}
if (kind == "Client Certificate")
{

--
To unsubscribe, e-mail: yast-commit+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: yast-commit+help@xxxxxxxxxxxx

--
Martin Vidner, YaST developer
http://en.opensuse.org/User:Mvidner

Kuracke oddeleni v restauraci je jako fekalni oddeleni v bazenu
< Previous Next >
Follow Ups