libpurple/protocols/gg/validator.c

Mon, 03 Feb 2014 21:28:04 +0100

author
Tomasz Wasilczyk <twasilczyk@pidgin.im>
date
Mon, 03 Feb 2014 21:28:04 +0100
changeset 35355
3be5d45ba972
parent 35305
056b8468d470
child 35357
389e413e3414
permissions
-rw-r--r--

Style: fix gg (partially)

33348
2394cd23ce8f Gadu-Gadu: add GSoC copyright note
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33332
diff changeset
1 /* purple
2394cd23ce8f Gadu-Gadu: add GSoC copyright note
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33332
diff changeset
2 *
2394cd23ce8f Gadu-Gadu: add GSoC copyright note
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33332
diff changeset
3 * Purple is the legal property of its developers, whose names are too numerous
2394cd23ce8f Gadu-Gadu: add GSoC copyright note
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33332
diff changeset
4 * to list here. Please refer to the COPYRIGHT file distributed with this
2394cd23ce8f Gadu-Gadu: add GSoC copyright note
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33332
diff changeset
5 * source distribution.
2394cd23ce8f Gadu-Gadu: add GSoC copyright note
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33332
diff changeset
6 *
2394cd23ce8f Gadu-Gadu: add GSoC copyright note
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33332
diff changeset
7 * Rewritten from scratch during Google Summer of Code 2012
2394cd23ce8f Gadu-Gadu: add GSoC copyright note
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33332
diff changeset
8 * by Tomek Wasilczyk (http://www.wasilczyk.pl).
2394cd23ce8f Gadu-Gadu: add GSoC copyright note
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33332
diff changeset
9 *
2394cd23ce8f Gadu-Gadu: add GSoC copyright note
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33332
diff changeset
10 * Previously implemented by:
2394cd23ce8f Gadu-Gadu: add GSoC copyright note
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33332
diff changeset
11 * - Arkadiusz Miskiewicz <misiek@pld.org.pl> - first implementation (2001);
2394cd23ce8f Gadu-Gadu: add GSoC copyright note
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33332
diff changeset
12 * - Bartosz Oler <bartosz@bzimage.us> - reimplemented during GSoC 2005;
2394cd23ce8f Gadu-Gadu: add GSoC copyright note
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33332
diff changeset
13 * - Krzysztof Klinikowski <grommasher@gmail.com> - some parts (2009-2011).
2394cd23ce8f Gadu-Gadu: add GSoC copyright note
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33332
diff changeset
14 *
2394cd23ce8f Gadu-Gadu: add GSoC copyright note
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33332
diff changeset
15 * This program is free software; you can redistribute it and/or modify
2394cd23ce8f Gadu-Gadu: add GSoC copyright note
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33332
diff changeset
16 * it under the terms of the GNU General Public License as published by
2394cd23ce8f Gadu-Gadu: add GSoC copyright note
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33332
diff changeset
17 * the Free Software Foundation; either version 2 of the License, or
2394cd23ce8f Gadu-Gadu: add GSoC copyright note
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33332
diff changeset
18 * (at your option) any later version.
2394cd23ce8f Gadu-Gadu: add GSoC copyright note
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33332
diff changeset
19 *
2394cd23ce8f Gadu-Gadu: add GSoC copyright note
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33332
diff changeset
20 * This program is distributed in the hope that it will be useful,
2394cd23ce8f Gadu-Gadu: add GSoC copyright note
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33332
diff changeset
21 * but WITHOUT ANY WARRANTY; without even the implied warranty of
2394cd23ce8f Gadu-Gadu: add GSoC copyright note
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33332
diff changeset
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2394cd23ce8f Gadu-Gadu: add GSoC copyright note
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33332
diff changeset
23 * GNU General Public License for more details.
2394cd23ce8f Gadu-Gadu: add GSoC copyright note
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33332
diff changeset
24 *
2394cd23ce8f Gadu-Gadu: add GSoC copyright note
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33332
diff changeset
25 * You should have received a copy of the GNU General Public License
2394cd23ce8f Gadu-Gadu: add GSoC copyright note
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33332
diff changeset
26 * along with this program; if not, write to the Free Software
2394cd23ce8f Gadu-Gadu: add GSoC copyright note
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33332
diff changeset
27 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
2394cd23ce8f Gadu-Gadu: add GSoC copyright note
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33332
diff changeset
28 */
2394cd23ce8f Gadu-Gadu: add GSoC copyright note
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33332
diff changeset
29
33332
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
30 #include "validator.h"
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
31
35305
056b8468d470 Manual merge for 07e827917960
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 33348
diff changeset
32 #include "utils.h"
056b8468d470 Manual merge for 07e827917960
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 33348
diff changeset
33
056b8468d470 Manual merge for 07e827917960
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 33348
diff changeset
34 #if 0
33332
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
35 #include "account.h"
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
36
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
37 gboolean ggp_validator_token(PurpleRequestField *field, gchar **errmsg,
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
38 void *token)
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
39 {
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
40 const char *value;
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
41
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
42 g_return_val_if_fail(field != NULL, FALSE);
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
43 g_return_val_if_fail(purple_request_field_get_type(field) ==
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
44 PURPLE_REQUEST_FIELD_STRING, FALSE);
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
45
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
46 value = purple_request_field_string_get_value(field);
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
47
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
48 if (value != NULL && ggp_account_token_validate(token, value))
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
49 return TRUE;
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
50
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
51 if (errmsg)
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
52 *errmsg = g_strdup(_("Captcha validation failed"));
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
53 return FALSE;
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
54 }
35305
056b8468d470 Manual merge for 07e827917960
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 33348
diff changeset
55 #endif
33332
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
56
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
57 gboolean ggp_validator_password(PurpleRequestField *field, gchar **errmsg,
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
58 void *user_data)
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
59 {
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
60 const char *value;
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
61
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
62 g_return_val_if_fail(field != NULL, FALSE);
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
63 g_return_val_if_fail(purple_request_field_get_type(field) ==
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
64 PURPLE_REQUEST_FIELD_STRING, FALSE);
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
65
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
66 value = purple_request_field_string_get_value(field);
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
67
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
68 if (value != NULL && ggp_password_validate(value))
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
69 return TRUE;
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
70
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
71 if (errmsg)
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
72 *errmsg = g_strdup(_("Password can contain 6-15 alphanumeric characters"));
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
73 return FALSE;
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
74 }
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
75
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
76 gboolean ggp_validator_password_equal(PurpleRequestField *field, gchar **errmsg,
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
77 void *field2_p)
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
78 {
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
79 const char *value1, *value2;
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
80 PurpleRequestField *field2 = field2_p;
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
81
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
82 g_return_val_if_fail(field != NULL, FALSE);
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
83 g_return_val_if_fail(field2 != NULL, FALSE);
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
84 g_return_val_if_fail(purple_request_field_get_type(field) ==
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
85 PURPLE_REQUEST_FIELD_STRING, FALSE);
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
86 g_return_val_if_fail(purple_request_field_get_type(field2) ==
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
87 PURPLE_REQUEST_FIELD_STRING, FALSE);
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
88
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
89 value1 = purple_request_field_string_get_value(field);
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
90 value2 = purple_request_field_string_get_value(field2);
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
91
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
92 if (g_strcmp0(value1, value2) == 0)
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
93 return TRUE;
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
94
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
95 if (errmsg)
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
96 *errmsg = g_strdup(_("Passwords do not match"));
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
97 return FALSE;
3d3f0584edf6 Gadu-Gadu: let's use brand new validation for Request API (2)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff changeset
98 }

mercurial