~ubuntu-branches/ubuntu/jaunty/gnome-do-plugins/jaunty-proposed

« back to all changes in this revision

Viewing changes to BundledLibraries/libgoogle-data-mono-1.4.0.2/src/core/gauthsubrequest.cs

  • Committer: Bazaar Package Importer
  • Author(s): Iain Lane, Daniel T Chen, Iain Lane
  • Date: 2009-03-18 00:40:51 UTC
  • mfrom: (1.1.4 upstream)
  • Revision ID: james.westby@ubuntu.com-20090318004051-ujn1ja3kiu3ky7ru
Tags: 0.8.1.3+dfsg-0ubuntu1
[ Daniel T Chen ]
* New upstream release (LP: #344578)
  + Banshee plugin goes crazy if banshee isn't loaded first
    (LP: #289802)
  + gnome-do gCalculate plugin fails to display "times" symbol
    (LP: #274252)
  + Banshee-1 fails to build in Mono 2.0 (LP: #309188)
  + Pidgin 2.5.4 has incompatible dbus interface. s/uint/int/
    (LP: #314927)
  + Pidgin plugin hangs opening a chat if pidgin is unresponsive
    (LP: #315565)
  + twitter plugin still reports friend updates even when
    deactivated (LP: #317674)
  + Misspelling in microblogging plugin confirmation message
    (LP: #319433)
  + make install uses mdtool, but configure doesn't check for it
    (LP: #322951)
  + Virtualbox Icon in 2.10 are broken because of a new
    specification (LP: #323902)
  + Google Maps Plugin shouldn't always use route (LP: #324271)
  + Fix for Google Maps when using newlines and other special
    characters (LP: #324667)
  + VirtualBox failed to load icon (LP: #325712)
  + 'Read Man Pages' plugin makes Gnome-Do unresponsive
    (LP: #325935)
  + Search returns broken URLs (LP: #327855)
  + Default action for SSH hosts is "open" (LP: #328236)
  + Files and Folders Configuration doesn't use standard buttons
    (LP: #328236)
  + Window manager maximize action should focus if window is not
    currently focused (LP: #258893)
  + Locate plugin has no error message (LP: #262360)
  + Wishlist: Let user specify files and folders to ignore
    (LP: #263177)
  + ts-client plugin doesn't index subdirectories (LP: #322352)
  + Max 3000 items in Files and Folders plugin (LP: #324105)
  + putty cannot find host when running from gnome do
    (LP: #324282)
  + locate plugin with globbing (LP: #334798)
  + Twitter plugin encountered an error in UpdateFriends
    (LP: #317575)
  + gnome-terminal profiles no longer work (LP: #321977)
  + Creating a task using Remember the Milk plugin can fail if
    no task list is specified (LP: #324066)
  + bundled libraries makefile needs destdir (LP: #324704)
  + Typographical error in del.icio.us plugin (LP: #330525)
  + ImageShack fails to upload (LP: #337324)
* debian/copyright
  + Refresh for new upstream version; new plugins added.
* debian/patches/00_dfsg_autofoo.dpatch
  + Update for new upstream version
  + Don't build the YouTube plugin due to removal of shipped
    exes and dlls causing FTBFS
* debian/patches/02_ssh_respect_exec_arg.dpatch
  debian/patches/03_buildsystem_respect_mcs.dpatch
  debian/patches/04_fix_pidgin_dbus_ints.dpatch
  + Drop; fixed upstream

[ Iain Lane ]
* debian/rules: Update repackaging to not delete *.dll; upstream now ships
  source copies of google-gdata meaning we can now enable the Google and
  Youtube plugins.
* debian/patches/00_dfsg_autofoo: Drop, fixed by including and building
  these libs now. 
* debian/copyright: Update with information for google-gdata. 
* debian/patches/04_fix_pidgin_dbus_ints.dpatch: Add left out piece of patch
* debian/control: Bump gnome-do build-dep to require current version. 

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* Copyright (c) 2006 Google Inc.
 
2
 *
 
3
 * Licensed under the Apache License, Version 2.0 (the "License");
 
4
 * you may not use this file except in compliance with the License.
 
5
 * You may obtain a copy of the License at
 
6
 *
 
7
 *     http://www.apache.org/licenses/LICENSE-2.0
 
8
 *
 
9
 * Unless required by applicable law or agreed to in writing, software
 
10
 * distributed under the License is distributed on an "AS IS" BASIS,
 
11
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 
12
 * See the License for the specific language governing permissions and
 
13
 * limitations under the License.
 
14
*/
 
15
#region Using directives
 
16
 
 
17
#define USE_TRACING
 
18
 
 
19
using System;
 
20
using System.IO;
 
21
using System.Net;
 
22
using System.Security.Cryptography;
 
23
 
 
24
#endregion
 
25
 
 
26
/////////////////////////////////////////////////////////////////////
 
27
// <summary>contains AuthSub request helper classes
 
28
// </summary>
 
29
////////////////////////////////////////////////////////////////////
 
30
namespace Google.GData.Client
 
31
{
 
32
    //////////////////////////////////////////////////////////////////////
 
33
    /// <summary> GDataAuthSubRequestFactory implementation</summary> 
 
34
    //////////////////////////////////////////////////////////////////////
 
35
    public class GAuthSubRequestFactory : GDataGAuthRequestFactory
 
36
    {
 
37
 
 
38
        /// holds the private key that is used to sign the requests
 
39
        private AsymmetricAlgorithm privateKey;
 
40
 
 
41
        //////////////////////////////////////////////////////////////////////
 
42
        /// <summary>default constructor</summary> 
 
43
        //////////////////////////////////////////////////////////////////////
 
44
        public GAuthSubRequestFactory(string service, string applicationName) : base(service, applicationName)
 
45
        {
 
46
        }
 
47
        /////////////////////////////////////////////////////////////////////////////
 
48
 
 
49
 
 
50
        //////////////////////////////////////////////////////////////////////
 
51
        /// <summary>default constructor</summary> 
 
52
        //////////////////////////////////////////////////////////////////////
 
53
        public override IGDataRequest CreateRequest(GDataRequestType type, Uri uriTarget)
 
54
        {
 
55
            return new GAuthSubRequest(type, uriTarget, this); 
 
56
        }
 
57
        /////////////////////////////////////////////////////////////////////////////
 
58
 
 
59
        //////////////////////////////////////////////////////////////////////
 
60
        /// <summary>accessor method public string Token</summary> 
 
61
        /// <returns>the string token for the authsub request </returns>
 
62
        //////////////////////////////////////////////////////////////////////
 
63
        public string Token
 
64
        {
 
65
            get {return this.GAuthToken;}
 
66
            set {this.GAuthToken = value;}
 
67
        }
 
68
        // end of accessor public string Token
 
69
 
 
70
        //////////////////////////////////////////////////////////////////////
 
71
        /// <summary>accessor method public AsymmetricAlgorithm PrivateKey</summary> 
 
72
        /// <returns>the private Key used for the authsub request </returns>
 
73
        //////////////////////////////////////////////////////////////////////
 
74
        public AsymmetricAlgorithm PrivateKey
 
75
        {
 
76
            get {return this.privateKey;}
 
77
            set {this.privateKey = value;}
 
78
        }
 
79
        // end of accessor public string Token
 
80
 
 
81
 
 
82
 
 
83
    }
 
84
    /////////////////////////////////////////////////////////////////////////////
 
85
 
 
86
 
 
87
    //////////////////////////////////////////////////////////////////////
 
88
    /// <summary>base GDataRequest implementation</summary> 
 
89
    //////////////////////////////////////////////////////////////////////
 
90
    public class GAuthSubRequest : GDataGAuthRequest
 
91
    {
 
92
        /// <summary>holds the factory instance</summary> 
 
93
        private GAuthSubRequestFactory factory; 
 
94
 
 
95
 
 
96
        //////////////////////////////////////////////////////////////////////
 
97
        /// <summary>default constructor</summary> 
 
98
        //////////////////////////////////////////////////////////////////////
 
99
        internal GAuthSubRequest(GDataRequestType type, Uri uriTarget, GAuthSubRequestFactory factory)  : 
 
100
                base(type, uriTarget, factory)
 
101
        {
 
102
            this.factory = factory; 
 
103
        }
 
104
        /////////////////////////////////////////////////////////////////////////////
 
105
 
 
106
         //////////////////////////////////////////////////////////////////////
 
107
        /// <summary>sets up the correct credentials for this call, pending 
 
108
        /// security scheme</summary> 
 
109
        //////////////////////////////////////////////////////////////////////
 
110
        protected override void EnsureCredentials()
 
111
        {
 
112
            HttpWebRequest http = this.Request as HttpWebRequest; 
 
113
 
 
114
            string header = AuthSubUtil.formAuthorizationHeader(this.factory.Token, 
 
115
                                                                               this.factory.PrivateKey, 
 
116
                                                                               http.RequestUri,
 
117
                                                                               http.Method);
 
118
            this.Request.Headers.Add(header);
 
119
        }
 
120
        /////////////////////////////////////////////////////////////////////////////
 
121
    }
 
122
    /////////////////////////////////////////////////////////////////////////////
 
123
 
124
/////////////////////////////////////////////////////////////////////////////