static gchar * build_request (GVimeo *vimeo, const gchar *query, gint page) { gchar *params; gchar *endpoint_encoded; gchar *key; gchar *escaped_str; gchar *tmp_str; gchar *signature; g_return_val_if_fail (G_IS_VIMEO (vimeo), NULL); params = get_videos_search_params (vimeo, query, page); endpoint_encoded = encode_uri (VIMEO_ENDPOINT); key = g_strdup_printf ("%s&", vimeo->priv->auth_secret); escaped_str = encode_uri (params); tmp_str = g_strdup_printf ("GET&%s&%s", endpoint_encoded, escaped_str); signature = sign_string (tmp_str, key); g_free (escaped_str); g_free (tmp_str); escaped_str = encode_uri (signature); tmp_str = g_strdup_printf ("%s?%s" VIMEO_API_OAUTH_SIGNATURE_PARAM, VIMEO_ENDPOINT, params, escaped_str); g_free (endpoint_encoded); g_free (params); g_free (key); g_free (escaped_str); g_free (signature); return tmp_str; }
static gchar * get_videos_search_params (GVimeo *vimeo, const gchar *text, gint page) { gchar *encoded_text = encode_uri (text); gchar *timestamp = get_timestamp (); gchar *nonce = get_nonce (); gchar *params = g_strdup_printf (VIMEO_VIDEO_SEARCH, VIMEO_VIDEO_SEARCH_METHOD, vimeo->priv->api_key, nonce, timestamp, page, vimeo->priv->per_page, encoded_text); g_free (timestamp); g_free (nonce); g_free (encoded_text); return params; }
static void mimeview_drag_begin(GtkWidget *widget, GdkDragContext *drag_context, MimeView *mimeview) { gchar *filename; gchar *bname = NULL; MimeInfo *partinfo; if (!mimeview->opened) return; if (!mimeview->messageview->file) return; partinfo = mimeview_get_selected_part(mimeview); if (!partinfo) return; filename = partinfo->filename ? partinfo->filename : partinfo->name; if (filename) { const gchar *bname_; bname_ = g_basename(filename); bname = conv_filename_from_utf8(bname_); subst_for_filename(bname); } if (!bname || *bname == '\0') filename = procmime_get_tmp_file_name(partinfo); else filename = g_strconcat(get_mime_tmp_dir(), G_DIR_SEPARATOR_S, bname, NULL); if (procmime_get_part(filename, mimeview->messageview->file, partinfo) < 0) { g_warning(_("Can't save the part of multipart message.")); } else mimeview->drag_file = encode_uri(filename); g_free(filename); gtk_drag_set_icon_default(drag_context); }
//#define DEBUG int encode_contact (struct sip_msg *msg, char *encoding_prefix,char *public_ip) { contact_body_t *cb; contact_t *c; str uri; str newUri; int res; char separator; /* * I have a list of contacts in contact->parsed which is of type contact_body_t * inside i have a contact->parsed->contact which is the head of the list of contacts * inside it is a * str uri; * struct contact *next; * I just have to visit each uri and encode each uri according to a scheme */ if ((msg->contact == NULL)&&((parse_headers(msg,HDR_CONTACT_F,0) == -1) || (msg->contact == NULL) )) { LM_ERR("no Contact header present\n"); return -1; } separator = DEFAULT_SEPARATOR[0]; if (contact_flds_separator != NULL) if (strlen(contact_flds_separator)>=1) separator = contact_flds_separator[0]; if (msg->contact->parsed == NULL) parse_contact (msg->contact); if (msg->contact->parsed != NULL) { cb = (contact_body_t *) msg->contact->parsed; c = cb->contacts; /* we visit each contact */ if (c != NULL) { uri = c->uri; res = encode_uri (uri, encoding_prefix, public_ip,separator, &newUri); if (res != 0) { LM_ERR("failed encoding contact.Code %d\n", res); #ifdef STRICT_CHECK return res; #endif } else if (patch (msg, uri.s, uri.len, newUri.s, newUri.len) < 0) { LM_ERR("lumping failed in mangling port \n"); return -2; } /* encoding next contacts too?*/ #ifdef ENCODE_ALL_CONTACTS while (c->next != NULL) { c = c->next; uri = c->uri; res = encode_uri (uri, encoding_prefix,public_ip,separator,&newUri); if (res != 0) { LM_ERR("failed encode_uri.Code %d\n",res); #ifdef STRICT_CHECK return res; #endif } else if (patch (msg, uri.s, uri.len, newUri.s, newUri.len)< 0) { LM_ERR("lumping failed in mangling port \n"); return -3; } } /* while */ #endif /* ENCODE_ALL_CONTACTS */ } /* if c != NULL */ } /* end if */ else /* after parsing still NULL */ { LM_ERR("unable to parse Contact header\n"); return -4; } return 1; }
//#define DEBUG int encode_contact (struct sip_msg *msg, char *encoding_prefix,char *public_ip) { contact_body_t *cb; contact_t *c; str uri; str newUri; int res; char separator; /* * I have a list of contacts in contact->parsed which is of type contact_body_t * inside i have a contact->parsed->contact which is the head of the list of contacts * inside it is a * str uri; * struct contact *next; * I just have to visit each uri and encode each uri according to a scheme */ #ifdef DEBUG fprintf (stdout,"---START--------ENCODE CONTACT-----------------\n"); fprintf (stdout,"%.*s\n",50,msg->buf); #endif if ((msg->contact == NULL)&&((parse_headers(msg,HDR_CONTACT_F,0) == -1) || (msg->contact == NULL) )) { LOG(L_ERR,"ERROR: encode_contact: no Contact header present\n"); return -1; } separator = DEFAULT_SEPARATOR[0]; if (contact_flds_separator != NULL) if (strlen(contact_flds_separator)>=1) separator = contact_flds_separator[0]; #ifdef DEBUG fprintf (stdout,"Using separator %c\n",separator); #endif if (msg->contact->parsed == NULL) parse_contact (msg->contact); if (msg->contact->parsed != NULL) { cb = (contact_body_t *) msg->contact->parsed; c = cb->contacts; /* we visit each contact */ if (c != NULL) { uri = c->uri; #ifdef DEBUG fprintf (stdout, "olduri.s=[%.*s]\n", uri.len, uri.s); #endif res = encode_uri (uri, encoding_prefix, public_ip,separator, &newUri); if (res != 0) { LOG (L_ERR,"ERROR: encode_contact: Failed encoding contact.Code %d\n", res); #ifdef DEBUG fprintf (stdout, "Encoding uri failed with code %d\n",res); #endif #ifdef STRICT_CHECK return res; #endif } else if (patch (msg, uri.s, uri.len, newUri.s, newUri.len) < 0) { LOG (L_ERR,"ERROR: encode_contact: lumping failed in mangling port \n"); return -2; } #ifdef DEBUG if (res == 0) fprintf (stdout, "newuri.s=[%.*s]\nnewlen=%d\n", newUri.len, newUri.s,newUri.len); #endif /* encoding next contacts too?*/ #ifdef ENCODE_ALL_CONTACTS while (c->next != NULL) { c = c->next; uri = c->uri; res = encode_uri (uri, encoding_prefix,public_ip,separator,&newUri); if (res != 0) { LOG(L_ERR,"ERROR: encode_contact: Failed encode_uri.Code %d\n",res); #ifdef STRICT_CHECK return res; #endif } else if (patch (msg, uri.s, uri.len, newUri.s, newUri.len)< 0) { LOG (L_ERR,"ERROR: encode_contact: lumping failed in mangling port \n"); return -3; } } /* while */ #endif /* ENCODE_ALL_CONTACTS */ } /* if c != NULL */ } /* end if */ else /* after parsing still NULL */ { LOG(L_ERR,"ERROR: encode_contact: Unable to parse Contact header\n"); #ifdef DEBUG printf("ERROR: encode_contact: Unable to parse Contact header\n"); #endif return -4; } #ifdef DEBUG fprintf (stdout,"---END--------ENCODE CONTACT-----------------\n"); #endif return 1; }