Index: client/1.0/pkgd.eagle ================================================================== --- client/1.0/pkgd.eagle +++ client/1.0/pkgd.eagle @@ -87,10 +87,22 @@ set downloadUri [string trim { ${baseUri}/pkgd_file?download&ci=trunk&filename=${fileName} }] } + # + # NOTE: The URI where the logout request should be sent. This should + # return a payload indicating that the logout was successful. + # + variable logoutUri; # DEFAULT: ${baseUri}/pkgd_logout?... + + if {![info exists logoutUri]} then { + set logoutUri [string trim { + ${baseUri}/pkgd_logout?authToken=${authToken} + }] + } + # # NOTE: The root directory where any persistent packages will be saved. # variable persistentRootDirectory; # DEFAULT: [getPersistentRootDirectory] @@ -353,11 +365,56 @@ # response data. # set loginCookie [list $loginCookieName $authToken] # - # NOTE: Always return an empty string (i.e. and not the login data). + # NOTE: Always return an empty string (i.e. and not any response data). + # + return "" + } + + proc logoutAndResetCookie {} { + variable baseUri + variable loginCookie + variable logoutUri + + # + # NOTE: Attempt to verify that we are currently logged in. + # + if {![info exists loginCookie] || [llength $loginCookie] != 2} then { + error "missing or invalid login cookie" + } + + # + # NOTE: Build the full URI for the logout request. + # + set authToken [lindex $loginCookie 1] + set uri [subst $logoutUri] + + # + # NOTE: Reset the old login cookie, if any. Then, issue a new login + # request, capturing the raw response data. + # + set data [getPackageFile $uri] + + # + # NOTE: Attempt to extract the necessary values from the raw response + # data. + # + set pattern(1) {"name":"nobody"}; # TODO: *HACK* Keep updated. + + if {![regexp -- $pattern(1) $data dummy]} then { + error "logout response missing \"name\"" + } + + # + # NOTE: Reset the login cookie. + # + set loginCookie [list] + + # + # NOTE: Always return an empty string (i.e. and not any response data). # return "" } # Index: client/1.0/pkgd.eagle.asc ================================================================== --- client/1.0/pkgd.eagle.asc +++ client/1.0/pkgd.eagle.asc @@ -1,18 +1,18 @@ -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Eagle Package Repository -iQIcBAABCAAGBQJXuV/cAAoJEFAslq9JXcLZTIoQALdsxhprLPHT9pQCm02Gzc+g -ruhWk4FYThLYOJPWF/R2K+X9M2HjCGEdoY1x/VDkMbArn6iE7gndZz6NMyZL7gbK -Y2lQf7eBW/U/eF63xFeVsgWdU5wRB9SVOkghIO0LRH6hO3zZvKTFNf9rU88kD5KI -o4/RY60UTWgx8rBniI9gj5v5V6qvpmtLBlMTT6hLq7PU1STKsMof2UkDYHNxZcC2 -Z86xHJI0LS3LV8sM2Ey6BpuS6GXPCApg2IeRJs2M/NRVRJLV1HcbmiMBrzNH0Av9 -t64Yv49hGX043nGbw7SnAQbltFlWjXSoHqiyaoe+okVT19u9RwdcEESOVDA1L9vm -ajk/R/QmrW1p75rncjlo9yCyd+BLupoWC1vftbQoWomrptgmqcMuevO2PniDcaO6 -zPACXpD+w3XIk9kSpgibm4edIxvT+bztUBMhyNg2W1kT6zwGyyrrLDpnUcgz8u+j -wTmgTbHnbC2GSDbI3dU33ZBDrxEp6B8ZqFHoMIdPOD1EUdXKoEOww7hyEtXv3mnj -vapl6529XogSr7CVTtXg1VpiJUpA526szANmP8XCJrtQBEbDheN6REHtzs8cNFvM -o2ndOjC3Ox+BZSLHB9Kt88+h7TN87OOcEJcahbvmJXpzcTBwr+9ox2vvMxMAXowI -qGP+7UdKk2U5p7l7XJV4 -=k7R4 +iQIcBAABCAAGBQJXuhoFAAoJEFAslq9JXcLZ7K4QAJ+GW8T0ge7G7RFt80kaDDxW +wGfmBA8u9feemubV+YQhlUGY6W1lbDaxUeLfbe9noko2Dvv7N6Y/NFnN74zGuhUr +SaZm7L3RXNgyOj2OfBoiHNcfbbcObQewIaewEsIjD2W9uiWzVzLM6V+1T81ho7N0 +7k+X1pr74zuoGUh/IwiNFFVR1Rctp4HJJum9rZYWN4hWoGNGKZbtl6Juw4PgdgHY +rbheGqJCcwHNLmnfQV4GaC8a3l2fsria4481G6de9DZwwywraiMsV5ylglxhOmCu +fal/M8CE5CTNcblxW++6BLSG6bUPxEBkvzqyFEQomW5PfMFYLCDnT7GOFploftHF +jjUv4R3n0BLakXRokObngTdzaM5aqtLQ73JLAwaFHZBLlSdzZnb9ryJ6i4BI3wwW +w2rBzPujKXapIUvF/DR2CEQHnKhAUdChPsm+RTmAdGUAViajs2sSOg7Qr15Xu2zm +TzLNZ47icuCM9Id++UjFq7bil8zzhGPh300O70ZDCVzZlqBN/uZ5OEGc4HmXgXwW +VCYytdGX4LB1zT/oN8vUrT0qNnvIrgtotCZlZhfh83Ok7tzjZB77C2N6zCXJIbTh +9Tj+5ROce4mnHeeoKez+Zom0+FqSOO01+LlzoBFfp4+Hxdh66deiVTgVThB7auoH +HyA13sTx8eIBN/RK0fxD +=Jbz/ -----END PGP SIGNATURE----- Index: client/1.0/pkgd.eagle.harpy ================================================================== --- client/1.0/pkgd.eagle.harpy +++ client/1.0/pkgd.eagle.harpy @@ -19,32 +19,32 @@ None Mistachkin Systems - e5f21c61-7d36-4135-ac77-068ef196d385 + afab66f3-1284-40cc-bd79-85aa722faa85 SHA512 Script - 2016-08-21T08:01:24.6709453Z + 2016-08-21T21:15:42.2568828Z -1.00:00:00 0x2c322765603b5278 - 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 Index: client/1.0/pkgd.eagle.harpy.asc ================================================================== --- client/1.0/pkgd.eagle.harpy.asc +++ client/1.0/pkgd.eagle.harpy.asc @@ -1,18 +1,18 @@ -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Eagle Package Repository -iQIcBAABCAAGBQJXuV/eAAoJEFAslq9JXcLZvSsP/2KjJk+ZlEti+gIcGN1+p7Kg -c8KU6XywO47u8kiJ9Lasc/i8cegjRFXJEsy3EcAi3ZRQ2UVK2WnnHIB74dtLhuh3 -Wp9no0qJGMAnPmAtCQYeaNboEcErfcTgdKAxRly9S6g4ynCFDjkAMWJFM5eW6p0D -N2FXJ3iveQIG0RkWFIdUF/s0GhKi9834uhyK91D4AKwLaol25SKHwiqCQf4KNnPK -MQYEF9ZMXRbxL+lV8mutBmRv7hQbKWWxB/WcuFcdwftVin8b+hoihXBLXcQ3dCXs -EuRKBoRqgvcLCmkj6SJP/JoiO5jqH71isJTbppcedkmRXFpiRYLCV2nXYTcpljV1 -ObR9dVj0MN/cS/IjZk65723HgtUqmdAseBexL0043TxV7z0o3/GjuThWr6Fs0HQJ -Rn5uNvFSkF/dSJZi5SDUGKDCqwQfOMMMZWHaircvrzNVTMR9P1wlb+ikX/s9iiE1 -5ScMSZsRZ4pFuoAg6Y1tFYAg6lpHLUrRw+tRF2PfnRFSNaQlWTrewiHemYbk2enp -xKmjNHmfeq9LWXKowMj2MQ3C+esVee02IhCvxngySEfHIbz472j40bi04cnAH1Sy -Rf0IaDitvm4yP6k1YMA0yf9YMhL8OHXJU5sVqQBit3HKs5FayJGRd+zzI5Y0wZqh -kYzNQBTVZJvpFhyw7MTz -=XiGw +iQIcBAABCAAGBQJXuhoIAAoJEFAslq9JXcLZmsQP/i/+vEm99Zmm9k75h9hgKKYb +58jjQ6W+saNBI6QYiG0a0VBBsZeyGKSy8/j5qRpibBU2WHF4Sb/vF/LzWnjhmWcz +htZOqx8phYrxC5rZdBE9b7bcN3l4kJuAAKYJGDmkGY+6PK9reEtdTqdXmXA414S0 +WE0p9x+femoEpS8ZXGQvGilz6k8J8jwM8BlEBDs/hM+DGYqnQhQND5aWAAlNs/Oj +6er7yfFBSVb7pYInaB8tEAGFs4r2ugmJ4yOn07YD419E5TZ17OzB0e4kQc82HYA9 +ZjLcR/ctCeGVdi0hnNJkpFdsWWEjUrUG0J2WkaAe6hHrmKHPJqJ0I3AdGpi13EXt +mi+cGXtU7pCXyiw+UJebh+64E1FcLJeiq+CtNsCh3bXLEoPNIkuCbIdbv080JcBJ +b4CxfIifp6RVHP8OigvTDYAFlUDne2QxNlsKvmd8Ads4nHQw2jWubz7BDTcmhrkr +gNlTCZ1ytuv0wDrk6EyfsZPgYF4HTjkqQcTBH8JhlOVdZ+RPVMt9hj7oOymN4lfn +EbNPGY37S0ghqzvXi0tHk9PExWn4jq/GBuA9a1q5SCea1FZZaH0pxAr5Q82M3FIW +UxDZN5J3v9jDdOaIM1tThO4jTv5G1V4f0fJsBrjYGdQBLL9I4tImI3/7/GyNORtn +ITO9nMNHBCxbXkN2hkJD +=CEV1 -----END PGP SIGNATURE-----