summaryrefslogtreecommitdiffstats
path: root/src/plugins/rhbz.c
diff options
context:
space:
mode:
authorNikola Pajkovsky <npajkovs@redhat.com>2011-05-16 17:30:32 +0200
committerNikola Pajkovsky <npajkovs@redhat.com>2011-05-16 17:31:17 +0200
commitcac4561e6f5aa814d725406043a7091addf4407c (patch)
tree71c6b38c0e8963be135d57d1b3f02889e3d51a9e /src/plugins/rhbz.c
parentf44933abe753b26634b636e6a0c4a231b7e5b60b (diff)
downloadabrt-cac4561e6f5aa814d725406043a7091addf4407c.tar.gz
abrt-cac4561e6f5aa814d725406043a7091addf4407c.tar.xz
abrt-cac4561e6f5aa814d725406043a7091addf4407c.zip
suppress mails for cc and attachments
Signed-off-by: Nikola Pajkovsky <npajkovs@redhat.com>
Diffstat (limited to 'src/plugins/rhbz.c')
-rw-r--r--src/plugins/rhbz.c38
1 files changed, 25 insertions, 13 deletions
diff --git a/src/plugins/rhbz.c b/src/plugins/rhbz.c
index 90587e5e..d7d583dd 100644
--- a/src/plugins/rhbz.c
+++ b/src/plugins/rhbz.c
@@ -382,17 +382,21 @@ int rhbz_new_bug(struct abrt_xmlrpc *ax, problem_data_t *problem_data,
/* suppress mail notify by {s:i} (nomail:1) (driven by flag) */
int rhbz_attachment(struct abrt_xmlrpc *ax, const char *filename,
- const char *bug_id, const char *data)
+ const char *bug_id, const char *data, int flags)
{
char *encoded64 = encode_base64(data, strlen(data));
char *fn = xasprintf("File: %s", filename);
xmlrpc_value* result;
- result= abrt_xmlrpc_call(ax, "bugzilla.addAttachment", "(s{s:s,s:s,s:s,s:s})",
+ int nomail_notify = IS_NOMAIL_NOTIFY(flags);
+
+ result= abrt_xmlrpc_call(ax, "bugzilla.addAttachment", "(s{s:s,s:s,s:s,s:s,s:i})",
bug_id,
"description", fn,
"filename", filename,
"contenttype", "text/plain",
- "data", encoded64);
+ "data", encoded64,
+ "nomail", nomail_notify);
+
free(encoded64);
free(fn);
if (!result)
@@ -405,7 +409,7 @@ int rhbz_attachment(struct abrt_xmlrpc *ax, const char *filename,
/* suppress mail notify by {s:i} (nomail:1) (driven by flag) */
int rhbz_attachments(struct abrt_xmlrpc *ax, const char *bug_id,
- problem_data_t *problem_data)
+ problem_data_t *problem_data, int flags)
{
GHashTableIter iter;
char *name;
@@ -421,7 +425,7 @@ int rhbz_attachments(struct abrt_xmlrpc *ax, const char *bug_id,
&& (strlen(content) > CD_TEXT_ATT_SIZE /*|| (strcmp(name, FILENAME_BACKTRACE) == 0)*/)
) {
/* check if the attachment failed and try it once more */
- rhbz_attachment(ax, name, bug_id, content);
+ rhbz_attachment(ax, name, bug_id, content, flags);
}
}
@@ -462,21 +466,29 @@ struct bug_info *rhbz_find_origin_bug_closed_duplicate(struct abrt_xmlrpc *ax,
}
/* suppress mail notify by {s:i} (nomail:1) */
-void rhbz_mail_to_cc(struct abrt_xmlrpc *ax, int bug_id, const char *mail)
+void rhbz_mail_to_cc(struct abrt_xmlrpc *ax, int bug_id, const char *mail, int flags)
{
- xmlrpc_value *result = abrt_xmlrpc_call(ax, "Bug.update", "({s:i,s:{s:(s)}})",
- "ids", bug_id, "updates", "add_cc", mail);
+ xmlrpc_value *result;
+ int nomail_notify = IS_NOMAIL_NOTIFY(flags);
+ result = abrt_xmlrpc_call(ax, "Bug.update", "({s:i,s:{s:(s),s:i}})",
+ "ids", bug_id, "updates", "add_cc", mail,
+ "nomail", nomail_notify);
+
if (result)
xmlrpc_DECREF(result);
}
void rhbz_add_comment(struct abrt_xmlrpc *ax, int bug_id, const char *comment,
- int is_private)
+ int flags)
{
- xmlrpc_value *result = abrt_xmlrpc_call(ax, "Bug.add_comment", "({s:i,s:s,s:b})",
- "id", bug_id,
- "comment", comment,
- "private", is_private);
+ int private = IS_PRIVATE(flags);
+ int nomail_notify = IS_NOMAIL_NOTIFY(flags);
+
+ xmlrpc_value *result;
+ result = abrt_xmlrpc_call(ax, "Bug.add_comment", "({s:i,s:s,s:b,s:i})",
+ "id", bug_id, "comment", comment,
+ "private", private, "nomail", nomail_notify);
+
if (result)
xmlrpc_DECREF(result);
}